diff --git a/apps/web/modules/ui/components/dropdown-menu/index.tsx b/apps/web/modules/ui/components/dropdown-menu/index.tsx index 96fe0cf0d1..e0d7698ace 100644 --- a/apps/web/modules/ui/components/dropdown-menu/index.tsx +++ b/apps/web/modules/ui/components/dropdown-menu/index.tsx @@ -46,7 +46,7 @@ const DropdownMenuSubContent: React.ComponentType ref={ref} sideOffset={sideOffset} className={cn( - "animate-in fade-in-50 data-[side=bottom]:slide-in-from-top-1 data-[side=top]:slide-in-from-bottom-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 z-50 overflow-hidden rounded-md border border-slate-100 bg-white px-3 py-1.5 text-sm text-slate-700 shadow-md", + "z-50 overflow-hidden rounded-md border border-slate-100 bg-white px-3 py-1.5 text-sm text-slate-700 shadow-md animate-in fade-in-50 data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1", className )} {...props} diff --git a/charts/formbricks/README.md b/charts/formbricks/README.md index 03857b23d3..a70c3428fa 100644 --- a/charts/formbricks/README.md +++ b/charts/formbricks/README.md @@ -91,213 +91,213 @@ Autoscaling is opt-in for Hub API, Hub worker, and the embeddings runtime. If yo ## Values -| Key | Type | Default | Description | -| ------------------------------------------------------------------ | ------ | --------------------------------- | ----------- | -| autoscaling.additionalLabels | object | `{}` | | -| autoscaling.annotations | object | `{}` | | -| autoscaling.behavior.scaleDown.policies[0].periodSeconds | int | `120` | | -| autoscaling.behavior.scaleDown.policies[0].type | string | `"Pods"` | | -| autoscaling.behavior.scaleDown.policies[0].value | int | `1` | | -| autoscaling.behavior.scaleDown.stabilizationWindowSeconds | int | `300` | | -| autoscaling.behavior.scaleUp.policies[0].periodSeconds | int | `60` | | -| autoscaling.behavior.scaleUp.policies[0].type | string | `"Pods"` | | -| autoscaling.behavior.scaleUp.policies[0].value | int | `2` | | -| autoscaling.behavior.scaleUp.stabilizationWindowSeconds | int | `60` | | -| autoscaling.enabled | bool | `true` | | -| autoscaling.maxReplicas | int | `10` | | -| autoscaling.metrics[0].resource.name | string | `"cpu"` | | -| autoscaling.metrics[0].resource.target.averageUtilization | int | `60` | | -| autoscaling.metrics[0].resource.target.type | string | `"Utilization"` | | -| autoscaling.metrics[0].type | string | `"Resource"` | | -| autoscaling.metrics[1].resource.name | string | `"memory"` | | -| autoscaling.metrics[1].resource.target.averageUtilization | int | `60` | | -| autoscaling.metrics[1].resource.target.type | string | `"Utilization"` | | -| autoscaling.metrics[1].type | string | `"Resource"` | | -| autoscaling.minReplicas | int | `1` | | -| componentOverride | string | `""` | | -| deployment.additionalLabels | object | `{}` | | -| deployment.additionalPodAnnotations | object | `{}` | | -| deployment.additionalPodLabels | object | `{}` | | -| deployment.affinity | object | `{}` | | -| deployment.annotations | object | `{}` | | -| deployment.args | list | `[]` | | -| deployment.command | list | `[]` | | -| deployment.containerSecurityContext.readOnlyRootFilesystem | bool | `true` | | -| deployment.containerSecurityContext.runAsNonRoot | bool | `true` | | -| deployment.env | object | `{}` | | -| deployment.envFrom | string | `nil` | | -| deployment.image.digest | string | `""` | | -| deployment.image.pullPolicy | string | `"IfNotPresent"` | | -| deployment.image.repository | string | `"ghcr.io/formbricks/formbricks"` | | -| deployment.image.tag | string | `""` | | -| deployment.imagePullSecrets | string | `""` | | -| deployment.nodeSelector | object | `{}` | | -| deployment.ports.http.containerPort | int | `3000` | | -| deployment.ports.http.exposed | bool | `true` | | -| deployment.ports.http.protocol | string | `"TCP"` | | -| deployment.ports.metrics.containerPort | int | `9464` | | -| deployment.ports.metrics.exposed | bool | `true` | | -| deployment.ports.metrics.protocol | string | `"TCP"` | | -| deployment.probes.livenessProbe.failureThreshold | int | `5` | | -| deployment.probes.livenessProbe.httpGet.path | string | `"/health"` | | -| deployment.probes.livenessProbe.httpGet.port | int | `3000` | | -| deployment.probes.livenessProbe.initialDelaySeconds | int | `10` | | -| deployment.probes.livenessProbe.periodSeconds | int | `10` | | -| deployment.probes.livenessProbe.successThreshold | int | `1` | | -| deployment.probes.livenessProbe.timeoutSeconds | int | `5` | | -| deployment.probes.readinessProbe.failureThreshold | int | `5` | | -| deployment.probes.readinessProbe.httpGet.path | string | `"/health"` | | -| deployment.probes.readinessProbe.httpGet.port | int | `3000` | | -| deployment.probes.readinessProbe.initialDelaySeconds | int | `10` | | -| deployment.probes.readinessProbe.periodSeconds | int | `10` | | -| deployment.probes.readinessProbe.successThreshold | int | `1` | | -| deployment.probes.readinessProbe.timeoutSeconds | int | `5` | | -| deployment.probes.startupProbe.failureThreshold | int | `30` | | -| deployment.probes.startupProbe.periodSeconds | int | `10` | | -| deployment.probes.startupProbe.tcpSocket.port | int | `3000` | | -| deployment.reloadOnChange | bool | `false` | | -| deployment.replicas | int | `1` | | -| deployment.resources.limits.memory | string | `"2Gi"` | | -| deployment.resources.requests.cpu | string | `"1"` | | -| deployment.resources.requests.memory | string | `"1Gi"` | | -| deployment.revisionHistoryLimit | int | `2` | | -| deployment.securityContext | object | `{}` | | -| deployment.strategy.type | string | `"RollingUpdate"` | | -| deployment.tolerations | list | `[]` | | -| deployment.topologySpreadConstraints | list | `[]` | | -| enterprise.enabled | bool | `false` | | -| enterprise.licenseKey | string | `""` | | -| externalSecret.enabled | bool | `false` | | -| externalSecret.files | object | `{}` | | -| externalSecret.refreshInterval | string | `"1h"` | | -| externalSecret.secretStore.kind | string | `"ClusterSecretStore"` | | -| externalSecret.secretStore.name | string | `"aws-secrets-manager"` | | -| formbricks.publicUrl | string | `""` | | -| formbricks.webappUrl | string | `""` | | -| hub.autoscaling.enabled | bool | `false` | | -| hub.autoscaling.maxReplicas | int | `3` | | -| hub.autoscaling.minReplicas | int | `1` | | -| hub.enabled | bool | `true` | | -| hub.embeddings.auth.enabled | bool | `true` | | -| hub.embeddings.auth.existingSecret | string | `""` | | -| hub.embeddings.auth.secretKey | string | `"EMBEDDING_PROVIDER_API_KEY"` | | -| hub.embeddings.autoscaling.enabled | bool | `false` | | -| hub.embeddings.autoscaling.maxReplicas | int | `2` | | -| hub.embeddings.autoscaling.minReplicas | int | `1` | | -| hub.embeddings.baseUrl | string | `""` | Defaults to the internal TEI service URL ending in `/v1`. | -| hub.embeddings.enabled | bool | `false` | | -| hub.embeddings.extraArgs | list | `["--dtype","float16"]` | Additional args appended to the generated TEI args. | -| hub.embeddings.huggingFace.existingSecret | string | `""` | | -| hub.embeddings.huggingFace.token | string | `""` | | -| hub.embeddings.huggingFace.tokenKey | string | `"HF_TOKEN"` | | -| hub.embeddings.image.pullPolicy | string | `"IfNotPresent"` | | -| hub.embeddings.image.repository | string | `"ghcr.io/huggingface/text-embeddings-inference"` | | -| hub.embeddings.image.tag | string | `"cpu-1.9"` | | -| hub.embeddings.maxConcurrent | string | `"5"` | | -| hub.embeddings.model | string | `"Alibaba-NLP/gte-multilingual-base"` | | -| hub.embeddings.persistence.enabled | bool | `true` | | -| hub.embeddings.persistence.mountPath | string | `"/data"` | | -| hub.embeddings.persistence.size | string | `"10Gi"` | | -| hub.embeddings.pdb.enabled | bool | `false` | | -| hub.embeddings.port | int | `8080` | | -| hub.embeddings.prometheusPort | int | `9000` | | -| hub.embeddings.replicas | int | `1` | | -| hub.embeddings.resources.limits.memory | string | `"8Gi"` | | -| hub.embeddings.resources.requests.cpu | string | `"4"` | | -| hub.embeddings.resources.requests.memory | string | `"8Gi"` | | -| hub.embeddings.runtime | string | `"tei"` | | -| hub.embeddings.servedModelName | string | `""` | Defaults to `hub.embeddings.model`. | -| hub.embeddings.service.port | int | `8080` | | -| hub.embeddings.service.type | string | `"ClusterIP"` | | -| hub.env | object | `{}` | | -| hub.existingSecret | string | `""` | | -| hub.image.digest | string | `"sha256:14db7b3d285b6e9165b55693f9b83d08beff840a255fd77dd12882ee0a62f5cb"` | When set, takes precedence over tag (immutable pin). | -| hub.image.pullPolicy | string | `"IfNotPresent"` | | -| hub.image.repository | string | `"ghcr.io/formbricks/hub"` | | -| hub.image.tag | string | `"0.3.0"` | Fallback when digest is empty. | -| hub.migration.activeDeadlineSeconds | int | `900` | | -| hub.migration.backoffLimit | int | `3` | | -| hub.migration.ttlSecondsAfterFinished | int | `300` | | -| hub.pdb.enabled | bool | `false` | | -| hub.replicas | int | `1` | | -| hub.resources.limits.memory | string | `"512Mi"` | | -| hub.resources.requests.cpu | string | `"100m"` | | -| hub.resources.requests.memory | string | `"256Mi"` | | -| hub.worker.autoscaling.enabled | bool | `false` | | -| hub.worker.autoscaling.maxReplicas | int | `5` | | -| hub.worker.autoscaling.minReplicas | int | `1` | | -| hub.worker.enabled | bool | `true` | | -| hub.worker.env | object | `{}` | | -| hub.worker.pdb.enabled | bool | `false` | | -| hub.worker.replicas | int | `1` | | -| hub.worker.resources.limits.memory | string | `"512Mi"` | | -| hub.worker.resources.requests.cpu | string | `"100m"` | | -| hub.worker.resources.requests.memory | string | `"256Mi"` | | -| hub.worker.waitForApi.enabled | bool | `true` | | -| hub.worker.waitForApi.maxAttempts | int | `120` | 120 attempts at 5s intervals = 10 minutes. | -| ingress.annotations | object | `{}` | | -| ingress.enabled | bool | `false` | | -| ingress.hosts[0].host | string | `"k8s.formbricks.com"` | | -| ingress.hosts[0].paths[0].path | string | `"/"` | | -| ingress.hosts[0].paths[0].pathType | string | `"Prefix"` | | -| ingress.hosts[0].paths[0].serviceName | string | `"formbricks"` | | -| ingress.ingressClassName | string | `"alb"` | | -| migration.annotations | object | `{}` | | -| migration.backoffLimit | int | `3` | | -| migration.enabled | bool | `true` | | -| migration.resources.limits.memory | string | `"512Mi"` | | -| migration.resources.requests.cpu | string | `"100m"` | | -| migration.resources.requests.memory | string | `"256Mi"` | | -| migration.ttlSecondsAfterFinished | int | `300` | | -| nameOverride | string | `""` | | -| partOfOverride | string | `""` | | -| pdb.additionalLabels | object | `{}` | | -| pdb.annotations | object | `{}` | | -| pdb.enabled | bool | `true` | | -| pdb.minAvailable | int | `1` | | -| postgresql.auth.database | string | `"formbricks"` | | -| postgresql.auth.existingSecret | string | `"formbricks-app-secrets"` | | -| postgresql.auth.secretKeys.adminPasswordKey | string | `"POSTGRES_ADMIN_PASSWORD"` | | -| postgresql.auth.secretKeys.userPasswordKey | string | `"POSTGRES_USER_PASSWORD"` | | -| postgresql.auth.username | string | `"formbricks"` | | -| postgresql.enabled | bool | `true` | | -| postgresql.externalDatabaseUrl | string | `""` | | -| postgresql.fullnameOverride | string | `"formbricks-postgresql"` | | -| postgresql.global.security.allowInsecureImages | bool | `true` | | -| postgresql.image.repository | string | `"pgvector/pgvector"` | | -| postgresql.image.tag | string | `"pg17"` | | -| postgresql.primary.containerSecurityContext.enabled | bool | `true` | | -| postgresql.primary.containerSecurityContext.readOnlyRootFilesystem | bool | `false` | | -| postgresql.primary.containerSecurityContext.runAsUser | int | `1001` | | -| postgresql.primary.networkPolicy.enabled | bool | `false` | | -| postgresql.primary.persistence.enabled | bool | `true` | | -| postgresql.primary.persistence.size | string | `"10Gi"` | | -| postgresql.primary.podSecurityContext.enabled | bool | `true` | | -| postgresql.primary.podSecurityContext.fsGroup | int | `1001` | | -| postgresql.primary.podSecurityContext.runAsUser | int | `1001` | | -| rbac.enabled | bool | `false` | | -| rbac.serviceAccount.additionalLabels | object | `{}` | | -| rbac.serviceAccount.annotations | object | `{}` | | -| rbac.serviceAccount.enabled | bool | `false` | | -| rbac.serviceAccount.name | string | `""` | | -| redis.architecture | string | `"standalone"` | | -| redis.auth.enabled | bool | `true` | | -| redis.auth.existingSecret | string | `"formbricks-app-secrets"` | | -| redis.auth.existingSecretPasswordKey | string | `"REDIS_PASSWORD"` | | -| redis.enabled | bool | `true` | | -| redis.externalRedisUrl | string | `""` | | -| redis.fullnameOverride | string | `"formbricks-redis"` | | -| redis.master.persistence.enabled | bool | `true` | | -| redis.networkPolicy.enabled | bool | `false` | | -| secret.enabled | bool | `true` | | -| service.additionalLabels | object | `{}` | | -| service.annotations | object | `{}` | | -| service.enabled | bool | `true` | | -| service.ports | list | `[]` | | -| service.type | string | `"ClusterIP"` | | -| serviceMonitor.additionalLabels | string | `nil` | | -| serviceMonitor.annotations | string | `nil` | | -| serviceMonitor.enabled | bool | `true` | | -| serviceMonitor.endpoints[0].interval | string | `"5s"` | | -| serviceMonitor.endpoints[0].path | string | `"/metrics"` | | -| serviceMonitor.endpoints[0].port | string | `"metrics"` | | +| Key | Type | Default | Description | +| ------------------------------------------------------------------ | ------ | --------------------------------------------------------------------------- | --------------------------------------------------------- | +| autoscaling.additionalLabels | object | `{}` | | +| autoscaling.annotations | object | `{}` | | +| autoscaling.behavior.scaleDown.policies[0].periodSeconds | int | `120` | | +| autoscaling.behavior.scaleDown.policies[0].type | string | `"Pods"` | | +| autoscaling.behavior.scaleDown.policies[0].value | int | `1` | | +| autoscaling.behavior.scaleDown.stabilizationWindowSeconds | int | `300` | | +| autoscaling.behavior.scaleUp.policies[0].periodSeconds | int | `60` | | +| autoscaling.behavior.scaleUp.policies[0].type | string | `"Pods"` | | +| autoscaling.behavior.scaleUp.policies[0].value | int | `2` | | +| autoscaling.behavior.scaleUp.stabilizationWindowSeconds | int | `60` | | +| autoscaling.enabled | bool | `true` | | +| autoscaling.maxReplicas | int | `10` | | +| autoscaling.metrics[0].resource.name | string | `"cpu"` | | +| autoscaling.metrics[0].resource.target.averageUtilization | int | `60` | | +| autoscaling.metrics[0].resource.target.type | string | `"Utilization"` | | +| autoscaling.metrics[0].type | string | `"Resource"` | | +| autoscaling.metrics[1].resource.name | string | `"memory"` | | +| autoscaling.metrics[1].resource.target.averageUtilization | int | `60` | | +| autoscaling.metrics[1].resource.target.type | string | `"Utilization"` | | +| autoscaling.metrics[1].type | string | `"Resource"` | | +| autoscaling.minReplicas | int | `1` | | +| componentOverride | string | `""` | | +| deployment.additionalLabels | object | `{}` | | +| deployment.additionalPodAnnotations | object | `{}` | | +| deployment.additionalPodLabels | object | `{}` | | +| deployment.affinity | object | `{}` | | +| deployment.annotations | object | `{}` | | +| deployment.args | list | `[]` | | +| deployment.command | list | `[]` | | +| deployment.containerSecurityContext.readOnlyRootFilesystem | bool | `true` | | +| deployment.containerSecurityContext.runAsNonRoot | bool | `true` | | +| deployment.env | object | `{}` | | +| deployment.envFrom | string | `nil` | | +| deployment.image.digest | string | `""` | | +| deployment.image.pullPolicy | string | `"IfNotPresent"` | | +| deployment.image.repository | string | `"ghcr.io/formbricks/formbricks"` | | +| deployment.image.tag | string | `""` | | +| deployment.imagePullSecrets | string | `""` | | +| deployment.nodeSelector | object | `{}` | | +| deployment.ports.http.containerPort | int | `3000` | | +| deployment.ports.http.exposed | bool | `true` | | +| deployment.ports.http.protocol | string | `"TCP"` | | +| deployment.ports.metrics.containerPort | int | `9464` | | +| deployment.ports.metrics.exposed | bool | `true` | | +| deployment.ports.metrics.protocol | string | `"TCP"` | | +| deployment.probes.livenessProbe.failureThreshold | int | `5` | | +| deployment.probes.livenessProbe.httpGet.path | string | `"/health"` | | +| deployment.probes.livenessProbe.httpGet.port | int | `3000` | | +| deployment.probes.livenessProbe.initialDelaySeconds | int | `10` | | +| deployment.probes.livenessProbe.periodSeconds | int | `10` | | +| deployment.probes.livenessProbe.successThreshold | int | `1` | | +| deployment.probes.livenessProbe.timeoutSeconds | int | `5` | | +| deployment.probes.readinessProbe.failureThreshold | int | `5` | | +| deployment.probes.readinessProbe.httpGet.path | string | `"/health"` | | +| deployment.probes.readinessProbe.httpGet.port | int | `3000` | | +| deployment.probes.readinessProbe.initialDelaySeconds | int | `10` | | +| deployment.probes.readinessProbe.periodSeconds | int | `10` | | +| deployment.probes.readinessProbe.successThreshold | int | `1` | | +| deployment.probes.readinessProbe.timeoutSeconds | int | `5` | | +| deployment.probes.startupProbe.failureThreshold | int | `30` | | +| deployment.probes.startupProbe.periodSeconds | int | `10` | | +| deployment.probes.startupProbe.tcpSocket.port | int | `3000` | | +| deployment.reloadOnChange | bool | `false` | | +| deployment.replicas | int | `1` | | +| deployment.resources.limits.memory | string | `"2Gi"` | | +| deployment.resources.requests.cpu | string | `"1"` | | +| deployment.resources.requests.memory | string | `"1Gi"` | | +| deployment.revisionHistoryLimit | int | `2` | | +| deployment.securityContext | object | `{}` | | +| deployment.strategy.type | string | `"RollingUpdate"` | | +| deployment.tolerations | list | `[]` | | +| deployment.topologySpreadConstraints | list | `[]` | | +| enterprise.enabled | bool | `false` | | +| enterprise.licenseKey | string | `""` | | +| externalSecret.enabled | bool | `false` | | +| externalSecret.files | object | `{}` | | +| externalSecret.refreshInterval | string | `"1h"` | | +| externalSecret.secretStore.kind | string | `"ClusterSecretStore"` | | +| externalSecret.secretStore.name | string | `"aws-secrets-manager"` | | +| formbricks.publicUrl | string | `""` | | +| formbricks.webappUrl | string | `""` | | +| hub.autoscaling.enabled | bool | `false` | | +| hub.autoscaling.maxReplicas | int | `3` | | +| hub.autoscaling.minReplicas | int | `1` | | +| hub.enabled | bool | `true` | | +| hub.embeddings.auth.enabled | bool | `true` | | +| hub.embeddings.auth.existingSecret | string | `""` | | +| hub.embeddings.auth.secretKey | string | `"EMBEDDING_PROVIDER_API_KEY"` | | +| hub.embeddings.autoscaling.enabled | bool | `false` | | +| hub.embeddings.autoscaling.maxReplicas | int | `2` | | +| hub.embeddings.autoscaling.minReplicas | int | `1` | | +| hub.embeddings.baseUrl | string | `""` | Defaults to the internal TEI service URL ending in `/v1`. | +| hub.embeddings.enabled | bool | `false` | | +| hub.embeddings.extraArgs | list | `["--dtype","float16"]` | Additional args appended to the generated TEI args. | +| hub.embeddings.huggingFace.existingSecret | string | `""` | | +| hub.embeddings.huggingFace.token | string | `""` | | +| hub.embeddings.huggingFace.tokenKey | string | `"HF_TOKEN"` | | +| hub.embeddings.image.pullPolicy | string | `"IfNotPresent"` | | +| hub.embeddings.image.repository | string | `"ghcr.io/huggingface/text-embeddings-inference"` | | +| hub.embeddings.image.tag | string | `"cpu-1.9"` | | +| hub.embeddings.maxConcurrent | string | `"5"` | | +| hub.embeddings.model | string | `"Alibaba-NLP/gte-multilingual-base"` | | +| hub.embeddings.persistence.enabled | bool | `true` | | +| hub.embeddings.persistence.mountPath | string | `"/data"` | | +| hub.embeddings.persistence.size | string | `"10Gi"` | | +| hub.embeddings.pdb.enabled | bool | `false` | | +| hub.embeddings.port | int | `8080` | | +| hub.embeddings.prometheusPort | int | `9000` | | +| hub.embeddings.replicas | int | `1` | | +| hub.embeddings.resources.limits.memory | string | `"8Gi"` | | +| hub.embeddings.resources.requests.cpu | string | `"4"` | | +| hub.embeddings.resources.requests.memory | string | `"8Gi"` | | +| hub.embeddings.runtime | string | `"tei"` | | +| hub.embeddings.servedModelName | string | `""` | Defaults to `hub.embeddings.model`. | +| hub.embeddings.service.port | int | `8080` | | +| hub.embeddings.service.type | string | `"ClusterIP"` | | +| hub.env | object | `{}` | | +| hub.existingSecret | string | `""` | | +| hub.image.digest | string | `"sha256:14db7b3d285b6e9165b55693f9b83d08beff840a255fd77dd12882ee0a62f5cb"` | When set, takes precedence over tag (immutable pin). | +| hub.image.pullPolicy | string | `"IfNotPresent"` | | +| hub.image.repository | string | `"ghcr.io/formbricks/hub"` | | +| hub.image.tag | string | `"0.3.0"` | Fallback when digest is empty. | +| hub.migration.activeDeadlineSeconds | int | `900` | | +| hub.migration.backoffLimit | int | `3` | | +| hub.migration.ttlSecondsAfterFinished | int | `300` | | +| hub.pdb.enabled | bool | `false` | | +| hub.replicas | int | `1` | | +| hub.resources.limits.memory | string | `"512Mi"` | | +| hub.resources.requests.cpu | string | `"100m"` | | +| hub.resources.requests.memory | string | `"256Mi"` | | +| hub.worker.autoscaling.enabled | bool | `false` | | +| hub.worker.autoscaling.maxReplicas | int | `5` | | +| hub.worker.autoscaling.minReplicas | int | `1` | | +| hub.worker.enabled | bool | `true` | | +| hub.worker.env | object | `{}` | | +| hub.worker.pdb.enabled | bool | `false` | | +| hub.worker.replicas | int | `1` | | +| hub.worker.resources.limits.memory | string | `"512Mi"` | | +| hub.worker.resources.requests.cpu | string | `"100m"` | | +| hub.worker.resources.requests.memory | string | `"256Mi"` | | +| hub.worker.waitForApi.enabled | bool | `true` | | +| hub.worker.waitForApi.maxAttempts | int | `120` | 120 attempts at 5s intervals = 10 minutes. | +| ingress.annotations | object | `{}` | | +| ingress.enabled | bool | `false` | | +| ingress.hosts[0].host | string | `"k8s.formbricks.com"` | | +| ingress.hosts[0].paths[0].path | string | `"/"` | | +| ingress.hosts[0].paths[0].pathType | string | `"Prefix"` | | +| ingress.hosts[0].paths[0].serviceName | string | `"formbricks"` | | +| ingress.ingressClassName | string | `"alb"` | | +| migration.annotations | object | `{}` | | +| migration.backoffLimit | int | `3` | | +| migration.enabled | bool | `true` | | +| migration.resources.limits.memory | string | `"512Mi"` | | +| migration.resources.requests.cpu | string | `"100m"` | | +| migration.resources.requests.memory | string | `"256Mi"` | | +| migration.ttlSecondsAfterFinished | int | `300` | | +| nameOverride | string | `""` | | +| partOfOverride | string | `""` | | +| pdb.additionalLabels | object | `{}` | | +| pdb.annotations | object | `{}` | | +| pdb.enabled | bool | `true` | | +| pdb.minAvailable | int | `1` | | +| postgresql.auth.database | string | `"formbricks"` | | +| postgresql.auth.existingSecret | string | `"formbricks-app-secrets"` | | +| postgresql.auth.secretKeys.adminPasswordKey | string | `"POSTGRES_ADMIN_PASSWORD"` | | +| postgresql.auth.secretKeys.userPasswordKey | string | `"POSTGRES_USER_PASSWORD"` | | +| postgresql.auth.username | string | `"formbricks"` | | +| postgresql.enabled | bool | `true` | | +| postgresql.externalDatabaseUrl | string | `""` | | +| postgresql.fullnameOverride | string | `"formbricks-postgresql"` | | +| postgresql.global.security.allowInsecureImages | bool | `true` | | +| postgresql.image.repository | string | `"pgvector/pgvector"` | | +| postgresql.image.tag | string | `"pg17"` | | +| postgresql.primary.containerSecurityContext.enabled | bool | `true` | | +| postgresql.primary.containerSecurityContext.readOnlyRootFilesystem | bool | `false` | | +| postgresql.primary.containerSecurityContext.runAsUser | int | `1001` | | +| postgresql.primary.networkPolicy.enabled | bool | `false` | | +| postgresql.primary.persistence.enabled | bool | `true` | | +| postgresql.primary.persistence.size | string | `"10Gi"` | | +| postgresql.primary.podSecurityContext.enabled | bool | `true` | | +| postgresql.primary.podSecurityContext.fsGroup | int | `1001` | | +| postgresql.primary.podSecurityContext.runAsUser | int | `1001` | | +| rbac.enabled | bool | `false` | | +| rbac.serviceAccount.additionalLabels | object | `{}` | | +| rbac.serviceAccount.annotations | object | `{}` | | +| rbac.serviceAccount.enabled | bool | `false` | | +| rbac.serviceAccount.name | string | `""` | | +| redis.architecture | string | `"standalone"` | | +| redis.auth.enabled | bool | `true` | | +| redis.auth.existingSecret | string | `"formbricks-app-secrets"` | | +| redis.auth.existingSecretPasswordKey | string | `"REDIS_PASSWORD"` | | +| redis.enabled | bool | `true` | | +| redis.externalRedisUrl | string | `""` | | +| redis.fullnameOverride | string | `"formbricks-redis"` | | +| redis.master.persistence.enabled | bool | `true` | | +| redis.networkPolicy.enabled | bool | `false` | | +| secret.enabled | bool | `true` | | +| service.additionalLabels | object | `{}` | | +| service.annotations | object | `{}` | | +| service.enabled | bool | `true` | | +| service.ports | list | `[]` | | +| service.type | string | `"ClusterIP"` | | +| serviceMonitor.additionalLabels | string | `nil` | | +| serviceMonitor.annotations | string | `nil` | | +| serviceMonitor.enabled | bool | `true` | | +| serviceMonitor.endpoints[0].interval | string | `"5s"` | | +| serviceMonitor.endpoints[0].path | string | `"/metrics"` | | +| serviceMonitor.endpoints[0].port | string | `"metrics"` | |