Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support to optionally install iBridges tool #21

Merged
merged 4 commits into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Galaxy is configured such that members of the CO that are in the SRAM workspace
The component takes the following parameters:

* `src_galaxy_version`: set to e.g. `23.0` (default) to control the version of Galaxy that will be installed.
* `src_ibridges`: Boolean (default: `true`). Whether to enable support for the [iBridges](https://github.com/UtrechtUniversity/galaxy-tools-ibridges) tool for connecting to Yoda and iRODS instances. Implies `src_galaxy_bootstrap`, and adds iBridges to the list of tools to be installed automatically.
* `src_galaxy_storage_path`: **Interactive parameter**. Default: `/srv/galaxy/datadir`. Path where Galaxy's "mutable data directory" will be located, including the following files:

```
Expand Down
1 change: 1 addition & 0 deletions molecule/default/converge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@
vars:
src_galaxy_tool_files: "{{ playbook_dir ~ '/molecule/_testfiles/tool_list.yaml.sample' }}"
src_galaxy_workflow_files: "{{ playbook_dir ~ '/molecule/_testfiles/sample-workflow.ga' }}"
src_ibridges: 'true'
14 changes: 14 additions & 0 deletions templates/galaxy/config/user_preferences_extra_conf.yml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
preferences:
{% if _galaxy_ibridges_enabled %}
irods_yoda:
description: Your YODA account
inputs:
- name: username
label: Username
type: text
required: True
- name: password
label: Data Access Password
type: secret
required: True
{% endif %}
8 changes: 8 additions & 0 deletions tools/ibridges.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
tools:
- name: ibridges
owner: maarten.schermer
tool_panel_section_id: iBridges
tool_shed_url: https://toolshed.g2.bx.psu.edu
revisions:
- '6194155810b6' # v0.2
3 changes: 3 additions & 0 deletions vars/galaxy_vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ galaxy_client_use_prebuilt: true
galaxy_systemd_root: true
galaxy_backup_configfiles: false
galaxy_config_templates:
- src: templates/galaxy/config/user_preferences_extra_conf.yml.j2
dest: "{{ galaxy_config_dir }}/user_preferences_extra_conf.yml"
- src: templates/galaxy/config/job_conf.xml.j2
dest: "{{ galaxy_config_dir }}/job_conf.xml"
postgresql_objects_users:
Expand All @@ -37,6 +39,7 @@ galaxy_configuration:
database_connection: "postgresql:///galaxy?host=/var/run/postgresql"
file_path: "{{ galaxy_mutable_data_dir }}/datasets"
job_config_file: "{{ galaxy_config_dir }}/job_conf.xml"
user_preferences_extra_conf_file: "{{ galaxy_config_dir }}/user_preferences_extra_conf.yml"
interactivetools_enable: "{{ _galaxy_use_interactive_tools }}"
interactivetools_map: "{{ _galaxy_use_interactive_tools | ternary(gie_proxy_sessions_path, omit) }}"
galaxy_infrastructure_url: "{{ _galaxy_local_address }}"
Expand Down
9 changes: 7 additions & 2 deletions vars/src_galaxy_vars.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
# Variables derived from component parameters in ResearchCLoud

_galaxy_bootstrap: "{{ _molecule_idempotence | ternary(false, src_galaxy_bootstrap | default(true, true) | bool ) }}"
_galaxy_tool_files: "{{ src_galaxy_tool_files | default('') | split(',') | select() }}" # select() necessary because split on the default '' yields ['']
_galaxy_ibridges_enabled: "{{ src_ibridges | default(true, true) | bool }}"
_galaxy_default_tool_files:
- path: tools/ibridges.yml
enabled: "{{ _galaxy_ibridges_enabled }}"
_galaxy_default_tool_files_list: "{{ _galaxy_default_tool_files | selectattr('enabled') | map(attribute='path') | list }}"
_galaxy_tool_files: "{{ src_galaxy_tool_files | default('', true) | split(',') | select() + _galaxy_default_tool_files_list }}" # select() necessary because split on the default '' yields ['']
_galaxy_workflow_files: "{{ src_galaxy_workflow_files | default('') | split(',') | select() }}"
_galaxy_admin_co_group: "{{ src_galaxy_co_admin_group | default('src_co_admin', true) }}"
_galaxy_custom_repo: "{{ src_galaxy_custom_repo | default('') }}"
_galaxy_custom_repo_branch: "{{ src_galaxy_custom_repo_branch | default('main', true) }}"
_galaxy_api_exposed: "{{ src_galaxy_api_exposed | default(true, true) }}"
_galaxy_use_interactive_tools: "{{ src_galaxy_interactive_tools | default(true, true) | bool }}"
_galaxy_server_fqdn: "{{ workspace_fqdn | default('localhost', true) }}"

# Note that some component parameters are also used in galaxy_vars.yml:
# src_galaxy_storage_path
# src_galaxy_version
Loading