1- local defaults = spec {
1+ local defaults = {
22 local defaults = self ,
33 // Convention: Top-level fields related to CRDs are public, other fields are hidden
44 // If there is no CRD for the component, everything is hidden in defaults.
5+ name:: error 'must provide name' ,
56 namespace:: error 'must provide namespace' ,
67 version: error 'must provide version' ,
78 image: error 'must provide image' ,
89 resources: {
910 requests: { memory: '400Mi' },
1011 },
11-
12- name:: error 'must provide name' ,
13- //TODO: remove alertmanagerName and convert to plain 'alerting' object
14- alertmanagerName:: error 'must provide alertmanagerName' ,
12+ //TODO(paulfantom): remove alertmanagerName after release-0.10 and convert to plain 'alerting' object.
13+ alertmanagerName:: "" ,
14+ alerting: {},
1515 namespaces:: ['default' , 'kube-system' , defaults.namespace],
1616 replicas: 2 ,
1717 externalLabels: {},
1818 enableFeatures: [],
19+ ruleSelector: {},
1920 commonLabels:: {
2021 'app.kubernetes.io/name' : 'prometheus' ,
2122 'app.kubernetes.io/version' : defaults.version,
@@ -27,7 +28,6 @@ local defaults = spec {
2728 for labelName in std.objectFields (defaults.commonLabels)
2829 if !std.setMember (labelName, ['app.kubernetes.io/version' ])
2930 } + { prometheus: defaults.name },
30- ruleSelector: {},
3131 mixin:: {
3232 ruleLabels: {},
3333 _config: {
@@ -273,7 +273,7 @@ function(params) {
273273 serviceMonitorNamespaceSelector: {},
274274 nodeSelector: { 'kubernetes.io/os' : 'linux' },
275275 resources: p._config.resources,
276- alerting: {
276+ alerting: if p._config.alerting != {} then p._config.alerting else {
277277 alertmanagers: [{
278278 namespace: p._config.namespace,
279279 name: 'alertmanager-' + p._config.alertmanagerName,
0 commit comments