Skip to content

Uberspace/dino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dino

build status Coverage Documentation Python 3.6+

a modern DNS record editor for PowerDNS. It uses the PowerDNS-API, has a high test coverage, rich documentation and comes with batteries included!

Setup

Refer to our documentation to learn how to use dino in a production environment.

Development

The following instructions are for development setups only. Refer to the documentation linked above on how to get a production setup up and running.

Setup

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 :)

Tests

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 :)

Acknowledgements

Some meta configuration like setup.py and setup.cfg has been lifted from the awesome conference management system pretalx (MIT). Thanks!