{"id":13296982,"url":"https://github.com/Consonance/consonance","last_synced_at":"2025-03-10T09:32:58.306Z","repository":{"id":29896920,"uuid":"33442556","full_name":"Consonance/consonance","owner":"Consonance","description":"Core consonance utilities for scheduling, reporting on, and provisioning VMs for workflows","archived":false,"fork":false,"pushed_at":"2018-06-27T22:25:07.000Z","size":3993,"stargazers_count":14,"open_issues_count":34,"forks_count":5,"subscribers_count":11,"default_branch":"develop","last_synced_at":"2023-05-24T00:01:34.785Z","etag":null,"topics":["aws-ec2","azure","cloud","cwl","java","openstack"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Consonance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-05T14:05:02.000Z","updated_at":"2020-11-14T04:42:23.000Z","dependencies_parsed_at":"2022-07-08T11:43:31.864Z","dependency_job_id":null,"html_url":"https://github.com/Consonance/consonance","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Consonance%2Fconsonance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Consonance%2Fconsonance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Consonance%2Fconsonance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Consonance%2Fconsonance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Consonance","download_url":"https://codeload.github.com/Consonance/consonance/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221164325,"owners_count":16767308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ec2","azure","cloud","cwl","java","openstack"],"created_at":"2024-07-29T17:21:20.736Z","updated_at":"2024-10-23T06:30:55.067Z","avatar_url":"https://github.com/Consonance.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Consonance\n\n[![Build Status](https://travis-ci.org/Consonance/consonance.svg?branch=develop)](https://travis-ci.org/Consonance/Consonance)\n[![Coverage Status](https://coveralls.io/repos/Consonance/consonance/badge.svg?branch=develop)](https://coveralls.io/r/Consonance/consonance?branch=develop)\n\n## About\n\nConsonance is a cloud orchestration tool for running Docker-based tools and CWL/WDL workflows available at [Dockstore](https://dockstore.org) on fleets of VMs running in clouds.  It allows you to schedule a set of Dockstore job orders, spinning up the necessary VMs on AWS, Microsoft Azure, or OpenStack via the Youxia library for provisioning cloud-based VMs, and then tearing them down after all work is complete.\n\nWe are currently at work on Consonance 2.0 which supports anything from Dockstore and allows users to submit a variety of jobs intended for a variety of instance types.\n\nThe latest unstable releases on develop support running tools/workflows from  Dockstore.\n\nConsonance 1.0 is currently in maintenance mode and has also been integrated into a simplified workflow launcher Pancancer Workflow Launcher for AWS for external users and a more flexible but less well documented Pancancer Workflow Launcher for users internal to OICR.\n\nThe latest stable releases on master support the pancancer project https://icgc.org/working-pancancer-data-aws\n\nSee the Consonance [wiki](https://github.com/Consonance/consonance/wiki) for more information on this project.\n\n## Dependencies\n\nI'm showing how to install dependencies on a Mac so adapt to your system/OS.\n\n### PostgreSQL\n\nYou need a PostgreSQL server to run the tests, on the Mac try [Postgres.app](http://postgresapp.com/).\n\nOnce you have this setup (using whatever technique is appropriate for your system) create the `queue_status` database.\n\n    $bash\u003e \"/Applications/Postgres.app/Contents/Versions/10/bin/psql\" -p5432 -d \"postgres\"\n    postgres=# create database queue_status;\n    postgres=# create user queue_user;\n    postgres=# grant all privileges  on database queue_status to queue_user;\n\nNow load the schema:\n\n    $bash\u003e cat ~/gitroot/Consonance/consonance/consonance-arch/sql/schema.sql | \"/Applications/Postgres.app/Contents/Versions/10/bin/psql\" -p5432 -d \"queue_status\"\n\n### RabbitMQ\n\nThe integration tests require RabbitMQ, here's how to install\nvia home brew:\n\n    $bash\u003e brew install rabbitmq\n    $bash\u003e /usr/local/sbin/rabbitmq-server\n\n### Consonance Config File\n\nBy default the client looks for `~/.consonance/config`. You need this file for\ntests to pass:\n\n    $bash\u003e mkdir ~/.consonance/ \u0026\u0026 cp ./consonance-client/src/test/resources/config ~/.consonance/config\n\n### Dockstore CLI\n\nThe integration tests (see below for how to trigger) will actually simulate the full lifecycle of a WDL workflow run using the Dockstore CLI.  See http://dockstore.org for how to install, you need the `dockstore` command dependencies in your path and properly configured in order for the full integration tests to pass.  Consonance is using the Dockstore CLI library so you only need to install cwltool in your path if you want to test CWL workflows.  Cromwell for WDL workflows is baked into the Dockstore CLI library.\n\n### Docker\n\nRelated to the Dockstore CLI above, one of the WDL workflows used for testing requires Docker.  Make sure the system you are using for testing has Docker installed if you run the full integration tests.\n\n## Building \u0026 Testing\n\nThe build uses maven (3.2.3, look at using [MVNVM](http://mvnvm.org/)), just run:\n\n    $bash\u003e mvn clean install\n\n To avoid tests (probably a bad idea!):\n\n    $bash\u003e mvn -Dmaven.test.skip=true clean install\n\nSkip tests and use parallel build (see more info [here](https://zeroturnaround.com/rebellabs/your-maven-build-is-slow-speed-it-up/)):\n\n    $bash\u003e mvn -Dmaven.test.skip=true -T 1C install -pl consonance-integration-testing -am\n\nThis gives me a build time of 36 seconds vs. 1:21 min for `mvn clean install`\n\nNow run the full integration tests (assumes you have RabbitMQ and PostgreSQL installed):\n\n    $bash\u003e cd consonance-integration-testing\n    # run a particular test class\n    $bash\u003e mvn -Dtest=SystemMainIT test\n    # or even a speicifc test method!\n    $bash\u003e mvn -Dtest=SystemMainIT#testGetConfiguration test\n    # or all ITs\n    $bash\u003e cd ..\n    $bash\u003e mvn -B clean install -DskipITs=false\n\n## Monitoring Integration Tests\n\n### RabbitMQ\n\nSee http://localhost:15672/#/queues for your queues, username and password is guest by default.\n\n## Releasing\n\nSee the [developer page](https://github.com/Consonance/consonance/wiki/developers) on our wiki.\n\n## Installation\n\nSee the container-admin [README](container-admin/README.md) for information on quickly setting up Consonance via Docker-compose and an interactive bootstrap configuration script.\n\n## Using\n\nSee the [quickstart guide](https://github.com/Consonance/consonance/wiki/quickstart) and the [non-quickstart guide](https://github.com/Consonance/consonance/wiki/non-quickstart-users) on our wiki.\n\n## TODO\n\n* test container-admin with pre-release locally with provisioning on AWS\n* review and merge the pull request\n* perform release\n* test container-admin with release on AWS, should be a safe harbor\n* then review/try WES support branch from Abraham","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FConsonance%2Fconsonance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FConsonance%2Fconsonance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FConsonance%2Fconsonance/lists"}