mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-02-02 23:39:03 +00:00
[frigate] chart based on common (#1091)
* feat: welcome back frigate * feat: add resources block * Update charts/stable/frigate/templates/configmap.yaml Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev> * feat: add resources block * feat: add resources block * fix: configmap tpl Co-authored-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
This commit is contained in:
parent
09ab372625
commit
619d9e49e9
26
charts/stable/frigate/.helmignore
Normal file
26
charts/stable/frigate/.helmignore
Normal file
@ -0,0 +1,26 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
24
charts/stable/frigate/Chart.yaml
Normal file
24
charts/stable/frigate/Chart.yaml
Normal file
@ -0,0 +1,24 @@
|
||||
apiVersion: v2
|
||||
appVersion: v0.8.0
|
||||
description: NVR With Realtime Object Detection for IP Cameras
|
||||
name: frigate
|
||||
version: 5.0.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- frigate
|
||||
- nvr
|
||||
- tensorflow
|
||||
- coral
|
||||
- ml
|
||||
- machine-learning
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/frigate
|
||||
icon: https://github.com/blakeblackshear/frigate/blob/master/docs/static/img/frigate.png
|
||||
sources:
|
||||
- https://github.com/blakeblackshear/frigate
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 3.3.0
|
117
charts/stable/frigate/README.md
Normal file
117
charts/stable/frigate/README.md
Normal file
@ -0,0 +1,117 @@
|
||||
# frigate
|
||||
|
||||
![Version: 5.0.0](https://img.shields.io/badge/Version-5.0.0-informational?style=flat-square) ![AppVersion: v0.8.0](https://img.shields.io/badge/AppVersion-v0.8.0-informational?style=flat-square)
|
||||
|
||||
NVR With Realtime Object Detection for IP Cameras
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/blakeblackshear/frigate>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 3.3.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
helm repo update
|
||||
helm install frigate k8s-at-home/frigate
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `frigate`
|
||||
|
||||
```console
|
||||
helm install frigate k8s-at-home/frigate
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `frigate` deployment
|
||||
|
||||
```console
|
||||
helm uninstall frigate
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
|
||||
## Configuration
|
||||
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install frigate \
|
||||
--set env.TZ="America/New York" \
|
||||
k8s-at-home/frigate
|
||||
```
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install frigate k8s-at-home/frigate -f values.yaml
|
||||
```
|
||||
|
||||
## Custom configuration
|
||||
|
||||
N/A
|
||||
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| affinity | object | `{}` | Affinity constraint rules to place the Pod on a specific node. [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) |
|
||||
| config | string | see URL to default config | See [docs](https://blakeblackshear.github.io/frigate/) for more details. |
|
||||
| env | object | See below | environment variables. See [docs](https://blakeblackshear.github.io/frigate/) for more details. |
|
||||
| env.FRIGATE_RTSP_PASSWORD | string | empty | Set a RTSP password |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"blakeblackshear/frigate"` | image repository |
|
||||
| image.tag | string | `"0.8.4-amd64"` | image tag |
|
||||
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||
| persistence.cache | object | See values.yaml | Configure a temporary cache. See [docs](https://blakeblackshear.github.io/frigate/) for more details.. |
|
||||
| persistence.usb | object | See values.yaml | Configure a hostPathMount to mount a USB device in the container. |
|
||||
| resources | object | `{}` | Configure the resource requests and/or limits for the Pod |
|
||||
| securityContext.privileged | bool | `false` | (bool) Privileged securityContext may be required if USB devices are accessed directly through the host machine |
|
||||
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||
|
||||
## Changelog
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [5.0.0]
|
||||
|
||||
#### Changed
|
||||
|
||||
- **BREAKING**: Upgraded the common library dependency to version 3.0.0. This introduces several breaking changes (`service`, `ingress` and `persistence` keys have been refactored).
|
||||
Be sure to check out the [library chart](https://github.com/k8s-at-home/library-charts/blob/common-3.2.0/charts/stable/common/) for the up-to-date values.
|
||||
|
||||
[5.0.0]: #500
|
||||
|
||||
## Support
|
||||
|
||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
146
charts/stable/frigate/README.md.gotmpl
Normal file
146
charts/stable/frigate/README.md.gotmpl
Normal file
@ -0,0 +1,146 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.set" -}}
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} \
|
||||
--set env.TZ="America/New York" \
|
||||
{{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.file" -}}
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.valuesSection" -}}
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||
|
||||
{{ template "chart.valuesTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.support" -}}
|
||||
## Support
|
||||
|
||||
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||
{{- end -}}
|
||||
|
||||
{{ template "chart.header" . }}
|
||||
|
||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
||||
|
||||
{{ template "chart.description" . }}
|
||||
|
||||
{{ template "custom.notes" . }}
|
||||
|
||||
{{ template "chart.sourcesSection" . }}
|
||||
|
||||
{{ template "custom.requirements" . }}
|
||||
|
||||
{{ template "custom.dependencies" . }}
|
||||
|
||||
{{ template "custom.install.tldr" . }}
|
||||
|
||||
{{ template "custom.install" . }}
|
||||
|
||||
{{ template "custom.uninstall" . }}
|
||||
|
||||
{{ template "custom.configuration.header" . }}
|
||||
|
||||
{{ template "custom.configuration.readValues" . }}
|
||||
|
||||
{{ template "custom.configuration.example.set" . }}
|
||||
|
||||
{{ template "custom.configuration.example.file" . }}
|
||||
|
||||
{{ template "custom.custom.configuration" . }}
|
||||
|
||||
{{ template "custom.valuesSection" . }}
|
||||
|
||||
{{ template "custom.changelog" . }}
|
||||
|
||||
{{ template "custom.support" . }}
|
||||
|
||||
{{ template "helm-docs.versionFooter" . }}
|
||||
{{ "" }}
|
20
charts/stable/frigate/README_CHANGELOG.md.gotmpl
Normal file
20
charts/stable/frigate/README_CHANGELOG.md.gotmpl
Normal file
@ -0,0 +1,20 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [5.0.0]
|
||||
|
||||
#### Changed
|
||||
|
||||
- **BREAKING**: Upgraded the common library dependency to version 3.0.0. This introduces several breaking changes (`service`, `ingress` and `persistence` keys have been refactored).
|
||||
Be sure to check out the [library chart](https://github.com/k8s-at-home/library-charts/blob/common-3.2.0/charts/stable/common/) for the up-to-date values.
|
||||
|
||||
[5.0.0]: #500
|
||||
{{- end -}}
|
9
charts/stable/frigate/README_CONFIG.md.gotmpl
Normal file
9
charts/stable/frigate/README_CONFIG.md.gotmpl
Normal file
@ -0,0 +1,9 @@
|
||||
{{- define "custom.custom.configuration.header" -}}
|
||||
## Custom configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.custom.configuration" -}}
|
||||
{{ template "custom.custom.configuration.header" . }}
|
||||
|
||||
N/A
|
||||
{{- end -}}
|
1
charts/stable/frigate/templates/NOTES.txt
Normal file
1
charts/stable/frigate/templates/NOTES.txt
Normal file
@ -0,0 +1 @@
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
19
charts/stable/frigate/templates/common.yaml
Normal file
19
charts/stable/frigate/templates/common.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Append the hardcoded settings */}}
|
||||
{{- define "frigate.configValues" -}}
|
||||
persistence:
|
||||
frigate-config:
|
||||
enabled: "true"
|
||||
mountPath: "/config/config.yml"
|
||||
subPath: "config.yml"
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: {{ printf "%v-config" (include "common.names.fullname" .) }}
|
||||
{{- end -}}
|
||||
{{- $_ := mergeOverwrite .Values (include "frigate.configValues" . | fromYaml) -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
9
charts/stable/frigate/templates/configmap.yaml
Normal file
9
charts/stable/frigate/templates/configmap.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}-config
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
data:
|
||||
config.yml: |
|
||||
{{- tpl .Values.config $ | nindent 4 }}
|
106
charts/stable/frigate/values.yaml
Normal file
106
charts/stable/frigate/values.yaml
Normal file
@ -0,0 +1,106 @@
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
# -- image repository
|
||||
repository: blakeblackshear/frigate
|
||||
# -- image tag
|
||||
tag: 0.8.4-amd64
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- environment variables. See [docs](https://blakeblackshear.github.io/frigate/) for more details.
|
||||
# @default -- See below
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
TZ: UTC
|
||||
# -- Set a RTSP password
|
||||
# @default -- empty
|
||||
FRIGATE_RTSP_PASSWORD: ""
|
||||
|
||||
# -- Configures service settings for the chart.
|
||||
# @default -- See values.yaml
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: 5000
|
||||
rtmp:
|
||||
enabled: false
|
||||
port: 1935
|
||||
protocol: TCP
|
||||
targetPort: 1935
|
||||
|
||||
ingress:
|
||||
# -- Enable and configure ingress settings for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
main:
|
||||
enabled: false
|
||||
|
||||
securityContext:
|
||||
# -- (bool) Privileged securityContext may be required if USB devices are accessed directly through the host machine
|
||||
privileged: false
|
||||
|
||||
# -- Configure persistence settings for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
persistence:
|
||||
data:
|
||||
enabled: false
|
||||
mountPath: /data
|
||||
media:
|
||||
enabled: false
|
||||
mountPath: /media
|
||||
# -- Configure a hostPathMount to mount a USB device in the container.
|
||||
# @default -- See values.yaml
|
||||
usb:
|
||||
enabled: false
|
||||
type: hostPath
|
||||
hostPath: /dev/bus/usb
|
||||
# -- Configure a temporary cache. See [docs](https://blakeblackshear.github.io/frigate/) for more details..
|
||||
# @default -- See values.yaml
|
||||
cache:
|
||||
enabled: true
|
||||
type: emptyDir
|
||||
medium: Memory
|
||||
sizeLimit: 1Gi
|
||||
mountPath: /dev/shm
|
||||
|
||||
# -- Affinity constraint rules to place the Pod on a specific node.
|
||||
# [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# - key: app
|
||||
# operator: In
|
||||
# values:
|
||||
# - coral-tpu
|
||||
|
||||
# -- Configure the resource requests and/or limits for the Pod
|
||||
resources: {}
|
||||
# requests:
|
||||
# # Hardware acceleration using an Intel iGPU w/ QuickSync and
|
||||
# # using intel-gpu-plugin (https://github.com/intel/intel-device-plugins-for-kubernetes)
|
||||
# gpu.intel.com/i915: 1
|
||||
# cpu: 200m
|
||||
# memory: 256Mi
|
||||
# limits:
|
||||
# # Hardware acceleration using an Intel iGPU w/ QuickSync and
|
||||
# # using intel-gpu-plugin (https://github.com/intel/intel-device-plugins-for-kubernetes)
|
||||
# gpu.intel.com/i915: 1
|
||||
# memory: 4096Mi
|
||||
|
||||
# -- See [docs](https://blakeblackshear.github.io/frigate/) for more details.
|
||||
# @default -- see URL to default config
|
||||
config: |
|
||||
mqtt:
|
||||
host: test.mosquitto.org
|
||||
topic_prefix: frigate
|
||||
detectors:
|
||||
cpu1:
|
||||
type: cpu
|
Loading…
Reference in New Issue
Block a user