### ๐ DB management at startup
-- [ ] **If the database is empty**
- - Import initial YAML
- - Populate the database
+- [X] **If the database is empty**
+ - [ ] Import initial YAML
+ - [X] Populate the database
-- [ ] **If the database exists**
- - Ignore YAML **unless the repository file has changed**
- - If YAML has changed โ update the DB
+- [X] **If the database exists**
+ - [ ] Ignore YAML **unless the repository file has changed**
+ - [ ] If YAML has changed โ update the DB
---
### ๐ ๏ธ Updates made by the Webapp
-- [ ] Apply changes to the database
+- [X] Apply changes to the database
- [ ] Regenerate YAML from the DB
- [ ] Perform **commit + push** on Git
- [ ] Regenerate **from scratch**:
### ๐งช BIND (DNS)
- [X] Rebuild forward and reverse zones
- [X] Rebuild all records (A, AAAA, CNAME)
+- [X] Support DNS views (local, global, alias -> CNAME to dyndns/external IP)
- [ ] Syntax validation (`named-checkconf`, `named-checkzone`)
- [ ] Rollback management in case of errors
+- [ ] Update external DNS
+ - [ ] Dedicated file
+ - [ ] OVH
+ - [ ] Cloudflare
### ๐งช Kea (DHCP)
- [X] Regenerate subnets, pools, global options, and host reservations
- [ ] Brute force protection (you already have this ๐)
### ๐ง Backup & Recovery
+- [X] Backup generation
- [ ] Periodic backup of SQLite DB
- [ ] Remote Git repository backup
- [ ] Backup of generated configurations