## @section Global parameters ## Global Docker image parameters ## Please, note that this will override the image parameters, including dependencies, configured to use the global value ## Current available global Docker image parameters, serviceAccount, backendConfigMap, backendSecret, frontendConfigMap, envFrom, domain, backendDomain. ## ## @param global.baserow.imageRegistry Global Docker image registry ## @param global.baserow.imagePullSecrets Global Docker registry secret names as an array ## @param global.baserow.image.tag Global Docker image tag ## @param global.baserow.serviceAccount.shared Set to true to share the service account between all application components. ## @param global.baserow.serviceAccount.create Set to true to create a service account to share between all application components. ## @param global.baserow.serviceAccount.name Configure a name for service account to share between all application components. ## @param global.baserow.serviceAccount.annotations Configure annotations for the shared service account. ## @param global.baserow.serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount ## @param global.baserow.backendConfigMap Configure a name for the backend configmap. ## @param global.baserow.backendSecret Configure a name for the backend secret. ## @param global.baserow.frontendConfigMap Configure a name for the frontend configmap. ## @param global.baserow.envFrom Configure secrets or configMaps to be used as environment variables for all components. ## @param global.baserow.domain Configure the domain for the ## @param global.baserow.containerSecurityContext.enabled Enabled containers' Security Context ## @param global.baserow.containerSecurityContext.enabled Enabled containers' Security Context ## @param global.baserow.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container ## @param global.baserow.containerSecurityContext.runAsUser Set containers' Security Context runAsUser ## @param global.baserow.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup ## @param global.baserow.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot ## @param global.baserow.containerSecurityContext.privileged Set container's Security Context privileged ## @param global.baserow.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem ## @param global.baserow.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation ## @param global.baserow.containerSecurityContext.capabilities.drop List of capabilities to be dropped ## @param global.baserow.containerSecurityContext.capabilities.add List of capabilities to be added ## @param global.baserow.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile ## @param global.baserow.securityContext.enabled Enable security context ## @param global.baserow.securityContext.fsGroupChangePolicy Set filesystem group change policy ## @param global.baserow.securityContext.sysctls Set kernel settings using the sysctl interface ## @param global.baserow.securityContext.supplementalGroups Set filesystem extra groups ## @param global.baserow.securityContext.fsGroup Group ID for the pod ## global: baserow: imageRegistry: baserow image: tag: 1.33.2 imagePullSecrets: [] serviceAccount: shared: true create: true name: baserow annotations: {} automountServiceAccountToken: false backendConfigMap: backend-config backendSecret: backend-secret frontendConfigMap: frontend-config envFrom: [] domain: cluster.local securityContext: enabled: false fsGroupChangePolicy: "" sysctls: "" supplementalGroups: "" fsGroup: "" containerSecurityContext: enabled: false seLinuxOptions: {} runAsUser: "" runAsGroup: "" runAsNonRoot: "" privileged: false readOnlyRootFilesystem: false allowPrivilegeEscalation: false capabilities: add: [] drop: [] seccompProfile: type: "" ## Baserow application image version ## ref: https://hub.docker.com/r/baserow/baserow/tags/ ## @param image.repository [default: baserow/baserow] Baserow image repository ## @skip image.tag Baserow image tag (immutable tags are recommended) ## @param image.pullPolicy Baserow image pull policy ## image: repository: baserow/baserow # Docker image repository tag: 1.33.2 # Docker image tag pullPolicy: IfNotPresent # Image pull policy ## @param workingDir Application container working directory ## workingDir: /baserow-saas ## @param args Application container extra arguments ## args: [] ## @param imagePullSecrets Container image pull secrets ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## Example: ## pullSecrets: ## - myRegistryKeySecretName ## imagePullSecrets: [] ## @param podAnnotations Map of annotations to add to the pods ## podAnnotations: {} ## @param additionalLabels Map of extra labels to add ## additionalLabels: {} ## @param additionalSelectorLabels Map of extra selector labels to add to the deployment ## additionalSelectorLabels: {} ## Security Context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param securityContext.enabled Enable security context ## @param securityContext.fsGroupChangePolicy Set filesystem group change policy ## @param securityContext.sysctls Set kernel settings using the sysctl interface ## @param securityContext.supplementalGroups Set filesystem extra groups ## @param securityContext.fsGroup Group ID for the pod ## securityContext: enabled: false fsGroupChangePolicy: "Always" sysctls: [] supplementalGroups: [] fsGroup: "" ## Container Security Context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param containerSecurityContext.enabled Enabled containers' Security Context ## @param containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container ## @param containerSecurityContext.runAsUser Set containers' Security Context runAsUser ## @param containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup ## @param containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot ## @param containerSecurityContext.privileged Set container's Security Context privileged ## @param containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem ## @param containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation ## @param containerSecurityContext.capabilities.drop List of capabilities to be dropped ## @param containerSecurityContext.capabilities.add List of capabilities to be added ## @param containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile ## containerSecurityContext: enabled: false seLinuxOptions: {} runAsUser: "" runAsGroup: "" runAsNonRoot: "" privileged: false readOnlyRootFilesystem: false allowPrivilegeEscalation: false capabilities: add: [] drop: [] seccompProfile: type: "" ## @param replicaCount Number of application pods, ignored when enabling autoscaling. ## replicaCount: 1 ## @param revisionHistoryLimit Number of old ReplicaSets to retain for rollback ## revisionHistoryLimit: 10 ## @param resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) ## Example: ## resources: ## requests: ## cpu: 2 ## memory: 512Mi ## limits: ## cpu: 3 ## memory: 1024Mi ## resources: {} ## Configure extra options for Application containers' liveness, readiness and startup probes ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes ## @param readinessProbe.enabled Enable readinessProbe on the application container ## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe ## @param readinessProbe.periodSeconds Period seconds for readinessProbe ## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe ## @param readinessProbe.failureThreshold Failure threshold for readinessProbe ## @param readinessProbe.successThreshold Success threshold for readinessProbe ## @param readinessProbe.exec.command Defines the command to run in the container to determine if the container is running. The command is simply executed, and if it exits with a status code of 0, the container is considered to be alive and functioning. If the command exits with a non-zero status code, the container is considered to have failed. ## readinessProbe: enabled: false exec: command: - /bin/bash - -c - /baserow/backend/docker/docker-entrypoint.sh backend-healthcheck failureThreshold: 3 initialDelaySeconds: 120 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 ## Configure extra options for Application containers' liveness, readiness and startup probes ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes ## @param livenessProbe.enabled Enable livenessProbe on the application container ## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe ## @param livenessProbe.periodSeconds Period seconds for livenessProbe ## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe ## @param livenessProbe.failureThreshold Failure threshold for livenessProbe ## @param livenessProbe.successThreshold Success threshold for livenessProbe ## @param livenessProbe.exec.command Defines the command to run in the container to determine if the container is running. The command is simply executed, and if it exits with a status code of 0, the container is considered to be alive and functioning. If the command exits with a non-zero status code, the container is considered to have failed. ## livenessProbe: enabled: false exec: command: - /bin/bash - -c - /baserow/backend/docker/docker-entrypoint.sh backend-healthcheck failureThreshold: 3 initialDelaySeconds: 120 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 ## @param priorityClassName Priority Class to use for each pod ## priorityClassName: "" ## @param affinity Affinity for the baserow application pods assignment ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## affinity: {} ## @param nodeSelector Node labels for application pods assignment ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ ## nodeSelector: {} ## @param tolerations Tolerations for application pods assignment ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param extraEnv Extra environment variables to add to the baserow application container ## see: https://baserow.io/docs/installation%2Fconfiguration#environment-variables ## For example: ## extraEnvVars: ## - name: BASEROW_PUBLIC_URL ## value: "https://baserow.mydomain.com" ## extraEnv: [] ## @param envFrom Extra environments variables to add to the baserow application container from configmaps or secrets. ## see: https://baserow.io/docs/installation%2Fconfiguration#environment-variables ## For example: ## envFrom: ## - configMapRef: ## name: myconfigmap ## - secretRef: ## name: mysecret ## envFrom: [] serviceAccount: ## @param serviceAccount.create Enable creation of ServiceAccount for the pod ## create: true ## @param serviceAccount.name The name of the ServiceAccount to use. ## If not set and create is true, a name is generated using the common.names.fullname template ## name: "" ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount ## Can be set to false if pods using this serviceAccount do not need to use K8s API ## automountServiceAccountToken: false ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount ## annotations: {} ## Autoscaling configuration ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ ## @param autoscaling.enabled Enable autoscaling for the application ## @param autoscaling.minReplicas Minimum number of application replicas ## @param autoscaling.maxReplicas Maximum number of application replicas ## @param autoscaling.targetCPUUtilizationPercentage Target CPU utilization percentage ## @param autoscaling.targetMemoryUtilizationPercentage Target Memory utilization percentage ## autoscaling: enabled: false # Whether autoscaling is enabled minReplicas: 2 # Minimum number of replicas maxReplicas: 10 # Maximum number of replicas targetCPUUtilizationPercentage: 80 # Target CPU utilization percentage for autoscaling targetMemoryUtilizationPercentage: 80 # Target memory utilization percentage for autoscaling ## Service configuration ## ref: https://kubernetes.io/docs/concepts/services-networking/service/ service: ## @param service.create Set to true to create a Kubernetes service ## create: true ## @param service.type Kubernetes service type ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types ## type: ClusterIP ## @param service.port Port to expose for the application ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## port: 80 # Service port ## @param service.targetPort Port to expose for the application ## Note: A Service can map any incoming port to a targetPort. By default and for convenience, the targetPort is set to the same value as the port field. ## targetPort: 8000 # Target port ## Pod Disruption Budget configuration ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb ## @param pdb.create Enable/disable a Pod Disruption Budget creation ## @param pdb.minAvailable Minimum number/percentage of pods that should remain scheduled ## @param pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `readReplicas.pdb.minAvailable` and `readReplicas.pdb.maxUnavailable` are empty. ## pdb: create: false minAvailable: 50% maxUnavailable: 50% ## Configuration mount settings ## @param mountConfiguration.backend Mount backend configmaps and secrets. ## @param mountConfiguration.frontend Mount frontend configmaps and secrets. ## mountConfiguration: backend: true frontend: false