github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/metricspersisting/servicemonitor/values.go (about)

     1  package servicemonitor
     2  
     3  type Selector struct {
     4  	MatchLabels map[string]string `yaml:"matchLabels"`
     5  }
     6  
     7  type NamespaceSelector struct {
     8  	Any        bool     `yaml:"any"`
     9  	MatchNames []string `yaml:"matchNames"`
    10  }
    11  
    12  type Endpoint struct {
    13  	Port              string              `yaml:"port,omitempty"`
    14  	TargetPort        string              `yaml:"targetPort,omitempty"`
    15  	BearerTokenFile   string              `yaml:"bearerTokenFile,omitempty"`
    16  	Interval          string              `yaml:"interval,omitempty"`
    17  	Path              string              `yaml:"path,omitempty"`
    18  	Scheme            string              `yaml:"scheme,omitempty"`
    19  	TLSConfig         *TLSConfig          `yaml:"tlsConfig,omitempty"`
    20  	MetricRelabelings []*MetricRelabeling `yaml:"metricRelabelings,omitempty"`
    21  	Relabelings       []*Relabeling       `yaml:"relabelings,omitempty"`
    22  	HonorLabels       bool                `yaml:"honorLabels,omitempty"`
    23  }
    24  
    25  type MetricRelabeling struct {
    26  	Action       string   `yaml:"action,omitempty"`
    27  	Regex        string   `yaml:"regex,omitempty"`
    28  	SourceLabels []string `yaml:"sourceLabels,omitempty"`
    29  	TargetLabel  string   `yaml:"targetLabel,omitempty"`
    30  	Replacement  string   `yaml:"replacement,omitempty"`
    31  }
    32  
    33  type Relabeling struct {
    34  	Action       string   `yaml:"action,omitempty"`
    35  	Regex        string   `yaml:"regex,omitempty"`
    36  	SourceLabels []string `yaml:"sourceLabels,omitempty"`
    37  	TargetLabel  string   `yaml:"targetLabel,omitempty"`
    38  	Replacement  string   `yaml:"replacement,omitempty"`
    39  }
    40  
    41  type TLSConfig struct {
    42  	CaFile             string `yaml:"caFile"`
    43  	CertFile           string `yaml:"certFile"`
    44  	InsecureSkipVerify bool   `yaml:"insecureSkipVerify"`
    45  	KeyFile            string `yaml:"keyFile"`
    46  	ServerName         string `yaml:"serverName"`
    47  }
    48  
    49  type Values struct {
    50  	Name              string             `yaml:"name"`
    51  	AdditionalLabels  map[string]string  `yaml:"additionalLabels"`
    52  	JobLabel          string             `yaml:"jobLabel"`
    53  	TargetLabels      string             `yaml:"targetLabels"`
    54  	Selector          *Selector          `yaml:"selector"`
    55  	NamespaceSelector *NamespaceSelector `yaml:"namespaceSelector"`
    56  	Endpoints         []*Endpoint        `yaml:"endpoints"`
    57  }