diff --git a/deploy-as-code/helm/charts/core-services/internal-gateway-scg/Chart.yaml b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/Chart.yaml new file mode 100644 index 000000000..4f59682e4 --- /dev/null +++ b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +name: internal-gateway-scg +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. +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. +appVersion: 1.16.0 + +dependencies: +- name: common + version: 0.0.5 + repository: file://../../common diff --git a/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/deployment.yaml b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/deployment.yaml new file mode 100644 index 000000000..3455c0005 --- /dev/null +++ b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/deployment.yaml @@ -0,0 +1,2 @@ +# deployment.yaml +{{- template "common.deployment" . -}} \ No newline at end of file diff --git a/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/role.yaml b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/role.yaml new file mode 100644 index 000000000..8566522a4 --- /dev/null +++ b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/role.yaml @@ -0,0 +1,24 @@ +{{- $envOverrides := index .Values (tpl .Chart.Name .) -}} +{{- $baseValues := .Values | deepCopy -}} +{{- $values := dict "Values" (mustMergeOverwrite $baseValues $envOverrides) -}} +{{- with mustMergeOverwrite . $values }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app: {{ .Chart.Name }} + group: gateway + name: {{ .Chart.Name }} + namespace: {{ .Values.namespace }} +rules: +- apiGroups: + - "" + resources: + - services + - endpoints + - pods + verbs: + - get + - list + - watch +{{- end -}} \ No newline at end of file diff --git a/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/rolebinding.yaml b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/rolebinding.yaml new file mode 100644 index 000000000..2f0751eba --- /dev/null +++ b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/rolebinding.yaml @@ -0,0 +1,21 @@ +{{- $envOverrides := index .Values (tpl .Chart.Name .) -}} +{{- $baseValues := .Values | deepCopy -}} +{{- $values := dict "Values" (mustMergeOverwrite $baseValues $envOverrides) -}} +{{- with mustMergeOverwrite . $values }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app: {{ .Chart.Name }} + group: gateway + name: {{ .Chart.Name }} + namespace: {{ .Values.namespace }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ .Chart.Name }} +subjects: +- kind: ServiceAccount + name: {{ .Values.serviceAccount }} + namespace: {{ .Values.namespace }} +{{- end -}} diff --git a/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/service.yaml b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/service.yaml new file mode 100644 index 000000000..735644576 --- /dev/null +++ b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/service.yaml @@ -0,0 +1,2 @@ +# service.yaml +{{- template "common.service" . -}} \ No newline at end of file diff --git a/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/serviceaccount.yaml b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/serviceaccount.yaml new file mode 100644 index 000000000..844a49d60 --- /dev/null +++ b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/templates/serviceaccount.yaml @@ -0,0 +1,15 @@ +{{- $envOverrides := index .Values (tpl .Chart.Name .) -}} +{{- $baseValues := .Values | deepCopy -}} +{{- $values := dict "Values" (mustMergeOverwrite $baseValues $envOverrides) -}} +{{- with mustMergeOverwrite . $values }} +{{- if or .Values.serviceAccount -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app: {{ .Chart.Name }} + group: gateway + name: {{ .Values.serviceAccount }} + namespace: {{ .Values.namespace }} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/deploy-as-code/helm/charts/core-services/internal-gateway-scg/values.yaml b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/values.yaml new file mode 100644 index 000000000..dc560db97 --- /dev/null +++ b/deploy-as-code/helm/charts/core-services/internal-gateway-scg/values.yaml @@ -0,0 +1,66 @@ +# Common Labels +labels: + app: "internal-gateway-scg" + group: "gateway" + +serviceAccount: internal-gateway-scg +namespace: egov + +# Ingress Configs +ingress: + enabled: true + zuul: true + context: "internal-gateway-scg" + +# Init Containers Configs +initContainers: {} + +# Container Configs +image: + repository: "internal-gateway-scg" +replicas: "1" +healthChecks: + enabled: true + livenessProbePath: "/health" + readinessProbePath: "/health" +custom-filter-property: "false" +posthook-config: "" +prehook-config: "" +heap: "-Xmx192m -Xms192m" +appType: "java-spring" +tracing-enabled: true +server-tomcat-max-threads: "350" +server-tomcat-max-connections: "1500" +java-args: "" +eventlog-enabled: "false" +#eventlog-topic: "zuul-event-log" +eventlog-urls-whitelist: "" +home-isolation-chatbot-router-enabled: false + +# Additional Container Envs +env: | + - name: SERVER_PORT + value: "8080" + - name: JAVA_OPTS + value: {{ index .Values "heap" | quote }} + - name: ZUUL_HOST_CONNECT_TIMEOUT_MILLIS + value: "20000" + - name: ZUUL_HOST_SOCKET_TIMEOUT_MILLIS + value: "60000" + {{- if index .Values "tracing-enabled" }} + - name: TRACER_OPENTRACING_ENABLED + value: "true" + {{- end }} + - name: SECURITY_BASIC_ENABLED + value: "false" + - name: MANAGEMENT_SECURITY_ENABLED + value: "false" + - name: JAVA_ARGS + value: {{ index .Values "java-args" | quote }} + - name: EGOV_SERVICE_CONFIG_PATH + value: "https://raw.githubusercontent.com/egovernments/configs/central-instance/internal-gateway.json" + - name: STATE_LEVEL_TENANT_ID + valueFrom: + configMapKeyRef: + name: egov-config + key: egov-state-level-tenant-id \ No newline at end of file