-
Notifications
You must be signed in to change notification settings - Fork 168
/
controller.yaml
140 lines (138 loc) · 5.09 KB
/
controller.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
apiVersion: v1
kind: ConfigMap
metadata:
name: workflow-controller-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ include "cyclone.name" . }}
helm.sh/chart: {{ include "cyclone.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
data:
workflow-controller.json: |
{
"images": {
"git-resolver": "{{ .Values.platformConfig.imageRepositoryRelease }}/cyclone-resolver-git:{{ .Chart.AppVersion }}",
"svn-resolver": "{{ .Values.platformConfig.imageRepositoryRelease }}/cyclone-resolver-svn:{{ .Chart.AppVersion }}",
"image-resolver": "{{ .Values.platformConfig.imageRepositoryRelease }}/cyclone-resolver-image:{{ .Chart.AppVersion }}",
"http-resolver": "{{ .Values.platformConfig.imageRepositoryRelease }}/cyclone-resolver-http:{{ .Chart.AppVersion }}",
"coordinator": "{{ .Values.platformConfig.imageRepositoryRelease }}/cyclone-workflow-coordinator:{{ .Chart.AppVersion }}",
"toolbox": "{{ .Values.platformConfig.imageRepositoryRelease }}/cyclone-toolbox:{{ .Chart.AppVersion }}",
"gc": "{{ .Values.platformConfig.imageRepositoryLibrary }}/{{ .Values.engine.images.gc }}"
},
"logging": {
"level": "info"
},
"gc": {
"enabled": {{ .Values.engine.gc.enabled }},
"delay_seconds": {{ .Values.engine.gc.delaySeconds }},
"retry": {{ .Values.engine.gc.retry }},
"resource_quota": {
"limits": {
"cpu": "{{ .Values.engine.gc.resourceRequirement.limits.cpu }}",
"memory": "{{ .Values.engine.gc.resourceRequirement.limits.memory }}"
},
"requests": {
"cpu": "{{ .Values.engine.gc.resourceRequirement.requests.cpu }}",
"memory": "{{ .Values.engine.gc.resourceRequirement.requests.memory }}"
}
}
},
"limits": {
"max_workflowruns": {{ .Values.engine.limits.maxWorkflowRuns }}
},
"default_resource_quota": {
"limits": {
"cpu": "{{ .Values.engine.resourceRequirement.default.limits.cpu }}",
"memory": "{{ .Values.engine.resourceRequirement.default.limits.memory }}"
},
"requests": {
"cpu": "{{ .Values.engine.resourceRequirement.default.requests.cpu }}",
"memory": "{{ .Values.engine.resourceRequirement.default.requests.memory }}"
}
},
"workers_number": {
"execution_cluster": 1,
"workflow_trigger": 1,
"workflow_run": 1,
"pod": 1
},
"pvc": "cyclone-server-cyclone-data",
"cyclone_server_addr": "{{ .Values.platformConfig.controlClusterVIP }}:6041",
"notification_url": "http://{{ .Values.platformConfig.controlClusterVIP }}:6041/apis/v1alpha1/notifications"
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-workflow-controller
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ include "cyclone.name" . }}
app.kubernetes.io/component: workflow-controller
helm.sh/chart: {{ include "cyclone.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: {{ include "cyclone.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: cyclone-workflow-controller
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "cyclone.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: cyclone-workflow-controller
annotations:
sidecar.istio.io/inject: "false"
spec:
serviceAccountName: {{ .Values.serviceAccount }}
containers:
- name: controller
command:
- /workspace/controller
image: "{{ .Values.platformConfig.imageRegistry }}/{{ .Values.platformConfig.imageRepositoryRelease }}/cyclone-workflow-controller:{{ .Chart.AppVersion }}"
imagePullPolicy: Always
env:
- name: DEVELOP_MODE
value: {{ .Values.engine.developMode | quote }}
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: SYSTEM_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
livenessProbe:
httpGet:
port: 8080
path: /healthz
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
successThreshold: 1
resources:
limits:
cpu: 150m
memory: 300Mi
requests:
cpu: 50m
memory: 100Mi
volumeMounts:
- mountPath: /etc/localtime
mountPropagation: HostToContainer
name: timezone
volumes:
- name: timezone
hostPath:
path: /etc/localtime
type: File