54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
# 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](docs/setup-bind-for-peach-dyndns.md).
|
|
|
|
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,
|
|
```
|
|
nslookup blue.dyn.peachcloud.org ns.peachcloud.org
|
|
```
|