--- # 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: home-assistant spec: interval: 30m chart: spec: chart: app-template version: 3.5.1 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 dependsOn: - name: rook-ceph-cluster namespace: rook-ceph - name: volsync namespace: volsync-system values: controllers: home-assistant: annotations: reloader.stakater.com/auto: "true" containers: app: image: repository: ghcr.io/onedr0p/home-assistant tag: 2024.10.4@sha256:d788b59a4ee584f7cbeee7cff896e922faa8f0673c83187045e77e0fc77c8457 env: TZ: America/Chicago envFrom: - secretRef: name: home-assistant-secret securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: { drop: ["ALL"] } resources: requests: cpu: 10m limits: memory: 2Gi code-server: image: repository: ghcr.io/coder/code-server tag: 4.93.1@sha256:c69e398d1b64589b3b77a7becfd03f4ec524982def20e6bffbb51b1b839e72ba args: [ "--auth", "none", "--user-data-dir", "/config/.vscode", "--extensions-dir", "/config/.vscode", "--port", "12321", "/config" ] resources: requests: cpu: 10m limits: memory: 512Mi defaultPodOptions: securityContext: runAsNonRoot: true runAsUser: 568 runAsGroup: 568 fsGroup: 568 fsGroupChangePolicy: OnRootMismatch seccompProfile: { type: RuntimeDefault } service: app: controller: home-assistant ports: http: port: 8123 code-server: port: 12321 ingress: app: annotations: className: internal-nginx hosts: - host: hass.jahanson.tech paths: - path: / service: identifier: app port: http code-server: annotations: className: internal-nginx hosts: - host: hass-code.jahanson.tech paths: - path: / service: identifier: app port: code-server persistence: config: existingClaim: home-assistant globalMounts: - path: /config logs: type: emptyDir globalMounts: - path: /config/logs tts: type: emptyDir globalMounts: - path: /config/tts tmp: type: emptyDir globalMounts: - path: /tmp