feat: add frigate

This commit is contained in:
auricom
2021-05-20 22:23:18 +02:00
parent 66b75259ea
commit 8d57fb0c86
8 changed files with 156 additions and 4 deletions

View File

@@ -0,0 +1,111 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: frigate
namespace: home
spec:
interval: 5m
chart:
spec:
# renovate: registryUrl=https://blakeblackshear.github.io/blakeshome-charts/
chart: frigate
version: 5.0.1
sourceRef:
kind: HelmRepository
name: blakeshome-charts
namespace: flux-system
interval: 5m
values:
image:
repository: blakeblackshear/frigate
tag: 0.8.4-amd64
coral:
enabled: true
shmSize: 2Gi
timezone: "Europe/Paris"
config: |
mqtt:
host: vernemq
topic_prefix: frigate
database:
path: /data/frigate.db
detectors:
coral:
type: edgetpu
device: usb
objects:
track:
- person
- dog
- cat
filters:
person:
min_area: 2500
max_area: 100000
threshold: 0.7
dog:
min_area: 1000
max_area: 10000
threshold: 0.7
cat:
min_area: 1000
max_area: 10000
threshold: 0.7
ffmpeg:
hwaccel_args:
- -hwaccel
- vaapi
- -hwaccel_device
- /dev/dri/renderD128
- -hwaccel_output_format
- yuv420p
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/auth-url: "http://authelia.networking.svc.cluster.local/api/verify"
nginx.ingress.kubernetes.io/auth-signin: "https://login.${SECRET_CLUSTER_DOMAIN}/"
hosts:
- "frigate.${SECRET_CLUSTER_DOMAIN}"
tls:
- hosts:
- "frigate.${SECRET_CLUSTER_DOMAIN}"
persistence:
data:
enabled: true
existingClaim: frigate-config
mountPath: /data
extraVolumes:
- name: cache
emptyDir:
medium: Memory
extraVolumeMounts:
- name: cache
mountPath: /tmp/cache
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: feature.node.kubernetes.io/custom-coral-tpu
operator: In
values:
- "true"
- key: feature.node.kubernetes.io/custom-intel-gpu
operator: In
values:
- "true"
resources:
requests:
gpu.intel.com/i915: 1
memory: 100Mi
cpu: 500m
limits:
gpu.intel.com/i915: 1
memory: 2000Mi

View File

@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helm-release.yaml
- volume.yaml

View File

@@ -0,0 +1,15 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: frigate-config
namespace: home
labels:
kasten-io-snapshots: "enable"
spec:
accessModes:
- ReadWriteOnce
storageClassName: rook-ceph-block
resources:
requests:
storage: 1Gi

View File

@@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- esphome - esphome
- frigate
- home-assistant - home-assistant
- node-red - node-red
- vernemq - vernemq

View File

@@ -71,3 +71,14 @@ spec:
tls: tls:
- hosts: - hosts:
- "jellyfin.${SECRET_CLUSTER_DOMAIN}" - "jellyfin.${SECRET_CLUSTER_DOMAIN}"
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: feature.node.kubernetes.io/custom-coral-tpu
operator: In
values:
- "true"

View File

@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: blakeshome-charts
namespace: flux-system
spec:
interval: 10m
url: https://blakeblackshear.github.io/blakeshome-charts/
timeout: 3m

View File

@@ -3,6 +3,7 @@ kind: Kustomization
resources: resources:
- banzaicloud-charts.yaml - banzaicloud-charts.yaml
- bitnami-charts.yaml - bitnami-charts.yaml
- blakeshome-charts.yaml
- cert-manager-webhook-ovh.yaml - cert-manager-webhook-ovh.yaml
- coredns-charts.yaml - coredns-charts.yaml
- drone-charts.yaml - drone-charts.yaml

View File

@@ -65,12 +65,10 @@ spec:
class: ["ff"] class: ["ff"]
vendor: ["1a86"] vendor: ["1a86"]
device: ["7523"] device: ["7523"]
- name: "rflink" - name: "coral-tpu"
matchOn: matchOn:
- usbId: - usbId:
class: ["02"] vendor: ["1a6e", "18d1"]
vendor: ["2341"]
device: ["0042"]
- name: "intel-gpu" - name: "intel-gpu"
matchOn: matchOn:
- pciId: - pciId: