mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-11-15 22:29:09 +01:00
Neither is used any more: the blog moves to a self-written site, and whishper needs more compute than this setup has. Ghost also ran Node 18, which won't get the eMudhra root store fix. Drops both apps, the blog DNS record, Gatus check and node001 tunnel entry, their ca-bundle namespaces, and the leftover ExternalSecret for the old hensen.io blog namespace. Final Velero backups keep the data: ghost-blog-final-202610220955 until 22 October 2027 and whisper-final-202610220955 until 20 January 2027.
137 lines
3.4 KiB
YAML
137 lines
3.4 KiB
YAML
# s2.rubenhensen.nl: Gatus on the home cluster.
|
|
# Its twin s1.rubenhensen.nl runs on the Hetzner box, see
|
|
# nix-infra-machine/nodes/node001.nix. Keep the endpoint lists in sync.
|
|
storage:
|
|
type: sqlite
|
|
path: /data/data.db
|
|
|
|
ui:
|
|
title: Status (homelab)
|
|
header: s2 · homelab
|
|
buttons:
|
|
- name: s1 (Hetzner)
|
|
link: https://s1.rubenhensen.nl
|
|
|
|
# NTFY_TOKEN comes from the gatus-ntfy secret (Vault kv/ntfy)
|
|
alerting:
|
|
ntfy:
|
|
url: http://ntfy.ntfy.svc.cluster.local
|
|
topic: alerts
|
|
token: ${NTFY_TOKEN}
|
|
priority: 4
|
|
click: https://s2.rubenhensen.nl
|
|
default-alert:
|
|
failure-threshold: 3
|
|
success-threshold: 2
|
|
send-on-resolved: true
|
|
|
|
# s2 is the outside view of Hetzner, so it alerts on mail and on s1. The
|
|
# home services are left to s1.
|
|
endpoints:
|
|
# Tunneled through Hetzner to the home cluster
|
|
- name: rss
|
|
group: rubenhensen.nl
|
|
url: https://rss.rubenhensen.nl
|
|
interval: 60s
|
|
# mod_auth_openidc answers 401 instead of redirecting to the login
|
|
# page unless the client asks for HTML
|
|
headers:
|
|
Accept: text/html
|
|
conditions: &http-ok
|
|
- "[STATUS] == 200"
|
|
- "[CERTIFICATE_EXPIRATION] > 168h"
|
|
- name: authentik
|
|
group: rubenhensen.nl
|
|
url: https://authentik.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: vault
|
|
group: rubenhensen.nl
|
|
url: https://vault.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: ynab
|
|
group: rubenhensen.nl
|
|
url: https://ynab.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: argocd
|
|
group: rubenhensen.nl
|
|
url: https://argocd.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: ha
|
|
group: rubenhensen.nl
|
|
url: https://ha.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: longhorn
|
|
group: rubenhensen.nl
|
|
url: https://longhorn.rubenhensen.nl
|
|
interval: 60s
|
|
# Behind basic auth, so 401 means it's up
|
|
conditions:
|
|
- "[STATUS] == 401"
|
|
- "[CERTIFICATE_EXPIRATION] > 168h"
|
|
- name: serpbear
|
|
group: rubenhensen.nl
|
|
url: https://serpbear.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: git
|
|
group: rubenhensen.nl
|
|
url: https://git.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: vic
|
|
group: rubenhensen.nl
|
|
url: https://vic.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
|
|
# Stalwart on Hetzner
|
|
- name: webmail
|
|
group: mail
|
|
url: https://mail.rubenhensen.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
alerts: &ntfy
|
|
- type: ntfy
|
|
- name: smtp
|
|
group: mail
|
|
url: tcp://mail.rubenhensen.nl:25
|
|
interval: 60s
|
|
conditions:
|
|
- "[CONNECTED] == true"
|
|
alerts: *ntfy
|
|
- name: imaps
|
|
group: mail
|
|
url: tls://mail.rubenhensen.nl:993
|
|
interval: 60s
|
|
conditions:
|
|
- "[CONNECTED] == true"
|
|
- "[CERTIFICATE_EXPIRATION] > 168h"
|
|
alerts: *ntfy
|
|
|
|
# Served straight from the home IP
|
|
- name: scoutingmbg.nl
|
|
group: Scouting MBG
|
|
url: https://scoutingmbg.nl
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
- name: foto.scoutingmbg.nl
|
|
group: Scouting MBG
|
|
url: https://foto.scoutingmbg.nl/_app
|
|
interval: 60s
|
|
conditions: *http-ok
|
|
|
|
# The other watcher
|
|
- name: s1 (Hetzner)
|
|
group: watchers
|
|
url: https://s1.rubenhensen.nl/health
|
|
interval: 60s
|
|
conditions:
|
|
- "[STATUS] == 200"
|
|
- "[BODY].status == UP"
|
|
alerts: *ntfy
|