# Default values for motm-app # This is a YAML-formatted file. # Declare variables to be passed into your templates. # Application Configuration app: name: motm-app version: "1.0.0" description: "MOTM Hockey Voting Application" # Image Configuration image: repository: your-registry/motm-app tag: "latest" pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. # tag: "" # Image pull secrets imagePullSecrets: [] nameOverride: "" fullnameOverride: "" # Service Account serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" # Pod Security Context podSecurityContext: fsGroup: 1000 runAsNonRoot: true runAsUser: 1000 # Container Security Context securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false runAsNonRoot: true runAsUser: 1000 # Service Configuration service: type: ClusterIP port: 80 targetPort: 5000 annotations: {} # Ingress Configuration ingress: enabled: true className: "" annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "true" cert-manager.io/cluster-issuer: "letsencrypt-prod" hosts: - host: motm.yourdomain.com paths: - path: / pathType: Prefix tls: - secretName: motm-app-tls hosts: - motm.yourdomain.com # Resource Limits and Requests resources: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 256Mi # Autoscaling autoscaling: enabled: false minReplicas: 1 maxReplicas: 10 targetCPUUtilizationPercentage: 80 targetMemoryUtilizationPercentage: 80 # Node Selector nodeSelector: {} # Tolerations tolerations: [] # Affinity affinity: {} # Pod Disruption Budget podDisruptionBudget: enabled: false minAvailable: 1 # Database Configuration database: type: "postgresql" # postgresql, mysql, sqlite host: "postgresql-service" port: 5432 name: "motm" username: "motm_user" # Password should be set via secret # password: "" # S3 Configuration s3: enabled: true endpoint: "https://s3.amazonaws.com" region: "us-east-1" bucket: "motm-assets" accessKeyId: "" secretAccessKey: "" # These should be set via secret # Environment Variables env: FLASK_ENV: "production" FLASK_APP: "main.py" FLASK_RUN_HOST: "0.0.0.0" FLASK_RUN_PORT: "5000" PYTHONUNBUFFERED: "1" PYTHONDONTWRITEBYTECODE: "1" # ConfigMap for application configuration configMap: databaseConfig: | [DATABASE] type = {{ .Values.database.type }} [MYSQL] host = {{ .Values.database.host }} port = {{ .Values.database.port }} database = {{ .Values.database.name }} username = {{ .Values.database.username }} [POSTGRESQL] host = {{ .Values.database.host }} port = {{ .Values.database.port }} database = {{ .Values.database.name }} username = {{ .Values.database.username }} # Secrets secrets: # Database password dbPassword: "" # S3 credentials s3AccessKey: "" s3SecretKey: "" # Health Checks healthCheck: enabled: true path: "/" initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 # Persistence persistence: enabled: false # storageClass: "" accessMode: ReadWriteOnce size: 1Gi # Monitoring monitoring: enabled: false serviceMonitor: enabled: false interval: 30s scrapeTimeout: 10s # Logging logging: level: "INFO" format: "json" # Labels and Annotations labels: {} annotations: {} podLabels: {} podAnnotations: {}