63 lines
1.2 KiB
Markdown
63 lines
1.2 KiB
Markdown
# Haven Notify
|
|
|
|
## 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**:
|
|
```json
|
|
{
|
|
"title": "Notification Title",
|
|
"message": "Notification Message"
|
|
}
|
|
```
|
|
|
|
- **Endpoint**: `/template/notify/backup_template`
|
|
- **Method**: `POST`
|
|
- **Request Body**:
|
|
```json
|
|
{
|
|
"title": "Notification Title",
|
|
"message": "Notification Message",
|
|
"backupSizeInMB": 500,
|
|
"extra": [
|
|
{
|
|
"name": "Additional Info",
|
|
"value": "Some extra information"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Setup & Usage
|
|
|
|
### Docker
|
|
1. Build the Docker image:
|
|
```sh
|
|
docker build -t haven-notify .
|
|
```
|
|
2. Run the container:
|
|
```sh
|
|
docker run -e WEBHOOK_URL=your_webhook_url haven-notify
|
|
```
|
|
|
|
### Kubernetes
|
|
Deployment manifest is available at `deploy/haven-notify.yaml`.
|
|
1. Edit the manifest to set your environment variables.
|
|
2. Create a generic secret named `WEBHOOK_URL` with `discord-webhook=your_webhook_url`
|
|
3. Apply deployment:
|
|
```sh
|
|
kubectl apply -f deploy/haven-notify.yaml
|
|
```
|