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 APIGateway
- type AmbassadorService
- type Apply
- type BasicAuth
- type KubeMetricsExporter
- type LogCollection
- type Logs
- type LogsPersisting
- type Metadata
- type MetricCollection
- type Metrics
- type MetricsPersisting
- type NodeMetricsExporter
- type Port
- type RemoteWrite
- type SecretKeySelector
- type SystemdMetricsExporter
- type Toolset
- type ToolsetMetadata
- type ToolsetSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RewriteFunc ¶
Types ¶
type APIGateway ¶
type APIGateway 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 ¶
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 ¶
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 KubeMetricsExporter ¶
type LogCollection ¶
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 LogsPersisting ¶
type LogsPersisting 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 MetricCollection ¶
type MetricCollection struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` }
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 MetricsPersisting ¶
type MetricsPersisting 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 NodeMetricsExporter ¶
type NodeMetricsExporter 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 RemoteWrite ¶
type SecretKeySelector ¶
type SystemdMetricsExporter ¶
type SystemdMetricsExporter struct { //Flag if tool should be deployed //@default: false Deploy bool `json:"deploy" yaml:"deploy"` }
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 MetricCollection *MetricCollection `json:"metricCollection,omitempty" yaml:"metricCollection,omitempty"` //Spec for the Banzaicloud Logging-Operator LogCollection *LogCollection `json:"logCollection,omitempty" yaml:"logCollection,omitempty"` //Spec for the Prometheus-Node-Exporter NodeMetricsExporter *NodeMetricsExporter `json:"nodeMetricsExporter,omitempty" yaml:"nodeMetricsExporter,omitempty"` //Spec for the Prometheus-Systemd-Exporter SystemdMetricsExporter *SystemdMetricsExporter `json:"systemdMetricsExporter,omitempty" yaml:"systemdMetricsExporter,omitempty"` //Spec for the Grafana Monitoring *monitoring.Monitoring `json:"monitoring,omitempty" yaml:"monitoring,omitempty"` //Spec for the Ambassador APIGateway *APIGateway `json:"apiGateway,omitempty" yaml:"apiGateway,omitempty"` //Spec for the Kube-State-Metrics KubeMetricsExporter *KubeMetricsExporter `json:"kubeMetricsExporter,omitempty" yaml:"kubeMetricsExporter,omitempty"` //Spec for the Argo-CD Reconciling *reconciling.Reconciling `json:"reconciling,omitempty" yaml:"reconciling,omitempty"` //Spec for the Prometheus instance MetricsPersisting *MetricsPersisting `json:"metricsPersisting,omitempty" yaml:"metricsPersisting,omitempty"` //Spec for the Loki instance LogsPersisting *LogsPersisting `json:"logsPersisting,omitempty" yaml:"logsPersisting,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.