You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by cs...@apache.org on 2018/05/11 15:21:38 UTC
[incubator-openwhisk-deploy-kube] branch master updated: Flatten
and simplify Helm charts (#193)
This is an automated email from the ASF dual-hosted git repository.
csantanapr 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 e64daa1 Flatten and simplify Helm charts (#193)
e64daa1 is described below
commit e64daa1e8c8bea5e58229c3254407912fbcc20da
Author: David Grove <dg...@users.noreply.github.com>
AuthorDate: Fri May 11 11:21:36 2018 -0400
Flatten and simplify Helm charts (#193)
---
helm/Chart.yaml | 4 +-
helm/charts/couchdb/Chart.yaml | 9 --
helm/charts/couchdb/templates/NOTES.txt | 11 --
helm/charts/couchdb/templates/_helpers.tpl | 19 ----
helm/charts/couchdb/templates/deployment.yaml | 63 -----------
helm/charts/couchdb/templates/pv.yaml | 17 ---
helm/charts/couchdb/templates/pvc.yaml | 22 ----
helm/charts/couchdb/templates/service.yaml | 14 ---
helm/charts/kafka/Chart.yaml | 10 --
helm/charts/kafka/templates/NOTES.txt | 8 --
helm/charts/kafka/templates/_helpers.tpl | 19 ----
helm/charts/kafka/templates/service.yaml | 11 --
helm/charts/kafka/templates/statefulset.yaml | 46 --------
helm/charts/nginx/Chart.yaml | 9 --
helm/charts/nginx/templates/NOTES.txt | 8 --
helm/charts/nginx/templates/_helpers.tpl | 49 ---------
helm/charts/nginx/templates/deployment.yaml | 51 ---------
helm/charts/nginx/templates/service.yaml | 30 -----
helm/charts/zookeeper/Chart.yaml | 9 --
helm/charts/zookeeper/templates/NOTES.txt | 8 --
helm/charts/zookeeper/templates/_helpers.tpl | 24 ----
helm/charts/zookeeper/templates/deployment.yaml | 33 ------
helm/charts/zookeeper/templates/service.yaml | 20 ----
helm/templates/_affinity.tpl | 8 +-
helm/templates/_helpers.tpl | 40 ++++---
helm/templates/_readiness.tpl | 8 +-
...{apigateway_deployment.yaml => apigateway.yaml} | 10 +-
...controller_statefulset.yaml => controller.yaml} | 30 ++---
helm/templates/couchdb.yaml | 122 +++++++++++++++++++++
.../{invoker_daemonset.yaml => invoker.yaml} | 8 +-
helm/templates/kafka.yaml | 59 ++++++++++
helm/templates/nginx.yaml | 83 ++++++++++++++
.../nginx_configmap.yaml} | 2 +-
.../secret.yaml => templates/nginx_secret.yaml} | 2 +-
helm/templates/zookeeper.yaml | 55 ++++++++++
helm/values.yaml | 92 +++++++++-------
tools/travis/build-helm.sh | 2 +
37 files changed, 430 insertions(+), 585 deletions(-)
diff --git a/helm/Chart.yaml b/helm/Chart.yaml
index c6d25f3..4a3f712 100644
--- a/helm/Chart.yaml
+++ b/helm/Chart.yaml
@@ -5,5 +5,5 @@ version: 0.1.0
keywords:
- Apache OpenWhisk
maintainers:
- - name: Tom Xing
- email: xingzhou@cn.ibm.com
+ - name: Apache OpenWhisk committers
+ email: dev@openwhisk.apache.org
diff --git a/helm/charts/couchdb/Chart.yaml b/helm/charts/couchdb/Chart.yaml
deleted file mode 100644
index 9ee0613..0000000
--- a/helm/charts/couchdb/Chart.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-apiVersion: v1
-description: A Helm chart to deploy couchdb service for Kubernetes
-name: couchdb
-version: 0.1.0
-keywords:
- - couchdb
-maintainers:
- - name: Tom Xing
- email: xingzhou@cn.ibm.com
diff --git a/helm/charts/couchdb/templates/NOTES.txt b/helm/charts/couchdb/templates/NOTES.txt
deleted file mode 100644
index c011009..0000000
--- a/helm/charts/couchdb/templates/NOTES.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-Thank you for installing {{ .Chart.Name }}.
-
-Your release is named {{ .Release.Name }}.
-
-To learn more about the release, try:
-
- $ helm status {{ .Release.Name }}
- $ helm get {{ .Release.Name }}
diff --git a/helm/charts/couchdb/templates/_helpers.tpl b/helm/charts/couchdb/templates/_helpers.tpl
deleted file mode 100644
index 3cfb249..0000000
--- a/helm/charts/couchdb/templates/_helpers.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-{{/* Set Couchdb service name */}}
-{{- define "couchdb_service_name" -}}
-{{ .Values.global.couchdbServiceName | default "couchdb" | quote }}
-{{- end -}}
-
-{{/* Set Couchdb port */}}
-{{- define "couchdb_port" -}}
-{{ .Values.global.couchdbPort | default 5984 }}
-{{- end -}}
-
-{{/* Set Couchdb deployment name */}}
-{{- define "couchdb_deployment_name" -}}
-{{ .Values.deploymentName | default "couchdb" | quote }}
-{{- end -}}
-
-{{/* Set Couchdb PVC name */}}
-{{- define "couchdb_pvc_name" -}}
-{{ .Values.pvcName | default "couchdb-pvc" | quote }}
-{{- end -}}
diff --git a/helm/charts/couchdb/templates/deployment.yaml b/helm/charts/couchdb/templates/deployment.yaml
deleted file mode 100644
index a98775a..0000000
--- a/helm/charts/couchdb/templates/deployment.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: {{ template "couchdb_deployment_name" . }}
- namespace: {{ .Release.Namespace | quote }}
- labels:
- name: {{ template "couchdb_deployment_name" . }}
-spec:
- replicas: {{ .Values.replicaCount | default 1 }}
- template:
- metadata:
- labels:
- name: {{ template "couchdb_deployment_name" . }}
- spec:
- restartPolicy: Always
-
- {{- if .Values.global.affinity.enabled }}
- affinity:
-{{ include "affinity.controlPlane" . | indent 8 }}
-{{ include "affinity.selfAntiAffinity" ( include "couchdb_deployment_name" . ) | indent 8 }}
- {{- end }}
-
- containers:
- - name: {{ template "couchdb_deployment_name" . }}
- imagePullPolicy: {{ .Values.imagePullPolicy | default "IfNotPresent" | quote }}
- image: {{ .Values.image | default "openwhisk/kube-couchdb" | quote }}
- command: ["/init.sh"]
- ports:
- - name: couchdb
- containerPort: {{ template "couchdb_port" .}}
- env:
- - name: "DB_HOST"
- value: "127.0.0.1"
- - name: "DB_PREFIX"
- value: {{ .Values.dbPrefix | default "test_" | quote }}
- - name: "COUCHDB_USER"
- value: {{ .Values.global.couchdbUserName | default "whisk_admin" | quote }}
- - name: "COUCHDB_PASSWORD"
- value: {{ .Values.global.couchdbPassword | default "some_passw0rd" | quote }}
- - name: "DB_PORT"
- value: {{ include "couchdb_port" . | quote }}
- - name: "NODENAME"
- value: "couchdb0"
- readinessProbe:
- httpGet:
- port: {{ template "couchdb_port" . }}
- path: /{{ template "activations_table_unquoted" . }}
- initialDelaySeconds: 60
- periodSeconds: 10
- failureThreshold: 10
- timeoutSeconds: 1
- {{- if .Values.persistence.enabled }}
- volumeMounts:
- - name: database-storage
- mountPath: /usr/local/var/lib/couchdb
- {{- end }}
- {{- if .Values.persistence.enabled }}
- volumes:
- - name: database-storage
- persistentVolumeClaim:
- claimName: couchdb-pvc
- {{- end }}
-
diff --git a/helm/charts/couchdb/templates/pv.yaml b/helm/charts/couchdb/templates/pv.yaml
deleted file mode 100644
index 4570714..0000000
--- a/helm/charts/couchdb/templates/pv.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
- name: couchdb-pv
- labels:
- type: couchdb
- namespace: openwhisk
-spec:
- accessModes:
- - {{ .Values.persistence.accessMode | quote }}
- capacity:
- storage: {{ .Values.persistence.size | quote }}
- nfs:
- path: {{ .Values.persistence.nfs_path }}
- server: {{ .Values.persistence.nfs_server }}
-{{- end }}
diff --git a/helm/charts/couchdb/templates/pvc.yaml b/helm/charts/couchdb/templates/pvc.yaml
deleted file mode 100644
index d3a9684..0000000
--- a/helm/charts/couchdb/templates/pvc.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: {{ template "couchdb_pvc_name" . }}
- labels:
- type: couchdb
- namespace: {{ .Release.Namespace | quote }}
-spec:
- accessModes:
- - {{ .Values.persistence.accessMode | quote }}
- resources:
- requests:
- storage: {{ .Values.persistence.size | quote }}
-{{- if .Values.persistence.storageClass }}
-{{- if (eq "-" .Values.persistence.storageClass) }}
- storageClassName: ""
-{{- else }}
- storageClassName: "{{ .Values.persistence.storageClass }}"
-{{- end }}
-{{- end }}
-{{- end }}
diff --git a/helm/charts/couchdb/templates/service.yaml b/helm/charts/couchdb/templates/service.yaml
deleted file mode 100644
index 2fae8bd..0000000
--- a/helm/charts/couchdb/templates/service.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "couchdb_service_name" . }}
- namespace: {{ .Release.Namespace | quote }}
- labels:
- name: {{ template "couchdb_service_name" . }}
-spec:
- selector:
- name: {{ template "couchdb_service_name" . }}
- ports:
- - port: {{ template "couchdb_port" . }}
- targetPort: {{ template "couchdb_port" . }}
- name: couchdb
diff --git a/helm/charts/kafka/Chart.yaml b/helm/charts/kafka/Chart.yaml
deleted file mode 100755
index 7b1d9b7..0000000
--- a/helm/charts/kafka/Chart.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-apiVersion: v1
-description: A Helm chart to deploy kafka service for Kubernetes
-name: kafka
-version: 0.1.0
-keywords:
- - zookeeper
- - kafka
-maintainers:
- - name: Tom Xing
- email: xingzhou@cn.ibm.com
diff --git a/helm/charts/kafka/templates/NOTES.txt b/helm/charts/kafka/templates/NOTES.txt
deleted file mode 100644
index 29863d3..0000000
--- a/helm/charts/kafka/templates/NOTES.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Thank you for installing {{ .Chart.Name }}.
-
-Your release is named {{ .Release.Name }}.
-
-To learn more about the release, try:
-
- $ helm status {{ .Release.Name }}
- $ helm get {{ .Release.Name }}
diff --git a/helm/charts/kafka/templates/_helpers.tpl b/helm/charts/kafka/templates/_helpers.tpl
deleted file mode 100644
index 1c39467..0000000
--- a/helm/charts/kafka/templates/_helpers.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-{{/* Get statefulset name */}}
-{{- define "kafka_statefulset_name" -}}
-{{ .Values.statefulsetName | default "kafka" | quote }}
-{{- end -}}
-
-{{/* Get service name */}}
-{{- define "kafka_service_name" -}}
-{{ .Values.global.kafkaServiceName | default "kafka" | quote }}
-{{- end -}}
-
-{{/* Generate Zookeeper service address */}}
-{{- define "zookeeper_service_address" -}}
-{{ .Values.global.zookeeperServiceName }}.{{ .Release.Namespace }}:{{ .Values.global.zookeeperPort }}
-{{- end -}}
-
-{{/* Get kafka port */}}
-{{- define "kafka_port" -}}
-{{ .Values.global.kafkaPort | default 9092 }}
-{{- end -}}
diff --git a/helm/charts/kafka/templates/service.yaml b/helm/charts/kafka/templates/service.yaml
deleted file mode 100644
index d7f00cb..0000000
--- a/helm/charts/kafka/templates/service.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "kafka_service_name" . }}
- namespace: {{ .Release.Namespace | quote }}
-spec:
- ports:
- - name: broker
- port: {{ template "kafka_port" . }}
- selector:
- app: {{ template "kafka_statefulset_name" . }}
diff --git a/helm/charts/kafka/templates/statefulset.yaml b/helm/charts/kafka/templates/statefulset.yaml
deleted file mode 100644
index 33681e0..0000000
--- a/helm/charts/kafka/templates/statefulset.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-apiVersion: apps/v1beta1
-kind: StatefulSet
-metadata:
- name: {{ template "kafka_statefulset_name" . }}
- namespace: {{ .Release.Namespace | quote }}
-spec:
- serviceName: {{ template "kafka_service_name" . }}
- replicas: {{ .Values.replicaCount | default 1 }}
- template:
- metadata:
- labels:
- app: {{ template "kafka_statefulset_name" . }}
- spec:
- {{- if .Values.global.affinity.enabled }}
- affinity:
-{{ include "affinity.controlPlane" . | indent 8 }}
-{{ include "affinity.selfAntiAffinity" ( include "kafka_statefulset_name" . ) | indent 8 }}
- {{- end }}
-
- initContainers:
-{{ include "readiness.waitForZookeeper" . | indent 6 }}
-
- containers:
- - name: {{ template "kafka_statefulset_name" . }}
- image: {{ .Values.image | default "wurstmeister/kafka:0.11.0.1" | quote }}
- imagePullPolicy: {{ .Values.imagePullPolicy | default "IfNotPresent" | quote }}
- ports:
- - containerPort: {{ template "kafka_port" . }}
- name: kafka
- env:
- - name: "KAFKA_BROKER_ID"
- value: "0"
- - name: "KAFKA_ADVERTISED_HOST_NAME"
- value: {{ template "kafka_statefulset_name" . }}
- - name: "KAFKA_ADVERTISED_PORT"
- value: "{{ template "kafka_port" .}}"
- - name: "KAFKA_HOST_NAME"
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- - name: "KAFKA_PORT"
- value: "{{ template "kafka_port" .}}"
-
- # zookeeper info
- - name: "KAFKA_ZOOKEEPER_CONNECT"
- value: {{ include "zookeeper_service_address" . | quote }}
diff --git a/helm/charts/nginx/Chart.yaml b/helm/charts/nginx/Chart.yaml
deleted file mode 100644
index e464e5a..0000000
--- a/helm/charts/nginx/Chart.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-apiVersion: v1
-description: A Helm chart to deploy nginx service for Kubernetes
-name: nginx
-version: 0.1.0
-keywords:
- - nginx
-maintainers:
- - name: Tom Xing
- email: xingzhou@cn.ibm.com
diff --git a/helm/charts/nginx/templates/NOTES.txt b/helm/charts/nginx/templates/NOTES.txt
deleted file mode 100644
index 29863d3..0000000
--- a/helm/charts/nginx/templates/NOTES.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Thank you for installing {{ .Chart.Name }}.
-
-Your release is named {{ .Release.Name }}.
-
-To learn more about the release, try:
-
- $ helm status {{ .Release.Name }}
- $ helm get {{ .Release.Name }}
diff --git a/helm/charts/nginx/templates/_helpers.tpl b/helm/charts/nginx/templates/_helpers.tpl
deleted file mode 100644
index 520c523..0000000
--- a/helm/charts/nginx/templates/_helpers.tpl
+++ /dev/null
@@ -1,49 +0,0 @@
-{ Generate controller url */}}
-{{- define "controller_url" -}}
-http://{{ .Values.global.controllerStatefulSetName | default "controller" }}-0.{{ .Values.global.controllerServiceName | default "controller" }}.{{ .Release.Namespace }}:{{ .Values.global.controllerPort | default 8080 }}
-{{- end -}}
-
-{ Generate controller url witout port */}}
-{{- define "controller_url_without_port" -}}
-{{ .Values.global.controllerStatefulSetName | default "controller" }}-0.{{ .Values.global.controllerServiceName | default "controller" }}.{{ .Release.Namespace }}
-{{- end -}}
-
-{{/* Set deployment name */}}
-{{- define "nginx_deployment_name" -}}
-{{ .Values.deploymentName | default "nginx" | quote }}
-{{- end -}}
-
-{{/* Set service name */}}
-{{- define "nginx_service_name" -}}
-{{ .Values.serviceName | default "nginx" | quote }}
-{{- end -}}
-
-{{/* Set secret name */}}
-{{- define "nginx_secret_name" -}}
-{{ .Values.secretName | default "nginx" | quote }}
-{{- end -}}
-
-{{/* Set configmap name */}}
-{{- define "nginx_configmap_name" -}}
-{{ .Values.configmapName | default "nginx" | quote }}
-{{- end -}}
-
-{{/* Set http port */}}
-{{- define "nginx_http_port" -}}
-{{ .Values.httpPort | default 80 }}
-{{- end -}}
-
-{{/* Set https port */}}
-{{- define "nginx_https_port" -}}
-{{ .Values.httpsPort | default 443 }}
-{{- end -}}
-
-{{/* Set https admin port */}}
-{{- define "nginx_https_admin_port" -}}
-{{ .Values.httpsAdminPort | default 8443 }}
-{{- end -}}
-
-{{/* Set controller statefulset name */}}
-{{- define "controller_statefulset_name" -}}
-{{ .Values.global.controllerStatefulSetName | default "controller" }}
-{{- end -}}
diff --git a/helm/charts/nginx/templates/deployment.yaml b/helm/charts/nginx/templates/deployment.yaml
deleted file mode 100644
index d0a7ad0..0000000
--- a/helm/charts/nginx/templates/deployment.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: {{ template "nginx_deployment_name" . }}
- namespace: {{ .Release.Namespace | quote }}
- labels:
- name: nginx
-spec:
- replicas: {{ .Values.replicaCount | default 1 }}
- template:
- metadata:
- labels:
- name: {{ template "nginx_deployment_name" . }}
- spec:
- restartPolicy: Always
-
- {{- if .Values.global.affinity.enabled }}
- affinity:
-{{ include "affinity.controlPlane" . | indent 8 }}
-{{ include "affinity.selfAntiAffinity" ( include "nginx_deployment_name" . ) | indent 8 }}
- {{- end }}
-
- volumes:
- - name: nginx-certs
- secret:
- secretName: {{ template "nginx_secret_name" . }}
- - name: nginx-conf
- configMap:
- name: {{ template "nginx_configmap_name" . }}
- - name: logs
- emptyDir: {}
-
- containers:
- - name: {{ template "nginx_deployment_name" . }}
- imagePullPolicy: {{ .Values.imagePullPolicy | default "IfNotPresent" | quote }}
- image: {{ .Values.image | default "nginx:1.11" | quote }}
- ports:
- - name: http
- containerPort: {{ template "nginx_http_port" . }}
- - name: http-api
- containerPort: {{ template "nginx_https_port" . }}
- - name: https-admin
- containerPort: {{ template "nginx_https_admin_port" . }}
- volumeMounts:
- - name: nginx-conf
- mountPath: "/etc/nginx/nginx.conf"
- subPath: "nginx.conf"
- - name: nginx-certs
- mountPath: "/etc/nginx/certs"
- - name: logs
- mountPath: "/logs"
diff --git a/helm/charts/nginx/templates/service.yaml b/helm/charts/nginx/templates/service.yaml
deleted file mode 100644
index 0fe2dae..0000000
--- a/helm/charts/nginx/templates/service.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "nginx_service_name" . }}
- namespace: {{ .Release.Namespace | quote }}
- labels:
- name: {{ template "nginx_service_name" . }}
-spec:
- type: NodePort
- selector:
- name: {{ template "nginx_deployment_name" . }}
- ports:
- - port: {{ template "nginx_http_port" . }}
- targetPort: {{ template "nginx_http_port" . }}
- {{- if .Values.httpNodePort }}
- nodePort: {{ .Values.httpNodePort }}
- {{- end }}
- name: http
- - port: {{ template "nginx_https_port" . }}
- targetPort: {{ template "nginx_https_port" . }}
- {{- if .Values.httpsNodePort }}
- nodePort: {{ .Values.httpsNodePort }}
- {{- end }}
- name: https-api
- - port: {{ template "nginx_https_admin_port" . }}
- targetPort: {{ template "nginx_https_admin_port" . }}
- {{- if .Values.httpsAdminNodePort }}
- nodePort: {{ .Values.httpsAdminNodePort }}
- {{- end }}
- name: https-admin
diff --git a/helm/charts/zookeeper/Chart.yaml b/helm/charts/zookeeper/Chart.yaml
deleted file mode 100644
index c951bd8..0000000
--- a/helm/charts/zookeeper/Chart.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-apiVersion: v1
-description: A Helm chart to deploy zookeeper service for Kubernetes
-name: zookeeper
-version: 0.1.0
-keywords:
- - zookeeper
-maintainers:
- - name: Tom Xing
- email: xingzhou@cn.ibm.com
diff --git a/helm/charts/zookeeper/templates/NOTES.txt b/helm/charts/zookeeper/templates/NOTES.txt
deleted file mode 100644
index 29863d3..0000000
--- a/helm/charts/zookeeper/templates/NOTES.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Thank you for installing {{ .Chart.Name }}.
-
-Your release is named {{ .Release.Name }}.
-
-To learn more about the release, try:
-
- $ helm status {{ .Release.Name }}
- $ helm get {{ .Release.Name }}
diff --git a/helm/charts/zookeeper/templates/_helpers.tpl b/helm/charts/zookeeper/templates/_helpers.tpl
deleted file mode 100644
index 47f54d8..0000000
--- a/helm/charts/zookeeper/templates/_helpers.tpl
+++ /dev/null
@@ -1,24 +0,0 @@
-{{/* Get deployment name */}}
-{{- define "zookeeper_deployment_name" -}}
-{{ .Values.deploymentName | default "zookeeper" | quote }}
-{{- end -}}
-
-{{/* Get service name */}}
-{{- define "zookeeper_service_name" -}}
-{{ .Values.global.zookeepserServiceName | default "zookeeper" | quote }}
-{{- end -}}
-
-{{/* Set zookeeper port */}}
-{{- define "zookeeper_port" -}}
-{{ .Values.global.zookeeperPort | default 2181 }}
-{{- end -}}
-
-{{/* Set server port */}}
-{{- define "zookeeper_server_port" -}}
-{{ .Values.serverPort | default 2888 }}
-{{- end -}}
-
-{{/* Set leader election port */}}
-{{- define "zookeeper_leader_election_port" -}}
-{{ .Values.leaderElectionPort | default 3888 }}
-{{- end -}}
diff --git a/helm/charts/zookeeper/templates/deployment.yaml b/helm/charts/zookeeper/templates/deployment.yaml
deleted file mode 100644
index 40f01d5..0000000
--- a/helm/charts/zookeeper/templates/deployment.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: {{ template "zookeeper_deployment_name" . }}
- namespace: {{ .Release.Namespace | default "openwhisk" | quote}}
- labels:
- name: {{ template "zookeeper_deployment_name" . }}
-spec:
- replicas: {{ .Values.replicaCount | default 1}}
- template:
- metadata:
- labels:
- name: {{ template "zookeeper_deployment_name" . }}
- spec:
- restartPolicy: {{ .Values.restartPolicy | default "Always" | quote }}
-
- {{- if .Values.global.affinity.enabled }}
- affinity:
-{{ include "affinity.controlPlane" . | indent 8 }}
-{{ include "affinity.selfAntiAffinity" ( include "zookeeper_deployment_name" . ) | indent 8 }}
- {{- end }}
-
- containers:
- - name: {{ .Values.containerName | default "zookeeper" | quote }}
- image: {{ .Values.image | default "zookeeper:3.4" | quote }}
- imagePullPolicy: {{ .Values.imagePullPolicy | default "IfNotPresent" | quote }}
- ports:
- - name: zookeeper
- containerPort: {{ template "zookeeper_port" . }}
- - name: server
- containerPort: {{ template "zookeeper_server_port" . }}
- - name: leader-election
- containerPort: {{ template "zookeeper_leader_election_port" . }}
diff --git a/helm/charts/zookeeper/templates/service.yaml b/helm/charts/zookeeper/templates/service.yaml
deleted file mode 100644
index 44ed5cc..0000000
--- a/helm/charts/zookeeper/templates/service.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ template "zookeeper_service_name" . }}
- namespace: {{ .Release.Namespace | quote }}
- labels:
- name: {{ template "zookeeper_service_name" . }}
-spec:
- selector:
- name: {{ template "zookeeper_deployment_name" . }}
- ports:
- - port: {{ template "zookeeper_port" . }}
- targetPort: {{ template "zookeeper_port" . }}
- name: "zookeeper"
- - port: {{ template "zookeeper_server_port" .}}
- targetPort: {{ template "zookeeper_server_port" . }}
- name: "server"
- - port: {{ template "zookeeper_leader_election_port" . }}
- targetPort: {{ template "zookeeper_leader_election_port" . }}
- name: "leader-election"
diff --git a/helm/templates/_affinity.tpl b/helm/templates/_affinity.tpl
index 6f12a73..8f3267d 100644
--- a/helm/templates/_affinity.tpl
+++ b/helm/templates/_affinity.tpl
@@ -11,7 +11,7 @@ nodeAffinity:
- key: openwhisk-role
operator: NotIn
values:
- - {{ .Values.global.affinity.invokerNodeLabel }}
+ - {{ .Values.affinity.invokerNodeLabel }}
# prefer to run on a control-plane node
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
@@ -21,13 +21,13 @@ nodeAffinity:
- key: openwhisk-role
operator: In
values:
- - {{ .Values.global.affinity.controlPlaneNodeLabel }}
+ - {{ .Values.affinity.controlPlaneNodeLabel }}
{{- end -}}
{{/* Invoker node affinity */}}
{{- define "affinity.invoker" -}}
-# run only on nodes labeled with openwhisk-role={{ .Values.global.affinity.invokerNodeLabel }}
+# run only on nodes labeled with openwhisk-role={{ .Values.affinity.invokerNodeLabel }}
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
@@ -35,7 +35,7 @@ nodeAffinity:
- key: openwhisk-role
operator: In
values:
- - {{ .Values.global.affinity.invokerNodeLabel }}
+ - {{ .Values.affinity.invokerNodeLabel }}
{{- end -}}
diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl
index d938c46..17ffa4c 100644
--- a/helm/templates/_helpers.tpl
+++ b/helm/templates/_helpers.tpl
@@ -1,92 +1,96 @@
{{/* Set controller service name */}}
{{- define "controller_service_name" -}}
-{{ .Values.global.controllerServiceName | default "controller" | quote }}
+{{ .Values.controller.serviceName | quote }}
{{- end -}}
{{/* Set controller statefulset name */}}
{{- define "controller_statefulset_name" -}}
-{{ .Values.global.controllerStatefulSetName | default "controller" | quote }}
+{{ .Values.controller.statefulSetName | quote }}
{{- end -}}
{{/* Set controller port */}}
{{- define "controller_port" -}}
-{{ .Values.global.controllerPort | default 8080 }}
+{{ .Values.controller.port }}
{{- end -}}
{{/* Set activations table */}}
{{- define "activations_table" -}}
-{{ .Values.activationsTable | default "test_activations" | quote }}
+{{ .Values.db.activationsTable | quote }}
{{- end -}}
{{/* Set activations table */}}
{{- define "activations_table_unquoted" -}}
-{{ .Values.activationsTable | default "test_activations" }}
+{{ .Values.db.activationsTable }}
{{- end -}}
{{/* Set actions table */}}
{{- define "actions_table" -}}
-{{ .Values.actionsTable | default "test_whisks" | quote }}
+{{ .Values.db.actionsTable | quote }}
{{- end -}}
{{/* Set auths table */}}
{{- define "auths_table" -}}
-{{ .Values.authTable | default "test_subjects" | quote }}
+{{ .Values.db.authsTable | quote }}
{{- end -}}
{{/* Set invoker "deployment" name */}}
{{- define "invoker_deployment_name" -}}
-{{ .Values.invokerDeploymentName | default "invoker" | quote }}
+{{ .Values.invokerDeploymentName | quote }}
{{- end -}}
{{/* Generate kafka url without port */}}
{{- define "kafka_url_without_port" -}}
-{{ .Values.global.kafkaServiceName | default "kafka" }}.{{ .Release.Namespace }}
+{{ .Values.kafka.serviceName }}.{{ .Release.Namespace }}
{{- end -}}
+{{/* Generate Zookeeper service address */}}
+{{- define "zookeeper_service_address" -}}
+{{ .Values.zookeeper.serviceName }}.{{ .Release.Namespace }}:{{ .Values.zookeeper.port }}
+{{- end -}}
{{/* Set Couchdb user name */}}
{{- define "couchdb_username" -}}
-{{ .Values.global.couchdbUserName | default "whisk_admin" | quote }}
+{{ .Values.db.auth.username | quote }}
{{- end -}}
{{/* Set Couchdb password */}}
{{- define "couchdb_password" -}}
-{{ .Values.global.couchdbPassword | default "some_passw0rd" | quote }}
+{{ .Values.db.auth.password | quote }}
{{- end -}}
{{/* Generate Couchdb url without port */}}
{{- define "couchdb_url_without_port" -}}
-{{ .Values.global.couchdbServiceName | default "couchdb" }}.{{ .Release.Namespace }}
+{{ .Values.db.serviceName }}.{{ .Release.Namespace }}
{{- end -}}
{{/* Set Couchdb port */}}
{{- define "couchdb_port" -}}
-{{ .Values.global.couchdb_port | default 5984 }}
+{{ .Values.db.port }}
{{- end -}}
{{/* Set API Gateway service name */}}
{{- define "apigateway_service_name" -}}
-{{ .Values.serviceName | default "apigateway" | quote }}
+{{ .Values.apigw.serviceName | quote }}
{{- end -}}
{{/* Set API Gateway management port */}}
{{- define "apigateway_mgmt_port" -}}
-{{ .Values.mgmtPort | default 8080 }}
+{{ .Values.apigw.mgmtPort }}
{{- end -}}
{{/* Set API Gateway API port */}}
{{- define "apigateway_api_port" -}}
-{{ .Values.apiPort | default 9000 }}
+{{ .Values.apigw.apiPort }}
{{- end -}}
{{/* Set API Gateway deployment name */}}
{{- define "apigateway_deployment_name" -}}
-{{ .Values.deploymentName | default "apigateway" | quote }}
+{{ .Values.apigw.deploymentName | quote }}
{{- end -}}
{{/* Runtimes manifest */}}
{{- define "runtimes_manifest" -}}
-{{- if .Values.global.travis -}}
+{{- if .Values.travis -}}
{{ .Files.Get "runtimes-minimal-travis.json" | quote }}
{{- else -}}
{{ .Files.Get "runtimes.json" | quote }}
diff --git a/helm/templates/_readiness.tpl b/helm/templates/_readiness.tpl
index 3f9c844..ac094b6 100644
--- a/helm/templates/_readiness.tpl
+++ b/helm/templates/_readiness.tpl
@@ -5,7 +5,7 @@
imagePullPolicy: "IfNotPresent"
env:
- name: "READINESS_URL"
- value: http://{{ .Values.global.couchdbServiceName }}.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.global.couchdbPort }}/{{ template "activations_table_unquoted" . }}
+ value: http://{{ .Values.db.serviceName }}.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.db.port }}/{{ template "activations_table_unquoted" . }}
command: ["sh", "-c", "result=1; until [ $result -eq 0 ]; do echo verifying CouchDB readiness; wget -T 5 --spider $READINESS_URL; result=$?; sleep 1; done;"]
{{- end -}}
@@ -15,7 +15,7 @@
image: "busybox"
imagePullPolicy: "IfNotPresent"
# TODO: I haven't found an easy external test to determine that kafka is up, so as a hack we wait for zookeeper and then sleep for 10 seconds and cross our fingers!
- command: ["sh", "-c", 'result=1; until [ $result -eq 0 ]; do OK=$(echo ruok | nc -w 1 {{ .Values.global.zookeeperServiceName}}.{{ .Release.Namespace }}.svc.cluster.local {{ template "zookeeper_port" . }}); if [ "$OK" == "imok" ]; then result=0; fi; echo waiting for zookeeper to be ready; sleep 1; done; echo zookeeper is up, sleeping for 10 seconds; sleep 10;']
+ command: ["sh", "-c", 'result=1; until [ $result -eq 0 ]; do OK=$(echo ruok | nc -w 1 {{ .Values.zookeeper.serviceName}}.{{ .Release.Namespace }}.svc.cluster.local {{ .Values.zookeeper.port }}); if [ "$OK" == "imok" ]; then result=0; fi; echo waiting for zookeeper to be ready; sleep 1; done; echo zookeeper is up, sleeping for 10 seconds; sleep 10;']
{{- end -}}
{{/* Init container that waits for zookeeper to be ready */}}
@@ -23,7 +23,7 @@
- name: "wait-for-zookeeper"
image: "busybox"
imagePullPolicy: "IfNotPresent"
- command: ["sh", "-c", 'result=1; until [ $result -eq 0 ]; do OK=$(echo ruok | nc -w 1 {{ .Values.global.zookeeperServiceName}}.{{ .Release.Namespace }}.svc.cluster.local {{ template "zookeeper_port" . }}); if [ "$OK" == "imok" ]; then result=0; fi; echo waiting for zookeeper to be ready; sleep 1; done']
+ command: ["sh", "-c", 'result=1; until [ $result -eq 0 ]; do OK=$(echo ruok | nc -w 1 {{ .Values.zookeeper.serviceName}}.{{ .Release.Namespace }}.svc.cluster.local {{ .Values.zookeeper.port }}); if [ "$OK" == "imok" ]; then result=0; fi; echo waiting for zookeeper to be ready; sleep 1; done']
{{- end -}}
{{/* Init container that waits for controller to be ready */}}
@@ -33,6 +33,6 @@
imagePullPolicy: "IfNotPresent"
env:
- name: "READINESS_URL"
- value: http://{{ .Values.global.controllerServiceName }}.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.global.controllerPort }}/ping
+ value: http://{{ .Values.controller.serviceName }}.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.controller.port }}/ping
command: ["sh", "-c", "result=1; until [ $result -eq 0 ]; do echo verifying controller readiness; wget -T 5 --spider $READINESS_URL; result=$?; sleep 1; done;"]
{{- end -}}
diff --git a/helm/templates/apigateway_deployment.yaml b/helm/templates/apigateway.yaml
similarity index 87%
rename from helm/templates/apigateway_deployment.yaml
rename to helm/templates/apigateway.yaml
index d3d5c63..727f18b 100644
--- a/helm/templates/apigateway_deployment.yaml
+++ b/helm/templates/apigateway.yaml
@@ -26,7 +26,7 @@ metadata:
labels:
name: {{ template "apigateway_deployment_name" . }}
spec:
- replicas: {{ .Values.apigatewayReplicaCount | default 1 }}
+ replicas: {{ .Values.apigatewayReplicaCount }}
template:
metadata:
labels:
@@ -34,7 +34,7 @@ spec:
spec:
restartPolicy: Always
- {{- if .Values.global.affinity.enabled }}
+ {{- if .Values.affinity.enabled }}
affinity:
{{ include "affinity.controlPlane" . | indent 8 }}
{{ include "affinity.selfAntiAffinity" ( include "apigateway_deployment_name" . ) | indent 8 }}
@@ -42,12 +42,12 @@ spec:
containers:
- name: redis
- imagePullPolicy: {{ .Values.apigatewayImagePullPolicy | default "IfNotPresent" | quote }}
+ imagePullPolicy: {{ .Values.apigatewayImagePullPolicy | quote }}
image: redis:3.2
- name: apigateway
- imagePullPolicy: {{ .Values.apigatewayImagePullPolicy | default "IfNotPresent" | quote }}
- image: {{ .Values.apigatewayImage | default "openwhisk/apigateway" | quote }}
+ imagePullPolicy: {{ .Values.apigatewayImagePullPolicy | quote }}
+ image: {{ .Values.apigatewayImage | quote }}
ports:
- name: mgmt
containerPort: {{ template "apigateway_mgmt_port" . }}
diff --git a/helm/templates/controller_statefulset.yaml b/helm/templates/controller.yaml
similarity index 73%
rename from helm/templates/controller_statefulset.yaml
rename to helm/templates/controller.yaml
index aea535f..2dc649a 100644
--- a/helm/templates/controller_statefulset.yaml
+++ b/helm/templates/controller.yaml
@@ -22,7 +22,7 @@ metadata:
labels:
name: {{ template "controller_statefulset_name" . }}
spec:
- replicas: {{ .Values.global.controllerReplicaCount | default 2 }}
+ replicas: {{ .Values.controllerReplicaCount }}
serviceName: {{ template "controller_service_name" . }}
template:
metadata:
@@ -31,7 +31,7 @@ spec:
spec:
restartPolicy: Always
- {{- if .Values.global.affinity.enabled }}
+ {{- if .Values.affinity.enabled }}
affinity:
{{ include "affinity.controlPlane" . | indent 8 }}
{{ include "affinity.selfAntiAffinity" ( include "controller_statefulset_name" . ) | indent 8 }}
@@ -44,8 +44,8 @@ spec:
containers:
- name: {{ template "controller_statefulset_name" . }}
- imagePullPolicy: {{ .Values.controllerImagePullPolicy | default "IfNotPresent" | quote }}
- image: {{ .Values.controllerImage | default "openwhisk/controller" | quote }}
+ imagePullPolicy: {{ .Values.controller.imagePullPolicy | quote }}
+ image: {{ .Values.controller.image | quote }}
command: ["/bin/bash", "-c", "COMPONENT_NAME=$(hostname | cut -d'-' -f2) /init.sh `hostname | cut -d'-' -f2`"]
ports:
- name: controller
@@ -85,9 +85,9 @@ spec:
# Kafka properties
- name: "KAFKA_HOSTS"
- value: {{ include "kafka_url_without_port" . }}:{{ .Values.global.kafkaPort | default 9092 }}
+ value: {{ include "kafka_url_without_port" . }}:{{ .Values.kafka.port }}
- name: "KAFKA_HOST_PORT"
- value: {{ .Values.global.kafkaPort | default 9092 | quote }}
+ value: {{ .Values.kafka.port | quote }}
# specific controller arguments
- name: "CONTROLLER_OPTS"
@@ -97,23 +97,23 @@ spec:
{{ include "whisk.dbEnvVars" . | indent 8 }}
- name: "LIMITS_ACTIONS_SEQUENCE_MAXLENGTH"
- value: {{ .Values.controllerLimitsActionsSequenceMaxlength | default 1000 | quote }}
+ value: {{ .Values.controller.limits.actionsSequenceMaxlength | quote }}
- name: "LIMITS_TRIGGERS_FIRES_PERMINUTE"
- value: {{ .Values.controllerLimitsTriggersFiresPerminute | default 100 | quote }}
+ value: {{ .Values.controller.limits.triggersFiresPerminute | quote }}
- name: "LIMITS_ACTIONS_INVOKES_PERMINUTE"
- value: {{ .Values.controllerLimitsActionsInvokesPerminute | default 100 | quote }}
+ value: {{ .Values.controller.limits.actionsInvokesPerminute | quote }}
- name: "LIMITS_ACTIONS_INVOKES_CONCURRENTINSYSTEM"
- value: {{ .Values.controllerLimitsActionsInvokesConcurrentinsystem | default 100 | quote }}
+ value: {{ .Values.controller.limits.actionsInvokesConcurrentinsystem | quote }}
- name: "LIMITS_ACTIONS_INVOKES_CONCURRENT"
- value: {{ .Values.controllerLimitsActionsInvokesConcurrent | default 100 | quote }}
+ value: {{ .Values.controller.limits.actionsInvokesConcurrent | quote }}
- name: "CONTROLLER_INSTANCES"
- value: {{ .Values.global.controllerReplicaCount | default 2 | quote }}
+ value: {{ .Values.controller.replicaCount | quote }}
- name: "CONTROLLER_LOCALBOOKKEEPING"
- value: {{ .Values.controllerLocalbookkeeping | default false | quote }}
+ value: {{ .Values.controller.localbookkeeping | quote }}
- name: "AKKA_CLUSTER_SEED_NODES"
- value: {{ .Values.controllerSeedNodes | default "[]" | quote }}
+ value: {{ .Values.controller.seedNodes | quote }}
- name: "CONTROLLER_HA"
- value: {{ .Values.controllerHA | default false | quote }}
+ value: {{ .Values.controller.HA | quote }}
- name: "CONFIG_akka_actor_provider"
value: "cluster"
diff --git a/helm/templates/couchdb.yaml b/helm/templates/couchdb.yaml
new file mode 100644
index 0000000..bedb55b
--- /dev/null
+++ b/helm/templates/couchdb.yaml
@@ -0,0 +1,122 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.db.serviceName | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ name: {{ .Values.db.serviceName | quote }}
+spec:
+ selector:
+ name: {{ .Values.db.serviceName | quote }}
+ ports:
+ - port: {{ .Values.db.port }}
+ targetPort: {{ .Values.db.port }}
+ name: couchdb
+
+{{- if and .Values.db.persistence.enabled (not .Values.db.persistence.existingClaim) }}
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: couchdb-pv
+ labels:
+ type: couchdb
+ namespace: openwhisk
+spec:
+ accessModes:
+ - {{ .Values.db.persistence.accessMode | quote }}
+ capacity:
+ storage: {{ .Values.db.persistence.size | quote }}
+ nfs:
+ path: {{ .Values.db.persistence.nfs_path }}
+ server: {{ .Values.db.persistence.nfs_server }}
+{{- end }}
+
+
+{{- if and .Values.db.persistence.enabled (not .Values.db.persistence.existingClaim) }}
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ .Values.db.pvcName | quote }}
+ labels:
+ type: couchdb
+ namespace: {{ .Release.Namespace | quote }}
+spec:
+ accessModes:
+ - {{ .Values.db.persistence.accessMode | quote }}
+ resources:
+ requests:
+ storage: {{ .Values.db.persistence.size | quote }}
+{{- if .Values.db.persistence.storageClass }}
+{{- if (eq "-" .Values.db.persistence.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.db.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end }}
+
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ .Values.db.deploymentName | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ name: {{ .Values.db.deploymentName | quote }}
+spec:
+ replicas: {{ .Values.db.replicaCount }}
+ template:
+ metadata:
+ labels:
+ name: {{ .Values.db.deploymentName | quote }}
+ spec:
+ restartPolicy: Always
+
+ {{- if .Values.affinity.enabled }}
+ affinity:
+{{ include "affinity.controlPlane" . | indent 8 }}
+{{ include "affinity.selfAntiAffinity" ( .Values.db.deploymentName ) | indent 8 }}
+ {{- end }}
+
+ containers:
+ - name: {{ .Values.db.deploymentName | quote }}
+ imagePullPolicy: {{ .Values.db.imagePullPolicy | quote }}
+ image: {{ .Values.db.image | quote }}
+ command: ["/init.sh"]
+ ports:
+ - name: couchdb
+ containerPort: {{ .Values.db.port }}
+ env:
+ - name: "DB_HOST"
+ value: "127.0.0.1"
+ - name: "DB_PREFIX"
+ value: {{ .Values.db.dbPrefix | quote }}
+ - name: "COUCHDB_USER"
+ value: {{ .Values.db.auth.username | quote }}
+ - name: "COUCHDB_PASSWORD"
+ value: {{ .Values.db.auth.password | quote }}
+ - name: "DB_PORT"
+ value: {{ .Values.db.port | quote }}
+ - name: "NODENAME"
+ value: "couchdb0"
+ readinessProbe:
+ httpGet:
+ port: {{ .Values.db.port }}
+ path: /{{ template "activations_table_unquoted" . }}
+ initialDelaySeconds: 60
+ periodSeconds: 10
+ failureThreshold: 10
+ timeoutSeconds: 1
+ {{- if .Values.db.persistence.enabled }}
+ volumeMounts:
+ - name: database-storage
+ mountPath: /usr/local/var/lib/couchdb
+ {{- end }}
+ {{- if .Values.db.persistence.enabled }}
+ volumes:
+ - name: database-storage
+ persistentVolumeClaim:
+ claimName: couchdb-pvc
+ {{- end }}
diff --git a/helm/templates/invoker_daemonset.yaml b/helm/templates/invoker.yaml
similarity index 89%
rename from helm/templates/invoker_daemonset.yaml
rename to helm/templates/invoker.yaml
index 7b34d14..39a78e6 100644
--- a/helm/templates/invoker_daemonset.yaml
+++ b/helm/templates/invoker.yaml
@@ -48,8 +48,8 @@ spec:
containers:
- name: {{ template "invoker_deployment_name" . }}
- imagePullPolicy: {{ .Values.invokerImagePullPolicy | default "IfNotPresent" | quote }}
- image: {{ .Values.invokerImage | default "openwhisk/invoker" | quote }}
+ imagePullPolicy: {{ .Values.invokerImagePullPolicy | quote }}
+ image: {{ .Values.invokerImage | quote }}
command: [ "/bin/bash", "-c", "COMPONENT_NAME=$(hostname | cut -d'-' -f2) /init.sh"]
resources:
requests:
@@ -107,11 +107,11 @@ spec:
# properties for kafka connection
- name: "KAFKA_HOSTS"
- value: "{{ .Values.global.kafkaServiceName }}.{{ .Release.Namespace }}:{{ .Values.global.kafkaPort | default 9092 }}"
+ value: "{{ .Values.kafka.serviceName }}.{{ .Release.Namespace }}:{{ .Values.kafka.port }}"
# properties for zookeeper connection
- name: "ZOOKEEPER_HOSTS"
- value: "{{ .Values.global.zookeeperServiceName }}.{{ .Release.Namespace }}:{{ .Values.global.zookeeperPort | default 2181 }}"
+ value: "{{ .Values.zookeeper.serviceName }}.{{ .Release.Namespace }}:{{ .Values.zookeeper.port }}"
ports:
- name: invoker
diff --git a/helm/templates/kafka.yaml b/helm/templates/kafka.yaml
new file mode 100644
index 0000000..a885d6a
--- /dev/null
+++ b/helm/templates/kafka.yaml
@@ -0,0 +1,59 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.kafka.serviceName | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+spec:
+ ports:
+ - name: broker
+ port: {{ .Values.kafka.port }}
+ selector:
+ app: {{ .Values.kafka.statefulsetName | quote }}
+
+---
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+ name: {{ .Values.kafka.statefulsetName | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+spec:
+ serviceName: {{ .Values.kafka.serviceName | quote }}
+ replicas: {{ .Values.kafka.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Values.kafka.statefulsetName | quote }}
+ spec:
+ {{- if .Values.affinity.enabled }}
+ affinity:
+{{ include "affinity.controlPlane" . | indent 8 }}
+{{ include "affinity.selfAntiAffinity" ( .Values.kafka.statefulsetName | quote ) | indent 8 }}
+ {{- end }}
+
+ initContainers:
+{{ include "readiness.waitForZookeeper" . | indent 6 }}
+
+ containers:
+ - name: {{ .Values.kafka.statefulsetName | quote }}
+ image: {{ .Values.kafka.image | quote }}
+ imagePullPolicy: {{ .Values.kafka.imagePullPolicy | quote }}
+ ports:
+ - containerPort: {{ .Values.kafka.port }}
+ name: kafka
+ env:
+ - name: "KAFKA_BROKER_ID"
+ value: "0"
+ - name: "KAFKA_ADVERTISED_HOST_NAME"
+ value: {{ .Values.kafka.statefulsetName | quote }}
+ - name: "KAFKA_ADVERTISED_PORT"
+ value: "{{ .Values.kafka.port }}"
+ - name: "KAFKA_HOST_NAME"
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: "KAFKA_PORT"
+ value: "{{ .Values.kafka.port }}"
+
+ # zookeeper info
+ - name: "KAFKA_ZOOKEEPER_CONNECT"
+ value: {{ include "zookeeper_service_address" . | quote }}
diff --git a/helm/templates/nginx.yaml b/helm/templates/nginx.yaml
new file mode 100644
index 0000000..6b806a3
--- /dev/null
+++ b/helm/templates/nginx.yaml
@@ -0,0 +1,83 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.nginx.serviceName | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ name: {{ .Values.nginx.serviceName | quote }}
+spec:
+ type: NodePort
+ selector:
+ name: {{ .Values.nginx.deploymentName | quote }}
+ ports:
+ - port: {{ .Values.nginx.httpPort }}
+ targetPort: {{ .Values.nginx.httpPort }}
+ {{- if .Values.nginx.httpNodePort }}
+ nodePort: {{ .Values.nginx.httpNodePort }}
+ {{- end }}
+ name: http
+ - port: {{ .Values.nginx.httpsPort }}
+ targetPort: {{ .Values.nginx.httpsPort }}
+ {{- if .Values.nginx.httpsNodePort }}
+ nodePort: {{ .Values.nginx.httpsNodePort }}
+ {{- end }}
+ name: https-api
+ - port: {{ .Values.nginx.httpsAdminPort }}
+ targetPort: {{ .Values.nginx.httpsAdminPort }}
+ {{- if .Values.nginx.httpsAdminNodePort }}
+ nodePort: {{ .Values.nginx.httpsAdminNodePort }}
+ {{- end }}
+ name: https-admin
+
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ .Values.nginx.deploymentName | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ name: nginx
+spec:
+ replicas: {{ .Values.nginx.replicaCount }}
+ template:
+ metadata:
+ labels:
+ name: {{ .Values.nginx.deploymentName | quote }}
+ spec:
+ restartPolicy: Always
+
+ {{- if .Values.affinity.enabled }}
+ affinity:
+{{ include "affinity.controlPlane" . | indent 8 }}
+{{ include "affinity.selfAntiAffinity" ( .Values.nginx.deploymentName | quote ) | indent 8 }}
+ {{- end }}
+
+ volumes:
+ - name: nginx-certs
+ secret:
+ secretName: {{ .Values.nginx.secretName | quote }}
+ - name: nginx-conf
+ configMap:
+ name: {{ .Values.nginx.configmapName | quote }}
+ - name: logs
+ emptyDir: {}
+
+ containers:
+ - name: {{ .Values.nginx.deploymentName | quote }}
+ imagePullPolicy: {{ .Values.nginx.imagePullPolicy | quote }}
+ image: {{ .Values.nginx.image | quote }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.nginx.httpPort }}
+ - name: http-api
+ containerPort: {{ .Values.nginx.httpsPort }}
+ - name: https-admin
+ containerPort: {{ .Values.nginx.httpsAdminPort }}
+ volumeMounts:
+ - name: nginx-conf
+ mountPath: "/etc/nginx/nginx.conf"
+ subPath: "nginx.conf"
+ - name: nginx-certs
+ mountPath: "/etc/nginx/certs"
+ - name: logs
+ mountPath: "/logs"
diff --git a/helm/charts/nginx/templates/configmap.yaml b/helm/templates/nginx_configmap.yaml
similarity index 98%
rename from helm/charts/nginx/templates/configmap.yaml
rename to helm/templates/nginx_configmap.yaml
index cc4d45a..482ee7b 100644
--- a/helm/charts/nginx/templates/configmap.yaml
+++ b/helm/templates/nginx_configmap.yaml
@@ -1,7 +1,7 @@
apiVersion: v1
kind: ConfigMap
metadata:
- name: {{ template "nginx_configmap_name" . }}
+ name: {{ .Values.nginx.configmapName | quote }}
namespace: {{ .Release.Namespace | quote }}
data:
nginx.conf: |
diff --git a/helm/charts/nginx/templates/secret.yaml b/helm/templates/nginx_secret.yaml
similarity index 98%
rename from helm/charts/nginx/templates/secret.yaml
rename to helm/templates/nginx_secret.yaml
index a79dc20..baf7429 100644
--- a/helm/charts/nginx/templates/secret.yaml
+++ b/helm/templates/nginx_secret.yaml
@@ -1,7 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
- name: {{ template "nginx_secret_name" . }}
+ name: {{ .Values.nginx.secretName | quote }}
namespace: {{ .Release.Namespace | quote }}
type: tls
data:
diff --git a/helm/templates/zookeeper.yaml b/helm/templates/zookeeper.yaml
new file mode 100644
index 0000000..6adb712
--- /dev/null
+++ b/helm/templates/zookeeper.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.zookeeper.serviceName | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+ labels:
+ name: {{ .Values.zookeeper.serviceName | quote }}
+spec:
+ selector:
+ name: {{ .Values.zookeeper.deploymentName | quote }}
+ ports:
+ - port: {{ .Values.zookeeper.port }}
+ targetPort: {{ .Values.zookeeper.port }}
+ name: "zookeeper"
+ - port: {{ .Values.zookeeper.serverPort }}
+ targetPort: {{ .Values.zookeeper.serverPort }}
+ name: "server"
+ - port: {{ .Values.zookeeper.leaderElectionPort }}
+ targetPort: {{ .Values.zookeeper.leaderElectionPort }}
+ name: "leader-election"
+
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ .Values.zookeeper.deploymentName | quote }}
+ namespace: {{ .Release.Namespace | quote}}
+ labels:
+ name: {{ .Values.zookeeper.deploymentName | quote }}
+spec:
+ replicas: {{ .Values.zookeeper.replicaCount }}
+ template:
+ metadata:
+ labels:
+ name: {{ .Values.zookeeper.deploymentName | quote }}
+ spec:
+ restartPolicy: {{ .Values.zookeeper.restartPolicy | quote }}
+
+ {{- if .Values.affinity.enabled }}
+ affinity:
+{{ include "affinity.controlPlane" . | indent 8 }}
+{{ include "affinity.selfAntiAffinity" ( .Values.zookeeper.deploymentName | quote ) | indent 8 }}
+ {{- end }}
+
+ containers:
+ - name: {{ .Values.zookeeper.containerName | quote }}
+ image: {{ .Values.zookeeper.image | quote }}
+ imagePullPolicy: {{ .Values.zookeeper.imagePullPolicy | quote }}
+ ports:
+ - name: zookeeper
+ containerPort: {{ .Values.zookeeper.port }}
+ - name: server
+ containerPort: {{ .Values.zookeeper.serverPort }}
+ - name: leader-election
+ containerPort: {{ .Values.zookeeper.leaderElectionPort }}
diff --git a/helm/values.yaml b/helm/values.yaml
index 7cdb21d..a47ef08 100644
--- a/helm/values.yaml
+++ b/helm/values.yaml
@@ -2,8 +2,12 @@
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
-# cluster configuration
+# Overall system configuration
whisk:
+ # You must provide these ingress values when deploying the chart
+ ingress:
+ api_host: nil
+ apigw_url: nil
# Production deployments _MUST_ override these default auth values
auth:
system: "789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP"
@@ -11,33 +15,46 @@ whisk:
versions:
cli: "latest"
systemNameSpace: "/whisk.system"
- ingress:
+
+travis: false
# zookeeper configurations
zookeeper:
deploymentName: "zookeeper"
+ serviceName: "zookeeper"
replicaCount: 1
restartPolicy: "Always"
containerName: "zookeeper"
image: "zookeeper:3.4"
imagePullPolicy: "IfNotPresent"
+ port: 2181
serverPort: 2888
leaderElectionPort: 3888
# kafka configurations
kafka:
+ serviceName: "kafka"
statefulsetName: "kafka"
replicaCount: 1
image: "wurstmeister/kafka:0.11.0.1"
imagePullPolicy: "IfNotPresent"
+ port: 9092
-# Couchdb configurations
-couchdb:
+# Database configuration
+db:
deploymentName: "couchdb"
- replicaCount: 1
+ serviceName: "couchdb"
+ replicaCount: 1
imagePullPolicy: "IfNotPresent"
image: "openwhisk/kube-couchdb"
+ port: 5984
+ auth:
+ username: "whisk_admin"
+ password: "some_passw0rd"
dbPrefix: "test_"
+ activationsTable: "test_activations"
+ actionsTable: "test_whisks"
+ authsTable: "test_subjects"
persistence:
enabled: false
pvcName: couchdb-pvc
@@ -45,7 +62,6 @@ couchdb:
storageClass: CouchDBSC
accessMode: ReadWriteOnce
-
# Nginx configurations
nginx:
secretName: "nginx"
@@ -63,48 +79,42 @@ nginx:
serviceName: "nginx"
# Controller configurations
-controllerImagePullPolicy: "IfNotPresent"
-controllerImage: "openwhisk/controller"
-controllerLimitsActionsInvokesConcurrentinsystem: 100
-controllerLimitsTriggersFiresPerminute: 100
-controllerLimitsActionsSequenceMaxlength: 1000
-controllerLimitsActionsInvokesConcurrent: 100
-controllerLimitsActionsInvokesConcurrentinsystem: 100
-controllerLocalbookkeeping: true
-controllerSeedNodes: "[]"
-controllerHA: false
+controller:
+ serviceName: "controller"
+ statefulSetName: "controller"
+ replicaCount: 1
+ imagePullPolicy: "IfNotPresent"
+ image: "openwhisk/controller"
+ port: 8080
+ limits:
+ actionsSequenceMaxlength: 50
+ triggersFiresPerminute: 60
+ actionsInvokesPerminute: 60
+ actionsInvokesConcurrentinsystem: 5000
+ actionsInvokesConcurrent: 30
+ localbookkeeping: true
+ seedNodes: "[]"
+ HA: false
# Invoker configurations
-invokerStatefulsetName: "invoker"
+invokerDeploymentName: "invoker"
invokerReplicasetCount: 1
invokerImagePullPolicy: "IfNotPresent"
invokerImage: "openwhisk/invoker"
invokerOptions: ""
# API Gateway configurations
+apigatewayImagePullPolicy: "IfNotPresent"
+apigatewayImage: "openwhisk/apigateway"
apigatewayReplicaCount: 1
+apigw:
+ deploymentName: "apigateway"
+ serviceName: "apigateway"
+ apiPort: 9000
+ mgmtPort: 8080
-activationsTable: "test_activations"
-actionsTable: "test_whisks"
-authsTable: "test_subjects"
-
-# Global configurations
-global:
- zookeeperServiceName: "zookeeper"
- kafkaServiceName: "kafka"
- zookeeperPort: 2181
- kafkaPort: 9092
- couchdbServiceName: "couchdb"
- couchdbInstances: 1
- couchdbPort: 5984
- controllerStatefulSetName: "controller"
- controllerServiceName: "controller"
- controllerPort: 8080
- controllerReplicaCount: 1
- couchdbUserName: "whisk_admin"
- couchdbPassword: "some_passw0rd"
- # Resolve the pod/node affinity for invoker, controller and other components.
- affinity:
- enabled: true
- invokerNodeLabel: invoker
- controlPlaneNodeLabel: control-plane
+# Resolve the pod/node affinity for invoker, controller and other components.
+affinity:
+ enabled: true
+ invokerNodeLabel: invoker
+ controlPlaneNodeLabel: control-plane
diff --git a/tools/travis/build-helm.sh b/tools/travis/build-helm.sh
index 495f7fc..4d22f95 100755
--- a/tools/travis/build-helm.sh
+++ b/tools/travis/build-helm.sh
@@ -143,6 +143,8 @@ wsk property set --auth `cat $ROOTDIR/kubernetes/cluster-setup/auth.guest` --api
cd $ROOTDIR/helm
cat > mycluster.yaml <<EOF
+travis: true
+
whisk:
ingress:
api_host: $WSK_HOST:$WSK_PORT
--
To stop receiving notification emails like this one, please contact
csantanapr@apache.org.