Skip to main content

Updates route53 for a name and IP address.

Project description


Build Status codecov

Updates route53 for a name and IP address. This was designed to allow a machine with a floating IP address to self-update its hostname.

To build

python3 -m venv venv
source venv/bin/activate
pip install wheel setuptools -U
python sdist bdist_wheel

to install once built

sudo pip3 install dist/update_route53-0.0.1-py3-none-any.whl

To install in crontab

sudo crontab -e

## I place my env variables above the descriptive comments in the crontab

# For more information see the manual pages of crontab(5) and cron(8)
# m h  dom mon dow   command
18 * * * * /usr/local/bin/update-route53 ${DNSNAME} >>/var/log/update-route53.log 2>>/var/log/update-route53.error

The above runs 18 minutes past the hour. Consider picking a random number between 0-59. My old boss preferred prime number intervals between all services. This makes your job easier if your system ever displays periodic instability. If your periodic tasks all start on the hour, isolating the cause of problems is slightly harder. In this case, I'm just thinking of the poor guy running the IP echo service this code is hitting. Spread that load out.

To test

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m unittest

AWS setup

I have included an example IAM policy in conf/aws/route53-updater-policy.json. I suggest creating a user that has no permissions other than this policy, and using those permissions with the script/service. Note, do NOT ever install a policy you haven't audited yourself. Please take a look at it and look up the associated permissions.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

update-route53-0.0.1.tar.gz (4.2 kB view hashes)

Uploaded source

Built Distribution

update_route53-0.0.1-py3-none-any.whl (5.5 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page