Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/grantbirki/dns

DNS management through octodns
https://github.com/grantbirki/dns

dns iac octodns

Last synced: 25 days ago
JSON representation

DNS management through octodns

Awesome Lists containing this project

README

        

# dns ๐ŸŒ

[![deploy](https://github.com/GrantBirki/dns/actions/workflows/deploy.yml/badge.svg)](https://github.com/GrantBirki/dns/actions/workflows/deploy.yml) [![json-yaml-validate](https://github.com/GrantBirki/dns/actions/workflows/json-yaml-validate.yml/badge.svg)](https://github.com/GrantBirki/dns/actions/workflows/json-yaml-validate.yml) [![Unlock On Merge](https://github.com/GrantBirki/dns/actions/workflows/unlock-on-merge.yml/badge.svg)](https://github.com/GrantBirki/dns/actions/workflows/unlock-on-merge.yml)

DNS management through [octodns](https://github.com/octodns/octodns)

![octopus](docs/assets/octopus.png)

## About ๐Ÿ’ก

This repository is used to manage DNS records for various domains. `octodns` is used to manage all DNS records through Infrastructure as Code (IaC) principles. The [github/branch-deploy](https://github.com/github/branch-deploy) is responsible for deploying changes to production.

## Deployment Process ๐Ÿš€

This repository uses IssueOps via the [github/branch-deploy](https://github.com/github/branch-deploy) action to deploy changes to production. This ensure that all changes safely follow the [branch deploy model](https://blog.birki.io/posts/branch-deploy/).

Here is a trimmed down summary of the deployment process:

1. ๐Ÿงช Run a noop deployment with `.noop` as a comment on your PR
2. ๐Ÿ‘€ Observe the CI and `noop` output on your pull request to ensure it is passing and doing what it is supposed to do
3. โœ”๏ธ Obtain an approval/review on your pull request
4. ๐Ÿš€ Branch deploy your pull request to production with `.deploy`

> If anything goes wrong, rollback with `.deploy main`

5. ๐ŸŽ‰ Merge!

> Note: you can use `.deploy | FORCE=true` to force deploy changes

## License

The MIT license attached to this repository covers all code and documentation. Please see the [LICENSE](LICENSE) file for more information. It should be noted that the MIT license does not cover the DNS records themselves (or the associated domains), only the code, CI workflows, and documentation in this repository.