Fix webhook errors for monitoring

Sem-Ver: bugfix
Change-Id: Ia6d54c659fef15b3c133bcba44ede1842cac5b22
diff --git a/releasenotes/notes/fix-kube-prometheus-stack-wait-14e605452424cefc.yaml b/releasenotes/notes/fix-kube-prometheus-stack-wait-14e605452424cefc.yaml
new file mode 100644
index 0000000..6302b86
--- /dev/null
+++ b/releasenotes/notes/fix-kube-prometheus-stack-wait-14e605452424cefc.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+  - Since we're not waiting for the monitoring to fully go up, we have issues
+    with later tasks that run way too fast and the operator is not ready, this
+    will make sure it's all good to go before moving forward.
diff --git a/roles/kube_prometheus_stack/tasks/main.yml b/roles/kube_prometheus_stack/tasks/main.yml
index a13e323..d32ea15 100644
--- a/roles/kube_prometheus_stack/tasks/main.yml
+++ b/roles/kube_prometheus_stack/tasks/main.yml
@@ -27,15 +27,14 @@
     src: /etc/kubernetes/pki/etcd/healthcheck-client.key
   register: _etcd_healthcheck_client_key
 
-- name: Deploy Helm chart
-  kubernetes.core.helm:
-    name: kube-prometheus-stack
-    chart_ref: prometheus-community/kube-prometheus-stack
-    chart_version: 30.2.0
-    release_namespace: monitoring
-    create_namespace: true
-    kubeconfig: /etc/kubernetes/admin.conf
-    values: "{{ _kube_prometheus_stack_values | combine(kube_prometheus_stack_values, recursive=True) }}"
+- name: Create namespace
+  kubernetes.core.k8s:
+    state: present
+    definition:
+      apiVersion: v1
+      kind: Namespace
+      metadata:
+        name: monitoring
 
 - name: Create Secret with "etcd" TLS certificates
   kubernetes.core.k8s:
@@ -50,3 +49,13 @@
         ca.crt: "{{ _etcd_ca_crt.content }}"
         healthcheck-client.crt: "{{ _etcd_healthcheck_client_crt.content }}"
         healthcheck-client.key: "{{ _etcd_healthcheck_client_key.content }}"
+
+- name: Deploy Helm chart
+  kubernetes.core.helm:
+    name: kube-prometheus-stack
+    chart_ref: prometheus-community/kube-prometheus-stack
+    chart_version: 30.2.0
+    release_namespace: monitoring
+    kubeconfig: /etc/kubernetes/admin.conf
+    values: "{{ _kube_prometheus_stack_values | combine(kube_prometheus_stack_values, recursive=True) }}"
+    wait: true