Skip to content

kaimi/chef-inwx-dns-updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

inwx-dns-updater Cookbook

This installs the InterNetworkX DNS Updater.

Requirements

  • bash
  • curl
  • dig

At the moment, this is only tested on Ubuntu and installs Ubuntu specific packages for its requirements.

Attributes

inwx-dns-updater::default

Key Type Description Default
['inwx-dns-updater']['dir'] String installation base directory /srv/inwx-dns-updater
['inwx-dns-updater']['repository'] String repository to clone from git://github.com/kaimi/inwx-dns-updater
['inwx-dns-updater']['version'] String git revision to check out; can be any valid revision identifier master
['inwx-dns-updater']['user'] String user to run the updater as daemon
['inwx-dns-updater']['email'] String email address to send cron job error emails to [email protected]
['inwx-dns-updater']['frequency'] int frequency to run the updater on; measured in minutes, should be 1–60 5
['inwx-dns-updater']['logfile'] String log file to redirect the updater’s output to /var/log/inwx-dns-updater.log
['inwx-dns-updater']['hostname'] String host name to check your public IP against sub.domain.tld
['inwx-dns-updater']['entities'] String[] entity IDs of the DNS entry/-ies to modify 111111111, 222222222
['inwx-dns-updater']['username'] String your INWX web UI user name someuser
['inwx-dns-updater']['password'] String your INWX web UI password andhispassword
['inwx-dns-updater']['xmlfile'] String override API request data payload template file nil
['inwx-dns-updater']['site'] String override public IP address check web site nil

Usage

inwx-updater::default

You will have to at least set the email, hostname, entities, username and password attributes before running the recipe.

node.set['inwx-dns-updater']['email'] = "[email protected]"
node.set['inwx-dns-updater']['hostname'] = "your.domain.tld"
node.set['inwx-dns-updater']['entities'] = ["123456789"]
node.set['inwx-dns-updater']['username'] = "foo"
node.set['inwx-dns-updater']['password'] = "barbaz"

include_recipe "inwx-dns-updater::default"

The xmlfile and site attributes are entirely optional and probably not a good thing to use.

The entity IDs can be determined by editing a DNS entry in the web UI and mousing over the „save“ button. It’s in the URL (see image):

determining the entity ID

Contributing

I am using nvie’s git branching model. To contribute you should follow these steps:

  1. Check if your proposed change is already implemented in the develop branch
  2. Fork the repository on Github
  3. Create a named feature branch (like feature-x)
  4. Write your change
  5. Submit a Pull Request against the develop branch using Github

License and Authors

Authors: ka’imi [email protected]