-
Notifications
You must be signed in to change notification settings - Fork 4
/
values.yaml
282 lines (254 loc) · 9.29 KB
/
values.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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
# Copyright 2018-2021 Crown Copyright
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Used by templates for naming resources, see assorted helpers.tpl
fullnameOverride: palisade-services
traefik:
# install: install the traefik ingress controller, this should be true for the first installation into the cluster as it resides in kube-system to provide a single cluster-wide ingress controller
install: true
metrics-server:
# install: install the metrics server, this should be true for the first installation into the cluster as it resides in kube-system to provide a single cluster-wide metrics server
install: false
dashboard:
# install: install routing through the ingress controller to a pre-installed kubernetes dashboard i.e. https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
install: false
namespaces:
default: default
dev: dev
uat: uat
prod: prod
global:
# hostname: the external hostname of the ingress, this may be the cluster master or public load-balancer
hostname: localhost
kafka:
# install: install kafka streaming platform
install: true
# imported from sub-chart, default values here are overridden by sub-chart values
exports:
nameOverride: "kafka-proxy"
zookeeper:
exports:
nameOverride: "zookeeper-proxy"
redis:
# install: install redis persistence and caching data storage platform
install: true
# imported from sub-chart, default values here are overridden by sub-chart values
exports:
# By default always use the redis-proxy kubernetes service to resolve the redis endpoint
nameOverride: "redis-proxy"
master:
service:
port: 6379
redis-cluster:
# install: install clustered redis persistence and caching data storage platform
install: false
# imported from sub-chart, default values here are overridden by sub-chart values
exports:
nameOverride: "redis-proxy"
redisPort: 6379
cluster:
nodes: 6
# hosting: [local | aws | metal] the target environment to deploy to
hosting: local
# Set to true to configures services for redis-cluster. leave as false for master/worker
# Should match up with redis.install or redis-cluster.install
redis-cluster-enabled: false
# nodes: the number of nodes in the cluster, this will be used to calculate the service scaling factors
nodes: 1
# namespace: the target namespace, overridden by (1) --namespace (helm, the preferred override) or (2) global.uniqueNamespace=true, ingress path will include this name at the path root (default truncated to null)
namespace: default
# uniqueNamespace: if true (and this is a new install) the generated deployment name will be used as the namespace name too, ingress path will include this name at the path root eg. localhost/lazy-goat/palisade
uniqueNamespace: false
# repository: the name of the docker image repository that is the source of local application images that was populated during the project build process and will now be referenced in the pods
repository: "gchq/palisade-"
# releaseTag: name used to identify image tags used in a release (as opposed to a SNAPSHOT)
releaseTag: RELEASE
# deployment: [codeRelease | example | <any previous code release tag>] the target deployment mode for partitioning external type dependencies, the value "codeRelease" will align it with the java parent project version
deployment: codeRelease
# set environment variables for all palisade services pods by deployment type eg. spring profiles active
env:
_default:
- name: "SPRING_PROFILES_ACTIVE"
value: "k8s"
# additionalConfigMaps: {}
# persistent-volume and associated claims configurations
persistence:
storageClassDeploy: false
# classpathJars: Store used by all services within palisade to dynamically load datatypes (Users, Resources, Policies/Rules, Serialisers)
classpathJars:
name: palisade-classpath-jars
# storageClassName: the name of the storage-class to use for the given "hosting" type
storageClassName:
_default: hostpath
local: hostpath
# When in AWS, ebs cannot be shared, and efs cannot be dynamically provisioned
aws: efs-sc
# provisioning: [static | dynamic] whether to use static or dynamic provisioning
provisioning:
_default: static
local: static
aws: static
# mode: [ReadOnlyMany | ReadWriteOnce | ReadWriteMany] access permissions for the created pv
mode:
_default: ReadWriteMany
local: ReadWriteMany
aws: ReadWriteMany
# mountPath: internal mountpoint for classpath jars directory, see Dockerfile ENTRYPOINT -Dloader.path and PodSpec.containers.volumeMounts.mountPath
mountPath: "/usr/share"
# storage: storage size for this volume and its claims
storage: 2Gi
# environment-specific tags
local:
# hostPath: external host directory to be mounted
hostPath: "/"
aws:
# volumeHandle: aws handle for the volume to mount
volumeHandle: null
# aws host directory to mount
# The path has to be created before hand - see here: https://github.com/kubernetes-sigs/aws-efs-csi-driver/issues/63
# Only safe mount point is root as it currently stands
volumePath: "/"
# dataStores: List of stores used by data-service and associated data-readers to read resources and return to a client
# nb. the mountPath here will be referenced by all client resource requests
dataStores:
palisade-data-store:
storageClassName:
_default: hostpath
local: hostpath
aws: efs-sc
provisioning:
_default: static
local: static
aws: static
mode:
_default: ReadWriteMany
local: ReadWriteMany
aws: ReadWriteMany
mountPath: "/data/local-data-store"
storage: 4Gi
local:
hostPath: "/"
aws:
volumeHandle: data
volumePath: "/"
# kafka: Store used by kafka for persisting stream logs
kafka:
name: kafka-persistence
storageClassName:
_default: hostpath
local: hostpath
aws: ebs-sc
provisioning:
_default: dynamic
local: dynamic
aws: dynamic
mode:
_default: ReadWriteOnce
local: ReadWriteOnce
aws: ReadWriteOnce
storage: 8Gi
local:
hostPath: "/"
aws:
volumeHandle: null
volumePath: "/"
# zookeeper: Store used by zookeeper for persisting stream logs
zookeeper:
name: zookeeper-persistence
storageClassName:
_default: hostpath
local: hostpath
aws: ebs-sc
provisioning:
_default: dynamic
local: dynamic
aws: dynamic
mode:
_default: ReadWriteOnce
local: ReadWriteOnce
aws: ReadWriteOnce
storage: 2Gi
local:
hostPath: "/"
aws:
volumeHandle: null
volumePath: "/"
# redis-master: Writeable store used by redis master node for persistence and caching
redis-master:
name: redis-persistence-master
storageClassName:
_default: hostpath
local: hostpath
aws: ebs-sc
provisioning:
_default: dynamic
local: dynamic
aws: dynamic
mode:
_default: ReadWriteOnce
local: ReadWriteOnce
aws: ReadWriteOnce
storage: 8Gi
local:
hostPath: "/"
aws:
volumeHandle: null
volumePath: "/"
# redis-slave: Readable store used by redis slave nodes for persistence and caching
redis-slave:
name: redis-persistence-slave
storageClassName:
_default: hostpath
local: hostpath
aws: ebs-sc
provisioning:
_default: dynamic
local: dynamic
aws: dynamic
mode:
_default: ReadWriteOnce
local: ReadWriteOnce
aws: ReadWriteOnce
storage: 8Gi
local:
hostPath: "/"
aws:
volumeHandle: null
volumePath: "/"
# redis-cluster: Read/writeable store used by redis cluster nodes for persistence and caching
redis-cluster:
name: redis-persistence-cluster
storageClassName:
_default: hostpath
local: hostpath
aws: ebs-sc
provisioning:
_default: dynamic
local: dynamic
aws: dynamic
mode:
_default: ReadWriteOnce
local: ReadWriteOnce
aws: ReadWriteOnce
storage: 4Gi
local:
hostPath: "/"
aws:
volumeHandle: null
volumePath: "/"
# global.persistence.stateful-set.pv.enabled: Global variable that controls the generation of stateful-set pv/pvc(s)
stateful-set:
pv:
enabled: true
# must be last for file to be appended with addresses
globalIPAddresses: