Documentation ¶
Index ¶
- Variables
- type Config
- func (c *Config) ACME() (string, string, string, bool)
- func (c *Config) AuthorizationScriptlet() string
- func (c *Config) BGPASN() int64
- func (c *Config) BackupsCompressionAlgorithm() string
- func (c *Config) ClusterHealingThreshold() time.Duration
- func (c *Config) ClusterJoinTokenExpiry() string
- func (c *Config) ClusterRebalanceBatch() int64
- func (c *Config) ClusterRebalanceCooldown() string
- func (c *Config) ClusterRebalanceInterval() int64
- func (c *Config) ClusterRebalanceThreshold() int64
- func (c *Config) Dump() map[string]string
- 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) InstancesLXCFSPerInstance() bool
- func (c *Config) InstancesNICHostname() string
- func (c *Config) InstancesPlacementScriptlet() string
- func (c *Config) LokiServer() (string, string, string, string, string, string, []string, []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() (string, string, string)
- func (c *Config) OIDCServer() (string, string, string, string, string)
- func (c *Config) OfflineThreshold() time.Duration
- func (c *Config) OpenFGA() (apiURL string, apiToken string, storeID string)
- func (c *Config) Patch(patch map[string]string) (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]string) (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"}, "authorization.scriptlet": {Validator: validate.Optional(scriptletLoad.AuthorizationValidate)}, "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}, "cluster.rebalance.batch": {Type: config.Int64, Default: "1"}, "cluster.rebalance.cooldown": {Type: config.String, Default: "6H", Validator: validate.Optional(expiryValidator)}, "cluster.rebalance.interval": {Type: config.Int64, Default: "0"}, "cluster.rebalance.threshold": {Type: config.Int64, Default: "20", Validator: validate.Optional(rebalanceThresholdValidator)}, "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.lxcfs.per_instance": {Type: config.Bool, Validator: validate.Optional(validate.IsBool)}, "instances.nic.host_name": {Validator: validate.Optional(validate.IsOneOf("random", "mac"))}, "instances.placement.scriptlet": {Validator: validate.Optional(scriptletLoad.InstancePlacementValidate)}, "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", "network-acl"))), Default: "lifecycle,logging"}, "openfga.api.token": {}, "openfga.api.url": {}, "openfga.store.id": {}, "oidc.client.id": {}, "oidc.issuer": {}, "oidc.scopes": {Default: "openid, offline_access"}, "oidc.audience": {}, "oidc.claim": {}, "network.ovn.integration_bridge": {Default: "br-int"}, "network.ovn.northbound_connection": {Default: "unix:/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) AuthorizationScriptlet ¶ added in v6.8.0
AuthorizationScriptlet returns the authorization scriptlet source code.
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) ClusterRebalanceBatch ¶ added in v6.7.0
ClusterRebalanceBatch returns maximum number of instances to move during one re-balancing run.
func (*Config) ClusterRebalanceCooldown ¶ added in v6.7.0
ClusterRebalanceCooldown returns amount of time during which an instance will not be moved again.
func (*Config) ClusterRebalanceInterval ¶ added in v6.7.0
ClusterRebalanceInterval returns the interval at which to evaluate re-balanicng.
func (*Config) ClusterRebalanceThreshold ¶ added in v6.7.0
ClusterRebalanceThreshold returns load difference between most and least busy server needed to trigger a migration.
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) InstancesLXCFSPerInstance ¶ added in v6.0.2
InstancesLXCFSPerInstance returns whether LXCFS should be run on a per-instance basis.
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 ¶
LokiServer returns all the Loki settings needed to connect to a server.
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) OpenFGA ¶
OpenFGA returns all OpenFGA settings need to interact with an OpenFGA server.
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 the server shuts down.
func (*Config) TrustCACertificates ¶
TrustCACertificates returns whether client certificates are checked against a CA.