Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cadence] enable archival in the chart #1127

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cadence/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: cadence
version: 0.10.0
version: 0.10.1
appVersion: 0.13.0
description: Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
icon: https://raw.githubusercontent.com/uber/cadence-web/master/client/assets/logo.svg
Expand Down
119 changes: 61 additions & 58 deletions cadence/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,64 +226,67 @@ docker run --rm ubercadence/cli:master --address host.docker.internal:7933 --dom
The following table lists the configurable parameters of the chart and their default values.
Global options overridable per service are marked with an asterisk.

| Parameter | Description | Default |
|---------------------------------------------------|-------------------------------------------------------|-----------------------|
| `nameOverride` | Override name of the application | `` |
| `fullnameOverride` | Override full name of the application | `` |
| `server.image.repository` | Server image repository | `ubercadence/server` |
| `server.image.tag` | Server image tag | `0.7.1` |
| `server.image.pullPolicy` | Server image pull policy | `IfNotPresent` |
| `server.replicaCount`* | Server replica count | `1` |
| `server.metrics.annotations.enabled`* | Annotate pods with Prometheus annotations | `false` |
| `server.metrics.serviceMonitor.enabled`* | Enable Prometheus ServiceMonitor | `false` |
| `server.metrics.prometheus.timerType`* | Prometheus timer type | `histogram` |
| `server.metrics.statsd.hostPort`* | Statsd daemon host and port | `` |
| `server.podAnnotations`* | Server pod annotations | `{}` |
| `server.resources`* | Server CPU/Memory resource requests/limits | `{}` |
| `server.nodeSelector`* | Node labels for pod assignment | `{}` |
| `server.tolerations`* | Toleration labels for pod assignment | `[]` |
| `server.affinity`* | Affinity settings for pod assignment | `{}` |
| `server.config.logLevel` | Server log level | `debug,info` |
| `server.config.numHistoryShards` | Number of history shards | `1000` |
| `server.config.persistence.[store].driver` | Connection driver | `cassandra` |
| `server.config.persistence.[store].cassandra` | Cassandra connection details (see `values.yaml`) | `{}` |
| `server.config.persistence.[store].sql` | SQL connection details (see `values.yaml`) | `{}` |
| `server.[service].service.type` | `[service]` service type | `ClusterIP` |
| `server.[service].service.port` | `[service]` service port | `7933/7934/7935/7939` |
| `server.[service].metrics.annotations.enabled` | Annotate `[service]` pods with Prometheus annotations | `` |
| `server.[service].metrics.serviceMonitor.enabled` | Enable Prometheus ServiceMonitor for `[service]` | `` |
| `server.[service].metrics.prometheus.timerType` | `[service]` Prometheus timer type | `` |
| `server.[service].metrics.statsd.hostPort` | `[service]` Statsd daemon host and port | `` |
| `server.[service].podAnnotations` | `[service]` pod annotations | `{}` |
| `server.[service].resources` | `[service]` CPU/Memory resource requests/limits | `{}` |
| `server.[service].nodeSelector` | `[service]` Node labels for pod assignment | `{}` |
| `server.[service].tolerations` | `[service]` Toleration labels for pod assignment | `[]` |
| `server.[service].affinity` | `[service]` Affinity settings for pod assignment | `{}` |
| `server.frontend.service.nodePort` | frontend service nodePort, if service type is NodePort| `` |
| `web.enabled` | Enable WebUI service | `true` |
| `web.replicaCount` | Number of WebUI service Replicas | `1` |
| `web.image.repository` | WebUI image repository | `ubercadence/web` |
| `web.image.tag` | WebUI image tag | `3.3.2` |
| `web.image.pullPolicy` | WebUI image pull policy | `IfNotPresent` |
| `web.service.annotations` | WebUI service annotations | `{}` |
| `web.service.type` | WebUI service type | `ClusterIP` |
| `web.service.port` | WebUI service port | `80` |
| `web.service.nodePort` | WebUI service nodePort, if service type is NodePort | `` |
| `web.ingress.enabled` | Enable WebUI Ingress | `false` |
| `web.ingress.annotations` | WebUI Ingress annotations | `{}` |
| `web.ingress.hosts` | WebUI Ingress hosts | `/` |
| `web.ingress.tls` | WebUI Ingress tls config | `[]` |
| `web.resources` | WebUI CPU/Memory resource requests/limits | `{}` |
| `web.nodeSelector` | Node labels for pod assignment | `{}` |
| `web.tolerations` | Toleration labels for pod assignment | `[]` |
| `web.affinity` | Affinity settings for pod assignment | `{}` |
| `schema.setup.enabled` | Create database or keyspace | `true` |
| `schema.setup.backoffLimit` | Create database job back off limit | `100` |
| `schema.update.enabled` | Update schema | `true` |
| `schema.update.backoffLimit` | Update schema job back off limit | `100` |
| `cassandra.enabled` | Install Cassandra cluster | `true` |
| `cassandra.config.cluster_size` | Cassandra cluster node number | `1` |
| `mysql.enabled` | Install MySQL | `false` |
| Parameter | Description | Default |
|---------------------------------------------------|-------------------------------------------------------|---------------------------------------------------|
| `nameOverride` | Override name of the application | `` |
| `fullnameOverride` | Override full name of the application | `` |
| `server.image.repository` | Server image repository | `ubercadence/server` |
| `server.image.tag` | Server image tag | `0.7.1` |
| `server.image.pullPolicy` | Server image pull policy | `IfNotPresent` |
| `server.replicaCount`* | Server replica count | `1` |
| `server.metrics.annotations.enabled`* | Annotate pods with Prometheus annotations | `false` |
| `server.metrics.serviceMonitor.enabled`* | Enable Prometheus ServiceMonitor | `false` |
| `server.metrics.prometheus.timerType`* | Prometheus timer type | `histogram` |
| `server.metrics.statsd.hostPort`* | Statsd daemon host and port | `` |
| `server.podAnnotations`* | Server pod annotations | `{}` |
| `server.resources`* | Server CPU/Memory resource requests/limits | `{}` |
| `server.nodeSelector`* | Node labels for pod assignment | `{}` |
| `server.tolerations`* | Toleration labels for pod assignment | `[]` |
| `server.affinity`* | Affinity settings for pod assignment | `{}` |
| `server.config.logLevel` | Server log level | `debug,info` |
| `server.config.numHistoryShards` | Number of history shards | `1000` |
| `server.config.persistence.[store].driver` | Connection driver | `cassandra` |
| `server.config.persistence.[store].cassandra` | Cassandra connection details (see `values.yaml`) | `{}` |
| `server.config.persistence.[store].sql` | SQL connection details (see `values.yaml`) | `{}` |
| `server.[service].service.type` | `[service]` service type | `ClusterIP` |
| `server.[service].service.port` | `[service]` service port | `7933/7934/7935/7939` |
| `server.[service].metrics.annotations.enabled` | Annotate `[service]` pods with Prometheus annotations | `` |
| `server.[service].metrics.serviceMonitor.enabled` | Enable Prometheus ServiceMonitor for `[service]` | `` |
| `server.[service].metrics.prometheus.timerType` | `[service]` Prometheus timer type | `` |
| `server.[service].metrics.statsd.hostPort` | `[service]` Statsd daemon host and port | `` |
| `server.[service].podAnnotations` | `[service]` pod annotations | `{}` |
| `server.[service].resources` | `[service]` CPU/Memory resource requests/limits | `{}` |
| `server.[service].nodeSelector` | `[service]` Node labels for pod assignment | `{}` |
| `server.[service].tolerations` | `[service]` Toleration labels for pod assignment | `[]` |
| `server.[service].affinity` | `[service]` Affinity settings for pod assignment | `{}` |
| `server.frontend.service.nodePort` | frontend service nodePort, if service type is NodePort| `` |
| `web.enabled` | Enable WebUI service | `true` |
| `web.replicaCount` | Number of WebUI service Replicas | `1` |
| `web.image.repository` | WebUI image repository | `ubercadence/web` |
| `web.image.tag` | WebUI image tag | `3.3.2` |
| `web.image.pullPolicy` | WebUI image pull policy | `IfNotPresent` |
| `web.service.annotations` | WebUI service annotations | `{}` |
| `web.service.type` | WebUI service type | `ClusterIP` |
| `web.service.port` | WebUI service port | `80` |
| `web.service.nodePort` | WebUI service nodePort, if service type is NodePort | `` |
| `web.ingress.enabled` | Enable WebUI Ingress | `false` |
| `web.ingress.annotations` | WebUI Ingress annotations | `{}` |
| `web.ingress.hosts` | WebUI Ingress hosts | `/` |
| `web.ingress.tls` | WebUI Ingress tls config | `[]` |
| `web.resources` | WebUI CPU/Memory resource requests/limits | `{}` |
| `web.nodeSelector` | Node labels for pod assignment | `{}` |
| `web.tolerations` | Toleration labels for pod assignment | `[]` |
| `web.affinity` | Affinity settings for pod assignment | `{}` |
| `schema.setup.enabled` | Create database or keyspace | `true` |
| `schema.setup.backoffLimit` | Create database job back off limit | `100` |
| `schema.update.enabled` | Update schema | `true` |
| `schema.update.backoffLimit` | Update schema job back off limit | `100` |
| `cassandra.enabled` | Install Cassandra cluster | `true` |
| `cassandra.config.cluster_size` | Cassandra cluster node number | `1` |
| `mysql.enabled` | Install MySQL | `false` |
| `archival.provider` | Archival provider | `filestore` |
| `archival.historyURI` | History workflow archival URI | `file:///tmp/cadence_archival/development` |
| `archival.visibilityURI` | Visibility workflow archival URI | `file:///tmp/cadence_vis_archival/development` |


Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example:
Expand Down
36 changes: 35 additions & 1 deletion cadence/templates/server-configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,41 @@ data:
toDC: ""

