diff --git a/example.jsonnet b/example.jsonnet index fcd2bb01cf3250b2ac1d2b256814b4a189424abc..17a884296ad1ec5075e3edaa85d133926e346587 100644 --- a/example.jsonnet +++ b/example.jsonnet @@ -5,11 +5,28 @@ local kp = }, }; -{ ['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) } + -{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } + -{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } + -{ ['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-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + -{ ['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 manifests = + { ['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) } + + { ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } + + { ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } + + { ['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-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } + + { ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }; + +manifests { kustomization: kustomization } diff --git a/manifests/kustomization.yaml b/manifests/kustomization.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6b4f05180d11adee946552138faaf7f230d5bf0d --- /dev/null +++ b/manifests/kustomization.yaml @@ -0,0 +1,66 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- 00namespace-namespace.yaml +- 0prometheus-operator-0alertmanagerCustomResourceDefinition.yaml +- 0prometheus-operator-0prometheusCustomResourceDefinition.yaml +- 0prometheus-operator-0prometheusruleCustomResourceDefinition.yaml +- 0prometheus-operator-0servicemonitorCustomResourceDefinition.yaml +- 0prometheus-operator-clusterRole.yaml +- 0prometheus-operator-clusterRoleBinding.yaml +- 0prometheus-operator-deployment.yaml +- 0prometheus-operator-service.yaml +- 0prometheus-operator-serviceAccount.yaml +- 0prometheus-operator-serviceMonitor.yaml +- node-exporter-clusterRole.yaml +- node-exporter-clusterRoleBinding.yaml +- node-exporter-daemonset.yaml +- node-exporter-service.yaml +- node-exporter-serviceAccount.yaml +- node-exporter-serviceMonitor.yaml +- kube-state-metrics-clusterRole.yaml +- kube-state-metrics-clusterRoleBinding.yaml +- kube-state-metrics-deployment.yaml +- kube-state-metrics-role.yaml +- kube-state-metrics-roleBinding.yaml +- kube-state-metrics-service.yaml +- kube-state-metrics-serviceAccount.yaml +- kube-state-metrics-serviceMonitor.yaml +- alertmanager-alertmanager.yaml +- alertmanager-secret.yaml +- alertmanager-service.yaml +- alertmanager-serviceAccount.yaml +- alertmanager-serviceMonitor.yaml +- prometheus-clusterRole.yaml +- prometheus-clusterRoleBinding.yaml +- prometheus-prometheus.yaml +- prometheus-roleBindingConfig.yaml +- prometheus-roleBindingSpecificNamespaces.yaml +- prometheus-roleConfig.yaml +- prometheus-roleSpecificNamespaces.yaml +- prometheus-rules.yaml +- prometheus-service.yaml +- prometheus-serviceAccount.yaml +- prometheus-serviceMonitor.yaml +- prometheus-serviceMonitorApiserver.yaml +- prometheus-serviceMonitorCoreDNS.yaml +- prometheus-serviceMonitorKubeControllerManager.yaml +- prometheus-serviceMonitorKubeScheduler.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