https://github.com/norm/bend
A wrapper around battleschool, the ansible-powered development environment provisioner
https://github.com/norm/bend
Last synced: 6 months ago
JSON representation
A wrapper around battleschool, the ansible-powered development environment provisioner
- Host: GitHub
- URL: https://github.com/norm/bend
- Owner: norm
- License: isc
- Created: 2015-08-10T16:46:17.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-08-11T13:21:59.000Z (almost 11 years ago)
- Last Synced: 2025-03-12T17:49:52.561Z (over 1 year ago)
- Language: Python
- Size: 92.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
README
bend
====
A wrapper around [battleschool] to enable sharing configuration setups between
computers and/or people.
I have more than one computer that I would like to set up using battleschool.
They need different configurations but I still want to keep the configuration
in a single place. Hence, this.
You can see [my configuration] for an example of how to set things up.
[battleschool]: https://github.com/spencergibb/battleschool
[my configuration]: https://github.com/norm/bend-configuration
## Installation
# check out the repo, then: (may need sudo)
cp bend /usr/local/bin
## Usage
bend [-v] [--user USER] [--host HOST] [--dir DIR] [HOST] [USER]
eg:
# accept all defaults
bend
# change the hostname (default is `hostname -s`)
bend dev_box
bend --host dev_box
BEND_HOST=dev_box bend
# change the username (default is $USER)
bend --user bob
BEND_USER=bob bend
# change both
bend --user bob --host dev_box
bend dev_box bob
BEND_USER=bob BEND_HOST=dev_box bend
# change the directory where config files are kept
# (default is ~/etc/battleschool)
bend --dir ~/.battleschool
# list what files are used to create the final config
bend -v
## Configuration
A normal `battleschool` configuration directory contains a file `config.yml`.
Bend will create this file for you by combining (in this order):
* `common.yml`
* `host/.yml`
* `user/.yml`
This allows you to specify the local playbooks, URLs and git repositories to
use on a global, per-host and per-user basis. Each file is optional (but at
least one must exist for this to make any sense).
If any of the following exist, they are assumed to contain extra variables
used during the `battleschool` run:
* `common.vars.yml`
* `host/.vars.yml`
* `user/.vars.yml`
## Why bend?
* it **bends** computers to your will?
* my laptop is called sinister, and I find it amusing to use the command
`bend sinister` to set it up