archival:
status: "disabled"
history:
status: "enabled"
enableRead: true
provider:
{{- if eq .Values.archival.provider "filestore" }}
filestore:
fileMode: "0666"
dirMode: "0766"
{{- end }}
{{- if eq .Values.archival.provider "s3store" }}
s3store:
region: {{ .Values.archival.region | default "ap-south-1" | quote }}
{{- end }}
visibility:
status: "enabled"
enableRead: true
provider:
{{- if eq .Values.archival.provider "filestore" }}
filestore:
fileMode: "0666"
dirMode: "0766"
{{- end }}
{{- if eq .Values.archival.provider "s3store" }}
s3store:
region: {{ .Values.archival.region | default "ap-south-1" | quote }}
{{- end }}

domainDefaults:
archival:
history:
status: "disabled"
URI: {{ .Values.archival.historyURI | quote }}
visibility:
status: "disabled"
URI: {{ .Values.archival.visibilityURI | quote }}

publicClient:
hostPort: "{{ include "cadence.componentname" (list . "frontend") }}:{{ .Values.server.frontend.service.port }}"
6 changes: 4 additions & 2 deletions cadence/values.prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@ server:
password: ""

schema:
setup: false
update: false
setup:
enabled: false
update:
enabled: false

cassandra:
enabled: false
Expand Down
5 changes: 5 additions & 0 deletions cadence/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -269,3 +269,8 @@ mysql:
initializationFiles:
user.sql: |-
GRANT ALL PRIVILEGES ON *.* TO 'cadence'@'%';

archival:
provider: filestore
historyURI: "file:///tmp/cadence_archival/development"
visibilityURI: "file:///tmp/cadence_vis_archival/development"