summaryrefslogtreecommitdiff
path: root/internal/models/catalog.go
blob: eda61cda81e525cfb8819250a49bde946c73e95e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package models

type CatalogV2 struct {
	Version string        `json:"version"`
	Nodes   []CatalogNode `json:"nodes"`
}

type CatalogNode struct {
	ID         string            `json:"id"`
	Name       string            `json:"name"`
	Provider   string            `json:"provider,omitempty"`
	Region     string            `json:"region"`
	Host       string            `json:"host"`
	Domain     string            `json:"domain,omitempty"`
	PublicHost string            `json:"public_host"`
	Protocols  []CatalogProtocol `json:"protocols"`
	Status     string            `json:"status,omitempty"`
	Tags       []string          `json:"tags,omitempty"`
	Metadata   map[string]any    `json:"metadata,omitempty"`
}

type CatalogProtocol struct {
	Type    string         `json:"type"`
	Enabled bool           `json:"enabled"`
	Port    int            `json:"port"`
	TLS     *TLS           `json:"tls,omitempty"`
	Auth    *CatalogAuth   `json:"auth,omitempty"`
	Extra   map[string]any `json:"extra,omitempty"`
}

type CatalogAuth struct {
	UUID     string `json:"uuid,omitempty"`
	Method   string `json:"method,omitempty"`
	Password string `json:"password,omitempty"`
}