--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app lychee spec: interval: 1h chartRef: kind: OCIRepository name: app-template install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 values: controllers: lychee: annotations: reloader.stakater.com/auto: "true" secret.reloader.stakater.com/reload: lychee-db-secret containers: app: image: repository: lycheeorg/lychee-laravel tag: v6.8.1@sha256:fc792fca1d27b23589be9ef66a12db40e7b109578b1cfb5a9cbf5061c07cd8af env: TIMEZONE: ${TIMEZONE} APP_NAME: Lychee APP_URL: https://lychee.${SECRET_EXTERNAL_DOMAIN} DB_CONNECTION: pgsql PHP_TZ: ${TIMEZONE} REDIS_HOST: dragonfly.database.svc.cluster.local. REDIS_PORT: 6379 TRUSTED_PROXIES: "*" envFrom: - secretRef: name: lychee-secret resources: requests: cpu: 100m memory: 256Mi probes: liveness: &probes enabled: true custom: true spec: httpGet: &probeHttpGet path: / port: &port 80 initialDelaySeconds: 0 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 readiness: *probes startup: enabled: true custom: true spec: initialDelaySeconds: 0 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 30 httpGet: *probeHttpGet service: app: controller: *app ports: http: port: *port route: app: hostnames: ["{{ .Release.Name }}.${SECRET_EXTERNAL_DOMAIN}"] parentRefs: - name: external namespace: network sectionName: https rules: - backendRefs: - name: *app port: *port persistence: config: enabled: true existingClaim: *app globalMounts: - path: /uploads photo: enabled: true type: nfs server: 192.168.9.10 path: /var/mnt/vol1/photo globalMounts: - path: /mnt/storage/photo