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..bb99208 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)))))) 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..c223e65 --- /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: x-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)))))