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.