From 281f89e826290bc723ce1ebe81fc978ff74fdd8d Mon Sep 17 00:00:00 2001 From: Gavin Chappell <2798739+g-a-c@users.noreply.github.com> Date: Fri, 27 Jun 2025 17:55:43 +0100 Subject: [PATCH 1/3] Add basic documentation on configuring/utilising octoDNS processors --- docs/processors.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 docs/processors.md diff --git a/docs/processors.md b/docs/processors.md new file mode 100644 index 0000000..c8297e7 --- /dev/null +++ b/docs/processors.md @@ -0,0 +1,59 @@ +# octoDNS processors + +## Available processors + +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: + +```yaml +manager: + processors: + - custom_meta +``` From 8f22b0729a4eaa433f099af45ec5e9ec3195f55e Mon Sep 17 00:00:00 2001 From: Gavin Chappell <2798739+g-a-c@users.noreply.github.com> Date: Fri, 27 Jun 2025 18:10:06 +0100 Subject: [PATCH 2/3] fix a typo in the example --- docs/processors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/processors.md b/docs/processors.md index c8297e7..70ee8f7 100644 --- a/docs/processors.md +++ b/docs/processors.md @@ -39,7 +39,7 @@ Each domain can utilise the processor independently by adding the name of the de ```yaml zones: - "example.com": + example.com.: source: - yaml_config target: From 905f109c7be5cb3cf5247d1e75a65ded4b0fdea6 Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Fri, 27 Jun 2025 12:46:48 -0700 Subject: [PATCH 3/3] Changelog entry for processors doc --- .changelog/c4f025d1c23c40dd98380e6d3496364d.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .changelog/c4f025d1c23c40dd98380e6d3496364d.md diff --git a/.changelog/c4f025d1c23c40dd98380e6d3496364d.md b/.changelog/c4f025d1c23c40dd98380e6d3496364d.md new file mode 100644 index 0000000..e8a2d91 --- /dev/null +++ b/.changelog/c4f025d1c23c40dd98380e6d3496364d.md @@ -0,0 +1,4 @@ +--- +type: none +--- +Documentation for processors \ No newline at end of file