Documentation ¶
Index ¶
- Variables
- type Config
- func (c *Config) ACME() (domain string, email string, caURL string, agreeTOS bool)
- func (c *Config) BGPASN() int64
- func (c *Config) BackupsCompressionAlgorithm() string
- func (c *Config) ClusterHealingThreshold() time.Duration
- func (c *Config) ClusterJoinTokenExpiry() string
- func (c *Config) Dump() map[string]any
- func (c *Config) HTTPSAllowedCredentials() bool
- func (c *Config) HTTPSAllowedHeaders() string
- func (c *Config) HTTPSAllowedMethods() string
- func (c *Config) HTTPSAllowedOrigin() string
- func (c *Config) HTTPSTrustedProxy() string
- func (c *Config) ImagesAutoUpdateCached() bool
- func (c *Config) ImagesAutoUpdateIntervalHours() int64
- func (c *Config) ImagesCompressionAlgorithm() string
- func (c *Config) ImagesDefaultArchitecture() string
- func (c *Config) ImagesMinimalReplica() int64
- func (c *Config) ImagesRemoteCacheExpiryDays() int64
- func (c *Config) InstancesMigrationStateful() bool
- func (c *Config) InstancesNICHostname() string
- func (c *Config) InstancesPlacementScriptlet() string
- func (c *Config) LokiServer() (apiURL string, authUsername string, authPassword string, apiCACert string, ...)
- func (c *Config) MAASController() (apiURL string, apiKey string)
- func (c *Config) MaxStandBy() int64
- func (c *Config) MaxVoters() int64
- func (c *Config) MetricsAuthentication() bool
- func (c *Config) NetworkOVNIntegrationBridge() string
- func (c *Config) NetworkOVNNorthboundConnection() string
- func (c *Config) NetworkOVNSSL() (caCert string, clientCert string, clientKey string)
- func (c *Config) OIDCServer() (issuer string, clientID string, audience string, groupsClaim string)
- func (c *Config) OfflineThreshold() time.Duration
- func (c *Config) Patch(patch map[string]any) (map[string]string, error)
- func (c *Config) ProxyHTTP() string
- func (c *Config) ProxyHTTPS() string
- func (c *Config) ProxyIgnoreHosts() string
- func (c *Config) RemoteTokenExpiry() string
- func (c *Config) Replace(values map[string]any) (map[string]string, error)
- func (c *Config) ShutdownTimeout() time.Duration
- func (c *Config) TrustCACertificates() bool
Constants ¶
This section is empty.
Variables ¶
var ConfigSchema = config.Schema{ "acme.ca_url": {}, "acme.domain": {}, "acme.email": {}, "acme.agree_tos": {Type: config.Bool, Default: "false"}, "backups.compression_algorithm": {Default: "gzip", Validator: validate.IsCompressionAlgorithm}, "cluster.offline_threshold": {Type: config.Int64, Default: offlineThresholdDefault(), Validator: offlineThresholdValidator}, "cluster.images_minimal_replica": {Type: config.Int64, Default: "3", Validator: imageMinimalReplicaValidator}, "cluster.healing_threshold": {Type: config.Int64, Default: "0"}, "cluster.join_token_expiry": {Type: config.String, Default: "3H", Validator: expiryValidator}, "cluster.max_voters": {Type: config.Int64, Default: "3", Validator: maxVotersValidator}, "cluster.max_standby": {Type: config.Int64, Default: "2", Validator: maxStandByValidator}, "core.metrics_authentication": {Type: config.Bool, Default: "true"}, "core.bgp_asn": {Type: config.Int64, Default: "0", Validator: validate.Optional(validate.IsInRange(0, 4294967294))}, "core.https_allowed_headers": {}, "core.https_allowed_methods": {}, "core.https_allowed_origin": {}, "core.https_allowed_credentials": {Type: config.Bool, Default: "false"}, "core.https_trusted_proxy": {}, "core.proxy_http": {}, "core.proxy_https": {}, "core.proxy_ignore_hosts": {}, "core.remote_token_expiry": {Type: config.String, Validator: validate.Optional(expiryValidator)}, "core.shutdown_timeout": {Type: config.Int64, Default: "5"}, "core.trust_ca_certificates": {Type: config.Bool, Default: "false"}, "images.auto_update_cached": {Type: config.Bool, Default: "true"}, "images.auto_update_interval": {Type: config.Int64, Default: "6"}, "images.compression_algorithm": {Default: "gzip", Validator: validate.IsCompressionAlgorithm}, "images.default_architecture": {Validator: validate.Optional(validate.IsArchitecture)}, "images.remote_cache_expiry": {Type: config.Int64, Default: "10"}, "instances.nic.host_name": {Validator: validate.Optional(validate.IsOneOf("random", "mac"))}, "instances.placement.scriptlet": {Validator: validate.Optional(scriptletLoad.InstancePlacementValidate)}, "instances.migration.stateful": {Type: config.Bool, Default: "false"}, "loki.auth.username": {}, "loki.auth.password": {}, "loki.api.ca_cert": {}, "loki.api.url": {}, "loki.instance": {}, "loki.labels": {}, "loki.loglevel": {Validator: logLevelValidator, Default: logrus.InfoLevel.String()}, "loki.types": {Validator: validate.Optional(validate.IsListOf(validate.IsOneOf("lifecycle", "logging", "ovn"))), Default: "lifecycle,logging"}, "maas.api.key": {}, "maas.api.url": {}, "oidc.client.id": {}, "oidc.issuer": {}, "oidc.audience": {}, "oidc.groups.claim": {}, "network.ovn.integration_bridge": {Default: "br-int"}, "network.ovn.northbound_connection": {Default: "unix:/var/run/ovn/ovnnb_db.sock"}, "network.ovn.ca_cert": {Default: ""}, "network.ovn.client_cert": {Default: ""}, "network.ovn.client_key": {Default: ""}, }
ConfigSchema defines available server configuration keys.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config holds cluster-wide configuration values.
func Load ¶
Load loads a new Config object with the current cluster configuration values fetched from the database.
func (*Config) BackupsCompressionAlgorithm ¶
BackupsCompressionAlgorithm returns the compression algorithm to use for backups.
func (*Config) ClusterHealingThreshold ¶
ClusterHealingThreshold returns the configured healing threshold, i.e. the number of seconds after which an offline node will be evacuated automatically. If the config key is set but its value is lower than cluster.offline_threshold it returns the value of cluster.offline_threshold instead. If this feature is disabled, it returns 0.
func (*Config) ClusterJoinTokenExpiry ¶
ClusterJoinTokenExpiry returns the cluster join token expiry.
func (*Config) Dump ¶
Dump current configuration keys and their values. Keys with values matching their defaults are omitted.
func (*Config) HTTPSAllowedCredentials ¶
HTTPSAllowedCredentials returns the relevant CORS setting.
func (*Config) HTTPSAllowedHeaders ¶
HTTPSAllowedHeaders returns the relevant CORS setting.
func (*Config) HTTPSAllowedMethods ¶
HTTPSAllowedMethods returns the relevant CORS setting.
func (*Config) HTTPSAllowedOrigin ¶
HTTPSAllowedOrigin returns the relevant CORS setting.
func (*Config) HTTPSTrustedProxy ¶
HTTPSTrustedProxy returns the configured HTTPS trusted proxy setting, if any.
func (*Config) ImagesAutoUpdateCached ¶
ImagesAutoUpdateCached returns whether or not to auto update cached images.
func (*Config) ImagesAutoUpdateIntervalHours ¶
ImagesAutoUpdateIntervalHours returns interval in hours at which to look for update to cached images.
func (*Config) ImagesCompressionAlgorithm ¶
ImagesCompressionAlgorithm returns the compression algorithm to use for images.
func (*Config) ImagesDefaultArchitecture ¶
ImagesDefaultArchitecture returns the default architecture.
func (*Config) ImagesMinimalReplica ¶
ImagesMinimalReplica returns the numbers of nodes for cluster images replication.
func (*Config) ImagesRemoteCacheExpiryDays ¶
ImagesRemoteCacheExpiryDays returns the number of days after which an unused cached remote image will be flushed.
func (*Config) InstancesMigrationStateful ¶
InstancesMigrationStateful returns the whether or not to auto enable migration.stateful for all VM instances.
func (*Config) InstancesNICHostname ¶
InstancesNICHostname returns hostname mode to use for instance NICs.
func (*Config) InstancesPlacementScriptlet ¶
InstancesPlacementScriptlet returns the instances placement scriptlet source code.
func (*Config) LokiServer ¶
func (c *Config) LokiServer() (apiURL string, authUsername string, authPassword string, apiCACert string, instance string, logLevel string, labels []string, types []string)
LokiServer returns all the Loki settings needed to connect to a server.
func (*Config) MAASController ¶
MAASController the configured MAAS url and key, if any.
func (*Config) MaxStandBy ¶
MaxStandBy returns the maximum number of standby members in a cluster that will be assigned the stand-by role.
func (*Config) MaxVoters ¶
MaxVoters returns the maximum number of members in a cluster that will be assigned the voter role.
func (*Config) MetricsAuthentication ¶
MetricsAuthentication checks whether metrics API requires authentication.
func (*Config) NetworkOVNIntegrationBridge ¶
NetworkOVNIntegrationBridge returns the integration OVS bridge to use for OVN networks.
func (*Config) NetworkOVNNorthboundConnection ¶
NetworkOVNNorthboundConnection returns the OVN northbound database connection string for OVN networks.
func (*Config) NetworkOVNSSL ¶
NetworkOVNSSL returns all three SSL configuration keys needed for a connection.
func (*Config) OIDCServer ¶
OIDCServer returns all the OpenID Connect settings needed to connect to a server.
func (*Config) OfflineThreshold ¶
OfflineThreshold returns the configured heartbeat threshold, i.e. the number of seconds before after which an unresponsive node is considered offline..
func (*Config) Patch ¶
Patch changes only the configuration keys in the given map.
Return what has actually changed.
func (*Config) ProxyHTTPS ¶
ProxyHTTPS returns the configured HTTPS proxy, if any.
func (*Config) ProxyIgnoreHosts ¶
ProxyIgnoreHosts returns the configured ignore-hosts proxy setting, if any.
func (*Config) RemoteTokenExpiry ¶
RemoteTokenExpiry returns the time after which a remote add token expires.
func (*Config) Replace ¶
Replace the current configuration with the given values.
Return what has actually changed.
func (*Config) ShutdownTimeout ¶
ShutdownTimeout returns the number of minutes to wait for running operation to complete before LXD server shut down.
func (*Config) TrustCACertificates ¶
TrustCACertificates returns whether client certificates are checked against a CA.