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

     1  package database
     2  
     3  import (
     4  	"github.com/caos/orbos/internal/operator/boom/application/applications/metricspersisting/servicemonitor"
     5  	deprecatedlabels "github.com/caos/orbos/internal/operator/boom/labels"
     6  	"github.com/caos/orbos/internal/operator/boom/name"
     7  )
     8  
     9  func GetServicemonitors(instanceName string) []*servicemonitor.Config {
    10  	return []*servicemonitor.Config{
    11  		getDatabaseServiceMonitor(instanceName),
    12  		getOperatorServiceMonitor(instanceName),
    13  	}
    14  }
    15  
    16  func getDatabaseServiceMonitor(instanceName string) *servicemonitor.Config {
    17  	var monitorName name.Application = "database-servicemonitor"
    18  
    19  	return &servicemonitor.Config{
    20  		Name: monitorName.String(),
    21  		Endpoints: []*servicemonitor.ConfigEndpoint{{
    22  			Port: "http",
    23  			Path: "/_status/vars",
    24  			TLSConfig: &servicemonitor.ConfigTLSConfig{
    25  				InsecureSkipVerify: true,
    26  			},
    27  			Relabelings: []*servicemonitor.ConfigRelabeling{{
    28  				Action:       "replace",
    29  				SourceLabels: []string{"__meta_kubernetes_pod_node_name"},
    30  				TargetLabel:  "instance",
    31  			}},
    32  		}},
    33  
    34  		MonitorMatchingLabels: deprecatedlabels.GetMonitorLabels(instanceName, monitorName),
    35  
    36  		ServiceMatchingLabels: getApplicationServiceLabels(),
    37  		JobName:               monitorName.String(),
    38  		NamespaceSelector:     []string{"caos-zitadel"},
    39  	}
    40  }
    41  
    42  func getOperatorServiceMonitor(instanceName string) *servicemonitor.Config {
    43  	var monitorName name.Application = "database-operator-servicemonitor"
    44  
    45  	return &servicemonitor.Config{
    46  		Name: monitorName.String(),
    47  		Endpoints: []*servicemonitor.ConfigEndpoint{{
    48  			Port: "http",
    49  		}},
    50  		MonitorMatchingLabels: deprecatedlabels.GetMonitorLabels(instanceName, monitorName),
    51  		ServiceMatchingLabels: getOperatorServiceLabels(),
    52  		JobName:               monitorName.String(),
    53  		NamespaceSelector:     []string{"caos-system"},
    54  	}
    55  }