Project

General

Profile

Draft 20 version of DNS API » History » Revision 10

Revision 9 (Brian Gupta, 05/09/2011 04:22 AM) → Revision 10/20 (Brian Gupta, 05/09/2011 04:26 AM)

h1. Draft 20 version of DNS API, with working notes 

 h2. Current API 

 |_.DNS | 
 |/dns|POST|Create a new DNS record|@{"fqdn":string(name/ip), "value":string(ip/reverse), "type":string(A/PTR)}@| 
 |/dns/value|DELETE|remove value(ip or reverse) DNS record|| 

 h2. Record types 

 h3. Should be implemented in next version of DNS API 

 /dns/zone/A (supports multiple records) 
 /dns/zone/PTR (Does not support multiple records) 
 /dns/zone/CNAME (Bind 9 doesn't support roundrobin cnames, so we should at first limit CNAMEs to a single record) 
 /dns/zone/AAAA (ipv6 address, supports (supports multiple records) 
 /dns/zone/TXT (is a single string field of "value" no "fqdn" required, supports (supports multiple records) 
 /dns/zone/SPF (is a single string field of "value" no "fqdn" required, supports (supports multiple records) 
 /dns/zone/MX (Needs an extra preference number field, supports multiple records) 

 h3. Deferred: 

 /dns/zone/SOA (Can not be dynamically deleted, and needs extra code to handle) 
 /dns/zone/NS (Needs manual serial number increment 
 /dns/zone/SRV (Needs more research.. It might be easy enough, but isn't a priority yet) 

 h2. Ohad notes 

 GET /dns -> list of dns zones managed by that proxy 
 GET /dns/zone -> list of all zone records 
 GET /dns/zone/record_type list of all dns records with a given type, for 
 example all CNAME would be /dns/1.2.3.4/CNAME 
 GET /dns/zone/record -> details of the specific record. 

 POST /dns/zone -> creates a new record 
 DELETE /dns/zone/record -> deletes a record 

 h2. Brian notes 

 Dynamic DNS RFC http://tools.ietf.org/html/rfc2136 
 Howto: http://caunter.ca/nsupdate.txt 

 SOA: https://lists.isc.org/pipermail/bind-users/2003-November/047015.html 
 MX: http://forums.devshed.com/dns-36/using-nsupdate-to-add-an-mx-record-326788.html 
 NS: http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1304925290721+28353475&threadId=702920 

 h2. Other APIs to investigate 

 http://dyn.com/developer 
 http://docs.amazonwebservices.com/Route53/latest/APIReference/ 
 http://ns.zerigo.com/ 

 h2. DNS backends 

 NSUPDATE/BIND 
 Amazon/Route53 
 Dynect/DynDNS 
 DNSMadeEasy 
 UltraDNS 
 ActiveDirectory/Microsoft DNS