diff --git a/project.clj b/project.clj
index 0a84d2a..4b63c96 100644
--- a/project.clj
+++ b/project.clj
@@ -4,7 +4,7 @@
   :license {:name "Apache License, Version 2.0"
             :url "https://www.apache.org/licenses/LICENSE-2.0.html"}
   :dependencies [[org.clojure/clojure "1.12.0"]
-                 [org.clojure/tools.reader "1.5.0"]
+                 [org.clojure/tools.reader "1.5.2"]
                  [aero "1.1.6"]
                  [orchestra "2021.01.01-1"]
                  [expound "0.9.0"]
@@ -27,9 +27,9 @@
                        :main dda.c4k-common.uberjar
                        :uberjar-name "c4k-common-standalone.jar"
                        :dependencies [[org.clojure/tools.cli "1.1.230"]
-                                      [ch.qos.logback/logback-classic "1.5.16"
+                                      [ch.qos.logback/logback-classic "1.5.17"
                                        :exclusions [com.sun.mail/javax.mail]]
-                                      [org.slf4j/jcl-over-slf4j "2.0.16"]]}}
+                                      [org.slf4j/jcl-over-slf4j "2.0.17"]]}}
   :release-tasks [["test"]
                   ["vcs" "assert-committed"]
                   ["change" "version" "leiningen.release/bump-version" "release"]
diff --git a/src/main/cljc/dda/c4k_common/monitoring.cljc b/src/main/cljc/dda/c4k_common/monitoring.cljc
index 9c8d788..3190294 100644
--- a/src/main/cljc/dda/c4k_common/monitoring.cljc
+++ b/src/main/cljc/dda/c4k_common/monitoring.cljc
@@ -20,29 +20,6 @@
 
 (def filter-regex-string int/filter-regex-string)
 
-
-(defn-spec ^{:deprecated "6.4.1"} generate seq?
-  "use generate-config and generate-auth instead"
-  [config ::mon-cfg
-   auth ::mon-auth]
-  [(yaml/load-as-edn "monitoring/namespace.yaml")
-   (yaml/load-as-edn "monitoring/prometheus-cluster-role.yaml")
-   (yaml/load-as-edn "monitoring/prometheus-cluster-role-binding.yaml")
-   (yaml/load-as-edn "monitoring/prometheus-service.yaml")
-   (yaml/load-as-edn "monitoring/prometheus-service-account.yaml")
-   (int/generate-config-secret config auth)
-   (yaml/load-as-edn "monitoring/prometheus-deployment.yaml")
-   (yaml/load-as-edn "monitoring/node-exporter-service-account.yaml")
-   (yaml/load-as-edn "monitoring/node-exporter-cluster-role.yaml")
-   (yaml/load-as-edn "monitoring/node-exporter-cluster-role-binding.yaml")
-   (yaml/load-as-edn "monitoring/node-exporter-daemon-set.yaml")
-   (yaml/load-as-edn "monitoring/node-exporter-service.yaml")
-   (yaml/load-as-edn "monitoring/kube-state-metrics-cluster-role-binding.yaml")
-   (yaml/load-as-edn "monitoring/kube-state-metrics-cluster-role.yaml")
-   (yaml/load-as-edn "monitoring/kube-state-metrics-deployment.yaml")
-   (yaml/load-as-edn "monitoring/kube-state-metrics-service-account.yaml")
-   (yaml/load-as-edn "monitoring/kube-state-metrics-service.yaml")])
-
 (defn-spec generate-config seq?
   []
   [(yaml/load-as-edn "monitoring/namespace.yaml")
@@ -60,7 +37,10 @@
    (yaml/load-as-edn "monitoring/kube-state-metrics-cluster-role.yaml")
    (yaml/load-as-edn "monitoring/kube-state-metrics-deployment.yaml")
    (yaml/load-as-edn "monitoring/kube-state-metrics-service-account.yaml")
-   (yaml/load-as-edn "monitoring/kube-state-metrics-service.yaml")])
+   (yaml/load-as-edn "monitoring/kube-state-metrics-service.yaml")   
+   (yaml/load-as-edn "monitoring/push-gw-deployment.yaml")
+   (yaml/load-as-edn "monitoring/push-gw-service-account.yaml")
+   (yaml/load-as-edn "monitoring/push-gw-service.yaml")])
 
 (defn-spec generate-auth seq?
   [config ::mon-cfg
diff --git a/src/main/cljc/dda/c4k_common/monitoring/monitoring_internal.cljc b/src/main/cljc/dda/c4k_common/monitoring/monitoring_internal.cljc
index 651fead..20efb51 100644
--- a/src/main/cljc/dda/c4k_common/monitoring/monitoring_internal.cljc
+++ b/src/main/cljc/dda/c4k_common/monitoring/monitoring_internal.cljc
@@ -31,6 +31,9 @@
        "monitoring/prometheus-prometheus.yaml"                   (rc/inline "monitoring/prometheus-prometheus.yaml")
        "monitoring/prometheus-service-account.yaml"              (rc/inline "monitoring/prometheus-service-account.yaml")
        "monitoring/prometheus-service.yaml"                      (rc/inline "monitoring/prometheus-service.yaml")
+       "monitoring/push-gw-deployment.yaml"                      (rc/inline "monitoring/push-gw-deployment.yaml")
+       "monitoring/push-gw-service-account.yaml"                 (rc/inline "monitoring/push-gw-service-account.yaml")
+       "monitoring/push-gw-service.yaml"                         (rc/inline "monitoring/push-gw-service.yaml")
        (throw (js/Error. (str "Undefined Resource: " resource-name))))))
 
 
