Clank is a deployment tool for Atmosphere.
Fetch packages required to build dependencies.
apt-get update
apt-get install -y git python python-pip python-dev libffi-dev libssl-devFetch the repository.
git clone https://github.com/cyverse/clank.git
Prepare an environment for clank.
virtualenv clank_env
. clank_env/bin/activate
pip install -r clank/requirements.txt
cd clank
./clank.py --env_file $VARIABLES_YML_FILEAn example of the $VARIABLES_YML_FILE can be found in the dist_files directory.
[WIP] -- All of clank should be re-evaluated to ensure that the 3 'supported tags' listed below cover enough ground. For now, ignore this section. -- [WIP]
Clank's install process is separated into three parts: installation of
dependencies, atmosphere, and troposphere. To run specific parts of the
deployment process, pass a comma separated list to the --tags option.
Supported tags: dependencies, atmosphere, troposphere
./clank.py --env_file $VARIABLES_YML_FILE --tags dependencies,troposphereYou can actually specify any tag you may find in the roles and playbooks. Clank is a thin-wrapper over ansible.
Any arguments that Clank itself doesn't recognize will be passed to the resulting ansible-playbook run, which exposes the full capabilities of the ansible-playbook command. For example, if you have secrets that are encrypted with Ansible Vault, you can append --ask-vault-pass to your Clank command, and Ansible will prompt you for a password interactively.
- variables.yml (See variables dist for blank template)
- hosts (See hosts dist for blank template) #FIXME: Bad path
- group_vars (See group_vars dist for blank template) #FIXME: Bad path
The hosts and group_vars files should reflect one another. This would include renaming the dist file to relflect the groups you wish to create with ansible.
- A organizational cert
- A bundle cert
- And a organization ssl key
- A private id_rsa file
- A public id_rsa file
- atmosphere.sql
- troposphere.sql
The location of these files must be stated in your completed variables.yml. # FIXME: bad linked-lines.
Generally, new roles should be created using ansible-role-template, using Ansible Galaxy and Travis CI as detailed here (only visible to CyVerse staff). k
See LICENSE file.
