NetworkIDstring`json:"network_id,omitempty" description:"User defined network-id. Can be used to have multiple clusters in the same network"`
DNSbool`json:"dns,omitempty" description:"Enable embedded DNS See also: https://mudler.github.io/edgevpn/docs/concepts/overview/dns/"`
DisableDHTbool`json:"disable_dht,omitempty" default:"true" description:"Disabling DHT makes co-ordination to discover nodes only in the local network"`
P2PNetworkExtended
VPN`json:"vpn,omitempty"`
}
// KubeVIPSchema represents the kubevip block in the Kairos configuration. It sets the Elastic IP used in KubeVIP. Only valid with p2p.
typeKubeVIPSchemastruct{
_struct{}`title:"Kairos Schema: KubeVIP block" description:"Sets the Elastic IP used in KubeVIP. Only valid with p2p"`
// P2PAutoEnabled is used to validate that when p2p.auto is set, p2p.network_token has to be set.
typeP2PAutoEnabledstruct{
NetworkTokenstring`json:"network_token" required:"true" minLength:"1" description:"network_token is the shared secret used by the nodes to co-ordinate with p2p"`
Autostruct{
Enablebool`json:"enable,omitempty" const:"true"`
Hastruct{
Enablebool`json:"enable" const:"true"`
MasterNodesint`json:"master_nodes,omitempty" minimum:"1" description:"Number of HA additional master nodes. A master node is always required for creating the cluster and is implied."`
// JSONSchemaOneOf defines that different which are the different valid p2p network rules and states that one and only one of them needs to be validated for the entire schema to be valid.