Merge pull request #1471 from paulfantom/metadata-management
jsonnet: unify metadata management
This commit is contained in:
@@ -77,6 +77,11 @@ function(params) {
|
|||||||
// Safety check
|
// Safety check
|
||||||
assert std.isObject(am._config.resources),
|
assert std.isObject(am._config.resources),
|
||||||
assert std.isObject(am._config.mixin._config),
|
assert std.isObject(am._config.mixin._config),
|
||||||
|
_metadata:: {
|
||||||
|
name: 'alertmanager-' + am._config.name,
|
||||||
|
namespace: am._config.namespace,
|
||||||
|
labels: am._config.commonLabels,
|
||||||
|
},
|
||||||
|
|
||||||
mixin:: (import 'github.com/prometheus/alertmanager/doc/alertmanager-mixin/mixin.libsonnet') +
|
mixin:: (import 'github.com/prometheus/alertmanager/doc/alertmanager-mixin/mixin.libsonnet') +
|
||||||
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
||||||
@@ -86,10 +91,9 @@ function(params) {
|
|||||||
prometheusRule: {
|
prometheusRule: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'PrometheusRule',
|
kind: 'PrometheusRule',
|
||||||
metadata: {
|
metadata: am._metadata {
|
||||||
labels: am._config.commonLabels + am._config.mixin.ruleLabels,
|
labels+: am._config.mixin.ruleLabels,
|
||||||
name: 'alertmanager-' + am._config.name + '-rules',
|
name: am._metadata.name + '-rules',
|
||||||
namespace: am._config.namespace,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
local r = if std.objectHasAll(am.mixin, 'prometheusRules') then am.mixin.prometheusRules.groups else [],
|
local r = if std.objectHasAll(am.mixin, 'prometheusRules') then am.mixin.prometheusRules.groups else [],
|
||||||
@@ -102,10 +106,8 @@ function(params) {
|
|||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Secret',
|
kind: 'Secret',
|
||||||
type: 'Opaque',
|
type: 'Opaque',
|
||||||
metadata: {
|
metadata: am._metadata {
|
||||||
name: 'alertmanager-' + am._config.name,
|
labels+: { alertmanager: am._config.name },
|
||||||
namespace: am._config.namespace,
|
|
||||||
labels: { alertmanager: am._config.name } + am._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
stringData: {
|
stringData: {
|
||||||
'alertmanager.yaml': if std.type(am._config.config) == 'object'
|
'alertmanager.yaml': if std.type(am._config.config) == 'object'
|
||||||
@@ -119,29 +121,25 @@ function(params) {
|
|||||||
serviceAccount: {
|
serviceAccount: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
metadata: {
|
metadata: am._metadata {
|
||||||
name: 'alertmanager-' + am._config.name,
|
labels+: { alertmanager: am._config.name },
|
||||||
namespace: am._config.namespace,
|
|
||||||
labels: { alertmanager: am._config.name } + am._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
service: {
|
service: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Service',
|
kind: 'Service',
|
||||||
metadata: {
|
metadata: am._metadata {
|
||||||
name: 'alertmanager-' + am._config.name,
|
labels+: { alertmanager: am._config.name },
|
||||||
namespace: am._config.namespace,
|
|
||||||
labels: { alertmanager: am._config.name } + am._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
ports: [
|
ports: [
|
||||||
{ name: 'web', targetPort: 'web', port: 9093 },
|
{ name: 'web', targetPort: 'web', port: 9093 },
|
||||||
{ name: 'reloader-web', port: am._config.reloaderPort, targetPort: 'reloader-web' },
|
{ name: 'reloader-web', port: am._config.reloaderPort, targetPort: 'reloader-web' },
|
||||||
],
|
],
|
||||||
selector: {
|
selector: am._config.selectorLabels {
|
||||||
alertmanager: am._config.name,
|
alertmanager: am._config.name,
|
||||||
} + am._config.selectorLabels,
|
},
|
||||||
sessionAffinity: 'ClientIP',
|
sessionAffinity: 'ClientIP',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -149,16 +147,12 @@ function(params) {
|
|||||||
serviceMonitor: {
|
serviceMonitor: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: am._metadata,
|
||||||
name: 'alertmanager',
|
|
||||||
namespace: am._config.namespace,
|
|
||||||
labels: am._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: {
|
matchLabels: am._config.selectorLabels {
|
||||||
alertmanager: am._config.name,
|
alertmanager: am._config.name,
|
||||||
} + am._config.selectorLabels,
|
},
|
||||||
},
|
},
|
||||||
endpoints: [
|
endpoints: [
|
||||||
{ port: 'web', interval: '30s' },
|
{ port: 'web', interval: '30s' },
|
||||||
@@ -170,17 +164,13 @@ function(params) {
|
|||||||
[if (defaults + params).replicas > 1 then 'podDisruptionBudget']: {
|
[if (defaults + params).replicas > 1 then 'podDisruptionBudget']: {
|
||||||
apiVersion: 'policy/v1',
|
apiVersion: 'policy/v1',
|
||||||
kind: 'PodDisruptionBudget',
|
kind: 'PodDisruptionBudget',
|
||||||
metadata: {
|
metadata: am._metadata,
|
||||||
name: 'alertmanager-' + am._config.name,
|
|
||||||
namespace: am._config.namespace,
|
|
||||||
labels: am._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
maxUnavailable: 1,
|
maxUnavailable: 1,
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: {
|
matchLabels: am._config.selectorLabels {
|
||||||
alertmanager: am._config.name,
|
alertmanager: am._config.name,
|
||||||
} + am._config.selectorLabels,
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -188,23 +178,22 @@ function(params) {
|
|||||||
alertmanager: {
|
alertmanager: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'Alertmanager',
|
kind: 'Alertmanager',
|
||||||
metadata: {
|
metadata: am._metadata {
|
||||||
name: am._config.name,
|
name: am._config.name,
|
||||||
namespace: am._config.namespace,
|
labels+: {
|
||||||
labels: {
|
|
||||||
alertmanager: am._config.name,
|
alertmanager: am._config.name,
|
||||||
} + am._config.commonLabels,
|
},
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
replicas: am._config.replicas,
|
replicas: am._config.replicas,
|
||||||
version: am._config.version,
|
version: am._config.version,
|
||||||
image: am._config.image,
|
image: am._config.image,
|
||||||
podMetadata: {
|
podMetadata: {
|
||||||
labels: am._config.commonLabels,
|
labels: am.alertmanager.metadata.labels,
|
||||||
},
|
},
|
||||||
resources: am._config.resources,
|
resources: am._config.resources,
|
||||||
nodeSelector: { 'kubernetes.io/os': 'linux' },
|
nodeSelector: { 'kubernetes.io/os': 'linux' },
|
||||||
serviceAccountName: 'alertmanager-' + am._config.name,
|
serviceAccountName: am.serviceAccount.metadata.name,
|
||||||
securityContext: {
|
securityContext: {
|
||||||
runAsUser: 1000,
|
runAsUser: 1000,
|
||||||
runAsNonRoot: true,
|
runAsNonRoot: true,
|
||||||
|
|||||||
@@ -92,14 +92,17 @@ function(params) {
|
|||||||
_config:: defaults + params,
|
_config:: defaults + params,
|
||||||
// Safety check
|
// Safety check
|
||||||
assert std.isObject(bb._config.resources),
|
assert std.isObject(bb._config.resources),
|
||||||
|
_metadata:: {
|
||||||
|
name: 'blackbox-exporter',
|
||||||
|
namespace: bb._config.namespace,
|
||||||
|
labels: bb._config.commonLabels,
|
||||||
|
},
|
||||||
|
|
||||||
configuration: {
|
configuration: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ConfigMap',
|
kind: 'ConfigMap',
|
||||||
metadata: {
|
metadata: bb._metadata {
|
||||||
name: 'blackbox-exporter-configuration',
|
name: 'blackbox-exporter-configuration',
|
||||||
namespace: bb._config.namespace,
|
|
||||||
labels: bb._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
'config.yml': std.manifestYamlDoc({ modules: bb._config.modules }),
|
'config.yml': std.manifestYamlDoc({ modules: bb._config.modules }),
|
||||||
@@ -109,10 +112,7 @@ function(params) {
|
|||||||
serviceAccount: {
|
serviceAccount: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
metadata: {
|
metadata: bb._metadata,
|
||||||
name: 'blackbox-exporter',
|
|
||||||
namespace: bb._config.namespace,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
clusterRole: {
|
clusterRole: {
|
||||||
@@ -138,9 +138,7 @@ function(params) {
|
|||||||
clusterRoleBinding: {
|
clusterRoleBinding: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRoleBinding',
|
kind: 'ClusterRoleBinding',
|
||||||
metadata: {
|
metadata: bb._metadata,
|
||||||
name: 'blackbox-exporter',
|
|
||||||
},
|
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
@@ -212,14 +210,12 @@ function(params) {
|
|||||||
{
|
{
|
||||||
apiVersion: 'apps/v1',
|
apiVersion: 'apps/v1',
|
||||||
kind: 'Deployment',
|
kind: 'Deployment',
|
||||||
metadata: {
|
metadata: bb._metadata,
|
||||||
name: 'blackbox-exporter',
|
|
||||||
namespace: bb._config.namespace,
|
|
||||||
labels: bb._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
replicas: bb._config.replicas,
|
replicas: bb._config.replicas,
|
||||||
selector: { matchLabels: bb._config.selectorLabels },
|
selector: {
|
||||||
|
matchLabels: bb._config.selectorLabels,
|
||||||
|
},
|
||||||
template: {
|
template: {
|
||||||
metadata: {
|
metadata: {
|
||||||
labels: bb._config.commonLabels,
|
labels: bb._config.commonLabels,
|
||||||
@@ -243,11 +239,7 @@ function(params) {
|
|||||||
service: {
|
service: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Service',
|
kind: 'Service',
|
||||||
metadata: {
|
metadata: bb._metadata,
|
||||||
name: 'blackbox-exporter',
|
|
||||||
namespace: bb._config.namespace,
|
|
||||||
labels: bb._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
ports: [{
|
ports: [{
|
||||||
name: 'https',
|
name: 'https',
|
||||||
@@ -262,29 +254,24 @@ function(params) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
serviceMonitor:
|
serviceMonitor: {
|
||||||
{
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
kind: 'ServiceMonitor',
|
||||||
kind: 'ServiceMonitor',
|
metadata: bb._metadata,
|
||||||
metadata: {
|
spec: {
|
||||||
name: 'blackbox-exporter',
|
endpoints: [{
|
||||||
namespace: bb._config.namespace,
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
labels: bb._config.commonLabels,
|
interval: '30s',
|
||||||
},
|
path: '/metrics',
|
||||||
spec: {
|
port: 'https',
|
||||||
endpoints: [{
|
scheme: 'https',
|
||||||
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
tlsConfig: {
|
||||||
interval: '30s',
|
insecureSkipVerify: true,
|
||||||
path: '/metrics',
|
|
||||||
port: 'https',
|
|
||||||
scheme: 'https',
|
|
||||||
tlsConfig: {
|
|
||||||
insecureSkipVerify: true,
|
|
||||||
},
|
|
||||||
}],
|
|
||||||
selector: {
|
|
||||||
matchLabels: bb._config.selectorLabels,
|
|
||||||
},
|
},
|
||||||
|
}],
|
||||||
|
selector: {
|
||||||
|
matchLabels: bb._config.selectorLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,15 +32,16 @@ function(params)
|
|||||||
kubernetesGrafana(config) {
|
kubernetesGrafana(config) {
|
||||||
local g = self,
|
local g = self,
|
||||||
_config+:: config,
|
_config+:: config,
|
||||||
|
_metadata:: {
|
||||||
|
name: 'grafana',
|
||||||
|
namespace: g._config.namespace,
|
||||||
|
labels: g._config.commonLabels,
|
||||||
|
},
|
||||||
|
|
||||||
serviceMonitor: {
|
serviceMonitor: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: g._metadata,
|
||||||
name: 'grafana',
|
|
||||||
namespace: g._config.namespace,
|
|
||||||
labels: g._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: {
|
matchLabels: {
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ local defaults = {
|
|||||||
function(params) {
|
function(params) {
|
||||||
local k8s = self,
|
local k8s = self,
|
||||||
_config:: defaults + params,
|
_config:: defaults + params,
|
||||||
|
_metadata:: {
|
||||||
|
labels: k8s._config.commonLabels,
|
||||||
|
namespace: k8s._config.namespace,
|
||||||
|
},
|
||||||
|
|
||||||
mixin:: (import 'github.com/kubernetes-monitoring/kubernetes-mixin/mixin.libsonnet') {
|
mixin:: (import 'github.com/kubernetes-monitoring/kubernetes-mixin/mixin.libsonnet') {
|
||||||
_config+:: k8s._config.mixin._config,
|
_config+:: k8s._config.mixin._config,
|
||||||
@@ -36,10 +40,9 @@ function(params) {
|
|||||||
prometheusRule: {
|
prometheusRule: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'PrometheusRule',
|
kind: 'PrometheusRule',
|
||||||
metadata: {
|
metadata: k8s._metadata {
|
||||||
labels: k8s._config.commonLabels + k8s._config.mixin.ruleLabels,
|
|
||||||
name: 'kubernetes-monitoring-rules',
|
name: 'kubernetes-monitoring-rules',
|
||||||
namespace: k8s._config.namespace,
|
labels+: k8s._config.mixin.ruleLabels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
local r = if std.objectHasAll(k8s.mixin, 'prometheusRules') then k8s.mixin.prometheusRules.groups else {},
|
local r = if std.objectHasAll(k8s.mixin, 'prometheusRules') then k8s.mixin.prometheusRules.groups else {},
|
||||||
@@ -51,10 +54,9 @@ function(params) {
|
|||||||
serviceMonitorKubeScheduler: {
|
serviceMonitorKubeScheduler: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: k8s._metadata {
|
||||||
name: 'kube-scheduler',
|
name: 'kube-scheduler',
|
||||||
namespace: k8s._config.namespace,
|
labels+: { 'app.kubernetes.io/name': 'kube-scheduler' },
|
||||||
labels: { 'app.kubernetes.io/name': 'kube-scheduler' },
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
@@ -77,10 +79,9 @@ function(params) {
|
|||||||
serviceMonitorKubelet: {
|
serviceMonitorKubelet: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: k8s._metadata {
|
||||||
name: 'kubelet',
|
name: 'kubelet',
|
||||||
namespace: k8s._config.namespace,
|
labels+: { 'app.kubernetes.io/name': 'kubelet' },
|
||||||
labels: { 'app.kubernetes.io/name': 'kubelet' },
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
@@ -172,10 +173,9 @@ function(params) {
|
|||||||
serviceMonitorKubeControllerManager: {
|
serviceMonitorKubeControllerManager: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: k8s._metadata {
|
||||||
name: 'kube-controller-manager',
|
name: 'kube-controller-manager',
|
||||||
namespace: k8s._config.namespace,
|
labels+: { 'app.kubernetes.io/name': 'kube-controller-manager' },
|
||||||
labels: { 'app.kubernetes.io/name': 'kube-controller-manager' },
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
@@ -207,10 +207,9 @@ function(params) {
|
|||||||
serviceMonitorApiserver: {
|
serviceMonitorApiserver: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: k8s._metadata {
|
||||||
name: 'kube-apiserver',
|
name: 'kube-apiserver',
|
||||||
namespace: k8s._config.namespace,
|
labels+: { 'app.kubernetes.io/name': 'apiserver' },
|
||||||
labels: { 'app.kubernetes.io/name': 'apiserver' },
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'component',
|
jobLabel: 'component',
|
||||||
@@ -261,12 +260,9 @@ function(params) {
|
|||||||
[if (defaults + params).kubeProxy then 'podMonitorKubeProxy']: {
|
[if (defaults + params).kubeProxy then 'podMonitorKubeProxy']: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'PodMonitor',
|
kind: 'PodMonitor',
|
||||||
metadata: {
|
metadata: k8s._metadata {
|
||||||
labels: {
|
labels+: { 'k8s-app': 'kube-proxy' },
|
||||||
'k8s-app': 'kube-proxy',
|
|
||||||
},
|
|
||||||
name: 'kube-proxy',
|
name: 'kube-proxy',
|
||||||
namespace: k8s._config.namespace,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'k8s-app',
|
jobLabel: 'k8s-app',
|
||||||
@@ -300,10 +296,9 @@ function(params) {
|
|||||||
serviceMonitorCoreDNS: {
|
serviceMonitorCoreDNS: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: k8s._metadata {
|
||||||
name: 'coredns',
|
name: 'coredns',
|
||||||
namespace: k8s._config.namespace,
|
labels+: { 'app.kubernetes.io/name': 'coredns' },
|
||||||
labels: { 'app.kubernetes.io/name': 'coredns' },
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
|
|||||||
@@ -54,6 +54,12 @@ function(params) (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-
|
|||||||
commonLabels:: ksm._config.commonLabels,
|
commonLabels:: ksm._config.commonLabels,
|
||||||
podLabels:: ksm._config.selectorLabels,
|
podLabels:: ksm._config.selectorLabels,
|
||||||
|
|
||||||
|
_metadata:: {
|
||||||
|
labels: ksm._config.commonLabels,
|
||||||
|
name: ksm._config.name,
|
||||||
|
namespace: ksm._config.namespace,
|
||||||
|
},
|
||||||
|
|
||||||
mixin:: (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-metrics-mixin/mixin.libsonnet') +
|
mixin:: (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-metrics-mixin/mixin.libsonnet') +
|
||||||
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
||||||
_config+:: ksm._config.mixin._config,
|
_config+:: ksm._config.mixin._config,
|
||||||
@@ -62,10 +68,9 @@ function(params) (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-
|
|||||||
prometheusRule: {
|
prometheusRule: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'PrometheusRule',
|
kind: 'PrometheusRule',
|
||||||
metadata: {
|
metadata: ksm._metadata {
|
||||||
labels: ksm._config.commonLabels + ksm._config.mixin.ruleLabels,
|
labels+: ksm._config.mixin.ruleLabels,
|
||||||
name: ksm._config.name + '-rules',
|
name: ksm._config.name + '-rules',
|
||||||
namespace: ksm._config.namespace,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
local r = if std.objectHasAll(ksm.mixin, 'prometheusRules') then ksm.mixin.prometheusRules.groups else [],
|
local r = if std.objectHasAll(ksm.mixin, 'prometheusRules') then ksm.mixin.prometheusRules.groups else [],
|
||||||
@@ -135,14 +140,12 @@ function(params) (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-
|
|||||||
{
|
{
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: ksm._metadata,
|
||||||
name: ksm.name,
|
|
||||||
namespace: ksm._config.namespace,
|
|
||||||
labels: ksm._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
selector: { matchLabels: ksm._config.selectorLabels },
|
selector: {
|
||||||
|
matchLabels: ksm._config.selectorLabels,
|
||||||
|
},
|
||||||
endpoints: [
|
endpoints: [
|
||||||
{
|
{
|
||||||
port: 'https-main',
|
port: 'https-main',
|
||||||
|
|||||||
@@ -49,6 +49,11 @@ function(params) {
|
|||||||
// Safety check
|
// Safety check
|
||||||
assert std.isObject(ne._config.resources),
|
assert std.isObject(ne._config.resources),
|
||||||
assert std.isObject(ne._config.mixin._config),
|
assert std.isObject(ne._config.mixin._config),
|
||||||
|
_metadata:: {
|
||||||
|
name: ne._config.name,
|
||||||
|
namespace: ne._config.namespace,
|
||||||
|
labels: ne._config.commonLabels,
|
||||||
|
},
|
||||||
|
|
||||||
mixin:: (import 'github.com/prometheus/node_exporter/docs/node-mixin/mixin.libsonnet') +
|
mixin:: (import 'github.com/prometheus/node_exporter/docs/node-mixin/mixin.libsonnet') +
|
||||||
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
||||||
@@ -58,10 +63,9 @@ function(params) {
|
|||||||
prometheusRule: {
|
prometheusRule: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'PrometheusRule',
|
kind: 'PrometheusRule',
|
||||||
metadata: {
|
metadata: ne._metadata {
|
||||||
labels: ne._config.commonLabels + ne._config.mixin.ruleLabels,
|
labels+: ne._config.mixin.ruleLabels,
|
||||||
name: ne._config.name + '-rules',
|
name: ne._config.name + '-rules',
|
||||||
namespace: ne._config.namespace,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
local r = if std.objectHasAll(ne.mixin, 'prometheusRules') then ne.mixin.prometheusRules.groups else [],
|
local r = if std.objectHasAll(ne.mixin, 'prometheusRules') then ne.mixin.prometheusRules.groups else [],
|
||||||
@@ -73,10 +77,7 @@ function(params) {
|
|||||||
clusterRoleBinding: {
|
clusterRoleBinding: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRoleBinding',
|
kind: 'ClusterRoleBinding',
|
||||||
metadata: {
|
metadata: ne._metadata,
|
||||||
name: ne._config.name,
|
|
||||||
labels: ne._config.commonLabels,
|
|
||||||
},
|
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
@@ -92,10 +93,7 @@ function(params) {
|
|||||||
clusterRole: {
|
clusterRole: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
metadata: {
|
metadata: ne._metadata,
|
||||||
name: ne._config.name,
|
|
||||||
labels: ne._config.commonLabels,
|
|
||||||
},
|
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
apiGroups: ['authentication.k8s.io'],
|
apiGroups: ['authentication.k8s.io'],
|
||||||
@@ -113,21 +111,13 @@ function(params) {
|
|||||||
serviceAccount: {
|
serviceAccount: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
metadata: {
|
metadata: ne._metadata,
|
||||||
name: ne._config.name,
|
|
||||||
namespace: ne._config.namespace,
|
|
||||||
labels: ne._config.commonLabels,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
service: {
|
service: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Service',
|
kind: 'Service',
|
||||||
metadata: {
|
metadata: ne._metadata,
|
||||||
name: ne._config.name,
|
|
||||||
namespace: ne._config.namespace,
|
|
||||||
labels: ne._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
ports: [
|
ports: [
|
||||||
{ name: 'https', targetPort: 'https', port: ne._config.port },
|
{ name: 'https', targetPort: 'https', port: ne._config.port },
|
||||||
@@ -140,11 +130,7 @@ function(params) {
|
|||||||
serviceMonitor: {
|
serviceMonitor: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: ne._metadata,
|
||||||
name: ne._config.name,
|
|
||||||
namespace: ne._config.namespace,
|
|
||||||
labels: ne._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
selector: {
|
selector: {
|
||||||
@@ -221,13 +207,11 @@ function(params) {
|
|||||||
{
|
{
|
||||||
apiVersion: 'apps/v1',
|
apiVersion: 'apps/v1',
|
||||||
kind: 'DaemonSet',
|
kind: 'DaemonSet',
|
||||||
metadata: {
|
metadata: ne._metadata,
|
||||||
name: ne._config.name,
|
|
||||||
namespace: ne._config.namespace,
|
|
||||||
labels: ne._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
selector: { matchLabels: ne._config.selectorLabels },
|
selector: {
|
||||||
|
matchLabels: ne._config.selectorLabels,
|
||||||
|
},
|
||||||
updateStrategy: {
|
updateStrategy: {
|
||||||
type: 'RollingUpdate',
|
type: 'RollingUpdate',
|
||||||
rollingUpdate: { maxUnavailable: '10%' },
|
rollingUpdate: { maxUnavailable: '10%' },
|
||||||
@@ -260,6 +244,4 @@ function(params) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,6 +120,12 @@ function(params) {
|
|||||||
// Safety check
|
// Safety check
|
||||||
assert std.isObject(pa._config.resources),
|
assert std.isObject(pa._config.resources),
|
||||||
|
|
||||||
|
_metadata:: {
|
||||||
|
name: pa._config.name,
|
||||||
|
namespace: pa._config.namespace,
|
||||||
|
labels: pa._config.commonLabels,
|
||||||
|
},
|
||||||
|
|
||||||
apiService: {
|
apiService: {
|
||||||
apiVersion: 'apiregistration.k8s.io/v1',
|
apiVersion: 'apiregistration.k8s.io/v1',
|
||||||
kind: 'APIService',
|
kind: 'APIService',
|
||||||
@@ -143,10 +149,8 @@ function(params) {
|
|||||||
configMap: {
|
configMap: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ConfigMap',
|
kind: 'ConfigMap',
|
||||||
metadata: {
|
metadata: pa._metadata {
|
||||||
name: 'adapter-config',
|
name: 'adapter-config',
|
||||||
namespace: pa._config.namespace,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
data: { 'config.yaml': std.manifestYamlDoc(pa._config.config) },
|
data: { 'config.yaml': std.manifestYamlDoc(pa._config.config) },
|
||||||
},
|
},
|
||||||
@@ -154,11 +158,7 @@ function(params) {
|
|||||||
serviceMonitor: {
|
serviceMonitor: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: pa._metadata,
|
||||||
name: pa._config.name,
|
|
||||||
namespace: pa._config.namespace,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: pa._config.selectorLabels,
|
matchLabels: pa._config.selectorLabels,
|
||||||
@@ -195,11 +195,7 @@ function(params) {
|
|||||||
service: {
|
service: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Service',
|
kind: 'Service',
|
||||||
metadata: {
|
metadata: pa._metadata,
|
||||||
name: pa._config.name,
|
|
||||||
namespace: pa._config.namespace,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
ports: [
|
ports: [
|
||||||
{ name: 'https', targetPort: 6443, port: 443 },
|
{ name: 'https', targetPort: 6443, port: 443 },
|
||||||
@@ -233,14 +229,12 @@ function(params) {
|
|||||||
{
|
{
|
||||||
apiVersion: 'apps/v1',
|
apiVersion: 'apps/v1',
|
||||||
kind: 'Deployment',
|
kind: 'Deployment',
|
||||||
metadata: {
|
metadata: pa._metadata,
|
||||||
name: pa._config.name,
|
|
||||||
namespace: pa._config.namespace,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
replicas: pa._config.replicas,
|
replicas: pa._config.replicas,
|
||||||
selector: { matchLabels: pa._config.selectorLabels },
|
selector: {
|
||||||
|
matchLabels: pa._config.selectorLabels,
|
||||||
|
},
|
||||||
strategy: {
|
strategy: {
|
||||||
rollingUpdate: {
|
rollingUpdate: {
|
||||||
maxSurge: 1,
|
maxSurge: 1,
|
||||||
@@ -266,20 +260,13 @@ function(params) {
|
|||||||
serviceAccount: {
|
serviceAccount: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
metadata: {
|
metadata: pa._metadata,
|
||||||
name: pa._config.name,
|
|
||||||
namespace: pa._config.namespace,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
clusterRole: {
|
clusterRole: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
metadata: {
|
metadata: pa._metadata,
|
||||||
name: pa._config.name,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
|
||||||
rules: [{
|
rules: [{
|
||||||
apiGroups: [''],
|
apiGroups: [''],
|
||||||
resources: ['nodes', 'namespaces', 'pods', 'services'],
|
resources: ['nodes', 'namespaces', 'pods', 'services'],
|
||||||
@@ -290,10 +277,7 @@ function(params) {
|
|||||||
clusterRoleBinding: {
|
clusterRoleBinding: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRoleBinding',
|
kind: 'ClusterRoleBinding',
|
||||||
metadata: {
|
metadata: pa._metadata,
|
||||||
name: pa._config.name,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
@@ -309,9 +293,8 @@ function(params) {
|
|||||||
clusterRoleBindingDelegator: {
|
clusterRoleBindingDelegator: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRoleBinding',
|
kind: 'ClusterRoleBinding',
|
||||||
metadata: {
|
metadata: pa._metadata {
|
||||||
name: 'resource-metrics:system:auth-delegator',
|
name: 'resource-metrics:system:auth-delegator',
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
@@ -328,9 +311,8 @@ function(params) {
|
|||||||
clusterRoleServerResources: {
|
clusterRoleServerResources: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
metadata: {
|
metadata: pa._metadata {
|
||||||
name: 'resource-metrics-server-resources',
|
name: 'resource-metrics-server-resources',
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
rules: [{
|
rules: [{
|
||||||
apiGroups: ['metrics.k8s.io'],
|
apiGroups: ['metrics.k8s.io'],
|
||||||
@@ -342,13 +324,13 @@ function(params) {
|
|||||||
clusterRoleAggregatedMetricsReader: {
|
clusterRoleAggregatedMetricsReader: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
metadata: {
|
metadata: pa._metadata {
|
||||||
name: 'system:aggregated-metrics-reader',
|
name: 'system:aggregated-metrics-reader',
|
||||||
labels: {
|
labels+: {
|
||||||
'rbac.authorization.k8s.io/aggregate-to-admin': 'true',
|
'rbac.authorization.k8s.io/aggregate-to-admin': 'true',
|
||||||
'rbac.authorization.k8s.io/aggregate-to-edit': 'true',
|
'rbac.authorization.k8s.io/aggregate-to-edit': 'true',
|
||||||
'rbac.authorization.k8s.io/aggregate-to-view': 'true',
|
'rbac.authorization.k8s.io/aggregate-to-view': 'true',
|
||||||
} + pa._config.commonLabels,
|
},
|
||||||
},
|
},
|
||||||
rules: [{
|
rules: [{
|
||||||
apiGroups: ['metrics.k8s.io'],
|
apiGroups: ['metrics.k8s.io'],
|
||||||
@@ -360,10 +342,9 @@ function(params) {
|
|||||||
roleBindingAuthReader: {
|
roleBindingAuthReader: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'RoleBinding',
|
kind: 'RoleBinding',
|
||||||
metadata: {
|
metadata: pa._metadata {
|
||||||
name: 'resource-metrics-auth-reader',
|
name: 'resource-metrics-auth-reader',
|
||||||
namespace: 'kube-system',
|
namespace: 'kube-system',
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
@@ -380,11 +361,7 @@ function(params) {
|
|||||||
[if (defaults + params).replicas > 1 then 'podDisruptionBudget']: {
|
[if (defaults + params).replicas > 1 then 'podDisruptionBudget']: {
|
||||||
apiVersion: 'policy/v1',
|
apiVersion: 'policy/v1',
|
||||||
kind: 'PodDisruptionBudget',
|
kind: 'PodDisruptionBudget',
|
||||||
metadata: {
|
metadata: pa._metadata,
|
||||||
name: pa._config.name,
|
|
||||||
namespace: pa._config.namespace,
|
|
||||||
labels: pa._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
minAvailable: 1,
|
minAvailable: 1,
|
||||||
selector: {
|
selector: {
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ function(params)
|
|||||||
local po = self,
|
local po = self,
|
||||||
// declare variable as a field to allow overriding options and to have unified API across all components
|
// declare variable as a field to allow overriding options and to have unified API across all components
|
||||||
_config:: config,
|
_config:: config,
|
||||||
|
_metadata:: {
|
||||||
|
labels: po._config.commonLabels,
|
||||||
|
name: po._config.name,
|
||||||
|
namespace: po._config.namespace,
|
||||||
|
},
|
||||||
mixin:: (import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') +
|
mixin:: (import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') +
|
||||||
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
||||||
_config+:: po._config.mixin._config,
|
_config+:: po._config.mixin._config,
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ function(params) {
|
|||||||
// Safety check
|
// Safety check
|
||||||
assert std.isObject(p._config.resources),
|
assert std.isObject(p._config.resources),
|
||||||
assert std.isObject(p._config.mixin._config),
|
assert std.isObject(p._config.mixin._config),
|
||||||
|
_metadata:: {
|
||||||
|
name: 'prometheus-' + p._config.name,
|
||||||
|
namespace: p._config.namespace,
|
||||||
|
labels: p._config.commonLabels,
|
||||||
|
},
|
||||||
|
|
||||||
mixin::
|
mixin::
|
||||||
(import 'github.com/prometheus/prometheus/documentation/prometheus-mixin/mixin.libsonnet') +
|
(import 'github.com/prometheus/prometheus/documentation/prometheus-mixin/mixin.libsonnet') +
|
||||||
@@ -67,10 +72,9 @@ function(params) {
|
|||||||
prometheusRule: {
|
prometheusRule: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'PrometheusRule',
|
kind: 'PrometheusRule',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
labels: p._config.commonLabels + p._config.mixin.ruleLabels,
|
labels+: p._config.mixin.ruleLabels,
|
||||||
name: 'prometheus-' + p._config.name + '-prometheus-rules',
|
name: p._metadata.name + '-prometheus-rules',
|
||||||
namespace: p._config.namespace,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
local r = if std.objectHasAll(p.mixin, 'prometheusRules') then p.mixin.prometheusRules.groups else [],
|
local r = if std.objectHasAll(p.mixin, 'prometheusRules') then p.mixin.prometheusRules.groups else [],
|
||||||
@@ -82,20 +86,14 @@ function(params) {
|
|||||||
serviceAccount: {
|
serviceAccount: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
metadata: {
|
metadata: p._metadata,
|
||||||
name: 'prometheus-' + p._config.name,
|
|
||||||
namespace: p._config.namespace,
|
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
service: {
|
service: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Service',
|
kind: 'Service',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
name: 'prometheus-' + p._config.name,
|
labels+: { prometheus: p._config.name },
|
||||||
namespace: p._config.namespace,
|
|
||||||
labels: { prometheus: p._config.name } + p._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
ports: [
|
ports: [
|
||||||
@@ -116,19 +114,17 @@ function(params) {
|
|||||||
local newSpecificRoleBinding(namespace) = {
|
local newSpecificRoleBinding(namespace) = {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'RoleBinding',
|
kind: 'RoleBinding',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
name: 'prometheus-' + p._config.name,
|
|
||||||
namespace: namespace,
|
namespace: namespace,
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
kind: 'Role',
|
kind: 'Role',
|
||||||
name: 'prometheus-' + p._config.name,
|
name: p._metadata.name,
|
||||||
},
|
},
|
||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: 'prometheus-' + p._config.name,
|
name: p.serviceAccount.metadata.name,
|
||||||
namespace: p._config.namespace,
|
namespace: p._config.namespace,
|
||||||
}],
|
}],
|
||||||
};
|
};
|
||||||
@@ -141,10 +137,7 @@ function(params) {
|
|||||||
clusterRole: {
|
clusterRole: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
metadata: {
|
metadata: p._metadata,
|
||||||
name: 'prometheus-' + p._config.name,
|
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
apiGroups: [''],
|
apiGroups: [''],
|
||||||
@@ -161,10 +154,8 @@ function(params) {
|
|||||||
roleConfig: {
|
roleConfig: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'Role',
|
kind: 'Role',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
name: 'prometheus-' + p._config.name + '-config',
|
name: p._metadata.name + '-config',
|
||||||
namespace: p._config.namespace,
|
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
rules: [{
|
rules: [{
|
||||||
apiGroups: [''],
|
apiGroups: [''],
|
||||||
@@ -176,19 +167,17 @@ function(params) {
|
|||||||
roleBindingConfig: {
|
roleBindingConfig: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'RoleBinding',
|
kind: 'RoleBinding',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
name: 'prometheus-' + p._config.name + '-config',
|
name: p._metadata.name + '-config',
|
||||||
namespace: p._config.namespace,
|
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
kind: 'Role',
|
kind: 'Role',
|
||||||
name: 'prometheus-' + p._config.name + '-config',
|
name: p._metadata.name + '-config',
|
||||||
},
|
},
|
||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: 'prometheus-' + p._config.name,
|
name: p._metadata.name,
|
||||||
namespace: p._config.namespace,
|
namespace: p._config.namespace,
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
@@ -196,18 +185,15 @@ function(params) {
|
|||||||
clusterRoleBinding: {
|
clusterRoleBinding: {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'ClusterRoleBinding',
|
kind: 'ClusterRoleBinding',
|
||||||
metadata: {
|
metadata: p._metadata,
|
||||||
name: 'prometheus-' + p._config.name,
|
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
|
||||||
roleRef: {
|
roleRef: {
|
||||||
apiGroup: 'rbac.authorization.k8s.io',
|
apiGroup: 'rbac.authorization.k8s.io',
|
||||||
kind: 'ClusterRole',
|
kind: 'ClusterRole',
|
||||||
name: 'prometheus-' + p._config.name,
|
name: p._metadata.name,
|
||||||
},
|
},
|
||||||
subjects: [{
|
subjects: [{
|
||||||
kind: 'ServiceAccount',
|
kind: 'ServiceAccount',
|
||||||
name: 'prometheus-' + p._config.name,
|
name: p._metadata.name,
|
||||||
namespace: p._config.namespace,
|
namespace: p._config.namespace,
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
@@ -216,10 +202,8 @@ function(params) {
|
|||||||
local newSpecificRole(namespace) = {
|
local newSpecificRole(namespace) = {
|
||||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||||
kind: 'Role',
|
kind: 'Role',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
name: 'prometheus-' + p._config.name,
|
|
||||||
namespace: namespace,
|
namespace: namespace,
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
@@ -248,17 +232,13 @@ function(params) {
|
|||||||
[if (defaults + params).replicas > 1 then 'podDisruptionBudget']: {
|
[if (defaults + params).replicas > 1 then 'podDisruptionBudget']: {
|
||||||
apiVersion: 'policy/v1',
|
apiVersion: 'policy/v1',
|
||||||
kind: 'PodDisruptionBudget',
|
kind: 'PodDisruptionBudget',
|
||||||
metadata: {
|
metadata: p._metadata,
|
||||||
name: 'prometheus-' + p._config.name,
|
|
||||||
namespace: p._config.namespace,
|
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
minAvailable: 1,
|
minAvailable: 1,
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: {
|
matchLabels: p._config.selectorLabels {
|
||||||
prometheus: p._config.name,
|
prometheus: p._config.name,
|
||||||
} + p._config.selectorLabels,
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -266,21 +246,20 @@ function(params) {
|
|||||||
prometheus: {
|
prometheus: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'Prometheus',
|
kind: 'Prometheus',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
name: p._config.name,
|
name: p._config.name,
|
||||||
namespace: p._config.namespace,
|
labels+: { prometheus: p._config.name },
|
||||||
labels: { prometheus: p._config.name } + p._config.commonLabels,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
replicas: p._config.replicas,
|
replicas: p._config.replicas,
|
||||||
version: p._config.version,
|
version: p._config.version,
|
||||||
image: p._config.image,
|
image: p._config.image,
|
||||||
podMetadata: {
|
podMetadata: {
|
||||||
labels: p._config.commonLabels,
|
labels: p.prometheus.metadata.labels,
|
||||||
},
|
},
|
||||||
externalLabels: p._config.externalLabels,
|
externalLabels: p._config.externalLabels,
|
||||||
enableFeatures: p._config.enableFeatures,
|
enableFeatures: p._config.enableFeatures,
|
||||||
serviceAccountName: 'prometheus-' + p._config.name,
|
serviceAccountName: p.serviceAccount.metadata.name,
|
||||||
podMonitorSelector: {},
|
podMonitorSelector: {},
|
||||||
podMonitorNamespaceSelector: {},
|
podMonitorNamespaceSelector: {},
|
||||||
probeSelector: {},
|
probeSelector: {},
|
||||||
@@ -311,11 +290,7 @@ function(params) {
|
|||||||
serviceMonitor: {
|
serviceMonitor: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata: {
|
metadata: p._metadata,
|
||||||
name: 'prometheus-' + p._config.name,
|
|
||||||
namespace: p._config.namespace,
|
|
||||||
labels: p._config.commonLabels,
|
|
||||||
},
|
|
||||||
spec: {
|
spec: {
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: p._config.selectorLabels,
|
matchLabels: p._config.selectorLabels,
|
||||||
@@ -331,10 +306,9 @@ function(params) {
|
|||||||
[if std.objectHas(params, 'thanos') && params.thanos != null then 'prometheusRuleThanosSidecar']: {
|
[if std.objectHas(params, 'thanos') && params.thanos != null then 'prometheusRuleThanosSidecar']: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'PrometheusRule',
|
kind: 'PrometheusRule',
|
||||||
metadata: {
|
metadata: p._metadata {
|
||||||
labels: p._config.commonLabels + p._config.mixin.ruleLabels,
|
labels+: p._config.mixin.ruleLabels,
|
||||||
name: 'prometheus-' + p._config.name + '-thanos-sidecar-rules',
|
name: p._metadata.name + '-thanos-sidecar-rules',
|
||||||
namespace: p._config.namespace,
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
local r = if std.objectHasAll(p.mixinThanos, 'prometheusRules') then p.mixinThanos.prometheusRules.groups else [],
|
local r = if std.objectHasAll(p.mixinThanos, 'prometheusRules') then p.mixinThanos.prometheusRules.groups else [],
|
||||||
@@ -347,10 +321,9 @@ function(params) {
|
|||||||
[if std.objectHas(params, 'thanos') && params.thanos != null then 'serviceThanosSidecar']: {
|
[if std.objectHas(params, 'thanos') && params.thanos != null then 'serviceThanosSidecar']: {
|
||||||
apiVersion: 'v1',
|
apiVersion: 'v1',
|
||||||
kind: 'Service',
|
kind: 'Service',
|
||||||
metadata+: {
|
metadata+: p._metadata {
|
||||||
name: 'prometheus-' + p._config.name + '-thanos-sidecar',
|
name: p._metadata.name + '-thanos-sidecar',
|
||||||
namespace: p._config.namespace,
|
labels+: {
|
||||||
labels+: p._config.commonLabels {
|
|
||||||
prometheus: p._config.name,
|
prometheus: p._config.name,
|
||||||
'app.kubernetes.io/component': 'thanos-sidecar',
|
'app.kubernetes.io/component': 'thanos-sidecar',
|
||||||
},
|
},
|
||||||
@@ -372,10 +345,9 @@ function(params) {
|
|||||||
[if std.objectHas(params, 'thanos') && params.thanos != null then 'serviceMonitorThanosSidecar']: {
|
[if std.objectHas(params, 'thanos') && params.thanos != null then 'serviceMonitorThanosSidecar']: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
metadata+: {
|
metadata+: p._metadata {
|
||||||
name: 'thanos-sidecar',
|
name: 'thanos-sidecar',
|
||||||
namespace: p._config.namespace,
|
labels+: {
|
||||||
labels: p._config.commonLabels {
|
|
||||||
prometheus: p._config.name,
|
prometheus: p._config.name,
|
||||||
'app.kubernetes.io/component': 'thanos-sidecar',
|
'app.kubernetes.io/component': 'thanos-sidecar',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ spec:
|
|||||||
kubernetes.io/os: linux
|
kubernetes.io/os: linux
|
||||||
podMetadata:
|
podMetadata:
|
||||||
labels:
|
labels:
|
||||||
|
alertmanager: main
|
||||||
app.kubernetes.io/component: alert-router
|
app.kubernetes.io/component: alert-router
|
||||||
app.kubernetes.io/name: alertmanager
|
app.kubernetes.io/name: alertmanager
|
||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ metadata:
|
|||||||
app.kubernetes.io/name: alertmanager
|
app.kubernetes.io/name: alertmanager
|
||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 0.23.0
|
app.kubernetes.io/version: 0.23.0
|
||||||
name: alertmanager
|
name: alertmanager-main
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
spec:
|
spec:
|
||||||
endpoints:
|
endpoints:
|
||||||
|
|||||||
@@ -1,7 +1,13 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: exporter
|
||||||
|
app.kubernetes.io/name: blackbox-exporter
|
||||||
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
|
app.kubernetes.io/version: 0.19.0
|
||||||
name: blackbox-exporter
|
name: blackbox-exporter
|
||||||
|
namespace: monitoring
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: exporter
|
||||||
|
app.kubernetes.io/name: blackbox-exporter
|
||||||
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
|
app.kubernetes.io/version: 0.19.0
|
||||||
name: blackbox-exporter
|
name: blackbox-exporter
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ kind: ServiceMonitor
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: apiserver
|
app.kubernetes.io/name: apiserver
|
||||||
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
name: kube-apiserver
|
name: kube-apiserver
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
spec:
|
spec:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ kind: ServiceMonitor
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: coredns
|
app.kubernetes.io/name: coredns
|
||||||
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
name: coredns
|
name: coredns
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
spec:
|
spec:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ kind: ServiceMonitor
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: kube-controller-manager
|
app.kubernetes.io/name: kube-controller-manager
|
||||||
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
name: kube-controller-manager
|
name: kube-controller-manager
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
spec:
|
spec:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ kind: ServiceMonitor
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: kube-scheduler
|
app.kubernetes.io/name: kube-scheduler
|
||||||
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
name: kube-scheduler
|
name: kube-scheduler
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
spec:
|
spec:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ kind: ServiceMonitor
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: kubelet
|
app.kubernetes.io/name: kubelet
|
||||||
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
name: kubelet
|
name: kubelet
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
spec:
|
spec:
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 1.2.2
|
app.kubernetes.io/version: 1.2.2
|
||||||
name: node-exporter
|
name: node-exporter
|
||||||
|
namespace: monitoring
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- authentication.k8s.io
|
- authentication.k8s.io
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 1.2.2
|
app.kubernetes.io/version: 1.2.2
|
||||||
name: node-exporter
|
name: node-exporter
|
||||||
|
namespace: monitoring
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 0.9.1
|
app.kubernetes.io/version: 0.9.1
|
||||||
name: prometheus-adapter
|
name: prometheus-adapter
|
||||||
|
namespace: monitoring
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ metadata:
|
|||||||
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
||||||
rbac.authorization.k8s.io/aggregate-to-view: "true"
|
rbac.authorization.k8s.io/aggregate-to-view: "true"
|
||||||
name: system:aggregated-metrics-reader
|
name: system:aggregated-metrics-reader
|
||||||
|
namespace: monitoring
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- metrics.k8s.io
|
- metrics.k8s.io
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 0.9.1
|
app.kubernetes.io/version: 0.9.1
|
||||||
name: prometheus-adapter
|
name: prometheus-adapter
|
||||||
|
namespace: monitoring
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 0.9.1
|
app.kubernetes.io/version: 0.9.1
|
||||||
name: resource-metrics:system:auth-delegator
|
name: resource-metrics:system:auth-delegator
|
||||||
|
namespace: monitoring
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 0.9.1
|
app.kubernetes.io/version: 0.9.1
|
||||||
name: resource-metrics-server-resources
|
name: resource-metrics-server-resources
|
||||||
|
namespace: monitoring
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- metrics.k8s.io
|
- metrics.k8s.io
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 2.30.3
|
app.kubernetes.io/version: 2.30.3
|
||||||
name: prometheus-k8s
|
name: prometheus-k8s
|
||||||
|
namespace: monitoring
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ metadata:
|
|||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 2.30.3
|
app.kubernetes.io/version: 2.30.3
|
||||||
name: prometheus-k8s
|
name: prometheus-k8s
|
||||||
|
namespace: monitoring
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ spec:
|
|||||||
app.kubernetes.io/name: prometheus
|
app.kubernetes.io/name: prometheus
|
||||||
app.kubernetes.io/part-of: kube-prometheus
|
app.kubernetes.io/part-of: kube-prometheus
|
||||||
app.kubernetes.io/version: 2.30.3
|
app.kubernetes.io/version: 2.30.3
|
||||||
|
prometheus: k8s
|
||||||
podMonitorNamespaceSelector: {}
|
podMonitorNamespaceSelector: {}
|
||||||
podMonitorSelector: {}
|
podMonitorSelector: {}
|
||||||
probeNamespaceSelector: {}
|
probeNamespaceSelector: {}
|
||||||
|
|||||||
Reference in New Issue
Block a user