diff --git a/stable/hazelcast-jet/.helmignore b/stable/hazelcast-jet/.helmignore
new file mode 100644
index 0000000000..06e1663c4d
--- /dev/null
+++ b/stable/hazelcast-jet/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+
diff --git a/stable/hazelcast-jet/Chart.yaml b/stable/hazelcast-jet/Chart.yaml
new file mode 100644
index 0000000000..f7c5df6ed5
--- /dev/null
+++ b/stable/hazelcast-jet/Chart.yaml
@@ -0,0 +1,23 @@
+apiVersion: v1
+appVersion: "0.7"
+description: Hazelcast Jet is an application embeddable, distributed computing engine built on top of Hazelcast In-Memory Data Grid (IMDG). With Hazelcast IMDG providing storage functionality, Hazelcast Jet performs parallel execution to enable data-intensive applications to operate in near real-time.
+name: hazelcast-jet
+version: 1.0.0
+keywords:
+- hazelcast
+- jet
+- streaming
+home: http://jet.hazelcast.org/
+icon: http://hazelcast.com/images/logos/Hazelcast-Jet-Logo-Blue_Light_Icon_200px.png
+sources:
+- https://github.com/hazelcast/hazelcast-jet
+maintainers:
+- name: emin
+ email: emin@hazelcast.com
+- name: leszko
+ email: rafal@hazelcast.com
+- name: googlielmo
+ email: guglielmo@hazelcast.com
+- name: mesutcelik
+ email: mesut@hazelcast.com
+engine: gotpl
diff --git a/stable/hazelcast-jet/OWNERS b/stable/hazelcast-jet/OWNERS
new file mode 100644
index 0000000000..0407af7318
--- /dev/null
+++ b/stable/hazelcast-jet/OWNERS
@@ -0,0 +1,10 @@
+approvers:
+- eminn
+- leszko
+- mesutcelik
+- googlielmo
+reviewers:
+- eminn
+- leszko
+- mesutcelik
+- googlielmo
diff --git a/stable/hazelcast-jet/README.md b/stable/hazelcast-jet/README.md
new file mode 100644
index 0000000000..c86788f8e1
--- /dev/null
+++ b/stable/hazelcast-jet/README.md
@@ -0,0 +1,171 @@
+# Hazelcast Jet
+
+[Hazelcast Jet](http://jet.hazelcast.org) is a distributed computing
+platform built for high-performance stream processing and fast batch
+processing. It embeds Hazelcast In-Memory Data Grid (IMDG) to provide
+a lightweight, simple-to-deploy package that includes scalable
+in-memory storage.
+
+Visit [jet.hazelcast.org](http://jet.hazelcast.org) to learn more
+about the architecture and use cases.
+
+## Quick Start
+
+```bash
+$ helm install hazelcast/hazelcast-jet
+```
+
+## Introduction
+
+This chart bootstraps a [Hazelcast Jet](https://github.com/hazelcast/hazelcast-jet-docker) deployments on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Kubernetes 1.9+
+
+## Installing the Chart
+
+To install the chart with the release name `my-release`:
+
+```bash
+$ helm install --name my-release hazelcast/hazelcast-jet
+```
+
+The command deploys Hazelcast Jet on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Uninstalling the Chart
+
+To uninstall/delete the `my-release` deployment:
+
+```bash
+$ helm delete my-release
+```
+
+The command removes all the Kubernetes components associated with the chart and deletes the release.
+
+## Configuration
+
+The following table lists the configurable parameters of the Hazelcast chart and their default values.
+
+| Parameter | Description | Default |
+|--------------------------------------------|----------------------------------------------------------------------------------------------------------------|------------------------------------------------------|
+| `image.repository` | Hazelcast Jet Image name | `hazelcast/hazelcast-jet` |
+| `image.tag` | Hazelcast Jet Image tag | `{VERSION}` |
+| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
+| `image.pullSecrets` | Specify docker-registry secret names as an array | `nil` |
+| `cluster.memberCount` | Number of Hazelcast Jet members | 2 |
+| `jet.rest` | Enable REST endpoints for Hazelcast Jet member | `true` |
+| `jet.javaOpts` | Additional JAVA_OPTS properties for Hazelcast Jet member | `nil` |
+| `jet.configurationFiles` | Hazelcast configuration files | `{DEFAULT_HAZELCAST_XML}` |
+| `nodeSelector` | Hazelcast Node labels for pod assignment | `nil` |
+| `gracefulShutdown.enabled` | Turn on and off Graceful Shutdown | `true` |
+| `gracefulShutdown.maxWaitSeconds` | Maximum time to wait for the Hazelcast Jet POD to shut down | `600` |
+| `livenessProbe.enabled` | Turn on and off liveness probe | `true` |
+| `livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `30` |
+| `livenessProbe.periodSeconds` | How often to perform the probe | `10` |
+| `livenessProbe.timeoutSeconds` | When the probe times out | `5` |
+| `livenessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed | `1` |
+| `livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `3` |
+| `readinessProbe.enabled` | Turn on and off readiness probe | `true` |
+| `readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `30` |
+| `readinessProbe.periodSeconds` | How often to perform the probe | `10` |
+| `readinessProbe.timeoutSeconds` | When the probe times out | `1` |
+| `readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed | `1` |
+| `readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `3` |
+| `resources` | CPU/Memory resource requests/limits | `nil` |
+| `service.type` | Kubernetes service type ('ClusterIP', 'LoadBalancer', or 'NodePort') | `ClusterIP` |
+| `service.port` | Kubernetes service port | `5701` |
+| `rbac.create` | Enable installing RBAC Role authorization | `true` |
+| `serviceAccount.create` | Enable installing Service Account | `true` |
+| `serviceAccount.name` | Name of Service Account, if not set, the name is generated using the fullname template | `nil` |
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
+
+```bash
+$ helm install --name my-release \
+ --set cluster.memberCount=3,serviceAccount.create=false \
+ stable/hazelcast-jet
+```
+
+The above command sets number of Hazelcast Jet members to 3 and disables REST endpoints.
+
+Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
+
+```bash
+$ helm install --name my-release -f values.yaml hazelcast/hazelcast-jet
+```
+
+> **Tip**: You can use the default [values.yaml](values.yaml)
+
+## Custom Hazelcast IMDG and Jet configuration
+
+Custom Hazelcast IMDG and Hazelcast Jet configuration can be specified inside `values.yaml`, as the `jet.configurationFiles.hazelcast.xml` and `jet.configurationFiles.hazelcast-jet.xml` properties.
+
+```yaml
+jet:
+ configurationFiles:
+ hazelcast.xml: |-
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+ ${serviceName}
+ ${namespace}
+
+
+
+
+
+
+
+ hazelcast-jet.xml: |-
+
+
+
+
+ 8
+
+ 100
+
+ 1
+
+
+
+ custom property
+
+
+
+ 1024
+
+ 16384
+
+ 3
+
+
+
+
+ 120
+
+ 5
+
+ false
+
+
+```
diff --git a/stable/hazelcast-jet/templates/NOTES.txt b/stable/hazelcast-jet/templates/NOTES.txt
new file mode 100644
index 0000000000..41ff67a54e
--- /dev/null
+++ b/stable/hazelcast-jet/templates/NOTES.txt
@@ -0,0 +1,61 @@
+** Hazelcast Jet cluster is being deployed! **
+
+-------------------------------------------------------------------------------
+To access Hazelcast Jet within the Kubernetes cluster:
+
+- Use Hazelcast Client with Kubernetes Discovery Strategy pointing to DNS: {{ template "hazelcast-jet.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local. Read more at: https://github.com/hazelcast/hazelcast-kubernetes.
+
+{{- if .Values.jet.rest }}
+- Use REST healtcheck endpoint:
+ $ curl http://{{ template "hazelcast-jet.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local:5701/hazelcast/health
+{{- end }}
+
+-------------------------------------------------------------------------------
+
+To access Hazelcast from outside the Kubernetes cluster:
+
+- Use Hazelcast Client with Smart Routing disabled:
+{{- if contains "LoadBalancer" .Values.service.type }}
+ *) Check service external IP:
+ $ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "hazelcast-jet.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ *) In Hazelcast Client configuration:
+ clientConfig.getNetworkConfig().setSmartRouting(false);
+ clientConfig.getNetworkConfig().addAddress("$SERVICE_IP:{{ .Values.service.port }}");
+{{- else if contains "ClusterIP" .Values.service.type }}
+ *) Forward port from POD:
+ $ export POD=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "hazelcast-jet.name" . }}" -o jsonpath="{.items[0].metadata.name}")
+ $ kubectl port-forward --namespace {{ .Release.Namespace }} $POD 5701:5701
+ *) In Hazelcast Client configure:
+ clientConfig.getNetworkConfig().setSmartRouting(false);
+ clientConfig.getNetworkConfig().addAddress("127.0.0.1:5701");
+{{- else if contains "NodePort" .Values.service.type }}
+ *) Check Node IP and Port:
+ $ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ $ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "hazelcast-jet.fullname" . }})
+ *) In Hazelcast Client configure:
+ clientConfig.getNetworkConfig().setSmartRouting(false);
+ clientConfig.getNetworkConfig().addAddress("$NODE_IP:$NODE_PORT");
+{{- end }}
+
+{{- if .Values.jet.rest }}
+
+- Use REST healtcheck endpoint:
+{{- if contains "LoadBalancer" .Values.service.type }}
+ *) Check service external IP:
+ $ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "hazelcast-jet.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ *) Get health info:
+ $ curl http://$SERVICE_IP:{{ .Values.service.port }}/hazelcast/health
+{{- else if contains "ClusterIP" .Values.service.type }}
+ *) Forward port from POD:
+ $ export POD=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "hazelcast-jet.name" . }}" -o jsonpath="{.items[0].metadata.name}")
+ $ kubectl port-forward --namespace {{ .Release.Namespace }} $POD 5701:5701
+ *) Get health info:
+ $ curl http://127.0.0.1:5701/hazelcast/health
+{{- else if contains "NodePort" .Values.service.type }}
+ *) Check Node IP and Port:
+ $ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ $ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "hazelcast-jet.fullname" . }})
+ *) Get health info:
+ $ curl http://$NODE_IP:$NODE_PORT/hazelcast/health
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/stable/hazelcast-jet/templates/_helpers.tpl b/stable/hazelcast-jet/templates/_helpers.tpl
new file mode 100644
index 0000000000..54acdd2115
--- /dev/null
+++ b/stable/hazelcast-jet/templates/_helpers.tpl
@@ -0,0 +1,43 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "hazelcast-jet.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "hazelcast-jet.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "hazelcast-jet.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "hazelcast-jet.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create -}}
+ {{ default (include "hazelcast-jet.fullname" .) .Values.serviceAccount.name }}
+{{- else -}}
+ {{ default "default" .Values.serviceAccount.name }}
+{{- end -}}
+{{- end -}}
diff --git a/stable/hazelcast-jet/templates/config.yaml b/stable/hazelcast-jet/templates/config.yaml
new file mode 100644
index 0000000000..d44e8abd76
--- /dev/null
+++ b/stable/hazelcast-jet/templates/config.yaml
@@ -0,0 +1,16 @@
+{{- if .Values.jet.configurationFiles }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "hazelcast-jet.fullname" . }}-configuration
+ labels:
+ app: {{ template "hazelcast-jet.name" . }}
+ chart: {{ template "hazelcast-jet.chart" . }}
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+data:
+{{- range $key, $val := .Values.jet.configurationFiles }}
+ {{ $key }}: |-
+{{ $val | indent 4}}
+{{- end }}
+{{- end -}}
diff --git a/stable/hazelcast-jet/templates/role.yaml b/stable/hazelcast-jet/templates/role.yaml
new file mode 100644
index 0000000000..ab7ea83895
--- /dev/null
+++ b/stable/hazelcast-jet/templates/role.yaml
@@ -0,0 +1,19 @@
+{{- if .Values.rbac.create -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: {{ template "hazelcast-jet.fullname" . }}
+ labels:
+ app: {{ template "hazelcast-jet.name" . }}
+ chart: {{ template "hazelcast-jet.chart" . }}
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - endpoints
+ verbs:
+ - get
+ - list
+{{- end -}}
diff --git a/stable/hazelcast-jet/templates/rolebinding.yaml b/stable/hazelcast-jet/templates/rolebinding.yaml
new file mode 100644
index 0000000000..0d9eafcbdb
--- /dev/null
+++ b/stable/hazelcast-jet/templates/rolebinding.yaml
@@ -0,0 +1,19 @@
+{{- if .Values.rbac.create -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ template "hazelcast-jet.fullname" . }}
+ labels:
+ app: {{ template "hazelcast-jet.name" . }}
+ chart: {{ template "hazelcast-jet.chart" . }}
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ template "hazelcast-jet.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ template "hazelcast-jet.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+{{ end }}
diff --git a/stable/hazelcast-jet/templates/service.yaml b/stable/hazelcast-jet/templates/service.yaml
new file mode 100644
index 0000000000..807c91430d
--- /dev/null
+++ b/stable/hazelcast-jet/templates/service.yaml
@@ -0,0 +1,22 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ template "hazelcast-jet.fullname" . }}
+ labels:
+ app: {{ template "hazelcast-jet.name" . }}
+ chart: {{ template "hazelcast-jet.chart" . }}
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+spec:
+ type: {{ .Values.service.type }}
+ {{- if .Values.service.clusterIP }}
+ clusterIP: {{ .Values.service.clusterIP }}
+ {{- end }}
+ selector:
+ app: {{ template "hazelcast-jet.name" . }}
+ release: "{{ .Release.Name }}"
+ ports:
+ - protocol: TCP
+ port: {{ .Values.service.port }}
+ targetPort: hazelcast-jet
+ name: hzport
diff --git a/stable/hazelcast-jet/templates/serviceaccount.yaml b/stable/hazelcast-jet/templates/serviceaccount.yaml
new file mode 100644
index 0000000000..8b131ac523
--- /dev/null
+++ b/stable/hazelcast-jet/templates/serviceaccount.yaml
@@ -0,0 +1,11 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ template "hazelcast-jet.serviceAccountName" . }}
+ labels:
+ app: {{ template "hazelcast-jet.name" . }}
+ chart: {{ template "hazelcast-jet.chart" . }}
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- end -}}
diff --git a/stable/hazelcast-jet/templates/statefulset.yaml b/stable/hazelcast-jet/templates/statefulset.yaml
new file mode 100644
index 0000000000..dfc9aa4c3d
--- /dev/null
+++ b/stable/hazelcast-jet/templates/statefulset.yaml
@@ -0,0 +1,76 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ template "hazelcast-jet.fullname" . }}
+ labels:
+ app: {{ template "hazelcast-jet.name" . }}
+ chart: {{ template "hazelcast-jet.chart" . }}
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+spec:
+ replicas: {{ .Values.cluster.memberCount }}
+ selector:
+ matchLabels:
+ app: {{ template "hazelcast-jet.name" . }}
+ release: "{{ .Release.Name }}"
+ template:
+ metadata:
+ labels:
+ app: {{ template "hazelcast-jet.name" . }}
+ release: "{{ .Release.Name }}"
+ spec:
+ {{- if .Values.image.pullSecrets }}
+ imagePullSecrets:
+ {{- range .Values.image.pullSecrets }}
+ - name: {{ . }}
+ {{- end}}
+ {{- end}}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end }}
+ {{- if .Values.gracefulShutdown.enabled }}
+ terminationGracePeriodSeconds: {{ .Values.gracefulShutdown.maxWaitSeconds }}
+ {{- end }}
+ containers:
+ - name: {{ template "hazelcast-jet.fullname" . }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ ports:
+ - name: hazelcast-jet
+ containerPort: 5701
+ {{- if .Values.livenessProbe.enabled }}
+ livenessProbe:
+ httpGet:
+ path: /hazelcast/health/node-state
+ port: 5701
+ initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
+ periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
+ timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
+ successThreshold: {{ .Values.livenessProbe.successThreshold }}
+ failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
+ {{- end }}
+ {{- if .Values.readinessProbe.enabled }}
+ readinessProbe:
+ httpGet:
+ path: /hazelcast/health/node-state
+ port: 5701
+ initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
+ timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
+ successThreshold: {{ .Values.readinessProbe.successThreshold }}
+ failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
+ {{- end }}
+ volumeMounts:
+ - name: hazelcast-jet-storage
+ mountPath: /data/hazelcast-jet
+ env:
+ - name: JAVA_OPTS
+ value: "-Dhazelcast.rest.enabled={{ .Values.jet.rest }} -Dhazelcast.config=/data/hazelcast-jet/hazelcast.xml -Dhazelcast.jet.config=/data/hazelcast-jet/hazelcast-jet.xml -DserviceName={{ template "hazelcast-jet.fullname" . }} -Dnamespace={{ .Release.Namespace }} {{ if .Values.gracefulShutdown.enabled }}-Dhazelcast.shutdownhook.policy=GRACEFUL -Dhazelcast.shutdownhook.enabled=true -Dhazelcast.graceful.shutdown.max.wait={{ .Values.gracefulShutdown.maxWaitSeconds }} {{ end }} {{ .Values.jet.javaOpts }}"
+ serviceAccountName: {{ template "hazelcast-jet.serviceAccountName" . }}
+ volumes:
+ - name: hazelcast-jet-storage
+ configMap:
+ name: {{ template "hazelcast-jet.fullname" . }}-configuration
diff --git a/stable/hazelcast-jet/values.yaml b/stable/hazelcast-jet/values.yaml
new file mode 100644
index 0000000000..e021b4ff9d
--- /dev/null
+++ b/stable/hazelcast-jet/values.yaml
@@ -0,0 +1,161 @@
+## Hazelcast Jet image version
+## ref: https://hub.docker.com/r/hazelcast/hazelcast-jet/tags/
+##
+image:
+ # repository is the Hazelcast Jet image name
+ repository: "hazelcast/hazelcast-jet"
+ # tag is the Hazelcast Jet image tag
+ tag: "0.7"
+ # pullPolicy is the Docker image pull policy
+ # It's recommended to change this to 'Always' if the image tag is 'latest'
+ # ref: http://kubernetes.io/docs/user-guide/images/#updating-images
+ #
+ pullPolicy: IfNotPresent
+ # pullSecrets is an array of docker-registry secret names
+ # Secrets must be manually created in the namespace.
+ # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+ # pullSecrets:
+ # - myRegistryKeySecretName
+
+# Cluster settings
+cluster:
+ # memberCount is the number Hazelcast Jet members
+ memberCount: 2
+
+# Hazelcast Jet properties
+jet:
+ # rest is a flag used to enable REST endpoints for Hazelcast Jet member
+ rest: true
+ # javaOpts are additional JAVA_OPTS properties for Hazelcast Jet member
+ javaOpts:
+ # configurationFiles are Hazelcast Jet configuration files
+ configurationFiles:
+ hazelcast.xml: |-
+
+
+
+ true
+
+
+
+
+
+
+
+
+ ${serviceName}
+ ${namespace}
+
+
+
+
+
+
+ hazelcast-jet.xml: |-
+
+
+
+
+ 8
+
+ 100
+
+ 1
+
+
+
+ custom property
+
+
+
+ 1024
+
+ 16384
+
+ 3
+
+
+
+
+ 120
+
+ 5
+
+ false
+
+
+
+# nodeSelector is an array of Hazelcast Node labels for POD assignments
+# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
+nodeSelector: {}
+
+gracefulShutdown:
+ enabled: true
+ maxWaitSeconds: 600
+
+# Hazelcast Liveness probe
+livenessProbe:
+ # enabled is a flag to used to enable liveness probe
+ enabled: true
+ # initialDelaySeconds is a delay before liveness probe is initiated
+ initialDelaySeconds: 30
+ # periodSeconds decides how often to perform the probe
+ periodSeconds: 10
+ # timeoutSeconds decides when the probe times out
+ timeoutSeconds: 5
+ # successThreshold is the minimum consecutive successes for the probe to be considered successful after having failed
+ successThreshold: 1
+ # failureThreshold is the minimum consecutive failures for the probe to be considered failed after having succeeded
+ failureThreshold: 3
+
+# Hazelcast Readiness probe
+readinessProbe:
+ # enabled is a flag to used to enable readiness probe
+ enabled: true
+ # initialDelaySeconds is a delay before readiness probe is initiated
+ initialDelaySeconds: 30
+ # periodSeconds decides how often to perform the probe
+ periodSeconds: 10
+ # timeoutSeconds decides when the probe times out
+ timeoutSeconds: 1
+ # successThreshold is the minimum consecutive successes for the probe to be considered successful after having failed
+ successThreshold: 1
+ # failureThreshold is the minimum consecutive failures for the probe to be considered failed after having succeeded
+ failureThreshold: 3
+
+# Configure resource requests and limits
+# ref: http://kubernetes.io/docs/user-guide/compute-resources/
+#
+# resources:
+# requests:
+# memory: 256Mi
+# cpu: 100m
+
+# Hazelcast Service properties
+service:
+ # type defines the Kubernetes service type ('ClusterIP', 'LoadBalancer', or 'NodePort')
+ type: ClusterIP
+ # port is the Kubernetes service port
+ port: 5701
+ # clusterIP set to None makes the service headless
+ # It is required if DNS Lookup is used (https://github.com/hazelcast/hazelcast-kubernetes#dns-lookup)
+ # clusterIP: "None"
+
+# Role-based Access Control
+rbac:
+ # Specifies whether RBAC resources should be created
+ # It is not required if DNS Lookup is used (https://github.com/hazelcast/hazelcast-kubernetes#dns-lookup)
+ create: true
+
+serviceAccount:
+ # Specifies whether a ServiceAccount should be created
+ create: true
+ # The name of the ServiceAccount to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: