Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Deploy helm chart

Introduction

This chart bootstraps a deployment on a Kubernetes cluster using Helm package manager.

Prerequisites

The code was tested on Kubernetes cluster (v1.21.11) with Istio (1.12.6)

It is possible to use other versions, but it hasn't been tested

Operation system

The code works in Debian-based Linux (Debian 10 and Ubuntu 20.04) and Windows WSL 2. Also, it works but is not guaranteed in Google Cloud Shell. All other operating systems, including macOS, are not verified and supported.

Packages

Packages are only needed for installation from a local computer.

  • HELM (version: v3.7.1 or higher) helm
  • Kubectl (version: v1.21.0 or higher) kubectl

Installation

First you need to set variables in values.yaml file using any code editor. Some of the values are prefilled, but you need to specify some values as well. You can find more information about them below.

Configmap variables

Name Description Type Default Required
data.logLevel logging level string INFO yes
data.springProfilesActive active spring profile string gcp yes
data.googleCloudProject your Google Cloud cloud project string - yes
data.entitlementsHost Entitlements host string "http://entitlements" yes
data.partitionHost Partition host string "http://partition" yes
data.recordsChangedPubsubEndpoint Endpoint to PubSub topic string - yes
data.storageHost Storage host string "http://storage" yes
data.serviceIdentity Service account in Google Cloud fo PubSub string "register-pubsub-identity" yes
data.keyRing Type of keys string "csqp" yes
data.kmsKey Key management service key (must be replaced during installation) string "registerService" yes
data.subscriberPrivateKeyId Subscriber test private key id (must be replaced during installation) string "testkey" yes

Deployment variables

Name Description Type Default Required
data.image your image name string - yes
data.requestsCpu amount of requests CPU string 1180m yes
data.requestsMemory amount of requests memory string 750Mi yes
data.limitsCpu CPU limit string 1.5 yes
data.limitsMemory memory limit string 1G yes
data.serviceAccountName name of your service account string register yes
data.imagePullPolicy when to pull image string IfNotPresent yes

Config variables

Name Description Type Default Required
conf.appName name of the app string register yes
conf.configmap configmap to be used string register-config yes
conf.registerPostgresSecretName secret for postgres string register-postgres-secret yes
conf.registerKeycloakSecretName secret for keycloak string register-keycloak-secret yes
conf.registerKmsSecretName secret for kms string "register-kms-secret" yes
conf.rabbitmqSecretName secret for rabbitmq string rabbitmq-secret yes
conf.onPremEnabled whether on-prem is enabled boolean false yes
conf.domain your domain string - yes

ISTIO variables

Name Description Type Default Required
istio.proxyCPU CPU request for Envoy sidecars string 330m yes
istio.proxyCPULimit CPU limit for Envoy sidecars string 500m yes
istio.proxyMemory memory request for Envoy sidecars string 150Mi yes
istio.proxyMemoryLimit memory limit for Envoy sidecars string 512Mi yes

Install the helm chart

Run this command from within this directory:

helm install gc-register-deploy .

Uninstalling the Chart

To uninstall the helm deployment:

helm uninstall gc-register-deploy

To delete secrets and PVCs:

kubectl delete secret --all; kubectl delete pvc --all

Move-to-Top