# DNS operators

The DNS operators are a set of open-source [Juju](https://canonical.com/juju) [charms](https://canonical.com/juju/docs/juju-cli/3.6/reference/charm/#charm) that deploy and operate [bind](https://www.isc.org/bind/), an authoritative [DNS](https://en.wikipedia.org/wiki/Domain_Name_System) server, along with secondary servers and resolvers for it.

Charmed applications that need DNS records, such as an A record for a new service or a TXT record for an ACME challenge, request them over the `dns_record` relation and the charms publish them. An optional policy charm lets a reviewer approve or deny those requests.

The charms are meant for teams that run their infrastructure with Juju.

## In this documentation

|                 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Get started** | [Deploy a DNS server](https://canonical.com/juju/docs/dns-charms/latest/tutorial/simple-deployment/index.html.md#tutorial-simple-deployment) | [Add a secondary server and resolver](https://canonical.com/juju/docs/dns-charms/latest/tutorial/secondary-and-resolver/index.html.md#tutorial-secondary-and-resolver)                                                                                                                                                                                                                                                                                                   |
| **Operations**  | [Upgrade](https://canonical.com/juju/docs/dns-charms/latest/how-to/upgrade/index.html.md#how-to-upgrade) | [Changelog](https://canonical.com/juju/docs/dns-charms/latest/changelog/index.html.md#changelog)                                                                                                                                                                                                                                                                                                                                                                           |
| **Design**      | [Project overview](https://canonical.com/juju/docs/dns-charms/latest/explanation/project-overview/index.html.md#explanation-project-overview) | [Components](https://canonical.com/juju/docs/dns-charms/latest/reference/components/index.html.md#reference-components) | [Project architecture](https://canonical.com/juju/docs/dns-charms/latest/explanation/charm-architecture/index.html.md#explanation-charm-architecture) | [Bind charm architecture](https://canonical.com/juju/docs/dns-charms/latest/reference/bind-charm-architecture/index.html.md#reference-bind-charm-architecture) | [DNS policy charm architecture](https://canonical.com/juju/docs/dns-charms/latest/reference/dns-policy-charm-architecture/index.html.md#reference-dns-policy-charm-architecture) |
| **Security**    | [Overview](https://canonical.com/juju/docs/dns-charms/latest/explanation/security/index.html.md#explanation-security)                                                                                                                                                                                                                                                                                                                                                                                                                                         |

## How this documentation is organized

This documentation uses the [Diátaxis documentation structure](https://diataxis.fr/).

- The [Tutorials](https://canonical.com/juju/docs/dns-charms/latest/tutorial/index.html.md#tutorial-index) take you step-by-step through deploying a DNS server, then a secondary server with a resolver.
- The [How-to guides](https://canonical.com/juju/docs/dns-charms/latest/how-to/index.html.md#how-to) cover upgrading the charms and contributing to the project.
- [Reference](https://canonical.com/juju/docs/dns-charms/latest/reference/index.html.md#reference) describes the components and the architecture of the bind and DNS policy charms.
- [Explanation](https://canonical.com/juju/docs/dns-charms/latest/explanation/index.html.md#explanation) covers the `dns_record` interface, how record requests are merged and aggregated, and security.
- The [Changelog](https://canonical.com/juju/docs/dns-charms/latest/changelog/index.html.md#changelog) lists all notable changes to the charms.

## Project and community

The 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, on the code
and on this documentation.

- [Code of conduct](https://ubuntu.com/community/code-of-conduct)
- [File a bug](https://github.com/canonical/dns-operators/issues)
- Get support through the [Discourse forum](https://discourse.charmhub.io/)
- Join our [online chat](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)
- Contribute to the [code](https://github.com/canonical/dns-operators/blob/main/CONTRIBUTING.md) or to the [documentation](https://canonical.com/juju/docs/dns-charms/latest/how-to/contribute/index.html.md#how-to-contribute)

Thinking about using the DNS operators for your next project? [Get in touch!](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)
