Documentation ¶
Index ¶
- func GetSecretsMap(desiredKind *Toolset) map[string]*secret.Secret
- type Ambassador
- type AmbassadorService
- type Apply
- type BasicAuth
- type KubeStateMetrics
- type LoggingOperator
- type Logs
- type Loki
- type Metadata
- type Metrics
- type MetricsServer
- type Port
- type Prometheus
- type PrometheusNodeExporter
- type PrometheusOperator
- type PrometheusSystemdExporter
- type RelabelConfig
- type RemoteWrite
- type SecretKeySelector
- type Toolset
- type ToolsetMetadata
- type ToolsetSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Ambassador ¶
type Ambassador struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` //Number of replicas used for deployment //@default: 1 ReplicaCount int `json:"replicaCount,omitempty" yaml:"replicaCount,omitempty"` //Service definition for ambassador Service *AmbassadorService `json:"service,omitempty" yaml:"service,omitempty"` //Activate the dev portal mapping ActivateDevPortal bool `json:"activateDevPortal,omitempty" yaml:"activateDevPortal,omitempty"` //NodeSelector for deployment NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` //Tolerations to run ambassador on nodes Tolerations []toleration.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` }
type AmbassadorService ¶
type AmbassadorService struct { //Kubernetes service type Type string `json:"type,omitempty" yaml:"type,omitempty"` //IP when service is a loadbalancer with a fixed IP LoadBalancerIP string `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty"` //Port definitions for the service Ports []*Port `json:"ports,omitempty" yaml:"ports,omitempty"` }
type Apply ¶ added in v0.21.1
type Apply struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy,omitempty" yaml:"deploy,omitempty"` //Relative path of folder in cloned git repository which should be applied Folder string `json:"folder,omitempty" yaml:"folder,omitempty"` }
Apply: When the folder contains a kustomization.yaml-file the subfolders will be ignored. Otherwise all files inclusive the files contained by the subfolder will be applied if deploy=true, with deploy=false all will be deleted.
type BasicAuth ¶ added in v0.21.0
type BasicAuth struct { //Username to push metrics to remote prometheus Username *SecretKeySelector `json:"username" yaml:"username"` //Password to push metrics to remote prometheus Password *SecretKeySelector `json:"password" yaml:"password"` }
type KubeStateMetrics ¶
type KubeStateMetrics struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` //Number of replicas used for deployment //@default: 1 ReplicaCount int `json:"replicaCount,omitempty" yaml:"replicaCount,omitempty"` //NodeSelector for deployment NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` //Tolerations to run kube state metrics exporter on nodes Tolerations []toleration.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` }
type LoggingOperator ¶
type LoggingOperator struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` //Spec to define how the persistence should be handled FluentdPVC *storage.Spec `json:"fluentdStorage,omitempty" yaml:"fluentdStorage,omitempty"` //NodeSelector for deployment NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` //Tolerations to run fluentbit on nodes Tolerations []toleration.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` }
type Logs ¶
type Logs struct { //Bool if logs will get persisted for ambassador Ambassador bool `json:"ambassador"` //Bool if logs will get persisted for grafana Grafana bool `json:"grafana"` //Bool if logs will get persisted for argo-cd Argocd bool `json:"argocd"` //Bool if logs will get persisted for kube-state-metrics KubeStateMetrics bool `json:"kube-state-metrics" yaml:"kube-state-metrics"` //Bool if logs will get persisted for prometheus-node-exporter PrometheusNodeExporter bool `json:"prometheus-node-exporter" yaml:"prometheus-node-exporter"` //Bool if logs will get persisted for prometheus-operator PrometheusOperator bool `json:"prometheus-operator" yaml:"prometheus-operator"` //Bool if logs will get persisted for prometheus-systemd-exporter PrometheusSystemdExporter bool `json:"prometheus-systemd-exporter" yaml:"prometheus-systemd-exporter"` //Bool if logs will get persisted for logging-operator LoggingOperator bool `json:"logging-operator" yaml:"logging-operator"` //Bool if logs will get persisted for loki Loki bool `json:"loki"` //Bool if logs will get persisted for prometheus Prometheus bool `json:"prometheus"` //Bool if logs will get persisted for metrics-server MetricsServer bool `json:"metrics-server"` }
Logs: When the logs spec is nil all logs will get persisted in loki.
type Loki ¶
type Loki struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` //Spec to define which logs will get persisted //@default: nil Logs *Logs `json:"logs,omitempty" yaml:"logs,omitempty"` //Spec to define how the persistence should be handled //@default: nil Storage *storage.Spec `json:"storage,omitempty" yaml:"storage,omitempty"` //Flag if loki-output should be a clusteroutput instead a output crd //@default: false ClusterOutput bool `json:"clusterOutput,omitempty" yaml:"clusterOutput,omitempty"` //NodeSelector for statefulset NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` //Tolerations to run loki on nodes Tolerations []toleration.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` }
type Metrics ¶
type Metrics struct { //Bool if metrics should get scraped from ambassador Ambassador bool `json:"ambassador"` //Bool if metrics should get scraped from argo-cd Argocd bool `json:"argocd"` //Bool if metrics should get scraped from kube-state-metrics KubeStateMetrics bool `json:"kube-state-metrics" yaml:"kube-state-metrics"` //Bool if metrics should get scraped from prometheus-node-exporter PrometheusNodeExporter bool `json:"prometheus-node-exporter" yaml:"prometheus-node-exporter"` //Bool if metrics should get scraped from prometheus-systemd-exporter PrometheusSystemdExporter bool `json:"prometheus-systemd-exporter" yaml:"prometheus-systemd-exporter"` //Bool if metrics should get scraped from kube-api-server APIServer bool `json:"api-server" yaml:"api-server"` //Bool if metrics should get scraped from prometheus-operator PrometheusOperator bool `json:"prometheus-operator" yaml:"prometheus-operator"` //Bool if metrics should get scraped from logging-operator LoggingOperator bool `json:"logging-operator" yaml:"logging-operator"` //Bool if metrics should get scraped from loki Loki bool `json:"loki"` //Bool if metrics should get scraped from boom Boom bool `json:"boom" yaml:"boom"` //Bool if metrics should get scraped from orbiter Orbiter bool `json:"orbiter" yaml:"orbiter"` }
Metrics: When the metrics spec is nil all metrics will get scraped.
type MetricsServer ¶ added in v0.33.0
type MetricsServer struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` }
type Port ¶
type Port struct { //Name of the Port Name string `json:"name,omitempty" yaml:"name,omitempty"` //Port number Port uint16 `json:"port,omitempty" yaml:"port,omitempty"` //Targetport in-cluster TargetPort uint16 `json:"targetPort,omitempty" yaml:"targetPort,omitempty"` //Used port on node NodePort uint16 `json:"nodePort,omitempty" yaml:"nodePort,omitempty"` }
type Prometheus ¶
type Prometheus struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` //Spec to define which metrics should get scraped //@default: nil Metrics *Metrics `json:"metrics,omitempty" yaml:"metrics,omitempty"` //Spec to define how the persistence should be handled //@default: nil Storage *storage.Spec `json:"storage,omitempty" yaml:"storage,omitempty"` //Configuration to write to remote prometheus RemoteWrite *RemoteWrite `json:"remoteWrite,omitempty" yaml:"remoteWrite,omitempty"` //NodeSelector for statefulset NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` //Tolerations to run prometheus on nodes Tolerations []toleration.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` }
type PrometheusNodeExporter ¶
type PrometheusNodeExporter struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` }
type PrometheusOperator ¶
type PrometheusOperator struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` //NodeSelector for deployment NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` //Tolerations to run prometheus-operator on nodes Tolerations []toleration.Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` }
type PrometheusSystemdExporter ¶ added in v0.21.0
type PrometheusSystemdExporter struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` }
type RelabelConfig ¶ added in v0.29.1
type RelabelConfig struct { //The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. SourceLabels []string `json:"sourceLabels,omitempty" yaml:"sourceLabels,omitempty"` //Separator placed between concatenated source label values. default is ';'. Separator string `json:"separator,omitempty" yaml:"separator,omitempty"` //Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available. TargetLabel string `json:"targetLabel,omitempty" yaml:"targetLabel,omitempty"` //Regular expression against which the extracted value is matched. Default is '(.*)' Regex string `json:"regex,omitempty" yaml:"regex,omitempty"` //Modulus to take of the hash of the source label values. Modulus string `json:"modulus,omitempty" yaml:"modulus,omitempty"` //Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1' Replacement string `json:"replacement,omitempty" yaml:"replacement,omitempty"` //Action to perform based on regex matching. Default is 'replace' Action string `json:"action,omitempty" yaml:"action,omitempty"` }
type RemoteWrite ¶ added in v0.21.0
type RemoteWrite struct { //URL of the endpoint of the remote prometheus URL string `json:"url" yaml:"url"` //Basic-auth-configuration to push metrics to remote prometheus BasicAuth *BasicAuth `json:"basicAuth,omitempty" yaml:"basicAuth,omitempty"` //RelabelConfigs for remote write RelabelConfigs []*RelabelConfig `json:"relabelConfigs,omitempty" yaml:"relabelConfigs,omitempty"` }
type SecretKeySelector ¶ added in v0.21.0
type Toolset ¶
type Toolset struct { //Version of the used API APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` //Kind for the standard CRD Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` //Metadata for the CRD Metadata *Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"` //Specification for the Toolset Spec *ToolsetSpec `json:"spec,omitempty" yaml:"spec,omitempty"` }
type ToolsetMetadata ¶
type ToolsetSpec ¶
type ToolsetSpec struct { //Version of BOOM which should be reconciled BoomVersion string `json:"boomVersion,omitempty" yaml:"boomVersion,omitempty"` //Relative folder path where the currentstate is written to ForceApply bool `json:"forceApply,omitempty" yaml:"forceApply,omitempty"` //Flag if --force should be used by apply of resources CurrentStateFolder string `json:"currentStatePath,omitempty" yaml:"currentStatePath,omitempty"` //Spec for the yaml-files applied before the applications, for example used secrets PreApply *Apply `json:"preApply,omitempty" yaml:"preApply,omitempty"` //Spec for the yaml-files applied after the applications, for example additional crds for the applications PostApply *Apply `json:"postApply,omitempty" yaml:"postApply,omitempty"` //Spec for the Prometheus-Operator PrometheusOperator *PrometheusOperator `json:"prometheus-operator,omitempty" yaml:"prometheus-operator,omitempty"` //Spec for the Banzaicloud Logging-Operator LoggingOperator *LoggingOperator `json:"logging-operator,omitempty" yaml:"logging-operator,omitempty"` //Spec for the Prometheus-Node-Exporter PrometheusNodeExporter *PrometheusNodeExporter `json:"prometheus-node-exporter,omitempty" yaml:"prometheus-node-exporter,omitempty"` //Spec for the Prometheus-Systemd-Exporter PrometheusSystemdExporter *PrometheusSystemdExporter `json:"prometheus-systemd-exporter,omitempty" yaml:"prometheus-systemd-exporter,omitempty"` //Spec for the Grafana Grafana *grafana.Grafana `json:"grafana,omitempty" yaml:"grafana,omitempty"` //Spec for the Ambassador Ambassador *Ambassador `json:"ambassador,omitempty" yaml:"ambassador,omitempty"` //Spec for the Kube-State-Metrics KubeStateMetrics *KubeStateMetrics `json:"kube-state-metrics,omitempty" yaml:"kube-state-metrics,omitempty"` //Spec for the Argo-CD Argocd *argocd.Argocd `json:"argocd,omitempty" yaml:"argocd,omitempty"` //Spec for the Prometheus instance Prometheus *Prometheus `json:"prometheus,omitempty" yaml:"prometheus,omitempty"` //Spec for the Loki instance Loki *Loki `json:"loki,omitempty" yaml:"loki,omitempty"` //Spec for Metrics-Server MetricsServer *MetricsServer `json:"metrics-server,omitempty" yaml:"metrics-server,omitempty"` }
ToolsetSpec: BOOM reconciles itself if a boomVersion is defined, if no boomVersion is defined there is no reconciling.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.