diff --git a/incubator/kubeless/Chart.yaml b/incubator/kubeless/Chart.yaml index ad9995721c..4f9de6e466 100644 --- a/incubator/kubeless/Chart.yaml +++ b/incubator/kubeless/Chart.yaml @@ -1,6 +1,6 @@ name: kubeless -version: 0.2.3 -appVersion: v0.3.1 +version: 1.0.0 +appVersion: v1.0.0-alpha.2 description: Kubeless is a Kubernetes-native serverless framework. It runs on top of your Kubernetes cluster and allows you to deploy small unit of code without having to build container images. icon: https://cloud.githubusercontent.com/assets/4056725/25480209/1d5bf83c-2b48-11e7-8db8-bcd650f31297.png apiVersion: v1 diff --git a/incubator/kubeless/README.md b/incubator/kubeless/README.md index 785f25f2eb..d35573ec55 100644 --- a/incubator/kubeless/README.md +++ b/incubator/kubeless/README.md @@ -48,26 +48,28 @@ The command removes all the Kubernetes components associated with the chart and The following table lists the configurable parameters of the Kubeless chart and their default values. -| Parameter | Description | Default | -|------------------------------------------|-------------------------------|-------------------------------| -| `controller.deployment.image.repository` | Controller image | `bitnami/kubeless-controller` | -| `controller.deployment.image.pullPolicy` | Controller image pull policy | `IfNotPresent` | -| `controller.deployment.replicaCount` | Number of replicas | `1` | -| `ui.enabled` | Kubeless UI component | `false` | -| `ui.deployment.ui.image.repository` | Kubeless UI image | `bitnami/kubeless-ui` | -| `ui.deployment.ui.image.pullPolicy` | Kubeless UI image pull policy | `IfNotPresent` | -| `ui.deployment.proxy.image.repository` | Proxy image | `kelseyhightower/kubectl` | -| `ui.deployment.proxy.image.pullPolicy` | Proxy image pull policy | `IfNotPresent` | -| `ui.deployment.replicaCount` | Number of replicas | `1` | -| `ui.service.name` | Service name | `ui-port` | -| `ui.service.type` | Kubernetes service name | `NodePort` | -| `ui.service.externalPort` | Service external port | `3000` | -| `zookeeper.statefulSet.image.repository` | Zookeeper image | `bitnami/zookeeper` | -| `zookeeper.statefulSet.image.pullPolicy` | Zookeeper image pull policy | `IfNotPresent` | -| `zookeeper.statefulSet.replicaCount` | Number of replicas | `1` | -| `kafka.statefulSet.image.repository` | Kafka image | `bitnami/kafka` | -| `kafka.statefulSet.image.pullPolicy` | Kafka image pull policy | `IfNotPresent` | -| `kafka.statefulSet.replicaCount` | Number of replicas | `1` | +| Parameter | Description | Default | +|------------------------------------------|--------------------------------------------|---------------------------------------| +| `config.builderImage` | Function builder image | `kubeless/function-image-builder` | +| `config.builderImagePullSecret` | Secret to pull builder image | "" | +| `config.builderImage` | Provision image | `kubeless/unzip` | +| `config.builderImagePullSecret` | Secret to pull provision image | "" | +| `config.deploymentTemplate` | Deployment template for functions | `{}` | +| `config.enableBuildStep` | Enable builder functionality | `false` | +| `config.functionRegistryTLSVerify` | Enable TLS verification for image registry | `{}` | +| `config.runtimeImages` | Runtimes available | python, nodejs, ruby, php and go | +| `controller.deployment.image.repository` | Controller image | `bitnami/kubeless-controller-manager` | +| `controller.deployment.image.pullPolicy` | Controller image pull policy | `IfNotPresent` | +| `controller.deployment.replicaCount` | Number of replicas | `1` | +| `ui.enabled` | Kubeless UI component | `false` | +| `ui.deployment.ui.image.repository` | Kubeless UI image | `bitnami/kubeless-ui` | +| `ui.deployment.ui.image.pullPolicy` | Kubeless UI image pull policy | `IfNotPresent` | +| `ui.deployment.proxy.image.repository` | Proxy image | `kelseyhightower/kubectl` | +| `ui.deployment.proxy.image.pullPolicy` | Proxy image pull policy | `IfNotPresent` | +| `ui.deployment.replicaCount` | Number of replicas | `1` | +| `ui.service.name` | Service name | `ui-port` | +| `ui.service.type` | Kubernetes service name | `NodePort` | +| `ui.service.externalPort` | Service external port | `3000` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/incubator/kubeless/templates/cluster-role.yaml b/incubator/kubeless/templates/cluster-role.yaml index 095c2385cf..107e4e9e99 100644 --- a/incubator/kubeless/templates/cluster-role.yaml +++ b/incubator/kubeless/templates/cluster-role.yaml @@ -7,14 +7,103 @@ metadata: {{ include "labels.standard" . | indent 4 }} rules: - apiGroups: - - '*' + - "" resources: - services - - deployments - - functions - configmaps + verbs: + - create + - get + - delete + - list + - update + - patch +- apiGroups: + - apps + - extensions + resources: + - deployments + verbs: + - create + - get + - delete + - list + - update + - patch +- apiGroups: + - "" + resources: - pods - - replicasets + verbs: + - list + - delete +- apiGroups: + - "" + resourceNames: + - kubeless-registry-credentials + resources: + - secrets + verbs: + - get +- apiGroups: + - kubeless.io + resources: + - functions + - httptriggers + - cronjobtriggers + verbs: + - get + - list + - watch + - update + - delete +- apiGroups: + - batch + resources: + - cronjobs + - jobs + verbs: + - create + - get + - delete + - deletecollection + - list + - update + - patch +- apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - create + - get + - delete + - list + - update + - patch +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list +- apiGroups: + - monitoring.coreos.com + resources: + - alertmanagers + - prometheuses + - servicemonitors verbs: - '*' +- apiGroups: + - extensions + resources: + - ingresses + verbs: + - create + - get + - list + - update + - delete {{- end}} diff --git a/incubator/kubeless/templates/controller-deployment.yaml b/incubator/kubeless/templates/controller-deployment.yaml index 71e5a6c6a1..d5c24f8873 100644 --- a/incubator/kubeless/templates/controller-deployment.yaml +++ b/incubator/kubeless/templates/controller-deployment.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: {{ template "kubeless.fullname" . }}-controller + name: {{ template "kubeless.fullname" . }}-controller-manager labels: {{ include "labels.standard" . | indent 4 }} kubeless: controller diff --git a/incubator/kubeless/templates/cronjobtrigger-crd.yaml b/incubator/kubeless/templates/cronjobtrigger-crd.yaml new file mode 100644 index 0000000000..ca9822cabd --- /dev/null +++ b/incubator/kubeless/templates/cronjobtrigger-crd.yaml @@ -0,0 +1,15 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +description: CRD object for Cron trigger type +kind: CustomResourceDefinition +metadata: + name: cronjobtriggers.kubeless.io + labels: +{{ include "labels.standard" . | indent 4 }} +spec: + group: kubeless.io + names: + kind: CronJobTrigger + plural: cronjobtriggers + singular: cronjobtrigger + scope: Namespaced + version: v1beta1 diff --git a/incubator/kubeless/templates/function-crd.yaml b/incubator/kubeless/templates/function-crd.yaml index 67ca61542c..cd79045d68 100644 --- a/incubator/kubeless/templates/function-crd.yaml +++ b/incubator/kubeless/templates/function-crd.yaml @@ -2,14 +2,16 @@ apiVersion: apiextensions.k8s.io/v1beta1 description: Kubernetes Native Serverless Framework kind: CustomResourceDefinition metadata: - name: functions.k8s.io + name: functions.kubeless.io + annotations: + kubeless.io/namespace: {{ .Release.Namespace }} labels: {{ include "labels.standard" . | indent 4 }} spec: - group: k8s.io + group: kubeless.io names: kind: Function plural: functions singular: function scope: Namespaced - version: v1 + version: v1beta1 diff --git a/incubator/kubeless/templates/httptrigger-crd.yaml b/incubator/kubeless/templates/httptrigger-crd.yaml new file mode 100644 index 0000000000..7f27a7c0a5 --- /dev/null +++ b/incubator/kubeless/templates/httptrigger-crd.yaml @@ -0,0 +1,15 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +description: CRD object for HTTP trigger type +kind: CustomResourceDefinition +metadata: + name: httptriggers.kubeless.io + labels: +{{ include "labels.standard" . | indent 4 }} +spec: + group: kubeless.io + names: + kind: HTTPTrigger + plural: httptriggers + singular: httptrigger + scope: Namespaced + version: v1beta1 diff --git a/incubator/kubeless/templates/kafka-headless-svc.yaml b/incubator/kubeless/templates/kafka-headless-svc.yaml deleted file mode 100644 index 15f3eb668f..0000000000 --- a/incubator/kubeless/templates/kafka-headless-svc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# A headless service to create DNS records -apiVersion: v1 -kind: Service -metadata: - name: {{ template "kubeless.fullname" . }}-broker - labels: -{{ include "labels.standard" . | indent 4 }} -spec: - ports: - - port: 9092 - clusterIP: None - selector: - kubeless: kafka - app: {{ template "kubeless.name" . }} - release: {{ .Release.Name | quote }} diff --git a/incubator/kubeless/templates/kafka-stateful.yaml b/incubator/kubeless/templates/kafka-stateful.yaml deleted file mode 100644 index 434d3b6a29..0000000000 --- a/incubator/kubeless/templates/kafka-stateful.yaml +++ /dev/null @@ -1,66 +0,0 @@ -apiVersion: apps/v1beta1 -kind: StatefulSet -metadata: - name: {{ template "kubeless.fullname" . }}-kafka - labels: -{{ include "labels.standard" . | indent 4 }} -spec: - serviceName: "{{ template "kubeless.fullname" . }}-broker" - replicas: {{ .Values.kafka.statefulSet.replicaCount }} - template: - metadata: - labels: - kubeless: kafka - app: {{ template "kubeless.name" . }} - release: {{ .Release.Name | quote }} - spec: - terminationGracePeriodSeconds: 10 - initContainers: - - name: "fix-non-root-permissions" - image: "busybox" - imagePullPolicy: "Always" - command: [ "chmod", "-R", "g+rwX", "/bitnami" ] - volumeMounts: - - name: datadir - mountPath: /bitnami - containers: - - name: broker - image: "{{ .Values.kafka.statefulSet.image.repository }}:{{ .Values.kafka.statefulSet.image.tag }}" - imagePullPolicy: {{ .Values.kafka.statefulSet.image.pullPolicy }} - resources: -{{ toYaml .Values.kafka.resources | indent 10 }} - env: - - name: KAFKA_ADVERTISED_HOST_NAME - value: broker.{{ .Release.Namespace }} - - name: KAFKA_ADVERTISED_PORT - value: "9092" - - name: KAFKA_PORT - value: "9092" - - name: KAFKA_ZOOKEEPER_CONNECT - value: zookeeper.{{ .Release.Namespace }}:2181 - - name: ALLOW_PLAINTEXT_LISTENER - value: "yes" - ports: - - containerPort: 9092 - name: kafka-port - readinessProbe: - tcpSocket: - port: kafka-port - initialDelaySeconds: 5 - periodSeconds: 10 - livenessProbe: - tcpSocket: - port: kafka-port - initialDelaySeconds: 30 - periodSeconds: 20 - volumeMounts: - - name: datadir - mountPath: /bitnami/kafka - volumeClaimTemplates: - - metadata: - name: datadir - spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi diff --git a/incubator/kubeless/templates/kafka-svc.yaml b/incubator/kubeless/templates/kafka-svc.yaml deleted file mode 100644 index c6571e7b52..0000000000 --- a/incubator/kubeless/templates/kafka-svc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: kafka - labels: -{{ include "labels.standard" . | indent 4 }} -spec: - ports: - - name: kafka-port - port: 9092 - targetPort: kafka-port - selector: - kubeless: kafka - app: {{ template "kubeless.name" . }} - release: {{ .Release.Name | quote }} diff --git a/incubator/kubeless/templates/kubeless-config.yaml b/incubator/kubeless/templates/kubeless-config.yaml new file mode 100644 index 0000000000..21114905ae --- /dev/null +++ b/incubator/kubeless/templates/kubeless-config.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +data: + builder-image: "{{ .Values.config.builderImage }}:{{ .Values.controller.deployment.image.tag }}" + builder-image-secret: "{{ .Values.config.builderImagePullSecret }}" + deployment: "{{ .Values.config.deploymentTemplate }}" + enable-build-step: "{{ .Values.config.enableBuildStep }}" + function-registry-tls-verify: "{{ .Values.config.functionRegistryTLSVerify }}" + provision-image: "{{ .Values.config.provisionImage }}" + provision-image-secret: "{{ .Values.config.provisionImagePullSecret }}" + runtime-images: |- +{{ .Values.config.runtimeImages | indent 4 }} +kind: ConfigMap +metadata: + name: kubeless-config diff --git a/incubator/kubeless/templates/service-account.yaml b/incubator/kubeless/templates/service-account.yaml index 4bfd2b9c5d..70b6f637e1 100644 --- a/incubator/kubeless/templates/service-account.yaml +++ b/incubator/kubeless/templates/service-account.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: {{ template "kubeless.fullname" . }}-controller-account + name: controller-acct labels: {{ include "labels.standard" . | indent 4 }} {{- end }} diff --git a/incubator/kubeless/templates/ui-cluster-role-binding.yaml b/incubator/kubeless/templates/ui-cluster-role-binding.yaml new file mode 100644 index 0000000000..421cf3e82f --- /dev/null +++ b/incubator/kubeless/templates/ui-cluster-role-binding.yaml @@ -0,0 +1,18 @@ +{{- if .Values.rbac.create }} +{{- if .Values.ui.enabled }} +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: kubeless-ui + labels: +{{ include "labels.standard" . | indent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kubeless-ui +subjects: +- kind: ServiceAccount + name: kubeless-ui + namespace: {{ .Release.Namespace }} +{{- end}} +{{- end}} diff --git a/incubator/kubeless/templates/ui-cluster-role.yaml b/incubator/kubeless/templates/ui-cluster-role.yaml new file mode 100644 index 0000000000..62a6f6d33c --- /dev/null +++ b/incubator/kubeless/templates/ui-cluster-role.yaml @@ -0,0 +1,45 @@ +{{- if .Values.rbac.create }} +{{- if .Values.ui.enabled }} +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: kubeless-ui + labels: +{{ include "labels.standard" . | indent 4 }} +rules: +- apiGroups: + - "" + resources: + - pods + - pods/log + verbs: + - get + - list +- apiGroups: + - kubeless.io + resources: + - functions + verbs: + - get + - list + - watch + - update + - create + - delete +- apiGroups: + - "" + resources: + - services + - services/proxy + verbs: + - get + - list + - proxy +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get +{{- end}} +{{- end}} diff --git a/incubator/kubeless/templates/ui-deployment.yaml b/incubator/kubeless/templates/ui-deployment.yaml index 49feaeac94..9ffe63ab0c 100644 --- a/incubator/kubeless/templates/ui-deployment.yaml +++ b/incubator/kubeless/templates/ui-deployment.yaml @@ -15,6 +15,9 @@ spec: app: {{ template "kubeless.name" . }} release: {{ .Release.Name | quote }} spec: +{{- if .Values.rbac.create }} + serviceAccountName: kubeless-ui +{{- end }} containers: - name: ui image: "{{ .Values.ui.deployment.ui.image.repository }}:{{ .Values.ui.deployment.ui.image.tag }}" diff --git a/incubator/kubeless/templates/ui-service-account.yaml b/incubator/kubeless/templates/ui-service-account.yaml new file mode 100644 index 0000000000..27a5a026aa --- /dev/null +++ b/incubator/kubeless/templates/ui-service-account.yaml @@ -0,0 +1,10 @@ +{{- if .Values.rbac.create }} +{{- if .Values.ui.enabled }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kubeless-ui + labels: +{{ include "labels.standard" . | indent 4 }} +{{- end }} +{{- end}} diff --git a/incubator/kubeless/templates/zk-headless-svc.yaml b/incubator/kubeless/templates/zk-headless-svc.yaml deleted file mode 100644 index c612dbe463..0000000000 --- a/incubator/kubeless/templates/zk-headless-svc.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "kubeless.fullname" . }}-zoo - labels: -{{ include "labels.standard" . | indent 4 }} -spec: - ports: - - port: 2888 - name: peer - - port: 3888 - name: leader-election - clusterIP: None - selector: - kubeless: zookeeper - app: {{ template "kubeless.name" . }} - release: {{ .Release.Name | quote }} diff --git a/incubator/kubeless/templates/zk-stateful.yaml b/incubator/kubeless/templates/zk-stateful.yaml deleted file mode 100644 index d2d4274351..0000000000 --- a/incubator/kubeless/templates/zk-stateful.yaml +++ /dev/null @@ -1,64 +0,0 @@ -apiVersion: apps/v1beta1 -kind: StatefulSet -metadata: - name: {{ template "kubeless.fullname" . }}-zoo - labels: -{{ include "labels.standard" . | indent 4 }} -spec: - serviceName: "{{ template "kubeless.fullname" . }}-zoo" - replicas: {{ .Values.zookeeper.statefulSet.replicaCount }} - template: - metadata: - labels: - kubeless: zookeeper - app: {{ template "kubeless.name" . }} - release: {{ .Release.Name | quote }} - spec: - terminationGracePeriodSeconds: 10 - initContainers: - - name: "fix-non-root-permissions" - image: "busybox" - imagePullPolicy: "Always" - command: [ "chmod", "-R", "g+rwX", "/bitnami" ] - volumeMounts: - - name: datadir - mountPath: /bitnami - containers: - - name: zookeeper - image: "{{ .Values.zookeeper.statefulSet.image.repository }}:{{ .Values.zookeeper.statefulSet.image.tag }}" - imagePullPolicy: {{ .Values.zookeeper.statefulSet.image.pullPolicy }} - resources: -{{ toYaml .Values.zookeeper.resources | indent 10 }} - env: - - name: ZOO_SERVERS - value: server.1=zoo-0.zoo:2888:3888:participant - - name: ALLOW_ANONYMOUS_LOGIN - value: "yes" - ports: - - containerPort: 2181 - name: client - - containerPort: 2888 - name: peer - - containerPort: 3888 - name: leader-election - readinessProbe: - tcpSocket: - port: client - initialDelaySeconds: 5 - periodSeconds: 10 - livenessProbe: - tcpSocket: - port: client - initialDelaySeconds: 15 - periodSeconds: 20 - volumeMounts: - - name: datadir - mountPath: /bitnami/zookeeper - volumeClaimTemplates: - - metadata: - name: datadir - spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi diff --git a/incubator/kubeless/templates/zk-svc.yaml b/incubator/kubeless/templates/zk-svc.yaml deleted file mode 100644 index 45c46efcdd..0000000000 --- a/incubator/kubeless/templates/zk-svc.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# Headless service is for PetSet DNS, this one is for clients -apiVersion: v1 -kind: Service -metadata: - name: zookeeper - labels: -{{ include "labels.standard" . | indent 4 }} -spec: - ports: - - port: 2181 - name: client - selector: - kubeless: zookeeper - app: {{ template "kubeless.name" . }} - release: {{ .Release.Name | quote }} diff --git a/incubator/kubeless/values.yaml b/incubator/kubeless/values.yaml index 8e50fbbd6f..f39b26d82d 100644 --- a/incubator/kubeless/values.yaml +++ b/incubator/kubeless/values.yaml @@ -8,8 +8,8 @@ controller: deployment: replicaCount: 1 image: - repository: bitnami/kubeless-controller - tag: v0.3.1 + repository: bitnami/kubeless-controller-manager + tag: v1.0.0-alpha.2 pullPolicy: IfNotPresent ## Kubeless Controller resource requests and limits ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/ @@ -22,6 +22,104 @@ controller: # cpu: 500m # memory: 512Mi +## Kubeless configuration +config: + builderImage: kubeless/function-image-builder + builderImagePullSecret: "" + deploymentTemplate: '{}' + enableBuildStep: "false" + functionRegistryTLSVerify: "true" + provisionImage: kubeless/unzip@sha256:f162c062973cca05459834de6ed14c039d45df8cdb76097f50b028a1621b3697 + provisionImagePullSecret: "" + runtimeImages: |- + [ + { + "ID": "python", + "versions": [ + { + "name": "python27", + "version": "2.7", + "runtimeImage": "kubeless/python@sha256:07cfb0f3d8b6db045dc317d35d15634d7be5e436944c276bf37b1c630b03add8", + "initImage": "python:2.7" + }, + { + "name": "python34", + "version": "3.4", + "runtimeImage": "kubeless/python@sha256:f19640c547a3f91dbbfb18c15b5e624029b4065c1baf2892144e07c36f0a7c8f", + "initImage": "python:3.4" + }, + { + "name": "python36", + "version": "3.6", + "runtimeImage": "kubeless/python@sha256:0c9f8f727d42625a4e25230cfe612df7488b65f283e7972f84108d87e7443d72", + "initImage": "python:3.6" + } + ], + "depName": "requirements.txt", + "fileNameSuffix": ".py" + }, + { + "ID": "nodejs", + "versions": [ + { + "name": "node6", + "version": "6", + "runtimeImage": "kubeless/nodejs@sha256:0a8a72af4cc3bfbfd4fe9bd309cbf486e7493d0dc32a691673b3f0d3fae07487", + "initImage": "node:6.10" + }, + { + "name": "node8", + "version": "8", + "runtimeImage": "kubeless/nodejs@sha256:76ee28dc7e3613845fface2d1c56afc2e6e2c6d6392c724795a7ccc2f5e60582", + "initImage": "node:8" + } + ], + "depName": "package.json", + "fileNameSuffix": ".js" + }, + { + "ID": "ruby", + "versions": [ + { + "name": "ruby24", + "version": "2.4", + "runtimeImage": "kubeless/ruby@sha256:0dce29c0eb2a246f7d825b6644eeae7957b26f2bfad2b7987f2134cc7b350f2f", + "initImage": "bitnami/ruby:2.4" + } + ], + "depName": "Gemfile", + "fileNameSuffix": ".rb" + }, + { + "ID": "php", + "versions": [ + { + "name": "php72", + "version": "7.2", + "runtimeImage": "kubeless/php@sha256:b605bb6b5ae3b1a2a93570939296618904259d7767a14002fa9733e66d59849b", + "initImage": "composer:1.6" + } + ], + "depName": "composer.json", + "fileNameSuffix": ".php" + }, + { + "ID": "go", + "compiled": true, + "versions": [ + { + "name": "go1.10", + "version": "1.10", + "runtimeImage": "kubeless/go@sha256:e2fd49f09b6ff8c9bac6f1592b3119ea74237c47e2955a003983e08524cb3ae5", + "initImage": "kubeless/go-init@sha256:d0812c4e8351bfd95d0574efd23613cff2664d6a57af4ed0a20ebc651382d476" + } + ], + "depName": "Gopkg.toml", + "fileNameSuffix": ".go" + } + ] + + ## UI configuration ui: enabled: false @@ -30,7 +128,7 @@ ui: ui: image: repository: bitnami/kubeless-ui - tag: v0.1.0 + tag: latest pullPolicy: IfNotPresent proxy: image: @@ -42,41 +140,3 @@ ui: name: ui-port type: NodePort externalPort: 3000 - -## Zookeeper configuration -zookeeper: - statefulSet: - replicaCount: 1 - image: - repository: bitnami/zookeeper - tag: 3.4.10-r6 - pullPolicy: IfNotPresent - ## Zookeeper server resource requests and limits - ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/ - ## - resources: {} - # limits: - # cpu: 500m - # memory: 512Mi - # requests: - # cpu: 500m - # memory: 512Mi - -## Kafka configuration -kafka: - statefulSet: - replicaCount: 1 - image: - repository: bitnami/kafka - tag: 1.0.0-r2 - pullPolicy: IfNotPresent - ## Kafka server resource requests and limits - ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/ - ## - resources: {} - # limits: - # cpu: 500m - # memory: 512Mi - # requests: - # cpu: 500m - # memory: 512Mi