jsonnet: unify metadata management
This commit is contained in:
@@ -49,6 +49,11 @@ function(params) {
|
||||
// Safety check
|
||||
assert std.isObject(ne._config.resources),
|
||||
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') +
|
||||
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') {
|
||||
@@ -58,10 +63,9 @@ function(params) {
|
||||
prometheusRule: {
|
||||
apiVersion: 'monitoring.coreos.com/v1',
|
||||
kind: 'PrometheusRule',
|
||||
metadata: {
|
||||
labels: ne._config.commonLabels + ne._config.mixin.ruleLabels,
|
||||
metadata: ne._metadata {
|
||||
labels+: 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 [],
|
||||
@@ -73,10 +77,7 @@ function(params) {
|
||||
clusterRoleBinding: {
|
||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||
kind: 'ClusterRoleBinding',
|
||||
metadata: {
|
||||
name: ne._config.name,
|
||||
labels: ne._config.commonLabels,
|
||||
},
|
||||
metadata: ne._metadata,
|
||||
roleRef: {
|
||||
apiGroup: 'rbac.authorization.k8s.io',
|
||||
kind: 'ClusterRole',
|
||||
@@ -92,10 +93,7 @@ function(params) {
|
||||
clusterRole: {
|
||||
apiVersion: 'rbac.authorization.k8s.io/v1',
|
||||
kind: 'ClusterRole',
|
||||
metadata: {
|
||||
name: ne._config.name,
|
||||
labels: ne._config.commonLabels,
|
||||
},
|
||||
metadata: ne._metadata,
|
||||
rules: [
|
||||
{
|
||||
apiGroups: ['authentication.k8s.io'],
|
||||
@@ -113,21 +111,13 @@ function(params) {
|
||||
serviceAccount: {
|
||||
apiVersion: 'v1',
|
||||
kind: 'ServiceAccount',
|
||||
metadata: {
|
||||
name: ne._config.name,
|
||||
namespace: ne._config.namespace,
|
||||
labels: ne._config.commonLabels,
|
||||
},
|
||||
metadata: ne._metadata,
|
||||
},
|
||||
|
||||
service: {
|
||||
apiVersion: 'v1',
|
||||
kind: 'Service',
|
||||
metadata: {
|
||||
name: ne._config.name,
|
||||
namespace: ne._config.namespace,
|
||||
labels: ne._config.commonLabels,
|
||||
},
|
||||
metadata: ne._metadata,
|
||||
spec: {
|
||||
ports: [
|
||||
{ name: 'https', targetPort: 'https', port: ne._config.port },
|
||||
@@ -140,11 +130,7 @@ function(params) {
|
||||
serviceMonitor: {
|
||||
apiVersion: 'monitoring.coreos.com/v1',
|
||||
kind: 'ServiceMonitor',
|
||||
metadata: {
|
||||
name: ne._config.name,
|
||||
namespace: ne._config.namespace,
|
||||
labels: ne._config.commonLabels,
|
||||
},
|
||||
metadata: ne._metadata,
|
||||
spec: {
|
||||
jobLabel: 'app.kubernetes.io/name',
|
||||
selector: {
|
||||
@@ -221,11 +207,7 @@ function(params) {
|
||||
{
|
||||
apiVersion: 'apps/v1',
|
||||
kind: 'DaemonSet',
|
||||
metadata: {
|
||||
name: ne._config.name,
|
||||
namespace: ne._config.namespace,
|
||||
labels: ne._config.commonLabels,
|
||||
},
|
||||
metadata: ne._metadata,
|
||||
spec: {
|
||||
selector: { matchLabels: ne._config.selectorLabels },
|
||||
updateStrategy: {
|
||||
@@ -260,6 +242,4 @@ function(params) {
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user