update knot role to support more operational variety

Now secondary zones, dynamic zones, interpeted catalog zones, etc.
are supported by our knot role
This commit is contained in:
lilly 2026-09-11 10:09:48 +02:00
commit 4bdd36b8f7
Signed by: lilly
SSH key fingerprint: SHA256:y9T5GFw2A20WVklhetIxG1+kcg/Ce0shnQmbu1LQ37g
8 changed files with 264 additions and 61 deletions

View file

@ -2,14 +2,15 @@
argument_specs:
main:
options:
knot__dnssec_key_id:
description: The id of the TSIG key which knot will use for zone transfer signing
knot__log_level:
type: str
required: true
knot__dnssec_key_secret:
description: The secret value of the TSIG key which knot will use for zone transfer signing
type: str
required: true
required: false
knot__deploy_prometheus_exporter:
type: bool
required: false
description: Whether a prometheus exporter for knot should also be installed
knot__remotes:
description:
- A list of definitions for remote nameservers that are used for different purposes
@ -25,11 +26,19 @@ argument_specs:
type: list
required: true
elements: str
key:
type: str
required: false
via:
type: list
elements: str
required: false
knot__catalog_zones:
description: A list of catalog zones that will be served by knot
type: list
elements: dict
required: true
required: false
options:
domain:
type: str
@ -38,11 +47,12 @@ argument_specs:
type: list
elements: str
required: false
knot__zones:
knot__primary_zones:
description: A list of user zones that will be served by knot
type: list
elements: dict
required: true
required: false
options:
domain:
type: str
@ -57,3 +67,105 @@ argument_specs:
content:
type: str
required: true
knot__dynamic_zones:
description: A list of user zones operated via DDNS that will be served by knot
type: list
elements: dict
required: false
options:
domain:
type: str
required: true
notify_targets:
type: list
elements: str
required: false
catalog_member:
type: str
required: false
acl:
type: list
elements: str
required: true
knot__secondary_zones:
description: A list of secondary zones that will be served by knot
required: false
type: list
elements: dict
options:
domain:
type: str
required: true
notify_targets:
type: list
elements: str
required: false
catalog_member:
type: str
required: false
primary:
type: str
required: true
knot__catalog_secondary_zones:
description: A list of zones which are catalog secondaries and which will generate new zones based on the catalog content
type: list
elements: dict
required: false
options:
domain:
type: str
required: true
notify_targets:
type: list
elements: str
required: false
primary:
type: str
required: true
knot__keys:
description: TSIG Key stanzas used by knot
required: false
type: list
elements: dict
options:
id:
type: str
required: true
algorithm:
type: str
required: false
secret:
type: str
required: true
knot__acls:
description: ACL stanzas
required: false
type: list
elements: dict
options:
id:
type: str
required: true
address:
type: list
elements: str
required: false
key:
type: str
required: false
remote:
type: list
elements: str
required: false
action:
type: str
required: false
update_type:
type: list
elements: str
required: false