Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fabriziosalmi/dnscontrol-actions
Automate DNS updates and rollbacks across multiple providers using DNSControl and GitHub Actions
https://github.com/fabriziosalmi/dnscontrol-actions
aws-route53 cloudflare configuration-management dns dns-automation dns-backup dns-management dns-manager dns-rollback dnscontrol github-action github-actions multi-provider powerdns
Last synced: 3 months ago
JSON representation
Automate DNS updates and rollbacks across multiple providers using DNSControl and GitHub Actions
- Host: GitHub
- URL: https://github.com/fabriziosalmi/dnscontrol-actions
- Owner: fabriziosalmi
- Created: 2023-09-08T09:38:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-20T09:16:34.000Z (4 months ago)
- Last Synced: 2024-10-11T02:33:53.402Z (4 months ago)
- Topics: aws-route53, cloudflare, configuration-management, dns, dns-automation, dns-backup, dns-management, dns-manager, dns-rollback, dnscontrol, github-action, github-actions, multi-provider, powerdns
- Language: JavaScript
- Homepage:
- Size: 32.2 KB
- Stars: 13
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- jimsghstars - fabriziosalmi/dnscontrol-actions - Automate DNS updates and rollbacks across multiple providers using DNSControl and GitHub Actions (JavaScript)
README
# DNSControl Actions
Easily update, push, and rollback your DNS configuration using [DNSControl](https://github.com/StackExchange/dnscontrol) and [GitHub Actions](https://github.com/features/actions)
[![Update DNS Configuration](https://github.com/fabriziosalmi/dnscontrol-actions/actions/workflows/update.yml/badge.svg)](https://github.com/fabriziosalmi/dnscontrol-actions/actions/workflows/update.yml) [![Rollback DNS Configuration](https://github.com/fabriziosalmi/dnscontrol-actions/actions/workflows/rollback-latest.yml/badge.svg)](https://github.com/fabriziosalmi/dnscontrol-actions/actions/workflows/rollback-latest.yml)
## Features
- **DNS configuration CD/CI** using DNSControl and GitHub Actions.
- **Preview DNS changes** upon each update to dnsconfig.js.
- **Manual push** configuration for safer DNS updates.
- Option to **rollback to a previous DNS configuration** in case of errors.
- Support for **multiple DNS providers** for enhanced **redundancy**.
- Optional: send notification via Apprise on rollback## How to Use
#### Initialization
- Clone or fork this repository
- If You forked it set repository visibility to **private**#### Setup Credentials:
- Refer to creds.json for example configurations of popular DNS providers.
- Populate the appropriate fields with your credentials.
- For security, use repository action secrets for sensitive information (e.g., `CLOUDFLARE_API_USER` and `CLOUDFLARE_API_TOKEN`).
- Remember to give workflows read/write permissions (https://github.com/user/repo/settings/actions)#### Configure DNS:
- Edit and save your DNS settings in dnsconfig.js.
- This will automatically trigger the "Update DNS" action.#### Push Configuration:
- After the update action has successfully executed, you can manually trigger the "Push Configuration" action to propagate DNS updates.#### Rollback (if needed):
- If there are issues with the DNS update, manually trigger the "Rollback" action to restore the previous configuration.## Advanced Configuration
- Multi-provider Redundancy: Define multiple DNS providers in dnsconfig.js to achieve redundancy across providers. Example: Using both Cloudflare and AWS.
- Note: When using Cloudflare's proxying feature in combination with another DNS provider, ensure you handle the logic behind these proxies.