--- # 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 record: enabled: True retain: days: 3 mode: motion events: retain: default: 30 mode: motion cameras: server_room: ffmpeg: inputs: - path: rtsp://go2rtc:8554/server_room roles: - detect - rtmp - record chaos: ffmpeg: inputs: - path: rtsp://go2rtc:8554/chaos roles: - detect - rtmp - record cyber: ffmpeg: inputs: - path: rtsp://go2rtc:8554/cyber roles: - detect - rtmp - record workshop: ffmpeg: inputs: - path: rtsp://go2rtc: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: "longhorn" --- # 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: e87f827cda067d3ff35d52fb3cef3286e9670da77c9b83a5518b35f14f6aaa19 spec: nodeSelector: dedicated: nvr tolerations: - key: dedicated operator: Equal value: nvr effect: NoSchedule containers: - name: frigate image: "ghcr.io/blakeblackshear/frigate:0.14.0" imagePullPolicy: IfNotPresent securityContext: privileged: true capabilities: add: ["SYS_RAWIO"] 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: /dev/bus/usb name: coral-dev - 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: coral-dev hostPath: path: /dev/bus/usb - name: coral-dev hostPath: path: /dev/bus/usb - name: config persistentVolumeClaim: claimName: frigate-config - name: data emptyDir: {} - name: media persistentVolumeClaim: claimName: frigate-storage - 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