@@ -58,7 +61,7 @@
                                        "traefik_tls_certs_not_after")
                    :kube-state-regex (str "kube_pod_container_status_restarts_total|"
                                           "kube_pod_status_reason|kube_node_status_capacity|kube_node_status_allocatable|"
-                                          "kube_cronjob_status_active|kube_job_status_failed")})
+                                          "kube_cronjob_status_active|kube_job_.*")})
 
 (def filter-regex-string
   (str/join "|" (vals metric-regex)))
diff --git a/src/main/cljc/dda/c4k_common/namespace.cljc b/src/main/cljc/dda/c4k_common/namespace.cljc
index 0e8638a..17d5bc6 100644
--- a/src/main/cljc/dda/c4k_common/namespace.cljc
+++ b/src/main/cljc/dda/c4k_common/namespace.cljc
@@ -3,6 +3,8 @@
    #?(:clj [orchestra.core :refer [defn-spec]]
       :cljs [orchestra.core :refer-macros [defn-spec]])
    [clojure.spec.alpha :as s]
+   [dda.c4k-common.predicate :as cp]
+   [dda.c4k-common.yaml :as yaml]
    [dda.c4k-common.namespace.namespace-internal :as int]))
 
 (s/def ::namespace ::int/namespace)
@@ -17,3 +19,10 @@
   (let [final-config (merge default-config
                             config)]
     [(int/generate-namespace final-config)]))
+
+(defn-spec load-and-adjust-namespace cp/map-or-seq?
+  [file string?
+   namespace ::namespace]
+  (->
+   (yaml/load-as-edn file)
+   (assoc-in [:metadata :namespace] namespace)))
diff --git a/src/main/cljc/dda/c4k_common/postgres.cljc b/src/main/cljc/dda/c4k_common/postgres.cljc
index 64f5fde..4ebc504 100644
--- a/src/main/cljc/dda/c4k_common/postgres.cljc
+++ b/src/main/cljc/dda/c4k_common/postgres.cljc
@@ -79,20 +79,6 @@
                             config)]
     (int/generate-service final-config)))
 
