Overview
Haven Notify is an internal service designed to send notifications to a specified Discord channel.
It's built in Go and can be deployed as a container or managed service.
Prerequisites
- Go 1.18 or newer
- Docker
- A Discord Webhook URL
API Specification
Send Notification
- Endpoint:
/notify - Method:
POST - Request Body:
{
"title": "Notification Title",
"message": "Notification Message"
}
- Endpoint:
/template/notify/backup_template - Method:
POST - Request Body:
{
"title": "Notification Title",
"message": "Notification Message",
"backupSizeInMB": 500,
"extra": [
{
"name": "Additional Info",
"value": "Some extra information"
}
]
}
Setup & Usage
Docker
- Build the Docker image:
docker build -t haven-notify . - Run the container:
docker run -e WEBHOOK_URL=your_webhook_url haven-notify
Kubernetes
Deployment manifest is available at deploy/haven-notify.yaml.
- Edit the manifest to set your environment variables.
- Create a generic secret named
WEBHOOK_URLwithdiscord-webhook=your_webhook_url - Apply deployment:
kubectl apply -f deploy/haven-notify.yaml
