Skip to content
Snippets Groups Projects
Commit 7e0e5cd1 authored by Cory O'Daniel's avatar Cory O'Daniel
Browse files

DRY up resource names

parent 5fcf652c
No related branches found
No related tags found
No related merge requests found
...@@ -157,6 +157,7 @@ local kp = ...@@ -157,6 +157,7 @@ local kp =
}, },
}; };
local manifests =
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } + { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
{ ['0prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator) } + { ['0prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator) } +
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } + { ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
...@@ -164,7 +165,33 @@ local kp = ...@@ -164,7 +165,33 @@ local kp =
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + { ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } +
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } { ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) };
// local kustomization = {
// apiVersion: 'kustomize.config.k8s.io/v1beta1',
// kind: 'Kustomization',
// resources:
// ['00namespace-' + name + '.yaml' for name in std.objectFields(kp.kubePrometheus)] +
// ['0prometheus-operator-' + name + '.yaml' for name in std.objectFields(kp.prometheusOperator)] +
// ['node-exporter-' + name + '.yaml' for name in std.objectFields(kp.nodeExporter)] +
// ['kube-state-metrics-' + name + '.yaml' for name in std.objectFields(kp.kubeStateMetrics)] +
// ['alertmanager-' + name + '.yaml' for name in std.objectFields(kp.alertmanager)] +
// ['prometheus-' + name + '.yaml' for name in std.objectFields(kp.prometheus)] +
// ['prometheus-adapter-' + name + '.yaml' for name in std.objectFields(kp.prometheusAdapter)] +
// ['grafana-' + name + '.yaml' for name in std.objectFields(kp.grafana)],
// };
local foo = function(name) { name ::+ '.yaml' };
local kustomization = {
apiVersion: 'kustomize.config.k8s.io/v1beta1',
kind: 'Kustomization',
resources: std.map(foo , std.objectFields(manifests))
};
manifests {
kustomization: kustomization
}
``` ```
And here's the [build.sh](build.sh) script (which uses `vendor/` to render all manifests in a json structure of `{filename: manifest-content}`): And here's the [build.sh](build.sh) script (which uses `vendor/` to render all manifests in a json structure of `{filename: manifest-content}`):
......
...@@ -5,20 +5,6 @@ local kp = ...@@ -5,20 +5,6 @@ local kp =
}, },
}; };
local kustomization = {
apiVersion: 'kustomize.config.k8s.io/v1beta1',
kind: 'Kustomization',
resources:
['00namespace-' + name + '.yaml' for name in std.objectFields(kp.kubePrometheus)] +
['0prometheus-operator-' + name + '.yaml' for name in std.objectFields(kp.prometheusOperator)] +
['node-exporter-' + name + '.yaml' for name in std.objectFields(kp.nodeExporter)] +
['kube-state-metrics-' + name + '.yaml' for name in std.objectFields(kp.kubeStateMetrics)] +
['alertmanager-' + name + '.yaml' for name in std.objectFields(kp.alertmanager)] +
['prometheus-' + name + '.yaml' for name in std.objectFields(kp.prometheus)] +
['prometheus-adapter-' + name + '.yaml' for name in std.objectFields(kp.prometheusAdapter)] +
['grafana-' + name + '.yaml' for name in std.objectFields(kp.grafana)],
};
local manifests = local manifests =
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } + { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
{ ['0prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator) } + { ['0prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator) } +
...@@ -29,4 +15,13 @@ local manifests = ...@@ -29,4 +15,13 @@ local manifests =
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + { ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } +
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }; { ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) };
manifests { kustomization: kustomization } local kustomizationResourceFile(name) = name + ".yaml";
local kustomization = {
apiVersion: 'kustomize.config.k8s.io/v1beta1',
kind: 'Kustomization',
resources: std.map(kustomizationResourceFile, std.objectFields(manifests))
};
manifests {
kustomization: kustomization,
}
...@@ -12,12 +12,18 @@ resources: ...@@ -12,12 +12,18 @@ resources:
- 0prometheus-operator-service.yaml - 0prometheus-operator-service.yaml
- 0prometheus-operator-serviceAccount.yaml - 0prometheus-operator-serviceAccount.yaml
- 0prometheus-operator-serviceMonitor.yaml - 0prometheus-operator-serviceMonitor.yaml
- node-exporter-clusterRole.yaml - alertmanager-alertmanager.yaml
- node-exporter-clusterRoleBinding.yaml - alertmanager-secret.yaml
- node-exporter-daemonset.yaml - alertmanager-service.yaml
- node-exporter-service.yaml - alertmanager-serviceAccount.yaml
- node-exporter-serviceAccount.yaml - alertmanager-serviceMonitor.yaml
- node-exporter-serviceMonitor.yaml - grafana-dashboardDatasources.yaml
- grafana-dashboardDefinitions.yaml
- grafana-dashboardSources.yaml
- grafana-deployment.yaml
- grafana-service.yaml
- grafana-serviceAccount.yaml
- grafana-serviceMonitor.yaml
- kube-state-metrics-clusterRole.yaml - kube-state-metrics-clusterRole.yaml
- kube-state-metrics-clusterRoleBinding.yaml - kube-state-metrics-clusterRoleBinding.yaml
- kube-state-metrics-deployment.yaml - kube-state-metrics-deployment.yaml
...@@ -26,11 +32,22 @@ resources: ...@@ -26,11 +32,22 @@ resources:
- kube-state-metrics-service.yaml - kube-state-metrics-service.yaml
- kube-state-metrics-serviceAccount.yaml - kube-state-metrics-serviceAccount.yaml
- kube-state-metrics-serviceMonitor.yaml - kube-state-metrics-serviceMonitor.yaml
- alertmanager-alertmanager.yaml - node-exporter-clusterRole.yaml
- alertmanager-secret.yaml - node-exporter-clusterRoleBinding.yaml
- alertmanager-service.yaml - node-exporter-daemonset.yaml
- alertmanager-serviceAccount.yaml - node-exporter-service.yaml
- alertmanager-serviceMonitor.yaml - node-exporter-serviceAccount.yaml
- node-exporter-serviceMonitor.yaml
- prometheus-adapter-apiService.yaml
- prometheus-adapter-clusterRole.yaml
- prometheus-adapter-clusterRoleBinding.yaml
- prometheus-adapter-clusterRoleBindingDelegator.yaml
- prometheus-adapter-clusterRoleServerResources.yaml
- prometheus-adapter-configMap.yaml
- prometheus-adapter-deployment.yaml
- prometheus-adapter-roleBindingAuthReader.yaml
- prometheus-adapter-service.yaml
- prometheus-adapter-serviceAccount.yaml
- prometheus-clusterRole.yaml - prometheus-clusterRole.yaml
- prometheus-clusterRoleBinding.yaml - prometheus-clusterRoleBinding.yaml
- prometheus-prometheus.yaml - prometheus-prometheus.yaml
...@@ -47,20 +64,3 @@ resources: ...@@ -47,20 +64,3 @@ resources:
- prometheus-serviceMonitorKubeControllerManager.yaml - prometheus-serviceMonitorKubeControllerManager.yaml
- prometheus-serviceMonitorKubeScheduler.yaml - prometheus-serviceMonitorKubeScheduler.yaml
- prometheus-serviceMonitorKubelet.yaml - prometheus-serviceMonitorKubelet.yaml
- prometheus-adapter-apiService.yaml
- prometheus-adapter-clusterRole.yaml
- prometheus-adapter-clusterRoleBinding.yaml
- prometheus-adapter-clusterRoleBindingDelegator.yaml
- prometheus-adapter-clusterRoleServerResources.yaml
- prometheus-adapter-configMap.yaml
- prometheus-adapter-deployment.yaml
- prometheus-adapter-roleBindingAuthReader.yaml
- prometheus-adapter-service.yaml
- prometheus-adapter-serviceAccount.yaml
- grafana-dashboardDatasources.yaml
- grafana-dashboardDefinitions.yaml
- grafana-dashboardSources.yaml
- grafana-deployment.yaml
- grafana-service.yaml
- grafana-serviceAccount.yaml
- grafana-serviceMonitor.yaml
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment