Event Store is an open-source, functional database with Complex Event Processing in JavaScript.
helm repo add eventstore https://eventstore.github.io/EventStore.Charts
helm repo update
The default username and password for the admin interface is
admin:changeit
.
This chart bootstraps a Event Store deployment on a Kubernetes cluster using the Helm package manager.
- Kubernetes 1.4+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure (Only when persisting data)
Add the Event Store Charts repository.
helm repo add eventstore https://eventstore.github.io/EventStore.Charts
helm repo update
To install the Event Store chart with the release name eventstore
:
helm install -n eventstore eventstore/eventstore
To install the Event Store chart with a custom admin password:
helm install -n eventstore eventstore/eventstore --set 'admin.password=<your admin password>'
This triggers Helm to run a post-install Job which resets the admin password using
the Event Store HTTP API. You can then use the username admin
and the password set
in the above command to log into the admin interface.
The above commands install Event Store with the default configuration. The configuration section below lists the parameters that can be configured during installation.
Delete the eventstore
release.
helm delete eventstore --purge
This command removes all the Kubernetes components associated with the chart and deletes the release.
The following table lists the configurable parameters of the Event Store chart and their default values.
Parameter | Description | Default |
---|---|---|
image |
Container image name | eventstore/eventstore |
imageTag |
Container image tag | release-4.1.1-hotfix1 |
imagePullPolicy |
Container pull policy | IfNotPresent |
imagePullSecrets |
Specify image pull secrets | nil |
clusterSize |
The number of nodes in the cluster | 3 |
admin.jobImage |
Post install Job image with curl installed for setting admin password |
tutum/curl |
admin.jobImageTag |
Post install Job image tag | latest |
admin.password |
Custom password for admin interface (should be set in separate file) | nil |
admin.serviceType |
Service type for the admin interface | ClusterIP |
admin.proxyImage |
NGINX image for admin interface proxy | nginx |
admin.proxyImageTag |
NGINX image tag | latest |
podDisruptionBudget.enabled |
Enable a pod disruption budget for nodes | false |
podDisruptionBudget.minAvailable |
Number of pods that must still be available after eviction | 2 |
podDisruptionBudget.maxUnavailable |
Number of pods that can be unavailable after eviction | nil |
intHttpPort |
Internal HTTP port | 2112 |
extHttpPort |
External HTTP port | 2113 |
intTcpPort |
Internal TCP port | 1112 |
extTcpPort |
External TCP port | 1113 |
gossipAllowedDiffMs |
The amount of drift, in ms, between clocks on nodes before gossip is rejected | 600000 |
eventStoreConfig |
Additional Event Store parameters | {} |
scavenging.enabled |
Enable the scavenging CronJob for all nodes | false |
scavenging.schedule |
The schedule to use for the scavenging CronJob | 0 2 * * * |
persistence.enabled |
Enable persistence using PVC | false |
persistence.existingClaim |
Provide an existing PVC | nil |
persistence.accessMode |
Access Mode for PVC | ReadWriteOnce |
persistence.size |
Size of data volume | 8Gi |
persistence.mountPath |
Mount path of data volume | /var/lib/eventstore |
persistence.annotations |
Annotations for PVC | {} |
resources |
CPU/Memory resource request/limits | Memory: 256Mi , CPU: 100m |
nodeSelector |
Node labels for pod assignment | {} |
podAnnotations |
Pod annotations | {} |
tolerations |
Toleration labels for pod assignment | [] |
affinity |
Affinity settings for pod assignment | {} |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
or create a values.yaml
file and use helm install --values values.yaml
.