mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-30 10:19:51 -06:00
300 lines
7.7 KiB
YAML
300 lines
7.7 KiB
YAML
# Override the name for the application.
|
|
# If not set, the chart name will be used.
|
|
nameOverride: ""
|
|
|
|
# Override the name of the application component.
|
|
# Defaults to the same value as nameOverride.
|
|
componentOverride: ""
|
|
|
|
# Override the application "part-of" label.
|
|
# Defaults to the chart name if not set.
|
|
partOfOverride: ""
|
|
|
|
##########################################################
|
|
# Enterprise Configuration
|
|
##########################################################
|
|
enterprise:
|
|
enabled: false
|
|
licenseKey: ""
|
|
|
|
##########################################################
|
|
# Deployment Configuration
|
|
##########################################################
|
|
deployment:
|
|
# Deployment strategy configuration
|
|
strategy:
|
|
type: RollingUpdate # Type of deployment strategy (RollingUpdate/Recreate)
|
|
# rollingUpdate:
|
|
# maxSurge: 25%
|
|
# maxUnavailable: 25%
|
|
|
|
# Automatically reload deployment when ConfigMaps or Secrets change
|
|
reloadOnChange: false
|
|
|
|
# NodeSelector for scheduling pods on specific nodes
|
|
nodeSelector: {}
|
|
|
|
# Additional labels for Deployment
|
|
additionalLabels: {}
|
|
|
|
# Additional pod labels to be used in the Service's label selector
|
|
additionalPodLabels: {}
|
|
|
|
# Deployment annotations
|
|
annotations: {}
|
|
|
|
# Additional pod annotations
|
|
additionalPodAnnotations: {}
|
|
|
|
# Number of replicas
|
|
replicas: 1
|
|
|
|
# Image pull secrets for private container registries
|
|
imagePullSecrets: ""
|
|
|
|
# Environment variables from ConfigMaps or Secrets
|
|
envFrom:
|
|
# app-secrets:
|
|
# type: secret
|
|
# nameSuffix: app-secrets
|
|
|
|
# Environment variables passed to the app container
|
|
env:
|
|
DOCKER_CRON_ENABLED:
|
|
value: "0"
|
|
|
|
# Tolerations for scheduling pods on tainted nodes
|
|
tolerations: []
|
|
|
|
# Pod affinity and anti-affinity rules
|
|
affinity: {}
|
|
|
|
# Topology spread constraints for better scheduling
|
|
topologySpreadConstraints: []
|
|
|
|
# Number of previous ReplicaSet versions to retain
|
|
revisionHistoryLimit: 2
|
|
|
|
# Application container image
|
|
image:
|
|
repository: "ghcr.io/formbricks/formbricks"
|
|
digest: "" # If set, digest takes precedence over the tag
|
|
pullPolicy: IfNotPresent
|
|
|
|
# Health probes configuration
|
|
probes:
|
|
startupProbe:
|
|
failureThreshold: 30
|
|
periodSeconds: 10
|
|
tcpSocket:
|
|
port: 3000
|
|
|
|
readinessProbe:
|
|
failureThreshold: 5
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
timeoutSeconds: 5
|
|
initialDelaySeconds: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 3000
|
|
|
|
livenessProbe:
|
|
failureThreshold: 5
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
timeoutSeconds: 5
|
|
initialDelaySeconds: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 3000
|
|
|
|
# Resource requests and limits
|
|
resources:
|
|
limits:
|
|
memory: 2Gi
|
|
requests:
|
|
memory: 1Gi
|
|
cpu: "1"
|
|
|
|
# Container security context
|
|
containerSecurityContext:
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
|
|
# Pod security context
|
|
securityContext: {}
|
|
|
|
# Command override
|
|
command: []
|
|
|
|
# Arguments override
|
|
args: []
|
|
|
|
# Container ports
|
|
ports:
|
|
http:
|
|
containerPort: 3000
|
|
protocol: TCP
|
|
exposed: true
|
|
metrics:
|
|
containerPort: 9464
|
|
protocol: TCP
|
|
exposed: true
|
|
|
|
##########################################################
|
|
# Horizontal Pod Autoscaler (HPA)
|
|
##########################################################
|
|
autoscaling:
|
|
enabled: true # Enable/disable HPA
|
|
additionalLabels: {} # Additional labels for the HPA resource
|
|
annotations: {} # Annotations for HPA
|
|
minReplicas: 1 # Minimum number of replicas
|
|
maxReplicas: 10 # Maximum number of replicas
|
|
metrics:
|
|
- type: Resource
|
|
resource:
|
|
name: cpu
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 60
|
|
- type: Resource
|
|
resource:
|
|
name: memory
|
|
target:
|
|
type: Utilization
|
|
averageUtilization: 60
|
|
|
|
##########################################################
|
|
# Service Configuration
|
|
##########################################################
|
|
service:
|
|
enabled: true # Enable/disable Kubernetes Service
|
|
additionalLabels: {} # Additional labels for Service
|
|
annotations: {} # Annotations for Service
|
|
type: ClusterIP # Service type (ClusterIP, NodePort, LoadBalancer)
|
|
ports: [] # Additional ports
|
|
|
|
##########################################################
|
|
# Role-Based Access Control (RBAC)
|
|
##########################################################
|
|
rbac:
|
|
enabled: false # Enable/disable RBAC
|
|
serviceAccount:
|
|
enabled: false # Enable/disable ServiceAccount
|
|
name: "" # Custom ServiceAccount name
|
|
additionalLabels: {} # Additional labels
|
|
annotations: {} # Annotations
|
|
|
|
##########################################################
|
|
# Cron Job Configuration
|
|
##########################################################
|
|
cronJob:
|
|
enabled: false # Enable/disable CronJobs
|
|
jobs: {} # Define cron jobs
|
|
|
|
##########################################################
|
|
# Kubernetes Secret Configuration (Quick Start)
|
|
##########################################################
|
|
secret:
|
|
enabled: true
|
|
|
|
##########################################################
|
|
# External Secrets Configuration
|
|
##########################################################
|
|
externalSecret:
|
|
enabled: false # Enable/disable ExternalSecrets
|
|
secretStore:
|
|
name: aws-secrets-manager # Secret store reference name
|
|
kind: ClusterSecretStore # Type of secret store
|
|
refreshInterval: "1h" # Frequency of secret sync
|
|
files: {}
|
|
|
|
##########################################################
|
|
# Ingress Configuration
|
|
##########################################################
|
|
ingress:
|
|
enabled: false # Enable/disable Ingress
|
|
ingressClassName: alb # Specify the Ingress class
|
|
hosts:
|
|
- host: k8s.formbricks.com
|
|
paths:
|
|
- path: /
|
|
pathType: "Prefix"
|
|
serviceName: "formbricks"
|
|
annotations: {} # Ingress annotations
|
|
|
|
|
|
##########################################################
|
|
# Redis Configuration
|
|
##########################################################
|
|
redis:
|
|
enabled: true # Enable/disable Redis
|
|
externalRedisUrl: ""
|
|
fullnameOverride: "formbricks-redis"
|
|
architecture: standalone
|
|
auth:
|
|
enabled: true
|
|
existingSecret: "formbricks-app-secrets"
|
|
existingSecretPasswordKey: "REDIS_PASSWORD"
|
|
networkPolicy:
|
|
enabled: false
|
|
master:
|
|
persistence:
|
|
enabled: true
|
|
|
|
##########################################################
|
|
# Service Monitor to collect Prometheus metrices
|
|
##########################################################
|
|
serviceMonitor:
|
|
enabled: true
|
|
|
|
# Additional labels
|
|
additionalLabels:
|
|
# key: value
|
|
|
|
# Additional annotations
|
|
annotations:
|
|
# key: value
|
|
|
|
# List of the endpoints of service from which prometheus will scrape data
|
|
endpoints:
|
|
- interval: 5s
|
|
path: /metrics
|
|
port: metrics
|
|
|
|
##########################################################
|
|
# PostgreSQL Configuration
|
|
##########################################################
|
|
postgresql:
|
|
enabled: true # Enable/disable PostgreSQL
|
|
externalDatabaseUrl: ""
|
|
global:
|
|
security:
|
|
allowInsecureImages: true
|
|
fullnameOverride: "formbricks-postgresql"
|
|
image:
|
|
repository: pgvector/pgvector
|
|
tag: 0.8.0-pg17
|
|
auth:
|
|
username: formbricks
|
|
database: formbricks
|
|
existingSecret: "formbricks-app-secrets"
|
|
secretKeys:
|
|
adminPasswordKey: "POSTGRES_ADMIN_PASSWORD"
|
|
userPasswordKey: "POSTGRES_USER_PASSWORD"
|
|
primary:
|
|
networkPolicy:
|
|
enabled: false
|
|
persistence:
|
|
enabled: true
|
|
size: 10Gi
|
|
podSecurityContext:
|
|
enabled: true
|
|
fsGroup: 1001
|
|
runAsUser: 1001
|
|
containerSecurityContext:
|
|
enabled: true
|
|
runAsUser: 1001
|
|
readOnlyRootFilesystem: false
|