Skip to content

Commit

Permalink
Merge pull request #197 from bento-platform/releases/v14
Browse files Browse the repository at this point in the history
Release v14
  • Loading branch information
davidlougheed authored Nov 2, 2023
2 parents d9e4779 + 83fe823 commit 98982eb
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 17 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ that make up the Bento platform.

## Migration documents

* [v13 to v14](./docs/migrating_to_14.md)
* [v12 to v13](./docs/migrating_to_13.md)
* [v2.11 to v12](./docs/migrating_to_12.md)
* [v2.10 to v2.11](./docs/migrating_to_2_11.md)
Expand Down
1 change: 1 addition & 0 deletions docker-compose.local.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ services:
extends:
file: docker-compose.dev.yaml
service: authz
image: ${BENTO_AUTHZ_IMAGE}:${BENTO_AUTHZ_VERSION_DEV}
volumes:
- ./repos/authz:/authorization
environment:
Expand Down
11 changes: 11 additions & 0 deletions docs/migrating_to_14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Migrating to Bento v14

Version 14 has **removed all MCODE support.** MCODE-specific properties on Individuals in Katsu have been moved to
`extra_properties`.

Updating to Bento 14 should be as straightforward as:

```bash
git pull
./bentoctl.bash start --pull
```
30 changes: 14 additions & 16 deletions etc/bento.env
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ BENTOV2_GATEWAY_CPUS=2

# - Keycloak IdP - 'auth'
BENTOV2_AUTH_IMAGE=ghcr.io/bento-platform/bento_keycloak_dist
BENTOV2_AUTH_VERSION=2023.09.13
BENTOV2_AUTH_VERSION=2023.10.31
BENTOV2_AUTH_CONTAINER_NAME=${BENTOV2_PREFIX}-auth
BENTO_AUTH_NETWORK=${BENTOV2_PREFIX}-auth-net
BENTOV2_AUTH_SERVICE_HOST=0.0.0.0
Expand Down Expand Up @@ -95,7 +95,7 @@ BENTO_AUTHZ_DB_MEM_LIM=1G
# Web
BENTO_WEB_CUSTOM_HEADER=
BENTOV2_WEB_IMAGE=ghcr.io/bento-platform/bento_web
BENTOV2_WEB_VERSION=3.1.2
BENTOV2_WEB_VERSION=3.2.2
BENTOV2_WEB_VERSION_DEV=${BENTOV2_WEB_VERSION}-dev
BENTOV2_WEB_CONTAINER_NAME=${BENTOV2_PREFIX}-web
BENTO_WEB_NETWORK=${BENTOV2_PREFIX}-web-net
Expand All @@ -121,7 +121,7 @@ BENTOV2_DROP_BOX_CPUS=3

# Service Registry
BENTOV2_SERVICE_REGISTRY_IMAGE=ghcr.io/bento-platform/bento_service_registry
BENTOV2_SERVICE_REGISTRY_VERSION=1.2.1
BENTOV2_SERVICE_REGISTRY_VERSION=1.2.2
BENTOV2_SERVICE_REGISTRY_VERSION_DEV=${BENTOV2_SERVICE_REGISTRY_VERSION}-dev
BENTOV2_SERVICE_REGISTRY_CONTAINER_NAME=${BENTOV2_PREFIX}-service-registry
BENTO_SERVICE_REGISTRY_NETWORK=${BENTOV2_PREFIX}-service-registry-net
Expand All @@ -133,7 +133,7 @@ BENTOV2_SERVICE_REGISTRY_CPUS=1

# Notification
BENTOV2_NOTIFICATION_IMAGE=ghcr.io/bento-platform/bento_notification_service
BENTOV2_NOTIFICATION_VERSION=3.0.0
BENTOV2_NOTIFICATION_VERSION=3.0.1
BENTOV2_NOTIFICATION_VERSION_DEV=${BENTOV2_NOTIFICATION_VERSION}-dev
BENTOV2_NOTIFICATION_CONTAINER_NAME=${BENTOV2_PREFIX}-notification
BENTO_NOTIFICATION_NETWORK=${BENTOV2_PREFIX}-notification-net
Expand All @@ -148,7 +148,7 @@ BENTOV2_NOTIFICATION_CPUS=2

# Aggregation
BENTOV2_AGGREGATION_IMAGE=ghcr.io/bento-platform/bento_aggregation_service
BENTOV2_AGGREGATION_VERSION=0.19.1
BENTOV2_AGGREGATION_VERSION=0.19.2
BENTOV2_AGGREGATION_VERSION_DEV=${BENTOV2_AGGREGATION_VERSION}-dev
BENTOV2_AGGREGATION_CONTAINER_NAME=${BENTOV2_PREFIX}-aggregation
BENTO_AGGREGATION_NETWORK=${BENTOV2_PREFIX}-aggregation-net
Expand Down Expand Up @@ -176,7 +176,7 @@ BENTOV2_EVENT_RELAY_CPUS=1

