[Event-Bus P0] Deploy Gotify notification server #20

Open
opened 2026-09-09 23:40:58 +00:00 by poimen · 0 comments
Member

What

Deploy Gotify push notification server to the cluster as the notification backbone.

Why

No notification infrastructure exists. Services generate events but nothing delivers them to humans (push/email).

Scope

  • Gotify server deployment in notifications namespace
  • SMTP emailer sidecar (polls messages, forwards as email via msmtp)
  • Ingress at gotify.riotpiao.com with WebSocket support
  • 1Gi Longhorn PVC, ArgoCD Application (wave 8)
  • Secrets for admin creds, SMTP config, app/client tokens
  • CoreDNS rewrite for Cloudflare Tunnel

Status

PR 19 (homelab) created with all manifests. Needs SOPS encryption of secrets before merge.

Acceptance

  • curl https://gotify.riotpiao.com/health returns 200
  • Admin login works at gotify.riotpiao.com with credentials from gotify-admin secret
  • Create application token via UI → curl -X POST gotify.riotpiao.com/message?token=<token> -d {"title":"test","message":"hello","priority":5} returns 200
  • SMTP sidecar sends email within 30s of message creation: verify kubectl -n notifications logs deploy/gotify -c smtp-emailer shows "Email sent"
  • Email arrives at configured notify-email address
  • WebSocket connection works: Gotify mobile/desktop client connects and receives push
  • PVC bound and data persists across pod restart: kubectl -n notifications delete pod -l app=gotify && sleep 30 && curl gotify.riotpiao.com/health returns 200, previous messages still visible
  • ArgoCD shows application synced and healthy
## What Deploy Gotify push notification server to the cluster as the notification backbone. ## Why No notification infrastructure exists. Services generate events but nothing delivers them to humans (push/email). ## Scope - Gotify server deployment in `notifications` namespace - SMTP emailer sidecar (polls messages, forwards as email via msmtp) - Ingress at `gotify.riotpiao.com` with WebSocket support - 1Gi Longhorn PVC, ArgoCD Application (wave 8) - Secrets for admin creds, SMTP config, app/client tokens - CoreDNS rewrite for Cloudflare Tunnel ## Status PR 19 (homelab) created with all manifests. Needs SOPS encryption of secrets before merge. ## Acceptance - [ ] `curl https://gotify.riotpiao.com/health` returns 200 - [ ] Admin login works at `gotify.riotpiao.com` with credentials from `gotify-admin` secret - [ ] Create application token via UI → `curl -X POST gotify.riotpiao.com/message?token=<token> -d {"title":"test","message":"hello","priority":5}` returns 200 - [ ] SMTP sidecar sends email within 30s of message creation: verify `kubectl -n notifications logs deploy/gotify -c smtp-emailer` shows "Email sent" - [ ] Email arrives at configured `notify-email` address - [ ] WebSocket connection works: Gotify mobile/desktop client connects and receives push - [ ] PVC bound and data persists across pod restart: `kubectl -n notifications delete pod -l app=gotify && sleep 30 && curl gotify.riotpiao.com/health` returns 200, previous messages still visible - [ ] ArgoCD shows application synced and healthy
poimen added this to the Event-Driven Platform milestone 2026-09-09 23:40:58 +00:00
poimen added the area/notificationstype/infrapriority/highstatus/todo labels 2026-09-09 23:40:58 +00:00
Sign in to join this conversation.