feat: add zulip integration
This commit is contained in:
parent
50468db20b
commit
3a0d464234
14 changed files with 430 additions and 5 deletions
28
remote/zulip-bot/README.md
Normal file
28
remote/zulip-bot/README.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Zulip Bridge
|
||||
|
||||
Receives webhooks from the cache service and posts door status updates into a Zulip stream.
|
||||
|
||||
Validates inbound webhooks with a Bearer token, then sends a stream message through the Zulip API using a bot email and API key.
|
||||
|
||||
## API
|
||||
|
||||
| Method | Path | Auth | Description |
|
||||
|--------|------|------|-------------|
|
||||
| `POST` | `/webhook` | Bearer | Status update from the cache service |
|
||||
| `GET` | `/health` | - | Health check |
|
||||
|
||||
## Configuration
|
||||
|
||||
NixOS options under `services.noisebell-zulip`:
|
||||
|
||||
| Option | Default | Description |
|
||||
|--------|---------|-------------|
|
||||
| `domain` | required | Caddy virtual host domain |
|
||||
| `zulipUrl` | required | Base URL of the Zulip server |
|
||||
| `botEmail` | required | Zulip bot email address |
|
||||
| `apiKeyFile` | required | Zulip bot API key file |
|
||||
| `stream` | required | Zulip stream for updates |
|
||||
| `topic` | `noisebell` | Zulip topic for updates |
|
||||
| `imageBaseUrl` | `https://noisebell.extremist.software/image` | Base URL for status image links |
|
||||
| `webhookSecretFile` | required | Shared secret with the cache service |
|
||||
| `port` | `3003` | Listen port |
|
||||
Loading…
Add table
Add a link
Reference in a new issue