diff --git a/charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yaml b/charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yaml index 50134c8f2e..c34d635de1 100644 --- a/charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yaml +++ b/charts/base-cluster/templates/cert-manager/rules/certificate-expiration.yaml @@ -1,8 +1,8 @@ {{- if .Values.monitoring.prometheus.enabled -}} -{{- include "base-cluster.helm.resourceWithDependencies" (dict "name" "certificate-expiration" "namespace" "cert-manager" "resource" (include "base-cluster.cert-manager.expirationRule" . ) "render" false "dependencies" (dict "monitoring" "kube-prometheus-stack") "context" $ "additionalLabels" (dict "app.kubernetes.io/component" "prometheus" "app.kubernetes.io/part-of" "cert-manager")) -}} + {{- include "base-cluster.helm.resourceWithDependencies" (dict "name" "certificate-expiration" "namespace" "cert-manager" "resource" (include "base-cluster.cert-manager.expirationAlert" . ) "render" false "dependencies" (dict "monitoring" "kube-prometheus-stack") "context" $ "additionalLabels" (dict "app.kubernetes.io/component" "prometheus" "app.kubernetes.io/part-of" "cert-manager")) -}} {{- end -}} -{{- define "base-cluster.cert-manager.expirationRule" -}} +{{- define "base-cluster.cert-manager.expirationAlert" -}} apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: diff --git a/charts/base-cluster/templates/flux/rules/flux-status.yaml b/charts/base-cluster/templates/flux/rules/flux-status.yaml index fca347a76e..f5b92a6ec6 100644 --- a/charts/base-cluster/templates/flux/rules/flux-status.yaml +++ b/charts/base-cluster/templates/flux/rules/flux-status.yaml @@ -1,5 +1,5 @@ -{{- if .Values.monitoring.prometheus.enabled }} -{{- include "base-cluster.helm.resourceWithDependencies" (dict "name" "flux-status" "resource" (include "base-cluster.flux.statusRule" .) "render" false "dependencies" (dict "monitoring" "kube-prometheus-stack") "context" $ "additionalLabels" (dict "app.kubernetes.io/component" "prometheus" "app.kubernetes.io/part-of" "flux")) }} +{{- if .Values.monitoring.prometheus.enabled -}} + {{- include "base-cluster.helm.resourceWithDependencies" (dict "name" "flux-status" "resource" (include "base-cluster.flux.statusRule" .) "render" false "dependencies" (dict "monitoring" "kube-prometheus-stack") "context" $ "additionalLabels" (dict "app.kubernetes.io/component" "prometheus" "app.kubernetes.io/part-of" "flux")) -}} {{- end -}} {{- define "base-cluster.flux.statusRule" -}} diff --git a/charts/base-cluster/templates/global/rules/deprecated-apis.yaml b/charts/base-cluster/templates/global/rules/deprecated-apis.yaml new file mode 100644 index 0000000000..da104e512e --- /dev/null +++ b/charts/base-cluster/templates/global/rules/deprecated-apis.yaml @@ -0,0 +1,28 @@ +{{- if .Values.monitoring.prometheus.enabled -}} + {{- include "base-cluster.helm.resourceWithDependencies" (dict "name" "deprecated-apis" "namespace" "monitoring" "resource" (include "base-cluster.monitoring.deprecatedAPIsAlert" . ) "render" false "dependencies" (dict "monitoring" "kube-prometheus-stack") "context" $ "additionalLabels" (dict "app.kubernetes.io/component" "prometheus")) -}} +{{- end -}} + +{{- define "base-cluster.monitoring.deprecatedAPIsAlert" -}} +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + name: deprecated-apis + namespace: monitoring + labels: {{- include "common.labels.standard" . | nindent 4 }} + monitoring/provisioned-by: base-cluster + app.kubernetes.io/component: prometheus +spec: + groups: + - name: deprecated-apis + rules: + - alert: DeprecatedAPIUsed + annotations: + description: {{ "The API group {{ $labels.group }}/{{ $labels.version }} resource {{ $labels.resource }}/{{ $labels.subresource }} is still being used. (Will be removed in Kubernetes release {{ $labels.removed_release }})" | quote }} + summary: Deprecated APIs are being used. + expr: |- + sum(apiserver_requested_deprecated_apis * on(group, version, resource, subresource, removed_release) group_right() apiserver_request_total) by (group, version, resource, subresource, removed_release) > 0 + for: 1d + labels: + severity: critical + period: WorkingHours + {{- end -}} diff --git a/charts/base-cluster/templates/nfs-server-provisioner/rules/storage-size.yaml b/charts/base-cluster/templates/nfs-server-provisioner/rules/storage-size.yaml index 084dfdb98f..a91c1a3ab1 100644 --- a/charts/base-cluster/templates/nfs-server-provisioner/rules/storage-size.yaml +++ b/charts/base-cluster/templates/nfs-server-provisioner/rules/storage-size.yaml @@ -1,5 +1,5 @@ -{{- if .Values.storage.readWriteMany.enabled }} - {{- include "base-cluster.helm.resourceWithDependencies" (dict "name" "storage-readwritemany-size" "resource" (include "base-cluster.storage.readWriteMany.size" .) "render" false "dependencies" (dict "monitoring" "kube-prometheus-stack") "context" $ "additionalLabels" (dict "app.kubernetes.io/component" "prometheus" "app.kubernetes.io/part-of" "nfs-server-provisioner")) }} +{{- if .Values.storage.readWriteMany.enabled -}} + {{- include "base-cluster.helm.resourceWithDependencies" (dict "name" "storage-readwritemany-size" "resource" (include "base-cluster.storage.readWriteMany.size" .) "render" false "dependencies" (dict "monitoring" "kube-prometheus-stack") "context" $ "additionalLabels" (dict "app.kubernetes.io/component" "prometheus" "app.kubernetes.io/part-of" "nfs-server-provisioner")) -}} {{- end -}} {{- define "base-cluster.storage.readWriteMany.size" -}}