# WES
BENTOV2_WES_IMAGE=ghcr.io/bento-platform/bento_wes
BENTOV2_WES_VERSION=0.10.1
BENTOV2_WES_VERSION=0.11.0
BENTOV2_WES_VERSION_DEV=${BENTOV2_WES_VERSION}-dev
BENTOV2_WES_CONTAINER_NAME=${BENTOV2_PREFIX}-wes
BENTO_WES_NETWORK=${BENTOV2_PREFIX}-wes-net
Expand All @@ -203,7 +203,7 @@ BENTOV2_WES_WORKFLOW_TIMEOUT=172800

# DRS
BENTOV2_DRS_IMAGE=ghcr.io/bento-platform/bento_drs
BENTOV2_DRS_VERSION=0.12.6
BENTOV2_DRS_VERSION=0.13.0
BENTOV2_DRS_VERSION_DEV=${BENTOV2_DRS_VERSION}-dev
BENTOV2_DRS_CONTAINER_NAME=${BENTOV2_PREFIX}-drs
BENTO_DRS_NETWORK=${BENTOV2_PREFIX}-drs-net
Expand Down Expand Up @@ -246,7 +246,7 @@ BENTOV2_KATSU_DB_CPUS=4

# Katsu
BENTOV2_KATSU_IMAGE=ghcr.io/bento-platform/katsu
BENTOV2_KATSU_VERSION=4.4.0
BENTOV2_KATSU_VERSION=5.0.0
BENTOV2_KATSU_VERSION_DEV=${BENTOV2_KATSU_VERSION}-dev
BENTOV2_KATSU_CONTAINER_NAME=${BENTOV2_PREFIX}-katsu
BENTO_KATSU_NETWORK=${BENTOV2_PREFIX}-katsu-net
Expand All @@ -269,7 +269,7 @@ CHORD_METADATA_SUB_PATH=/api/metadata

# Redis
BENTOV2_REDIS_BASE_IMAGE=redis
BENTOV2_REDIS_BASE_IMAGE_VERSION=7.0.12-alpine
BENTOV2_REDIS_BASE_IMAGE_VERSION=7.0.14-alpine
BENTOV2_REDIS_CONTAINER_NAME=${BENTOV2_PREFIX}-redis
BENTO_REDIS_NETWORK=${BENTOV2_PREFIX}-redis-net
BENTOV2_REDIS_INTERNAL_PORT=6379
Expand All @@ -282,14 +282,14 @@ BENTOV2_REDIS_CPUS=2
# Gohan
BENTOV2_GOHAN_DEBUG=false
BENTOV2_GOHAN_SERVICE_CONTACT=[email protected]
BENTOV2_GOHAN_SEMVER=4.0.0
BENTOV2_GOHAN_SEMVER=4.0.1

# -- Host
BENTOV2_GOHAN_DATA_ROOT=${BENTOV2_ROOT_DATA_DIR}/gohan

# -- API
BENTOV2_GOHAN_API_IMAGE=ghcr.io/bento-platform/gohan-api
BENTOV2_GOHAN_API_VERSION=4.0.0
BENTOV2_GOHAN_API_VERSION=4.0.1
BENTOV2_GOHAN_API_VERSION_DEV=${BENTOV2_GOHAN_API_VERSION}-dev

BENTOV2_GOHAN_API_CONTAINER_NAME=${BENTOV2_PREFIX}-gohan-api
Expand Down Expand Up @@ -318,7 +318,7 @@ BENTOV2_GOHAN_ES_USERNAME=elastic
# BENTOV2_GOHAN_ES_PASSWORD comes from default_config

BENTOV2_GOHAN_ES_IMAGE=ghcr.io/bento-platform/gohan-elasticsearch
BENTOV2_GOHAN_ES_VERSION=4.0.0
BENTOV2_GOHAN_ES_VERSION=4.0.1

BENTOV2_GOHAN_ES_CONTAINER_NAME=${BENTOV2_PREFIX}-gohan-elasticsearch
BENTO_GOHAN_ES_NETWORK=${BENTOV2_PREFIX}-gohan-elasticsearch-net
Expand Down Expand Up @@ -348,7 +348,7 @@ BENTOV2_GOHAN_PRIVATE_AUTHZ_URL=http://${BENTOV2_GOHAN_AUTHZ_OPA_CONTAINER_NAME}
# Bento-Public

