Conversation
|
@kody review |
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
Add initial implementation of Caddy plugin that hooks into certificate lifecycle events and sends webhooks to a central portal service. Core features: - Subscribe to Caddy certificate events (cert_obtained, cert_renewed, cert_expired) - Event-driven webhook delivery with authentication - Async webhook delivery with exponential backoff retry - Status mapping from Caddy events to portal SSL statuses - Configuration via Caddyfile and JSON - Environment variable support for secrets Implementation: - WebhookClient handles HTTP communication with portal - WebhookDelivery manages async delivery with retry logic - RetryWithBackoff implements exponential backoff for transient errors - Event handlers extract domain, timestamp, and error data - Comprehensive test coverage (unit, integration, retry logic) Build: - GitHub Actions workflow for CI testing - Go module setup with Caddy v2.11.1 dependency
Kody Review CompleteGreat news! 🎉 Keep up the excellent work! 🚀 Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
- Add semaphore to limit concurrent webhook delivery goroutines (prevents resource exhaustion) - Add timestamp field to webhook delivery error logs for consistency - Fix nil HTTP client panic by using http.DefaultClient fallback - Always send X-Gateway-Secret header even if empty (prevents auth bypass) - Add endpoint validation to prevent SSRF via untrusted configuration - Use byte iteration in validEndpoint for ASCII-only validation
Add initial implementation of Caddy plugin that hooks into certificate
lifecycle events and sends webhooks to a central portal service.
Core features:
Implementation:
Build:
This pull request introduces the initial implementation of a Caddy v2 plugin that provides real-time SSL certificate status updates to a central portal service via webhooks.
Key Features:
cert_obtained,cert_renewed,cert_expired) to track when certificates are issued, renewed, or expire./internal/websites/:domain/ssl-status) usingX-Gateway-Secretheader authentication.ready,failed,pending,issuing), including error details when certificate operations fail.cert_webhookdirective) and environment variables (PORTAL_URL,GATEWAY_SECRET), with configurable HTTP timeouts and retry limits.Components Added:
This implementation enables real-time tracking of SSL certificate health across gateway infrastructure through automated webhook notifications to the central portal.
This pull request introduces a new Caddy v2 plugin that enables real-time SSL certificate lifecycle event tracking by sending webhooks to a central portal service.
Key Features Implemented:
cert_obtained,cert_renewed,cert_expired) to monitor certificate lifecycle changes/internal/websites/:domain/ssl-status) withX-Gateway-Secretheader authenticationpending,issuing,ready,failed)portal_url,timeout,retry_count) and environment variables (PORTAL_URL,GATEWAY_SECRET)Testing & Tooling:
This plugin allows infrastructure teams to maintain real-time visibility into SSL certificate status across their Caddy deployments without impacting certificate issuance performance.