Skip to content

Latest commit

 

History

History
92 lines (58 loc) · 2.3 KB

migrating_to_13.md

File metadata and controls

92 lines (58 loc) · 2.3 KB

Migrating to Bento v13

The following is a migration guide for going from Bento v12.x to Bento v13.

Some notes on breaking changes in this version:

  • WES now requires its own OAuth2 client ID/secret for making authorized requests
  • The concept of 'tables' has been removed from Bento; some data re-ingestion will be required

1. Delete variant data

Since the concept of 'tables' has been removed from Bento v13; data re-ingestion will be required for all variant data via the UI.

It would be wise to first remove the Gohan Elasticsearch volume to clean up old variant data on the VM.

2. Pull latest Docker containers and stop Bento

The following commands:

  • Stop the cluster
  • Pull the latest images
./bentoctl.bash stop
./bentoctl.bash pull

3. Create a WES client with secret

WES now requires its own OAuth2 client ID/secret for making authorized requests to various services within WDL workflows.

To create this client, with secret, re-run the init-auth subcommand of bentoctl:

./bentoctl.bash init-auth

This will print the new client secret to the console; set it in your local.env file similar to the following:

# ...
BENTO_WES_CLIENT_SECRET=my-wes-client-secret-here
# ...

The default client ID here is wes, as set in ./etc/default_config.env.

4. Restart Bento

Now that we have the environment configured correctly, we can restart the Bento instance:

./bentoctl.bash run

5. Create a grant for the WES OAuth2 client

The next step is to create a grant in authz which gives WES the ability to ingest data into all projects/endpoints/etc. in the node:

./bentoctl.bash shell authz  # enter into an authz container session to create the grant

# This grant is a temporary hack to get permissions working for v12/v13. In the future, it should be removed.
bento_authz create grant \
  '{"iss": "ISSUER_HERE", "client": "wes"}' \
  '{"everything": true}' \
  'view:private_portal'

# This grant gives permission to access and ingest data into all projects
bento_authz create grant \
  '{"iss": "ISSUER_HERE", "client": "wes"}' \
  '{"everything": true}' \
  'query:data' 'ingest:data'

6. Delete and re-ingest Gohan variant data

Since you should have deleted all variant data in step 1, now is the time to re-ingest VCFs into Goahn.