Documentation ¶
Index ¶
- func RewriteFunc(desiredTree *tree.Tree, newMasterkey string) (secrets map[string]*secret.Secret, err error)
- func SecretsFunc(desiredTree *tree.Tree) (secrets map[string]*secret.Secret, err error)
- type Ambassador
- type AmbassadorService
- type Apply
- type BasicAuth
- type KubeStateMetrics
- type LoggingOperator
- type Logs
- type Loki
- type Metadata
- type Metrics
- type Port
- type Prometheus
- type PrometheusNodeExporter
- type PrometheusOperator
- type PrometheusSystemdExporter
- type RemoteWrite
- type SecretKeySelector
- type Toolset
- type ToolsetMetadata
- type ToolsetSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RewriteFunc ¶ added in v0.25.0
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"` }
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 LoggingOperator ¶
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 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"` }
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"` }
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 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"` }
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"` }
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 RemoteWrite ¶ added in v0.21.0
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"` }
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.