Name: planemo-machine
Owner: Galaxy Project
Description: A packer.io configuration for building out Galaxy (http://galaxyproject.org/) tool development environments.
Created: 2015-01-16 03:30:12.0
Updated: 2017-05-05 16:02:04.0
Pushed: 2017-06-22 18:26:56.0
Homepage: null
Size: 233
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|---|---|
James Taylor | 2015-05-22 21:52:51.0 | 6 |
Kyle Ellrott | 2016-08-23 19:08:59.0 | 6 |
Dannon Baker | 2015-05-25 14:13:07.0 | 14 |
John Chilton | 2018-02-06 17:53:48.0 | 177 |
Anthony Bretaudeau | 2018-02-06 14:53:29.0 | 4 |
Enis Afgan | 2016-04-04 14:47:48.0 | 1 |
Björn Grüning | 2016-06-15 17:45:12.0 | 24 |
Dave B. | 2016-06-21 19:19:24.0 | 15 |
Martin Cech | 2016-06-23 03:40:39.0 | 7 |
Other Committers
User | Most Recent Commit | # Commits |
---|
A set of packer and ansible configuration files and scripts used to build Ubuntu environment for Galaxy tool development.
This project makes use of git submodules and before you build any planemo machines, you'll need to initialize them:
make init
This will simply execute the following command git submodule init && git submodule update
.
planemo
).make vagrant
make virtualbox
The virtualbox OVA unlink the other variants will include a graphical environment (Xubuntu) tailored for development (auto logins to the ubuntu
user, configured with tools such as Komodo).
Dockerfile
in this directory and provision.yml
.make docker
To override the Docker command to use sudo for instance do
make docker DOCKER_COMMAND='sudo docker'
dev.Dockerfile
).
This Dockefile is broken out into more steps and will result in a much
larger final container but can be quicker to develop against since the
individual steps are checkmarked.make docker-dev
make docker-via-packer
The VM version of this build process will enable Docker by default - but when building a Docker image we disable this so the developer doesn't need to configure docker-in-docker functionality.
-var 'gce_account_file=/path/to/account.json'
)packer build -var 'gce_project_id=<PROJECT_ID>' --only googlecompute packer.json
packer build -var 'ami_access_key=<AWS ACCESS KEY>' -var 'ami_secret_key=<AWS SECRET KEY>' --only googlecompute packer.json
The file packer.json
contains a description of steps to execute to
provision a box - broken out by where it is being provisioned (Docker,
AWS,GCE, etc…). The main step is the ansible provisioning step preceeded
immediately by the execution of the setup_ansible.sh
script. These steps
are executed for all platforms. To get to that point however, the RAW image
needs to be configured - basically an Ubuntu 14.04 machine needs to be created
with a password-less sudoing user (defaulting to ubuntu
but overridable
using -var 'username=XXX'
argument to packer
- see for instance
vagrant_create_box.sh
script which overrides this to be ubuntu
).
The Ansible roles used to provision the box are found in roles
and the
ansible playbook used to specify and configure them is provision.yml
.
Overview of the roles:
galaxyprojectdotorg.cloudmanimage
A subset of the CloudMan image role,
hopefully this can be refactored an trimmed down so this project and
CloudMan can share the same base (via Ansible Galaxy or gitsubmodules).
galaxyprojectdotorg.cloudmandatabase
The database role from CloudMan
(maybe with added defaults that should be backported). Used to create
postgres database.
galaxyprojectdotorg.galaxy
Nate's Galaxy image - clones Galaxy, fetches
eggs, sets up static configuration, etc…
galaxyprojectdotorg.galaxyextras
New role created by extracting and
generalizing stuff in Bjoern's Galaxy stable. Sets up Slurm, Proftp,
Supervisor, uwsgi, nginx.
galaxyprojectdotorg.devbox
New role created explicitly for allocating
a development box. Install linuxbrew
, planemo
, and a codebox
IDE.
galaxyprojectdotorg.trackster
, smola.java
- these are modified roles
from CloudMan that work but seem less important for the devbox. They are
commented out in provision.yml but should be added back in once things
stabilize to unify CloudMan and this project.