blob: 78dba0f99d3818feb524846ef20f73f68303dc90 [file] [log] [blame]
Giorgi Lekveishvili3e45d0a2023-06-26 09:53:42 +04001## Default values for Penpot
2
3## @section Global parameters
4
5## @param global.postgresqlEnabled Whether to deploy the Bitnami PostgreSQL chart as subchart. Check [the official chart](https://artifacthub.io/packages/helm/bitnami/postgresql) for configuration.
6## @param global.redisEnabled Whether to deploy the Bitnami Redis chart as subchart. Check [the official chart](https://artifacthub.io/packages/helm/bitnami/redis) for configuration.
7## @param global.imagePullSecrets Global Docker registry secret names as an array.
8##
9global:
10 postgresqlEnabled: false
11 redisEnabled: false
12 ## E.g.
13 ## imagePullSecrets:
14 ## - myRegistryKeySecretName
15 ##
16 imagePullSecrets: []
17
18## @section Common parameters
19
20## @param nameOverride String to partially override common.names.fullname
21##
22nameOverride: ""
23## @param fullnameOverride String to fully override common.names.fullname
24##
25fullnameOverride: ""
26## @param serviceAccount.enabled Specifies whether a ServiceAccount should be created.
27## @param serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
28## @param serviceAccount.name The name of the ServiceAccount to use. If not set and enabled is true, a name is generated using the fullname template.
29##
30serviceAccount:
31 enabled: true
32 annotations: {}
33 name: ""
34
35## @section Backend parameters
36
37## Penpot Backend
38##
39backend:
40 ## @param backend.image.repository The Docker repository to pull the image from.
41 ## @param backend.image.tag The image tag to use.
42 ## @param backend.image.imagePullPolicy The image pull policy to use.
43 ##
44 image:
45 repository: penpotapp/backend
46 tag: 1.16.0-beta
47 imagePullPolicy: IfNotPresent
48 ## @param backend.replicaCount The number of replicas to deploy.
49 ##
50 replicaCount: 1
51 ## @param backend.service.type The service type to create.
52 ## @param backend.service.port The service port to use.
53 ##
54 service:
55 type: ClusterIP
56 port: 6060
57 ## Configure Pods Security Context
58 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
59 ## @param backend.podSecurityContext.enabled Enabled Penpot pods' security context
60 ## @param backend.podSecurityContext.fsGroup Set Penpot pod's security context fsGroup
61 ##
62 podSecurityContext:
63 enabled: true
64 fsGroup: 1001
65 ## Configure Container Security Context
66 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
67 ## @param backend.containerSecurityContext.enabled Enabled Penpot containers' security context
68 ## @param backend.containerSecurityContext.runAsUser Set Penpot containers' security context runAsUser
69 ## @param backend.containerSecurityContext.allowPrivilegeEscalation Set Penpot containers' security context allowPrivilegeEscalation
70 ## @param backend.containerSecurityContext.capabilities.drop Set Penpot containers' security context capabilities to be dropped
71 ## @param backend.containerSecurityContext.readOnlyRootFilesystem Set Penpot containers' security context readOnlyRootFilesystem
72 ## @param backend.containerSecurityContext.runAsNonRoot Set Penpot container's security context runAsNonRoot
73 ##
74 containerSecurityContext:
75 enabled: true
76 runAsUser: 1001
77 allowPrivilegeEscalation: false
78 capabilities:
79 drop:
80 - all
81 readOnlyRootFilesystem: false
82 runAsNonRoot: true
83 ## @param backend.affinity Affinity for Penpot pods assignment
84 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
85 ##
86 affinity: {}
87 ## @param backend.nodeSelector Node labels for Penpot pods assignment
88 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
89 ##
90 nodeSelector: {}
91 ## @param backend.tolerations Tolerations for Penpot pods assignment
92 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
93 ##
94 tolerations: []
95 ## Penpot backend resource requests and limits
96 ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
97 ## @param backend.resources.limits The resources limits for the Penpot backend containers
98 ## @param backend.resources.requests The requested resources for the Penpot backend containers
99 ##
100 resources:
101 limits: {}
102 requests: {}
103
104## @section Frontend parameters
105
106## Penpot Frontend
107##
108frontend:
109 ## @param frontend.image.repository The Docker repository to pull the image from.
110 ## @param frontend.image.tag The image tag to use.
111 ## @param frontend.image.imagePullPolicy The image pull policy to use.
112 ##
113 image:
114 repository: penpotapp/frontend
115 tag: 1.16.0-beta
116 imagePullPolicy: IfNotPresent
117 ## @param frontend.replicaCount The number of replicas to deploy.
118 ##
119 replicaCount: 1
120 ## @param frontend.service.type The service type to create.
121 ## @param frontend.service.port The service port to use.
122 ##
123 service:
124 type: ClusterIP
125 port: 80
126 ## @param frontend.ingress.enabled Enable ingress record generation for Penpot frontend.
127 ## @param frontend.ingress.annotations Mapped annotations for the frontend ingress.
128 ## @param frontend.ingress.hosts Array style hosts for the frontend ingress.
129 ## @param frontend.ingress.tls Array style TLS secrets for the frontend ingress.
130 ##
131 ingress:
132 enabled: false
133 className: "" # TODO(giolekva): contribute
134 ## E.g.
135 ## annotations:
136 ## kubernetes.io/ingress.class: nginx
137 ## kubernetes.io/tls-acme: "true"
138 ##
139 annotations:
140 {}
141 ## E.g.
142 ## hosts:
143 ## - host: penpot-example.local
144 hosts: []
145 ## E.g.
146 ## - secretName: chart-example-tls
147 ## hosts:
148 ## - chart-example.local
149 tls: []
150 ## @param frontend.affinity Affinity for Penpot pods assignment
151 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
152 ##
153 affinity: {}
154 ## @param frontend.nodeSelector Node labels for Penpot pods assignment
155 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
156 ##
157 nodeSelector: {}
158 ## @param frontend.tolerations Tolerations for Penpot pods assignment
159 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
160 ##
161 tolerations: []
162 ## Penpot frontend resource requests and limits
163 ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
164 ## @param frontend.resources.limits The resources limits for the Penpot frontend containers
165 ## @param frontend.resources.requests The requested resources for the Penpot frontend containers
166 ##
167 resources:
168 limits: {}
169 requests: {}
170
171## @section Exporter parameters
172
173## Penpot Exporter
174##
175exporter:
176 ## @param exporter.image.repository The Docker repository to pull the image from.
177 ## @param exporter.image.tag The image tag to use.
178 ## @param exporter.image.imagePullPolicy The image pull policy to use.
179 ##
180 image:
181 repository: penpotapp/exporter
182 tag: 1.16.0-beta
183 imagePullPolicy: IfNotPresent
184 ## @param exporter.replicaCount The number of replicas to deploy.
185 ##
186 replicaCount: 1
187 ## @param exporter.service.type The service type to create.
188 ## @param exporter.service.port The service port to use.
189 ##
190 service:
191 type: ClusterIP
192 port: 6061
193 ## Configure Pods Security Context
194 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
195 ## @param exporter.podSecurityContext.enabled Enabled Penpot pods' security context
196 ## @param exporter.podSecurityContext.fsGroup Set Penpot pod's security context fsGroup
197 ##
198 podSecurityContext:
199 enabled: true
200 fsGroup: 1001
201 ## Configure Container Security Context
202 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
203 ## @param exporter.containerSecurityContext.enabled Enabled Penpot containers' security context
204 ## @param exporter.containerSecurityContext.runAsUser Set Penpot containers' security context runAsUser
205 ## @param exporter.containerSecurityContext.allowPrivilegeEscalation Set Penpot containers' security context allowPrivilegeEscalation
206 ## @param exporter.containerSecurityContext.capabilities.drop Set Penpot containers' security context capabilities to be dropped
207 ## @param exporter.containerSecurityContext.readOnlyRootFilesystem Set Penpot containers' security context readOnlyRootFilesystem
208 ## @param exporter.containerSecurityContext.runAsNonRoot Set Penpot container's security context runAsNonRoot
209 ##
210 containerSecurityContext:
211 enabled: true
212 runAsUser: 1001
213 allowPrivilegeEscalation: false
214 capabilities:
215 drop:
216 - all
217 readOnlyRootFilesystem: false
218 runAsNonRoot: true
219 ## @param exporter.affinity Affinity for Penpot pods assignment
220 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
221 ##
222 affinity: {}
223 ## @param exporter.nodeSelector Node labels for Penpot pods assignment
224 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
225 ##
226 nodeSelector: {}
227 ## @param exporter.tolerations Tolerations for Penpot pods assignment
228 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
229 ##
230 tolerations: []
231 ## Penpot exporter resource requests and limits
232 ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
233 ## @param exporter.resources.limits The resources limits for the Penpot exporter containers
234 ## @param exporter.resources.requests The requested resources for the Penpot exporter containers
235 ##
236 resources:
237 limits: {}
238 requests: {}
239
240## @section Persistence parameters
241
242## Penpot persistence
243##
244persistence:
245 ## @param persistence.enabled Enable persistence using Persistent Volume Claims.
246 ##
247 enabled: false
248 ## @param persistence.storageClass Persistent Volume storage class.
249 ## If defined, storageClassName: <storageClass>.
250 ## If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
251 ##
252 storageClass: ""
253 ## @param persistence.size Persistent Volume size.
254 ##
255 size: 8Gi
256 ## @param persistence.existingClaim The name of an existing PVC to use for persistence.
257 ##
258 existingClaim: ""
259 ## @param persistence.accessModes Persistent Volume access modes.
260 ##
261 accessModes:
262 - ReadWriteOnce
263 ## @param persistence.annotations Persistent Volume Claim annotations.
264 ##
265 annotations: {}
266
267## @section Configuration parameters
268
269## Penpot configuration
270##
271config:
272 ## @param config.publicURI The public domain to serve Penpot on. Set `disable-secure-session-cookies` in the flags if you plan on serving it on a non HTTPS domain.
273 ## @param config.flags The feature flags to enable. Check [the official docs](https://help.penpot.app/technical-guide/configuration/) for more info.
274 ## @param config.apiSecretKey A random secret key needed for persistent user sessions. Generate with `openssl rand -hex 16` for example.
275 ##
276 publicURI: "http://localhost:8080"
277 flags: "enable-registration enable-login disable-demo-users disable-demo-warning"
278 apiSecretKey: "b46a12cb4bedc6b9df8cb3f18c708b65"
279 ## @param config.postgresql.host The PostgreSQL host to connect to.
280 ## @param config.postgresql.port The PostgreSQL host port to use.
281 ## @param config.postgresql.database The PostgreSQL database to use.
282 ## @param config.postgresql.username The database username to use.
283 ## @param config.postgresql.password The database username to use.
284 ## @param config.postgresql.existingSecret The name of an existing secret.
285 ## @param config.postgresql.secretKeys.usernameKey The username key to use from an existing secret.
286 ## @param config.postgresql.secretKeys.passwordKey The password key to use from an existing secret.
287 ##
288 postgresql:
289 host: "postgresql.penpot.svc.cluster.local"
290 port: 5432
291 username: ""
292 password: ""
293 database: ""
294 existingSecret: ""
295 secretKeys:
296 usernameKey: ""
297 passwordKey: ""
298 ## @param config.redis.host The Redis host to connect to.
299 ## @param config.redis.port The Redis host port to use.
300 ## @param config.redis.database The Redis database to connect to.
301 ##
302 redis:
303 host: "redis-headless.penpot.svc.cluster.local"
304 port: 6379
305 database: "0"
306 ## @param config.assets.storageBackend The storage backend for assets to use. Use `assets-fs` for filesystem, and `assets-s3` for S3.
307 ## @param config.assets.filesystem.directory The storage directory to use if you chose the filesystem storage backend.
308 ## @param config.assets.s3.accessKeyID The S3 access key ID to use if you chose the S3 storage backend.
309 ## @param config.assets.s3.secretAccessKey The S3 secret access key to use if you chose the S3 storage backend.
310 ## @param config.assets.s3.region The S3 region to use if you chose the S3 storage backend.
311 ## @param config.assets.s3.bucket The name of the S3 bucket to use if you chose the S3 storage backend.
312 ## @param config.assets.s3.endpointURI The S3 endpoint URI to use if you chose the S3 storage backend.
313 ## @param config.assets.s3.existingSecret The name of an existing secret.
314 ## @param config.assets.s3.secretKeys.accessKeyIDKey The S3 access key ID to use from an existing secret.
315 ## @param config.assets.s3.secretKeys.secretAccessKey The S3 secret access key to use from an existing secret.
316 ## @param config.assets.s3.secretKeys.endpointURIKey The S3 endpoint URI to use from an existing secret.
317 ##
318 assets:
319 storageBackend: "assets-fs"
320 filesystem:
321 directory: "/opt/data/assets"
322 s3:
323 accessKeyID: ""
324 secretAccessKey: ""
325 region: ""
326 bucket: ""
327 endpointURI: ""
328 existingSecret: ""
329 secretKeys:
330 accessKeyIDKey: ""
331 secretAccessKey: ""
332 endpointURIKey: ""
333 ## @param config.telemetryEnabled Whether to enable sending of anonymous telemetry data.
334 ##
335 telemetryEnabled: true
336 ## @param config.smtp.enabled Whether to enable SMTP configuration. You also need to add the 'enable-smtp' flag to the PENPOT_FLAGS variable.
337 ## @param config.smtp.defaultFrom The SMTP default email to send from.
338 ## @param config.smtp.defaultReplyTo The SMTP default email to reply to.
339 ## @param config.smtp.host The SMTP host to use.
340 ## @param config.smtp.port The SMTP host port to use.
341 ## @param config.smtp.username The SMTP username to use.
342 ## @param config.smtp.password The SMTP password to use.
343 ## @param config.smtp.tls Whether to use TLS for the SMTP connection.
344 ## @param config.smtp.ssl Whether to use SSL for the SMTP connection.
345 ## @param config.smtp.existingSecret The name of an existing secret.
346 ## @param config.smtp.secretKeys.usernameKey The SMTP username to use from an existing secret.
347 ## @param config.smtp.secretKeys.passwordKey The SMTP password to use from an existing secret.
348 ##
349 smtp:
350 enabled: false
351 defaultFrom: ""
352 defaultReplyTo: ""
353 host: ""
354 port: ""
355 username: ""
356 password: ""
357 tls: true
358 ssl: false
359 existingSecret: ""
360 secretKeys:
361 usernameKey: ""
362 passwordKey: ""
363 ## @param config.registrationDomainWhitelist Comma separated list of allowed domains to register. Empty to allow all domains.
364 ##
365 registrationDomainWhitelist: ""
366 ## Penpot Authentication providers parameters
367 ##
368 providers:
369 ## @param config.providers.google.enabled Whether to enable Google configuration. To enable Google auth, add `enable-login-with-google` to the flags.
370 ## @param config.providers.google.clientID The Google client ID to use. To enable Google auth, add `enable-login-with-google` to the flags.
371 ## @param config.providers.google.clientSecret The Google client secret to use. To enable Google auth, add `enable-login-with-google` to the flags.
372 ##
373 google:
374 enabled: false
375 clientID: ""
376 clientSecret: ""
377 ## @param config.providers.github.enabled Whether to enable GitHub configuration. To enable GitHub auth, also add `enable-login-with-github` to the flags.
378 ## @param config.providers.github.clientID The GitHub client ID to use.
379 ## @param config.providers.github.clientSecret The GitHub client secret to use.
380 ##
381 github:
382 enabled: false
383 clientID: ""
384 clientSecret: ""
385 ## @param config.providers.gitlab.enabled Whether to enable GitLab configuration. To enable GitLab auth, also add `enable-login-with-gitlab` to the flags.
386 ## @param config.providers.gitlab.baseURI The GitLab base URI to use.
387 ## @param config.providers.gitlab.clientID The GitLab client ID to use.
388 ## @param config.providers.gitlab.clientSecret The GitLab client secret to use.
389 ##
390 gitlab:
391 enabled: false
392 baseURI: "https://gitlab.com"
393 clientID: ""
394 clientSecret: ""
395 ## @param config.providers.oidc.enabled Whether to enable OIDC configuration. To enable OpenID Connect auth, also add `enable-login-with-oidc` to the flags.
396 ## @param config.providers.oidc.baseURI The OpenID Connect base URI to use.
397 ## @param config.providers.oidc.clientID The OpenID Connect client ID to use.
398 ## @param config.providers.oidc.clientSecret The OpenID Connect client secret to use.
399 ## @param config.providers.oidc.authURI Optional OpenID Connect auth URI to use. Auto discovered if not provided.
400 ## @param config.providers.oidc.tokenURI Optional OpenID Connect token URI to use. Auto discovered if not provided.
401 ## @param config.providers.oidc.userURI Optional OpenID Connect user URI to use. Auto discovered if not provided.
402 ## @param config.providers.oidc.roles Optional OpenID Connect roles to use. If no role is provided, roles checking disabled.
403 ## @param config.providers.oidc.rolesAttribute Optional OpenID Connect roles attribute to use. If not provided, the roles checking will be disabled.
404 ## @param config.providers.oidc.scopes Optional OpenID Connect scopes to use. This settings allow overwrite the required scopes, use with caution because penpot requres at least `name` and `email` attrs found on the user info. Optional, defaults to `openid profile`.
405 ## @param config.providers.oidc.nameAttribute Optional OpenID Connect name attribute to use. If not provided, the `name` prop will be used.
406 ## @param config.providers.oidc.emailAttribute Optional OpenID Connect email attribute to use. If not provided, the `email` prop will be used.
407 ##
408 oidc:
409 enabled: false
410 baseURI: ""
411 clientID: ""
412 clientSecret: ""
413 authURI: ""
414 tokenURI: ""
415 userURI: ""
416 roles: "role1 role2"
417 rolesAttribute: ""
418 scopes: "scope1 scope2"
419 nameAttribute: ""
420 emailAttribute: ""
421 ## @param config.providers.ldap.enabled Whether to enable LDAP configuration. To enable LDAP, also add `enable-login-with-ldap` to the flags.
422 ## @param config.providers.ldap.host The LDAP host to use.
423 ## @param config.providers.ldap.port The LDAP port to use.
424 ## @param config.providers.ldap.ssl Whether to use SSL for the LDAP connection.
425 ## @param config.providers.ldap.startTLS Whether to utilize StartTLS for the LDAP connection.
426 ## @param config.providers.ldap.baseDN The LDAP base DN to use.
427 ## @param config.providers.ldap.bindDN The LDAP bind DN to use.
428 ## @param config.providers.ldap.bindPassword The LDAP bind password to use.
429 ## @param config.providers.ldap.attributesUsername The LDAP attributes username to use.
430 ## @param config.providers.ldap.attributesEmail The LDAP attributes email to use.
431 ## @param config.providers.ldap.attributesFullname The LDAP attributes fullname to use.
432 ## @param config.providers.ldap.attributesPhoto The LDAP attributes photo format to use.
433 ##
434 ldap:
435 enabled: false
436 host: "ldap"
437 port: 10389
438 ssl: false
439 startTLS: false
440 baseDN: "ou=people,dc=planetexpress,dc=com"
441 bindDN: "cn=admin,dc=planetexpress,dc=com"
442 bindPassword: "GoodNewsEveryone"
443 attributesUsername: "uid"
444 attributesEmail: "mail"
445 attributesFullname: "cn"
446 attributesPhoto: "jpegPhoto"
447 ## @param config.providers.existingSecret The name of an existing secret to use.
448 ## @param config.providers.secretKeys.googleClientIDKey The Google client ID key to use from an existing secret.
449 ## @param config.providers.secretKeys.googleClientSecretKey The Google client secret key to use from an existing secret.
450 ## @param config.providers.secretKeys.githubClientIDKey The GitHub client ID key to use from an existing secret.
451 ## @param config.providers.secretKeys.githubClientSecretKey The GitHub client secret key to use from an existing secret.
452 ## @param config.providers.secretKeys.gitlabClientIDKey The GitLab client ID key to use from an existing secret.
453 ## @param config.providers.secretKeys.gitlabClientSecretKey The GitLab client secret key to use from an existing secret.
454 ## @param config.providers.secretKeys.oidcClientIDKey The OpenID Connect client ID key to use from an existing secret.
455 ## @param config.providers.secretKeys.oidcClientSecretKey The OpenID Connect client secret key to use from an existing secret.
456 ##
457 existingSecret: ""
458 secretKeys:
459 googleClientIDKey: ""
460 googleClientSecretKey: ""
461 githubClientIDKey: ""
462 githubClientSecretKey: ""
463 gitlabClientIDKey: ""
464 gitlabClientSecretKey: ""
465 oidcClientIDKey: ""
466 oidcClientSecretKey: ""
467
468## @section PostgreSQL configuration (Check for [more parameters here](https://artifacthub.io/packages/helm/bitnami/postgresql))
469
470## @param postgresql.auth.username Name for a custom user to create.
471## @param postgresql.auth.password Password for the custom user to create.
472## @param postgresql.auth.database Name for a custom database to create.
473##
474postgresql:
475 auth:
476 username: example
477 password: secretpassword
478 database: penpot
479
480## @section Redis configuration (Check for [more parameters here](https://artifacthub.io/packages/helm/bitnami/redis))
481
482## @param redis.auth.enabled Whether to enable password authentication.
483##
484redis:
485 auth:
486 enabled: false