A role for deploying and configuring miniconda and extensions on unix hosts using Ansible.
It can additionally be used as a playbook for quickly provisioning hosts.
Vagrant machines are provided to produce a boxed install of miniconda or a VM for integration testing.
Using Ansible Galaxy:
$ ansible-galaxy install robinandeer.miniconda
And add it to your play's roles:
- hosts: ...
roles:
- robinandeer.miniconda
- ...
Clone this repo into your roles directory:
$ git clone https://github.com/robinandeer/ansible-miniconda.git roles/miniconda
And add it to your play's roles:
- hosts: ...
roles:
- miniconda
- ...
This roles comes preloaded with multiple available defaults. You can override each one in your hosts/group vars, in your inventory, or in your play. See the annotated defaults in defaults/main.yml
for help in configuration. All provided variables start with miniconda_
.
You can also use the role as a playbook. You will be asked which hosts to provision, and you can further configure the play by using --extra-vars
.
$ ansible-playbook -i inventory --extra-vars='{...}' main.yml
To provision a standalone miniconda box, start the boxed
VM, which is a Ubuntu 12.04 box:
$ vagrant up boxed
You will find miniconda listening on the VM's $port
port on address 192.168.33.20
in the private network. You can then connect to it as any user. Please note that this is highly insecure, so if you're going to publish this VM you'll want to provide actual authentication.
Run the tests by provisioning the appropriate VM:
$ vagrant up test-ubuntu-precise
At the moment, ubuntu-precise
is the only test VM available.
- Koji Tanaka (kjtanaka)
I took on the challenge to write my own distributable Ansible role to learn more about the tool. As such, I've taken in extensive inspiration from the following projects:
- SciLifeLab/deployment for the included miniconda role
- nicholsn/ansible-role-miniconda
- zenoamaro/ansible-role-template as a base role template
- Avoid re-download of installer if conda exists
- only update conda when initially installing miniconda
- use
lininfile
to add miniconda to$PATH
- add option to specify rcfile to modify
$PATH
- add option to modify
.bashrc
- add option to add
.condarc
to the system
- Initial version.