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"`
//Activate the dev portal mapping
ActivateDevPortal bool `json:"activateDevPortal,omitempty" yaml:"activateDevPortal,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.