summaryrefslogtreecommitdiff
path: root/ansible.cfg
diff options
context:
space:
mode:
authorMatthew Fennell <matthew@fennell.dev>2026-01-02 00:39:00 +0000
committerMatthew Fennell <matthew@fennell.dev>2026-01-02 01:03:57 +0000
commit9535fc83e22cc9624535c84c3e8ddfa52e44b6ab (patch)
tree6faee9c54b6e6862f8be015b491d3ea241782352 /ansible.cfg
parent51d48e2af6b4890fa9b58b5f2c036a6394f7e596 (diff)
Create script for Mythic Beasts DNS API requests
I am moving DNS provider from deSEC to Mythic Beasts. As part of this change, I need to use Mythic Beast's DNS API [1] in the playbook. I want to reduce the number of operations that are made by grouping several records together. To do this, I can use the "Identifying records to replace" method from their DNS tutorial. [2] This provides a way to specify which records should be replaced by the new records that you PUT onto the endpoint. To use this, you specify the records via a url-encoded series of select queries. Then, you can combine them into a disjunction of conjunctions like so: ?select=type%3DA%26host%3Dchat&select=type%3DAAAA This gets split into two separate queries which are then decoded into: type=A&host=chat type=AAAA Then, these records are replaced by whichever records are specified in the PUT request. It's painful to write these by hand, so write a script to generate them automatically. Then, they should be pasted into the playbook when the desired records update. If this happens often, we should make the playbook call the script to get the values directly. As an additional benefit, the script definitively states which records are "owned" by the playbook. This is because the records specified in the script are the ones that will be replaced each time the playbook is run. Finally, since we've now added python to the playbook for the first time, add the black linter to keep the code style in check. [1] https://www.mythic-beasts.com/support/api/dnsv2 [2] https://www.mythic-beasts.com/support/api/dnsv2/tutorial
Diffstat (limited to 'ansible.cfg')
0 files changed, 0 insertions, 0 deletions