BENTO_PUBLIC_IMAGE=ghcr.io/bento-platform/bento_public
BENTO_PUBLIC_VERSION=0.15.0
BENTO_PUBLIC_VERSION=0.16.2
BENTO_PUBLIC_VERSION_DEV=${BENTO_PUBLIC_VERSION}-dev
BENTO_PUBLIC_CONTAINER_NAME=${BENTOV2_PREFIX}-public
BENTO_PUBLIC_NETWORK=${BENTOV2_PREFIX}-public-net
Expand All @@ -368,7 +368,7 @@ BENTO_PUBLIC_TRANSLATED=true
BENTO_BEACON_CONTAINER_NAME=${BENTOV2_PREFIX}-beacon
BENTO_BEACON_NETWORK=${BENTOV2_PREFIX}-beacon-net
BENTO_BEACON_IMAGE=ghcr.io/bento-platform/bento_beacon
BENTO_BEACON_VERSION=0.9.1
BENTO_BEACON_VERSION=0.11.0
BENTO_BEACON_VERSION_DEV=${BENTO_BEACON_VERSION}-dev
BENTO_BEACON_INTERNAL_PORT=${BENTO_STD_SERVICE_INTERNAL_PORT}
BENTO_BEACON_EXTERNAL_PORT=5000
Expand All @@ -379,10 +379,8 @@ BENTO_BEACON_CPUS=2
BENTO_BEACON_CONFIG_DIR=${PWD}/lib/beacon/config

BENTO_BEACON_GOHAN_BASE_URL=http://${BENTOV2_GOHAN_API_CONTAINER_NAME}:${BENTOV2_GOHAN_API_INTERNAL_PORT}
BENTO_BEACON_GRANULARITY=count
BENTO_BEACON_KATSU_TIMEOUT=60
BENTO_BEACON_GOHAN_TIMEOUT=60
BENTO_BEACON_ENABLE_AUTHX=True
BENTO_BEACON_OIDC_ISSUER=${BENTOV2_AUTH_PUBLIC_URL}/auth/realms/${BENTOV2_AUTH_REALM}

# cBioPortal
Expand Down
45 changes: 45 additions & 0 deletions etc/scripts/renew_certs_and_redeploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#! /usr/bin/env bash

# Set absolute script dir, allows to find absolute project dir & env files
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )

# Removing "/etc/scripts" suffix gives project dir
BENTO_PROJECT_DIR="${SCRIPT_DIR%%/etc/scripts}"

# CD to project dir and source env config
cd $BENTO_PROJECT_DIR && source etc/default_config.env && source local.env;

# Activate python venv
source env/bin/activate

# Init services array, gateway is always renewed
SERVICES=('gateway')

# Auth needs cert renewal when internal only
if [[ $BENTOV2_USE_EXTERNAL_IDP -eq 0 ]]; then
echo "Uses internal IDP, will attemps auth certs renewal."
# Append auth to list of services to renew
SERVICES+=('auth')
fi

# Clean and renew service certs
for SERVICE_NAME in "${SERVICES[@]}"
do

./bentoctl.bash clean "$SERVICE_NAME"

LOCAL_CERTS=$BENTO_PROJECT_DIR/certs/$SERVICE_NAME
LOCAL_LE=$LOCAL_CERTS/letsencrypt


docker run -it --rm --name certbot -v "$LOCAL_LE:/etc/letsencrypt" -v "$LOCAL_LE/lib:/var/lib/letsencrypt" -p 80:80 -p 443:443 certbot/certbot renew --dry-run
docker run -it --rm --name certbot -v "$LOCAL_LE:/etc/letsencrypt" -v "$LOCAL_LE/lib:/var/lib/letsencrypt" -p 80:80 -p 443:443 certbot/certbot renew --force-renewal

sudo chown -R $BENTO_UID:$BENTO_UID $LOCAL_CERTS
done

# Redeploy services with updated certs
for SERVICE_NAME in "${SERVICES[@]}"
do
./bentoctl.bash run "$SERVICE_NAME"
done
3 changes: 2 additions & 1 deletion lib/beacon/docker-compose.beacon.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ services:
- BENTO_BEACON_DEBUGGER_INTERNAL_PORT
- BENTO_BEACON_DEBUGGER_EXTERNAL_PORT
- CONFIG_ABSOLUTE_PATH=/config/
- ENABLE_AUTHX=${BENTO_BEACON_ENABLE_AUTHX}
- OIDC_ISSUER=${BENTO_BEACON_OIDC_ISSUER}
- CLIENT_ID=${BENTOV2_AUTH_CLIENT_ID}
- BEACON_BASE_URL=${BENTOV2_PUBLIC_URL}/api/beacon
Expand All @@ -24,6 +23,8 @@ services:
- BENTOV2_DOMAIN
- BENTOV2_PUBLIC_URL
- BENTO_BEACON_UI_ENABLED
- BENTO_AUTHZ_SERVICE_URL
- DRS_URL=${BENTOV2_PUBLIC_URL}/api/drs
volumes:
- ${BENTO_BEACON_CONFIG_DIR}:/config:ro
networks:
Expand Down

0 comments on commit 98982eb

Please sign in to comment.