Skip to content

renepollard/gen3-helm

 
 

Repository files navigation

gen3-log

gen3-helm

Helm charts for deploying Gen3 services to a kubernetes cluster.

Deployment instructions

TL;DR

helm repo add gen3 http://helm.gen3.org
helm upgrade --install gen3 gen3/gen3 -f ./values.yaml 

Use the following as a template for your values.yaml file

You can set the postgres passwords to be what you want, if you leave them blank, they will be autogenerated for you.

global:
  hostname: localhost
  postgres:
    host: postgres-postgresql.postgres.svc.cluster.local
    master:
      username: postgres
      password: 
      port: 5432

arborist:
  postgres:
    password: test

audit:
  postgres:
    password: test

fence: 
  postgres:
    password: test
  FENCE_CONFIG:
    OPENID_CONNECT:
      google:
        client_id: ""
        client_secret: ""

indexd:
  postgres:
    password: test

manifestservice: 
  postgres:
    password: test

metadata: 
  postgres:
    password: test

peregrine: 
  postgres:
    password: test

pidgin: 
  postgres:
    password: test

requestor: 
  postgres:
    password: test

sheepdog: 
  postgres:
    password: test

wts:
  postgres:
    password: test

Prerequisites

Kubernetes cluster

Any kubernetes cluster should work. We are testing with EKS, AKS, GKE and Rancher Desktop.

It is suggested to use Rancher Desktop as Kubernetes on your laptop, especially on M1 Mac's. You also get ingress and other benefits out of the box.

Postgres

We need a postgres database. For development clusters you can deploy the postgres helm chart using the following commands:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm install postgres bitnami/postgresql -n postgres --create-namespace

This will setup a postgres instance in a namespace called postgres

For production installations use a managed postgres service.

Login Options

Gen3 does not have any IDP, but can integrate with many. We will cover Google login here, but refer to the fence documentation for additional options.

Google login

You need to set up a google credential for google login as that's the default enabled option in fence.

The following steps explain how to create credentials for your gen3

Go to the Credentials page.

Click Create credentials > OAuth client ID.

Select the Web application application type. Name your OAuth 2.0 client and click Create.

For Authorized Javascript Origins add https://localhost

For "Authorized redirect URIs" add https://localhost/user/login/google/login/

After configuration is complete, take note of the client ID that was created. You will need the client ID and client secret to complete the next steps.

Production Deployment

These helm charts are not yet ready for production, but check back again soon.

About

Helm charts for Gen3 Deployments

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 49.9%
  • Smarty 45.2%
  • Mustache 4.6%
  • Other 0.3%