diff --git a/jsonnet/kube-prometheus/addons/podsecuritypolicies.libsonnet b/jsonnet/kube-prometheus/addons/podsecuritypolicies.libsonnet index b072b9fbebe12ec2bddb3681f4101ef9f616086d..838db3bff62abb584d10489c51996fb31cf1b995 100644 --- a/jsonnet/kube-prometheus/addons/podsecuritypolicies.libsonnet +++ b/jsonnet/kube-prometheus/addons/podsecuritypolicies.libsonnet @@ -103,7 +103,7 @@ local restrictedPodSecurityPolicy = { podSecurityPolicy: local blackboxExporterPspPrivileged = - if $.blackboxExporter.config.privileged then + if $.blackboxExporter._config.privileged then { metadata+: { name: 'blackbox-exporter-psp', @@ -213,8 +213,8 @@ local restrictedPodSecurityPolicy = { hostPID: true, hostPorts: [ { - max: $.nodeExporter.config.port, - min: $.nodeExporter.config.port, + max: $.nodeExporter._config.port, + min: $.nodeExporter._config.port, }, ], readOnlyRootFilesystem: true, diff --git a/jsonnet/kube-prometheus/addons/weave-net/weave-net.libsonnet b/jsonnet/kube-prometheus/addons/weave-net/weave-net.libsonnet index 71596f4568aac7fcd46869dd3f84c8406ef9fd2d..d5cc9ead70a19b42b896d9a7a6ea2182a63cab42 100644 --- a/jsonnet/kube-prometheus/addons/weave-net/weave-net.libsonnet +++ b/jsonnet/kube-prometheus/addons/weave-net/weave-net.libsonnet @@ -52,9 +52,9 @@ apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: p.config.mixin.ruleLabels, + labels: p._config.mixin.ruleLabels, name: 'weave-net-rules', - namespace: p.config.namespace, + namespace: p._config.namespace, }, spec: { groups: [{ diff --git a/jsonnet/kube-prometheus/components/alertmanager.libsonnet b/jsonnet/kube-prometheus/components/alertmanager.libsonnet index 569ee82b094e088e05bdc5280a68a4cdd88fbdd7..60385669f933f16bf2f1aaa557e71ec83988e38a 100644 --- a/jsonnet/kube-prometheus/components/alertmanager.libsonnet +++ b/jsonnet/kube-prometheus/components/alertmanager.libsonnet @@ -72,23 +72,23 @@ local defaults = { function(params) { local am = self, - config:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(am.config.resources), - assert std.isObject(am.config.mixin._config), + assert std.isObject(am._config.resources), + assert std.isObject(am._config.mixin._config), mixin:: (import 'github.com/prometheus/alertmanager/doc/alertmanager-mixin/mixin.libsonnet') + (import 'github.com/kubernetes-monitoring/kubernetes-mixin/alerts/add-runbook-links.libsonnet') { - _config+:: am.config.mixin._config, + _config+:: am._config.mixin._config, }, prometheusRule: { apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: am.config.commonLabels + am.config.mixin.ruleLabels, - name: 'alertmanager-' + am.config.name + '-rules', - namespace: am.config.namespace, + labels: am._config.commonLabels + am._config.mixin.ruleLabels, + name: 'alertmanager-' + am._config.name + '-rules', + namespace: am._config.namespace, }, spec: { local r = if std.objectHasAll(am.mixin, 'prometheusRules') then am.mixin.prometheusRules.groups else [], @@ -102,16 +102,16 @@ function(params) { kind: 'Secret', type: 'Opaque', metadata: { - name: 'alertmanager-' + am.config.name, - namespace: am.config.namespace, - labels: { alertmanager: am.config.name } + am.config.commonLabels, + name: 'alertmanager-' + am._config.name, + namespace: am._config.namespace, + labels: { alertmanager: am._config.name } + am._config.commonLabels, }, stringData: { - 'alertmanager.yaml': if std.type(am.config.config) == 'object' + 'alertmanager.yaml': if std.type(am._config.config) == 'object' then - std.manifestYamlDoc(am.config.config) + std.manifestYamlDoc(am._config.config) else - am.config.config, + am._config.config, }, }, @@ -119,9 +119,9 @@ function(params) { apiVersion: 'v1', kind: 'ServiceAccount', metadata: { - name: 'alertmanager-' + am.config.name, - namespace: am.config.namespace, - labels: { alertmanager: am.config.name } + am.config.commonLabels, + name: 'alertmanager-' + am._config.name, + namespace: am._config.namespace, + labels: { alertmanager: am._config.name } + am._config.commonLabels, }, }, @@ -129,9 +129,9 @@ function(params) { apiVersion: 'v1', kind: 'Service', metadata: { - name: 'alertmanager-' + am.config.name, - namespace: am.config.namespace, - labels: { alertmanager: am.config.name } + am.config.commonLabels, + name: 'alertmanager-' + am._config.name, + namespace: am._config.namespace, + labels: { alertmanager: am._config.name } + am._config.commonLabels, }, spec: { ports: [ @@ -139,8 +139,8 @@ function(params) { ], selector: { app: 'alertmanager', - alertmanager: am.config.name, - } + am.config.selectorLabels, + alertmanager: am._config.name, + } + am._config.selectorLabels, sessionAffinity: 'ClientIP', }, }, @@ -150,14 +150,14 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'alertmanager', - namespace: am.config.namespace, - labels: am.config.commonLabels, + namespace: am._config.namespace, + labels: am._config.commonLabels, }, spec: { selector: { matchLabels: { - alertmanager: am.config.name, - } + am.config.selectorLabels, + alertmanager: am._config.name, + } + am._config.selectorLabels, }, endpoints: [ { port: 'web', interval: '30s' }, @@ -169,16 +169,16 @@ function(params) { apiVersion: 'policy/v1beta1', kind: 'PodDisruptionBudget', metadata: { - name: 'alertmanager-' + am.config.name, - namespace: am.config.namespace, - labels: am.config.commonLabels, + name: 'alertmanager-' + am._config.name, + namespace: am._config.namespace, + labels: am._config.commonLabels, }, spec: { maxUnavailable: 1, selector: { matchLabels: { - alertmanager: am.config.name, - } + am.config.selectorLabels, + alertmanager: am._config.name, + } + am._config.selectorLabels, }, }, }, @@ -187,22 +187,22 @@ function(params) { apiVersion: 'monitoring.coreos.com/v1', kind: 'Alertmanager', metadata: { - name: am.config.name, - namespace: am.config.namespace, + name: am._config.name, + namespace: am._config.namespace, labels: { - alertmanager: am.config.name, - } + am.config.commonLabels, + alertmanager: am._config.name, + } + am._config.commonLabels, }, spec: { - replicas: am.config.replicas, - version: am.config.version, - image: am.config.image, + replicas: am._config.replicas, + version: am._config.version, + image: am._config.image, podMetadata: { - labels: am.config.commonLabels, + labels: am._config.commonLabels, }, - resources: am.config.resources, + resources: am._config.resources, nodeSelector: { 'kubernetes.io/os': 'linux' }, - serviceAccountName: 'alertmanager-' + am.config.name, + serviceAccountName: 'alertmanager-' + am._config.name, securityContext: { runAsUser: 1000, runAsNonRoot: true, diff --git a/jsonnet/kube-prometheus/components/blackbox-exporter.libsonnet b/jsonnet/kube-prometheus/components/blackbox-exporter.libsonnet index faec2c61b6cfdd43d1cd88f1d1036319f23374dd..2bec003b5514861800850b761507b8b2e40e7d47 100644 --- a/jsonnet/kube-prometheus/components/blackbox-exporter.libsonnet +++ b/jsonnet/kube-prometheus/components/blackbox-exporter.libsonnet @@ -88,20 +88,20 @@ local defaults = { function(params) { local bb = self, - config:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(bb.config.resources), + assert std.isObject(bb._config.resources), configuration: { apiVersion: 'v1', kind: 'ConfigMap', metadata: { name: 'blackbox-exporter-configuration', - namespace: bb.config.namespace, - labels: bb.config.commonLabels, + namespace: bb._config.namespace, + labels: bb._config.commonLabels, }, data: { - 'config.yml': std.manifestYamlDoc({ modules: bb.config.modules }), + 'config.yml': std.manifestYamlDoc({ modules: bb._config.modules }), }, }, @@ -110,7 +110,7 @@ function(params) { kind: 'ServiceAccount', metadata: { name: 'blackbox-exporter', - namespace: bb.config.namespace, + namespace: bb._config.namespace, }, }, @@ -148,24 +148,24 @@ function(params) { subjects: [{ kind: 'ServiceAccount', name: 'blackbox-exporter', - namespace: bb.config.namespace, + namespace: bb._config.namespace, }], }, deployment: local blackboxExporter = { name: 'blackbox-exporter', - image: bb.config.image, + image: bb._config.image, args: [ '--config.file=/etc/blackbox_exporter/config.yml', - '--web.listen-address=:%d' % bb.config.internalPort, + '--web.listen-address=:%d' % bb._config.internalPort, ], ports: [{ name: 'http', - containerPort: bb.config.internalPort, + containerPort: bb._config.internalPort, }], - resources: bb.config.resources, - securityContext: if bb.config.privileged then { + resources: bb._config.resources, + securityContext: if bb._config.privileged then { runAsNonRoot: false, capabilities: { drop: ['ALL'], add: ['NET_RAW'] }, } else { @@ -181,12 +181,12 @@ function(params) { local reloader = { name: 'module-configmap-reloader', - image: bb.config.configmapReloaderImage, + image: bb._config.configmapReloaderImage, args: [ - '--webhook-url=http://localhost:%d/-/reload' % bb.config.internalPort, + '--webhook-url=http://localhost:%d/-/reload' % bb._config.internalPort, '--volume-dir=/etc/blackbox_exporter/', ], - resources: bb.config.resources, + resources: bb._config.resources, securityContext: { runAsNonRoot: true, runAsUser: 65534 }, terminationMessagePath: '/dev/termination-log', terminationMessagePolicy: 'FallbackToLogsOnError', @@ -199,10 +199,10 @@ function(params) { local kubeRbacProxy = krp({ name: 'kube-rbac-proxy', - upstream: 'http://127.0.0.1:' + bb.config.internalPort + '/', - secureListenAddress: ':' + bb.config.port, + upstream: 'http://127.0.0.1:' + bb._config.internalPort + '/', + secureListenAddress: ':' + bb._config.port, ports: [ - { name: 'https', containerPort: bb.config.port }, + { name: 'https', containerPort: bb._config.port }, ], }); @@ -211,14 +211,14 @@ function(params) { kind: 'Deployment', metadata: { name: 'blackbox-exporter', - namespace: bb.config.namespace, - labels: bb.config.commonLabels, + namespace: bb._config.namespace, + labels: bb._config.commonLabels, }, spec: { - replicas: bb.config.replicas, - selector: { matchLabels: bb.config.selectorLabels }, + replicas: bb._config.replicas, + selector: { matchLabels: bb._config.selectorLabels }, template: { - metadata: { labels: bb.config.commonLabels }, + metadata: { labels: bb._config.commonLabels }, spec: { containers: [blackboxExporter, reloader, kubeRbacProxy], nodeSelector: { 'kubernetes.io/os': 'linux' }, @@ -237,20 +237,20 @@ function(params) { kind: 'Service', metadata: { name: 'blackbox-exporter', - namespace: bb.config.namespace, - labels: bb.config.commonLabels, + namespace: bb._config.namespace, + labels: bb._config.commonLabels, }, spec: { ports: [{ name: 'https', - port: bb.config.port, + port: bb._config.port, targetPort: 'https', }, { name: 'probe', - port: bb.config.internalPort, + port: bb._config.internalPort, targetPort: 'http', }], - selector: bb.config.selectorLabels, + selector: bb._config.selectorLabels, }, }, @@ -260,8 +260,8 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'blackbox-exporter', - namespace: bb.config.namespace, - labels: bb.config.commonLabels, + namespace: bb._config.namespace, + labels: bb._config.commonLabels, }, spec: { endpoints: [{ @@ -275,7 +275,7 @@ function(params) { }, }], selector: { - matchLabels: bb.config.selectorLabels, + matchLabels: bb._config.selectorLabels, }, }, }, diff --git a/jsonnet/kube-prometheus/components/grafana.libsonnet b/jsonnet/kube-prometheus/components/grafana.libsonnet index faf9025801d9034cbd2c1d0f7ec6eeac24dd9440..5d2eeb5be864d4114b38125f0bd6a103cd25727e 100644 --- a/jsonnet/kube-prometheus/components/grafana.libsonnet +++ b/jsonnet/kube-prometheus/components/grafana.libsonnet @@ -33,35 +33,35 @@ local defaults = { function(params) { local g = self, - cfg:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(g.cfg.resources), + assert std.isObject(g._config.resources), local glib = (import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet') + { _config+:: { - namespace: g.cfg.namespace, + namespace: g._config.namespace, versions+:: { - grafana: g.cfg.version, + grafana: g._config.version, }, imageRepos+:: { - grafana: g.cfg.imageRepos, + grafana: g._config.imageRepos, }, prometheus+:: { - name: g.cfg.prometheusName, + name: g._config.prometheusName, }, grafana+:: { - labels: g.cfg.commonLabels, - dashboards: g.cfg.dashboards, - resources: g.cfg.resources, - rawDashboards: g.cfg.rawDashboards, - folderDashboards: g.cfg.folderDashboards, - containers: g.cfg.containers, - config+: g.cfg.config, - plugins+: g.cfg.plugins, + labels: g._config.commonLabels, + dashboards: g._config.dashboards, + resources: g._config.resources, + rawDashboards: g._config.rawDashboards, + folderDashboards: g._config.folderDashboards, + containers: g._config.containers, + config+: g._config.config, + plugins+: g._config.plugins, } + ( // Conditionally overwrite default setting. - if std.length(g.cfg.datasources) > 0 then - { datasources: g.cfg.datasources } + if std.length(g._config.datasources) > 0 then + { datasources: g._config.datasources } else {} ), }, @@ -75,7 +75,7 @@ function(params) { dashboardDatasources: glib.grafana.dashboardDatasources, dashboardSources: glib.grafana.dashboardSources, - dashboardDefinitions: if std.length(g.cfg.dashboards) > 0 then { + dashboardDefinitions: if std.length(g._config.dashboards) > 0 then { apiVersion: 'v1', kind: 'ConfigMapList', items: glib.grafana.dashboardDefinitions, @@ -85,8 +85,8 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'grafana', - namespace: g.cfg.namespace, - labels: g.cfg.commonLabels, + namespace: g._config.namespace, + labels: g._config.commonLabels, }, spec: { selector: { diff --git a/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet b/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet index dd2282db59c31cd8aa330241e3a6b63ace72875e..fdc6e49a546db33b4aa2a53864d880bfac81473f 100644 --- a/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet +++ b/jsonnet/kube-prometheus/components/k8s-control-plane.libsonnet @@ -26,19 +26,19 @@ local defaults = { function(params) { local k8s = self, - config:: defaults + params, + _config:: defaults + params, mixin:: (import 'github.com/kubernetes-monitoring/kubernetes-mixin/mixin.libsonnet') { - _config+:: k8s.config.mixin._config, + _config+:: k8s._config.mixin._config, }, prometheusRule: { apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: k8s.config.commonLabels + k8s.config.mixin.ruleLabels, + labels: k8s._config.commonLabels + k8s._config.mixin.ruleLabels, name: 'kubernetes-monitoring-rules', - namespace: k8s.config.namespace, + namespace: k8s._config.namespace, }, spec: { local r = if std.objectHasAll(k8s.mixin, 'prometheusRules') then k8s.mixin.prometheusRules.groups else {}, @@ -52,7 +52,7 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'kube-scheduler', - namespace: k8s.config.namespace, + namespace: k8s._config.namespace, labels: { 'app.kubernetes.io/name': 'kube-scheduler' }, }, spec: { @@ -78,7 +78,7 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'kubelet', - namespace: k8s.config.namespace, + namespace: k8s._config.namespace, labels: { 'app.kubernetes.io/name': 'kubelet' }, }, spec: { @@ -150,7 +150,7 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'kube-controller-manager', - namespace: k8s.config.namespace, + namespace: k8s._config.namespace, labels: { 'app.kubernetes.io/name': 'kube-controller-manager' }, }, spec: { @@ -185,7 +185,7 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'kube-apiserver', - namespace: k8s.config.namespace, + namespace: k8s._config.namespace, labels: { 'app.kubernetes.io/name': 'apiserver' }, }, spec: { @@ -239,7 +239,7 @@ function(params) { kind: 'ServiceMonitor', metadata: { name: 'coredns', - namespace: k8s.config.namespace, + namespace: k8s._config.namespace, labels: { 'app.kubernetes.io/name': 'coredns' }, }, spec: { diff --git a/jsonnet/kube-prometheus/components/kube-rbac-proxy.libsonnet b/jsonnet/kube-prometheus/components/kube-rbac-proxy.libsonnet index bc4bf7ffbe9250497313c03d1b8a62d236421f5b..faec1f4074812063a6c01d62aa9efc01f42ffc0f 100644 --- a/jsonnet/kube-prometheus/components/kube-rbac-proxy.libsonnet +++ b/jsonnet/kube-prometheus/components/kube-rbac-proxy.libsonnet @@ -41,20 +41,20 @@ local defaults = { function(params) { local krp = self, - config:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(krp.config.resources), + assert std.isObject(krp._config.resources), - name: krp.config.name, - image: krp.config.image, + name: krp._config.name, + image: krp._config.image, args: [ '--logtostderr', - '--secure-listen-address=' + krp.config.secureListenAddress, - '--tls-cipher-suites=' + std.join(',', krp.config.tlsCipherSuites), - '--upstream=' + krp.config.upstream, + '--secure-listen-address=' + krp._config.secureListenAddress, + '--tls-cipher-suites=' + std.join(',', krp._config.tlsCipherSuites), + '--upstream=' + krp._config.upstream, ], - resources: krp.config.resources, - ports: krp.config.ports, + resources: krp._config.resources, + ports: krp._config.ports, securityContext: { runAsUser: 65532, runAsGroup: 65532, diff --git a/jsonnet/kube-prometheus/components/kube-state-metrics.libsonnet b/jsonnet/kube-prometheus/components/kube-state-metrics.libsonnet index b4520a0ca064ef7d169fee5b13c40734d10b2819..c9b5820f5b1317a625fa8d601279d55c5d56e68c 100644 --- a/jsonnet/kube-prometheus/components/kube-state-metrics.libsonnet +++ b/jsonnet/kube-prometheus/components/kube-state-metrics.libsonnet @@ -35,30 +35,30 @@ local defaults = { function(params) (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-metrics/kube-state-metrics.libsonnet') { local ksm = self, - config:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(ksm.config.resources), - assert std.isObject(ksm.config.mixin._config), + assert std.isObject(ksm._config.resources), + assert std.isObject(ksm._config.mixin._config), - name:: ksm.config.name, - namespace:: ksm.config.namespace, - version:: ksm.config.version, - image:: ksm.config.image, - commonLabels:: ksm.config.commonLabels, - podLabels:: ksm.config.selectorLabels, + name:: ksm._config.name, + namespace:: ksm._config.namespace, + version:: ksm._config.version, + image:: ksm._config.image, + commonLabels:: ksm._config.commonLabels, + podLabels:: ksm._config.selectorLabels, mixin:: (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-metrics-mixin/mixin.libsonnet') + (import 'github.com/kubernetes-monitoring/kubernetes-mixin/alerts/add-runbook-links.libsonnet') { - _config+:: ksm.config.mixin._config, + _config+:: ksm._config.mixin._config, }, prometheusRule: { apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: ksm.config.commonLabels + ksm.config.mixin.ruleLabels, - name: ksm.config.name + '-rules', - namespace: ksm.config.namespace, + labels: ksm._config.commonLabels + ksm._config.mixin.ruleLabels, + name: ksm._config.name + '-rules', + namespace: ksm._config.namespace, }, spec: { local r = if std.objectHasAll(ksm.mixin, 'prometheusRules') then ksm.mixin.prometheusRules.groups else [], @@ -115,7 +115,7 @@ function(params) (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube- livenessProbe:: null, readinessProbe:: null, args: ['--host=127.0.0.1', '--port=8081', '--telemetry-host=127.0.0.1', '--telemetry-port=8082'], - resources: ksm.config.resources, + resources: ksm._config.resources, }, super.containers) + [kubeRbacProxyMain, kubeRbacProxySelf], }, }, @@ -127,18 +127,18 @@ function(params) (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube- kind: 'ServiceMonitor', metadata: { name: ksm.name, - namespace: ksm.config.namespace, - labels: ksm.config.commonLabels, + namespace: ksm._config.namespace, + labels: ksm._config.commonLabels, }, spec: { jobLabel: 'app.kubernetes.io/name', - selector: { matchLabels: ksm.config.selectorLabels }, + selector: { matchLabels: ksm._config.selectorLabels }, endpoints: [ { port: 'https-main', scheme: 'https', - interval: ksm.config.scrapeInterval, - scrapeTimeout: ksm.config.scrapeTimeout, + interval: ksm._config.scrapeInterval, + scrapeTimeout: ksm._config.scrapeTimeout, honorLabels: true, bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token', relabelings: [ @@ -154,7 +154,7 @@ function(params) (import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube- { port: 'https-self', scheme: 'https', - interval: ksm.config.scrapeInterval, + interval: ksm._config.scrapeInterval, bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token', tlsConfig: { insecureSkipVerify: true, diff --git a/jsonnet/kube-prometheus/components/mixin/custom.libsonnet b/jsonnet/kube-prometheus/components/mixin/custom.libsonnet index d4f3d9d2d4c1402b950239ee69892929f60394c7..b32f9469f2a5a659e58d9818d9e335ce6f94249b 100644 --- a/jsonnet/kube-prometheus/components/mixin/custom.libsonnet +++ b/jsonnet/kube-prometheus/components/mixin/custom.libsonnet @@ -18,22 +18,22 @@ local defaults = { function(params) { local m = self, - config:: defaults + params, + _config:: defaults + params, local alertsandrules = (import './alerts/alerts.libsonnet') + (import './rules/rules.libsonnet'), mixin:: alertsandrules + (import 'github.com/kubernetes-monitoring/kubernetes-mixin/alerts/add-runbook-links.libsonnet') { - _config+:: m.config.mixin._config, + _config+:: m._config.mixin._config, }, prometheusRule: { apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: m.config.commonLabels + m.config.mixin.ruleLabels, - name: m.config.name + '-rules', - namespace: m.config.namespace, + labels: m._config.commonLabels + m._config.mixin.ruleLabels, + name: m._config.name + '-rules', + namespace: m._config.namespace, }, spec: { local r = if std.objectHasAll(m.mixin, 'prometheusRules') then m.mixin.prometheusRules.groups else [], diff --git a/jsonnet/kube-prometheus/components/node-exporter.libsonnet b/jsonnet/kube-prometheus/components/node-exporter.libsonnet index c5c8b9714f6cafdc1631887b5db5c52b017efc45..0f07f8af7b19997a0e637a7c180f2509377f89df 100644 --- a/jsonnet/kube-prometheus/components/node-exporter.libsonnet +++ b/jsonnet/kube-prometheus/components/node-exporter.libsonnet @@ -37,23 +37,23 @@ local defaults = { function(params) { local ne = self, - config:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(ne.config.resources), - assert std.isObject(ne.config.mixin._config), + assert std.isObject(ne._config.resources), + assert std.isObject(ne._config.mixin._config), mixin:: (import 'github.com/prometheus/node_exporter/docs/node-mixin/mixin.libsonnet') + (import 'github.com/kubernetes-monitoring/kubernetes-mixin/alerts/add-runbook-links.libsonnet') { - _config+:: ne.config.mixin._config, + _config+:: ne._config.mixin._config, }, prometheusRule: { apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: ne.config.commonLabels + ne.config.mixin.ruleLabels, - name: ne.config.name + '-rules', - namespace: ne.config.namespace, + labels: ne._config.commonLabels + ne._config.mixin.ruleLabels, + name: ne._config.name + '-rules', + namespace: ne._config.namespace, }, spec: { local r = if std.objectHasAll(ne.mixin, 'prometheusRules') then ne.mixin.prometheusRules.groups else [], @@ -66,18 +66,18 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'ClusterRoleBinding', metadata: { - name: ne.config.name, - labels: ne.config.commonLabels, + name: ne._config.name, + labels: ne._config.commonLabels, }, roleRef: { apiGroup: 'rbac.authorization.k8s.io', kind: 'ClusterRole', - name: ne.config.name, + name: ne._config.name, }, subjects: [{ kind: 'ServiceAccount', - name: ne.config.name, - namespace: ne.config.namespace, + name: ne._config.name, + namespace: ne._config.namespace, }], }, @@ -85,8 +85,8 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'ClusterRole', metadata: { - name: ne.config.name, - labels: ne.config.commonLabels, + name: ne._config.name, + labels: ne._config.commonLabels, }, rules: [ { @@ -106,9 +106,9 @@ function(params) { apiVersion: 'v1', kind: 'ServiceAccount', metadata: { - name: ne.config.name, - namespace: ne.config.namespace, - labels: ne.config.commonLabels, + name: ne._config.name, + namespace: ne._config.namespace, + labels: ne._config.commonLabels, }, }, @@ -116,15 +116,15 @@ function(params) { apiVersion: 'v1', kind: 'Service', metadata: { - name: ne.config.name, - namespace: ne.config.namespace, - labels: ne.config.commonLabels, + name: ne._config.name, + namespace: ne._config.namespace, + labels: ne._config.commonLabels, }, spec: { ports: [ - { name: 'https', targetPort: 'https', port: ne.config.port }, + { name: 'https', targetPort: 'https', port: ne._config.port }, ], - selector: ne.config.selectorLabels, + selector: ne._config.selectorLabels, clusterIP: 'None', }, }, @@ -133,14 +133,14 @@ function(params) { apiVersion: 'monitoring.coreos.com/v1', kind: 'ServiceMonitor', metadata: { - name: ne.config.name, - namespace: ne.config.namespace, - labels: ne.config.commonLabels, + name: ne._config.name, + namespace: ne._config.namespace, + labels: ne._config.commonLabels, }, spec: { jobLabel: 'app.kubernetes.io/name', selector: { - matchLabels: ne.config.selectorLabels, + matchLabels: ne._config.selectorLabels, }, endpoints: [{ port: 'https', @@ -165,10 +165,10 @@ function(params) { daemonset: local nodeExporter = { - name: ne.config.name, - image: ne.config.image, + name: ne._config.name, + image: ne._config.image, args: [ - '--web.listen-address=' + std.join(':', [ne.config.listenAddress, std.toString(ne.config.port)]), + '--web.listen-address=' + std.join(':', [ne._config.listenAddress, std.toString(ne._config.port)]), '--path.sysfs=/host/sys', '--path.rootfs=/host/root', '--no-collector.wifi', @@ -181,14 +181,14 @@ function(params) { { name: 'sys', mountPath: '/host/sys', mountPropagation: 'HostToContainer', readOnly: true }, { name: 'root', mountPath: '/host/root', mountPropagation: 'HostToContainer', readOnly: true }, ], - resources: ne.config.resources, + resources: ne._config.resources, }; local kubeRbacProxy = krp({ name: 'kube-rbac-proxy', //image: krpImage, - upstream: 'http://127.0.0.1:' + ne.config.port + '/', - secureListenAddress: '[$(IP)]:' + ne.config.port, + upstream: 'http://127.0.0.1:' + ne._config.port + '/', + secureListenAddress: '[$(IP)]:' + ne._config.port, // Keep `hostPort` here, rather than in the node-exporter container // because Kubernetes mandates that if you define a `hostPort` then // `containerPort` must match. In our case, we are splitting the @@ -198,7 +198,7 @@ function(params) { // forgo declaring the host port, however it is important to declare // it so that the scheduler can decide if the pod is schedulable. ports: [ - { name: 'https', containerPort: ne.config.port, hostPort: ne.config.port }, + { name: 'https', containerPort: ne._config.port, hostPort: ne._config.port }, ], }) + { env: [ @@ -210,18 +210,18 @@ function(params) { apiVersion: 'apps/v1', kind: 'DaemonSet', metadata: { - name: ne.config.name, - namespace: ne.config.namespace, - labels: ne.config.commonLabels, + name: ne._config.name, + namespace: ne._config.namespace, + labels: ne._config.commonLabels, }, spec: { - selector: { matchLabels: ne.config.selectorLabels }, + selector: { matchLabels: ne._config.selectorLabels }, updateStrategy: { type: 'RollingUpdate', rollingUpdate: { maxUnavailable: '10%' }, }, template: { - metadata: { labels: ne.config.commonLabels }, + metadata: { labels: ne._config.commonLabels }, spec: { nodeSelector: { 'kubernetes.io/os': 'linux' }, tolerations: [{ @@ -232,7 +232,7 @@ function(params) { { name: 'sys', hostPath: { path: '/sys' } }, { name: 'root', hostPath: { path: '/' } }, ], - serviceAccountName: ne.config.name, + serviceAccountName: ne._config.name, securityContext: { runAsUser: 65534, runAsNonRoot: true, diff --git a/jsonnet/kube-prometheus/components/prometheus-adapter.libsonnet b/jsonnet/kube-prometheus/components/prometheus-adapter.libsonnet index 4bd3ea8af47b1bf0355f9121902be4814227e4f8..33b95d13e3a902cb7c6c3ff3e6ddf575f63258a2 100644 --- a/jsonnet/kube-prometheus/components/prometheus-adapter.libsonnet +++ b/jsonnet/kube-prometheus/components/prometheus-adapter.libsonnet @@ -56,21 +56,21 @@ local defaults = { function(params) { local pa = self, - config:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(pa.config.resources), + assert std.isObject(pa._config.resources), apiService: { apiVersion: 'apiregistration.k8s.io/v1', kind: 'APIService', metadata: { name: 'v1beta1.metrics.k8s.io', - labels: pa.config.commonLabels, + labels: pa._config.commonLabels, }, spec: { service: { name: $.service.metadata.name, - namespace: pa.config.namespace, + namespace: pa._config.namespace, }, group: 'metrics.k8s.io', version: 'v1beta1', @@ -85,23 +85,23 @@ function(params) { kind: 'ConfigMap', metadata: { name: 'adapter-config', - namespace: pa.config.namespace, - labels: pa.config.commonLabels, + namespace: pa._config.namespace, + labels: pa._config.commonLabels, }, - data: { 'config.yaml': std.manifestYamlDoc(pa.config.config) }, + data: { 'config.yaml': std.manifestYamlDoc(pa._config.config) }, }, serviceMonitor: { apiVersion: 'monitoring.coreos.com/v1', kind: 'ServiceMonitor', metadata: { - name: pa.config.name, - namespace: pa.config.namespace, - labels: pa.config.commonLabels, + name: pa._config.name, + namespace: pa._config.namespace, + labels: pa._config.commonLabels, }, spec: { selector: { - matchLabels: pa.config.selectorLabels, + matchLabels: pa._config.selectorLabels, }, endpoints: [ { @@ -121,28 +121,28 @@ function(params) { apiVersion: 'v1', kind: 'Service', metadata: { - name: pa.config.name, - namespace: pa.config.namespace, - labels: pa.config.commonLabels, + name: pa._config.name, + namespace: pa._config.namespace, + labels: pa._config.commonLabels, }, spec: { ports: [ { name: 'https', targetPort: 6443, port: 443 }, ], - selector: pa.config.selectorLabels, + selector: pa._config.selectorLabels, }, }, deployment: local c = { - name: pa.config.name, - image: pa.config.image, + name: pa._config.name, + image: pa._config.image, args: [ '--cert-dir=/var/run/serving-cert', '--config=/etc/adapter/config.yaml', '--logtostderr=true', '--metrics-relist-interval=1m', - '--prometheus-url=' + pa.config.prometheusURL, + '--prometheus-url=' + pa._config.prometheusURL, '--secure-port=6443', ], ports: [{ containerPort: 6443 }], @@ -157,13 +157,13 @@ function(params) { apiVersion: 'apps/v1', kind: 'Deployment', metadata: { - name: pa.config.name, - namespace: pa.config.namespace, - labels: pa.config.commonLabels, + name: pa._config.name, + namespace: pa._config.namespace, + labels: pa._config.commonLabels, }, spec: { replicas: 1, - selector: { matchLabels: pa.config.selectorLabels }, + selector: { matchLabels: pa._config.selectorLabels }, strategy: { rollingUpdate: { maxSurge: 1, @@ -171,7 +171,7 @@ function(params) { }, }, template: { - metadata: { labels: pa.config.commonLabels }, + metadata: { labels: pa._config.commonLabels }, spec: { containers: [c], serviceAccountName: $.serviceAccount.metadata.name, @@ -190,9 +190,9 @@ function(params) { apiVersion: 'v1', kind: 'ServiceAccount', metadata: { - name: pa.config.name, - namespace: pa.config.namespace, - labels: pa.config.commonLabels, + name: pa._config.name, + namespace: pa._config.namespace, + labels: pa._config.commonLabels, }, }, @@ -200,8 +200,8 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'ClusterRole', metadata: { - name: pa.config.name, - labels: pa.config.commonLabels, + name: pa._config.name, + labels: pa._config.commonLabels, }, rules: [{ apiGroups: [''], @@ -214,8 +214,8 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'ClusterRoleBinding', metadata: { - name: pa.config.name, - labels: pa.config.commonLabels, + name: pa._config.name, + labels: pa._config.commonLabels, }, roleRef: { apiGroup: 'rbac.authorization.k8s.io', @@ -225,7 +225,7 @@ function(params) { subjects: [{ kind: 'ServiceAccount', name: $.serviceAccount.metadata.name, - namespace: pa.config.namespace, + namespace: pa._config.namespace, }], }, @@ -234,7 +234,7 @@ function(params) { kind: 'ClusterRoleBinding', metadata: { name: 'resource-metrics:system:auth-delegator', - labels: pa.config.commonLabels, + labels: pa._config.commonLabels, }, roleRef: { apiGroup: 'rbac.authorization.k8s.io', @@ -244,7 +244,7 @@ function(params) { subjects: [{ kind: 'ServiceAccount', name: $.serviceAccount.metadata.name, - namespace: pa.config.namespace, + namespace: pa._config.namespace, }], }, @@ -253,7 +253,7 @@ function(params) { kind: 'ClusterRole', metadata: { name: 'resource-metrics-server-resources', - labels: pa.config.commonLabels, + labels: pa._config.commonLabels, }, rules: [{ apiGroups: ['metrics.k8s.io'], @@ -271,7 +271,7 @@ function(params) { 'rbac.authorization.k8s.io/aggregate-to-admin': 'true', 'rbac.authorization.k8s.io/aggregate-to-edit': 'true', 'rbac.authorization.k8s.io/aggregate-to-view': 'true', - } + pa.config.commonLabels, + } + pa._config.commonLabels, }, rules: [{ apiGroups: ['metrics.k8s.io'], @@ -286,7 +286,7 @@ function(params) { metadata: { name: 'resource-metrics-auth-reader', namespace: 'kube-system', - labels: pa.config.commonLabels, + labels: pa._config.commonLabels, }, roleRef: { apiGroup: 'rbac.authorization.k8s.io', @@ -296,7 +296,7 @@ function(params) { subjects: [{ kind: 'ServiceAccount', name: $.serviceAccount.metadata.name, - namespace: pa.config.namespace, + namespace: pa._config.namespace, }], }, } diff --git a/jsonnet/kube-prometheus/components/prometheus-operator.libsonnet b/jsonnet/kube-prometheus/components/prometheus-operator.libsonnet index 75bed255ece5bfbb80f05d7a93fa3b08cb81df2c..7b6d0a336d473598aebe6566fed03ba1fcf72fb6 100644 --- a/jsonnet/kube-prometheus/components/prometheus-operator.libsonnet +++ b/jsonnet/kube-prometheus/components/prometheus-operator.libsonnet @@ -42,18 +42,20 @@ function(params) prometheusOperator(config) { local po = self, + // declare variable as a field to allow overriding options and to have unified API across all components + _config:: config, mixin:: (import 'github.com/prometheus-operator/prometheus-operator/jsonnet/mixin/mixin.libsonnet') + (import 'github.com/kubernetes-monitoring/kubernetes-mixin/alerts/add-runbook-links.libsonnet') { - _config+:: config.mixin._config, + _config+:: po._config.mixin._config, }, prometheusRule: { apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: config.commonLabels + config.mixin.ruleLabels, - name: config.name + '-rules', - namespace: config.namespace, + labels: po._config.commonLabels + po._config.mixin.ruleLabels, + name: po._config.name + '-rules', + namespace: po._config.namespace, }, spec: { local r = if std.objectHasAll(po.mixin, 'prometheusRules') then po.mixin.prometheusRules.groups else [], diff --git a/jsonnet/kube-prometheus/components/prometheus.libsonnet b/jsonnet/kube-prometheus/components/prometheus.libsonnet index 8474428e160b12eccfd8c0a5a7e1041d21b33fa7..b3e919ff031aaaab62dc87bb0b52fb79a79e3af0 100644 --- a/jsonnet/kube-prometheus/components/prometheus.libsonnet +++ b/jsonnet/kube-prometheus/components/prometheus.libsonnet @@ -44,31 +44,31 @@ local defaults = { function(params) { local p = self, - config:: defaults + params, + _config:: defaults + params, // Safety check - assert std.isObject(p.config.resources), - assert std.isObject(p.config.mixin._config), + assert std.isObject(p._config.resources), + assert std.isObject(p._config.mixin._config), mixin:: (import 'github.com/prometheus/prometheus/documentation/prometheus-mixin/mixin.libsonnet') + (import 'github.com/kubernetes-monitoring/kubernetes-mixin/alerts/add-runbook-links.libsonnet') + ( - if p.config.thanos != {} then + if p._config.thanos != {} then (import 'github.com/thanos-io/thanos/mixin/alerts/sidecar.libsonnet') + { sidecar: { - selector: p.config.mixin._config.thanosSelector, + selector: p._config.mixin._config.thanosSelector, }, } else {} ) { - _config+:: p.config.mixin._config, + _config+:: p._config.mixin._config, }, prometheusRule: { apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: p.config.commonLabels + p.config.mixin.ruleLabels, - name: 'prometheus-' + p.config.name + '-prometheus-rules', - namespace: p.config.namespace, + labels: p._config.commonLabels + p._config.mixin.ruleLabels, + name: 'prometheus-' + p._config.name + '-prometheus-rules', + namespace: p._config.namespace, }, spec: { local r = if std.objectHasAll(p.mixin, 'prometheusRules') then p.mixin.prometheusRules.groups else [], @@ -81,9 +81,9 @@ function(params) { apiVersion: 'v1', kind: 'ServiceAccount', metadata: { - name: 'prometheus-' + p.config.name, - namespace: p.config.namespace, - labels: p.config.commonLabels, + name: 'prometheus-' + p._config.name, + namespace: p._config.namespace, + labels: p._config.commonLabels, }, }, @@ -91,20 +91,20 @@ function(params) { apiVersion: 'v1', kind: 'Service', metadata: { - name: 'prometheus-' + p.config.name, - namespace: p.config.namespace, - labels: { prometheus: p.config.name } + p.config.commonLabels, + name: 'prometheus-' + p._config.name, + namespace: p._config.namespace, + labels: { prometheus: p._config.name } + p._config.commonLabels, }, spec: { ports: [ { name: 'web', targetPort: 'web', port: 9090 }, ] + ( - if p.config.thanos != {} then + if p._config.thanos != {} then [{ name: 'grpc', port: 10901, targetPort: 10901 }] else [] ), - selector: { app: 'prometheus' } + p.config.selectorLabels, + selector: { app: 'prometheus' } + p._config.selectorLabels, sessionAffinity: 'ClientIP', }, }, @@ -114,33 +114,33 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'RoleBinding', metadata: { - name: 'prometheus-' + p.config.name, + name: 'prometheus-' + p._config.name, namespace: namespace, - labels: p.config.commonLabels, + labels: p._config.commonLabels, }, roleRef: { apiGroup: 'rbac.authorization.k8s.io', kind: 'Role', - name: 'prometheus-' + p.config.name, + name: 'prometheus-' + p._config.name, }, subjects: [{ kind: 'ServiceAccount', - name: 'prometheus-' + p.config.name, - namespace: p.config.namespace, + name: 'prometheus-' + p._config.name, + namespace: p._config.namespace, }], }; { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'RoleBindingList', - items: [newSpecificRoleBinding(x) for x in p.config.namespaces], + items: [newSpecificRoleBinding(x) for x in p._config.namespaces], }, clusterRole: { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'ClusterRole', metadata: { - name: 'prometheus-' + p.config.name, - labels: p.config.commonLabels, + name: 'prometheus-' + p._config.name, + labels: p._config.commonLabels, }, rules: [ { @@ -159,9 +159,9 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'Role', metadata: { - name: 'prometheus-' + p.config.name + '-config', - namespace: p.config.namespace, - labels: p.config.commonLabels, + name: 'prometheus-' + p._config.name + '-config', + namespace: p._config.namespace, + labels: p._config.commonLabels, }, rules: [{ apiGroups: [''], @@ -174,19 +174,19 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'RoleBinding', metadata: { - name: 'prometheus-' + p.config.name + '-config', - namespace: p.config.namespace, - labels: p.config.commonLabels, + name: 'prometheus-' + p._config.name + '-config', + namespace: p._config.namespace, + labels: p._config.commonLabels, }, roleRef: { apiGroup: 'rbac.authorization.k8s.io', kind: 'Role', - name: 'prometheus-' + p.config.name + '-config', + name: 'prometheus-' + p._config.name + '-config', }, subjects: [{ kind: 'ServiceAccount', - name: 'prometheus-' + p.config.name, - namespace: p.config.namespace, + name: 'prometheus-' + p._config.name, + namespace: p._config.namespace, }], }, @@ -194,18 +194,18 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'ClusterRoleBinding', metadata: { - name: 'prometheus-' + p.config.name, - labels: p.config.commonLabels, + name: 'prometheus-' + p._config.name, + labels: p._config.commonLabels, }, roleRef: { apiGroup: 'rbac.authorization.k8s.io', kind: 'ClusterRole', - name: 'prometheus-' + p.config.name, + name: 'prometheus-' + p._config.name, }, subjects: [{ kind: 'ServiceAccount', - name: 'prometheus-' + p.config.name, - namespace: p.config.namespace, + name: 'prometheus-' + p._config.name, + namespace: p._config.namespace, }], }, @@ -214,9 +214,9 @@ function(params) { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'Role', metadata: { - name: 'prometheus-' + p.config.name, + name: 'prometheus-' + p._config.name, namespace: namespace, - labels: p.config.commonLabels, + labels: p._config.commonLabels, }, rules: [ { @@ -239,23 +239,23 @@ function(params) { { apiVersion: 'rbac.authorization.k8s.io/v1', kind: 'RoleList', - items: [newSpecificRole(x) for x in p.config.namespaces], + items: [newSpecificRole(x) for x in p._config.namespaces], }, [if (defaults + params).replicas > 1 then 'podDisruptionBudget']: { apiVersion: 'policy/v1beta1', kind: 'PodDisruptionBudget', metadata: { - name: 'prometheus-' + p.config.name, - namespace: p.config.namespace, - labels: p.config.commonLabels, + name: 'prometheus-' + p._config.name, + namespace: p._config.namespace, + labels: p._config.commonLabels, }, spec: { minAvailable: 1, selector: { matchLabels: { - prometheus: p.config.name, - } + p.config.selectorLabels, + prometheus: p._config.name, + } + p._config.selectorLabels, }, }, }, @@ -264,19 +264,19 @@ function(params) { apiVersion: 'monitoring.coreos.com/v1', kind: 'Prometheus', metadata: { - name: p.config.name, - namespace: p.config.namespace, - labels: { prometheus: p.config.name } + p.config.commonLabels, + name: p._config.name, + namespace: p._config.namespace, + labels: { prometheus: p._config.name } + p._config.commonLabels, }, spec: { - replicas: p.config.replicas, - version: p.config.version, - image: p.config.image, + replicas: p._config.replicas, + version: p._config.version, + image: p._config.image, podMetadata: { - labels: p.config.commonLabels, + labels: p._config.commonLabels, }, - externalLabels: p.config.externalLabels, - serviceAccountName: 'prometheus-' + p.config.name, + externalLabels: p._config.externalLabels, + serviceAccountName: 'prometheus-' + p._config.name, serviceMonitorSelector: {}, podMonitorSelector: {}, probeSelector: {}, @@ -284,12 +284,12 @@ function(params) { podMonitorNamespaceSelector: {}, probeNamespaceSelector: {}, nodeSelector: { 'kubernetes.io/os': 'linux' }, - ruleSelector: p.config.ruleSelector, - resources: p.config.resources, + ruleSelector: p._config.ruleSelector, + resources: p._config.resources, alerting: { alertmanagers: [{ - namespace: p.config.namespace, - name: 'alertmanager-' + p.config.alertmanagerName, + namespace: p._config.namespace, + name: 'alertmanager-' + p._config.alertmanagerName, port: 'web', apiVersion: 'v2', }], @@ -299,7 +299,7 @@ function(params) { runAsNonRoot: true, fsGroup: 2000, }, - [if std.objectHas(params, 'thanos') then 'thanos']: p.config.thanos, + [if std.objectHas(params, 'thanos') then 'thanos']: p._config.thanos, }, }, @@ -307,13 +307,13 @@ function(params) { apiVersion: 'monitoring.coreos.com/v1', kind: 'ServiceMonitor', metadata: { - name: 'prometheus-' + p.config.name, - namespace: p.config.namespace, - labels: p.config.commonLabels, + name: 'prometheus-' + p._config.name, + namespace: p._config.namespace, + labels: p._config.commonLabels, }, spec: { selector: { - matchLabels: p.config.selectorLabels, + matchLabels: p._config.selectorLabels, }, endpoints: [{ port: 'web', @@ -327,10 +327,10 @@ function(params) { apiVersion: 'v1', kind: 'Service', metadata+: { - name: 'prometheus-' + p.config.name + '-thanos-sidecar', - namespace: p.config.namespace, - labels+: p.config.commonLabels { - prometheus: p.config.name, + name: 'prometheus-' + p._config.name + '-thanos-sidecar', + namespace: p._config.namespace, + labels+: p._config.commonLabels { + prometheus: p._config.name, 'app.kubernetes.io/component': 'thanos-sidecar', }, }, @@ -339,8 +339,8 @@ function(params) { { name: 'grpc', port: 10901, targetPort: 10901 }, { name: 'http', port: 10902, targetPort: 10902 }, ], - selector: p.config.selectorLabels { - prometheus: p.config.name, + selector: p._config.selectorLabels { + prometheus: p._config.name, 'app.kubernetes.io/component': 'prometheus', }, clusterIP: 'None', @@ -353,9 +353,9 @@ function(params) { kind: 'ServiceMonitor', metadata+: { name: 'thanos-sidecar', - namespace: p.config.namespace, - labels: p.config.commonLabels { - prometheus: p.config.name, + namespace: p._config.namespace, + labels: p._config.commonLabels { + prometheus: p._config.name, 'app.kubernetes.io/component': 'thanos-sidecar', }, }, @@ -363,7 +363,7 @@ function(params) { jobLabel: 'app.kubernetes.io/component', selector: { matchLabels: { - prometheus: p.config.name, + prometheus: p._config.name, 'app.kubernetes.io/component': 'thanos-sidecar', }, }, diff --git a/jsonnet/kube-prometheus/platforms/eks.libsonnet b/jsonnet/kube-prometheus/platforms/eks.libsonnet index 815c1234d1b6bc6e61c981b06dbb70d7d904269a..9fa5575061937072e9f0fe9ea7af3fe370d2714a 100644 --- a/jsonnet/kube-prometheus/platforms/eks.libsonnet +++ b/jsonnet/kube-prometheus/platforms/eks.libsonnet @@ -69,9 +69,9 @@ apiVersion: 'monitoring.coreos.com/v1', kind: 'PrometheusRule', metadata: { - labels: $.prometheus.config.commonLabels + $.prometheus.config.mixin.ruleLabels, + labels: $.prometheus._config.commonLabels + $.prometheus._config.mixin.ruleLabels, name: 'eks-rules', - namespace: $.prometheus.config.namespace, + namespace: $.prometheus._config.namespace, }, spec: { groups: [