config

package
v0.0.0-...-9cfbfd2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AivenProject                                  = "aiven-project"
	AivenRange                                    = "aiven-range"
	ApiServerIp                                   = "api-server-ip"
	Bind                                          = "bind"
	HealthProbeBindAddress                        = "health-probe-bind-address"
	ClusterName                                   = "cluster-name"
	DryRun                                        = "dry-run"
	NaisNamespace                                 = "nais-namespace"
	FeaturesAccessPolicyNotAllowedCIDRs           = "features.access-policy-not-allowed-cidrs"
	FeaturesAzurerator                            = "features.azurerator"
	FeaturesGCP                                   = "features.gcp"
	FeaturesIDPorten                              = "features.idporten"
	FeaturesJwker                                 = "features.jwker"
	FeaturesCNRM                                  = "features.cnrm"
	FeaturesKafkarator                            = "features.kafkarator"
	FeaturesLinkerd                               = "features.linkerd"
	FeaturesMaskinporten                          = "features.maskinporten"
	FeaturesNetworkPolicy                         = "features.network-policy"
	FeaturesPrometheusOperator                    = "features.prometheus-operator"
	FeaturesVault                                 = "features.vault"
	FeaturesWebhook                               = "features.webhook"
	FeaturesWonderwall                            = "features.wonderwall"
	FeaturesLegacyGCP                             = "features.legacy-gcp"
	FQDNPolicyEnabled                             = "fqdn-policy.enabled"
	GoogleCloudSQLProxyContainerImage             = "google-cloud-sql-proxy-container-image"
	GoogleProjectId                               = "google-project-id"
	ImagePullSecrets                              = "image-pull-secrets"
	InformerFullSynchronizationInterval           = "informer.full-sync-interval"
	KafkaBrokers                                  = "kafka.brokers"
	KafkaEnabled                                  = "kafka.enabled"
	KafkaLogVerbosity                             = "kafka.log-verbosity"
	KafkaTLSCAPath                                = "kafka.tls.ca-path"
	KafkaTLSCertificatePath                       = "kafka.tls.certificate-path"
	KafkaTLSEnabled                               = "kafka.tls.enabled"
	KafkaTLSInsecure                              = "kafka.tls.insecure"
	KafkaTLSPrivateKeyPath                        = "kafka.tls.private-key-path"
	KafkaTopic                                    = "kafka.topic"
	KubeConfig                                    = "kubeconfig"
	LeaderElectionImage                           = "leader-election.image"
	MaxConcurrentReconciles                       = "max-concurrent-reconciles"
	ObservabilityLoggingDestinations              = "observability.logging.destinations"
	ObservabilityOtelCollectorLabels              = "observability.otel.collector.labels"
	ObservabilityOtelCollectorNamespace           = "observability.otel.collector.namespace"
	ObservabilityOtelCollectorPort                = "observability.otel.collector.port"
	ObservabilityOtelCollectorProtocol            = "observability.otel.collector.protocol"
	ObservabilityOtelCollectorService             = "observability.otel.collector.service"
	ObservabilityOtelCollectorTLS                 = "observability.otel.collector.tls"
	ObservabilityOtelEnabled                      = "observability.otel.enabled"
	ObservabilityOtelAutoInstrumentationAppConfig = "observability.otel.auto-instrumentation.app-config"
	ObservabilityOtelAutoInstrumentationEnabled   = "observability.otel.auto-instrumentation.enabled"
	ProxyAddress                                  = "proxy.address"
	ProxyExclude                                  = "proxy.exclude"
	RateLimitBurst                                = "ratelimit.burst"
	RateLimitQPS                                  = "ratelimit.qps"
	SecurelogsConfigMapReloadImage                = "securelogs.configmap-reload-image"
	SecurelogsFluentdImage                        = "securelogs.fluentd-image"
	SynchronizerRolloutCheckInterval              = "synchronizer.rollout-check-interval"
	SynchronizerRolloutTimeout                    = "synchronizer.rollout-timeout"
	SynchronizerSynchronizationTimeout            = "synchronizer.synchronization-timeout"
	VaultAddress                                  = "vault.address"
	VaultAuthPath                                 = "vault.auth-path"
	VaultInitContainerImage                       = "vault.init-container-image"
	VaultKvPath                                   = "vault.kv-path"
	WonderwallImage                               = "wonderwall.image"
)

Variables

This section is empty.

Functions

func Print

func Print(redacted []string)

Print out all configuration options except secret stuff.

Types

type AutoInstrumentation

type AutoInstrumentation struct {
	Enabled   bool   `json:"enabled"`
	AppConfig string `json:"app-config"`
}

type Config

