a modern DNS record editor for PowerDNS. It uses the PowerDNS-API, has a high test coverage, rich documentation and comes with batteries included!
Refer to our documentation to learn how to use dino in a production environment.
The following instructions are for development setups only. Refer to the documentation linked above on how to get a production setup up and running.
Start a PowerDNS server, mysql (for PowerDNS only) and dino inside docker:
docker-compose up --build
... then visit http://localhost:8000 :)
If you prefer to run django locally for easier debugging, you can skip it in the docker setup, like so:
docker-compose up --build --scale django=0
export DINO_DEBUG=True
export DINO_SECRET_KEY=secret
export DINO_PDNS_APIURL=http://localhost:8081/api/v1
export DINO_PDNS_APIKEY=pdnsapikey
cd src
./manage.py runserver
... then, again, visit http://localhost:8000 :)
Run all tests including the linter, like they would be run in CI:
$ tox
GLOB sdist-make: /home/luto/uberspace/dino/src/setup.py
lint recreate: /home/luto/uberspace/dino/.env
(...)
lint: commands succeeded
test-py36: commands succeeded
test-py37: commands succeeded
congratulations :)
Takes too long? Run tox --listenvs
to get a list of tasks, run them
individually using tox -e $ENV
:
$ tox -e lint
GLOB sdist-make: /home/luto/uberspace/dino/src/setup.py
lint recreate: /home/luto/uberspace/dino/.env
(...)
lint: commands succeeded
congratulations :)
Some meta configuration like setup.py
and setup.cfg
has been lifted from the
awesome conference management system pretalx (MIT). Thanks!