{"id":473,"date":"2009-10-06T23:25:24","date_gmt":"2009-10-06T22:25:24","guid":{"rendered":"http:\/\/wp.devco.net\/?p=473"},"modified":"2009-10-09T17:54:05","modified_gmt":"2009-10-09T16:54:05","slug":"ruby_pdns_external_data","status":"publish","type":"post","link":"https:\/\/www.devco.net\/archives\/2009\/10\/06\/ruby_pdns_external_data.php","title":{"rendered":"Ruby PDNS External Data"},"content":{"rendered":"

I develop ruby-pdns<\/a>, so far things have been very static – you give it code and it serves your code, simple stuff.<\/p>\n

But this is not what I want, I want a full API enabled DNS server where I can both code the logic for records as well as send environmental data into the DNS server to adjust it’s behavior.<\/p>\n

I think there’s a big gap in the various cloud offerings today wrt to DNS, people end up hosting their DNS and make manual config changes, but this is not what clouds are about, you want to code the entire infrastructure, and it should adjust based on demand.\u00a0 This does not sit well with todays slow and generally crappy DNS.\u00a0 Combined with the fact that clouds don’t let you follow the time tested methods for load balancing etc. we need to get creative.<\/p>\n

My end game then is to scratch this itch, you should be able to host DNS servers and interact with them fully both in how they decide how to answer requests but also send data to them and adjust the behaviors on the fly.<\/p>\n

Version 1 of Ruby PDNS will hopefully achieve this, here is a video of what you might expect<\/a> to be able to do – the video sends data to the DNS server telling it to take a machine out of the pool for maintenance.\u00a0\u00a0 There will be REST based APIs that will enable any language to do this, if you want to play the code that you’ll see in the video is all in SVN.<\/p>\n

<\/embed><\/object><\/center><\/p>\n

I still have some ways to go before version 1, consider this a very early preview after 1 nights hacking on the feature.<\/p>\n","protected":false},"excerpt":{"rendered":"

I develop ruby-pdns, so far things have been very static – you give it code and it serves your code, simple stuff. But this is not what I want, I want a full API enabled DNS server where I can both code the logic for records as well as send environmental data into the DNS […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","footnotes":""},"categories":[7],"tags":[121,13,16],"_links":{"self":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts\/473"}],"collection":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/comments?post=473"}],"version-history":[{"count":7,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts\/473\/revisions"}],"predecessor-version":[{"id":972,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts\/473\/revisions\/972"}],"wp:attachment":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/media?parent=473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/categories?post=473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/tags?post=473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}