You've already forked directdnsonly
- Migrated from setuptools to Poetry; added pyproject.toml, poetry.lock, poetry.toml and .python-version (Python 3.11.12) - Built out full directdnsonly Python package with BIND and CoreDNS MySQL backends, CherryPy REST API, persist-queue worker, and vyper-based config - Auth credentials now read from config/env (app.auth_username/password) rather than hardcoded; override via DADNS_APP_AUTH_PASSWORD env var - Added Dockerfile.deepseek: Python 3.11 slim + BIND9 + Poetry install - Rewrote docker-compose.yml for local dev stack (MySQL + dadns services) - Added SQL schema, docker/ BIND configs, justfile, tests, and README - Expanded .gitignore for Poetry/Python project artifacts
40 lines
727 B
Markdown
40 lines
727 B
Markdown
# DaDNS - DNS Management System
|
|
|
|
## Features
|
|
- Multi-backend DNS management (BIND, CoreDNS MySQL)
|
|
- Atomic zone updates
|
|
- Thread-safe operations
|
|
- Loguru-based logging
|
|
|
|
## Installation
|
|
```bash
|
|
poetry install
|
|
poetry run dadns
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Edit config/app.yml for backend settings
|
|
|
|
### Config Files
|
|
#### `config/app.yml`
|
|
```yaml
|
|
timezone: Pacific/Auckland
|
|
log_level: INFO
|
|
queue_location: ./data/queues
|
|
|
|
dns:
|
|
default_backend: bind
|
|
backends:
|
|
bind:
|
|
enabled: true
|
|
zones_dir: ./data/zones
|
|
named_conf: ./data/named.conf.include
|
|
|
|
coredns_mysql:
|
|
enabled: true
|
|
host: "127.0.0.1"
|
|
port: 3306
|
|
database: "coredns"
|
|
username: "coredns"
|
|
password: "password" |