diff options
| author | Adam Malczewski <[email protected]> | 2026-03-18 18:39:14 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-03-18 18:39:14 +0900 |
| commit | ef77f6d2d6ebe11d2c1afd93314d44840f6c7d77 (patch) | |
| tree | e03d9d381dad70748514e42d5356b77806d29cc9 /.rules/changelog/2026-03/18 | |
| download | webhook-forwarder-ef77f6d2d6ebe11d2c1afd93314d44840f6c7d77.tar.gz webhook-forwarder-ef77f6d2d6ebe11d2c1afd93314d44840f6c7d77.zip | |
init
Diffstat (limited to '.rules/changelog/2026-03/18')
| -rw-r--r-- | .rules/changelog/2026-03/18/01.md | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/.rules/changelog/2026-03/18/01.md b/.rules/changelog/2026-03/18/01.md new file mode 100644 index 0000000..5f700ca --- /dev/null +++ b/.rules/changelog/2026-03/18/01.md @@ -0,0 +1,16 @@ +### Webhook Forwarder — Initial Implementation + +- Created Rust project with `hyper`, `tokio`, `http-body-util`, `hyper-util`, `bytes` dependencies +- Implemented `src/main.rs`: minimal HTTP server that forwards webhook POST requests + - `POST /<token>` → `{DOKPLOY_BASE_URL}/api/deploy/<token>` + - `POST /compose/<token>` → `{DOKPLOY_BASE_URL}/api/deploy/compose/<token>` + - Forwards all headers (except Host) and body to upstream + - Returns upstream response (status + body) to caller + - Rejects non-POST with 405, invalid paths with 404 + - Logs all requests to stderr + - Configurable via `DOKPLOY_BASE_URL` (default: `http://100.102.55.49:3000`) and `PORT` (default: `8080`) +- Created `Dockerfile`: multi-stage build (`rust:1-alpine3.21` → `scratch`) for minimal image (~3-5 MB) +- Created `.dockerignore` to minimize Docker build context +- Created `bin/setup.sh` for project scaffolding +- Created `bin/test.sh` for local testing +- Created `.rules/plan/webhook-forwarder.md` with full implementation plan |
