apiVersion: v1
kind: ConfigMap
metadata:
  name: gatus
  namespace: gatus
  labels:
    helm.sh/chart: gatus-1.4.4
    app.kubernetes.io/name: gatus
    app.kubernetes.io/instance: gatus
    app.kubernetes.io/version: "v5.33.1"
    app.kubernetes.io/managed-by: Helm
data:
  config.yaml: |
    alerting:
      ntfy:
        click: https://gatus.alexlebens.net
        default-alert:
          failure-threshold: 5
          send-on-resolved: true
        priority: 3
        token: ${NTFY_TOKEN}
        topic: gatus-alerts
        url: http://ntfy.ntfy
    connectivity:
      checker:
        interval: 60s
        target: 1.1.1.1:53
    default-endpoint:
      alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
    endpoints:
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 401'
      group: core
      interval: 30s
      name: plex
      url: http://plex.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: jellyfin
      url: https://jellyfin.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: overseerr
      url: https://overseerr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: seerr
      url: https://seerr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: yamtrack
      url: https://yamtrack.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: tubearchivist
      url: https://tubearchivist.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: navidrome
      url: https://navidrome.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: feishin
      url: https://feishin.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: audiobookshelf
      url: https://audiobookshelf.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: immich
      url: https://immich.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: photoview
      url: https://photoview.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: booklore
      url: https://booklore.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: home-assistant
      url: https://home-assistant.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: actual
      url: https://actual.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: ollama
      url: https://ollama.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: searxng
      url: https://searxng.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: roundcube
      url: https://mail.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: kiwix
      url: https://kiwix.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: gitea
      url: https://gitea.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: home-assistant-code-server
      url: https://home-assistant-code-server.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: argocd
      url: https://argocd.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: komodo
      url: https://komodo.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: argo-workflows
      url: https://argo-workflows.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: omni-tools
      url: https://omni-tools.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: headlamp
      url: https://headlamp.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: hubble
      url: https://hubble.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: grafana
      url: https://grafana.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: prometheus
      url: https://prometheus.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: alertmanager
      url: https://alertmanager.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: tautulli
      url: https://tautulli.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: jellystat
      url: https://jellystat.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: authentik
      url: https://authentik.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: stalwart
      url: https://stalwart.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: ntfy
      url: https://ntfy.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: traefik-cl01tl
      url: https://traefik-cl01tl.alexlebens.net/dashboard/#/
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: harbor
      url: https://harbor.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: unifi
      url: https://unifi.alexlebens.net
    - alerts:
      - type: ntfy
      client:
        insecure: true
      conditions:
      - '[CONNECTED] == true'
      group: core
      interval: 30s
      name: synology
      url: https://synology.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      group: core
      interval: 30s
      name: hdhr
      url: http://hdhr.alexlebens.net
    - alerts:
      - type: ntfy
      client:
        insecure: true
      conditions:
      - '[CONNECTED] == true'
      group: core
      interval: 30s
      name: pikvm
      url: https://pikvm.alexlebens.net/login/
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      group: core
      interval: 30s
      name: shelly
      url: http://it05sp.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: ceph
      url: https://ceph.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: garage
      url: https://garage-webui.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: whodb
      url: https://whodb.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: vault
      url: https://vault.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: backrest
      url: https://backrest.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: qui
      url: https://qui.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: qbittorrent
      url: https://qbittorrent.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: prowlarr
      url: https://prowlarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: huntarr
      url: https://huntarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 401'
      group: core
      interval: 30s
      name: bazarr
      url: https://bazarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: tdarr
      url: https://tdarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: sonarr
      url: https://sonarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: sonarr-4k
      url: https://sonarr-4k.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: sonarr-anime
      url: https://sonarr-anime.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: radarr
      url: https://radarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: radarr-4k
      url: https://radarr-4k.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: radarr-anime
      url: https://radarr-anime.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: radarr-standup
      url: https://radarr-standup.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: lidarr
      url: https://lidarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: lidatube
      url: https://lidatube.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: rayflume
      url: https://rayflume.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: soulsync
      url: https://soulsync.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: slskd
      url: https://slskd.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: ephemera
      url: https://ephemera.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: core
      interval: 30s
      name: listenarr
      url: https://listenarr.alexlebens.net
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: www
      url: https://www.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: directus
      url: https://directus.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 120s
      name: postiz
      url: https://postiz.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: matrix
      url: https://chat.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: outline
      url: https://wiki.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: vaultwarden
      url: https://passwords.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: karakeep
      url: https://karakeep.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 401'
      group: external
      interval: 30s
      name: freshrss
      url: https://rss.alexlebens.dev/i/
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: gitea-external
      url: https://gitea.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: codeserver
      url: https://codeserver.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: authentik
      url: https://auth.alexlebens.dev
    - alerts:
      - type: ntfy
      conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 240h'
      group: external
      interval: 30s
      name: public homepage
      url: https://home.alexlebens.dev
    metrics: true
    security:
      oidc:
        client-id: ${OIDC_CLIENT_ID}
        client-secret: ${OIDC_CLIENT_SECRET}
        issuer-url: https://authentik.alexlebens.net/application/o/gatus/
        redirect-url: https://gatus.alexlebens.net/authorization-code/callback
        scopes:
        - openid
    storage:
      path: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}?sslmode=disable
      type: postgres
