683 lines
16 KiB
YAML
683 lines
16 KiB
YAML
---
|
|
# Source: gatus/charts/gatus/templates/configmap.yaml
|
|
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.0"
|
|
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: 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: 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: audiobookshelf
|
|
url: https://audiobookshelf.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: n8n
|
|
url: https://n8n.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: pgadmin
|
|
url: https://pgadmin.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: 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: slskd
|
|
url: https://slskd.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] == 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: huntarr
|
|
url: https://huntarr.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: 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: public homepage
|
|
url: https://home.alexlebens.dev
|
|
- conditions:
|
|
- '[STATUS] == 200'
|
|
- '[RESPONSE_TIME] < 400'
|
|
group: public
|
|
interval: 10s
|
|
name: discord
|
|
url: https://discord.com/app
|
|
- conditions:
|
|
- '[STATUS] == 200'
|
|
- '[RESPONSE_TIME] < 400'
|
|
group: public
|
|
interval: 10s
|
|
name: reddit
|
|
url: https://reddit.com
|
|
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
|