From 372761b576dc85160d2f1c56b9ffbcedc857e875 Mon Sep 17 00:00:00 2001 From: Manu Tarus Date: Tue, 6 Apr 2021 16:56:34 +0300 Subject: [PATCH 01/18] add opensrp we helm chart --- charts/opensrp-web/.helmignore | 23 ++++++ charts/opensrp-web/Chart.yaml | 24 ++++++ charts/opensrp-web/templates/NOTES.txt | 22 ++++++ charts/opensrp-web/templates/_helpers.tpl | 62 +++++++++++++++ charts/opensrp-web/templates/deployment.yaml | 61 ++++++++++++++ charts/opensrp-web/templates/hpa.yaml | 28 +++++++ charts/opensrp-web/templates/ingress.yaml | 41 ++++++++++ charts/opensrp-web/templates/service.yaml | 15 ++++ .../opensrp-web/templates/serviceaccount.yaml | 12 +++ .../templates/tests/test-connection.yaml | 15 ++++ charts/opensrp-web/values.yaml | 79 +++++++++++++++++++ 11 files changed, 382 insertions(+) create mode 100644 charts/opensrp-web/.helmignore create mode 100644 charts/opensrp-web/Chart.yaml create mode 100644 charts/opensrp-web/templates/NOTES.txt create mode 100644 charts/opensrp-web/templates/_helpers.tpl create mode 100644 charts/opensrp-web/templates/deployment.yaml create mode 100644 charts/opensrp-web/templates/hpa.yaml create mode 100644 charts/opensrp-web/templates/ingress.yaml create mode 100644 charts/opensrp-web/templates/service.yaml create mode 100644 charts/opensrp-web/templates/serviceaccount.yaml create mode 100644 charts/opensrp-web/templates/tests/test-connection.yaml create mode 100644 charts/opensrp-web/values.yaml diff --git a/charts/opensrp-web/.helmignore b/charts/opensrp-web/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/charts/opensrp-web/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/opensrp-web/Chart.yaml b/charts/opensrp-web/Chart.yaml new file mode 100644 index 0000000..9b2a191 --- /dev/null +++ b/charts/opensrp-web/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: opensrp-web +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" diff --git a/charts/opensrp-web/templates/NOTES.txt b/charts/opensrp-web/templates/NOTES.txt new file mode 100644 index 0000000..c70af63 --- /dev/null +++ b/charts/opensrp-web/templates/NOTES.txt @@ -0,0 +1,22 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range $host := .Values.ingress.hosts }} + {{- range .paths }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "opensrp-web.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "opensrp-web.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "opensrp-web.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "opensrp-web.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT +{{- end }} diff --git a/charts/opensrp-web/templates/_helpers.tpl b/charts/opensrp-web/templates/_helpers.tpl new file mode 100644 index 0000000..75a9a3c --- /dev/null +++ b/charts/opensrp-web/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "opensrp-web.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "opensrp-web.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "opensrp-web.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "opensrp-web.labels" -}} +helm.sh/chart: {{ include "opensrp-web.chart" . }} +{{ include "opensrp-web.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "opensrp-web.selectorLabels" -}} +app.kubernetes.io/name: {{ include "opensrp-web.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "opensrp-web.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "opensrp-web.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml new file mode 100644 index 0000000..e4c7632 --- /dev/null +++ b/charts/opensrp-web/templates/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "opensrp-web.fullname" . }} + labels: + {{- include "opensrp-web.labels" . | nindent 4 }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + {{- include "opensrp-web.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "opensrp-web.selectorLabels" . | nindent 8 }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "opensrp-web.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: 3000 + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/opensrp-web/templates/hpa.yaml b/charts/opensrp-web/templates/hpa.yaml new file mode 100644 index 0000000..3d4ea1e --- /dev/null +++ b/charts/opensrp-web/templates/hpa.yaml @@ -0,0 +1,28 @@ +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "opensrp-web.fullname" . }} + labels: + {{- include "opensrp-web.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "opensrp-web.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: + {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} +{{- end }} diff --git a/charts/opensrp-web/templates/ingress.yaml b/charts/opensrp-web/templates/ingress.yaml new file mode 100644 index 0000000..042db68 --- /dev/null +++ b/charts/opensrp-web/templates/ingress.yaml @@ -0,0 +1,41 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "opensrp-web.fullname" . -}} +{{- $svcPort := .Values.service.port -}} +{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "opensrp-web.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + backend: + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} diff --git a/charts/opensrp-web/templates/service.yaml b/charts/opensrp-web/templates/service.yaml new file mode 100644 index 0000000..330697a --- /dev/null +++ b/charts/opensrp-web/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "opensrp-web.fullname" . }} + labels: + {{- include "opensrp-web.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "opensrp-web.selectorLabels" . | nindent 4 }} diff --git a/charts/opensrp-web/templates/serviceaccount.yaml b/charts/opensrp-web/templates/serviceaccount.yaml new file mode 100644 index 0000000..00e5c33 --- /dev/null +++ b/charts/opensrp-web/templates/serviceaccount.yaml @@ -0,0 +1,12 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "opensrp-web.serviceAccountName" . }} + labels: + {{- include "opensrp-web.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/opensrp-web/templates/tests/test-connection.yaml b/charts/opensrp-web/templates/tests/test-connection.yaml new file mode 100644 index 0000000..10b303c --- /dev/null +++ b/charts/opensrp-web/templates/tests/test-connection.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "opensrp-web.fullname" . }}-test-connection" + labels: + {{- include "opensrp-web.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget'] + args: ['{{ include "opensrp-web.fullname" . }}:{{ .Values.service.port }}'] + restartPolicy: Never diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml new file mode 100644 index 0000000..0d563b9 --- /dev/null +++ b/charts/opensrp-web/values.yaml @@ -0,0 +1,79 @@ +# Default values for opensrp-web. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: manutarus/opensrp-web + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "1.0" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: chart-example.local + paths: [] + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +nodeSelector: {} + +tolerations: [] + +affinity: {} From 3e261342181eb036114357b7ee5d30f611723e0b Mon Sep 17 00:00:00 2001 From: Manu Tarus Date: Wed, 14 Apr 2021 11:02:54 +0300 Subject: [PATCH 02/18] Add OpenSRP web helm chart Signed-off-by: Manu Tarus --- charts/opensrp-web/templates/NOTES.txt | 6 +- .../templates/config/react/_config.js.tpl | 31 +++++++++ charts/opensrp-web/templates/configmap.yaml | 9 +++ charts/opensrp-web/templates/deployment.yaml | 47 ++++++++++++++ charts/opensrp-web/templates/ingress.yaml | 2 +- charts/opensrp-web/values.yaml | 65 ++++++++++++------- 6 files changed, 132 insertions(+), 28 deletions(-) create mode 100644 charts/opensrp-web/templates/config/react/_config.js.tpl create mode 100644 charts/opensrp-web/templates/configmap.yaml diff --git a/charts/opensrp-web/templates/NOTES.txt b/charts/opensrp-web/templates/NOTES.txt index c70af63..7388027 100644 --- a/charts/opensrp-web/templates/NOTES.txt +++ b/charts/opensrp-web/templates/NOTES.txt @@ -2,7 +2,7 @@ {{- if .Values.ingress.enabled }} {{- range $host := .Values.ingress.hosts }} {{- range .paths }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }} {{- end }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} @@ -17,6 +17,8 @@ {{- else if contains "ClusterIP" .Values.service.type }} export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "opensrp-web.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") - echo "Visit http://127.0.0.1:8080 to use your application" + echo "Visit http://127.0.0.1:3000 to use your application" kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT {{- end }} + +AppVersion: {{ .Values.image.tag }} diff --git a/charts/opensrp-web/templates/config/react/_config.js.tpl b/charts/opensrp-web/templates/config/react/_config.js.tpl new file mode 100644 index 0000000..5a55806 --- /dev/null +++ b/charts/opensrp-web/templates/config/react/_config.js.tpl @@ -0,0 +1,31 @@ +{{- define "config.react.config.js" }} +window._env_ = { + REACT_APP_BACKEND_ACTIVE: "{{ .Values.front_end.app_backend_active }}", + REACT_APP_DISABLE_LOGIN_PROTECTION: "{{ .Values.front_end.app_disable_login_protection }}", + REACT_APP_DOMAIN_NAME: "https://{{ .Values.shared_vars.app_domain_name }}", + REACT_APP_ENABLE_OPENSRP_OAUTH: "{{ .Values.front_end.app_enable_opensrp_oauth }}", + REACT_APP_EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/state", + REACT_APP_EXPRESS_OAUTH_LOGOUT_URL: "https://{{ .Values.shared_vars.app_domain_name }}/logout", + REACT_APP_KEYCLOAK_API_BASE_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/admin/realms/{{ .Values.shared_vars.keycloak_realm }}", + REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout", + REACT_APP_NAVBAR_BRAND_IMG_SRC: "{{ .Values.front_end.app_navbar_brand_img_src }}", + REACT_APP_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token", + REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/", + REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth", + REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}", + REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/logout.do", + REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/user-details/", + REACT_APP_WEBSITE_NAME: "{{ .Values.express.app_website_name }}", + REACT_APP_ACTION_UUID_NAMESPACE: "{{ .Values.front_end.app_action_uuid_namespace }}", + REACT_APP_PLAN_UUID_NAMESPACE: "{{ .Values.front_end.app_plan_uuid_namespace }}", + REACT_APP_ENABLE_PRODUCT_CATALOGUE: "{{ .Values.front_end.app_enable_product_catalogue }}", + REACT_APP_ENABLE_PLANS: "{{ .Values.front_end.app_enable_plans }}", + REACT_APP_ENABLE_INVENTORY: "{{ .Values.front_end.app_enable_inventory }}", + REACT_APP_ENABLE_LOCATIONS: "{{ .Values.front_end.app_enable_locations }}", + REACT_APP_ENABLE_TEAMS_MODULE: "{{ .Values.front_end.app_enable_teams_module }}", + REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/", + REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}", + REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}", + REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}" +}; +{{- end }} \ No newline at end of file diff --git a/charts/opensrp-web/templates/configmap.yaml b/charts/opensrp-web/templates/configmap.yaml new file mode 100644 index 0000000..bd9db79 --- /dev/null +++ b/charts/opensrp-web/templates/configmap.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "opensrp-web.fullname" . }} + labels: + {{- include "opensrp-web.labels" . | nindent 4 }} +data: + config.js.tpl: | + {{- include "config.react.config.js" . | nindent 4 }} \ No newline at end of file diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml index e4c7632..971fc70 100644 --- a/charts/opensrp-web/templates/deployment.yaml +++ b/charts/opensrp-web/templates/deployment.yaml @@ -27,12 +27,59 @@ spec: serviceAccountName: {{ include "opensrp-web.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} + volumes: + - name: opensrp-server-config-properties + configMap: + name: {{ include "opensrp-web.fullname" . }} containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} + volumeMounts: + - name: opensrp-server-config-properties + mountPath: /etc/confd/templates/config.js.tmpl + subPath: config.js.tpl + env: + - name: EXPRESS_OPENSRP_AUTHORIZATION_URL + value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/auth + - name: EXPRESS_OPENSRP_ACCESS_TOKEN_URL + value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/token + - name: EXPRESS_OPENSRP_CALLBACK_URL + value: https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/ + - name: EXPRESS_OPENSRP_USER_URL + value: {{ .Values.express.opensrp_user_url }} + - name: EXPRESS_OPENSRP_CLIENT_ID + value: {{ .Values.shared_vars.opensrp_client_id }} + - name: EXPRESS_OPENSRP_CLIENT_SECRET + value: {{ .Values.shared_vars.opensrp_client_secret }} + - name: EXPRESS_SESSION_NAME + value: {{ .Values.express.session_name }} + - name: EXPRESS_SESSION_SECRET + value: {{ .Values.express.session_secret }} + - name: EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL + value: https://{{ .Values.shared_vars.app_domain_name }}/fe/oauth/callback/opensrp + - name: EXPRESS_REACT_BUILD_PATH + value: {{ .Values.express.react_build_path }} + - name: NODE_ENV + value: {{ .Values.express.node_env }} + - name: EXPRESS_FRONTEND_LOGIN_URL + value: {{ .Values.express.frontend_login_url }} + - name: EXPRESS_OPENSRP_OAUTH_STATE + value: {{ .Values.express.opensrp_oauth_state }} + - name: EXPRESS_SESSION_PATH + value: {{ .Values.express.session_path }} + - name: EXPRESS_SESSION_LOGIN_URL + value: {{ .Values.express.session_login_url }} + - name: EXPRESS_SESSION_FILESTORE_PATH + value: {{ .Values.express.frontend_logout_url }} + - name: EXPRESS_FRONTEND_LOGOUT_URL + value: {{ .Values.express.session_filestore_path }} + - name: EXPRESS_PRELOADED_STATE_FILE + value: {{ .Values.express.preloaded_state_file }} + - name: REACT_APP_OPENSRP_API_BASE_URL + value: {{ .Values.express.preloaded_state_file }} ports: - name: http containerPort: 3000 diff --git a/charts/opensrp-web/templates/ingress.yaml b/charts/opensrp-web/templates/ingress.yaml index 042db68..2f802fe 100644 --- a/charts/opensrp-web/templates/ingress.yaml +++ b/charts/opensrp-web/templates/ingress.yaml @@ -32,7 +32,7 @@ spec: http: paths: {{- range .paths }} - - path: {{ .path }} + - path: {{ . }} backend: serviceName: {{ $fullName }} servicePort: {{ $svcPort }} diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 0d563b9..8a00d10 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -8,7 +8,7 @@ image: repository: manutarus/opensrp-web pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: "1.0" + tag: "1.0.5" imagePullSecrets: [] nameOverride: "" @@ -26,15 +26,8 @@ serviceAccount: podAnnotations: {} podSecurityContext: {} - # fsGroup: 2000 securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 service: type: ClusterIP @@ -43,27 +36,11 @@ service: ingress: enabled: false annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" hosts: - - host: chart-example.local + - host: opensrp-web.local paths: [] tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi autoscaling: enabled: false @@ -77,3 +54,41 @@ nodeSelector: {} tolerations: [] affinity: {} + +shared_vars: + keycloak_url: "keycloak_url" + app_domain_name: "app_domain_name" + opensrp_client_id: "express_opensrp_client_id" + opensrp_server: "opensrp_server" + keycloak_realm: "keycloak_realm" +express: + opensrp_user_url: "express_opensrp_user_url" + opensrp_client_id: "express_opensrp_client_id" + opensrp_client_secret: "express_opensrp_client_secret" + session_name: "express_session_name" + session_secret: "express_session_secret" + opensrp_oauth_state: "opensrp" + session_login_url: "/login" + preloaded_state_file: "/tmp/opensrpState.json" + session_filestore_path: "/tmp/express-sessions" + frontend_login_url: "/fe/login" + session_path: "/" + react_build_path: "/usr/src/web" + node_env: "development" + frontend_logout_url: "/logout" +front_end: + app_enable_product_catalogue: "false" + app_enable_plans: "false" + app_enable_inventory: "false" + app_enable_locations: "false" + app_enable_teams_module: "false" + app_website_name: "opensrp-web" + app_backend_active: "true" + app_disable_login_protection: "false" + app_enable_opensrp_oauth: "true" + app_action_uuid_namespace: "35968df5-f335-44ae-8ae5-25804caa2d86" + app_plan_uuid_namespace: "85f7dbbf-07d0-4c92-aa2d-d50d141dde00" + app_default_plan_duration_days: 20 + app_default_activity_duration_days: 7 + app_date_format: "yyyy-mm-dd" + app_navbar_brand_img_src: "" From 1cffba88d68bbc891db0747ebc54a73646f77cce Mon Sep 17 00:00:00 2001 From: Manu Tarus Date: Wed, 14 Apr 2021 11:34:56 +0300 Subject: [PATCH 03/18] Add chart maintainers and description Signed-off-by: Manu Tarus --- charts/opensrp-web/Chart.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/charts/opensrp-web/Chart.yaml b/charts/opensrp-web/Chart.yaml index 9b2a191..cb1602a 100644 --- a/charts/opensrp-web/Chart.yaml +++ b/charts/opensrp-web/Chart.yaml @@ -1,6 +1,10 @@ apiVersion: v2 name: opensrp-web -description: A Helm chart for Kubernetes +description: OpenSRP Web is the default frontend for the OpenSRP Server API, providing access to the data collected on the server, configuration options as well as any functionality provided by the API server. +icon: https://avatars2.githubusercontent.com/u/7898027?s=200&v=4 +maintainers: + - name: opensrp + email: techops@ona.io # A chart can be either an 'application' or a 'library' chart. # @@ -21,4 +25,4 @@ version: 0.1.0 # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "1.16.0" +appVersion: "1.0.0" From b9cfc9a6e0e071b5f22d6527cfd2868c8df96d46 Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Wed, 21 Apr 2021 16:30:59 +0300 Subject: [PATCH 04/18] Update teams module env var Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/config/react/_config.js.tpl | 2 +- charts/opensrp-web/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/opensrp-web/templates/config/react/_config.js.tpl b/charts/opensrp-web/templates/config/react/_config.js.tpl index 5a55806..8a0bc8a 100644 --- a/charts/opensrp-web/templates/config/react/_config.js.tpl +++ b/charts/opensrp-web/templates/config/react/_config.js.tpl @@ -22,7 +22,7 @@ window._env_ = { REACT_APP_ENABLE_PLANS: "{{ .Values.front_end.app_enable_plans }}", REACT_APP_ENABLE_INVENTORY: "{{ .Values.front_end.app_enable_inventory }}", REACT_APP_ENABLE_LOCATIONS: "{{ .Values.front_end.app_enable_locations }}", - REACT_APP_ENABLE_TEAMS_MODULE: "{{ .Values.front_end.app_enable_teams_module }}", + REACT_APP_ENABLE_TEAMS: "{{ .Values.front_end.app_enable_teams }}", REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/", REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}", REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}", diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 8a00d10..15d3275 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -81,7 +81,7 @@ front_end: app_enable_plans: "false" app_enable_inventory: "false" app_enable_locations: "false" - app_enable_teams_module: "false" + app_enable_teams: "false" app_website_name: "opensrp-web" app_backend_active: "true" app_disable_login_protection: "false" From a0a65ae24d09f85772e7d5e6bcc1a42af1c0f4c8 Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Thu, 22 Apr 2021 10:59:22 +0300 Subject: [PATCH 05/18] add EXPRESS_OAUTH_GET_STATE_URL var Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/deployment.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml index 971fc70..1538899 100644 --- a/charts/opensrp-web/templates/deployment.yaml +++ b/charts/opensrp-web/templates/deployment.yaml @@ -56,6 +56,8 @@ spec: value: {{ .Values.shared_vars.opensrp_client_secret }} - name: EXPRESS_SESSION_NAME value: {{ .Values.express.session_name }} + - name: EXPRESS_OAUTH_GET_STATE_URL + value: https://{{ .Values.shared_vars.app_domain_name }}/oauth/state - name: EXPRESS_SESSION_SECRET value: {{ .Values.express.session_secret }} - name: EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL From dbc2b5376948409ad3ea6a6ee2f243fc17acfa26 Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Thu, 22 Apr 2021 13:49:10 +0300 Subject: [PATCH 06/18] Update template and defaults with missing vars Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/config/react/_config.js.tpl | 5 ++++- charts/opensrp-web/values.yaml | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/charts/opensrp-web/templates/config/react/_config.js.tpl b/charts/opensrp-web/templates/config/react/_config.js.tpl index 8a0bc8a..f106b35 100644 --- a/charts/opensrp-web/templates/config/react/_config.js.tpl +++ b/charts/opensrp-web/templates/config/react/_config.js.tpl @@ -12,6 +12,7 @@ window._env_ = { REACT_APP_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token", REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/", REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth", + REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout", REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}", REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/logout.do", REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/user-details/", @@ -23,9 +24,11 @@ window._env_ = { REACT_APP_ENABLE_INVENTORY: "{{ .Values.front_end.app_enable_inventory }}", REACT_APP_ENABLE_LOCATIONS: "{{ .Values.front_end.app_enable_locations }}", REACT_APP_ENABLE_TEAMS: "{{ .Values.front_end.app_enable_teams }}", + REACT_APP_ENABLE_CARD_SUPPORT: "{{ .Values.front_end.app_enable_card_support }}", REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/", REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}", REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}", - REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}" + REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}", + REACT_APP_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}" }; {{- end }} \ No newline at end of file diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 15d3275..1fad7d8 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -81,6 +81,8 @@ front_end: app_enable_plans: "false" app_enable_inventory: "false" app_enable_locations: "false" + app_enable_card_support: "false" + app_enable_teams_assignment: "false" app_enable_teams: "false" app_website_name: "opensrp-web" app_backend_active: "true" From 6eac1ab246f7bbd23bfa640b6af4c5f3d8f99b8e Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Thu, 22 Apr 2021 13:49:26 +0300 Subject: [PATCH 07/18] Cleanup Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/deployment.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml index 1538899..1ddc0b5 100644 --- a/charts/opensrp-web/templates/deployment.yaml +++ b/charts/opensrp-web/templates/deployment.yaml @@ -79,9 +79,7 @@ spec: - name: EXPRESS_FRONTEND_LOGOUT_URL value: {{ .Values.express.session_filestore_path }} - name: EXPRESS_PRELOADED_STATE_FILE - value: {{ .Values.express.preloaded_state_file }} - - name: REACT_APP_OPENSRP_API_BASE_URL - value: {{ .Values.express.preloaded_state_file }} + value: {{ .Values.express.preloaded_state_file }} ports: - name: http containerPort: 3000 From fe498a3ee11f0011acb20ebc29fb825c84fe9c9b Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Thu, 22 Apr 2021 14:00:05 +0300 Subject: [PATCH 08/18] Pass keycloak realm var to authorization & access token urls Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml index 1ddc0b5..697596b 100644 --- a/charts/opensrp-web/templates/deployment.yaml +++ b/charts/opensrp-web/templates/deployment.yaml @@ -43,9 +43,9 @@ spec: subPath: config.js.tpl env: - name: EXPRESS_OPENSRP_AUTHORIZATION_URL - value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/auth + value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth - name: EXPRESS_OPENSRP_ACCESS_TOKEN_URL - value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/token + value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token - name: EXPRESS_OPENSRP_CALLBACK_URL value: https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/ - name: EXPRESS_OPENSRP_USER_URL From 369d944a074f685bef26b10611b029952b2209f4 Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Thu, 22 Apr 2021 14:06:05 +0300 Subject: [PATCH 09/18] Fix var typo Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/config/react/_config.js.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/opensrp-web/templates/config/react/_config.js.tpl b/charts/opensrp-web/templates/config/react/_config.js.tpl index f106b35..a6d14d2 100644 --- a/charts/opensrp-web/templates/config/react/_config.js.tpl +++ b/charts/opensrp-web/templates/config/react/_config.js.tpl @@ -29,6 +29,6 @@ window._env_ = { REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}", REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}", REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}", - REACT_APP_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}" + REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}" }; {{- end }} \ No newline at end of file From b15f4c453684de6bb52719c47cd31841b9a1ae62 Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Thu, 22 Apr 2021 14:13:01 +0300 Subject: [PATCH 10/18] Set default plan id var Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/config/react/_config.js.tpl | 3 ++- charts/opensrp-web/values.yaml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/charts/opensrp-web/templates/config/react/_config.js.tpl b/charts/opensrp-web/templates/config/react/_config.js.tpl index a6d14d2..407350f 100644 --- a/charts/opensrp-web/templates/config/react/_config.js.tpl +++ b/charts/opensrp-web/templates/config/react/_config.js.tpl @@ -29,6 +29,7 @@ window._env_ = { REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}", REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}", REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}", - REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}" + REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}", + REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.front_end.app_default_plan_id }}" }; {{- end }} \ No newline at end of file diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 1fad7d8..0222965 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -90,6 +90,7 @@ front_end: app_enable_opensrp_oauth: "true" app_action_uuid_namespace: "35968df5-f335-44ae-8ae5-25804caa2d86" app_plan_uuid_namespace: "85f7dbbf-07d0-4c92-aa2d-d50d141dde00" + app_default_plan_id: "35968df5-f335-44ae-8ae5-25804caa2d86" app_default_plan_duration_days: 20 app_default_activity_duration_days: 7 app_date_format: "yyyy-mm-dd" From 8dad2efb820bb09a33a7315ba0e310fff4532adf Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei Date: Thu, 22 Apr 2021 16:03:45 +0300 Subject: [PATCH 11/18] Fix opensrp logout and user details urls Signed-off-by: Kipchirchir Sigei --- charts/opensrp-web/templates/config/react/_config.js.tpl | 4 ++-- charts/opensrp-web/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/opensrp-web/templates/config/react/_config.js.tpl b/charts/opensrp-web/templates/config/react/_config.js.tpl index 407350f..e080438 100644 --- a/charts/opensrp-web/templates/config/react/_config.js.tpl +++ b/charts/opensrp-web/templates/config/react/_config.js.tpl @@ -14,8 +14,8 @@ window._env_ = { REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth", REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout", REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}", - REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/logout.do", - REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/user-details/", + REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/logout.do", + REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/user-details/", REACT_APP_WEBSITE_NAME: "{{ .Values.express.app_website_name }}", REACT_APP_ACTION_UUID_NAMESPACE: "{{ .Values.front_end.app_action_uuid_namespace }}", REACT_APP_PLAN_UUID_NAMESPACE: "{{ .Values.front_end.app_plan_uuid_namespace }}", diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 0222965..fad39ed 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -90,7 +90,7 @@ front_end: app_enable_opensrp_oauth: "true" app_action_uuid_namespace: "35968df5-f335-44ae-8ae5-25804caa2d86" app_plan_uuid_namespace: "85f7dbbf-07d0-4c92-aa2d-d50d141dde00" - app_default_plan_id: "35968df5-f335-44ae-8ae5-25804caa2d86" + app_default_plan_id: "27362060-0309-411a-910c-64f55ede3758" app_default_plan_duration_days: 20 app_default_activity_duration_days: 7 app_date_format: "yyyy-mm-dd" From 21768e6ae8054bdb205c7fbc9b7e8b2b3b0e1b7d Mon Sep 17 00:00:00 2001 From: bennsimon Date: Mon, 19 Apr 2021 17:23:14 +0300 Subject: [PATCH 12/18] add dynamic environments --- charts/opensrp-web/templates/_helpers.tpl | 14 +++++ charts/opensrp-web/values.yaml | 75 +++++++++++++++++++---- 2 files changed, 77 insertions(+), 12 deletions(-) diff --git a/charts/opensrp-web/templates/_helpers.tpl b/charts/opensrp-web/templates/_helpers.tpl index 75a9a3c..ebde989 100644 --- a/charts/opensrp-web/templates/_helpers.tpl +++ b/charts/opensrp-web/templates/_helpers.tpl @@ -60,3 +60,17 @@ Create the name of the service account to use {{- default "default" .Values.serviceAccount.name }} {{- end }} {{- end }} + + + +{{/* +Dynamically add React environment variables +*/}} +{{- define "opensrp-web.reactEnvironmenVariables" -}} +{{- $scope := . -}} +{ +{{- range $key, $value := .Values.reactEnvironmentVariables }} +{{ $key }}={{ tpl $value $scope }}, +{{- end }} +}; +{{- end }} \ No newline at end of file diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index fad39ed..75b8073 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -10,7 +10,7 @@ image: # Overrides the image tag whose default is the chart appVersion. tag: "1.0.5" -imagePullSecrets: [] +imagePullSecrets: [ ] nameOverride: "" fullnameOverride: "" @@ -18,16 +18,16 @@ serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account - annotations: {} + annotations: { } # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" -podAnnotations: {} +podAnnotations: { } -podSecurityContext: {} +podSecurityContext: { } -securityContext: {} +securityContext: { } service: type: ClusterIP @@ -35,12 +35,12 @@ service: ingress: enabled: false - annotations: {} + annotations: { } hosts: - host: opensrp-web.local - paths: [] - tls: [] -resources: {} + paths: [ ] + tls: [ ] +resources: { } autoscaling: enabled: false @@ -49,11 +49,62 @@ autoscaling: targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: { } -tolerations: [] +tolerations: [ ] -affinity: {} +affinity: { } + +# populated the container environment variables +containerEnvironmentVariables: + EXPRESS_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/token" + EXPRESS_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/token" + EXPRESS_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/" + EXPRESS_OPENSRP_USER_URL: "{{ .Values.express.opensrp_user_url }}" + EXPRESS_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}" + EXPRESS_OPENSRP_CLIENT_SECRET: "{{ .Values.shared_vars.opensrp_client_secret }}" + EXPRESS_SESSION_NAME: "{{ .Values.express.session_name }}" + EXPRESS_SESSION_SECRET: "{{ .Values.express.session_secret }}" + EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/fe/oauth/callback/opensrp" + EXPRESS_REACT_BUILD_PATH: "{{ .Values.express.react_build_path }}" + NODE_ENV: "{{ .Values.express.node_env }}" + EXPRESS_FRONTEND_LOGIN_URL: "{{ .Values.express.frontend_login_url }}" + EXPRESS_OPENSRP_OAUTH_STATE: "{{ .Values.express.opensrp_oauth_state }}" + EXPRESS_SESSION_PATH: "{{ .Values.express.session_path }}" + EXPRESS_SESSION_LOGIN_URL: "{{ .Values.express.session_login_url }}" + EXPRESS_SESSION_FILESTORE_PATH: "{{ .Values.express.frontend_logout_url }}" + EXPRESS_FRONTEND_LOGOUT_URL: "{{ .Values.express.session_filestore_path }}" + EXPRESS_PRELOADED_STATE_FILE: "{{ .Values.express.preloaded_state_file }}" + REACT_APP_OPENSRP_API_BASE_URL: "{{ .Values.express.preloaded_state_file }}" + +# populated the react app environment variables +reactEnvironmentVariables: + REACT_APP_BACKEND_ACTIVE: "{{ .Values.front_end.app_backend_active }}" + REACT_APP_DISABLE_LOGIN_PROTECTION: "{{ .Values.front_end.app_disable_login_protection }}" + REACT_APP_DOMAIN_NAME: "https://{{ .Values.shared_vars.app_domain_name }}" + REACT_APP_ENABLE_OPENSRP_OAUTH: "{{ .Values.front_end.app_enable_opensrp_oauth }}" + REACT_APP_EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/state" + REACT_APP_EXPRESS_OAUTH_LOGOUT_URL: "https://{{ .Values.shared_vars.app_domain_name }}/logout" + REACT_APP_KEYCLOAK_API_BASE_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/admin/realms/{{ .Values.shared_vars.keycloak_realm }}" + REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout" + REACT_APP_NAVBAR_BRAND_IMG_SRC: "{{ .Values.front_end.app_navbar_brand_img_src }}" + REACT_APP_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token" + REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/" + REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth" + REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}" + REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/logout.do" + REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/user-details/" + REACT_APP_WEBSITE_NAME: "{{ .Values.express.app_website_name }}" + REACT_APP_ACTION_UUID_NAMESPACE: "{{ .Values.front_end.app_action_uuid_namespace }}" + REACT_APP_PLAN_UUID_NAMESPACE: "{{ .Values.front_end.app_plan_uuid_namespace }}" + REACT_APP_ENABLE_PRODUCT_CATALOGUE: "{{ .Values.front_end.app_enable_product_catalogue }}" + REACT_APP_ENABLE_PLANS: "{{ .Values.front_end.app_enable_plans }}" + REACT_APP_ENABLE_INVENTORY: "{{ .Values.front_end.app_enable_inventory }}" + REACT_APP_ENABLE_LOCATIONS: "{{ .Values.front_end.app_enable_locations }}" + REACT_APP_ENABLE_TEAMS_MODULE: "{{ .Values.front_end.app_enable_teams_module }}" + REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}" + REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}" + REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}" shared_vars: keycloak_url: "keycloak_url" From 09d842f8f635d6587b9254155d203ca14b4e12f4 Mon Sep 17 00:00:00 2001 From: bennsimon Date: Fri, 23 Apr 2021 14:56:40 +0300 Subject: [PATCH 13/18] fix dynamic envs --- charts/opensrp-web/templates/_helpers.tpl | 18 +++-- .../templates/config/react/_config.js.tpl | 32 +-------- charts/opensrp-web/templates/deployment.yaml | 9 ++- charts/opensrp-web/values.yaml | 66 ++++++++----------- 4 files changed, 49 insertions(+), 76 deletions(-) diff --git a/charts/opensrp-web/templates/_helpers.tpl b/charts/opensrp-web/templates/_helpers.tpl index ebde989..0aea5be 100644 --- a/charts/opensrp-web/templates/_helpers.tpl +++ b/charts/opensrp-web/templates/_helpers.tpl @@ -68,9 +68,19 @@ Dynamically add React environment variables */}} {{- define "opensrp-web.reactEnvironmenVariables" -}} {{- $scope := . -}} -{ -{{- range $key, $value := .Values.reactEnvironmentVariables }} -{{ $key }}={{ tpl $value $scope }}, +{{ range $key, $value := index .Values.reactEnvironmentVariables }} +{{- $key -}}:{{- tpl $value $scope | quote -}}, +{{ end }} +{{- end }} + +{{/* +Populate the pod annotations +*/}} +{{- define "opensrp-web.podAnnotations" -}} +{{- range $index, $element:=.Values.podAnnotations }} +{{ $index }}: {{ $element }} +{{- end }} +{{- if .Values.recreatePodsWhenConfigMapChange }} +checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} {{- end }} -}; {{- end }} \ No newline at end of file diff --git a/charts/opensrp-web/templates/config/react/_config.js.tpl b/charts/opensrp-web/templates/config/react/_config.js.tpl index e080438..c2e6a3d 100644 --- a/charts/opensrp-web/templates/config/react/_config.js.tpl +++ b/charts/opensrp-web/templates/config/react/_config.js.tpl @@ -1,35 +1,5 @@ {{- define "config.react.config.js" }} window._env_ = { - REACT_APP_BACKEND_ACTIVE: "{{ .Values.front_end.app_backend_active }}", - REACT_APP_DISABLE_LOGIN_PROTECTION: "{{ .Values.front_end.app_disable_login_protection }}", - REACT_APP_DOMAIN_NAME: "https://{{ .Values.shared_vars.app_domain_name }}", - REACT_APP_ENABLE_OPENSRP_OAUTH: "{{ .Values.front_end.app_enable_opensrp_oauth }}", - REACT_APP_EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/state", - REACT_APP_EXPRESS_OAUTH_LOGOUT_URL: "https://{{ .Values.shared_vars.app_domain_name }}/logout", - REACT_APP_KEYCLOAK_API_BASE_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/admin/realms/{{ .Values.shared_vars.keycloak_realm }}", - REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout", - REACT_APP_NAVBAR_BRAND_IMG_SRC: "{{ .Values.front_end.app_navbar_brand_img_src }}", - REACT_APP_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token", - REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/", - REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth", - REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout", - REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}", - REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/logout.do", - REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/user-details/", - REACT_APP_WEBSITE_NAME: "{{ .Values.express.app_website_name }}", - REACT_APP_ACTION_UUID_NAMESPACE: "{{ .Values.front_end.app_action_uuid_namespace }}", - REACT_APP_PLAN_UUID_NAMESPACE: "{{ .Values.front_end.app_plan_uuid_namespace }}", - REACT_APP_ENABLE_PRODUCT_CATALOGUE: "{{ .Values.front_end.app_enable_product_catalogue }}", - REACT_APP_ENABLE_PLANS: "{{ .Values.front_end.app_enable_plans }}", - REACT_APP_ENABLE_INVENTORY: "{{ .Values.front_end.app_enable_inventory }}", - REACT_APP_ENABLE_LOCATIONS: "{{ .Values.front_end.app_enable_locations }}", - REACT_APP_ENABLE_TEAMS: "{{ .Values.front_end.app_enable_teams }}", - REACT_APP_ENABLE_CARD_SUPPORT: "{{ .Values.front_end.app_enable_card_support }}", - REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/", - REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}", - REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}", - REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}", - REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}", - REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.front_end.app_default_plan_id }}" +{{ (include "opensrp-web.reactEnvironmenVariables" . | trim | trimSuffix ",") }} }; {{- end }} \ No newline at end of file diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml index 697596b..263eaa0 100644 --- a/charts/opensrp-web/templates/deployment.yaml +++ b/charts/opensrp-web/templates/deployment.yaml @@ -13,10 +13,8 @@ spec: {{- include "opensrp-web.selectorLabels" . | nindent 6 }} template: metadata: - {{- with .Values.podAnnotations }} annotations: - {{- toYaml . | nindent 8 }} - {{- end }} + {{- include "opensrp-web.podAnnotations" . | indent 8 }} labels: {{- include "opensrp-web.selectorLabels" . | nindent 8 }} spec: @@ -80,6 +78,11 @@ spec: value: {{ .Values.express.session_filestore_path }} - name: EXPRESS_PRELOADED_STATE_FILE value: {{ .Values.express.preloaded_state_file }} + {{- $scope := . -}} + {{- range $key, $value := .Values.extraEnvs }} + - name: {{ $key }} + value: {{ tpl $value $scope }} + {{- end }} ports: - name: http containerPort: 3000 diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 75b8073..985a4d5 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -5,12 +5,12 @@ replicaCount: 1 image: - repository: manutarus/opensrp-web + repository: opensrp/web pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: "1.0.5" + tag: "latest" -imagePullSecrets: [ ] +imagePullSecrets: [] nameOverride: "" fullnameOverride: "" @@ -18,16 +18,16 @@ serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account - annotations: { } + annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" -podAnnotations: { } +podAnnotations: {} -podSecurityContext: { } +podSecurityContext: {} -securityContext: { } +securityContext: {} service: type: ClusterIP @@ -35,12 +35,12 @@ service: ingress: enabled: false - annotations: { } + annotations: {} hosts: - host: opensrp-web.local - paths: [ ] - tls: [ ] -resources: { } + paths: [] + tls: [] +resources: {} autoscaling: enabled: false @@ -49,33 +49,18 @@ autoscaling: targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 -nodeSelector: { } +nodeSelector: {} -tolerations: [ ] +tolerations: [] -affinity: { } +affinity: {} + +# Recreates pods when configMap changes, default is true +recreatePodsWhenConfigMapChange: true # populated the container environment variables -containerEnvironmentVariables: - EXPRESS_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/token" - EXPRESS_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/eusm-mg-staging/protocol/openid-connect/token" - EXPRESS_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/" - EXPRESS_OPENSRP_USER_URL: "{{ .Values.express.opensrp_user_url }}" - EXPRESS_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}" - EXPRESS_OPENSRP_CLIENT_SECRET: "{{ .Values.shared_vars.opensrp_client_secret }}" - EXPRESS_SESSION_NAME: "{{ .Values.express.session_name }}" - EXPRESS_SESSION_SECRET: "{{ .Values.express.session_secret }}" - EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/fe/oauth/callback/opensrp" - EXPRESS_REACT_BUILD_PATH: "{{ .Values.express.react_build_path }}" - NODE_ENV: "{{ .Values.express.node_env }}" - EXPRESS_FRONTEND_LOGIN_URL: "{{ .Values.express.frontend_login_url }}" - EXPRESS_OPENSRP_OAUTH_STATE: "{{ .Values.express.opensrp_oauth_state }}" - EXPRESS_SESSION_PATH: "{{ .Values.express.session_path }}" - EXPRESS_SESSION_LOGIN_URL: "{{ .Values.express.session_login_url }}" - EXPRESS_SESSION_FILESTORE_PATH: "{{ .Values.express.frontend_logout_url }}" - EXPRESS_FRONTEND_LOGOUT_URL: "{{ .Values.express.session_filestore_path }}" - EXPRESS_PRELOADED_STATE_FILE: "{{ .Values.express.preloaded_state_file }}" - REACT_APP_OPENSRP_API_BASE_URL: "{{ .Values.express.preloaded_state_file }}" +extraEnvs: + # key:value # populated the react app environment variables reactEnvironmentVariables: @@ -89,11 +74,10 @@ reactEnvironmentVariables: REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout" REACT_APP_NAVBAR_BRAND_IMG_SRC: "{{ .Values.front_end.app_navbar_brand_img_src }}" REACT_APP_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token" - REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/" REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth" REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}" - REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/logout.do" - REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}//opensrp/user-details/" + REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/logout.do" + REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/user-details/" REACT_APP_WEBSITE_NAME: "{{ .Values.express.app_website_name }}" REACT_APP_ACTION_UUID_NAMESPACE: "{{ .Values.front_end.app_action_uuid_namespace }}" REACT_APP_PLAN_UUID_NAMESPACE: "{{ .Values.front_end.app_plan_uuid_namespace }}" @@ -101,10 +85,14 @@ reactEnvironmentVariables: REACT_APP_ENABLE_PLANS: "{{ .Values.front_end.app_enable_plans }}" REACT_APP_ENABLE_INVENTORY: "{{ .Values.front_end.app_enable_inventory }}" REACT_APP_ENABLE_LOCATIONS: "{{ .Values.front_end.app_enable_locations }}" - REACT_APP_ENABLE_TEAMS_MODULE: "{{ .Values.front_end.app_enable_teams_module }}" + REACT_APP_ENABLE_TEAMS: "{{ .Values.front_end.app_enable_teams }}" + REACT_APP_ENABLE_CARD_SUPPORT: "{{ .Values.front_end.app_enable_card_support }}" + REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/" REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}" REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}" REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}" + REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}" + REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.front_end.app_default_plan_id }}" shared_vars: keycloak_url: "keycloak_url" @@ -112,6 +100,7 @@ shared_vars: opensrp_client_id: "express_opensrp_client_id" opensrp_server: "opensrp_server" keycloak_realm: "keycloak_realm" + express: opensrp_user_url: "express_opensrp_user_url" opensrp_client_id: "express_opensrp_client_id" @@ -127,6 +116,7 @@ express: react_build_path: "/usr/src/web" node_env: "development" frontend_logout_url: "/logout" + front_end: app_enable_product_catalogue: "false" app_enable_plans: "false" From 08f98879e9bc71dd0d9dc152669340f7e12150e7 Mon Sep 17 00:00:00 2001 From: Manu Tarus Date: Fri, 23 Apr 2021 16:39:00 +0300 Subject: [PATCH 14/18] Use dynamic environments for all vars Signed-off-by: Manu Tarus --- charts/opensrp-web/templates/deployment.yaml | 40 +------------------- charts/opensrp-web/values.yaml | 26 +++++++++++-- 2 files changed, 24 insertions(+), 42 deletions(-) diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml index 263eaa0..f7cb8ff 100644 --- a/charts/opensrp-web/templates/deployment.yaml +++ b/charts/opensrp-web/templates/deployment.yaml @@ -40,46 +40,8 @@ spec: mountPath: /etc/confd/templates/config.js.tmpl subPath: config.js.tpl env: - - name: EXPRESS_OPENSRP_AUTHORIZATION_URL - value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth - - name: EXPRESS_OPENSRP_ACCESS_TOKEN_URL - value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token - - name: EXPRESS_OPENSRP_CALLBACK_URL - value: https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/ - - name: EXPRESS_OPENSRP_USER_URL - value: {{ .Values.express.opensrp_user_url }} - - name: EXPRESS_OPENSRP_CLIENT_ID - value: {{ .Values.shared_vars.opensrp_client_id }} - - name: EXPRESS_OPENSRP_CLIENT_SECRET - value: {{ .Values.shared_vars.opensrp_client_secret }} - - name: EXPRESS_SESSION_NAME - value: {{ .Values.express.session_name }} - - name: EXPRESS_OAUTH_GET_STATE_URL - value: https://{{ .Values.shared_vars.app_domain_name }}/oauth/state - - name: EXPRESS_SESSION_SECRET - value: {{ .Values.express.session_secret }} - - name: EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL - value: https://{{ .Values.shared_vars.app_domain_name }}/fe/oauth/callback/opensrp - - name: EXPRESS_REACT_BUILD_PATH - value: {{ .Values.express.react_build_path }} - - name: NODE_ENV - value: {{ .Values.express.node_env }} - - name: EXPRESS_FRONTEND_LOGIN_URL - value: {{ .Values.express.frontend_login_url }} - - name: EXPRESS_OPENSRP_OAUTH_STATE - value: {{ .Values.express.opensrp_oauth_state }} - - name: EXPRESS_SESSION_PATH - value: {{ .Values.express.session_path }} - - name: EXPRESS_SESSION_LOGIN_URL - value: {{ .Values.express.session_login_url }} - - name: EXPRESS_SESSION_FILESTORE_PATH - value: {{ .Values.express.frontend_logout_url }} - - name: EXPRESS_FRONTEND_LOGOUT_URL - value: {{ .Values.express.session_filestore_path }} - - name: EXPRESS_PRELOADED_STATE_FILE - value: {{ .Values.express.preloaded_state_file }} {{- $scope := . -}} - {{- range $key, $value := .Values.extraEnvs }} + {{- range $key, $value := .Values.containerEnvironmentVariables }} - name: {{ $key }} value: {{ tpl $value $scope }} {{- end }} diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 985a4d5..a507a6f 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -59,8 +59,26 @@ affinity: {} recreatePodsWhenConfigMapChange: true # populated the container environment variables -extraEnvs: - # key:value +containerEnvironmentVariables: + EXPRESS_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth" + EXPRESS_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token" + EXPRESS_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/" + EXPRESS_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/user-details/" + EXPRESS_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}" + EXPRESS_OPENSRP_CLIENT_SECRET: "{{ .Values.shared_vars.opensrp_client_secret }}" + EXPRESS_SESSION_NAME: "{{ .Values.express.session_name }}" + EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/state" + EXPRESS_SESSION_SECRET: "{{ .Values.express.session_secret }}" + EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/fe/oauth/callback/opensrp" + EXPRESS_REACT_BUILD_PATH: "{{ .Values.express.react_build_path }}" + NODE_ENV: "{{ .Values.express.node_env }}" + EXPRESS_FRONTEND_LOGIN_URL: "{{ .Values.express.frontend_login_url }}" + EXPRESS_OPENSRP_OAUTH_STATE: "{{ .Values.express.opensrp_oauth_state }}" + EXPRESS_SESSION_PATH: "{{ .Values.express.session_path }}" + EXPRESS_SESSION_LOGIN_URL: "{{ .Values.express.session_login_url }}" + EXPRESS_SESSION_FILESTORE_PATH: "{{ .Values.express.frontend_logout_url }}" + EXPRESS_FRONTEND_LOGOUT_URL: "{{ .Values.express.session_filestore_path }}" + EXPRESS_PRELOADED_STATE_FILE: "{{ .Values.express.preloaded_state_file }}" # populated the react app environment variables reactEnvironmentVariables: @@ -93,9 +111,10 @@ reactEnvironmentVariables: REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}" REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}" REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.front_end.app_default_plan_id }}" + SKIP_PREFLIGHT_CHECK: "{{ .Values.front_end.skip_preflight_check }}" shared_vars: - keycloak_url: "keycloak_url" + keycloakUrl: "keycloak_url" app_domain_name: "app_domain_name" opensrp_client_id: "express_opensrp_client_id" opensrp_server: "opensrp_server" @@ -125,6 +144,7 @@ front_end: app_enable_card_support: "false" app_enable_teams_assignment: "false" app_enable_teams: "false" + skip_preflight_check: "true" app_website_name: "opensrp-web" app_backend_active: "true" app_disable_login_protection: "false" From 9069bd4ea234695d28ba266a806ee0cd34eec9b5 Mon Sep 17 00:00:00 2001 From: bennsimon Date: Fri, 23 Apr 2021 16:50:45 +0300 Subject: [PATCH 15/18] update naming convention to camelCase --- charts/opensrp-web/templates/deployment.yaml | 34 ++--- charts/opensrp-web/values.yaml | 144 +++++++++---------- 2 files changed, 89 insertions(+), 89 deletions(-) diff --git a/charts/opensrp-web/templates/deployment.yaml b/charts/opensrp-web/templates/deployment.yaml index 263eaa0..f1c124b 100644 --- a/charts/opensrp-web/templates/deployment.yaml +++ b/charts/opensrp-web/templates/deployment.yaml @@ -41,43 +41,43 @@ spec: subPath: config.js.tpl env: - name: EXPRESS_OPENSRP_AUTHORIZATION_URL - value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth + value: https://{{ .Values.sharedVars.keycloakUrl }}/auth/realms/{{ .Values.sharedVars.keycloakRealm }}/protocol/openid-connect/auth - name: EXPRESS_OPENSRP_ACCESS_TOKEN_URL - value: https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token + value: https://{{ .Values.sharedVars.keycloakUrl }}/auth/realms/{{ .Values.sharedVars.keycloakRealm }}/protocol/openid-connect/token - name: EXPRESS_OPENSRP_CALLBACK_URL - value: https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/ + value: https://{{ .Values.sharedVars.appDomainName }}/oauth/callback/OpenSRP/ - name: EXPRESS_OPENSRP_USER_URL - value: {{ .Values.express.opensrp_user_url }} + value: {{ .Values.express.opensrpUserUrl }} - name: EXPRESS_OPENSRP_CLIENT_ID - value: {{ .Values.shared_vars.opensrp_client_id }} + value: {{ .Values.sharedVars.opensrpClientId }} - name: EXPRESS_OPENSRP_CLIENT_SECRET - value: {{ .Values.shared_vars.opensrp_client_secret }} + value: {{ .Values.sharedVars.opensrpClientSecret }} - name: EXPRESS_SESSION_NAME - value: {{ .Values.express.session_name }} + value: {{ .Values.express.sessionName }} - name: EXPRESS_OAUTH_GET_STATE_URL - value: https://{{ .Values.shared_vars.app_domain_name }}/oauth/state + value: https://{{ .Values.sharedVars.appDomainName }}/oauth/state - name: EXPRESS_SESSION_SECRET - value: {{ .Values.express.session_secret }} + value: {{ .Values.express.sessionSecret }} - name: EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL - value: https://{{ .Values.shared_vars.app_domain_name }}/fe/oauth/callback/opensrp + value: https://{{ .Values.sharedVars.appDomainName }}/fe/oauth/callback/opensrp - name: EXPRESS_REACT_BUILD_PATH - value: {{ .Values.express.react_build_path }} + value: {{ .Values.express.reactBuildPath }} - name: NODE_ENV value: {{ .Values.express.node_env }} - name: EXPRESS_FRONTEND_LOGIN_URL - value: {{ .Values.express.frontend_login_url }} + value: {{ .Values.express.frontendLoginUrl }} - name: EXPRESS_OPENSRP_OAUTH_STATE - value: {{ .Values.express.opensrp_oauth_state }} + value: {{ .Values.express.opensrpOauthState }} - name: EXPRESS_SESSION_PATH - value: {{ .Values.express.session_path }} + value: {{ .Values.express.sessionPath }} - name: EXPRESS_SESSION_LOGIN_URL value: {{ .Values.express.session_login_url }} - name: EXPRESS_SESSION_FILESTORE_PATH - value: {{ .Values.express.frontend_logout_url }} + value: {{ .Values.express.frontendLogoutUrl }} - name: EXPRESS_FRONTEND_LOGOUT_URL - value: {{ .Values.express.session_filestore_path }} + value: {{ .Values.express.sessionFilestorePath }} - name: EXPRESS_PRELOADED_STATE_FILE - value: {{ .Values.express.preloaded_state_file }} + value: {{ .Values.express.preloadedStateFile }} {{- $scope := . -}} {{- range $key, $value := .Values.extraEnvs }} - name: {{ $key }} diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 985a4d5..779291b 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -58,81 +58,81 @@ affinity: {} # Recreates pods when configMap changes, default is true recreatePodsWhenConfigMapChange: true -# populated the container environment variables +# Any additional container environment variables extraEnvs: # key:value -# populated the react app environment variables +# The react app environment variables reactEnvironmentVariables: - REACT_APP_BACKEND_ACTIVE: "{{ .Values.front_end.app_backend_active }}" - REACT_APP_DISABLE_LOGIN_PROTECTION: "{{ .Values.front_end.app_disable_login_protection }}" - REACT_APP_DOMAIN_NAME: "https://{{ .Values.shared_vars.app_domain_name }}" - REACT_APP_ENABLE_OPENSRP_OAUTH: "{{ .Values.front_end.app_enable_opensrp_oauth }}" - REACT_APP_EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/state" - REACT_APP_EXPRESS_OAUTH_LOGOUT_URL: "https://{{ .Values.shared_vars.app_domain_name }}/logout" - REACT_APP_KEYCLOAK_API_BASE_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/admin/realms/{{ .Values.shared_vars.keycloak_realm }}" - REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/logout" - REACT_APP_NAVBAR_BRAND_IMG_SRC: "{{ .Values.front_end.app_navbar_brand_img_src }}" - REACT_APP_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token" - REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth" - REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}" - REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/logout.do" - REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/user-details/" - REACT_APP_WEBSITE_NAME: "{{ .Values.express.app_website_name }}" - REACT_APP_ACTION_UUID_NAMESPACE: "{{ .Values.front_end.app_action_uuid_namespace }}" - REACT_APP_PLAN_UUID_NAMESPACE: "{{ .Values.front_end.app_plan_uuid_namespace }}" - REACT_APP_ENABLE_PRODUCT_CATALOGUE: "{{ .Values.front_end.app_enable_product_catalogue }}" - REACT_APP_ENABLE_PLANS: "{{ .Values.front_end.app_enable_plans }}" - REACT_APP_ENABLE_INVENTORY: "{{ .Values.front_end.app_enable_inventory }}" - REACT_APP_ENABLE_LOCATIONS: "{{ .Values.front_end.app_enable_locations }}" - REACT_APP_ENABLE_TEAMS: "{{ .Values.front_end.app_enable_teams }}" - REACT_APP_ENABLE_CARD_SUPPORT: "{{ .Values.front_end.app_enable_card_support }}" - REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/rest/" - REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.front_end.app_default_plan_duration_days }}" - REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.front_end.app_default_activity_duration_days }}" - REACT_APP_DATE_FORMAT: "{{ .Values.front_end.app_date_format }}" - REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.front_end.app_enable_teams_assignment }}" - REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.front_end.app_default_plan_id }}" - -shared_vars: - keycloak_url: "keycloak_url" - app_domain_name: "app_domain_name" - opensrp_client_id: "express_opensrp_client_id" - opensrp_server: "opensrp_server" - keycloak_realm: "keycloak_realm" + REACT_APP_BACKEND_ACTIVE: "{{ .Values.frontEnd.appBackendActive }}" + REACT_APP_DISABLE_LOGIN_PROTECTION: "{{ .Values.frontEnd.appDisableLoginProtection }}" + REACT_APP_DOMAIN_NAME: "https://{{ .Values.sharedVars.appDomainName }}" + REACT_APP_ENABLE_OPENSRP_OAUTH: "{{ .Values.frontEnd.appEnableOpensrpOauth }}" + REACT_APP_EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.sharedVars.appDomainName }}/oauth/state" + REACT_APP_EXPRESS_OAUTH_LOGOUT_URL: "https://{{ .Values.sharedVars.appDomainName }}/logout" + REACT_APP_KEYCLOAK_API_BASE_URL: "https://{{ .Values.sharedVars.keycloakUrl }}/auth/admin/realms/{{ .Values.sharedVars.keycloakRealm }}" + REACT_APP_KEYCLOAK_LOGOUT_URL: "https://{{ .Values.sharedVars.keycloakUrl }}/auth/realms/{{ .Values.sharedVars.keycloakRealm }}/protocol/openid-connect/logout" + REACT_APP_NAVBAR_BRAND_IMG_SRC: "{{ .Values.frontEnd.appNavbarBrandImgSrc }}" + REACT_APP_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.sharedVars.keycloakUrl }}/auth/realms/{{ .Values.sharedVars.keycloakRealm }}/protocol/openid-connect/token" + REACT_APP_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.sharedVars.keycloakUrl }}/auth/realms/{{ .Values.sharedVars.keycloakRealm }}/protocol/openid-connect/auth" + REACT_APP_OPENSRP_CLIENT_ID: "{{ .Values.sharedVars.opensrpClientId }}" + REACT_APP_OPENSRP_LOGOUT_URL: "https://{{ .Values.sharedVars.opensrpServer }}/opensrp/logout.do" + REACT_APP_OPENSRP_USER_URL: "https://{{ .Values.sharedVars.opensrpServer }}/opensrp/user-details/" + REACT_APP_WEBSITE_NAME: "{{ .Values.express.appWebsiteName }}" + REACT_APP_ACTION_UUID_NAMESPACE: "{{ .Values.frontEnd.appActionUUIDNamespace }}" + REACT_APP_PLAN_UUID_NAMESPACE: "{{ .Values.frontEnd.appPlanUUIDNamespace }}" + REACT_APP_ENABLE_PRODUCT_CATALOGUE: "{{ .Values.frontEnd.appEnableProductCatalogue }}" + REACT_APP_ENABLE_PLANS: "{{ .Values.frontEnd.appEnablePlans }}" + REACT_APP_ENABLE_INVENTORY: "{{ .Values.frontEnd.appEnableInventory }}" + REACT_APP_ENABLE_LOCATIONS: "{{ .Values.frontEnd.appEnableLocations }}" + REACT_APP_ENABLE_TEAMS: "{{ .Values.frontEnd.appEnableTeams }}" + REACT_APP_ENABLE_CARD_SUPPORT: "{{ .Values.frontEnd.appEnableCardSupport }}" + REACT_APP_OPENSRP_API_BASE_URL: "https://{{ .Values.sharedVars.opensrpServer }}/opensrp/rest/" + REACT_APP_DEFAULT_PLAN_DURATION_DAYS: "{{ .Values.frontEnd.appDefaultPlanDurationDays }}" + REACT_APP_DEFAULT_ACTIVITY_DURATION_DAYS: "{{ .Values.frontEnd.appDefaultActivityDurationDays }}" + REACT_APP_DATE_FORMAT: "{{ .Values.frontEnd.appDateFormat }}" + REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.frontEnd.appEnableTeamsAssignment }}" + REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.frontEnd.appDefaultPlanId }}" + +sharedVars: + keycloakUrl: "keycloakUrl" + appDomainName: "appDomainName" + opensrpClientId: "opensrpClientId" + opensrpServer: "opensrpServer" + keycloakRealm: "keycloakRealm" express: - opensrp_user_url: "express_opensrp_user_url" - opensrp_client_id: "express_opensrp_client_id" - opensrp_client_secret: "express_opensrp_client_secret" - session_name: "express_session_name" - session_secret: "express_session_secret" - opensrp_oauth_state: "opensrp" - session_login_url: "/login" - preloaded_state_file: "/tmp/opensrpState.json" - session_filestore_path: "/tmp/express-sessions" - frontend_login_url: "/fe/login" - session_path: "/" - react_build_path: "/usr/src/web" - node_env: "development" - frontend_logout_url: "/logout" - -front_end: - app_enable_product_catalogue: "false" - app_enable_plans: "false" - app_enable_inventory: "false" - app_enable_locations: "false" - app_enable_card_support: "false" - app_enable_teams_assignment: "false" - app_enable_teams: "false" - app_website_name: "opensrp-web" - app_backend_active: "true" - app_disable_login_protection: "false" - app_enable_opensrp_oauth: "true" - app_action_uuid_namespace: "35968df5-f335-44ae-8ae5-25804caa2d86" - app_plan_uuid_namespace: "85f7dbbf-07d0-4c92-aa2d-d50d141dde00" - app_default_plan_id: "27362060-0309-411a-910c-64f55ede3758" - app_default_plan_duration_days: 20 - app_default_activity_duration_days: 7 - app_date_format: "yyyy-mm-dd" - app_navbar_brand_img_src: "" + opensrpUserUrl: "" + opensrpClientId: "" + opensrpClientSecret: "" + sessionName: "express_session_name" + sessionSecret: "express_session_secret" + opensrpOauthState: "opensrp" + sessionLoginUrl: "/login" + preloadedStateFile: "/tmp/opensrpState.json" + sessionFilestorePath: "/tmp/express-sessions" + frontendLoginUrl: "/fe/login" + sessionPath: "/" + reactBuildPath: "/usr/src/web" + nodeEnv: "development" + frontendLogoutUrl: "/logout" + +frontEnd: + appEnableProductCatalogue: "false" + appEnablePlans: "false" + appEnableInventory: "false" + appEnableLocations: "false" + appEnableCardSupport: "false" + appEnableTeamsAssignment: "false" + appEnableTeams: "false" + appWebsiteName: "opensrp-web" + appBackendActive: "true" + appDisableLoginProtection: "false" + appEnableOpensrpOauth: "true" + appActionUUIDNamespace: "35968df5-f335-44ae-8ae5-25804caa2d86" + appPlanUUIDNamespace: "85f7dbbf-07d0-4c92-aa2d-d50d141dde00" + appDefaultPlanId: "27362060-0309-411a-910c-64f55ede3758" + appDefaultPlanDurationDays: 20 + appDefaultActivityDurationDays: 7 + appDateFormat: "yyyy-mm-dd" + appNavbarBrandImgSrc: "" From 80cba2a850aa01762f1c7bf78ebd50648821dfb9 Mon Sep 17 00:00:00 2001 From: bennsimon Date: Fri, 23 Apr 2021 16:54:38 +0300 Subject: [PATCH 16/18] update naming convention --- charts/opensrp-web/values.yaml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index b6645ac..5029620 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -10,7 +10,7 @@ image: # Overrides the image tag whose default is the chart appVersion. tag: "latest" -imagePullSecrets: [] +imagePullSecrets: [ ] nameOverride: "" fullnameOverride: "" @@ -18,16 +18,16 @@ serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account - annotations: {} + annotations: { } # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" -podAnnotations: {} +podAnnotations: { } -podSecurityContext: {} +podSecurityContext: { } -securityContext: {} +securityContext: { } service: type: ClusterIP @@ -35,12 +35,12 @@ service: ingress: enabled: false - annotations: {} + annotations: { } hosts: - host: opensrp-web.local - paths: [] - tls: [] -resources: {} + paths: [ ] + tls: [ ] +resources: { } autoscaling: enabled: false @@ -49,11 +49,11 @@ autoscaling: targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 -nodeSelector: {} +nodeSelector: { } -tolerations: [] +tolerations: [ ] -affinity: {} +affinity: { } # Recreates pods when configMap changes, default is true recreatePodsWhenConfigMapChange: true @@ -111,7 +111,7 @@ reactEnvironmentVariables: REACT_APP_DATE_FORMAT: "{{ .Values.frontEnd.appDateFormat }}" REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.frontEnd.appEnableTeamsAssignment }}" REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.frontEnd.appDefaultPlanId }}" - SKIP_PREFLIGHT_CHECK: "{{ .Values.front_end.skip_preflight_check }}" + SKIP_PREFLIGHT_CHECK: "{{ .Values.front_end.skipPreflightCheck }}" sharedVars: keycloakUrl: "keycloakUrl" @@ -155,4 +155,4 @@ frontEnd: appDefaultActivityDurationDays: 7 appDateFormat: "yyyy-mm-dd" appNavbarBrandImgSrc: "" - skip_preflight_check: "true" + skipPreflightCheck: "true" From a6bc7dd3f2263d409068fc19aeba66a716522a6c Mon Sep 17 00:00:00 2001 From: bennsimon Date: Fri, 23 Apr 2021 17:07:19 +0300 Subject: [PATCH 17/18] fix formatting --- charts/opensrp-web/values.yaml | 70 +++++++++++++++++----------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index 5029620..b62df56 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -10,7 +10,7 @@ image: # Overrides the image tag whose default is the chart appVersion. tag: "latest" -imagePullSecrets: [ ] +imagePullSecrets: [] nameOverride: "" fullnameOverride: "" @@ -18,16 +18,16 @@ serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account - annotations: { } + annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" -podAnnotations: { } +podAnnotations: {} -podSecurityContext: { } +podSecurityContext: {} -securityContext: { } +securityContext: {} service: type: ClusterIP @@ -35,12 +35,12 @@ service: ingress: enabled: false - annotations: { } + annotations: {} hosts: - host: opensrp-web.local - paths: [ ] - tls: [ ] -resources: { } + paths: [] + tls: [] +resources: {} autoscaling: enabled: false @@ -49,36 +49,36 @@ autoscaling: targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 -nodeSelector: { } +nodeSelector: {} -tolerations: [ ] +tolerations: [] -affinity: { } +affinity: {} # Recreates pods when configMap changes, default is true recreatePodsWhenConfigMapChange: true # Any additional container environment variables containerEnvironmentVariables: - EXPRESS_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/auth" - EXPRESS_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.shared_vars.keycloak_url }}/auth/realms/{{ .Values.shared_vars.keycloak_realm }}/protocol/openid-connect/token" - EXPRESS_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/callback/OpenSRP/" - EXPRESS_OPENSRP_USER_URL: "https://{{ .Values.shared_vars.opensrp_server }}/opensrp/user-details/" - EXPRESS_OPENSRP_CLIENT_ID: "{{ .Values.shared_vars.opensrp_client_id }}" - EXPRESS_OPENSRP_CLIENT_SECRET: "{{ .Values.shared_vars.opensrp_client_secret }}" - EXPRESS_SESSION_NAME: "{{ .Values.express.session_name }}" - EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.shared_vars.app_domain_name }}/oauth/state" - EXPRESS_SESSION_SECRET: "{{ .Values.express.session_secret }}" - EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL: "https://{{ .Values.shared_vars.app_domain_name }}/fe/oauth/callback/opensrp" - EXPRESS_REACT_BUILD_PATH: "{{ .Values.express.react_build_path }}" - NODE_ENV: "{{ .Values.express.node_env }}" - EXPRESS_FRONTEND_LOGIN_URL: "{{ .Values.express.frontend_login_url }}" - EXPRESS_OPENSRP_OAUTH_STATE: "{{ .Values.express.opensrp_oauth_state }}" - EXPRESS_SESSION_PATH: "{{ .Values.express.session_path }}" - EXPRESS_SESSION_LOGIN_URL: "{{ .Values.express.session_login_url }}" - EXPRESS_SESSION_FILESTORE_PATH: "{{ .Values.express.frontend_logout_url }}" - EXPRESS_FRONTEND_LOGOUT_URL: "{{ .Values.express.session_filestore_path }}" - EXPRESS_PRELOADED_STATE_FILE: "{{ .Values.express.preloaded_state_file }}" + EXPRESS_OPENSRP_AUTHORIZATION_URL: "https://{{ .Values.sharedVars.keycloakUrl }}/auth/realms/{{ .Values.sharedVars.keycloakRealm }}/protocol/openid-connect/auth" + EXPRESS_OPENSRP_ACCESS_TOKEN_URL: "https://{{ .Values.sharedVars.keycloakUrl }}/auth/realms/{{ .Values.sharedVars.keycloakRealm }}/protocol/openid-connect/token" + EXPRESS_OPENSRP_CALLBACK_URL: "https://{{ .Values.sharedVars.appDomainName }}/oauth/callback/OpenSRP/" + EXPRESS_OPENSRP_USER_URL: "https://{{ .Values.sharedVars.opensrpServer }}/opensrp/user-details/" + EXPRESS_OPENSRP_CLIENT_ID: "{{ .Values.sharedVars.opensrpClientId }}" + EXPRESS_OPENSRP_CLIENT_SECRET: "{{ .Values.sharedVars.opensrpClientSecret }}" + EXPRESS_SESSION_NAME: "{{ .Values.express.sessionName }}" + EXPRESS_OAUTH_GET_STATE_URL: "https://{{ .Values.sharedVars.appDomainName }}/oauth/state" + EXPRESS_SESSION_SECRET: "{{ .Values.express.sessionSecret }}" + EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL: "https://{{ .Values.sharedVars.appDomainName }}/fe/oauth/callback/opensrp" + EXPRESS_REACT_BUILD_PATH: "{{ .Values.express.reactBuildPath }}" + NODE_ENV: "{{ .Values.express.nodeEnv }}" + EXPRESS_FRONTEND_LOGIN_URL: "{{ .Values.express.frontendLoginUrl }}" + EXPRESS_OPENSRP_OAUTH_STATE: "{{ .Values.express.opensrpOauthState }}" + EXPRESS_SESSION_PATH: "{{ .Values.express.sessionPath }}" + EXPRESS_SESSION_LOGIN_URL: "{{ .Values.express.sessionLoginUrl }}" + EXPRESS_SESSION_FILESTORE_PATH: "{{ .Values.express.frontendLogoutUrl }}" + EXPRESS_FRONTEND_LOGOUT_URL: "{{ .Values.express.sessionFileStorePath }}" + EXPRESS_PRELOADED_STATE_FILE: "{{ .Values.express.preloadedStateFile }}" # The react app environment variables reactEnvironmentVariables: @@ -111,7 +111,7 @@ reactEnvironmentVariables: REACT_APP_DATE_FORMAT: "{{ .Values.frontEnd.appDateFormat }}" REACT_ENABLE_TEAMS_ASSIGNMENT_MODULE: "{{ .Values.frontEnd.appEnableTeamsAssignment }}" REACT_APP_DEFAULT_PLAN_ID: "{{ .Values.frontEnd.appDefaultPlanId }}" - SKIP_PREFLIGHT_CHECK: "{{ .Values.front_end.skipPreflightCheck }}" + SKIP_PREFLIGHT_CHECK: "{{ .Values.frontEnd.skipPreflightCheck }}" sharedVars: keycloakUrl: "keycloakUrl" @@ -124,12 +124,12 @@ express: opensrpUserUrl: "" opensrpClientId: "" opensrpClientSecret: "" - sessionName: "express_session_name" - sessionSecret: "express_session_secret" + sessionName: "express_sessionName" + sessionSecret: "express_sessionSecret" opensrpOauthState: "opensrp" sessionLoginUrl: "/login" preloadedStateFile: "/tmp/opensrpState.json" - sessionFilestorePath: "/tmp/express-sessions" + sessionFileStorePath: "/tmp/express-sessions" frontendLoginUrl: "/fe/login" sessionPath: "/" reactBuildPath: "/usr/src/web" From 142e2db28bf4f15180d2d09a24ffe27bb2588adb Mon Sep 17 00:00:00 2001 From: bennsimon Date: Fri, 23 Apr 2021 17:40:20 +0300 Subject: [PATCH 18/18] fix case --- charts/opensrp-web/values.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/charts/opensrp-web/values.yaml b/charts/opensrp-web/values.yaml index b62df56..db61ef0 100644 --- a/charts/opensrp-web/values.yaml +++ b/charts/opensrp-web/values.yaml @@ -72,11 +72,11 @@ containerEnvironmentVariables: EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL: "https://{{ .Values.sharedVars.appDomainName }}/fe/oauth/callback/opensrp" EXPRESS_REACT_BUILD_PATH: "{{ .Values.express.reactBuildPath }}" NODE_ENV: "{{ .Values.express.nodeEnv }}" - EXPRESS_FRONTEND_LOGIN_URL: "{{ .Values.express.frontendLoginUrl }}" + EXPRESS_FRONTEND_LOGIN_URL: "{{ .Values.express.frontEndLoginUrl }}" EXPRESS_OPENSRP_OAUTH_STATE: "{{ .Values.express.opensrpOauthState }}" EXPRESS_SESSION_PATH: "{{ .Values.express.sessionPath }}" EXPRESS_SESSION_LOGIN_URL: "{{ .Values.express.sessionLoginUrl }}" - EXPRESS_SESSION_FILESTORE_PATH: "{{ .Values.express.frontendLogoutUrl }}" + EXPRESS_SESSION_FILESTORE_PATH: "{{ .Values.express.frontEndLogoutUrl }}" EXPRESS_FRONTEND_LOGOUT_URL: "{{ .Values.express.sessionFileStorePath }}" EXPRESS_PRELOADED_STATE_FILE: "{{ .Values.express.preloadedStateFile }}" @@ -121,7 +121,6 @@ sharedVars: keycloakRealm: "keycloakRealm" express: - opensrpUserUrl: "" opensrpClientId: "" opensrpClientSecret: "" sessionName: "express_sessionName" @@ -130,11 +129,11 @@ express: sessionLoginUrl: "/login" preloadedStateFile: "/tmp/opensrpState.json" sessionFileStorePath: "/tmp/express-sessions" - frontendLoginUrl: "/fe/login" + frontEndLoginUrl: "/fe/login" sessionPath: "/" reactBuildPath: "/usr/src/web" nodeEnv: "development" - frontendLogoutUrl: "/logout" + frontEndLogoutUrl: "/logout" frontEnd: appEnableProductCatalogue: "false"