Skip to main content

Fu for con.

Project description

https://travis-ci.org/bninja/confu.png https://coveralls.io/repos/bninja/confu/badge.png

Helpers for using these infrastructure tools:

dev

$ git clone git@github.com:bninja/confu.git
$ cd confu
$ mkvirtualenv confu
(confu)$ pip install -e .[tests]
(confu)$ py.test tests/ --cov=confu

install

$ pip install con-fu

settings

Read and merged from these ini files:

  • ~/.confu.cfg
  • .confu.cfg

and these environment variables:

  • CONFU_PROFILE
  • CONFU_REGION
  • CONFU_LOG

To see what they are:

$ confu cfg
{
    "atlas": {
        "source_dir": "infras/global/atlas"
    },
    "aws": {
        "default_region": "us-west-1",
        "regions": [
            "us-west-1"
        ]
    },
    "cfn": {
        "bucket_format": "{profile}-confu-cfn-{region}",
        "bucket_key": "vault",
        "parameters": {
            "ConfName": "infra-vault",
            "ConfSource": "{profile}-confu-pkg",
            "InfraSilo": "vault",
            "KeyName": "ai-gazelle",
            "LogArchiveBucket": "{profile}-confu-log"
        },
        "stack_name_format": "{Prefix}-{AppEnv}-{random}",
        "stack_tags": {
            "infra-silo": "vault"
        }
    },
    "pkg": {
        "bucket_format": "{profile}-{region}-confu-pkg",
        "default_includes": [
            "group_vars/",
            "host_vars/",
            "roles/",
            "/ansible.cfg",
            "!*/ansible.cfg",
            "*.yml",
            "!.project",
            "!*.git",
            "!*.pyc",
            "!*.pyo",
            "!*.git*",
            "!*.travis.yml",
            "!*.md",
            "!Vagrantfile",
            "!*/test/",
            "!test.yml"
        ],
        "includes": [
            "infras/",
            "!infras/global/mq.yml",
            "!infras/global/site.yml",
            "!infras/global/.confu.cfg",
            "!infras/global/inventories/",
            "!infras/global/formations/",
            "!infras/global/roles/",
            "inventories/",
            "ops/"
        ],
        "name": "{source.dir_name}",
        "source_dir": "./",
        "stage_dir": "/tmp/confu/{package.name}-{package.version}",
        "version": "{source.git_version}"
    },
    "profile": "julius",
    "region": "us-west-1"
}

shell

Source completion and functions like:

$ source <(confu shell env; confu shell complete)

or use in all shells like:

$ (confu shell env; confu shell complete) > ~/confu.sh
$ cat >> ~/.bashrc <<EOF

. ~/confu.sh
EOF

confue

Shell function for managing confu environments which are just these environment variables:

  • CONFU_PROFILE
  • CONFU_REGION
  • CONFU_LOG

like this:

$ confue
CONFUE_NAME=
CONFU_PROFILE=
CONFU_REGION=
CONFU_LOG=
$ confue jj-us-w1
$ confue -p julius -r us-west-1 -l i
$ confue
CONFUE_NAME=jj-us-w1
CONFU_PROFILE=julius
CONFU_REGION=us-west-1
CONFU_LOG=i
$ confue off
$ confue
CONFUE_NAME=
CONFU_PROFILE=
CONFU_REGION=
CONFU_LOG=
$ confue ls
jj-us-w1

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

con-fu-0.1.10.tar.gz (20.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page