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"` }