Skip to main content

update-route53

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 setup.py sdist bdist_wheel

to install once built

deactivate
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
AWS_ACCESS_KEY_ID=AKIA**********
AWS_SECRET_ACCESS_KEY=********************
DNSNAME=subdomain.mydomain.com

# 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.

Release files for update-route53 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for update-route53 0.0.1
File Size Uploaded
update-route53-0.0.1.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for update-route53 0.0.1
File Interpreter ABI Platform
update_route53-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 kB

Release files / update-route53-0.0.1.tar.gz

Download URL update-route53-0.0.1.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
605aefc0da58c1e1ca64132665d535939e20400474071746b6bb7c85306ce1d5
BLAKE2b-256 checksum
How to use checksums
270539cf3010bf123a1cf7ed4c92917d8ba8e06253af00d691f1e70a2d6433e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

Release files / update_route53-0.0.1-py3-none-any.whl

Download URL update_route53-0.0.1-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7482d99ffa8e8ac4fbbc7354a8757ab0b73cb80c2d154f12d69b9bce0a0853e2
BLAKE2b-256 checksum
How to use checksums
c20074c6ff3d2e5112eb15b452ba98c939d20c1997140a3140790ca4bbf2c0b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page