{ "info": { "author": "Christopher Coakley", "author_email": "update-route53@tekabal.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# update-route53\n[![Build Status](https://travis-ci.com/ccoakley/update-route53.svg?branch=master)](https://travis-ci.com/ccoakley/update-route53)\n[![codecov](https://codecov.io/gh/ccoakley/update-route53/branch/master/graph/badge.svg)](https://codecov.io/gh/ccoakley/update-route53)\n\nUpdates route53 for a name and IP address. This was designed to allow a machine with a floating IP address to self-update its hostname.\n\n# To build\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate\npip install wheel setuptools -U\npython setup.py sdist bdist_wheel\n```\n\n## to install once built\n\n```bash\ndeactivate\nsudo pip3 install dist/update_route53-0.0.1-py3-none-any.whl\n```\n\n## To install in crontab\n\n```bash\nsudo crontab -e\n\n## I place my env variables above the descriptive comments in the crontab\nAWS_ACCESS_KEY_ID=AKIA**********\nAWS_SECRET_ACCESS_KEY=********************\nDNSNAME=subdomain.mydomain.com\n\n# For more information see the manual pages of crontab(5) and cron(8)\n#\n# m h dom mon dow command\n18 * * * * /usr/local/bin/update-route53 ${DNSNAME} >>/var/log/update-route53.log 2>>/var/log/update-route53.error\n```\n\nThe above runs 18 minutes past the hour. Consider picking a random number\nbetween 0-59. My old boss preferred prime number intervals between all services.\nThis makes your job easier if your system ever displays periodic instability.\nIf your periodic tasks all start on the hour, isolating the cause of problems is\nslightly harder. In this case, I'm just thinking of the poor guy running the IP\necho service this code is hitting. Spread that load out.\n\n# To test\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\npython -m unittest\n```\n\n# AWS setup\n\nI have included an example IAM policy in `conf/aws/route53-updater-policy.json`.\nI suggest creating a user that has no permissions other than this policy,\nand using those permissions with the script/service. Note, do NOT ever install a\npolicy you haven't audited yourself. Please take a look at it and look up the\nassociated permissions.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ccoakley/update-route53", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "update-route53", "package_url": "https://pypi.org/project/update-route53/", "platform": "", "project_url": "https://pypi.org/project/update-route53/", "project_urls": { "Homepage": "https://github.com/ccoakley/update-route53" }, "release_url": "https://pypi.org/project/update-route53/0.0.1/", "requires_dist": [ "boto3 (>=1.9.28)" ], "requires_python": "", "summary": "Updates route53 for a name and IP address.", "version": "0.0.1" }, "last_serial": 4475813, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "624def591caa9b382c42b49985006535", "sha256": "7482d99ffa8e8ac4fbbc7354a8757ab0b73cb80c2d154f12d69b9bce0a0853e2" }, "downloads": -1, "filename": "update_route53-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "624def591caa9b382c42b49985006535", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5450, "upload_time": "2018-11-12T02:41:39", "url": "https://files.pythonhosted.org/packages/c2/00/74c6ff3d2e5112eb15b452ba98c939d20c1997140a3140790ca4bbf2c0b6/update_route53-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f6203f0745c8261fc2cfc610eed7cac", "sha256": "605aefc0da58c1e1ca64132665d535939e20400474071746b6bb7c85306ce1d5" }, "downloads": -1, "filename": "update-route53-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5f6203f0745c8261fc2cfc610eed7cac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4234, "upload_time": "2018-11-12T02:41:41", "url": "https://files.pythonhosted.org/packages/27/05/39cf3010bf123a1cf7ed4c92917d8ba8e06253af00d691f1e70a2d6433e5/update-route53-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "624def591caa9b382c42b49985006535", "sha256": "7482d99ffa8e8ac4fbbc7354a8757ab0b73cb80c2d154f12d69b9bce0a0853e2" }, "downloads": -1, "filename": "update_route53-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "624def591caa9b382c42b49985006535", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5450, "upload_time": "2018-11-12T02:41:39", "url": "https://files.pythonhosted.org/packages/c2/00/74c6ff3d2e5112eb15b452ba98c939d20c1997140a3140790ca4bbf2c0b6/update_route53-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f6203f0745c8261fc2cfc610eed7cac", "sha256": "605aefc0da58c1e1ca64132665d535939e20400474071746b6bb7c85306ce1d5" }, "downloads": -1, "filename": "update-route53-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5f6203f0745c8261fc2cfc610eed7cac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4234, "upload_time": "2018-11-12T02:41:41", "url": "https://files.pythonhosted.org/packages/27/05/39cf3010bf123a1cf7ed4c92917d8ba8e06253af00d691f1e70a2d6433e5/update-route53-0.0.1.tar.gz" } ] }