From cdaaf3d51c99a432726cd1ed20f5af01cbcd42d4 Mon Sep 17 00:00:00 2001
From: Paul Gier <pgier@redhat.com>
Date: Fri, 7 Feb 2020 14:40:51 -0600
Subject: [PATCH] Remove field preserveUnknownFields from CRDs

This allows compatiblity with kubernetes v1.14 and earlier.
---
 .../kube-prometheus/kube-prometheus.libsonnet | 28 +++++++++++++++++++
 ...0alertmanagerCustomResourceDefinition.yaml |  1 -
 ...r-0podmonitorCustomResourceDefinition.yaml |  1 -
 ...r-0prometheusCustomResourceDefinition.yaml |  1 -
 ...rometheusruleCustomResourceDefinition.yaml |  1 -
 ...ervicemonitorCustomResourceDefinition.yaml |  1 -
 6 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/jsonnet/kube-prometheus/kube-prometheus.libsonnet b/jsonnet/kube-prometheus/kube-prometheus.libsonnet
index 1d8aa826..0f3c5980 100644
--- a/jsonnet/kube-prometheus/kube-prometheus.libsonnet
+++ b/jsonnet/kube-prometheus/kube-prometheus.libsonnet
@@ -17,6 +17,34 @@ local configMapList = k3.core.v1.configMapList;
   kubePrometheus+:: {
     namespace: k.core.v1.namespace.new($._config.namespace),
   },
+  prometheusOperator+::
+  {
+    '0alertmanagerCustomResourceDefinition'+: {
+      spec: std.mergePatch(super.spec, {
+        preserveUnknownFields: null,
+      }),
+    },
+    '0prometheusCustomResourceDefinition'+: {
+      spec: std.mergePatch(super.spec, {
+        preserveUnknownFields: null,
+      }),
+    },
+    '0servicemonitorCustomResourceDefinition'+: {
+      spec: std.mergePatch(super.spec, {
+        preserveUnknownFields: null,
+      }),
+    },
+    '0podmonitorCustomResourceDefinition'+: {
+      spec: std.mergePatch(super.spec, {
+        preserveUnknownFields: null,
+      }),
+    },
+    '0prometheusruleCustomResourceDefinition'+: {
+      spec: std.mergePatch(super.spec, {
+        preserveUnknownFields: null,
+      }),
+    },
+  },
   grafana+:: {
     dashboardDefinitions: configMapList.new(super.dashboardDefinitions),
     serviceMonitor: {
diff --git a/manifests/setup/prometheus-operator-0alertmanagerCustomResourceDefinition.yaml b/manifests/setup/prometheus-operator-0alertmanagerCustomResourceDefinition.yaml
index ed489580..21183fc7 100644
--- a/manifests/setup/prometheus-operator-0alertmanagerCustomResourceDefinition.yaml
+++ b/manifests/setup/prometheus-operator-0alertmanagerCustomResourceDefinition.yaml
@@ -12,7 +12,6 @@ spec:
     listKind: AlertmanagerList
     plural: alertmanagers
     singular: alertmanager
-  preserveUnknownFields: false
   scope: Namespaced
   validation:
     openAPIV3Schema:
diff --git a/manifests/setup/prometheus-operator-0podmonitorCustomResourceDefinition.yaml b/manifests/setup/prometheus-operator-0podmonitorCustomResourceDefinition.yaml
index ae66bdbf..5af42d65 100644
--- a/manifests/setup/prometheus-operator-0podmonitorCustomResourceDefinition.yaml
+++ b/manifests/setup/prometheus-operator-0podmonitorCustomResourceDefinition.yaml
@@ -12,7 +12,6 @@ spec:
     listKind: PodMonitorList
     plural: podmonitors
     singular: podmonitor
-  preserveUnknownFields: false
   scope: Namespaced
   validation:
     openAPIV3Schema:
diff --git a/manifests/setup/prometheus-operator-0prometheusCustomResourceDefinition.yaml b/manifests/setup/prometheus-operator-0prometheusCustomResourceDefinition.yaml
index fa62ff05..79952b73 100644
--- a/manifests/setup/prometheus-operator-0prometheusCustomResourceDefinition.yaml
+++ b/manifests/setup/prometheus-operator-0prometheusCustomResourceDefinition.yaml
@@ -12,7 +12,6 @@ spec:
     listKind: PrometheusList
     plural: prometheuses
     singular: prometheus
-  preserveUnknownFields: false
   scope: Namespaced
   validation:
     openAPIV3Schema:
diff --git a/manifests/setup/prometheus-operator-0prometheusruleCustomResourceDefinition.yaml b/manifests/setup/prometheus-operator-0prometheusruleCustomResourceDefinition.yaml
index 7244d439..508ac18e 100644
--- a/manifests/setup/prometheus-operator-0prometheusruleCustomResourceDefinition.yaml
+++ b/manifests/setup/prometheus-operator-0prometheusruleCustomResourceDefinition.yaml
@@ -12,7 +12,6 @@ spec:
     listKind: PrometheusRuleList
     plural: prometheusrules
     singular: prometheusrule
-  preserveUnknownFields: false
   scope: Namespaced
   validation:
     openAPIV3Schema:
diff --git a/manifests/setup/prometheus-operator-0servicemonitorCustomResourceDefinition.yaml b/manifests/setup/prometheus-operator-0servicemonitorCustomResourceDefinition.yaml
index e9286ea8..3410ec39 100644
--- a/manifests/setup/prometheus-operator-0servicemonitorCustomResourceDefinition.yaml
+++ b/manifests/setup/prometheus-operator-0servicemonitorCustomResourceDefinition.yaml
@@ -12,7 +12,6 @@ spec:
     listKind: ServiceMonitorList
     plural: servicemonitors
     singular: servicemonitor
-  preserveUnknownFields: false
   scope: Namespaced
   validation:
     openAPIV3Schema:
-- 
GitLab