github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/api/latest/logcollection.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 LogCollection struct {
     9  	//Flag if tool should be deployed
    10  	//@default: false
    11  	Deploy bool `json:"deploy" yaml:"deploy"`
    12  	//Fluentd Specs
    13  	Fluentd *Fluentd `json:"fluentd,omitempty" yaml:"fluentd,omitempty"`
    14  	//Fluentbit Specs
    15  	Fluentbit *Component `json:"fluentbit,omitempty" yaml:"fluentbit,omitempty"`
    16  	//Logging operator Specs
    17  	Operator *Component `json:"operator,omitempty" yaml:"operator,omitempty"`
    18  	//ClusterOutputs used by BOOM managed flows. BOOM managed Loki doesn't need to be specified
    19  	ClusterOutputs []string `json:"clusterOutputs,omitempty" yaml:"clusterOutputs,omitempty"`
    20  	//Outputs used by BOOM managed flows. BOOM managed Loki doesn't need to be specified
    21  	Outputs []string `json:"outputs,omitempty" yaml:"outputs,omitempty"`
    22  	//Watch these namespaces
    23  	WatchNamespaces []string `json:"watchNamespaces,omitempty" yaml:"watchNamespaces,omitempty"`
    24  	//Overwrite used image
    25  	OverwriteImage string `json:"overwriteImage,omitempty" yaml:"overwriteImage,omitempty"`
    26  	//Overwrite used image version
    27  	OverwriteVersion string `json:"overwriteVersion,omitempty" yaml:"overwriteVersion,omitempty"`
    28  }
    29  
    30  type Component struct {
    31  	//NodeSelector for deployment
    32  	NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"`
    33  	//Tolerations to run fluentbit on nodes
    34  	Tolerations k8s.Tolerations `json:"tolerations,omitempty" yaml:"tolerations,omitempty"`
    35  	//Resource requirements
    36  	Resources *k8s.Resources `json:"resources,omitempty" yaml:"resources,omitempty"`
    37  }
    38  
    39  type Fluentd struct {
    40  	*Component `json:",inline" yaml:",inline"`
    41  	//Spec to define how the persistence should be handled
    42  	PVC *storage.Spec `json:"pvc,omitempty" yaml:"pvc,omitempty"`
    43  	//Replicas number of fluentd instances
    44  	//@default: 1
    45  	Replicas *int `json:"replicas,omitempty" yaml:"replicas,omitempty"`
    46  }