-
-(defn-spec ^{:deprecated "6.4.1"} generate seq?
-  "use generate-config and generate-auth instead"
-  [config pg-config?
-   auth pg-auth?]
-  (let [final-config (merge default-config
-                            config)]
-    [(int/generate-secret final-config auth)
-     (int/generate-persistent-volume final-config)
-     (int/generate-configmap final-config)
-     (int/generate-pvc final-config)
-     (int/generate-deployment final-config)
-     (int/generate-service final-config)]))
-
 (defn-spec generate-config seq?
   [config pg-config?]
   (let [final-config (merge default-config
diff --git a/src/main/resources/monitoring/kube-state-metrics-deployment.yaml b/src/main/resources/monitoring/kube-state-metrics-deployment.yaml
index 6c1b543..6633eb2 100644
--- a/src/main/resources/monitoring/kube-state-metrics-deployment.yaml
+++ b/src/main/resources/monitoring/kube-state-metrics-deployment.yaml
@@ -4,7 +4,6 @@ metadata:
   labels:
     app.kubernetes.io/component: exporter
     app.kubernetes.io/name: kube-state-metrics
-    app.kubernetes.io/version: 2.7.0
   name: kube-state-metrics
   namespace: monitoring
 spec:
@@ -17,13 +16,12 @@ spec:
       labels:
         app.kubernetes.io/component: exporter
         app.kubernetes.io/name: kube-state-metrics
-        app.kubernetes.io/version: 2.7.0
     spec:
       serviceAccountName: kube-state-metrics
       automountServiceAccountToken: true
       containers:
       - name: kube-state-metrics
-        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0
+        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.15.0
         livenessProbe:
           httpGet:
             path: /healthz
diff --git a/src/main/resources/monitoring/prometheus-deployment.yaml b/src/main/resources/monitoring/prometheus-deployment.yaml
index f961a0d..aec7587 100644
--- a/src/main/resources/monitoring/prometheus-deployment.yaml
+++ b/src/main/resources/monitoring/prometheus-deployment.yaml
@@ -19,7 +19,7 @@ spec:
       enableServiceLinks: true
       containers:
         - name: prometheus
-          image: "quay.io/prometheus/prometheus:v2.39.1"
+          image: "quay.io/prometheus/prometheus:v3.2.1"
           imagePullPolicy: "IfNotPresent"
           args:
             - --config.file=/etc/prometheus/prometheus.yaml
diff --git a/src/main/resources/monitoring/prometheus-prometheus.yaml b/src/main/resources/monitoring/prometheus-prometheus.yaml
index 2ffa360..7c1b917 100644
--- a/src/main/resources/monitoring/prometheus-prometheus.yaml
+++ b/src/main/resources/monitoring/prometheus-prometheus.yaml
@@ -62,3 +62,8 @@ scrape_configs:
   - job_name: "prometheus"
     static_configs:
       - targets: ["localhost:9090"]
+
+  - job_name: pushgateway
+    honor_labels: true
+    static_configs:
+    - targets: ['prometheus-pushgateway:9091']
diff --git a/src/main/resources/monitoring/push-gw-deployment.yaml b/src/main/resources/monitoring/push-gw-deployment.yaml
new file mode 100644
index 0000000..e1cc2f1
--- /dev/null
+++ b/src/main/resources/monitoring/push-gw-deployment.yaml
@@ -0,0 +1,52 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app.kubernetes.io/name: prometheus-pushgateway
+  name: prometheus-pushgateway
+  namespace: monitoring
+spec:
+  replicas: 1
+  strategy:
+    type: Recreate
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: prometheus-pushgateway
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: prometheus-pushgateway
+    spec:
+      serviceAccountName: prometheus-pushgateway
+      automountServiceAccountToken: true
+      containers:
+        - name: pushgateway
+          image: "quay.io/prometheus/pushgateway:v1.11.0"
+          imagePullPolicy: IfNotPresent
+          ports:
+            - name: metrics
+              containerPort: 9091
+              protocol: TCP
+          livenessProbe:
+            httpGet:
+              path: /-/healthy
+              port: 9091
+            initialDelaySeconds: 10
+            timeoutSeconds: 10
+          readinessProbe:
+            httpGet:
+              path: /-/ready
+              port: 9091
+            initialDelaySeconds: 10
+            timeoutSeconds: 10
+          volumeMounts:
+            - name: storage-volume
+              mountPath: "/data"
+              subPath: ""
+      securityContext:
+        fsGroup: 65534
+        runAsNonRoot: true
+        runAsUser: 65534
+      volumes:
+        - name: storage-volume
+          emptyDir: {}
diff --git a/src/main/resources/monitoring/push-gw-service-account.yaml b/src/main/resources/monitoring/push-gw-service-account.yaml
new file mode 100644
index 0000000..823e410
--- /dev/null
+++ b/src/main/resources/monitoring/push-gw-service-account.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  labels:
+    app.kubernetes.io/name: prometheus-pushgateway
+  name: prometheus-pushgateway
+  namespace: monitoring
+automountServiceAccountToken: true
\ No newline at end of file
diff --git a/src/main/resources/monitoring/push-gw-service.yaml b/src/main/resources/monitoring/push-gw-service.yaml
new file mode 100644
index 0000000..0f5188e
--- /dev/null
+++ b/src/main/resources/monitoring/push-gw-service.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app.kubernetes.io/name: prometheus-pushgateway
+  name: prometheus-pushgateway
+  namespace: monitoring
+spec:
+  type: ClusterIP
+  ports:
+    - port: 9091
+      targetPort: 9091
+      protocol: TCP
+      name: http
+  selector:
+    app.kubernetes.io/name: prometheus-pushgateway
\ No newline at end of file
diff --git a/src/test/cljc/dda/c4k_common/monitoring_test.cljc b/src/test/cljc/dda/c4k_common/monitoring_test.cljc
index 1efc434..346d776 100644
--- a/src/test/cljc/dda/c4k_common/monitoring_test.cljc
+++ b/src/test/cljc/dda/c4k_common/monitoring_test.cljc
@@ -19,9 +19,7 @@
 
 
 (deftest should-generate
-  (is (= 17
-         (count (cut/generate conf auth))))
-  (is (= 16
+  (is (= 19
          (count (cut/generate-config))))
   (is (= 1
          (count (cut/generate-auth conf auth)))))
diff --git a/src/test/cljc/dda/c4k_common/namespace_test.cljc b/src/test/cljc/dda/c4k_common/namespace_test.cljc
index f400516..2c150ca 100644
--- a/src/test/cljc/dda/c4k_common/namespace_test.cljc
+++ b/src/test/cljc/dda/c4k_common/namespace_test.cljc
@@ -2,10 +2,19 @@
   (:require
    #?(:clj [clojure.test :refer [deftest is are testing run-tests]]
       :cljs [cljs.test :refer-macros [deftest is are testing run-tests]])
+   #?(:cljs [shadow.resource :as rc])
    [clojure.spec.test.alpha :as st]
+   [dda.c4k-common.yaml :as yaml]
    [dda.c4k-common.namespace :as cut]))
 
 (st/instrument `cut/generate)
+(st/instrument `cut/load-and-adjust-namespace)
+
+#?(:cljs
+   (defmethod yaml/load-resource :namespace-test [resource-name]
+     (case resource-name
+       "namespace-test/dummy.yaml" (rc/inline "namespace-test/dummy.yaml")
+       (throw (js/Error. (str "Undefined Resource: " resource-name))))))
 
 (deftest should-generate-simple-ingress
   (is (= [{:apiVersion "v1" 
@@ -15,4 +24,11 @@
   (is (= [{:apiVersion "v1"
            :kind "Namespace"
            :metadata {:name "myapp"}}]
-         (cut/generate {:namespace "myapp"}))))
\ No newline at end of file
+         (cut/generate {:namespace "myapp"}))))
+
+(deftest should-load-and-replace-ns
+  (is (= {:apiVersion "v1"
+          :kind "Dummy"
+          :metadata {:name "dummy" 
+                     :namespace "xy"}}
+         (cut/load-and-adjust-namespace "namespace-test/dummy.yaml" "xy"))))
\ No newline at end of file
diff --git a/src/test/cljc/dda/c4k_common/postgres_test.cljc b/src/test/cljc/dda/c4k_common/postgres_test.cljc
index 4e4cb5b..e0a853e 100644
--- a/src/test/cljc/dda/c4k_common/postgres_test.cljc
+++ b/src/test/cljc/dda/c4k_common/postgres_test.cljc
@@ -73,10 +73,6 @@
 
 
 (deftest should-generate
-  (is (= 6
-         (count (cut/generate {}
-                              {:postgres-db-user "user"
-                               :postgres-db-password "password"}))))
   (is (= 5
          (count (cut/generate-config {}))))
   (is (= 1
diff --git a/src/test/resources/namespace-test/dummy.yaml b/src/test/resources/namespace-test/dummy.yaml
new file mode 100644
index 0000000..cf7f183
--- /dev/null
+++ b/src/test/resources/namespace-test/dummy.yaml
@@ -0,0 +1,5 @@
+apiVersion: v1
+kind: Dummy
+metadata:
+  name: dummy
+  namespace: default
\ No newline at end of file