π¨ GitHub-driven self-service email forwarding system.
This project provides a secure and automated way for users to request new email addresses with forwarding rules, while giving administrators full control over approvals and deployment. The entire workflow is driven by GitHub Issues and powered by GitHub Actions and Cloudflare Email Routing API.
- π« GitHub-Native Workflow: Users request forwards using a simple GitHub Issue template.
- π Secure Admin Approval: Designated administrators approve requests by adding a label.
- π Automated Deployment: Approved requests are automatically deployed to Cloudflare via the API.
- π€ Bot-Driven Automation: A GitHub Actions bot handles validation, verification, and notifications.
- π Collision Detection: Prevents duplicate or conflicting forwarding rules.
- π€ Ownership Tracking: Users can only manage the forwarding rules they create.
- π Full Audit Trail: Every action is logged in GitHub Issues and Git history for complete transparency.
- β° Stale Request Cleanup: Automatically closes abandoned requests to keep the queue clean.
This repository is a template. To set up your own self-service email forwarding system, follow the instructions below.
- A Cloudflare Account with a domain and Email Routing enabled.
- A GitHub Account with a repository created from this template.
To get the system running, please follow the comprehensive Administrator Setup Guide. This guide covers:
- Setting up Cloudflare API credentials.
- Creating the required GitHub secrets, variables, and labels.
- Defining administrator teams and permissions.
- Preparing the repository for user requests.
Once the system is configured, users can request and manage email forwards by following the User Guide.
Made with β€οΈ by @wei