adding error & deploy notification
Some checks failed
Check scripts syntax / check-scripts-syntax (push) Successful in 3s
Haven Notify Build and Deploy / Build Haven Notify Image (push) Successful in 10m1s
Haven Notify Build and Deploy / Deploy Haven Notify (internal) (push) Failing after 11s

This commit is contained in:
2025-08-23 20:44:32 -03:00
parent cd57837696
commit 06cf78a4a6
3 changed files with 77 additions and 2 deletions

View File

@@ -76,7 +76,7 @@ jobs:
env:
KUBE_CONFIG: ${{ env.KUBE_CONFIG }}
- name: Test connection to cluster
- name: Check connection to cluster
run: |
cd haven-notify/deploy
kubectl --kubeconfig=kubeconfig.yaml cluster-info
@@ -90,3 +90,10 @@ jobs:
run: |
cd haven-notify/deploy
kubectl --kubeconfig=kubeconfig.yaml rollout restart deployment/haven-notify
- name: Send notification of deployment
run: |
curl -H "Content-Type: application/json" \
-X POST \
-d '{"title": "🚀 Haven Notify deployed!", "message": "Haven Notify has been successfully deployed and restarted."}' \
http://haven.notify/notify

View File

@@ -25,7 +25,8 @@ It's built in Go and can be deployed as a container or managed service.
}
```
- **Endpoint**: `/template/notify/backup_template`
### Send Backup Notification
- **Endpoint**: `/template/notify/backup`
- **Method**: `POST`
- **Request Body**:
```json
@@ -42,6 +43,36 @@ It's built in Go and can be deployed as a container or managed service.
}
```
### Send Update Notification
- **Endpoint**: `/template/notify/update`
- **Method**: `POST`
- **Request Body**:
```json
{
"host": "Notification Title",
"asset": "Notification Message",
"time": 500 // in seconds
}
```
### Send Error Notification
- **Endpoint**: `/template/notify/error`
- **Method**: `POST`
- **Request Body**:
```json
{
"caller": "Who triggered the error",
"message": "Error while moving file",
"critical": true,
"extra": [
{
"name": "Additional Info",
"value": "Some extra information"
}
]
}
```
## Setup & Usage
### Docker

View File

@@ -0,0 +1,37 @@
{{/*
Error Notification Template
Variables expected:
- .caller: The caller of the error
- .message: The error message
- .critical: Boolean indicating if the error is critical
- .extra: Optional array of additional fields with .name and .value
*/}}
{
"embeds": [
{
"title": "❌ Error",
"description": "**{{.caller}}** encountered an error!",
"color": {{if .critical}}15158332{{else}}15844367{{end}},
"fields": [
{
"name": "📄 Message",
"value": "{{.message}}",
"inline": false
}
{{- if .extra}}
{{- range $index, $field := .extra}},
{
"name": "{{$field.name}}",
"value": "{{$field.value}}",
"inline": true
}
{{- end}}
{{- end}}
],
"footer": {
"text": "✨ Haven Notify ✨"
},
"timestamp": "{{formatTime .timestamp}}"
}
]
}