--- # Source: frigate/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: frigate namespace: frigate labels: app.kubernetes.io/name: frigate helm.sh/chart: frigate-7.6.0 app.kubernetes.io/instance: frigate app.kubernetes.io/managed-by: Helm data: config.yml: | mqtt: host: frigate-mqtt port: 1883 topic_prefix: frigate client_id: frigate user: '{FRIGATE_MQTT_USERNAME}' password: '{FRIGATE_MQTT_PASSWORD}' stats_interval: 60 detectors: # coral: # type: edgetpu # device: usb cpu1: type: cpu go2rtc: streams: server_room: "ffmpeg:http://user:{FRIGATE_RTSP_PASSWORD}@100.102.2.2:8080/?action=stream#video=h264" chaos: "ffmpeg:http://user:{FRIGATE_RTSP_PASSWORD}@100.102.2.3:8080/?action=stream#video=h264" cyber: "ffmpeg:http://user:{FRIGATE_RTSP_PASSWORD}@100.102.2.8:8080/?action=stream#video=h264" workshop: "ffmpeg:http://user:{FRIGATE_RTSP_PASSWORD}@100.102.2.10:8080/?action=stream#video=h264" cameras: server_room: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/server_room roles: - detect - rtmp - record chaos: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/chaos roles: - detect - rtmp - record cyber: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/cyber roles: - detect - rtmp - record workshop: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/workshop roles: - detect - rtmp - record --- # Source: frigate/templates/config-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: frigate-config labels: app.kubernetes.io/name: frigate helm.sh/chart: frigate-7.6.0 app.kubernetes.io/instance: frigate app.kubernetes.io/managed-by: Helm spec: accessModes: - "ReadWriteOnce" resources: requests: storage: "100Mi" storageClassName: "frigate-config" --- # Source: frigate/templates/media-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: frigate-media labels: app.kubernetes.io/name: frigate helm.sh/chart: frigate-7.6.0 app.kubernetes.io/instance: frigate app.kubernetes.io/managed-by: Helm spec: accessModes: - "ReadWriteOnce" resources: requests: storage: "100Gi" storageClassName: "frigate-data" --- # Source: frigate/templates/service.yaml apiVersion: v1 kind: Service metadata: name: frigate labels: app.kubernetes.io/name: frigate helm.sh/chart: frigate-7.6.0 app.kubernetes.io/instance: frigate app.kubernetes.io/version: "0.14.0" app.kubernetes.io/managed-by: Helm spec: type: ClusterIP ipFamilyPolicy: SingleStack ports: - name: http port: 5000 protocol: TCP targetPort: http - name: http-auth port: 8971 protocol: TCP targetPort: http-auth - name: rtmp port: 1935 protocol: TCP targetPort: rtmp - name: rtsp port: 8554 protocol: TCP targetPort: rtsp selector: app.kubernetes.io/name: frigate app.kubernetes.io/instance: frigate --- # Source: frigate/templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: frigate labels: app.kubernetes.io/name: frigate helm.sh/chart: frigate-7.6.0 app.kubernetes.io/instance: frigate app.kubernetes.io/version: "0.14.0" app.kubernetes.io/managed-by: Helm spec: replicas: 1 revisionHistoryLimit: 3 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/name: frigate app.kubernetes.io/instance: frigate template: metadata: labels: app.kubernetes.io/name: frigate app.kubernetes.io/instance: frigate annotations: checksum/configmap: 80913561aaed42918e40c6c5e154c53747edaec0aa33f1cca2b3a43115815cb4 spec: containers: - name: frigate image: "ghcr.io/blakeblackshear/frigate:0.14.0" imagePullPolicy: IfNotPresent securityContext: {} ports: - name: http containerPort: 5000 protocol: TCP - name: http-auth containerPort: 8971 protocol: TCP - name: rtmp containerPort: 1935 protocol: TCP - name: rtsp containerPort: 8554 protocol: TCP livenessProbe: httpGet: path: / port: http scheme: HTTP initialDelaySeconds: 30 failureThreshold: 5 timeoutSeconds: 10 readinessProbe: httpGet: path: / port: http scheme: HTTP initialDelaySeconds: 30 failureThreshold: 5 timeoutSeconds: 10 env: envFrom: - secretRef: name: frigate-rstp-credentials - secretRef: name: frigate-mqtt-credentials volumeMounts: - mountPath: /config/config.yml subPath: config.yml name: configmap - mountPath: /config name: config - mountPath: /data name: data - mountPath: /media name: media - name: dshm mountPath: /dev/shm - name: tmp mountPath: /tmp resources: {} volumes: - name: configmap configMap: name: frigate - name: config persistentVolumeClaim: claimName: frigate-config - name: data emptyDir: {} - name: media persistentVolumeClaim: claimName: frigate-media - name: dshm emptyDir: medium: Memory sizeLimit: 4Gi - name: tmp emptyDir: medium: Memory sizeLimit: 4Gi --- # Source: frigate/templates/ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: frigate labels: app.kubernetes.io/name: frigate helm.sh/chart: frigate-7.6.0 app.kubernetes.io/instance: frigate app.kubernetes.io/version: "0.14.0" app.kubernetes.io/managed-by: Helm annotations: external-dns.alpha.kubernetes.io/target: traefik.k-space.ee traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.middlewares: frigate-frigate@kubernetescrd traefik.ingress.kubernetes.io/router.tls: "true" spec: tls: - hosts: - "*.k-space.ee" secretName: rules: - host: "frigate.k-space.ee" http: paths: - path: / pathType: "ImplementationSpecific" backend: service: name: frigate port: name: http