Skip to content

πŸ“¨ GitHub-driven self-service email forwarding system for forwarder.app domain.

License

Notifications You must be signed in to change notification settings

wei/cloudflare-email-routing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Cloudflare Email Routing

πŸ“¨ GitHub-driven self-service email forwarding system.

Cloudflare GitOps GitHub Actions Self Service License: MIT

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.

✨ Features

  • 🎫 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.

πŸš€ Getting Started

This repository is a template. To set up your own self-service email forwarding system, follow the instructions below.

Prerequisites

  • A Cloudflare Account with a domain and Email Routing enabled.
  • A GitHub Account with a repository created from this template.

For Administrators: Setup & Configuration

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.

For Users: Requesting Email Forwards

Once the system is configured, users can request and manage email forwards by following the User Guide.

πŸ“„ License

MIT

πŸ‘¨β€πŸ’» Author

Made with ❀️ by @wei

About

πŸ“¨ GitHub-driven self-service email forwarding system for forwarder.app domain.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published