{ "info": { "author": "Jon Winton", "author_email": "jon.winton@nymag.com", "bugtrack_url": null, "classifiers": [], "description": "# Airmail\n\n> A CLI tool for deploying projects to AWS\n\n## Introduction/Philosophy\n\nThe point of Airmail is to make deploying projects into AWS a little easier. It was inspired as a binding layer between [Terraformed](https://www.terraform.io/) infrastructure and deploying applications to [AWS ECS](https://docs.aws.amazon.com/ecs/index.html). At NYMag we wanted to manage infrastructure with Terraform and then allow applications to be more declarative about how they run without caring about the infrastructure. A developer should be able to change easily declare where and how their application will run and then be able to easily configure resources in Terraform to support that. Airmail is designed to deploy code _with the assumption that the underlying infrastructure is there to support the project_.\n\n## How To\n\nAirmail needs to be run in a project with a `.deploy` directory. It will look inside this directory for configuration files that will tell the tool how to deploy to ECS.\n\n \n \u251c\u2500\u2500 app # The directory of your application\n \u251c\u2500\u2500 .deploy # The directory holding the config\n \u2502 \u251c\u2500\u2500 config.yml # Holds the primary config declarations\n \u2502 \u2514\u2500\u2500 .env # Environment variable configuration for the container\n \u2514\u2500\u2500 ...\n\n### Config File\n\nThe `config.yml` file contains all the information that Airmail needs to build the service and task definitions to deploy to ECS. [For an example file click here](https://github.com/nymag/airmail/blob/master/docs/config.md).\n\n### Commands\n\nA list of commands and corresponding arguments/environment variables [can be found here](https://github.com/nymag/airmail/blob/master/docs/commands/README.md).\n\n### AWS Configuration\n\nAirmail assumes your local env is configured per [Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration) configuration. The tool uses Boto3 to execute requests to AWS and does not do anything to setup your local environment.\n\n### Environment Variables\n\nYou can use a few environment variables to control how Airmail is run.\n\n- `AWS_PROFILE`: will run the Boto3 commands under the local profile you have configured\n- `AIRMAIL_ENV`: automatically chooses which environment to run commands for. Good for CI/CD so the prompt is not triggered.\n- `AIRMAIL_DRY_RUN`: will run all of the command except the actual call to AWS\n- `AIRMAIL_CONFIG_FILE` _(default: `config.yml`)_: specifies the file to read from in the `.deploy` directory for application configuration. The file must be a valid YAML file.\n- `AIRMAIL_VERBOSE`: will log in verbose mode. Good for debugging.\n\n## Local Development\n\nClone and run `python3 setup.py install` or download [Watchcode](https://github.com/bluenote10/watchcode) and run `watchcode` in the root of the project./", "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/nymag/airmail", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "airmail", "package_url": "https://pypi.org/project/airmail/", "platform": "", "project_url": "https://pypi.org/project/airmail/", "project_urls": { "Homepage": "https://github.com/nymag/airmail" }, "release_url": "https://pypi.org/project/airmail/0.0.8/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "A deploy tool for AWS projects", "version": "0.0.8" }, "last_serial": 4885824, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "0f6e20800f1dcbaa91094123664f4931", "sha256": "374744e0fab7ecf134e47b47876e7ef198a239879d83afe277233af4659d995a" }, "downloads": -1, "filename": "airmail-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0f6e20800f1dcbaa91094123664f4931", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 9996, "upload_time": "2019-02-06T16:55:14", "url": "https://files.pythonhosted.org/packages/28/84/b4266f88e6bc02a09a469f00afde00c6a91b77071aae3571065cc588ac1e/airmail-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ded7010babb68a1ae65b3a4d26eeaea7", "sha256": "473400a29d0e9ae7812f9ffe69ab0ace9ec29e029d2da2ecacb307ec2c30b0e6" }, "downloads": -1, "filename": "airmail-0.0.2-py3.7.egg", "has_sig": false, "md5_digest": "ded7010babb68a1ae65b3a4d26eeaea7", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.6.0", "size": 27564, "upload_time": "2019-03-01T15:49:10", "url": "https://files.pythonhosted.org/packages/2d/ed/1cc887765471eca81f9e02c068165618891043f74fa9a0908efd36addb5f/airmail-0.0.2-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "1af06ad163a81878dc3f09962bf24a3a", "sha256": "6c8446695d1d4cdc2af0b01b2aade3201b0eb1b0d3f518ecc71864fd55df0499" }, "downloads": -1, "filename": "airmail-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1af06ad163a81878dc3f09962bf24a3a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 10738, "upload_time": "2019-02-10T15:49:01", "url": "https://files.pythonhosted.org/packages/e8/8a/1ac77a9fd1423f53e9336ef71cf9531f988430f040f96dbe8a603cffb5cc/airmail-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "ddb34b547b45615a86835d96bce224ae", "sha256": "b2cf812c9a70c6625563084856b289b2db351cc53b11d3aa84a83c455165d5eb" }, "downloads": -1, "filename": "airmail-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ddb34b547b45615a86835d96bce224ae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 10777, "upload_time": "2019-02-14T21:06:20", "url": "https://files.pythonhosted.org/packages/8b/f1/23675db37220d26ebfe5be23dc122f2788fc048986fbb7b397ef6dd7e953/airmail-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "257e3907fef5219daf7ed1ed18dfb42b", "sha256": "18b2c07afd4f8fe196cb0917481bf21b0527e7a96003b5b6cd42ab76c9e58f1f" }, "downloads": -1, "filename": "airmail-0.0.4.tar.gz", "has_sig": false, "md5_digest": "257e3907fef5219daf7ed1ed18dfb42b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 10790, "upload_time": "2019-02-22T14:39:13", "url": "https://files.pythonhosted.org/packages/2d/66/11cc412ede413e97e11e0f9a02a83d1873c3cdfca1ea4fc1438f117c9a40/airmail-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "6dd76e33c815017af91ab01826cfbfb6", "sha256": "109f9e82102ee88f51b6c567954875c1ea50da76f580ae0474ed193e3c1814c7" }, "downloads": -1, "filename": "airmail-0.0.5-py3.7.egg", "has_sig": false, "md5_digest": "6dd76e33c815017af91ab01826cfbfb6", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.6.0", "size": 28622, "upload_time": "2019-03-01T15:49:12", "url": "https://files.pythonhosted.org/packages/00/0c/d0941420cd93bb4d00678e4f9cded7ece3673f0f8abd2723dd68a4fc1b43/airmail-0.0.5-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "ab52159223c415ae2d2917b06c326e1f", "sha256": "5039ce92fc29521163078b25cdde909cf5f4e99f21463e53b315bbe6aef60409" }, "downloads": -1, "filename": "airmail-0.0.5.tar.gz", "has_sig": false, "md5_digest": "ab52159223c415ae2d2917b06c326e1f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 11160, "upload_time": "2019-02-26T15:17:01", "url": "https://files.pythonhosted.org/packages/f0/6c/1463c6debbab9c05987278112ba08c856177ff76054a62ba15ab155e859b/airmail-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "d65ceec7c03fe6df62f497b4d8f37d2e", "sha256": "750ba82eae20f5d2447182e363b3c1e39fd9a62b36c3fb58c90bf3b5531cb90a" }, "downloads": -1, "filename": "airmail-0.0.6-py3.7.egg", "has_sig": false, "md5_digest": "d65ceec7c03fe6df62f497b4d8f37d2e", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.6.0", "size": 29195, "upload_time": "2019-03-01T15:49:13", "url": "https://files.pythonhosted.org/packages/16/d3/0c233b0012415d2afa097cb15a9fed382fe4b36f0ab3523054678ca05a69/airmail-0.0.6-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "0322b1f5dcf71af2e9ed0315b4945e01", "sha256": "5cb8b4b1d8e6e01941f5ed38412e6bd5af6ad3ead29bddbc945f5ea25001a683" }, "downloads": -1, "filename": "airmail-0.0.6.tar.gz", "has_sig": false, "md5_digest": "0322b1f5dcf71af2e9ed0315b4945e01", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 11808, "upload_time": "2019-02-28T19:26:52", "url": "https://files.pythonhosted.org/packages/7e/b4/65a0ced72c945ce817960cd9c0986f97d0748010367b89f64d9d1a0217a3/airmail-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "6bc09eb589aa8ef6031d997f8605cfe5", "sha256": "536d156b7cf76abc1d7e75cd714843e78ff24e2a264e33d99fd3fe97e311334a" }, "downloads": -1, "filename": "airmail-0.0.7.tar.gz", "has_sig": false, "md5_digest": "6bc09eb589aa8ef6031d997f8605cfe5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 11883, "upload_time": "2019-03-01T15:52:05", "url": "https://files.pythonhosted.org/packages/ac/d2/cb3889b13d4fe3b973cc26222b62d52090f63837b20394b1a80735710727/airmail-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "182321e5e6cf305611b3e0824b72cf51", "sha256": "f5828de39db34b072e3ade8ce3b7a0a4706bceabec0d572859bf007b890698b7" }, "downloads": -1, "filename": "airmail-0.0.8.tar.gz", "has_sig": false, "md5_digest": "182321e5e6cf305611b3e0824b72cf51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 11889, "upload_time": "2019-03-01T17:33:03", "url": "https://files.pythonhosted.org/packages/99/08/679a6da8d704edb3c61bdae2779a839be51486f47c16e277578e017b6966/airmail-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "182321e5e6cf305611b3e0824b72cf51", "sha256": "f5828de39db34b072e3ade8ce3b7a0a4706bceabec0d572859bf007b890698b7" }, "downloads": -1, "filename": "airmail-0.0.8.tar.gz", "has_sig": false, "md5_digest": "182321e5e6cf305611b3e0824b72cf51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 11889, "upload_time": "2019-03-01T17:33:03", "url": "https://files.pythonhosted.org/packages/99/08/679a6da8d704edb3c61bdae2779a839be51486f47c16e277578e017b6966/airmail-0.0.8.tar.gz" } ] }