type Config struct {
	DryRun                            bool             `json:"dry-run"`
	Bind                              string           `json:"bind"`
	HealthProbeBindAddress            string           `json:"health-probe-bind-address"`
	Informer                          Informer         `json:"informer"`
	Synchronizer                      Synchronizer     `json:"synchronizer"`
	Kubeconfig                        string           `json:"kubeconfig"`
	ClusterName                       string           `json:"cluster-name"`
	GoogleProjectId                   string           `json:"google-project-id"`
	GoogleCloudSQLProxyContainerImage string           `json:"google-cloud-sql-proxy-container-image"`
	ApiServerIp                       string           `json:"api-server-ip"`
	Ratelimit                         Ratelimit        `json:"ratelimit"`
	Log                               Log              `json:"log"`
	Features                          Features         `json:"features"`
	Securelogs                        Securelogs       `json:"securelogs"`
	Proxy                             Proxy            `json:"proxy"`
	Vault                             Vault            `json:"vault"`
	Kafka                             Kafka            `json:"kafka"`
	HostAliases                       []HostAlias      `json:"host-aliases"`
	GatewayMappings                   []GatewayMapping `json:"gateway-mappings"`
	Wonderwall                        Wonderwall       `json:"wonderwall"`
	LeaderElection                    LeaderElection   `json:"leader-election"`
	NaisNamespace                     string           `json:"nais-namespace"`
	Observability                     Observability    `json:"observability"`
	AivenRange                        string           `json:"aiven-range"`
	AivenProject                      string           `json:"aiven-project"`
	FQDNPolicy                        FQDNPolicy       `json:"fqdn-policy"`
	Frontend                          Frontend         `json:"frontend"`
	MaxConcurrentReconciles           int              `json:"max-concurrent-reconciles"`
	ImagePullSecrets                  []string         `json:"image-pull-secrets"`
}

func New

func New() (*Config, error)

type FQDNPolicy

type FQDNPolicy struct {
	Enabled bool       `json:"enabled"`
	Rules   []FQDNRule `json:"rules"`
}

type FQDNRule

type FQDNRule struct {
	Host string `json:"host"`
	Port int    `json:"port"`
}

type Features

type Features struct {
	AccessPolicyNotAllowedCIDRs []string `json:"access-policy-not-allowed-cidrs"`
	Azurerator                  bool     `json:"azurerator"`
	CNRM                        bool     `json:"cnrm"`
	GARToleration               bool     `json:"gar-toleration"`
	GCP                         bool     `json:"gcp"`
	IDPorten                    bool     `json:"idporten"`
	InfluxCredentials           bool     `json:"influx-credentials"`
	Jwker                       bool     `json:"jwker"`
	Kafkarator                  bool     `json:"kafkarator"`
	Linkerd                     bool     `json:"linkerd"`
	Maskinporten                bool     `json:"maskinporten"`
	NetworkPolicy               bool     `json:"network-policy"`
	PrometheusOperator          bool     `json:"prometheus-operator"`
	Vault                       bool     `json:"vault"`
	Webhook                     bool     `json:"webhook"`
	NAVCABundle                 bool     `json:"nav-ca-bundle"`
	LegacyGCP                   bool     `json:"legacy-gcp"`
	Wonderwall                  bool     `json:"wonderwall"`
	SqlInstanceInSharedVpc      bool     `json:"sql-instance-in-shared-vpc"`
}

type Frontend

type Frontend struct {
	TelemetryURL string `json:"telemetry-url"`
}

type GatewayMapping

type GatewayMapping struct {
	DomainSuffix string `json:"domainSuffix"`
	IngressClass string `json:"ingressClass"` // Nginx
}

type HostAlias

type HostAlias struct {
	Host    string `json:"host"`
	Address string `json:"address"`
}

type Informer

type Informer struct {
	FullSyncInterval time.Duration `json:"full-sync-interval"`
}

type Kafka

type Kafka struct {
	Brokers      []string `json:"brokers"`
	Enabled      bool     `json:"enabled"`
	LogVerbosity string   `json:"log-verbosity"`
	TLS          KafkaTLS `json:"tls"`
	Topic        string   `json:"topic"`
}

type KafkaTLS

type KafkaTLS struct {
	CAPath          string `json:"ca-path"`
	CertificatePath string `json:"certificate-path"`
	Enabled         bool   `json:"enabled"`
	Insecure        bool   `json:"insecure"`
	PrivateKeyPath  string `json:"private-key-path"`
}

type LeaderElection

type LeaderElection struct {
	Image string `json:"image"`
}

type Log

type Log struct {
	Format string `json:"format"`
	Level  string `json:"level"`
}

type Logging

type Logging struct {
	Destinations []string `json:"destinations"`
}

type Observability

type Observability struct {
	Logging Logging `json:"logging"`
	Otel    Otel    `json:"otel"`
}

type Otel

type Otel struct {
	Enabled             bool                `json:"enabled"`
	Collector           OtelCollector       `json:"collector"`
	AutoInstrumentation AutoInstrumentation `json:"auto-instrumentation"`
}

type OtelCollector

type OtelCollector struct {
	Labels    []string `json:"labels"`
	Namespace string   `json:"namespace"`
	Port      int      `json:"port"`
	Protocol  string   `json:"protocol"`
	Service   string   `json:"service"`
	Tls       bool     `json:"tls"`
}

type Proxy

type Proxy struct {
	Address string   `json:"address"`
	Exclude []string `json:"exclude"`
}

type Ratelimit

type Ratelimit struct {
	QPS   int `json:"qps"`
	Burst int `json:"burst"`
}

type Securelogs

type Securelogs struct {
	FluentdImage         string `json:"fluentd-image"`
	ConfigMapReloadImage string `json:"configmap-reload-image"`
}

type Synchronizer

type Synchronizer struct {
	SynchronizationTimeout time.Duration `json:"synchronization-timeout"`
	RolloutTimeout         time.Duration `json:"rollout-timeout"`
	RolloutCheckInterval   time.Duration `json:"rollout-check-interval"`
}

type Vault

type Vault struct {
	Address            string `json:"address"`
	InitContainerImage string `json:"init-container-image"`
	AuthPath           string `json:"auth-path"`
	KeyValuePath       string `json:"kv-path"`
}

func (Vault) Validate

func (v Vault) Validate() error

type Wonderwall

type Wonderwall struct {
	Image string `json:"image"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL