Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support adding basic records #11

Closed
7 tasks done
codefromthecrypt opened this issue Feb 19, 2013 · 8 comments
Closed
7 tasks done

support adding basic records #11

codefromthecrypt opened this issue Feb 19, 2013 · 8 comments
Assignees

Comments

@codefromthecrypt
Copy link
Contributor

Routine DNS work in netflix relates to adding records with the same ttl and simple rdata. For example, most of the time, we are adding A, CNAME, or AAAA, or NS values with TTL 3600, and then checking with dig to see if the updates occurred.

Let's make it very easy to add simple records as this can get early feedback on denominator.

Tasks:

@codefromthecrypt
Copy link
Contributor Author

I've confirmation that supporting list and adds of these records represents minimum needed functionality

@codefromthecrypt
Copy link
Contributor Author

Here's suggested form in the CLI based on Andrew Braham's advice:

./denominator [zone name] [function] [resource record parameters] [type] [resource record parameters]

zone name - name
function - add, delete, update record
type - A records, CNAME
resource record parameters - foo.com 
resource record parameters - 1.2.3.4

One suggestion would be keeping it in similar bind format (below) and then perhaps adding [file option] for bulk adds. That way you could just ingest a normally formated bind file. You may also want to add a TTL field. Although accepting the default TTL would seem reasonable. Here's one possible command format:

./denominator [zone name] [function] [resource record parameters|file]

single record add
./denominator --zone foo.com --record add hostname.foo.com 3600 IN A 1.2.3.4

bulk record add
./denominator --zone foo.com --record add --file cnames.txt

For the less savvy, you may want to re-order the syntax to align with a typical work flow in Ultra//Dyn. 
1. what zone => what action => what record type => records details

./denominator [zone name] [function] ([record type] [record parameters] | [file])
./denominator --zone foo.com --record add --type A --name hostname.foo.com 1.2.3.4 --ttl 3600
./denominator --zone foo.com --record add --type CNAME --name cname.foo.com hostname.foo.com --ttl 3600

Or maybe offer both formats. The former being a classic mode for those folks that are used to mangling DNS.

@senthilvel
Copy link

The above comment makes lot of sense. I would add the update option also.

@ghost ghost assigned jdamick Mar 2, 2013
@codefromthecrypt
Copy link
Contributor Author

@jdamick you mind handling one of the tasks?

@jdamick
Copy link
Contributor

jdamick commented Mar 3, 2013

sure

@codefromthecrypt
Copy link
Contributor Author

elaborated subtasks

@codefromthecrypt
Copy link
Contributor Author

route53 is in per issue #33

@codefromthecrypt
Copy link
Contributor Author

oops. the zone file syntax work bumped to here: #77

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants