diff --git a/hack/test/install-prometheus.sh b/hack/test/install-prometheus.sh index f458b2d01..e2e13c96f 100755 --- a/hack/test/install-prometheus.sh +++ b/hack/test/install-prometheus.sh @@ -38,8 +38,11 @@ echo "Patching namespace to ${PROMETHEUS_NAMESPACE}..." echo "Applying Prometheus base..." kubectl apply -k "$TMPDIR" --server-side +echo "Waiting for Prometheus Operator deployment to become available..." +kubectl wait --for=condition=Available deployment/prometheus-operator -n "$PROMETHEUS_NAMESPACE" --timeout=180s + echo "Waiting for Prometheus Operator pod to become ready..." -kubectl wait --for=condition=Ready pod -n "$PROMETHEUS_NAMESPACE" -l app.kubernetes.io/name=prometheus-operator +kubectl wait --for=condition=Ready pod -n "$PROMETHEUS_NAMESPACE" -l app.kubernetes.io/name=prometheus-operator --timeout=120s echo "Applying prometheus Helm chart..." ${HELM} template prometheus helm/prometheus ${PROMETHEUS_VALUES} | sed "s/cert-git-version/cert-${VERSION}/g" | kubectl apply -f - diff --git a/helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml new file mode 100644 index 000000000..7e6ec2e33 --- /dev/null +++ b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml @@ -0,0 +1,22 @@ +{{- if and .Values.options.catalogd.enabled .Values.options.catalogd.podDisruptionBudget.enabled }} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: catalogd-controller-manager + namespace: {{ .Values.namespaces.olmv1.name }} + labels: + app.kubernetes.io/name: catalogd + {{- include "olmv1.labels" . | nindent 4 }} + annotations: + {{- include "olmv1.annotations" . | nindent 4 }} +spec: + {{- if .Values.options.catalogd.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.options.catalogd.podDisruptionBudget.minAvailable }} + {{- end }} + {{- if .Values.options.catalogd.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.options.catalogd.podDisruptionBudget.maxUnavailable }} + {{- end }} + selector: + matchLabels: + control-plane: catalogd-controller-manager +{{- end }} diff --git a/helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml new file mode 100644 index 000000000..0d98d528f --- /dev/null +++ b/helm/olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml @@ -0,0 +1,22 @@ +{{- if and .Values.options.operatorController.enabled .Values.options.operatorController.podDisruptionBudget.enabled }} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: operator-controller-controller-manager + namespace: {{ .Values.namespaces.olmv1.name }} + labels: + app.kubernetes.io/name: operator-controller + {{- include "olmv1.labels" . | nindent 4 }} + annotations: + {{- include "olmv1.annotations" . | nindent 4 }} +spec: + {{- if .Values.options.operatorController.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.options.operatorController.podDisruptionBudget.minAvailable }} + {{- end }} + {{- if .Values.options.operatorController.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.options.operatorController.podDisruptionBudget.maxUnavailable }} + {{- end }} + selector: + matchLabels: + control-plane: operator-controller-controller-manager +{{- end }} diff --git a/helm/olmv1/values.yaml b/helm/olmv1/values.yaml index 5ab9d7672..cb454f625 100644 --- a/helm/olmv1/values.yaml +++ b/helm/olmv1/values.yaml @@ -12,6 +12,9 @@ options: features: enabled: [] disabled: [] + podDisruptionBudget: + enabled: true + minAvailable: 1 catalogd: enabled: true deployment: @@ -20,6 +23,9 @@ options: features: enabled: [] disabled: [] + podDisruptionBudget: + enabled: true + minAvailable: 1 certManager: enabled: false e2e: diff --git a/manifests/experimental-e2e.yaml b/manifests/experimental-e2e.yaml index 672830225..e6cf3a932 100644 --- a/manifests/experimental-e2e.yaml +++ b/manifests/experimental-e2e.yaml @@ -87,6 +87,40 @@ spec: - Ingress - Egress --- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: catalogd-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: catalogd + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: experimental-e2e +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: catalogd-controller-manager +--- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: operator-controller-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: operator-controller + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: experimental-e2e +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: operator-controller-controller-manager +--- # Source: olmv1/templates/serviceaccount-olmv1-system-common-controller-manager.yml apiVersion: v1 kind: ServiceAccount diff --git a/manifests/experimental.yaml b/manifests/experimental.yaml index 199838eac..2e75235b7 100644 --- a/manifests/experimental.yaml +++ b/manifests/experimental.yaml @@ -87,6 +87,40 @@ spec: - Ingress - Egress --- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: catalogd-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: catalogd + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: experimental +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: catalogd-controller-manager +--- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: operator-controller-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: operator-controller + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: experimental +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: operator-controller-controller-manager +--- # Source: olmv1/templates/serviceaccount-olmv1-system-common-controller-manager.yml apiVersion: v1 kind: ServiceAccount diff --git a/manifests/standard-e2e.yaml b/manifests/standard-e2e.yaml index 5c9590784..1aed38ba9 100644 --- a/manifests/standard-e2e.yaml +++ b/manifests/standard-e2e.yaml @@ -87,6 +87,40 @@ spec: - Ingress - Egress --- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: catalogd-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: catalogd + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: standard-e2e +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: catalogd-controller-manager +--- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: operator-controller-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: operator-controller + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: standard-e2e +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: operator-controller-controller-manager +--- # Source: olmv1/templates/serviceaccount-olmv1-system-common-controller-manager.yml apiVersion: v1 kind: ServiceAccount diff --git a/manifests/standard.yaml b/manifests/standard.yaml index 95e400c26..34cc57918 100644 --- a/manifests/standard.yaml +++ b/manifests/standard.yaml @@ -87,6 +87,40 @@ spec: - Ingress - Egress --- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: catalogd-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: catalogd + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: standard +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: catalogd-controller-manager +--- +# Source: olmv1/templates/poddisruptionbudget-olmv1-system-operator-controller.yml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: operator-controller-controller-manager + namespace: olmv1-system + labels: + app.kubernetes.io/name: operator-controller + app.kubernetes.io/part-of: olm + annotations: + olm.operatorframework.io/feature-set: standard +spec: + minAvailable: 1 + selector: + matchLabels: + control-plane: operator-controller-controller-manager +--- # Source: olmv1/templates/serviceaccount-olmv1-system-common-controller-manager.yml apiVersion: v1 kind: ServiceAccount