peach-dyndns-server/README.md

1.7 KiB

peach-dyndns-host

a dynamic DNS server to host the names of guests with changing IP addresses by providing an http API for updating bind9 configurations.

Setup

The code in this repo assumes the existence of an installed and running bind9 server on the same server as is running peach-dyndns-server. Documentation for setting up bind9 can be found here.

The peach-dyndns-server code can be compiled with

cargo deb; sudo dpkg -i target/debian/peach-dyndns-server_0.1.0_amd64.deb

Development

sudo su peach-dyndns; ./target/release/main -vv

Prod Deployment

prod is deployed to /srv/peachcloud/peach-dyndns-server/prod-peach-dyndns

Staging Deployment

staging is deployed to /srv/peachcloud/peach-dyndns-server/dev-peach-dyndns

Test

ping

curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "ping", "id":1 }' 127.0.0.1:3002

register_domain

curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "register_domain", "params" : {"domain": "mirage.dyn.peachcloud.org" }, "id":1 }' 127.0.0.1:3002

is_domain_available

curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method": "is_domain_available", "params" : {"domain": "mirage.dyn.peachcloud.org" }, "id":1 }' 127.0.0.1:3002

test peach-bind9 is running,

# this returns version of bind running
dig -t txt -c chaos VERSION.BIND @IP_ADDRESS_OF_SERVER 

# this returns records for blue.dyn.peachcloud.org
nslookup blue.dyn.peachcloud.org YOUR_SERVER_IP_ADDRESS

# this returns records for blue.dyn.peachcloud.org
nslookup blue.dyn.peachcloud.org ns.peachcloud.org