Aaron Guise 6445cf49c0 feat: migrate to Poetry and implement multi-backend DNS management
- 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
2026-02-17 16:12:46 +13:00
2021-09-07 22:39:25 +12:00
2021-09-07 22:39:25 +12:00
2021-08-28 11:28:23 +12:00
2021-08-28 11:28:23 +12:00
2021-08-28 11:28:23 +12:00

DaDNS - DNS Management System

Features

  • Multi-backend DNS management (BIND, CoreDNS MySQL)
  • Atomic zone updates
  • Thread-safe operations
  • Loguru-based logging

Installation

    poetry install
    poetry run dadns

Configuration

Edit config/app.yml for backend settings

Config Files

config/app.yml

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"
Description
No description provided
Readme 262 KiB
Languages
Python 96%
Just 1.6%
Shell 1.5%
Dockerfile 0.9%