I have been handed an Ansible playbook to install Galaxy given our specific requirements. I cannot speak to why the sanctioned Ansible deployment script wasn't used and don't really want to start a debate on that.
I've almost got the homemade working, but it's failing at the end during tool installation.
Looking at the command, it uses bioblend and requires a user API key. Since this is an automated installation, we as yet don't have a user or an API Key for them:
- name: Install Galaxy tools
shell: source /config/binaries/bioblend/0.10.0/bin/activate && shed-tools install --api_key "myBIGsecret" -t /galaxy/{{ deploy_to }}/config/tool_list.yaml --galaxy "http://localhost/galaxy/"
become: yes
become_user: galaxy
So, I have two questions.
Is it possible to programmatically create an admin user and their API key for use in tool installation. Even if that user were single use and subsequently deleted that would be fine. Is it as simple as
curl –d "user=zipzap@foo.com&password=zapzip" -X POST \ http://localhost:8080/api/users/create curl -user zipzap@foo.com https://localhost:8080/api/users/api_key
During my searches and reading I did find the various Galaxy Ansible playbooks and roles, in particular noting that the install tools playbook uses something called ephemeris rather than bioblend. Is ephemeris preferred over bioblend for automated tool installation?