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.

Filename, size & hash SHA256 hash help File type Python version Upload date
con-fu-0.1.10.tar.gz (20.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page