provider-kairos/internal/provider/config/config.go

45 lines
1.5 KiB
Go
Raw Normal View History

2022-08-10 16:55:20 +00:00
package config
type Kairos struct {
2022-08-10 16:55:20 +00:00
NetworkToken string `yaml:"network_token,omitempty"`
NetworkID string `yaml:"network_id,omitempty"`
Role string `yaml:"role,omitempty"`
DNS bool `yaml:"dns,omitempty"`
LogLevel string `yaml:"loglevel,omitempty"`
Hybrid bool `yaml:"hybrid,omitempty"`
HybridVPN bool `yaml:"hybrid_vpn,omitempty"`
MinimumNodes int `yaml:"minimum_nodes,omitempty"`
SkipAuto bool `yaml:"skip_auto"`
DisableDHT bool `yaml:"disable_dht,omitempty"`
2022-08-10 16:55:20 +00:00
}
type Config struct {
Kairos *Kairos `yaml:"kairos,omitempty"`
2022-08-10 16:55:20 +00:00
K3sAgent K3s `yaml:"k3s-agent,omitempty"`
K3s K3s `yaml:"k3s,omitempty"`
VPN map[string]string `yaml:"vpn,omitempty"`
KubeVIP KubeVIP `yaml:"kubevip,omitempty"`
}
type KubeVIP struct {
Args []string `yaml:"args,omitempty"`
EIP string `yaml:"eip,omitempty"`
ManifestURL string `yaml:"manifest_url,omitempty"`
Interface string `yaml:"interface,omitempty"`
2022-08-10 16:55:20 +00:00
}
type HA struct {
Enable bool `yaml:"enable,omitempty"`
ExternalDB string `yaml:"external_db,omitempty"`
MasterNodes int `yaml:"master_nodes,omitempty"`
}
2022-08-10 16:55:20 +00:00
type K3s struct {
Env map[string]string `yaml:"env,omitempty"`
ReplaceEnv bool `yaml:"replace_env,omitempty"`
ReplaceArgs bool `yaml:"replace_args,omitempty"`
Args []string `yaml:"args,omitempty"`
Enabled bool `yaml:"enabled,omitempty"`
HA HA `yaml:"ha,omitempty"`
2022-08-10 16:55:20 +00:00
}