Dynamic Configuration Of Bind Configurations Via Rocket API #8

Merged
mhfowler merged 18 commits from talk-to-bind into master 2021-05-18 18:16:43 +00:00
mhfowler commented 2021-05-18 16:57:28 +00:00 (Migrated from github.com)

The approach I've opted for is assuming a bind9 server is running, and creating a rocket server which adds configurations to bind to register new domains. Each new domain gets its own unique TSIG key, so that in the future the client can update the IP address for that domain using nsupdate and the TSIG key (and won't be able to update any other domains). This takes advantage of the authentication already built into bind and the DNS specs, without have to re-implement it.

The two rocket endpoints are:

  • /domain/register (add a new domain and get back the TSIG key for subsequent updating with nsupdate)
  • /domain/check-available (check if given domain is available)

I've tested that these endpoints are working on the server.

My next todos:

  • add systemd + nginx config for the dyndns-server so that it is running 'live'
  • create client for the service in rust which can parse the key response and create an appropriate nsudpate config on the peachcloud device
  • hook up UI for peach-web to interact with the peach-dyndns-client
  • add documentation
  • test everything is working
The approach I've opted for is assuming a bind9 server is running, and creating a rocket server which adds configurations to bind to register new domains. Each new domain gets its own unique TSIG key, so that in the future the client can update the IP address for that domain using nsupdate and the TSIG key (and won't be able to update any other domains). This takes advantage of the authentication already built into bind and the DNS specs, without have to re-implement it. The two rocket endpoints are: * /domain/register (add a new domain and get back the TSIG key for subsequent updating with nsupdate) * /domain/check-available (check if given domain is available) I've tested that these endpoints are working on the server. My next todos: - add systemd + nginx config for the dyndns-server so that it is running 'live' - create client for the service in rust which can parse the key response and create an appropriate nsudpate config on the peachcloud device - hook up UI for peach-web to interact with the peach-dyndns-client - add documentation - test everything is working
mhfowler commented 2021-05-18 18:16:34 +00:00 (Migrated from github.com)

@mycognosist I'm merging this is now but would be happy to hear feedback whenever you have time. A bunch of rust in here, becoming less slow to write :)

@mycognosist I'm merging this is now but would be happy to hear feedback whenever you have time. A bunch of rust in here, becoming less slow to write :)
mhfowler commented 2021-05-18 18:18:04 +00:00 (Migrated from github.com)

btw the folders
/ns_tests
/bash
/bind_config

were more stuff I was using for debugging and I see I should actually clean up and remove those folders from git

btw the folders /ns_tests /bash /bind_config were more stuff I was using for debugging and I see I should actually clean up and remove those folders from git
Sign in to join this conversation.
No description provided.