docs: move dns automation from TODO.md to nixos-improvements.md
All checks were successful
Run nix flake check / flake-check (push) Successful in 2m20s
All checks were successful
Run nix flake check / flake-check (push) Successful in 2m20s
This commit is contained in:
30
TODO.md
30
TODO.md
@@ -484,36 +484,6 @@ vault01.home.2rjus.net (10.69.13.19)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Phase 5: DNS Automation
|
|
||||||
|
|
||||||
**Goal:** Automatically generate DNS entries from host configurations
|
|
||||||
|
|
||||||
**Approach:** Leverage Nix to generate zone file entries from flake host configurations
|
|
||||||
|
|
||||||
Since most hosts use static IPs defined in their NixOS configurations, we can extract this information and automatically generate A records. This keeps DNS in sync with the actual host configs.
|
|
||||||
|
|
||||||
**Tasks:**
|
|
||||||
- [ ] Add optional CNAME field to host configurations
|
|
||||||
- [ ] Add `networking.cnames = [ "alias1" "alias2" ]` or similar option
|
|
||||||
- [ ] Document in host configuration template
|
|
||||||
- [ ] Create Nix function to extract DNS records from all hosts
|
|
||||||
- [ ] Parse each host's `networking.hostName` and IP configuration
|
|
||||||
- [ ] Collect any defined CNAMEs
|
|
||||||
- [ ] Generate zone file fragment with A and CNAME records
|
|
||||||
- [ ] Integrate auto-generated records into zone files
|
|
||||||
- [ ] Keep manual entries separate (for non-flake hosts/services)
|
|
||||||
- [ ] Include generated fragment in main zone file
|
|
||||||
- [ ] Add comments showing which records are auto-generated
|
|
||||||
- [ ] Update zone file serial number automatically
|
|
||||||
- [ ] Test zone file validity after generation
|
|
||||||
- [ ] Either:
|
|
||||||
- [ ] Automatically trigger DNS server reload (Ansible)
|
|
||||||
- [ ] Or document manual step: merge to master, run upgrade on ns1/ns2
|
|
||||||
|
|
||||||
**Deliverable:** DNS A records and CNAMEs automatically generated from host configs
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Phase 6: Integration Script
|
### Phase 6: Integration Script
|
||||||
|
|
||||||
**Goal:** Single command to create and deploy a new host
|
**Goal:** Single command to create and deploy a new host
|
||||||
|
|||||||
31
docs/plans/nixos-improvements.md
Normal file
31
docs/plans/nixos-improvements.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# NixOS Infrastructure Improvements
|
||||||
|
|
||||||
|
This document contains planned improvements to the NixOS infrastructure that are not directly part of the automated deployment pipeline.
|
||||||
|
|
||||||
|
## DNS Automation
|
||||||
|
|
||||||
|
**Goal:** Automatically generate DNS entries from host configurations
|
||||||
|
|
||||||
|
**Approach:** Leverage Nix to generate zone file entries from flake host configurations
|
||||||
|
|
||||||
|
Since most hosts use static IPs defined in their NixOS configurations, we can extract this information and automatically generate A records. This keeps DNS in sync with the actual host configs.
|
||||||
|
|
||||||
|
**Tasks:**
|
||||||
|
- [ ] Add optional CNAME field to host configurations
|
||||||
|
- [ ] Add `networking.cnames = [ "alias1" "alias2" ]` or similar option
|
||||||
|
- [ ] Document in host configuration template
|
||||||
|
- [ ] Create Nix function to extract DNS records from all hosts
|
||||||
|
- [ ] Parse each host's `networking.hostName` and IP configuration
|
||||||
|
- [ ] Collect any defined CNAMEs
|
||||||
|
- [ ] Generate zone file fragment with A and CNAME records
|
||||||
|
- [ ] Integrate auto-generated records into zone files
|
||||||
|
- [ ] Keep manual entries separate (for non-flake hosts/services)
|
||||||
|
- [ ] Include generated fragment in main zone file
|
||||||
|
- [ ] Add comments showing which records are auto-generated
|
||||||
|
- [ ] Update zone file serial number automatically
|
||||||
|
- [ ] Test zone file validity after generation
|
||||||
|
- [ ] Either:
|
||||||
|
- [ ] Automatically trigger DNS server reload (Ansible)
|
||||||
|
- [ ] Or document manual step: merge to master, run upgrade on ns1/ns2
|
||||||
|
|
||||||
|
**Deliverable:** DNS A records and CNAMEs automatically generated from host configs
|
||||||
Reference in New Issue
Block a user