rpi.carlosedp.cluster-monit.../main.jsonnet

42 lines
2.4 KiB
Plaintext
Raw Normal View History

2019-09-27 00:02:33 +02:00
local utils = import 'utils.libsonnet';
local vars = import 'vars.jsonnet';
2019-02-27 13:28:00 +01:00
2019-03-13 22:44:01 +01:00
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet')
+ (import 'kube-prometheus/kube-prometheus-anti-affinity.libsonnet')
+ (import 'kube-prometheus/kube-prometheus-kops-coredns.libsonnet')
+ (import 'kube-prometheus/kube-prometheus-kubeadm.libsonnet')
// Use http Kubelet targets. Comment to revert to https
// + (import 'kube-prometheus/kube-prometheus-insecure-kubelet.libsonnet')
// Additional modules are loaded dynamically from vars.jsonnet
2019-09-27 00:02:33 +02:00
+ utils.join_objects([module.file for module in vars.modules if module.enabled])
// Load K3s customized modules
2019-09-27 00:02:33 +02:00
+ utils.join_objects([m for m in [import 'k3s-overrides.jsonnet'] if vars.k3s.enabled])
// Base stack is loaded at the end to override previous definitions
+ (import 'base_operator_stack.jsonnet')
2019-03-22 19:23:23 +01:00
// Load image versions last to override default from modules
+ (import 'image_sources_versions.jsonnet');
2019-02-27 13:28:00 +01:00
// Generate core modules
2019-02-27 13:28:00 +01:00
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) }
{
['0prometheus-operator-' + name]: kp.prometheusOperator[name]
for name in std.filter((function(name) name != 'serviceMonitor'), std.objectFields(kp.prometheusOperator))
} +
// serviceMonitor is separated so that it can be created after the CRDs are ready
{ 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } +
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) }
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) }
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) }
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) }
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) }
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }
{ ['ingress-' + name]: kp.ingress[name] for name in std.objectFields(kp.ingress) }
{ // Dynamically generate additional modules from vars.jsonnet
[std.asciiLower(module.name) + '-' + name]: kp[module.name][name]
for module in vars.modules
if module.enabled
for name in std.objectFields(kp[module.name])
}