github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/api/latest/logspersisting.go (about)

     1  package latest
     2  
     3  import (
     4  	"github.com/caos/orbos/internal/operator/boom/api/latest/storage"
     5  	"github.com/caos/orbos/pkg/kubernetes/k8s"
     6  )
     7  
     8  type LogsPersisting struct {
     9  	//Flag if tool should be deployed
    10  	//@default: false
    11  	Deploy bool `json:"deploy" yaml:"deploy"`
    12  	//Spec to define which logs will get persisted
    13  	//@default: nil
    14  	Logs *Logs `json:"logs,omitempty" yaml:"logs,omitempty"`
    15  	//Spec to define how the persistence should be handled
    16  	//@default: nil
    17  	Storage *storage.Spec `json:"storage,omitempty" yaml:"storage,omitempty"`
    18  	//Flag if loki-output should be a clusteroutput instead a output crd
    19  	//@default: false
    20  	ClusterOutput bool `json:"clusterOutput,omitempty" yaml:"clusterOutput,omitempty"`
    21  	//NodeSelector for statefulset
    22  	NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"`
    23  	//Tolerations to run loki on nodes
    24  	Tolerations k8s.Tolerations `json:"tolerations,omitempty" yaml:"tolerations,omitempty"`
    25  	//Resource requirements
    26  	Resources *k8s.Resources `json:"resources,omitempty" yaml:"resources,omitempty"`
    27  	//Overwrite used image
    28  	OverwriteImage string `json:"overwriteImage,omitempty" yaml:"overwriteImage,omitempty"`
    29  	//Overwrite used image version
    30  	OverwriteVersion string `json:"overwriteVersion,omitempty" yaml:"overwriteVersion,omitempty"`
    31  }
    32  
    33  // Logs: When the logs spec is nil all logs will get persisted in loki.
    34  type Logs struct {
    35  	//Bool if logs will get persisted for ambassador
    36  	Ambassador bool `json:"ambassador" yaml:"ambassador"`
    37  	//Bool if logs will get persisted for grafana
    38  	Grafana bool `json:"grafana" yaml:"grafana"`
    39  	//Bool if logs will get persisted for argo-cd
    40  	Argocd bool `json:"argocd" yaml:"argocd"`
    41  	//Bool if logs will get persisted for kube-state-metrics
    42  	KubeStateMetrics bool `json:"kube-state-metrics" yaml:"kube-state-metrics"`
    43  	//Bool if logs will get persisted for prometheus-node-exporter
    44  	PrometheusNodeExporter bool `json:"prometheus-node-exporter"  yaml:"prometheus-node-exporter"`
    45  	//Bool if logs will get persisted for prometheus-operator
    46  	PrometheusOperator bool `json:"prometheus-operator" yaml:"prometheus-operator"`
    47  	//Bool if logs will get persisted for Prometheus-Systemd-Exporter
    48  	PrometheusSystemdExporter bool `json:"prometheus-systemd-exporter" yaml:"prometheus-systemd-exporter"`
    49  	//Bool if logs will get persisted for logging-operator
    50  	LoggingOperator bool `json:"logging-operator" yaml:"logging-operator"`
    51  	//Bool if logs will get persisted for loki
    52  	Loki bool `json:"loki" yaml:"loki"`
    53  	//Bool if logs will get persisted for prometheus
    54  	Prometheus bool `json:"prometheus" yaml:"prometheus"`
    55  	//Bool if logs will get persisted for the metrics-secret
    56  	MetricsServer bool `json:"metrics-server" yaml:"metrics-server"`
    57  	//Bool if logs will get persisted for ORBITER
    58  	Orbiter bool `json:"orbiter" yaml:"orbiter"`
    59  	//Bool if logs will get persisted for BOOM
    60  	Boom bool `json:"boom" yaml:"boom"`
    61  	//Bool if logs will get persisted for ZITADEL
    62  	Zitadel bool `json:"zitadel" yaml:"zitadel"`
    63  	//Bool if logs will get persisted for Database
    64  	Database bool `json:"database" yaml:"database"`
    65  	//Bool if logs will get persisted for Networking
    66  	Networking bool `json:"networking" yaml:"networking"`
    67  }