refactor: rename Processor to Webhook and Webhook to Entrypoint

The top-level entity that groups entrypoints and targets is now called
Webhook (was Processor). The inbound URL endpoint entity is now called
Entrypoint (was Webhook). This rename affects database models, handler
comments, routes, and README documentation.

closes #12
This commit is contained in:
clawbot
2026-03-01 15:44:22 -08:00
parent f9a9569015
commit 6031167c78
11 changed files with 75 additions and 76 deletions

View File

@@ -2,7 +2,7 @@
webhooker is a Go web application by [@sneak](https://sneak.berlin) that
receives, stores, and proxies webhooks to configured targets with retry
support, observability, and a management web UI. License: pending.
support, observability, and a management web UI. License: MIT.
## Getting Started
@@ -88,15 +88,14 @@ monolithic database:
- **Main application database** — Stores application configuration and
all standard webapp data: users, sessions, API keys, and global
settings.
- **Per-processor databases** — Each processor (working name — a better
term is needed) gets its own dedicated SQLite database file containing:
input logs, processor logs, and all output queues for that specific
processor.
- **Per-webhook databases** — Each webhook gets its own dedicated SQLite
database file containing: input logs, webhook logs, and all output
queues for that specific webhook.
This separation provides several benefits: processor databases can be
independently backed up, rotated, or archived; a high-volume processor
This separation provides several benefits: webhook databases can be
independently backed up, rotated, or archived; a high-volume webhook
won't cause lock contention or bloat affecting the main application; and
individual processor data can be cleanly deleted when a processor is
individual webhook data can be cleanly deleted when a webhook is
removed.
### Package Layout
@@ -120,9 +119,9 @@ The main entry point is `cmd/webhooker/main.go`.
### Data Model
- **Users** — Service users with username/password (Argon2id hashing)
- **Processors** — Webhook processing units, many-to-one with users
- **Webhooks** — Inbound URL endpoints feeding into processors
- **Targets** — Delivery destinations per processor (HTTP, retry, database, log)
- **Webhooks** — Webhook processing units, many-to-one with users
- **Entrypoints** — Inbound URL endpoints feeding into webhooks
- **Targets** — Delivery destinations per webhook (HTTP, retry, database, log)
- **Events** — Captured webhook payloads
- **Deliveries** — Pairing of events with targets
- **Delivery Results** — Outcome of each delivery attempt
@@ -170,7 +169,7 @@ The main entry point is `cmd/webhooker/main.go`.
- [ ] Analytics dashboard (success rates, response times)
### Phase 5: API
- [ ] RESTful CRUD for processors, webhooks, targets
- [ ] RESTful CRUD for webhooks, entrypoints, targets
- [ ] Event viewing and filtering endpoints
- [ ] API documentation (OpenAPI)
@@ -182,7 +181,7 @@ The main entry point is `cmd/webhooker/main.go`.
## License
Pending — to be determined by the author (MIT, GPL, or WTFPL).
MIT License. See [LICENSE](LICENSE) for details.
## Author