feat: github sponsors webhook ingress (#1061)
* feat(github): add github sponsors webhook metadata
Signed-off-by: Xe Iaso <me@xeiaso.net>
* chore(pb): format generated code
Signed-off-by: Xe Iaso <me@xeiaso.net>
* chore: go fmt ./...
Signed-off-by: Xe Iaso <me@xeiaso.net>
* docs(AGENTS): tell AI agents to format code before committing it
Signed-off-by: Xe Iaso <me@xeiaso.net>
* feat(xesite): expose github sponsors webhook
Signed-off-by: Xe Iaso <me@xeiaso.net>
* chore: add xesitectl binary to gitignore
* deps: add github.com/google/subcommands dependency
* feat: add xesitectl command for testing GitHub Sponsors webhooks
- Create xesitectl command using github.com/google/subcommands framework
- Implement test-webhook subcommand with comprehensive options
- Support all GitHub Sponsors event types (created, edited, cancelled, etc.)
- Load configuration from environment variables with godotenv/autoload
- Generate realistic mock sponsorship events with proper HMAC signatures
- Support custom webhook URLs, secrets, and sponsorship parameters
- Add comprehensive help documentation and examples
- Enable verbose logging for debugging webhook requests
Usage:
xesitectl test-webhook -action created -sponsor testsponsor -tier "Pro Tier"
xesitectl test-webhook -action cancelled -sponsor oldsponsor -url https://myapp.com/hook
* docs: add .env.example for xesitectl configuration
Example environment variables for xesitectl test-webhook command:
- GITHUB_SPONSORS_SECRET: Webhook secret for HMAC signatures
- WEBHOOK_URL: Custom webhook endpoint URL
- TEST_SPONSOR: Default sponsor login name
- TEST_TIER: Default sponsorship tier name
- TEST_PRICE: Default monthly price in dollars
* chore: move github sponsors webhook to its own service
Signed-off-by: Xe Iaso <me@xeiaso.net>
* feat: add GORM models
Signed-off-by: Xe Iaso <me@xeiaso.net>
* chore(manifest): introduce github sponsor webhook manifests
Signed-off-by: Xe Iaso <me@xeiaso.net>
* feat(sponsor-webhook): setup database connection
Signed-off-by: Xe Iaso <me@xeiaso.net>
* feat(github-webhook): kinda terrible automatic writing to the database on ingress
Signed-off-by: Xe Iaso <me@xeiaso.net>
---------
Signed-off-by: Xe Iaso <me@xeiaso.net>