Created
July 20, 2019 08:39
-
-
Save pmandreoli/58433da9ee898b3f17563ebb6f0dd8f5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| tosca_definitions_version: tosca_simple_yaml_1_0 | |
| imports: | |
| - indigo_custom_types: https://raw.githubusercontent.com/mtangaro/tosca-types/master/custom_types.yaml | |
| description: > | |
| TOSCA test for launching a Galaxy Server also configuring the bowtie2 | |
| tool using Galaxy Tool Shed. | |
| topology_template: | |
| inputs: | |
| instance_flavor: | |
| type: string | |
| description: instance flavor (num_cpu, memory, disk) | |
| default: m1.medium | |
| storage_size: | |
| type: string | |
| description: storage memory required for the instance | |
| default: 50 GB | |
| admin_email: | |
| type: string | |
| description: email of the admin user | |
| default: ma.tangaro@gmail.com | |
| admin_api_key: | |
| type: string | |
| description: key to access the API with admin role | |
| default: GALAXY_ADMIN_API_KEY | |
| user: | |
| type: string | |
| description: username to launch the galaxy daemon | |
| default: galaxy | |
| version: | |
| type: string | |
| description: galaxy version to install | |
| default: release_18.05 | |
| instance_description: | |
| type: string | |
| description: galaxy instance description | |
| default: "INDIGO Galaxy test" | |
| instance_key_pub: | |
| type: string | |
| description: galaxy instance ssh public key | |
| default: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrm8mxOuqwP5XTHf685V9rqRXXg41F4isJvRr4h3MPDs8PgqZBzzjxEFyGpJ/Rgg4ACesGBZy+CbVVGtOveltKvgkpzyHIrh+vMay9z82eK2LMZEfmEPgw1BHdRifPZ1Qb7Zmj1nRk1EMWoNvbBxEc3/MSorWb+2SVMs+42EZ7QxavBmsU7zNU0Nd0e1xiqJ00VDWMnXullp/ieR9M4/XsSlS3oqxsxkAbY3eQYVMsnh64oiRw3lpYBkPyNtC/VSL5Cqig3CMaiK9AW8FjP1GwwqoMjL0H0Mkr0fY8eSSQ9Tcy5AqyaiPn7tmG0fSeNOFwxGkTzrujqlCiOkRSM1Yj marco@MacBook-Pro-di-Marco.local' | |
| export_dir: | |
| type: string | |
| description: path to store galaxy data | |
| default: /export | |
| storage_encryption: | |
| type: boolean | |
| description: Enable storage encryption using Vault to store secrets and LUKS to encrypt | |
| default: False | |
| required: true | |
| vault_url: | |
| type: string | |
| description: Hashicorp Vault server url | |
| default: "https://cloud-90-147-75-223.cloud.ba.infn.it:8200" | |
| required: false | |
| vault_wrapping_token: | |
| type: string | |
| description: Vault Wrapping token to write secret | |
| default: not_a_wrapping_token | |
| required: false | |
| vault_secret_path: | |
| type: string | |
| description: Vault path to store secret | |
| default: "subject/depuuid" | |
| required: false | |
| vault_secret_key: | |
| type: string | |
| description: Vault secret key name | |
| default: secret | |
| required: false | |
| iam_client_id: | |
| type: string | |
| description: | |
| default: iam_client_id_for_luks_client | |
| required: false | |
| iam_client_secret: | |
| type: string | |
| description: | |
| default: iam_secret_for_luks_client | |
| required: false | |
| flavor: | |
| type: string | |
| description: Galaxy flavor for tools installation | |
| default: "bgruening/galaxy-stable" | |
| reference_data: | |
| type: boolean | |
| description: Install Reference data | |
| default: true | |
| node_templates: | |
| galaxy: | |
| type: tosca.nodes.indigo.GalaxyPortalDocker | |
| properties: | |
| storage_encryption: { get_input: storage_encryption } | |
| vault_url: { get_input: vault_url } | |
| vault_wrapping_token: { get_input: vault_wrapping_token } | |
| vault_secret_path: { get_input: vault_secret_path } | |
| vault_secret_key: { get_input: vault_secret_key } | |
| iam_client_id: { get_input: iam_client_id } | |
| iam_client_secret: { get_input: iam_client_id } | |
| admin_email: { get_input: admin_email } | |
| admin_api_key: { get_input: admin_api_key } | |
| version: { get_input: version } | |
| instance_description: { get_input: instance_description } | |
| instance_key_pub: { get_input: instance_key_pub } | |
| export_dir: { get_input: export_dir } | |
| flavor: { get_input: flavor } | |
| requirements: | |
| - lrms: local_lrms | |
| # type to describe a Galaxy not using any LRMS but using the local system | |
| local_lrms: | |
| type: tosca.nodes.indigo.LRMS.FrontEnd.Local | |
| requirements: | |
| - host: galaxy_server | |
| galaxy_server: | |
| type: tosca.nodes.indigo.Compute | |
| capabilities: | |
| endpoint: | |
| properties: | |
| network_name: PUBLIC | |
| #private_ip: false | |
| ports: | |
| http_port: | |
| protocol: tcp | |
| source: 80 | |
| ftp_port: | |
| protocol: tcp | |
| source: 21 | |
| ftp_passive: | |
| protocol: tcp | |
| source_range: [ 30000, 30009 ] | |
| # Host container properties | |
| host: | |
| properties: | |
| instance_type: { get_input: instance_flavor } | |
| # Guest Operating System properties | |
| os: | |
| properties: | |
| #image: ost://cloud.recas.ba.infn.it/60dfe164-c9f6-4ed0-a63b-c03eea75a552(image centos RECAS) | |
| image: ost://keystone.cloud.garrservices.it/426bee0c-8a7a-4db8-a248-f151891de4a9 | |
| requirements: | |
| # contextually this can only be a relationship type | |
| - local_storage: | |
| # capability is provided by Compute Node Type | |
| node: my_block_storage | |
| capability: tosca.capabilities.Attachment | |
| relationship: | |
| type: tosca.relationships.AttachesTo | |
| properties: | |
| location: { get_input: export_dir } | |
| device: hdb | |
| my_block_storage: | |
| type: tosca.nodes.BlockStorage | |
| properties: | |
| size: { get_input: storage_size } | |
| outputs: | |
| endpoint: | |
| value: { concat: [ 'http://', get_attribute: [ galaxy_server, public_address, 0 ], '/galaxy' ] } | |
| node_ip: | |
| value: { get_attribute: [ galaxy_server, public_address, 0 ] } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment