{ "info": { "author": "Egon Spengler", "author_email": "egon@gb.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=====\nconfu\n=====\n\n.. image:: https://travis-ci.org/bninja/confu.png\n :target: https://travis-ci.org/bninja/confu\n\n.. image:: https://coveralls.io/repos/bninja/confu/badge.png\n :target: https://coveralls.io/r/bninja/confu\n\nHelpers for using these infrastructure tools:\n\n- `troposphere `_\n- `aws cfn `_\n- `ansible `_\n\ndev\n---\n\n.. code:: bash\n\n $ git clone git@github.com:bninja/confu.git\n $ cd confu\n $ mkvirtualenv confu\n (confu)$ pip install -e .[tests]\n (confu)$ py.test tests/ --cov=confu\n\ninstall\n-------\n\n.. code:: bash\n\n $ pip install con-fu\n\n\nsettings\n--------\n\nRead and merged from these ``ini`` files:\n\n- ``~/.confu.cfg``\n- ``.confu.cfg``\n\nand these environment variables:\n\n- ``CONFU_PROFILE``\n- ``CONFU_REGION``\n- ``CONFU_LOG``\n\nTo see what they are:\n\n.. code:: bash\n\n $ confu cfg\n {\n \"atlas\": {\n \"source_dir\": \"infras/global/atlas\"\n }, \n \"aws\": {\n \"default_region\": \"us-west-1\", \n \"regions\": [\n \"us-west-1\"\n ]\n }, \n \"cfn\": {\n \"bucket_format\": \"{profile}-confu-cfn-{region}\", \n \"bucket_key\": \"vault\", \n \"parameters\": {\n \"ConfName\": \"infra-vault\", \n \"ConfSource\": \"{profile}-confu-pkg\", \n \"InfraSilo\": \"vault\", \n \"KeyName\": \"ai-gazelle\", \n \"LogArchiveBucket\": \"{profile}-confu-log\"\n }, \n \"stack_name_format\": \"{Prefix}-{AppEnv}-{random}\", \n \"stack_tags\": {\n \"infra-silo\": \"vault\"\n }\n }, \n \"pkg\": {\n \"bucket_format\": \"{profile}-{region}-confu-pkg\", \n \"default_includes\": [\n \"group_vars/\", \n \"host_vars/\", \n \"roles/\", \n \"/ansible.cfg\", \n \"!*/ansible.cfg\", \n \"*.yml\", \n \"!.project\", \n \"!*.git\", \n \"!*.pyc\", \n \"!*.pyo\", \n \"!*.git*\", \n \"!*.travis.yml\", \n \"!*.md\", \n \"!Vagrantfile\", \n \"!*/test/\", \n \"!test.yml\"\n ], \n \"includes\": [\n \"infras/\", \n \"!infras/global/mq.yml\", \n \"!infras/global/site.yml\", \n \"!infras/global/.confu.cfg\", \n \"!infras/global/inventories/\", \n \"!infras/global/formations/\", \n \"!infras/global/roles/\", \n \"inventories/\", \n \"ops/\"\n ], \n \"name\": \"{source.dir_name}\", \n \"source_dir\": \"./\", \n \"stage_dir\": \"/tmp/confu/{package.name}-{package.version}\", \n \"version\": \"{source.git_version}\"\n }, \n \"profile\": \"julius\", \n \"region\": \"us-west-1\"\n }\n\nshell\n-----\n\nSource completion and functions like:\n\n.. code:: bash\n\n $ source <(confu shell env; confu shell complete)\n\nor use in all shells like:\n\n.. code:: bash\n\n $ (confu shell env; confu shell complete) > ~/confu.sh\n $ cat >> ~/.bashrc <