Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( KubeRBACProxyPortNumber = 9339 PrometheusKubeRBACProxyConfigMapName = "prometheus-kube-rbac-proxy-config" AlertManagerEndpointName = "alertmanager-operated" )
View Source
var AlertmanagerSpecTemplate = promv1.AlertmanagerSpec{ Replicas: ptr.To(int32(1)), Resources: defaults.MonitoringResources["alertmanager"], }
View Source
var K8sMetricsServiceMonitorSpecTemplate = promv1.ServiceMonitorSpec{ Endpoints: []promv1.Endpoint{ { Port: "web", Path: "/federate", Scheme: "https", ScrapeTimeout: "1m", Interval: "2m", HonorLabels: true, MetricRelabelConfigs: []*promv1.RelabelConfig{ { Action: "labeldrop", Regex: "prometheus_replica", }, }, RelabelConfigs: []*promv1.RelabelConfig{ { Action: "replace", Regex: "prometheus-k8s-.*", Replacement: "", SourceLabels: []promv1.LabelName{ "pod", }, TargetLabel: "pod", }, }, TLSConfig: &promv1.TLSConfig{ SafeTLSConfig: promv1.SafeTLSConfig{ InsecureSkipVerify: true, }, }, Params: params, BearerTokenFile: "/var/run/secrets/kubernetes.io/serviceaccount/token", }, }, NamespaceSelector: promv1.NamespaceSelector{ MatchNames: []string{"openshift-monitoring"}, }, Selector: metav1.LabelSelector{ MatchLabels: map[string]string{ "app.kubernetes.io/component": "prometheus", }, }, }
View Source
var KubeRBACProxyConfigMap = corev1.ConfigMap{ Data: map[string]string{ "config-file.json": (func() string { config := struct { Authorization struct { Static [2]struct { Path string `json:"path"` ResourceRequest bool `json:"resourceRequest"` Verb string `json:"verb"` } `json:"static"` } `json:"authorization"` }{} item := &config.Authorization.Static[0] item.Verb = "get" item.Path = "/metrics" item.ResourceRequest = false item = &config.Authorization.Static[1] item.Verb = "get" item.Path = "/federate" item.ResourceRequest = false raw, _ := json.Marshal(config) return string(raw) })(), }, }
View Source
var PrometheusSpecTemplate = promv1.PrometheusSpec{ CommonPrometheusFields: promv1.CommonPrometheusFields{ ServiceAccountName: "prometheus-k8s", ServiceMonitorSelector: &serviceMonitorSelector, ListenLocal: true, Resources: defaults.MonitoringResources["prometheus"], Containers: []corev1.Container{{ Name: "kube-rbac-proxy", Image: "gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0", Args: []string{ fmt.Sprintf("--secure-listen-address=0.0.0.0:%d", KubeRBACProxyPortNumber), "--upstream=http://127.0.0.1:9090/", "--logtostderr=true", "--v=10", "--tls-cert-file=/etc/tls-secret/tls.crt", "--tls-private-key-file=/etc/tls-secret/tls.key", "--client-ca-file=/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt", "--config-file=/etc/kube-rbac-config/config-file.json", }, Ports: []corev1.ContainerPort{{ Name: "https", ContainerPort: int32(KubeRBACProxyPortNumber), }}, VolumeMounts: []corev1.VolumeMount{ { Name: "serving-cert", MountPath: "/etc/tls-secret", }, { Name: "kube-rbac-config", MountPath: "/etc/kube-rbac-config", }, }, Resources: defaults.MonitoringResources["kube-rbac-proxy"], }}, Volumes: []corev1.Volume{ { Name: "serving-cert", VolumeSource: corev1.VolumeSource{ Secret: &corev1.SecretVolumeSource{ SecretName: "prometheus-serving-cert-secret", }, }, }, { Name: "kube-rbac-config", VolumeSource: corev1.VolumeSource{ ConfigMap: &corev1.ConfigMapVolumeSource{ LocalObjectReference: corev1.LocalObjectReference{ Name: PrometheusKubeRBACProxyConfigMapName, }, }, }, }, }, }, RuleSelector: &ruleSelector, EnableAdminAPI: false, Alerting: &promv1.AlertingSpec{ Alertmanagers: []promv1.AlertmanagerEndpoints{{ Name: AlertManagerEndpointName, Port: intstr.FromString("web"), }}, }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.