This repository provides a collection of operators required to deploy a fully functional DNS solution, facilitating the integration of DNS services with other charms.
The goal is to provide an easy-to-use and reliable DNS deployment that offers a simple integration for your existing charmed applications, enabling them to request resource records and automate DNS processes.
This repository contains the code for the following DNS charms:
bind: A machine charm managing a bind instance configured as a primary DNS server. See the bind README for more information.dns-policy: A subordinate charm that adds a policy layer in front of the bind charm. See the dns-policy README for more information.dns-integrator: An integrator charm that allows the creation of record request through its configuration. See the dns-integrator README for more information.dns-resolver: A resolver charm that provides a single point of configuration for all the requirers using the same DNS server. See the dns-resolver README for more information.dns-secondary: A secondary charm that provides a hidden primary setup by serving the zones without leaking any IP address of the primary deployment. See the dns-secondary README for more information.
The repository also contains the snapped workload of some charms:
charmed-bind: A snapped bind specifically made for the bind charm. See the charmed-bind README for more information.charmed-dns-policy: A snapped Django application specifically made for the dns-policy charm. See the charmed-dns-policy README for more information.
Our documentation is stored in the docs directory
and can be viewed at https://canonical.com/juju/docs/dns-charms.
It is based on the Canonical Sphinx Stack
and hosted on Read the Docs. In structuring,
the documentation employs the Diátaxis approach.
You may open a pull request with your documentation changes, or you can file a bug to provide constructive feedback or suggestions.
To run the documentation locally before submitting your changes:
cd docs
make runGitHub runs automatic checks on the documentation to verify spelling, validate links and style guide compliance.
You can (and should) run the same checks locally:
make spelling
make linkcheck
make vale
make lint-mdThe DNS operators project is a member of the Ubuntu family. It is an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.