diff --git a/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet b/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet index 677c788974c1ef50f5dd91ec448746ddc1466a0d..6c9acdaed438ca786d55cd80219f559252167105 100644 --- a/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet +++ b/jsonnet/kube-prometheus/alertmanager/alertmanager.libsonnet @@ -98,52 +98,50 @@ }, }, - serviceMonitor: - { - apiVersion: 'monitoring.coreos.com/v1', - kind: 'ServiceMonitor', - metadata: { - name: 'alertmanager', - namespace: $._config.namespace, - labels: { - 'k8s-app': 'alertmanager', - }, + serviceMonitor: { + apiVersion: 'monitoring.coreos.com/v1', + kind: 'ServiceMonitor', + metadata: { + name: 'alertmanager', + namespace: $._config.namespace, + labels: { + 'k8s-app': 'alertmanager', }, - spec: { - selector: { - matchLabels: { - alertmanager: $._config.alertmanager.name, - }, + }, + spec: { + selector: { + matchLabels: { + alertmanager: $._config.alertmanager.name, }, - endpoints: [ - { port: 'web', interval: '30s' }, - ], }, + endpoints: [ + { port: 'web', interval: '30s' }, + ], }, + }, - alertmanager: - { - apiVersion: 'monitoring.coreos.com/v1', - kind: 'Alertmanager', - metadata: { - name: $._config.alertmanager.name, - namespace: $._config.namespace, - labels: { - alertmanager: $._config.alertmanager.name, - }, + alertmanager: { + apiVersion: 'monitoring.coreos.com/v1', + kind: 'Alertmanager', + metadata: { + name: $._config.alertmanager.name, + namespace: $._config.namespace, + labels: { + alertmanager: $._config.alertmanager.name, }, - spec: { - replicas: $._config.alertmanager.replicas, - version: $._config.versions.alertmanager, - image: $._config.imageRepos.alertmanager + ':' + $._config.versions.alertmanager, - nodeSelector: { 'kubernetes.io/os': 'linux' }, - serviceAccountName: 'alertmanager-' + $._config.alertmanager.name, - securityContext: { - runAsUser: 1000, - runAsNonRoot: true, - fsGroup: 2000, - }, + }, + spec: { + replicas: $._config.alertmanager.replicas, + version: $._config.versions.alertmanager, + image: $._config.imageRepos.alertmanager + ':' + $._config.versions.alertmanager, + nodeSelector: { 'kubernetes.io/os': 'linux' }, + serviceAccountName: 'alertmanager-' + $._config.alertmanager.name, + securityContext: { + runAsUser: 1000, + runAsNonRoot: true, + fsGroup: 2000, }, }, + }, }, } diff --git a/jsonnet/kube-prometheus/jsonnetfile.json b/jsonnet/kube-prometheus/jsonnetfile.json index 7c74b15ef9f71da16eaacea1ad44c93bacd5bbbc..b495d05ab3ed908dbf9ec155e706c5a5273c222b 100644 --- a/jsonnet/kube-prometheus/jsonnetfile.json +++ b/jsonnet/kube-prometheus/jsonnetfile.json @@ -37,16 +37,6 @@ }, "version": "master" }, - { - "source": { - "git": { - "remote": "https://github.com/ksonnet/ksonnet-lib", - "subdir": "" - } - }, - "version": "master", - "name": "ksonnet" - }, { "source": { "git": { diff --git a/jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet index ad2784076d0624b86a191cc8b8a82bb7cace31f9..ff8fd2979f506e96ec0c464f4435a19044ed7c20 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-config-mixins.libsonnet @@ -9,9 +9,9 @@ local withImageRepository(repository) = { if repository == null then image else repository + '/' + l.imageName(image), _config+:: { imageRepos:: { - [field]: substituteRepository(oldRepos[field], repository), + [field]: substituteRepository(oldRepos[field], repository) for field in std.objectFields(oldRepos) - } + }, }, }; diff --git a/jsonnet/kube-prometheus/kube-prometheus-custom-metrics.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-custom-metrics.libsonnet index b0240ec31c8dfcacb9d1930ff59a1a8b1531383d..d98b133f93b925f88ab65d7a446e914a9605b4b0 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-custom-metrics.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-custom-metrics.libsonnet @@ -133,7 +133,6 @@ metadata: { name: 'custom-metrics-server-resources', }, - roleRef: { apiGroup: 'rbac.authorization.k8s.io', kind: 'ClusterRole', @@ -151,7 +150,6 @@ metadata: { name: 'hpa-controller-custom-metrics', }, - roleRef: { apiGroup: 'rbac.authorization.k8s.io', kind: 'ClusterRole', diff --git a/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet index ad35df2eb8e974f44fbde102c18b9a4cd071bb14..543e0cea9a413542e897e37323f1c7368f2843a3 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet @@ -19,14 +19,14 @@ local service(name, namespace, labels, selector, ports) = { 'kube-controller-manager-prometheus-discovery', 'kube-system', { 'k8s-app': 'kube-controller-manager' }, - { 'component': 'kube-controller-manager' }, + { component: 'kube-controller-manager' }, [{ name: 'https-metrics', port: 10257, targetPort: 10257 }] ), kubeSchedulerPrometheusDiscoveryService: service( 'kube-scheduler-prometheus-discovery', 'kube-system', { 'k8s-app': 'kube-scheduler' }, - { 'component': 'kube-scheduler' }, + { component: 'kube-scheduler' }, [{ name: 'https-metrics', port: 10259, targetPort: 10259 }], ), }, diff --git a/jsonnet/kube-prometheus/kube-prometheus-static-etcd.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-static-etcd.libsonnet index 9bc77385f4b6d860abfdd40905e0e05d793c4803..2994023d39cfd434a39007a19210890c11d69d02 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-static-etcd.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-static-etcd.libsonnet @@ -1,5 +1,3 @@ -local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; - (import 'github.com/etcd-io/etcd/Documentation/etcd-mixin/mixin.libsonnet') + { _config+:: { etcd: { @@ -28,23 +26,23 @@ local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; }, }, endpointsEtcd: { - apiVersion: 'v1', - kind: 'Endpoints', - metadata: { - name: 'etcd', - namespace: 'kube-system', - labels: { 'k8s-app': 'etcd' }, - }, - subsets: [{ - addresses: [ - { ip: etcdIP } - for etcdIP in $._config.etcd.ips - ], - ports: [ - { name: 'metrics', port: 2379, protocol: 'TCP' }, - ], - }], + apiVersion: 'v1', + kind: 'Endpoints', + metadata: { + name: 'etcd', + namespace: 'kube-system', + labels: { 'k8s-app': 'etcd' }, }, + subsets: [{ + addresses: [ + { ip: etcdIP } + for etcdIP in $._config.etcd.ips + ], + ports: [ + { name: 'metrics', port: 2379, protocol: 'TCP' }, + ], + }], + }, serviceMonitorEtcd: { apiVersion: 'monitoring.coreos.com/v1', kind: 'ServiceMonitor', @@ -94,12 +92,11 @@ local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; 'etcd-client.crt': std.base64($._config.etcd.clientCert), }, }, - prometheus+: - { - // Reference info: https://coreos.com/operators/prometheus/docs/latest/api.html#prometheusspec - spec+: { - secrets+: [$.prometheus.secretEtcdCerts.metadata.name], - }, + prometheus+: { + // Reference info: https://coreos.com/operators/prometheus/docs/latest/api.html#prometheusspec + spec+: { + secrets+: [$.prometheus.secretEtcdCerts.metadata.name], }, + }, }, } diff --git a/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet b/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet index 7fae2be24a0d22562553679ce8562867a939447f..f3a0e0d9e3f458c30be98083ffedd2ebf7697169 100644 --- a/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet +++ b/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet @@ -15,7 +15,7 @@ local ksm = import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state- }, }, kubeStateMetrics+:: - ksm + { + ksm { local version = self.version, name:: 'kube-state-metrics', namespace:: $._config.namespace, @@ -100,33 +100,33 @@ local ksm = import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state- ], }, }, - } + - (kubeRbacProxyContainer { - config+:: { - kubeRbacProxy: { - local cfg = self, - image: $._config.imageRepos.kubeRbacProxy + ':' + $._config.versions.kubeRbacProxy, - name: 'kube-rbac-proxy-main', - securePortName: 'https-main', - securePort: 8443, - secureListenAddress: ':%d' % self.securePort, - upstream: 'http://127.0.0.1:8081/', - tlsCipherSuites: $._config.tlsCipherSuites, - }, - }, - }).deploymentMixin + - (kubeRbacProxyContainer { - config+:: { - kubeRbacProxy: { - local cfg = self, - image: $._config.imageRepos.kubeRbacProxy + ':' + $._config.versions.kubeRbacProxy, - name: 'kube-rbac-proxy-self', - securePortName: 'https-self', - securePort: 9443, - secureListenAddress: ':%d' % self.securePort, - upstream: 'http://127.0.0.1:8082/', - tlsCipherSuites: $._config.tlsCipherSuites, - }, - }, - }).deploymentMixin, + } + + (kubeRbacProxyContainer { + config+:: { + kubeRbacProxy: { + local cfg = self, + image: $._config.imageRepos.kubeRbacProxy + ':' + $._config.versions.kubeRbacProxy, + name: 'kube-rbac-proxy-main', + securePortName: 'https-main', + securePort: 8443, + secureListenAddress: ':%d' % self.securePort, + upstream: 'http://127.0.0.1:8081/', + tlsCipherSuites: $._config.tlsCipherSuites, + }, + }, + }).deploymentMixin + + (kubeRbacProxyContainer { + config+:: { + kubeRbacProxy: { + local cfg = self, + image: $._config.imageRepos.kubeRbacProxy + ':' + $._config.versions.kubeRbacProxy, + name: 'kube-rbac-proxy-self', + securePortName: 'https-self', + securePort: 9443, + secureListenAddress: ':%d' % self.securePort, + upstream: 'http://127.0.0.1:8082/', + tlsCipherSuites: $._config.tlsCipherSuites, + }, + }, + }).deploymentMixin, } diff --git a/jsonnet/kube-prometheus/lib/image.libsonnet b/jsonnet/kube-prometheus/lib/image.libsonnet index 0561e33c820c207d8a7dd1da2b31bdd9350afd14..723d1b38981f1d4d3c6cb40ae3d690e63e7f9cae 100644 --- a/jsonnet/kube-prometheus/lib/image.libsonnet +++ b/jsonnet/kube-prometheus/lib/image.libsonnet @@ -5,16 +5,16 @@ local imageName(image) = local parts = std.split(image, '/'); local len = std.length(parts); if len == 3 then - # registry.com/org/image + // registry.com/org/image parts[2] else if len == 2 then - # org/image + // org/image parts[1] else if len == 1 then - # image, ie. busybox + // image, ie. busybox parts[0] else - error 'unknown image format: ' + image; + error 'unknown image format: ' + image; { imageName:: imageName,