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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
notificationsnamespacegotify.riotpiao.comwith WebSocket supportStatus
PR 19 (homelab) created with all manifests. Needs SOPS encryption of secrets before merge.
Acceptance
curl https://gotify.riotpiao.com/healthreturns 200gotify.riotpiao.comwith credentials fromgotify-adminsecretcurl -X POST gotify.riotpiao.com/message?token=<token> -d {"title":"test","message":"hello","priority":5}returns 200kubectl -n notifications logs deploy/gotify -c smtp-emailershows "Email sent"notify-emailaddresskubectl -n notifications delete pod -l app=gotify && sleep 30 && curl gotify.riotpiao.com/healthreturns 200, previous messages still visible