Commit dbd40677 authored by 徐泽意's avatar 徐泽意

第一版chart提交

parent 5fa3aa64
apiVersion: v2
name: approval-process
description: A Helm chart for Kubernetes
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 2.5.0-apaasv5
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"
keywords:
- beagle
- data
maintainers:
- name: xuzeyi
\ No newline at end of file
# approval-process ### 概要说明
```
业务工作流V2.4
```
### 注意
```
1、redis、postgres可通过values.yaml中enabled控制是否部署;
2、服务配置的redis连接地址,需要和apaas中配置的地址保持一致;
3、values.yaml中的global参数均有注释,请根据注释配置正确。
```
### DB说明
```
https://cloud.wodcloud.com/git/approval-process/approval-process-yaml/-/blob/master/deploy/product/v2.5.0-apaasv5/README.MD
需要新建业务工作流数据库 执行product/v2.5.0/approval-process_init.sql
需要新建表单数据库 执行product/v2.5.0/approval-process-form_init.sql
工作流数据库 执行product/v2.5.0-apaasv5/approval-process_init.sql
表单数据库 执行product/v2.5.0-apaasv5/approval-process-form_init.sql
```
### 其他说明
```
部署方式详参deploy.md文件
依赖组件
apaas-v3 & apaas-v5
postgres
redis(apass所连接的redis)
zeebe(新)
zeebe-impoter(新)
zeebe arm镜像
registry.cn-qingdao.aliyuncs.com/wod/zeebe:1.1.2-exporter-arm64
importer arm镜像
hub.wodcloud.com/workflow/process-importer:v1.5-alpha-arm64
```
name: postgresql
version: v1.0
description: postgresql
appVersion: 13.5
apiVersion: v1
type: application
name: redis
version: v1.0
description: postgresql
appVersion: 6.2.6
apiVersion: v1
type: application
{{- $redisConf := .Values.conf }}
apiVersion: v1
kind: ConfigMap
metadata:
name: redis
namespace: {{ .Release.Namespace }}
data:
redis.conf: |
daemonize no
pidfile /var/run/redis.pid
timeout 0
loglevel verbose
logfile stdout
{{ .Values.conf.port }}
{{ .Values.conf.db }}
{{ .Values.conf.maxmem }}
{{ .Values.conf.apl }}
{{ .Values.conf.passwd }}
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis
namespace: {{ .Release.Namespace }}
spec:
podManagementPolicy: OrderedReady
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: redis
serviceName: ""
template:
metadata:
labels:
app: redis
spec:
containers:
- args:
- /usr/local/etc/redis/redis.conf
{{- if contains "/" .Values.image.repository }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
{{- else }}
image: "{{ .Values.global.hub }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}{{ template "beagle.imageArch" . }}"
{{- end }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
name: redis
ports:
- containerPort: 6379
resources: {}
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 300
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: 6379
timeoutSeconds: 1
volumeMounts:
- mountPath: /etc/localtime
name: localtime
- mountPath: /usr/local/etc/redis
name: conf
- mountPath: /data
name: data
restartPolicy: Always
volumes:
- hostPath:
path: /etc/localtime
type: ""
name: localtime
- configMap:
defaultMode: 420
name: redis
name: conf
volumeClaimTemplates:
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: redis
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: {{ .Values.storageClassName }}
volumeMode: Filesystem
## 注意
```
1、redis、postgres可通过values.yaml中enabled控制是否部署;
2、服务配置的redis连接地址,需要和apaas中配置的地址保持一致;
3、values.yaml中的global参数均有注释,请根据注释配置正确。
```
## Install
```
helm install \
approval-process \
/etc/kubernetes/charts/approval-process \
--namespace apaas-v5-approval \
-f /etc/kubernetes/charts/values.yaml
```
## Upgrade
```
helm upgrade \
approval-process \
/etc/kubernetes/charts/approval-process \
--namespace apaas-v5-approval \
-f /etc/kubernetes/charts/values.yaml
```
## Uninstall
```
helm uninstall \
approval-process \
--namespace apaas-v5-approval
kubectl delete ns apaas-v5-approval
```
## Template
```
helm template \
approval-process \
/etc/kubernetes/charts/approval-process \
--namespace apaas-v5-approval \
-f /etc/kubernetes/charts/values.yaml > /etc/kubernetes/charts/approval-process-dist.yaml
```
\ No newline at end of file
dependencies:
- name: postgresql
version: 13.5
condition: postgresql.enabled
- name: redis
version: 6.0.9
condition: redis.enabled
\ No newline at end of file
{{/*
Expand the name of the chart.
*/}}
{{- define "approval-process.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "approval-process.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | 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 "approval-process.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 }}
{{- define "beagle.imageArch" -}}
{{- if not (eq "amd64" .Values.global.imageArch) -}}
{{- print "-" .Values.global.imageArch -}}
{{- else -}}
{{- print "-" "amd64" -}}
{{- end -}}
{{- end }}
kind: Deployment
apiVersion: apps/v1
metadata:
name: approval-form
labels:
app.kubernetes.io/name: approval-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-form
spec:
replicas: 1
selector:
matchLabels:
app: approval-form
template:
metadata:
labels:
app.kubernetes.io/name: approval-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-form
spec:
volumes:
- name: localtime
hostPath:
path: /etc/localtime
containers:
- name: approval-form
{{- if contains "/" .Values.approvalForm.image.repository }}
image: "{{ .Values.approvalForm.image.repository }}:{{ .Values.approvalForm.image.tag }}{{ include "beagle.imageArch" . }}"
{{- else }}
image: "{{ .Values.global.hub }}/{{ .Values.approvalForm.image.repository }}:{{ .Values.approvalForm.image.tag }}{{ include "beagle.imageArch" . }}"
{{- end }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
resources:
{{- toYaml .Values.approvalForm.resources | nindent 12 }}
ports:
- containerPort: 80
name: http
protocol: TCP
volumeMounts:
- name: localtime
mountPath: /etc/localtime
{{- if .Values.global.ingressroute.enabled }}
---
kind: IngressRoute
apiVersion: bcc.bd-apaas.com/v1alpha1
metadata:
name: approval-form
labels:
app.kubernetes.io/name: approval-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-form
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/approval/form`)
services:
- kind: Service
name: approval-form
port: 80
tls: {}
{{- end }}
\ No newline at end of file
---
kind: Service
apiVersion: v1
metadata:
name: approval-form
labels:
app.kubernetes.io/name: approval-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-form
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: approval-form
\ No newline at end of file
---
kind: ConfigMap
apiVersion: v1
metadata:
name: approval-process-engine-config
labels:
app.kubernetes.io/name: approval-process-engine-config
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
data:
APPROVAL_API_TOKEN_KEY: "{{ .Values.approvalProcessEngine.conf.apiTokenKey }}"
APPROVAL_API_TOKEN_VALUE: "{{ .Values.approvalProcessEngine.conf.apiTokenValue }}"
APPROVAL_API_URL: "https://{{ .Values.global.ingressroute.host }}"
DB1_JDBC_URL: "{{ .Values.approvalProcessEngine.conf.dbDns1 }}"
DB1_PASSWORD: "{{ .Values.approvalProcessEngine.conf.dbPasswd1 }}"
DB1_USERNAME: "{{ .Values.approvalProcessEngine.conf.dbUser1 }}"
DB2_JDBC_URL: "{{ .Values.approvalProcessEngine.conf.dbDns2 }}"
DB2_PASSWORD: "{{ .Values.approvalProcessEngine.conf.dbPasswd2 }}"
DB2_USERNAME: "{{ .Values.approvalProcessEngine.conf.dbUser2 }}"
REDIS_DATABASE: "{{ .Values.approvalProcessEngine.conf.redisDatabase }}"
REDIS_HOST: "{{ .Values.approvalProcessEngine.conf.redisHost }}"
REDIS_PASSWORD: "{{ .Values.approvalProcessEngine.conf.redisPasswd }}"
REDIS_PORT: "{{ .Values.approvalProcessEngine.conf.redisPort }}"
REFRESH_INSTANCE_TASK_CRON: 0/5 * * * * ?
ZEEBE_GATEWAY_ADDRESS: "{{ .Values.approvalProcessEngine.conf.zeebeAddress }}"
\ No newline at end of file
kind: Deployment
apiVersion: apps/v1
metadata:
name: approval-process-engine
labels:
app.kubernetes.io/name: approval-process-engine
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-engine
spec:
replicas: 1
selector:
matchLabels:
app: approval-process-engine
template:
metadata:
labels:
app.kubernetes.io/name: approval-process-engine
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-engine
spec:
volumes:
- name: localtime
hostPath:
path: /etc/localtime
containers:
- name: approval-process-engine
{{- if contains "/" .Values.approvalProcessEngine.image.repository }}
image: "{{ .Values.approvalProcessEngine.image.repository }}:{{ .Values.approvalProcessEngine.image.tag }}{{ include "beagle.imageArch" . }}"
{{- else }}
image: "{{ .Values.global.hub }}/{{ .Values.approvalProcessEngine.image.repository }}:{{ .Values.approvalProcessEngine.image.tag }}{{ include "beagle.imageArch" . }}"
{{- end }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
resources:
{{- toYaml .Values.approvalProcessEngine.resources | nindent 12 }}
ports:
- containerPort: 8080
name: http
protocol: TCP
volumeMounts:
- name: localtime
mountPath: /etc/localtime
envFrom:
- configMapRef:
name: approval-process-engine-config
{{- if .Values.global.ingressroute.enabled }}
---
kind: IngressRoute
apiVersion: bcc.bd-apaas.com/v1alpha1
metadata:
name: approval-process-engine
labels:
app.kubernetes.io/name: approval-process-engine
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-engine
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/approval-process`)
services:
- kind: Service
name: approval-process-engine
port: 80
tls: {}
{{- end }}
\ No newline at end of file
---
kind: Service
apiVersion: v1
metadata:
name: approval-process-engine
labels:
app.kubernetes.io/name: approval-process-engine
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-engine
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: approval-process-engine
\ No newline at end of file
---
kind: ConfigMap
apiVersion: v1
metadata:
name: approval-process-form-config
labels:
app.kubernetes.io/name: approval-process-form-config
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
data:
DB_JDBC_URL: "{{ .Values.approvalProcessForm.conf.dbDns }}"
DB_USERNAME: "{{ .Values.approvalProcessForm.conf.dbUser }}"
DB_PASSWORD: "{{ .Values.approvalProcessForm.conf.dbPasswd }}"
REDIS_HOST: "{{ .Values.approvalProcessForm.conf.redisHost }}"
REDIS_PORT: "{{ .Values.approvalProcessForm.conf.redisPort }}"
REDIS_DATABASE: "{{ .Values.approvalProcessForm.conf.redisDatabase }}"
REDIS_PASSWORD: "{{ .Values.approvalProcessForm.conf.redisPasswd }}"
\ No newline at end of file
kind: Deployment
apiVersion: apps/v1
metadata:
name: approval-process-form
labels:
app.kubernetes.io/name: approval-process-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-form
spec:
replicas: 1
selector:
matchLabels:
app: approval-process-form
template:
metadata:
labels:
app.kubernetes.io/name: approval-process-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-form
spec:
volumes:
- name: localtime
hostPath:
path: /etc/localtime
containers:
- name: approval-process-form
{{- if contains "/" .Values.approvalProcessForm.image.repository }}
image: "{{ .Values.approvalProcessForm.image.repository }}:{{ .Values.approvalProcessForm.image.tag }}{{ include "beagle.imageArch" . }}"
{{- else }}
image: "{{ .Values.global.hub }}/{{ .Values.approvalProcessForm.image.repository }}:{{ .Values.approvalProcessForm.image.tag }}{{ include "beagle.imageArch" . }}"
{{- end }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
resources:
{{- toYaml .Values.approvalProcessForm.resources | nindent 12 }}
ports:
- containerPort: 8080
name: http
protocol: TCP
startupProbe:
failureThreshold: 3
httpGet:
path: /approval-form/health
port: 8080
scheme: HTTP
initialDelaySeconds: 15
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 1
livenessProbe:
failureThreshold: 3
httpGet:
path: /approval-form/health
port: 8080
scheme: HTTP
initialDelaySeconds: 15
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 1
volumeMounts:
- name: localtime
mountPath: /etc/localtime
envFrom:
- configMapRef:
name: approval-process-form-config
{{- if .Values.global.ingressroute.enabled }}
---
kind: IngressRoute
apiVersion: bcc.bd-apaas.com/v1alpha1
metadata:
name: approval-process-form
labels:
app.kubernetes.io/name: approval-process-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-form
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/approval-form`)
services:
- kind: Service
name: approval-process-form
port: 80
tls: {}
{{- end }}
\ No newline at end of file
---
kind: Service
apiVersion: v1
metadata:
name: approval-process-form
labels:
app.kubernetes.io/name: approval-process-form
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-process-form
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: approval-process-form
\ No newline at end of file
kind: Deployment
apiVersion: apps/v1
metadata:
name: approval-ui
labels:
app.kubernetes.io/name: approval-ui
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-ui
spec:
replicas: 1
selector:
matchLabels:
app: approval-ui
template:
metadata:
labels:
app.kubernetes.io/name: approval-ui
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-ui
spec:
volumes:
- name: localtime
hostPath:
path: /etc/localtime
containers:
- name: approval-ui
{{- if contains "/" .Values.approvalUi.image.repository }}
image: "{{ .Values.approvalUi.image.repository }}:{{ .Values.approvalUi.image.tag }}{{ include "beagle.imageArch" . }}"
{{- else }}
image: "{{ .Values.global.hub }}/{{ .Values.approvalUi.image.repository }}:{{ .Values.approvalUi.image.tag }}{{ include "beagle.imageArch" . }}"
{{- end }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
resources:
{{- toYaml .Values.approvalUi.resources | nindent 12 }}
ports:
- containerPort: 80
name: http
protocol: TCP
volumeMounts:
- name: localtime
mountPath: /etc/localtime
{{- if .Values.global.ingressroute.enabled }}
---
kind: IngressRoute
apiVersion: bcc.bd-apaas.com/v1alpha1
metadata:
name: approval-ui
labels:
app.kubernetes.io/name: approval-ui
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-ui
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/approval/ui`)
services:
- kind: Service
name: approval-ui
port: 80
tls: {}
{{- end }}
\ No newline at end of file
---
kind: Service
apiVersion: v1
metadata:
name: approval-ui
labels:
app.kubernetes.io/name: approval-ui
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: approval-ui
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: approval-ui
\ No newline at end of file
{{- if .Values.global.ingressroute.enabled }}
---
apiVersion: bcc.bd-apaas.com/v1alpha1
kind: IngressHost
metadata:
name: approval-process
spec:
host: "{{ .Values.global.ingressroute.host }}"
{{- end }}
---
kind: ConfigMap
apiVersion: v1
metadata:
name: process-importer-config
labels:
app.kubernetes.io/name: process-importer-config
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
data:
DB_JDBC_URL: "{{ .Values.processImporter.conf.dbDns }}"
DB_USERNAME: "{{ .Values.processImporter.conf.dbUser }}"
DB_PASSWORD: "{{ .Values.processImporter.conf.dbPasswd }}"
HAZEL_CAST_CONNECTION: "{{ .Values.processImporter.conf.zeebeAddress }}"
kind: Deployment
apiVersion: apps/v1
metadata:
name: process-importer
labels:
app.kubernetes.io/name: process-importer
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: process-importer
spec:
replicas: 1
selector:
matchLabels:
app: process-importer
template:
metadata:
labels:
app.kubernetes.io/name: process-importer
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: process-importer
spec:
volumes:
- name: localtime
hostPath:
path: /etc/localtime
containers:
- name: process-importer
{{- if contains "/" .Values.processImporter.image.repository }}
image: "{{ .Values.processImporter.image.repository }}:{{ .Values.processImporter.image.tag }}{{ include "beagle.imageArch" . }}"
{{- else }}
image: "{{ .Values.global.hub }}/{{ .Values.processImporter.image.repository }}:{{ .Values.processImporter.image.tag }}{{ include "beagle.imageArch" . }}"
{{- end }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
resources:
{{- toYaml .Values.processImporter.resources | nindent 12 }}
ports:
- containerPort: 8080
name: http
protocol: TCP
volumeMounts:
- name: localtime
mountPath: /etc/localtime
envFrom:
- configMapRef:
name: process-importer-config
---
kind: Service
apiVersion: v1
metadata:
name: process-importer
labels:
app.kubernetes.io/name: process-importer
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: process-importer
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: process-importer
\ No newline at end of file
---
kind: ConfigMap
apiVersion: v1
metadata:
name: zeebe-application
labels:
app.kubernetes.io/name: zeebe
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
data:
application.yaml: |
zeebe:
broker:
gateway:
# Enable the embedded gateway to start on broker startup.
# This setting can also be overridden using the environment variable ZEEBE_BROKER_GATEWAY_ENABLE.
enable: true
network:
# Sets the port the embedded gateway binds to.
# This setting can also be overridden using the environment variable ZEEBE_BROKER_GATEWAY_NETWORK_PORT.
port: 26500
security:
# Enables TLS authentication between clients and the gateway
# This setting can also be overridden using the environment variable ZEEBE_BROKER_GATEWAY_SECURITY_ENABLED.
enabled: false
network:
# Controls the default host the broker should bind to. Can be overwritten on a
# per binding basis for client, management and replication
# This setting can also be overridden using the environment variable ZEEBE_BROKER_NETWORK_HOST.
host: 0.0.0.0
data:
# Specify a directory in which data is stored.
# This setting can also be overridden using the environment variable ZEEBE_BROKER_DATA_DIRECTORY.
directory: data
# The size of data log segment files.
# This setting can also be overridden using the environment variable ZEEBE_BROKER_DATA_LOGSEGMENTSIZE.
logSegmentSize: 128MB
# How often we take snapshots of streams (time unit)
# This setting can also be overridden using the environment variable ZEEBE_BROKER_DATA_SNAPSHOTPERIOD.
snapshotPeriod: 15m
cluster:
# Specifies the Zeebe cluster size.
# This can also be overridden using the environment variable ZEEBE_BROKER_CLUSTER_CLUSTERSIZE.
clusterSize: 1
# Controls the replication factor, which defines the count of replicas per partition.
# This can also be overridden using the environment variable ZEEBE_BROKER_CLUSTER_REPLICATIONFACTOR.
replicationFactor: 1
# Controls the number of partitions, which should exist in the cluster.
# This can also be overridden using the environment variable ZEEBE_BROKER_CLUSTER_PARTITIONSCOUNT.
partitionsCount: 1
threads:
# Controls the number of non-blocking CPU threads to be used.
# WARNING: You should never specify a value that is larger than the number of physical cores
# available. Good practice is to leave 1-2 cores for ioThreads and the operating
# system (it has to run somewhere). For example, when running Zeebe on a machine
# which has 4 cores, a good value would be 2.
# This setting can also be overridden using the environment variable ZEEBE_BROKER_THREADS_CPUTHREADCOUNT
cpuThreadCount: 2
# Controls the number of io threads to be used.
# This setting can also be overridden using the environment variable ZEEBE_BROKER_THREADS_IOTHREADCOUNT
ioThreadCount: 2
exporters:
#elasticsearch:
#className: io.camunda.zeebe.exporter.ElasticsearchExporter
hazelcast:
className: io.zeebe.hazelcast.exporter.HazelcastExporter
jarPath: exporters/zeebe-hazelcast-exporter-1.0.1-jar-with-dependencies.jar
---
kind: Service
apiVersion: v1
metadata:
name: zeebe
labels:
app.kubernetes.io/name: zeebe
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: zeebe
spec:
ports:
- name: gateway
port: 26500
protocol: TCP
targetPort: 26500
- name: cm
port: 26501
protocol: TCP
targetPort: 26501
- name: api
port: 26502
protocol: TCP
targetPort: 26502
- name: exporter
port: 5701
protocol: TCP
targetPort: 5701
selector:
app: zeebe
\ No newline at end of file
---
kind: StatefulSet
apiVersion: apps/v1
metadata:
name: zeebe
labels:
app.kubernetes.io/name: zeebe
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: zeebe
spec:
serviceName: zeebe
selector:
matchLabels:
app: zeebe
{{- if .Values.zeebe.persistence.enabled }}
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: "{{ .Values.zeebe.persistence.storageClass }}"
volumeMode: Filesystem
{{- end }}
template:
metadata:
labels:
app.kubernetes.io/name: zeebe
helm.sh/chart: '{{ template "approval-process.chart" . }}'
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app.kubernetes.io/managed-by: "{{ .Release.Service }}"
app: zeebe
spec:
volumes:
- name: localtime
hostPath:
path: /etc/localtime
- name: application
configMap:
name: zeebe-application
items:
- key: application.yaml
path: application.yaml
containers:
- name: zeebe
{{- if contains "/" .Values.zeebe.image.repository }}
image: "{{ .Values.zeebe.image.repository }}:{{ .Values.zeebe.image.tag }}{{ include "beagle.imageArch" . }}"
{{- else }}
image: "{{ .Values.global.hub }}/{{ .Values.zeebe.image.repository }}:{{ .Values.zeebe.image.tag }}{{ include "beagle.imageArch" . }}"
{{- end }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
ports:
- containerPort: 26500
name: gateway
protocol: TCP
- containerPort: 26501
name: cm
protocol: TCP
- containerPort: 26502
name: api
protocol: TCP
- containerPort: 5701
name: exporter
protocol: TCP
volumeMounts:
- name: localtime
mountPath: /etc/localtime
- name: application
mountPath: /usr/local/zeebe/config/application.yaml
subPath: application.yaml
{{- if .Values.zeebe.persistence.enabled }}
- name: data
mountPath: /usr/local/zeebe/data
{{- end }}
# 全局配置
global:
# 镜像仓库
hub: hub.wodcloud.com/approval-process
# 镜像拉取策略
imagePullPolicy: IfNotPresent
# CPU 架构
imageArch: amd64
# 域名
ingressroute:
enabled: true
host: apaas.wodcloud.local
approvalForm:
image:
repository: "hub.wodcloud.com/workflow/approval-form"
tag: "1.0.0-form-alpha"
resources:
limits:
cpu: 0.5
memory: 1Gi
requests:
cpu: 0.1
memory: 256Mi
approvalProcessEngine:
image:
repository: "approval-process-engine"
tag: "2.5.1-apass5"
conf:
apiTokenKey: API_AUTH_TOKEN
apiTokenValue: c78aa1d9-4ab4-4c9c-97cc-a9a548ea38aa
dbDns1: 'jdbc:postgresql://postgres.workflow:5432/approval-apass5-demo?stringtype=unspecified&TimeZone=Asia/Shanghai'
dbPasswd1: spaceIN511
dbUser1: postgres
dbDns2: 'jdbc:postgresql://postgres.workflow:5432/approva-form-apass5-demo?stringtype=unspecified&TimeZone=Asia/Shanghai'
dbPasswd2: spaceIN511
dbUser2: postgres
redisDatabase: '0'
redisHost: apaas-redis.apaas-v5-demo
redisPasswd: ''
redisPort: '6379'
#zeebe gatewa的服务地址
zeebeAddress: 'zeebe.apaas-v5-demo:26500'
resources:
limits:
cpu: 0.5
memory: 1Gi
requests:
cpu: 0.1
memory: 256Mi
approvalProcessForm:
image:
repository: "approval-process-form"
tag: "2.5.0-apass5"
conf:
#数据库地址
dbDns: jdbc:postgresql://postgres.workflow:5432/approva-form-apass5-demo?stringtype=unspecified&TimeZone=Asia/Shanghai
#数据库用户名
dbUser: postgres
#数据库密码
dbPasswd: spaceIN511
#redis地址
redisHost: apaas-redis.apaas-v5
#redis端口
redisPort: "6379"
#redis数据库
redisDatabase: "0"
#redis密码
redisPasswd:
resources:
limits:
cpu: 0.5
memory: 1Gi
requests:
cpu: 0.1
memory: 256Mi
approvalUi:
image:
repository: "hub.wodcloud.com/workflow/approval-ui"
tag: "2.5-alpha"
processImporter:
image:
repository: "hub.wodcloud.com/workflow/process-importer"
tag: "v1.5-alpha"
conf:
#workflow数据库地址
dbDns: jdbc:postgresql://postgres.workflow:5432/approval-apass5-demo?stringtype=unspecified&TimeZone=Asia/Shanghai
#workflow数据库用户名
dbUser: postgres
#workflow数据库密码
dbPasswd: spaceIN511
#zeebe exporter服务地址
zeebeAddress: "zeebe.apaas-v5-demo:5701"
resources:
limits:
cpu: 0.5
memory: 1Gi
requests:
cpu: 0.5
memory: 256Mi
zeebe:
image:
repository: "registry.cn-qingdao.aliyuncs.com/wod/zeebe"
tag: "1.1.2-exporter"
persistence:
enabled: true
storageClass: hostpath
redis:
enabled: false
image:
repository: registry.cn-qingdao.aliyuncs.com/wod/redis
tag: 6.0.9
#redis的config
conf:
port: 'port 6379'
db: 'databases 16'
maxmem: 'maxmemory 256mb'
apl: 'appendonly yes'
#redis的密码,不写即为空
passwd:
#持久化存储类
storageClassName: "hostpath"
postgresql:
enabled: false
image:
repository: postgres
tag: 13.5
initImage:
repository: busybox
tag: 1.33
#数据库密码
POSTGRES_PASSWORD: "passwd123"
#持久化存储类
storageClassName: "hostpath"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment