This is an automated email from the ASF dual-hosted git repository. daisyguo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-deploy-kube.git
The following commit(s) were added to refs/heads/master by this push: new 96a98cd store key OpenWhisk configuration values in ConfigMaps (#241) 96a98cd is described below commit 96a98cdce09209f711898bd01c48eb934f4f1fdd Author: David Grove <dgrove-...@users.noreply.github.com> AuthorDate: Tue Jul 3 04:56:52 2018 -0400 store key OpenWhisk configuration values in ConfigMaps (#241) Go back to using ConfigMaps to store key cluster and database configuration parameters and modify deployments to access the data from those maps. Having explicit config maps makes it easier to inspect the cluster configuration and enable separating the core system and the providers into separate charts (subsequent PR after this is merged). Note: database and system authentication information continues to be stored in secrets; that is unchanged by this PR. --- helm/templates/_helpers.tpl | 30 ++++++++++++++++++++++------ helm/templates/apigateway.yaml | 5 ++++- helm/templates/clusterConfigMaps.yaml | 35 +++++++++++++++++++++++++++++++++ helm/templates/controller.yaml | 10 ++++++++-- helm/templates/couchdb.yaml | 10 ++++++++-- helm/templates/installCatalogJob.yaml | 10 ++++++++-- helm/templates/installPkgKafkaJob.yaml | 15 +++++++++++--- helm/templates/installRouteMgmtJob.yaml | 15 +++++++++++--- helm/templates/invoker.yaml | 21 +++++++++++++++----- helm/templates/pkgKafkaProvider.yaml | 15 +++++++++++--- 10 files changed, 139 insertions(+), 27 deletions(-) diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl index 3bd6c7d..5faa4b3 100644 --- a/helm/templates/_helpers.tpl +++ b/helm/templates/_helpers.tpl @@ -53,17 +53,35 @@ name: db.auth key: db_password - name: "CONFIG_whisk_couchdb_port" - value: {{ .Values.db.port | quote}} + valueFrom: + configMapKeyRef: + name: db.config + key: db_port - name: "CONFIG_whisk_couchdb_protocol" - value: {{ .Values.db.protocol | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_protocol - name: "CONFIG_whisk_couchdb_host" value: {{ include "db_host" . | quote }} - name: "CONFIG_whisk_couchdb_provider" - value: {{ .Values.db.provider | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_provider - name: "CONFIG_whisk_couchdb_databases_WhiskActivation" - value: {{ .Values.db.activationsTable | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_whisk_activations - name: "CONFIG_whisk_couchdb_databases_WhiskEntity" - value: {{ .Values.db.actionsTable | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_whisk_actions - name: "CONFIG_whisk_couchdb_databases_WhiskAuth" - value: {{ .Values.db.authsTable | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_whisk_auths {{- end -}} diff --git a/helm/templates/apigateway.yaml b/helm/templates/apigateway.yaml index 4632f31..056c1bd 100644 --- a/helm/templates/apigateway.yaml +++ b/helm/templates/apigateway.yaml @@ -56,4 +56,7 @@ spec: - name: "REDIS_PORT" value: {{ .Values.redis.port | quote }} - name: "PUBLIC_GATEWAY_URL" - value: "{{- .Values.whisk.ingress.api_host_proto -}}://{{- .Values.whisk.ingress.api_host_name -}}:{{- .Values.whisk.ingress.api_host_port -}}" + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_url diff --git a/helm/templates/clusterConfigMaps.yaml b/helm/templates/clusterConfigMaps.yaml new file mode 100644 index 0000000..d9030dc --- /dev/null +++ b/helm/templates/clusterConfigMaps.yaml @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements; and to You under the Apache License, Version 2.0. + +apiVersion: v1 +kind: ConfigMap +metadata: + name: whisk.config + namespace: {{ .Release.Namespace | quote }} +data: + whisk_info_date: {{ dateInZone "2006-01-02-03:04:05Z" (now) "UTC"| quote }} + whisk_info_buildNo: {{ .Values.whisk.versions.tag | quote }} + whisk_cli_version_tag: {{ .Values.whisk.versions.cli | quote }} + whisk_system_namespace: {{ .Values.whisk.systemNameSpace | quote }} + whisk_api_host_proto: {{ .Values.whisk.ingress.api_host_proto | quote }} + whisk_api_host_port: {{ .Values.whisk.ingress.api_host_port | quote }} + whisk_api_host_name: {{ .Values.whisk.ingress.api_host_name | quote }} + whisk_api_host_nameAndPort: "{{ .Values.whisk.ingress.api_host_name }}:{{ .Values.whisk.ingress.api_host_port }}" + whisk_api_host_url: "{{ .Values.whisk.ingress.api_host_proto }}://{{ .Values.whisk.ingress.api_host_name }}:{{ .Values.whisk.ingress.api_host_port }}" + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: db.config + namespace: {{ .Release.Namespace | quote }} +data: + db_prefix: {{ .Values.db.dbPrefix | quote }} + db_protocol: {{ .Values.db.protocol | quote }} + db_provider: {{ .Values.db.provider | quote }} + db_host: {{ include "db_host" . | quote }} + db_port: {{ .Values.db.port | quote }} + db_url: "{{ .Values.db.protocol }}://{{ include "db_host" . }}:{{ .Values.db.port }}" + db_whisk_actions: {{ .Values.db.actionsTable | quote }} + db_whisk_activations: {{ .Values.db.activationsTable | quote }} + db_whisk_auths: {{ .Values.db.authsTable | quote }} diff --git a/helm/templates/controller.yaml b/helm/templates/controller.yaml index 2b94c73..cda8d45 100644 --- a/helm/templates/controller.yaml +++ b/helm/templates/controller.yaml @@ -70,9 +70,15 @@ spec: value: {{ .Values.controller.port | quote }} - name: "CONFIG_whisk_info_date" - value: {{ dateInZone "2006-01-02-03:04:05Z" (now) "UTC"| quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_info_date - name: "CONFIG_whisk_info_buildNo" - value: {{ .Values.whisk.versions.tag | quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_info_date # Java options - name: "JAVA_OPTS" diff --git a/helm/templates/couchdb.yaml b/helm/templates/couchdb.yaml index edd9529..d132b42 100644 --- a/helm/templates/couchdb.yaml +++ b/helm/templates/couchdb.yaml @@ -51,7 +51,10 @@ spec: - name: "DB_HOST" value: "127.0.0.1" - name: "DB_PREFIX" - value: {{ .Values.db.dbPrefix | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_prefix - name: "COUCHDB_USER" valueFrom: secretKeyRef: @@ -63,7 +66,10 @@ spec: name: db.auth key: db_password - name: "DB_PORT" - value: {{ .Values.db.port | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_port - name: "NODENAME" value: "couchdb0" readinessProbe: diff --git a/helm/templates/installCatalogJob.yaml b/helm/templates/installCatalogJob.yaml index fe5cc0b..7dfc05b 100644 --- a/helm/templates/installCatalogJob.yaml +++ b/helm/templates/installCatalogJob.yaml @@ -21,7 +21,10 @@ spec: image: openwhisk/kube-openwhisk-catalog env: - name: "WHISK_CLI_VERSION" - value: {{ .Values.whisk.versions.cli | quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_cli_version_tag - name: "WHISK_AUTH" valueFrom: secretKeyRef: @@ -29,4 +32,7 @@ spec: key: system # poorly named envvar; actually expects full apihost (host:port) - name: "WHISK_API_HOST_NAME" - value: "{{- .Values.whisk.ingress.api_host_name -}}:{{- .Values.whisk.ingress.api_host_port -}}" + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_nameAndPort diff --git a/helm/templates/installPkgKafkaJob.yaml b/helm/templates/installPkgKafkaJob.yaml index 73c52d8..8aac792 100644 --- a/helm/templates/installPkgKafkaJob.yaml +++ b/helm/templates/installPkgKafkaJob.yaml @@ -27,12 +27,21 @@ spec: key: system # poorly named envvar; actually expects full apihost (host:port) - name: "APIHOST" - value: "{{- .Values.whisk.ingress.api_host_name -}}:{{- .Values.whisk.ingress.api_host_port -}}" + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_nameAndPort # for the database used by kafka package - name: "DB_HOST" - value: {{ include "db_host" . | quote }} + valueFrom: + configMapKeyRef: + name: db.config + key: db_host - name: "DB_PORT" - value: {{ .Values.db.port | quote}} + valueFrom: + configMapKeyRef: + name: db.config + key: db_port - name: "DB_USERNAME" valueFrom: secretKeyRef: diff --git a/helm/templates/installRouteMgmtJob.yaml b/helm/templates/installRouteMgmtJob.yaml index a10c703..51a014f 100644 --- a/helm/templates/installRouteMgmtJob.yaml +++ b/helm/templates/installRouteMgmtJob.yaml @@ -21,7 +21,10 @@ spec: image: openwhisk/kube-routemgmt env: - name: "WHISK_CLI_VERSION" - value: {{ .Values.whisk.versions.cli | quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_cli_version_tag - name: "WHISK_AUTH" valueFrom: secretKeyRef: @@ -29,8 +32,14 @@ spec: key: system # poorly named envvar; actually expects full apihost (host:port) - name: "WHISK_API_HOST_NAME" - value: "{{- .Values.whisk.ingress.api_host_name -}}:{{- .Values.whisk.ingress.api_host_port -}}" + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_nameAndPort - name: "WHISK_NAMESPACE" - value: {{ .Values.whisk.systemNameSpace | quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_system_namespace - name: "WHISK_API_GATEWAY_HOST_V2" value: "http://$(APIGATEWAY_SERVICE_HOST):$(APIGATEWAY_SERVICE_PORT_API)/v2" diff --git a/helm/templates/invoker.yaml b/helm/templates/invoker.yaml index 2466a7f..ee286e4 100644 --- a/helm/templates/invoker.yaml +++ b/helm/templates/invoker.yaml @@ -59,12 +59,20 @@ spec: # Needed by invoker to set the environment variable __OW_API_HOST in action containers - name: "WHISK_API_HOST_PROTO" - value: {{ .Values.whisk.ingress.api_host_proto | quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_proto - name: "WHISK_API_HOST_PORT" - value: {{ .Values.whisk.ingress.api_host_port | quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_port - name: "WHISK_API_HOST_NAME" - value: {{ .Values.whisk.ingress.api_host_name | quote }} - + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_name - name: "INVOKER_CONTAINER_NETWORK" value: {{ .Values.invoker.containerNetwork | quote }} - name: "CONFIG_whisk_docker_containerFactory_useRunc" @@ -114,7 +122,10 @@ spec: # this version is the day it is deployed, - name: "CONFIG_whisk_info_date" - value: {{ dateInZone "2006-01-02-03:04:05Z" (now) "UTC"| quote }} + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_info_date # properties for DB connection {{ include "whisk.dbEnvVars" . | indent 10 }} diff --git a/helm/templates/pkgKafkaProvider.yaml b/helm/templates/pkgKafkaProvider.yaml index c526d94..658160a 100644 --- a/helm/templates/pkgKafkaProvider.yaml +++ b/helm/templates/pkgKafkaProvider.yaml @@ -29,7 +29,10 @@ spec: containerPort: {{ .Values.kafkaprovider.apiPort }} env: - name: "DB_URL" - value: "{{ .Values.db.protocol }}://{{ include "db_host" . }}:{{ .Values.db.port }}" + valueFrom: + configMapKeyRef: + name: db.config + key: db_url - name: "DB_USER" valueFrom: secretKeyRef: @@ -45,6 +48,12 @@ spec: - name: "LOCAL_DEV" value: "true" - name: "ROUTER_HOST" - value: "{{- .Values.whisk.ingress.api_host_name -}}:{{- .Values.whisk.ingress.api_host_port -}}" + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_nameAndPort - name: "ENDPOINT_AUTH" - value: "{{- .Values.whisk.ingress.api_host_name -}}:{{- .Values.whisk.ingress.api_host_port -}}" + valueFrom: + configMapKeyRef: + name: whisk.config + key: whisk_api_host_nameAndPort