From 2b96f34f6652fb95f339aeca42bf7ce112aa4245 Mon Sep 17 00:00:00 2001 From: Alex <8507196+Fructokinase@users.noreply.github.com> Date: Tue, 28 Feb 2023 09:03:20 -0800 Subject: [PATCH] Make helm resource naming consistent with existing kustomize naming (#2342) Co-authored-by: Alex Chen --- .../dc_website/templates/config_maps.yaml | 14 +++--- .../dc_website/templates/deployment.yaml | 43 ++++++++----------- .../dc_website/templates/ingress.yaml | 4 +- .../dc_website/templates/service.yaml | 16 +++---- deploy/helm_charts/dc_website/values.yaml | 2 + .../examples/website_v1/main.tf | 5 ++- .../modules/helm/main.tf | 5 +++ .../modules/helm/variables.tf | 5 +++ 8 files changed, 48 insertions(+), 46 deletions(-) diff --git a/deploy/helm_charts/dc_website/templates/config_maps.yaml b/deploy/helm_charts/dc_website/templates/config_maps.yaml index eb7d053fbd..15bc66073d 100644 --- a/deploy/helm_charts/dc_website/templates/config_maps.yaml +++ b/deploy/helm_charts/dc_website/templates/config_maps.yaml @@ -15,7 +15,7 @@ kind: ConfigMap apiVersion: v1 metadata: - name: {{ include "dc-website.fullname" . }}-githash + name: githash-configmap{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} data: website_hash.txt: {{ required "website githash is required" .Values.website.githash | quote }} @@ -26,7 +26,7 @@ data: kind: ConfigMap apiVersion: v1 metadata: - name: {{ include "dc-website.fullname" . }}-store-config + name: store-config{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} data: bigquery.version: {{ required "bigqueryVersion is required." .Values.kgStoreConfig.bigqueryVersion }} @@ -38,7 +38,7 @@ data: kind: ConfigMap apiVersion: v1 metadata: - name: {{ include "dc-website.fullname" . }}-ai-config + name: ai-config{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} data: ai.yaml: | @@ -52,7 +52,7 @@ data: kind: ConfigMap apiVersion: v1 metadata: - name: {{ include "dc-website.fullname" . }}-website-config + name: website-configmap{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} data: flaskEnv: {{ required "Flask env is required." .Values.website.flaskEnv }} @@ -66,7 +66,7 @@ data: kind: ConfigMap apiVersion: v1 metadata: - name: {{ include "dc-website.fullname" . }}-memdb-config + name: memdb-config{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} data: memdb.json: {{ .Values.memdbJSON | quote }} @@ -77,7 +77,7 @@ data: kind: ConfigMap apiVersion: v1 metadata: - name: {{ include "dc-website.fullname" . }}-mixer-config + name: mixer-configmap{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} data: mixerProject: {{ required "Mixer GCP project is required." .Values.mixer.gcpProjectID }} @@ -88,7 +88,7 @@ data: kind: ConfigMap apiVersion: v1 metadata: - name: {{ include "dc-website.fullname" . }}-schema-mapping + name: schema-mapping{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} data: {{- range $key, $val := .Values.mixer.schemaConfigs }} diff --git a/deploy/helm_charts/dc_website/templates/deployment.yaml b/deploy/helm_charts/dc_website/templates/deployment.yaml index 8ddcd13025..008e5292fa 100644 --- a/deploy/helm_charts/dc_website/templates/deployment.yaml +++ b/deploy/helm_charts/dc_website/templates/deployment.yaml @@ -19,11 +19,8 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "dc-website.fullname" . }} + name: website-app{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} - labels: - webInstance: {{ include "dc-website.fullname" . }} - {{- include "dc-website.selectorLabels" . | nindent 4 }} spec: replicas: {{ .Values.replicas.default }} strategy: @@ -37,31 +34,29 @@ spec: maxUnavailable: {{ div .Values.replicas.default 4 | add 1 }} selector: matchLabels: - webInstance: {{ include "dc-website.fullname" . }} - {{- include "dc-website.selectorLabels" . | nindent 6 }} + app: website-app template: metadata: labels: - webInstance: {{ include "dc-website.fullname" . }} - {{- include "dc-website.selectorLabels" . | nindent 8 }} + app: website-app spec: serviceAccountName: {{ .Values.serviceAccount.name }} volumes: - name: ai-config configMap: - name: {{ include "dc-website.fullname" . }}-ai-config + name: ai-config{{ .Values.resourceSuffix }} # - name: ingress-config # configMap: # name: website-dev-mixer-ingress-config-for-website - name: memdb-config configMap: - name: {{ include "dc-website.fullname" . }}-memdb-config + name: memdb-config{{ .Values.resourceSuffix }} - name: schema-mapping configMap: - name: {{ include "dc-website.fullname" . }}-schema-mapping + name: schema-mapping{{ .Values.resourceSuffix }} containers: - name: website - image: "{{ .Values.website.image.repository }}:{{ .Values.website.image.tag | default .Chart.AppVersion }}" + image: "{{ .Values.website.image.repository }}:{{ .Values.website.image.tag }}" imagePullPolicy: {{ .Values.website.image.pullPolicy }} args: [] ports: @@ -92,28 +87,28 @@ spec: - name: FLASK_ENV valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-website-config + name: website-configmap{{ .Values.resourceSuffix }} key: flaskEnv # This is the GCP project that holds the secrets: api key, etc... - name: SECRET_PROJECT valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-website-config + name: website-configmap{{ .Values.resourceSuffix }} key: secretProject - name: WEBSITE_HASH valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-githash + name: githash-configmap{{ .Values.resourceSuffix }} key: website_hash.txt - name: BIG_QUERY valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-store-config + name: store-config{{ .Values.resourceSuffix }} key: bigquery.version - name: ENABLE_MODEL valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-website-config + name: website-configmap{{ .Values.resourceSuffix }} key: enableModel # - name: INGRESS_CONFIG_PATH # value: /datacommons/ingress/rules @@ -150,27 +145,27 @@ spec: - name: BASE_BIGTABLE_INFO valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-store-config + name: store-config{{ .Values.resourceSuffix }} key: base_bigtable_info.yaml - name: CUSTOM_BIGTABLE_INFO valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" $ }}-store-config + name: store-config{{ .Values.resourceSuffix }} key: custom_bigtable_info.yaml - name: MIXER_PROJECT valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-mixer-config + name: mixer-configmap{{ .Values.resourceSuffix }} key: mixerProject - name: BIG_QUERY valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-store-config + name: store-config{{ .Values.resourceSuffix }} key: bigquery.version - name: MIXER_HASH valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-githash + name: githash-configmap{{ .Values.resourceSuffix }} key: mixer_hash.txt ports: - containerPort: 12345 @@ -189,7 +184,7 @@ spec: periodSeconds: 10 initialDelaySeconds: 10 - name: esp - image: "{{ .Values.esp.image.repository }}:{{ .Values.esp.image.tag | default .Chart.AppVersion }}" + image: "{{ .Values.esp.image.repository }}:{{ .Values.esp.image.tag }}" imagePullPolicy: {{ .Values.esp.image.pullPolicy }} args: - --service=$(SERVICE_NAME) @@ -202,7 +197,7 @@ spec: - name: SERVICE_NAME valueFrom: configMapKeyRef: - name: {{ include "dc-website.fullname" . }}-mixer-config + name: mixer-configmap{{ .Values.resourceSuffix }} key: serviceName resources: limits: diff --git a/deploy/helm_charts/dc_website/templates/ingress.yaml b/deploy/helm_charts/dc_website/templates/ingress.yaml index 66f21f055d..a979654c6a 100644 --- a/deploy/helm_charts/dc_website/templates/ingress.yaml +++ b/deploy/helm_charts/dc_website/templates/ingress.yaml @@ -29,8 +29,6 @@ kind: Ingress metadata: name: {{ .Values.ingress.name }} namespace: {{ .Values.namespace.name }} - labels: - {{- include "dc-website.labels" . | nindent 4 }} {{- with .Values.ingress.annotations }} annotations: {{- toYaml . | nindent 4 }} @@ -45,5 +43,5 @@ spec: service: name: {{ include "dc-website.fullname" . }} port: - number: 80 + number: 8080 {{- end }} diff --git a/deploy/helm_charts/dc_website/templates/service.yaml b/deploy/helm_charts/dc_website/templates/service.yaml index 079fd5b351..fc3d6ddf83 100644 --- a/deploy/helm_charts/dc_website/templates/service.yaml +++ b/deploy/helm_charts/dc_website/templates/service.yaml @@ -16,7 +16,7 @@ apiVersion: v1 kind: Secret metadata: - name: {{ include "dc-website.fullname" . }}-iap-secret + name: iap-secret{{ .Values.resourceSuffix }} namespace: {{ .Values.namespace.name }} type: Opaque data: @@ -29,7 +29,7 @@ data: apiVersion: cloud.google.com/v1 kind: BackendConfig metadata: - name: {{ include "dc-website.fullname" . }}-backendconfig + name: backendconfig namespace: {{ .Values.namespace.name }} spec: timeoutSec: 60 @@ -44,7 +44,7 @@ spec: iap: enabled: true oauthclientCredentials: - secretName: {{ include "dc-website.fullname" . }}-iap-secret + secretName: iap-secret{{ .Values.resourceSuffix }} {{- end }} --- @@ -54,18 +54,14 @@ kind: Service metadata: name: {{ include "dc-website.fullname" . }} namespace: {{ .Values.namespace.name }} - labels: - webInstance: {{ include "dc-website.fullname" . }} - {{- include "dc-website.selectorLabels" . | nindent 4 }} annotations: - cloud.google.com/backend-config: '{"ports": {"8081":"{{ include "dc-website.fullname" . }}-backendconfig"}}' + cloud.google.com/backend-config: '{"ports": {"8081":"backendconfig"}}' spec: type: NodePort ports: - - port: 80 + - port: 8080 targetPort: 8080 protocol: TCP name: http selector: - webInstance: {{ include "dc-website.fullname" . }} - {{- include "dc-website.selectorLabels" . | nindent 4 }} + app: website-app diff --git a/deploy/helm_charts/dc_website/values.yaml b/deploy/helm_charts/dc_website/values.yaml index a8f2b6d516..c341e43a46 100644 --- a/deploy/helm_charts/dc_website/values.yaml +++ b/deploy/helm_charts/dc_website/values.yaml @@ -2,6 +2,8 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +resourceSuffix: + # Website service config. website: # Domain is a the domain that the installer owns. diff --git a/deploy/terraform-datacommons-website/examples/website_v1/main.tf b/deploy/terraform-datacommons-website/examples/website_v1/main.tf index 69d7170c3e..9e3b8392dd 100644 --- a/deploy/terraform-datacommons-website/examples/website_v1/main.tf +++ b/deploy/terraform-datacommons-website/examples/website_v1/main.tf @@ -126,8 +126,9 @@ module "k8s_resources" { helm = helm.datcom } - website_githash = var.website_githash - mixer_githash = var.mixer_githash + resource_suffix = local.resource_suffix + website_githash = var.website_githash + mixer_githash = var.mixer_githash source = "../../modules/helm" project_id = var.project_id diff --git a/deploy/terraform-datacommons-website/modules/helm/main.tf b/deploy/terraform-datacommons-website/modules/helm/main.tf index b973ce4939..aad7edff5d 100644 --- a/deploy/terraform-datacommons-website/modules/helm/main.tf +++ b/deploy/terraform-datacommons-website/modules/helm/main.tf @@ -35,6 +35,11 @@ resource "helm_release" "datcom_website" { # To change that, uncomment the line below and set a value. # timeout = 300 + set { + name = "resourceSuffix" + value = var.resource_suffix + } + set { name = "website.image.tag" value = var.website_githash diff --git a/deploy/terraform-datacommons-website/modules/helm/variables.tf b/deploy/terraform-datacommons-website/modules/helm/variables.tf index 7d81a4e64f..c8e1a87fe7 100644 --- a/deploy/terraform-datacommons-website/modules/helm/variables.tf +++ b/deploy/terraform-datacommons-website/modules/helm/variables.tf @@ -64,3 +64,8 @@ variable "mixer_githash" { type = string description = "Mixer githash" } + +variable "resource_suffix" { + type = string + description = "Resource suffix to pass in to the Helm chart" +}