grycap.singularity_registry
Ansible Role - Singularity Registry
This is a customizable Ansible role for installing the Singularity Registry and the Singularity Registry Client.
Variables for sregistry
install_sregistry
: A true/false value that tells whether to install sregistry. Default: Truesregistry_url
: The link to download sregistry from this GIT repository. Default: https://github.com/singularityhub/sregistrysregistry_branch
: The branch of the GIT repository. Default: 'master'sregistry_dir
: The location where sregistry will be installed. Default: '/opt/sregistry-{{ sregistry_branch }}'sregistry_started
: A true/false value that indicates if the docker-compose.yml should be started.sregistry_token
: The token from the secrets.py file. If it’s empty, the role will create one. Default: ''sregistry_secrets_vars
: A list of dictionaries for configuring secrets in the secrets.py file. It should be defined like this:sregistry_secrets_vars: - { option: 'VAR_NAME_1', value: VAR_VALUE_1 } - { option: 'VAR_NAME_2', value: VAR_VALUE_2 }
sregistry_config_vars
: A list of dictionaries for configuring the config.py file. It should be defined like this:sregistry_config_vars: - { option: 'VAR_NAME_1', value: VAR_VALUE_1 } - { option: 'VAR_NAME_2', value: VAR_VALUE_2 }
sregistry_plugins_enabled
: A list of available plugins for sregistry. The allowed plugins are listed in the vars/main.yml file:sregistry_allowed_plugins: - pam_auth - google_build - globus - saml_auth
Variables for sregistry-cli
install_sregistry_cli
: A true/false value indicating whether to install sregistry-cli. Default: True.sregistry_cli_url
: The link to download sregistry-cli from this GIT repository. Default: https://github.com/singularityhub/sregistry-clisregistry_cli_branch
: The branch of the GIT repository. Default: 'master'sregistry_cli_dir
: The location where sregistry-cli will be installed. Default: '/opt/sregistry-cli-{{ sregistry_cli_branch }}'sregistry_cli_use_docker
: A true/false value indicating if sregistry-cli should be installed on the host or if the Docker image should be built. Default: Truesregistry_cli_create_alias
: A true/false value indicating if an alias for sregistry-cli should be created in /root/.bashrc. Default: False
Example Playbook
This playbook deploys both the client and server with Consul enabled (available at 172.17.0.2):
``` yml
hosts: singularity-registry vars:
Variables for GitHub authorization
sregistry_secrets_vars:
- { option: 'SOCIAL_AUTH_GITHUB_KEY', value: "XXXXXXXXXX" }
- { option: 'SOCIAL_AUTH_GITHUB_SECRET', value: "XXXXXXXXXX" }
sregistry_config_vars: - { option: 'ENABLE_GITHUB_AUTH', value: True } - { option: 'HELP_CONTACT_EMAIL', value: 'serlohu@upv.es' } - { option: 'HELP_INSTITUTION_SITE', value: 'https://www.upv.es'} - { option: 'REGISTRY_NAME', value: 'My Singularity Registry' } - { option: 'REGISTRY_URI', value: 'mysreg' } - { option: 'PRIVATE_ONLY', value: True }
Using PAM for authorization
sregistry_plugins_enabled: - pam_auth
sregistry-cli installation in Docker
sregistry_cli_use_docker: true
roles:
- { role: grycap.singularity_registry }
hosts: general-nodes vars:
Do not install sregistry, only sregistry-cli
install_sregistry : false
sregistry-cli installation in Docker
sregistry_cli_use_docker: true
roles:
- { role: grycap.singularity_registry }
License
Apache 2.0
Installs Singularity Registry (using docker compose) and Singularity Registry CLI
ansible-galaxy install grycap.singularity_registry