--- # yaml-language-server: $schema=https://k8s-schemas.home-operations.com/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: futo-backups-bot spec: interval: 1h chart: spec: chart: charts/apps/futo-backups-bot # Repackage on every git revision — the in-repo charts keep a static # version, so the default ChartVersion strategy never ships template edits. reconcileStrategy: Revision sourceRef: kind: GitRepository name: ${CHART_SOURCE:=flux-system} namespace: flux-system install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 values: image: repository: ghcr.io/immich-app/yucca/futo-backups-bot tag: ${YUCCA_IMAGE_TAG:=} # Drop the chart's dev-fixture Secret — the real DISCORD_BOT_TOKEN, # INTERNAL_SECRET, DISCORD_* ids (from the YUCCA_DISCORD_SUPPORT_IDS item # core-infra-tf's discord apply writes), and TRANSCRIPT_S3_* credentials # all arrive via the TF-provisioned futo-backups-bot Secret # (tf .../secrets.tf). Until they land there the bot boots idle instead of # crashing. NB: the ids must NOT appear under env: — explicit env beats # envFrom, so an empty value here would shadow the Secret. secretData: null env: - name: NODE_ENV value: production - name: FUTO_BACKUPS_BOT_PORT value: "3050" - name: LOG_LEVEL value: info - name: OTEL_METRICS value: http://${VMAGENT_OTLP}/opentelemetry/v1/metrics - name: YUCCA_API_URL value: http://yucca-api:3020 - name: WEB_URL value: https://${APP_DOMAIN} - name: GRAFANA_USER_DASHBOARD_URL value: ${GRAFANA_USER_DASHBOARD_URL:=} - name: TRANSCRIPT_S3_ENDPOINT value: ${TRANSCRIPT_S3_ENDPOINT:=} - name: TRANSCRIPT_S3_BUCKET value: ${TRANSCRIPT_S3_BUCKET:=}