cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

commit a4f9e638c8c33be95740d66307e95af5e3257248
parent 3f112c7ae07bd8d247a119f3f58f06bc87360ffa
Author: MTRNord <mtrnord1@gmail.com>
Date:   Tue,  6 Jun 2023 19:30:29 +0200

try to fix config

Diffstat:
Mapps/base/kube-prometheus-stack/release.yaml | 332+++++++++++++++++++++++++++++++++++++++++++------------------------------------
Mapps/production/kube-prometheus-stack-values.yaml | 283++++++++++++++++++++++++++++++++++++-------------------------------------------
2 files changed, 307 insertions(+), 308 deletions(-)

diff --git a/apps/base/kube-prometheus-stack/release.yaml b/apps/base/kube-prometheus-stack/release.yaml @@ -1,157 +1,183 @@ apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: - name: kube-prometheus - namespace: monitoring + name: kube-prometheus + namespace: monitoring spec: - interval: 5m - chart: - spec: - version: "46.6.x" - chart: kube-prometheus-stack - sourceRef: - kind: HelmRepository - name: prometheus-community - interval: 60m - install: - crds: Create - upgrade: - crds: CreateReplace - # Force recreation due to Helm not properly patching Deployment with e.g. added port, - # causing spurious drift detection - force: true - # https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml - values: - smtp: - existingSecret: "smtp-auth-secret" - prometheus: - prometheusSpec: - podMonitorSelectorNilUsesHelmValues: false - serviceMonitorSelectorNilUsesHelmValues: false - storageSpec: - volumeClaimTemplate: - spec: - storageClassName: nfs-client - accessModes: ["ReadWriteOnce"] - resources: - requests: - storage: 50Gi - selector: {} - alertmanager: - alertmanagerSpec: - useExistingSecret: true - namespaceOverride: monitoring - grafana: - extraSecretMounts: - - name: auth-generic-oauth-secret-mount - secretName: auth-generic-oauth-secret - defaultMode: 0440 - mountPath: /etc/secrets/auth_generic_oauth - readOnly: true - defaultDashboardsTimezone: Europe/Berlin - dashboardProviders: - dashboardproviders.yaml: - apiVersion: 1 - providers: - - name: "monitoring" - orgId: 1 - folder: "Monitoring" - type: file - disableDeletion: true - editable: false - updateIntervalSeconds: 10 - allowUiUpdates: false - options: - path: /var/lib/grafana/dashboards/monitoring - - name: "matrix" - orgId: 1 - folder: "Matrix" - type: file - disableDeletion: true - editable: false - updateIntervalSeconds: 10 - allowUiUpdates: false - options: - path: /var/lib/grafana/dashboards/matrix - - name: "nats" - orgId: 1 - folder: "Nats" - type: file - disableDeletion: true - editable: false - updateIntervalSeconds: 10 - allowUiUpdates: false - options: - path: /var/lib/grafana/dashboards/nats - dashboards: - monitoring: - felix-dashboard: - url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/felix-dashboard.json - typha-dashboard: - url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/typha-dashboard.json - cilium-dashboard: - url: https://raw.githubusercontent.com/cilium/cilium/v1.13.1/examples/kubernetes/addons/prometheus/files/grafana-dashboards/cilium-dashboard.json - cilium-operator-dashboard: - url: https://raw.githubusercontent.com/cilium/cilium/v1.13.1/examples/kubernetes/addons/prometheus/files/grafana-dashboards/cilium-operator-dashboard.json - hubble-dashboard: - url: https://raw.githubusercontent.com/cilium/cilium/v1.13.1/examples/kubernetes/addons/prometheus/files/grafana-dashboards/hubble-dashboard.json - postgres-dashboard: - url: https://raw.githubusercontent.com/prometheus-community/postgres_exporter/master/postgres_mixin/dashboards/postgres-overview.json - kube-router-dashboard: - url: https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/dashboard/kube-router.json - nats: - nats-jetstream: - url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/nats.json - matrix: - synapse-dashboard: - url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/synapse.json - dendrite-dashboard: - url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/dendrite.json - matrix-media-repo-dashboard: - url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/matrix-media-repo.json - grafana.ini: - paths: - data: /var/lib/grafana/ - logs: /var/log/grafana - plugins: /var/lib/grafana/plugins - provisioning: /etc/grafana/provisioning - analytics: - check_for_updates: true - log: - mode: console - grafana_net: - url: https://grafana.net - auth.generic_oauth: - enabled: true - scopes: openid email profile roles - name: OAuth - allow_sign_up: true - client_id: $__file{/etc/secrets/auth_generic_oauth/client_id} - client_secret: $__file{/etc/secrets/auth_generic_oauth/client_secret} - auth_url: "https://keycloak.midnightthoughts.space/realms/master/protocol/openid-connect/auth" - token_url: "https://keycloak.midnightthoughts.space/realms/master/protocol/openid-connect/token" - api_url: "https://keycloak.midnightthoughts.space/realms/master/protocol/openid-connect/userinfo" - role_attribute_path: contains(resource_access.grafana.roles[*], 'admin') && 'Admin' || contains(resource_access.grafana.roles[*], 'editor') && 'Editor' || 'Viewer' - imageRenderer: - enabled: true - kubeProxy: - enabled: false - - postRenderers: - - kustomize: - patches: - - target: - # Ignore these objects from Flux diff as they are mutated from chart hooks - kind: (ValidatingWebhookConfiguration|MutatingWebhookConfiguration) - name: kube-prometheus-stack-admission - patch: | - - op: add - path: /metadata/annotations/helm.toolkit.fluxcd.io~1driftDetection - value: disabled - - target: - # Ignore these objects from Flux diff as they are mutated at apply time but not at dry-run time - kind: PrometheusRule - patch: | - - op: add - path: /metadata/annotations/helm.toolkit.fluxcd.io~1driftDetection - value: disabled + interval: 5m + chart: + spec: + version: 46.6.x + chart: kube-prometheus-stack + sourceRef: + kind: HelmRepository + name: prometheus-community + interval: 60m + install: + crds: Create + upgrade: + crds: CreateReplace + # Force recreation due to Helm not properly patching Deployment with e.g. added port, + # causing spurious drift detection + force: true + # https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml + values: + smtp: + existingSecret: smtp-auth-secret + prometheus: + prometheusSpec: + podMonitorSelectorNilUsesHelmValues: false + serviceMonitorSelectorNilUsesHelmValues: false + storageSpec: + volumeClaimTemplate: + spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50Gi + selector: {} + alertmanager: + alertmanagerSpec: + useExistingSecret: true + namespaceOverride: monitoring + grafana: + extraSecretMounts: + - name: auth-generic-oauth-secret-mount + secretName: auth-generic-oauth-secret + defaultMode: 288 + mountPath: /etc/secrets/auth_generic_oauth + readOnly: true + defaultDashboardsTimezone: Europe/Berlin + dashboardProviders: + dashboardproviders.yaml: + apiVersion: 1 + providers: + - name: monitoring + orgId: 1 + folder: Monitoring + type: file + disableDeletion: true + editable: false + updateIntervalSeconds: 10 + allowUiUpdates: false + options: + path: /var/lib/grafana/dashboards/monitoring + - name: matrix + orgId: 1 + folder: Matrix + type: file + disableDeletion: true + editable: false + updateIntervalSeconds: 10 + allowUiUpdates: false + options: + path: /var/lib/grafana/dashboards/matrix + - name: nats + orgId: 1 + folder: Nats + type: file + disableDeletion: true + editable: false + updateIntervalSeconds: 10 + allowUiUpdates: false + options: + path: /var/lib/grafana/dashboards/nats + dashboards: + monitoring: + felix-dashboard: + url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/felix-dashboard.json + typha-dashboard: + url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/typha-dashboard.json + cilium-dashboard: + url: https://raw.githubusercontent.com/cilium/cilium/v1.13.1/examples/kubernetes/addons/prometheus/files/grafana-dashboards/cilium-dashboard.json + cilium-operator-dashboard: + url: https://raw.githubusercontent.com/cilium/cilium/v1.13.1/examples/kubernetes/addons/prometheus/files/grafana-dashboards/cilium-operator-dashboard.json + hubble-dashboard: + url: https://raw.githubusercontent.com/cilium/cilium/v1.13.1/examples/kubernetes/addons/prometheus/files/grafana-dashboards/hubble-dashboard.json + postgres-dashboard: + url: https://raw.githubusercontent.com/prometheus-community/postgres_exporter/master/postgres_mixin/dashboards/postgres-overview.json + kube-router-dashboard: + url: https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/dashboard/kube-router.json + nats: + nats-jetstream: + url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/nats.json + matrix: + synapse-dashboard: + url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/synapse.json + dendrite-dashboard: + url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/dendrite.json + matrix-media-repo-dashboard: + url: https://git.nordgedanken.dev/kubernetes/grafana/raw/branch/main/matrix-media-repo.json + grafana.ini: + smtp: + enabled: true + host: mail.nordgedanken.dev:465 + from_address: ops@nordgedanken.dev + user: ops@nordgedanken.dev + password: ENC[AES256_GCM,data:gAPdou+t52tu,iv:aKAchWRPLvmiTnGviUHz25C82yzPsAfcFPgTr30PxPo=,tag:dpFAHbVZPZrsru2k48Waow==,type:str] + paths: + data: ENC[AES256_GCM,data:vSfZtzoRLiR4yHioUbFrS0c=,iv:lalX2QXqhf+v5zNnzYcPxlM/LjFO7C80FMA9PN5P5uo=,tag:+TDRv7goiSdKCSBFPVoxtA==,type:str] + logs: /var/log/grafana + plugins: /var/lib/grafana/plugins + provisioning: /etc/grafana/provisioning + analytics: + check_for_updates: true + log: + mode: console + grafana_net: + url: https://grafana.net + auth.generic_oauth: + enabled: true + scopes: openid email profile roles + name: OAuth + allow_sign_up: true + client_id: $__file{/etc/secrets/auth_generic_oauth/client_id} + client_secret: $__file{/etc/secrets/auth_generic_oauth/client_secret} + auth_url: https://keycloak.midnightthoughts.space/realms/master/protocol/openid-connect/auth + token_url: https://keycloak.midnightthoughts.space/realms/master/protocol/openid-connect/token + api_url: https://keycloak.midnightthoughts.space/realms/master/protocol/openid-connect/userinfo + role_attribute_path: contains(resource_access.grafana.roles[*], 'admin') && 'Admin' || contains(resource_access.grafana.roles[*], 'editor') && 'Editor' || 'Viewer' + imageRenderer: + enabled: true + kubeProxy: + enabled: false + postRenderers: + - kustomize: + patches: + - target: + # Ignore these objects from Flux diff as they are mutated from chart hooks + kind: (ValidatingWebhookConfiguration|MutatingWebhookConfiguration) + name: kube-prometheus-stack-admission + patch: | + - op: add + path: /metadata/annotations/helm.toolkit.fluxcd.io~1driftDetection + value: disabled + - target: + # Ignore these objects from Flux diff as they are mutated at apply time but not at dry-run time + kind: PrometheusRule + patch: | + - op: add + path: /metadata/annotations/helm.toolkit.fluxcd.io~1driftDetection + value: disabled +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYSndZNyt4bzVPZUNGZ2R1 + c2xhQmVtSnd5K2RFanJzaVNVaXdEU3ZZejFvCklqSTBiU2NXL0UyKzQxTGxrbnZo + OWxHeEpVc2p0RGRzd1R6OFFUUnJPUDQKLS0tIE54RkxDSWs5QXZ2QWVoeFJTOFpY + OHg4d3FycE9NWWc2WlVyS1NqUEtuNkEKjbwYqSr3FPBrPp71oYz/eKvG3QQVWXEs + //5ic9Uw/7tR0BrA1oc6SP6jtkJ+L5KCL02ZlEi5u1PQQBL7XEEAMA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2023-06-06T17:30:09Z" + mac: ENC[AES256_GCM,data:/om6L8cpAbNXVZ07J/UE90o6zexyGNmGqwxR6YpGhLBwHycyodaZT8pnYG12THR2FSbNJqIxsx4oEMJkbEvIX4pQenI9wjKYrGT+mXqHTHTR7UNctv7hVthy9Isly5tfu+vYkXc6/LQixgvSWYxVh09ziziFScLMrSWN2QL3Fmk=,iv:9ZZZ26CHmzveb3iCmh3pYXzmmZJZ2lo3juEknROKsJs=,tag:7kblnoA5KbycGjJNkh4bSg==,type:str] + pgp: [] + encrypted_regex: ^(data|stringData|password|registration_shared_secret|shared_secret)$ + version: 3.7.3 diff --git a/apps/production/kube-prometheus-stack-values.yaml b/apps/production/kube-prometheus-stack-values.yaml @@ -1,159 +1,132 @@ apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: - name: kube-prometheus - namespace: monitoring + name: kube-prometheus + namespace: monitoring spec: - values: - grafana: - alerting: - rules.yaml: - apiVersion: 1 - groups: - - orgId: 1 - name: Matrix Synapse - folder: Matrix - interval: 1m - rules: - - uid: b6db960c-c0bd-4d4f-b0f1-e1f216ec81cc - title: DNSQueryRefusedError - condition: C - data: - - refId: ENC[AES256_GCM,data:sA==,iv:flf1GEOSB3IEDlF8QhBqkZJPGYItij3Hl+KjxuF9bYI=,tag:Pzo6J+KbRumD3PQK0N5e4w==,type:str] - queryType: ENC[AES256_GCM,data:uGJQ+e8=,iv:h4/KwF3VyhBw5ZxqDieOvm0woTMLf/0TdVB0RFs8gjg=,tag:7db1tN1hWxWFmuRJAZb5+A==,type:str] - relativeTimeRange: - from: ENC[AES256_GCM,data:nQ0d,iv:zuwIpU/kfljNJYrVz8gR5AMKlgsh/30rYAGZey0qF0E=,tag:0Rq6eUSYgxjKeS/CbCuAqg==,type:int] - to: ENC[AES256_GCM,data:pQ==,iv:L1/ENNSwOZGHLJ1BMuNe8HPwNCRoU/vx04/e7fvWjfg=,tag:e9tYi6JSxjo64+oG/AhlJg==,type:int] - datasourceUid: ENC[AES256_GCM,data:Vpvh/A==,iv:WRPrkJAa3D6Ob5LlOKGyDaTRDTtIqgMbV+ZUUOW9sq4=,tag:vviLXdMchGT2Iehg3MJIEQ==,type:str] - model: - datasource: - type: ENC[AES256_GCM,data:50Q0fQ==,iv:psQQQN6Brwr7e5iHKdoKiG4574v2WhbfhfNPDjSzwk0=,tag:1jsJRO2AAWVb+QIPdesUUQ==,type:str] - editorMode: ENC[AES256_GCM,data:r7/R5g==,iv:qiUL+r3HnEXyLZ3J//aWpTcSqxzPdOElgu/B5nVI1rI=,tag:RLPAO/VcK5TIVbdpQsKt1Q==,type:str] - expr: ENC[AES256_GCM,data:gVgtzZ7RXUx2ZfnzHX02+42oPVx8+pymrjRl1qdVje6Bs/mXFkRXImGZt0heAMOcRcQUmJeyTSadvX5TVZiUuHY6O3V/8ojnoy4uyGEvzvll4MxrMPahRBmGBDztwxc=,iv:BHRWNWFexpkUAOz61XM0G1HQrCirwM0Ifib8RBvtnbw=,tag:mbpmipvVgneV3SDll8cAiA==,type:str] - hide: ENC[AES256_GCM,data:TIGwm6M=,iv:Cd6WAjCKRfZjFUx3i+jbQqY7uSBSYCfinw4y6fIrMBk=,tag:UXZV/EkMtf45biETW7DlLQ==,type:bool] - intervalMs: ENC[AES256_GCM,data:+DFzkw==,iv:HzIzj2upIXKOve6t8UqImqDoKRIN2fiCmEu50+dZe9U=,tag:fz8fOmefUnqc4NqhN2jTUw==,type:int] - maxDataPoints: ENC[AES256_GCM,data:oCoZNyg=,iv:HTrVAd/sUVgi1NORqW7geweWGA0kfOcl+t+VLOwMobI=,tag:q5HWux3PqMBbab5IhT9eig==,type:int] - queryType: ENC[AES256_GCM,data:ofEU2j8=,iv:v8e45NXq/GVaO2cHXycPWfAo7drtyJb7ZIUUWepfqy4=,tag:As011Ykh2YFdIS24ciQLOg==,type:str] - refId: ENC[AES256_GCM,data:Sg==,iv:uD8MLEZ0Dbu4vRMbYyYaOurd7EJWRJXWcgCOjm6/YoQ=,tag:WvCT5OsNbXMJ9ljltIgQpg==,type:str] - - refId: ENC[AES256_GCM,data:bg==,iv:o0ay9T/VqYWxenLQVhB6Kdq0eEOx6HfvSxcBVcGyk+s=,tag:poVMsmSVtUo1WkXSW94ymQ==,type:str] - relativeTimeRange: - from: ENC[AES256_GCM,data:xC2S,iv:vm1LRdnFhGfM5fe0Qsq5stOABTh0H2XskvXFEuRRVV8=,tag:9LB+HDHZcQeCqFQQjDz9Jg==,type:int] - to: ENC[AES256_GCM,data:Zw==,iv:/Y+t8T9RrTnbLGbEtckx7CEqUISMoO1LgWvOa4CB1cg=,tag:xeW8OPq/dNng3Yua9O+zLQ==,type:int] - datasourceUid: ENC[AES256_GCM,data:17+qleDQMuA=,iv:8tl/ztQ/YBk0Ucd8y64DHu53qZPHPo2Hfwh4GywCT+I=,tag:ZdjKfUOtU0gPgZENcMMNbg==,type:str] - model: - conditions: - - evaluator: - params: [] - type: ENC[AES256_GCM,data:1to=,iv:SFKfUNeE1JwWErkE+C2IER5o/wkMFPI/5s1y7Gjv5OE=,tag:g443DikMyjrNmd5XD8SAbQ==,type:str] - operator: - type: ENC[AES256_GCM,data:hXFP,iv:m0hiSOm8Y/7u0iXhc0655oExneYQzIP55EAvu0LZY3o=,tag:gcdgr1e9rVEsw41UdTFCFg==,type:str] - query: - params: - - ENC[AES256_GCM,data:iA==,iv:YAO8Qqm/3Q1Qii/aXon1xZeAzh4Azu65R2Cc5t3HmMY=,tag:F+ud0CiX8pqjFyGhOlnJgg==,type:str] - reducer: - params: [] - type: ENC[AES256_GCM,data:yJnEHQ==,iv:n9SRFJh4zeAsNV3zPza6F4xXganI3J9EkeNKou9FLxU=,tag:XYRk1ePRL15jugxMsTUaVw==,type:str] - type: ENC[AES256_GCM,data:4d1sP98=,iv:a/IODm3PSh+iDe7MQWjmDL9RGbrMUCSBoWHgrSdkIY0=,tag:NsETwelK5+r4gbC61LUWKw==,type:str] - datasource: - type: ENC[AES256_GCM,data:5bAZ9jeyIPI=,iv:7tfXltlFxwjqPbaonH7MQ3Wlb5anaxpOJgwOy5x7ZcM=,tag:BN1cvck0Z4D2E9+apVHWAw==,type:str] - uid: ENC[AES256_GCM,data:Y4bQK1NWIL4=,iv:wlEoZkCuyjy5sieoJN8HRF8MJ1Bs48PiZ12F0zvwmyo=,tag:+Cp0pFmihrt6uaEhUHWMQA==,type:str] - expression: ENC[AES256_GCM,data:zw==,iv:Z1CwZKj73VoZ5rJuUCIZBI/d4IQwHIbmnCR/6g4I+LI=,tag:eYybBgFm4AZzmygMin1vGw==,type:str] - hide: ENC[AES256_GCM,data:I31y0SU=,iv:Ib2R1+u6V582WKIEWGoJQ4NaPqMlS4zpr8jb5yEwflc=,tag:xgKefx6CegJlMcNuTbiQAQ==,type:bool] - intervalMs: ENC[AES256_GCM,data:u+YZ9g==,iv:IJRC8EhDYVIKXMD8I9m6kC4Pa+7aQHAmy9+JxUTv+AU=,tag:zC6Y5MjF6ZwXs9Dh1BLbpg==,type:int] - maxDataPoints: ENC[AES256_GCM,data:e8TdEe4=,iv:er7mb+MymTf8kWXEsUWUoby22umXt9RmCbi7PqN5IKk=,tag:gNwQhHFvP4KH1Q1njIfpMg==,type:int] - reducer: ENC[AES256_GCM,data:pGs5Ag==,iv:OXmFJSvGVyOq5TE9Y34KhO1c/VkzGgJJEC2JCkASVhs=,tag:qAi6CDUz6p2wJ0K5OnAwDA==,type:str] - refId: ENC[AES256_GCM,data:iA==,iv:5pP+7KFwDLL7k3vSAb3nE76+/vuysmrJnQnghBwoNPg=,tag:Iz6IQVcTzYF9WX5spcF/2w==,type:str] - type: ENC[AES256_GCM,data:NhDuQHO0,iv:0RYRi79ADo/cHVYP75jCJiu3RM2D5rpuM308D2o6MBE=,tag:JuHk6DiNsAf/9Dp99HU6fg==,type:str] - - refId: ENC[AES256_GCM,data:+g==,iv:6pFRdQbcdba7Kl+VBStNR0PvBhdmtHAylitM4T7J6+s=,tag:4DmByXwld6MgFxHwGCATWg==,type:str] - relativeTimeRange: - from: ENC[AES256_GCM,data:wBsn,iv:uNvWjaJTfgk9eA6PYOJKbBbGgEFC2ICpc+iJVBJVPLs=,tag:lCE7jKmUrQAcdUEp7kx57w==,type:int] - to: ENC[AES256_GCM,data:YA==,iv:b3Qdvxokd0SZuROnEGT+DV/qCx3qrPm9y/SLO1+L+vM=,tag:OXwU8lB481uAXpezcgqVPQ==,type:int] - datasourceUid: ENC[AES256_GCM,data:pyrN5rDjtLA=,iv:srTUsBuIKXrhYHbUN4VQS/Qa+MXp2ZTUKZpPgVEcD00=,tag:lXzLuegRRIJyuy6abWVjnQ==,type:str] - model: - conditions: - - evaluator: - params: - - ENC[AES256_GCM,data:zw==,iv:hABFzXNS9zk4kywnFxCIQ8byF+V9gpHh3FxEBg0oLE8=,tag:8U3+2TFq6Q+f3qXV0J0TFQ==,type:int] - type: ENC[AES256_GCM,data:OK0=,iv:chAL8qFLjYLsDqMhKyeBny6MzhMKp0OhY4SKf4lV0oU=,tag:KzsNzlDdlqtF7Y2dletMlQ==,type:str] - operator: - type: ENC[AES256_GCM,data:MXNg,iv:j4oojrOXR3K4G0BL+6pU/I5yWd3acZgyc8vHXwSaalQ=,tag:7LWL2gFNYOTvGYhV4w0t3Q==,type:str] - query: - params: - - ENC[AES256_GCM,data:tA==,iv:bxoAikXjDRKrF5FPgFZDtZ26VpoZa6B35YL3UKaD7iU=,tag:W405kW14wUkiiwsxIQpwuQ==,type:str] - reducer: - params: [] - type: ENC[AES256_GCM,data:1qEKlA==,iv:6HHNU4opEEgVWysYe9nR11OS5fqdghp7RhZSRZzjOIE=,tag:2d/gQKmK16yXLJwbfW2PpA==,type:str] - type: ENC[AES256_GCM,data:fpOD9r8=,iv:mqKdrKvbsPpYlbOSIU0Kpd0Ok4GRtpf019hmIBVs/vc=,tag:7hbd4jwiU9pdl/AuwODJoQ==,type:str] - datasource: - type: ENC[AES256_GCM,data:vfMGd734gFc=,iv:fN4tdhbcBzDwqCMyxY0t0EHUdJzEoviNH4GNniZAxTs=,tag:8krK6rs9ZGytP7aJFyMH+Q==,type:str] - uid: ENC[AES256_GCM,data:2oICRJAavY8=,iv:AxGNeHH8CzDx/uNQB7XkKkbxslcR8yhFxJOk3jwraWo=,tag:MXTAW1l+jYLWMJN9lF8foA==,type:str] - expression: ENC[AES256_GCM,data:iw==,iv:geuVpfpMnmZvsGhzXgbFlX7IQoJWPZqp1lcbVThoOBk=,tag:whqsGWjZ0BfalSoc6D0l0w==,type:str] - hide: ENC[AES256_GCM,data:DmjwRJ4=,iv:dInm+RNA8E5/9bHdRiFHA5H0zDypZh4CZ2hYuOnrbuM=,tag:6ngxP14a9nswRnlONfhpIQ==,type:bool] - intervalMs: ENC[AES256_GCM,data:som69g==,iv:1rxjsk5JWPyQ7aEDVPDA1aRkL9bB2N4Uc/OV0Ps8Bmc=,tag:OuPa1Qbe0FFz29QJdoMFWA==,type:int] - maxDataPoints: ENC[AES256_GCM,data:OeB+ccY=,iv:YHegc5hgo4cKbxetIHxbGENazbgmiH70oFH7sosWxW4=,tag:bAijG6JXSHlClus/qTtVcA==,type:int] - refId: ENC[AES256_GCM,data:sQ==,iv:rGTae/4sJD4rzTebEmYAvNNmpusmzvu3UotEQjsBAlA=,tag:GY1luyGCjhHcq4M9q5JR8w==,type:str] - type: ENC[AES256_GCM,data:X9KCvfSw6Ht+,iv:WSGRVhUKsEOUsKzI5Z89UA1LtDZPNnA+okAlqcUwSJM=,tag:hCi0kdRa6H1iB3vs6oAPRw==,type:str] - noDataState: NoData - execErrState: Error - for: 5m - annotations: - summary: Matrix Synapse DNS Errors are higher than usual - isPaused: false - contactpoints.yaml: - apiVersion: 1 - contactPoints: - - orgId: 1 - name: MidnightThoughts Ops - receivers: - - uid: "1" - name: MidnightThoughts Ops - type: email - sendReminder: true - frequency: 1m - settings: - addresses: ops@nordgedanken.dev - policies.yaml: - apiVersion: 1 - policies: - - orgId: 1 - receiver: MidnightThoughts Ops - group_by: - - grafana_folder - - alertname - ingress: - enabled: true - hosts: - - grafana.midnightthoughts.space - tls: - - secretName: grafana.midnightthoughts.space - hosts: - - grafana.midnightthoughts.space - grafana.ini: - server: - root_url: https://grafana.midnightthoughts.space - smtp: - enabled: true - host: mail.nordgedanken.dev:465 - from_address: ops@nordgedanken.dev - user: ops@nordgedanken.dev - password: ENC[AES256_GCM,data:iJh2rOHRmLdg,iv:kkakPWtEvaRxp42/Sr1jLDjAApB8NL8U2hp6etpXEmo=,tag:CW9/GElkRJs6r5e7Ol5Maw==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3aDF1bUxkbExuME5EdUVZ - Z0RIdUVJQklZVWw1SVR3ZitmUlpzM3VUUW0wCkZSU3JhTVhLcHB5UFV6VnkyQ1dH - QThqWE0rU0hkYk9ab0tkeitkK3FRMncKLS0tIFFOajliWFNxT3BITWlwaHhZWlhF - MWlJZ3hHQ0MzZ09zMjdzQ3pOMFN4TTAKSEhycAUDJmiArUr2mtMPnMDBPQB8J97X - irSLyNcLdaNZvijwCZg3GEeWs1cJ3h0Rgapwg0dWCnvAN1Vt8O7hHA== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-06-06T17:21:21Z" - mac: ENC[AES256_GCM,data:29dHx9XHJPu+XZeZ3y5pUGNB42rE3sDiJTVMxFzB88zZC4PfjSLmv9+GcjahjUBYBPCexNo4+1piukEEnmxEioLn5GeKjvTETo4+svO482cGUZH99ohXXq0IowbfwMylc4UhNSG7fl0vxk2HEqErebzgowp1YSQ2aTQcJOrEqU8=,iv:FbqE1oFizAVObiWuvkui252JhFRdHCNYpquIA6u//9I=,tag:3OJ49cY2O+MEatvErlPOHw==,type:str] - pgp: [] - encrypted_regex: ^(data|stringData|password|registration_shared_secret|shared_secret)$ - version: 3.7.3 + values: + grafana: + alerting: + rules.yaml: + apiVersion: 1 + groups: + - orgId: 1 + name: 'Matrix Synapse' + folder: Matrix + interval: 1m + rules: + - uid: b6db960c-c0bd-4d4f-b0f1-e1f216ec81cc + title: DNSQueryRefusedError + condition: C + data: + - refId: A + queryType: range + relativeTimeRange: + from: 600 + to: 0 + datasourceUid: loki + model: + datasource: + type: loki + editorMode: code + expr: count(rate({namespace="matrix", app="matrix-synapse"} |= `DNSQueryRefusedError` [$__interval])) + hide: false + intervalMs: 1000 + maxDataPoints: 43200 + queryType: range + refId: A + - refId: B + relativeTimeRange: + from: 600 + to: 0 + datasourceUid: __expr__ + model: + conditions: + - evaluator: + params: [] + type: gt + operator: + type: and + query: + params: + - B + reducer: + params: [] + type: last + type: query + datasource: + type: __expr__ + uid: __expr__ + expression: A + hide: false + intervalMs: 1000 + maxDataPoints: 43200 + reducer: mean + refId: B + type: reduce + - refId: C + relativeTimeRange: + from: 600 + to: 0 + datasourceUid: __expr__ + model: + conditions: + - evaluator: + params: + - 1 + type: gt + operator: + type: and + query: + params: + - C + reducer: + params: [] + type: last + type: query + datasource: + type: __expr__ + uid: __expr__ + expression: B + hide: false + intervalMs: 1000 + maxDataPoints: 43200 + refId: C + type: threshold + noDataState: NoData + execErrState: Error + for: 5m + annotations: + summary: Matrix Synapse DNS Errors are higher than usual + isPaused: false + contactpoints.yaml: + apiVersion: 1 + contactPoints: + - orgId: 1 + name: 'MidnightThoughts Ops' + receivers: + - uid: '1' + name: 'MidnightThoughts Ops' + type: 'email' + sendReminder: true + frequency: '1m' + settings: + addresses: 'ops@nordgedanken.dev' + policies.yaml: + apiVersion: 1 + policies: + - orgId: 1 + receiver: 'MidnightThoughts Ops' + group_by: ['grafana_folder', 'alertname'] + + ingress: + enabled: true + hosts: + - grafana.midnightthoughts.space + tls: + - secretName: grafana.midnightthoughts.space + hosts: + - grafana.midnightthoughts.space + grafana.ini: + server: + root_url: https://grafana.midnightthoughts.space