| [AcmeManagingProcessor](/octodns/processor/acme.py) | Useful when processes external to octoDNS are managing acme challenge DNS records, e.g. LetsEncrypt |
| [AutoArpa](/octodns/processor/arpa.py) | See [Automatic PTR generation](#automatic-ptr-generation) below |
| [EnsureTrailingDots](/octodns/processor/trailing_dots.py) | Processor that ensures ALIAS, CNAME, DNAME, MX, NS, PTR, and SRVs have trailing dots |
@ -407,7 +419,6 @@ providers:
password: env/DYN_PASSWORD
zones:
githubtest.net.:
sources:
- route53
@ -428,11 +439,10 @@ providers:
token: env/GPANEL_SITE_TOKEN
powerdns-site:
class: octodns.provider.powerdns.PowerDnsProvider
host: 'internal-dns.site.github.foo'
host: "internal-dns.site.github.foo"
api_key: env/POWERDNS_SITE_API_KEY
zones:
hosts.site.github.foo.:
sources:
- gpanel-site
@ -453,20 +463,12 @@ If you have a problem or suggestion, please [open an issue](https://github.com/o
- [`octodns/octodns-ddns`](https://github.com/octodns/octodns-ddns): A simple Dynamic DNS source.
- [`doddo/octodns-lexicon`](https://github.com/doddo/octodns-lexicon): Use [Lexicon](https://github.com/AnalogJ/lexicon) providers as octoDNS providers.
These are listed in the main [`README`](../README.md#processors)
## Configuring processors
Configuring processors is done in the main config file.
### Defining a processor configuration
This is done under the top-level `processors` key in the octoDNS config file (for example `config.yaml`), as a sibling to the `manager` key.
The `processors` key contains YAML objects, where the key is the name of the processor, and the `class` value within that object refers to the processor name.
For example, to define a provider called `custom_meta` using the [`MetaProcessor`](../octodns/processor/meta.py) in order to extend the default `include_meta` behaviour:
```yaml
manager:
include_meta: false # disable default, basic `meta` records
processors:
custom_meta:
class: octodns.processor.meta.MetaProcessor
record_name: meta
include_time: true
include_uuid: true
include_provider: true
include_version: false
```
**NOTE:** the specific parameters for each processor are only documented within [the code](../octodns/processor/)
### Utilising the processor configuration
#### On **individual** domains
Each domain can utilise the processor independently by adding the name of the defined processor to a `processors` key beneath a `zone`:
```yaml
zones:
example.com.:
source:
- yaml_config
target:
- hetzner
processors:
- custom_meta
```
#### On **all** domains
To utilise the processor on **all** domains automatically, including new domains added to the `zones` config in future then you can add this to the `processors` key under the `manager` section of the configuration: