Compare commits
15 Commits
gonic-1.0.
...
protonmail
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
beee21811a | ||
|
|
1775d51d22 | ||
|
|
a52f214568 | ||
|
|
269e6e6539 | ||
|
|
a885f84f21 | ||
|
|
dca725c103 | ||
|
|
8dcc5b95ca | ||
|
|
a6044906b8 | ||
|
|
acfb645810 | ||
|
|
34bbd3e3da | ||
|
|
5e86ce93b7 | ||
|
|
1549e9056f | ||
|
|
efcde7f81b | ||
|
|
fc49382e94 | ||
|
|
7fc6b440e6 |
10
.github/workflows/charts-lint-test.yaml
vendored
10
.github/workflows/charts-lint-test.yaml
vendored
@@ -1,6 +1,6 @@
|
||||
name: "Charts: Lint and test"
|
||||
|
||||
on:
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'charts/**'
|
||||
@@ -68,13 +68,13 @@ jobs:
|
||||
- name: Install Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
|
||||
ruby-version: 2.7
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
export RUBYJQ_USE_SYSTEM_LIBRARIES=1
|
||||
bundle install
|
||||
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
bundle exec m -r test/charts
|
||||
@@ -105,7 +105,7 @@ jobs:
|
||||
if: needs.lint.outputs.changed == 'true' || needs.lint.outputs.common == 'true'
|
||||
|
||||
- name: Run chart-testing (install)
|
||||
run: ct install --config .github/ct.yaml
|
||||
run: ct install --config .github/ct.yaml --excluded-charts ""
|
||||
if: needs.lint.outputs.changed == 'true'
|
||||
|
||||
- name: Run chart-testing (common-test)
|
||||
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,3 +1,6 @@
|
||||
# Developer dependencies
|
||||
.bin
|
||||
|
||||
# IDE resources
|
||||
.vscode
|
||||
.idea
|
||||
@@ -9,4 +12,5 @@ charts/*/charts
|
||||
|
||||
# Other rsources
|
||||
.env
|
||||
.envrc
|
||||
Gemfile.lock
|
||||
|
||||
48
.taskfiles/Taskfile_chart.yml
Normal file
48
.taskfiles/Taskfile_chart.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
version: '3'
|
||||
|
||||
tasks:
|
||||
|
||||
create:
|
||||
desc: create new chart
|
||||
cmds:
|
||||
- git checkout -b add-chart-{{.CHART}}
|
||||
- cp -r {{.GIT_ROOT}}/templates/chart {{.GIT_ROOT}}/charts/{{.CHART}}
|
||||
- ./.bin/go-replace -s '${CHARTNAME}' -r "{{.CHART}}" --path={{.GIT_ROOT}}/charts/{{.CHART}} --path-pattern='*.*'
|
||||
- task: dependency
|
||||
- echo "Congratulations, charts/{{.CHART}} successfully generated, you can now edit chart informations ( Chart.yaml and values.yaml )"
|
||||
status:
|
||||
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}
|
||||
deps:
|
||||
- check-chart
|
||||
silent: true
|
||||
|
||||
|
||||
dependency:
|
||||
cmds:
|
||||
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}/Chart.lock && rm {{.GIT_ROOT}}/charts/{{.CHART}}/Chart.lock || exit 0
|
||||
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}/tmpcharts && rm -rf {{.GIT_ROOT}}/charts/{{.CHART}}/tmpcharts || exit 0
|
||||
- cd {{.GIT_ROOT}}/charts/{{.CHART}} && helm dependency update
|
||||
silent: true
|
||||
|
||||
lint:
|
||||
desc: lint your chart code
|
||||
cmds:
|
||||
- cd {{.GIT_ROOT}}/charts/{{.CHART}} && helm lint
|
||||
deps:
|
||||
- dependency
|
||||
- check-chart
|
||||
|
||||
test:
|
||||
desc: test your chart code
|
||||
cmds:
|
||||
- docker run --rm -it --user $(id -u):$(id -g) -e "HELM_CONFIG_HOME=/tmp/helm" -e "HELM_CACHE_HOME=/tmp/helm" -v {{.GIT_ROOT}}:/ci -w /ci quay.io/helmpack/chart-testing:latest ct lint --charts charts/{{.CHART}} --config /ci/.github/ct.yaml
|
||||
deps:
|
||||
- check-chart
|
||||
- lint
|
||||
|
||||
# Checks Parameters
|
||||
check-chart:
|
||||
cmds:
|
||||
- cmd: test ! -z "{{.CHART}}" || (echo "Please define CHART parameter"; exit 1)
|
||||
silent: true
|
||||
41
.taskfiles/Taskfile_darwin.yml
Normal file
41
.taskfiles/Taskfile_darwin.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
version: '3'
|
||||
|
||||
# Todo: add all darwin requirements
|
||||
|
||||
env:
|
||||
URL_GOREPLACE: https://github.com/webdevops/go-replace/releases/download/1.1.2/gr-64-osx
|
||||
|
||||
tasks:
|
||||
|
||||
install:
|
||||
desc: Install all developer dependencies
|
||||
deps:
|
||||
- distrib-requirements
|
||||
- go-replace
|
||||
|
||||
distrib-requirements:
|
||||
desc: Check needed distribution packages
|
||||
cmds:
|
||||
- task deps:need BIN=wget
|
||||
- task deps:need BIN=python3
|
||||
- task deps:need BIN=docker
|
||||
silent: true
|
||||
|
||||
need:
|
||||
desc: Check needed binary is present
|
||||
cmds:
|
||||
- type {{.BIN}} 2>&1 >/dev/null || (echo "Please install {{.BIN}}"; exit 1)
|
||||
silent: true
|
||||
|
||||
go-replace:
|
||||
desc: Install go-replace
|
||||
cmds:
|
||||
- echo "Installing go-replace"
|
||||
- mkdir -p ".bin"
|
||||
- wget -q "https://github.com/webdevops/go-replace/releases/download/1.1.2/gr-64-osx" -O .bin/go-replace && chmod +x .bin/go-replace
|
||||
status:
|
||||
- test -e .bin/go-replace
|
||||
deps:
|
||||
- distrib-requirements
|
||||
silent: true
|
||||
64
.taskfiles/Taskfile_linux.yml
Normal file
64
.taskfiles/Taskfile_linux.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
version: '3'
|
||||
|
||||
env:
|
||||
URL_GOREPLACE: https://github.com/webdevops/go-replace/releases/download/1.1.2/gr-64-linux
|
||||
URL_HELM: https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
|
||||
|
||||
tasks:
|
||||
|
||||
install:
|
||||
desc: Install all developer dependencies
|
||||
deps:
|
||||
- distrib-requirements
|
||||
- helm
|
||||
- pre-commit
|
||||
- go-replace
|
||||
|
||||
distrib-requirements:
|
||||
desc: Check needed distribution packages
|
||||
cmds:
|
||||
- task deps:need BIN=wget
|
||||
- task deps:need BIN=python3
|
||||
- task deps:need BIN=docker
|
||||
silent: true
|
||||
|
||||
need:
|
||||
desc: Check needed binary is present
|
||||
cmds:
|
||||
- type {{.BIN}} 2>&1 >/dev/null || (echo "Please install {{.BIN}}"; exit 1)
|
||||
silent: true
|
||||
|
||||
helm:
|
||||
desc: Install helm client
|
||||
cmds:
|
||||
- echo "Installing helm"
|
||||
- wget -q -O - "$URL_HELM" | USE_SUDO=false HELM_INSTALL_DIR=.bin bash
|
||||
status:
|
||||
- test -e .bin/helm
|
||||
deps:
|
||||
- distrib-requirements
|
||||
silent: true
|
||||
|
||||
pre-commit:
|
||||
desc: Install a precommit pip package
|
||||
cmds:
|
||||
- echo "Installing pre-commit"
|
||||
- python3 -m pip install --user pre-commit
|
||||
status:
|
||||
- type pre-commit
|
||||
deps:
|
||||
- distrib-requirements
|
||||
silent: true
|
||||
|
||||
go-replace:
|
||||
desc: Install go-replace
|
||||
cmds:
|
||||
- echo "Installing go-replace"
|
||||
- mkdir -p ".bin"
|
||||
- wget -q "$URL_GOREPLACE" -O .bin/go-replace && chmod +x .bin/go-replace
|
||||
status:
|
||||
- test -e .bin/go-replace
|
||||
deps:
|
||||
- distrib-requirements
|
||||
silent: true
|
||||
10
.taskfiles/Taskfile_windows.yml
Normal file
10
.taskfiles/Taskfile_windows.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
version: '3'
|
||||
|
||||
# Todo: add windows requirements
|
||||
|
||||
tasks:
|
||||
default:
|
||||
cmds:
|
||||
- task -l
|
||||
silent: true
|
||||
@@ -39,6 +39,23 @@ See `git help commit`:
|
||||
|
||||
Once changes have been merged, the release job will automatically run to package and release changed charts.
|
||||
|
||||
### Create new chart
|
||||
```
|
||||
# Clone
|
||||
git clone
|
||||
cd charts
|
||||
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b .bin
|
||||
|
||||
# Create chart
|
||||
PATH=$PATH:$PWD/.bin
|
||||
task chart:create CHART=chart_name
|
||||
# Don't forgot edit some chart informations in charts/char_name/Chart.yaml and charts/char_name/values.yaml
|
||||
|
||||
# Lint & Test
|
||||
task chart:lint CHART=chart_name
|
||||
task chart:test CHART=chart_name
|
||||
```
|
||||
|
||||
### Immutability
|
||||
|
||||
Chart releases must be immutable. Any change to a chart warrants a chart version bump even if it is only changed to the documentation.
|
||||
|
||||
16
Taskfile.yml
Normal file
16
Taskfile.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
GIT_ROOT:
|
||||
sh: git rev-parse --show-toplevel
|
||||
|
||||
includes:
|
||||
deps: .taskfiles/Taskfile_{{OS}}.yml
|
||||
chart: .taskfiles/Taskfile_chart.yml
|
||||
|
||||
tasks:
|
||||
default:
|
||||
cmds:
|
||||
- task -l
|
||||
silent: true
|
||||
@@ -1,18 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "0.6.0"
|
||||
description: Realtime object detection on RTSP cameras with the Google Coral
|
||||
name: frigate
|
||||
version: 4.0.1
|
||||
keywords:
|
||||
- tensorflow
|
||||
- coral
|
||||
- ml
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/frigate
|
||||
icon: https://upload.wikimedia.org/wikipedia/commons/a/a4/Lutine1.jpg
|
||||
sources:
|
||||
- https://github.com/blakeblackshear/frigate
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
- name: blakeblackshear
|
||||
email: blakeb@blakeshome.com
|
||||
@@ -1,4 +0,0 @@
|
||||
approvers:
|
||||
- billimek
|
||||
reviewers:
|
||||
- billimek
|
||||
@@ -1,99 +0,0 @@
|
||||
# frigate: Realtime object detection on RTSP cameras with the Google Coral
|
||||
|
||||
This is a helm chart for [frigate](https://github.com/blakeblackshear/frigate)
|
||||
|
||||
## TL;DR;
|
||||
|
||||
```shell
|
||||
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
$ helm install k8s-at-home/frigate
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```console
|
||||
helm install --name my-release k8s-at-home/frigate
|
||||
```
|
||||
|
||||
~~**IMPORTANT NOTE:** the [Google Coral USB Accelerator](https://coral.withgoogle.com/products/accelerator/) must be accessible on the node where this pod runs, in order for this chart to function properly.~~
|
||||
|
||||
The Coral USB device is now optional
|
||||
|
||||
A way to achieve this can be with nodeAffinity rules, for example:
|
||||
|
||||
```yaml
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: tpu
|
||||
operator: In
|
||||
values:
|
||||
- google-coral
|
||||
```
|
||||
|
||||
... where a node with an attached Coral USB device is labeled with `tpu: google-coral`
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `my-release` deployment:
|
||||
|
||||
```console
|
||||
helm delete my-release --purge
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
## Configuration
|
||||
|
||||
The following tables lists the configurable parameters of the Frigate chart and their default values.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|----------------------------|-------------------------------------|---------------------------------------------------------|
|
||||
| `image.repository` | Image repository | `blakeblackshear/frigate` |
|
||||
| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/blakeblackshear/frigate/tags/).| `0.5.1`|
|
||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
|
||||
| `timezone` | Timezone the frigate instance should run as, e.g. 'America/New_York' | `UTC` |
|
||||
| `rtspPassword` | Password to use for RTSP cameras | `password` |
|
||||
| `extraSecretForEnvFrom` | Secrets containing env variables for | `[]` |
|
||||
| `coral.enabled` | Use the Coral USB device | `false` |
|
||||
| `coral.hostPath` | Host Path to reference USB device location (on the host) | `/dev/bus/usb` |
|
||||
| `masksConfigMap` | Reference to existing ConfigMap that contains camera masks - [more info](https://github.com/blakeblackshear/frigate#masks-and-limiting-detection-to-a-certain-area) | `{}` |
|
||||
| `shmSize` | Shared memory size for processing | `1Gi` |
|
||||
| `config` | frigate configuration - see [config.yaml](https://github.com/blakeblackshear/frigate/blob/master/config/config.yml) for example | `{}` |
|
||||
| `Service.type` | Kubernetes service type for the frigate GUI | `ClusterIP` |
|
||||
| `Service.port` | Kubernetes port where the frigate GUI is exposed| `5000` |
|
||||
| `Service.annotations` | Service annotations for the frigate GUI | `{}` |
|
||||
| `Service.labels` | Custom labels | `{}` |
|
||||
| `Service.loadBalancerIP` | Loadbalance IP for the frigate GUI | `{}` |
|
||||
| `Service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None
|
||||
| `ingress.enabled` | Enables Ingress | `false` |
|
||||
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||
| `ingress.labels` | Custom labels | `{}`
|
||||
| `ingress.path` | Ingress path | `/` |
|
||||
| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` |
|
||||
| `ingress.tls` | Ingress TLS configuration | `[]` |
|
||||
| `resources` | CPU/Memory resource requests/limits | `{}` |
|
||||
| `nodeSelector` | Node labels for pod assignment | `{}` |
|
||||
| `tolerations` | Toleration labels for pod assignment | `[]` |
|
||||
| `affinity` | Affinity settings for pod assignment | `{}` |
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
|
||||
```console
|
||||
helm install --name my-release \
|
||||
--set rtspPassword="nosecrets" \
|
||||
k8s-at-home/frigate
|
||||
```
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
|
||||
|
||||
```console
|
||||
helm install --name my-release -f values.yaml stable/frigate
|
||||
```
|
||||
|
||||
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/frigate/values.yaml) file. It has several commented out suggested values.
|
||||
@@ -1,8 +0,0 @@
|
||||
# Probes configuration
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
@@ -1,19 +0,0 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "frigate.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get svc -w {{ include "frigate.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "frigate.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "frigate.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:5000 to use your application"
|
||||
kubectl port-forward $POD_NAME 5000:5000
|
||||
{{- end }}
|
||||
@@ -1,45 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "frigate.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "frigate.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "frigate.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "frigate.labels" -}}
|
||||
app.kubernetes.io/name: {{ include "frigate.name" . }}
|
||||
helm.sh/chart: {{ include "frigate.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
@@ -1,13 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "frigate.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "frigate.name" . }}
|
||||
helm.sh/chart: {{ include "frigate.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
data:
|
||||
config.yml: |
|
||||
{{ .Values.config | indent 4 }}
|
||||
@@ -1,149 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "frigate.fullname" . }}
|
||||
labels:
|
||||
{{ include "frigate.labels" . | indent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
revisionHistoryLimit: 3
|
||||
strategy:
|
||||
type: {{ .Values.strategyType }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "frigate.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "frigate.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- if .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := .Values.podAnnotations }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
initContainers:
|
||||
- name: config
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
image: "{{ .Values.initContainer.image.repository }}:{{ .Values.initContainer.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.initContainer.image.pullPolicy }}
|
||||
volumeMounts:
|
||||
- mountPath: /frigate-config
|
||||
name: configmap
|
||||
- mountPath: /masks
|
||||
name: masks
|
||||
- mountPath: /config
|
||||
name: config
|
||||
readOnly: false
|
||||
command: ['sh', '-c']
|
||||
args:
|
||||
- cp /frigate-config/* /config;
|
||||
{{- if .Values.masksConfigMap }}
|
||||
cp /masks/* /config;
|
||||
{{- end }}
|
||||
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
securityContext:
|
||||
privileged: true
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 5000
|
||||
protocol: TCP
|
||||
{{- if .Values.probes.liveness.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
|
||||
failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
|
||||
timeoutSeconds: {{ .Values.probes.liveness.timeoutSeconds }}
|
||||
{{- end }}
|
||||
{{- if .Values.probes.readiness.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
|
||||
failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
|
||||
timeoutSeconds: {{ .Values.probes.readiness.timeoutSeconds }}
|
||||
{{- end }}
|
||||
{{- if .Values.probes.startup.enabled }}
|
||||
startupProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
scheme: HTTP
|
||||
failureThreshold: {{ .Values.probes.startup.failureThreshold }}
|
||||
periodSeconds: {{ .Values.probes.startup.periodSeconds }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- if .Values.timezone }}
|
||||
- name: TZ
|
||||
value: "{{ .Values.timezone }}"
|
||||
{{- end }}
|
||||
- name: FRIGATE_RTSP_PASSWORD
|
||||
value: "{{ .Values.rtspPassword }}"
|
||||
envFrom:
|
||||
{{- range .Values.extraSecretForEnvFrom }}
|
||||
- secretRef:
|
||||
name: {{ . }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- if .Values.coral.enabled }}
|
||||
- mountPath: /dev/bus/usb
|
||||
name: usb
|
||||
{{- end }}
|
||||
- mountPath: /config
|
||||
name: config
|
||||
- name: dshm
|
||||
mountPath: /dev/shm
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
volumes:
|
||||
- name: config
|
||||
emptyDir: {}
|
||||
- name: configmap
|
||||
configMap:
|
||||
name: {{ template "frigate.fullname" . }}
|
||||
- name: masks
|
||||
{{- if .Values.masksConfigMap }}
|
||||
configMap:
|
||||
name: {{ .Values.masksConfigMap }}
|
||||
{{- else }}
|
||||
emptyDir:
|
||||
{}
|
||||
{{- end }}
|
||||
{{- if .Values.coral.enabled }}
|
||||
- name: usb
|
||||
hostPath:
|
||||
path: {{ .Values.coral.hostPath }}
|
||||
{{- end }}
|
||||
- name: dshm
|
||||
emptyDir:
|
||||
medium: Memory
|
||||
sizeLimit: {{ .Values.shmSize }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
@@ -1,35 +0,0 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "frigate.fullname" . -}}
|
||||
{{- $ingressPath := .Values.ingress.path -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
{{ include "frigate.labels" . | indent 4 }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . | quote }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $fullName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,49 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "frigate.fullname" . }}
|
||||
labels:
|
||||
{{ include "frigate.labels" . | indent 4 }}
|
||||
{{- if .Values.service.labels }}
|
||||
{{ toYaml .Values.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
|
||||
type: ClusterIP
|
||||
{{- if .Values.service.clusterIP }}
|
||||
clusterIP: {{ .Values.service.clusterIP }}
|
||||
{{end}}
|
||||
{{- else if eq .Values.service.type "LoadBalancer" }}
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if .Values.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
type: {{ .Values.service.type }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.service.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.externalTrafficPolicy }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
port: {{ .Values.service.port }}
|
||||
protocol: TCP
|
||||
targetPort: http
|
||||
{{ if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
|
||||
nodePort: {{.Values.service.nodePort}}
|
||||
{{ end }}
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "frigate.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
@@ -1,251 +0,0 @@
|
||||
# Default values for frigate.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
# upgrade strategy type (e.g. Recreate or RollingUpdate)
|
||||
strategyType: Recreate
|
||||
|
||||
image:
|
||||
repository: blakeblackshear/frigate
|
||||
tag: 0.6.0
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
rtspPassword: password
|
||||
|
||||
# secret name containing environment variables for frigate
|
||||
extraSecretForEnvFrom: []
|
||||
|
||||
coral:
|
||||
enabled: false
|
||||
hostPath: /dev/bus/usb
|
||||
|
||||
# Specify image that generates the config folder containing the Frigate config file, masks (if specified), etc.
|
||||
initContainer:
|
||||
image:
|
||||
repository: busybox
|
||||
tag: latest
|
||||
pullPolicy: Always
|
||||
|
||||
# reference to configMap that contains the binary data of the masks to be copied into the container
|
||||
# this requires that generateConfigFolder.enabled = true
|
||||
# see https://github.com/blakeblackshear/frigate#masks-and-limiting-detection-to-a-certain-area for more info
|
||||
masksConfigMap: {}
|
||||
|
||||
shmSize: 1Gi
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
# frigate configuration - see https://github.com/blakeblackshear/frigate/blob/master/config/config.yml for example
|
||||
config: |
|
||||
web_port: 5000
|
||||
|
||||
mqtt:
|
||||
host: test.mosquitto.org
|
||||
topic_prefix: frigate
|
||||
# client_id: frigate # Optional -- set to override default client id of 'frigate' if running multiple instances
|
||||
# user: username # Optional
|
||||
#################
|
||||
## Environment variables that begin with 'FRIGATE_' may be referenced in {}.
|
||||
## password: '{FRIGATE_MQTT_PASSWORD}'
|
||||
#################
|
||||
# password: password # Optional
|
||||
|
||||
#################
|
||||
# Default ffmpeg args. Optional and can be overwritten per camera.
|
||||
# Should work with most RTSP cameras that send h264 video
|
||||
# Built from the properties below with:
|
||||
# "ffmpeg" + global_args + input_args + "-i" + input + output_args
|
||||
#################
|
||||
# ffmpeg:
|
||||
# global_args:
|
||||
# - -hide_banner
|
||||
# - -loglevel
|
||||
# - panic
|
||||
# hwaccel_args: []
|
||||
# input_args:
|
||||
# - -avoid_negative_ts
|
||||
# - make_zero
|
||||
# - -fflags
|
||||
# - nobuffer
|
||||
# - -flags
|
||||
# - low_delay
|
||||
# - -strict
|
||||
# - experimental
|
||||
# - -fflags
|
||||
# - +genpts+discardcorrupt
|
||||
# - -vsync
|
||||
# - drop
|
||||
# - -rtsp_transport
|
||||
# - tcp
|
||||
# - -stimeout
|
||||
# - '5000000'
|
||||
# - -use_wallclock_as_timestamps
|
||||
# - '1'
|
||||
# output_args:
|
||||
# - -f
|
||||
# - rawvideo
|
||||
# - -pix_fmt
|
||||
# - rgb24
|
||||
|
||||
####################
|
||||
# Global object configuration. Applies to all cameras
|
||||
# unless overridden at the camera levels.
|
||||
# Keys must be valid labels. By default, the model uses coco (https://dl.google.com/coral/canned_models/coco_labels.txt).
|
||||
# All labels from the model are reported over MQTT. These values are used to filter out false positives.
|
||||
# min_area (optional): minimum width*height of the bounding box for the detected person
|
||||
# max_area (optional): maximum width*height of the bounding box for the detected person
|
||||
# threshold (optional): The minimum decimal percentage (50% hit = 0.5) for the confidence from tensorflow
|
||||
####################
|
||||
objects:
|
||||
track:
|
||||
- person
|
||||
- car
|
||||
- truck
|
||||
filters:
|
||||
person:
|
||||
min_area: 5000
|
||||
max_area: 100000
|
||||
threshold: 0.5
|
||||
|
||||
cameras:
|
||||
back:
|
||||
ffmpeg:
|
||||
################
|
||||
# Source passed to ffmpeg after the -i parameter. Supports anything compatible with OpenCV and FFmpeg.
|
||||
# Environment variables that begin with 'FRIGATE_' may be referenced in {}
|
||||
################
|
||||
input: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
|
||||
#################
|
||||
# These values will override default values for just this camera
|
||||
#################
|
||||
# global_args: []
|
||||
# hwaccel_args: []
|
||||
# input_args: []
|
||||
# output_args: []
|
||||
|
||||
################
|
||||
## Optionally specify the resolution of the video feed. Frigate will try to auto detect if not specified
|
||||
################
|
||||
# height: 1280
|
||||
# width: 720
|
||||
|
||||
################
|
||||
## Optional mask. Must be the same aspect ratio as your video feed.
|
||||
##
|
||||
## The mask works by looking at the bottom center of the bounding box for the detected
|
||||
## person in the image. If that pixel in the mask is a black pixel, it ignores it as a
|
||||
## false positive. In my mask, the grass and driveway visible from my backdoor camera
|
||||
## are white. The garage doors, sky, and trees (anywhere it would be impossible for a
|
||||
## person to stand) are black.
|
||||
##
|
||||
## Masked areas are also ignored for motion detection.
|
||||
################
|
||||
# mask: back-mask.bmp
|
||||
|
||||
################
|
||||
# Allows you to limit the framerate within frigate for cameras that do not support
|
||||
# custom framerates. A value of 1 tells frigate to look at every frame, 2 every 2nd frame,
|
||||
# 3 every 3rd frame, etc.
|
||||
################
|
||||
take_frame: 1
|
||||
|
||||
################
|
||||
# The expected framerate for the camera. Frigate will try and ensure it maintains this framerate
|
||||
# by dropping frames as necessary. Setting this lower than the actual framerate will allow frigate
|
||||
# to process every frame at the expense of realtime processing.
|
||||
################
|
||||
fps: 5
|
||||
|
||||
################
|
||||
# Configuration for the snapshots in the debug view and mqtt
|
||||
################
|
||||
snapshots:
|
||||
show_timestamp: True
|
||||
|
||||
################
|
||||
# Camera level object config. This config is merged with the global config above.
|
||||
################
|
||||
objects:
|
||||
track:
|
||||
- person
|
||||
filters:
|
||||
person:
|
||||
min_area: 5000
|
||||
max_area: 100000
|
||||
threshold: 0.5
|
||||
|
||||
|
||||
# Probes configuration
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
initialDelaySeconds: 30
|
||||
failureThreshold: 5
|
||||
timeoutSeconds: 10
|
||||
readiness:
|
||||
enabled: true
|
||||
initialDelaySeconds: 30
|
||||
failureThreshold: 5
|
||||
timeoutSeconds: 10
|
||||
startup:
|
||||
enabled: false
|
||||
failureThreshold: 30
|
||||
periodSeconds: 10
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 5000
|
||||
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
##
|
||||
# nodePort:
|
||||
## Provide any additional annotations which may be required. This can be used to
|
||||
## set the LoadBalancer service type to internal only.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
||||
##
|
||||
annotations: {}
|
||||
labels: {}
|
||||
## Use loadBalancerIP to request a specific static IP,
|
||||
## otherwise leave blank
|
||||
##
|
||||
loadBalancerIP:
|
||||
# loadBalancerSourceRanges: []
|
||||
## Set the externalTrafficPolicy in the Service to either Cluster or Local
|
||||
# externalTrafficPolicy: Cluster
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
path: /
|
||||
hosts:
|
||||
- chart-example.local
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
podAnnotations: {}
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: v2
|
||||
appVersion: 2020.12.1
|
||||
appVersion: 2021.1.5
|
||||
description: Home Assistant
|
||||
name: home-assistant
|
||||
version: 5.4.1
|
||||
version: 5.4.4
|
||||
keywords:
|
||||
- home-assistant
|
||||
- hass
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Default values for zwave2mqtt.
|
||||
# Default values for home-assistant.
|
||||
|
||||
image:
|
||||
repository: homeassistant/home-assistant
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 2020.12.1
|
||||
tag: 2021.1.5
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
apiVersion: v2
|
||||
appVersion: 2.7.0
|
||||
appVersion: 1.0.0
|
||||
description: Paperless - Index and archive all of your scanned paper documents
|
||||
name: paperless
|
||||
version: 2.3.1
|
||||
version: 3.0.0
|
||||
keywords:
|
||||
- paperless
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/paperless
|
||||
icon: https://raw.githubusercontent.com/the-paperless-project/paperless/master/src/paperless/static/paperless/img/logo-dark.png
|
||||
sources:
|
||||
- https://github.com/the-paperless-project/paperless
|
||||
- https://github.com/jonaswinkler/paperless-ng
|
||||
maintainers:
|
||||
- name: mr-onion-2
|
||||
dependencies:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Paperless
|
||||
|
||||
This is a helm chart for [Paperless](https://github.com/the-paperless-project/paperless). The documentation can be found [here](https://paperless.readthedocs.io/en/latest/index.html).
|
||||
This is a helm chart for [Paperless-ng](https://github.com/jonaswinkler/paperless-ng). The documentation can be found [here](https://paperless-ng.readthedocs.io/en/latest/).
|
||||
|
||||
**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).**
|
||||
|
||||
@@ -35,16 +35,23 @@ The chart's [values.yaml](https://github.com/k8s-at-home/charts/blob/master/char
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
```console
|
||||
helm install paperless \
|
||||
--set env.TZ="America/New_York" \
|
||||
--set env.PAPERLESS_TIME_ZONE="America/New_York" \
|
||||
k8s-at-home/paperless
|
||||
```
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
|
||||
```console
|
||||
helm install paperless k8s-at-home/paperless --values values.yaml
|
||||
```
|
||||
---
|
||||
|
||||
## Backup & Restore
|
||||
Documents can be exported and re-imported by running the following commands directly on the pod. [More info](https://paperless.readthedocs.io/en/latest/migrating.html).
|
||||
## Upgrading an existing Release to a new major version
|
||||
|
||||
Backup: `/usr/src/paperless/src/manage.py document_exporter /path/to/somewhere/`
|
||||
Restore: `/usr/src/paperless/src/manage.py document_importer /path/to/somewhere/`
|
||||
A major chart version change (like 1.0.1 -> 2.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
|
||||
|
||||
### Upgrading from 2.x.x to 3.x.x
|
||||
|
||||
Version 3.0.0 of this chart has been adapted for [Paperless-ng](https://github.com/jonaswinkler/paperless-ng) (currently a fork of the main project). The default `values.yaml` has been updated accordingly. Changes include:
|
||||
|
||||
* A new set of [environment variables](https://github.com/jonaswinkler/paperless-ng/blob/master/paperless.conf.example)
|
||||
* New mouthPath defaults for the consume and export volumes
|
||||
* Seperate consumer pod no longer required.
|
||||
@@ -2,16 +2,12 @@ persistence:
|
||||
data:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
mountPath: /usr/src/paperless/data
|
||||
media:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
mountPath: /usr/src/paperless/media
|
||||
consume:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
mountPath: /consume
|
||||
export:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
mountPath: /export
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
||||
{{- include "common.notes.defaultNotes" . }}
|
||||
2. Create a super user by running the command:
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "common.names.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl exec -it --namespace {{ .Release.Namespace }} $POD_NAME -- bash -c "python manage.py createsuperuser"
|
||||
@@ -1,26 +1,23 @@
|
||||
# Default values for Paperless.
|
||||
|
||||
image:
|
||||
repository: thepaperlessproject/paperless
|
||||
repository: jonaswinkler/paperless-ng
|
||||
pullPolicy: IfNotPresent
|
||||
tag: latest
|
||||
|
||||
args: "['gunicorn', '-b', '0.0.0.0:8000']"
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# See the following files for supported environment variables
|
||||
# https://github.com/the-paperless-project/paperless/blob/master/docker-compose.env.example
|
||||
# https://github.com/the-paperless-project/paperless/blob/master/paperless.conf.example
|
||||
# See the following files for additional environment variables
|
||||
# https://github.com/jonaswinkler/paperless-ng/tree/master/docker/compose/
|
||||
# https://github.com/jonaswinkler/paperless-ng/blob/master/paperless.conf.example
|
||||
env:
|
||||
# TZ: Europe/London
|
||||
PAPERLESS_OCR_LANGUAGES: eng
|
||||
# PAPERLESS_FORGIVING_OCR: true
|
||||
# PAPERLESS_DISABLE_LOGIN: true
|
||||
# PAPERLESS_INLINE_DOC: true
|
||||
# PAPERLESS_OCR_THREADS:
|
||||
# PAPERLESS_CONVERT_DENSITY:
|
||||
COMPOSE_PROJECT_NAME: paperless
|
||||
PAPERLESS_REDIS: redis://localhost:6379
|
||||
PAPERLESS_OCR_LANGUAGE: eng
|
||||
# USERMAP_UID: 1000
|
||||
# USERMAP_GID: 1000
|
||||
# PAPERLESS_TIME_ZONE: Europe/London
|
||||
|
||||
service:
|
||||
port:
|
||||
@@ -30,27 +27,21 @@ persistence:
|
||||
data:
|
||||
enabled: false
|
||||
mountPath: /usr/src/paperless/data
|
||||
emptyDir: false
|
||||
media:
|
||||
enabled: false
|
||||
mountPath: /usr/src/paperless/media
|
||||
emptyDir: false
|
||||
consume:
|
||||
enabled: false
|
||||
mountPath: /consume
|
||||
mountPath: /usr/src/paperless/consume
|
||||
emptyDir: false
|
||||
export:
|
||||
enabled: false
|
||||
mountPath: /export
|
||||
mountPath: /usr/src/paperless/export
|
||||
emptyDir: false
|
||||
|
||||
additionalContainers:
|
||||
- name: consumer
|
||||
image: thepaperlessproject/paperless:latest
|
||||
- name: broker
|
||||
image: redis:6.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
args: ['document_consumer']
|
||||
volumeMounts:
|
||||
- mountPath: /usr/src/paperless/data
|
||||
name: data
|
||||
- mountPath: /usr/src/paperless/media
|
||||
name: media
|
||||
- mountPath: /consume
|
||||
name: consume
|
||||
- mountPath: /export
|
||||
name: export
|
||||
|
||||
18
charts/protonmail-bridge/Chart.yaml
Normal file
18
charts/protonmail-bridge/Chart.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.7-1
|
||||
description: Container for protonmail bridge to work on the network.
|
||||
name: protonmail-bridge
|
||||
version: 1.0.0
|
||||
keywords:
|
||||
- protonmail
|
||||
- protonmail-bridge
|
||||
sources:
|
||||
- https://github.com/shenxn/protonmail-bridge-docker
|
||||
- https://hub.docker.com/r/shenxn/protonmail-bridge
|
||||
maintainers:
|
||||
- name: Eagleman7
|
||||
email: my@email.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://k8s-at-home.com/charts/
|
||||
version: 2.2.1
|
||||
8
charts/protonmail-bridge/OWNERS
Normal file
8
charts/protonmail-bridge/OWNERS
Normal file
@@ -0,0 +1,8 @@
|
||||
approvers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
reviewers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
86
charts/protonmail-bridge/README.md
Normal file
86
charts/protonmail-bridge/README.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# Protonmail-bridge
|
||||
|
||||
This is a helm chart for [Protonmail-bridge](https://github.com/shenxn/protonmail-bridge-docker).
|
||||
|
||||
**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)**
|
||||
|
||||
## TL;DR;
|
||||
|
||||
```shell
|
||||
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
$ helm install k8s-at-home/protonmail-bridge
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```console
|
||||
helm install --name my-release k8s-at-home/protonmail-bridge
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `my-release` deployment:
|
||||
|
||||
```console
|
||||
helm delete my-release --purge
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
## Configuration
|
||||
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/protonmail-bridge/values.yaml)
|
||||
file. It has several commented out suggested values.
|
||||
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
```console
|
||||
helm install protonmail-bridge \
|
||||
--set env.TZ="America/New_York" \
|
||||
k8s-at-home/protonmail-bridge
|
||||
```
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
|
||||
chart. For example,
|
||||
```console
|
||||
helm install protonmail-bridge k8s-at-home/protonmail-bridge --values values.yaml
|
||||
```
|
||||
|
||||
```yaml
|
||||
image:
|
||||
tag: ...
|
||||
```
|
||||
|
||||
Get the name of your deployed pod kubectl get pods
|
||||
Run interactively on the pod (setup only) kubectl exec --stdin --tty protonmail-bridge-deployment-6c79fd7f84-ftwcw -- /bin/bash
|
||||
Once logged in, execute the init command bash /protonmail/entrypoint.sh init
|
||||
You should now see the CLI for protonmail-bridge, authenticate with login
|
||||
(optional) if you're like me and use split address mode, change mode and info are good for printing the details.
|
||||
Copy your SMTP server info (or IMAP, your choice)
|
||||
delete the active pod so a new one gets created (which will properly fire up with your persisted settings)
|
||||
|
||||
---
|
||||
**NOTE**
|
||||
|
||||
If you get
|
||||
```console
|
||||
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
|
||||
```
|
||||
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
|
||||
|
||||
---
|
||||
|
||||
## Upgrading an existing Release to a new major version
|
||||
|
||||
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
|
||||
|
||||
### Upgrading from 3.x.x to 4.x.x
|
||||
|
||||
Due to migrating to a centralized common library some values in `values.yaml` have changed.
|
||||
|
||||
Examples:
|
||||
|
||||
* `service.port` has been moved to `service.port.port`.
|
||||
* `persistence.type` has been moved to `controllerType`.
|
||||
|
||||
Refer to the library values.yaml for more configuration options.
|
||||
1
charts/protonmail-bridge/templates/NOTES.txt
Normal file
1
charts/protonmail-bridge/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
||||
1
charts/protonmail-bridge/templates/common.yaml
Normal file
1
charts/protonmail-bridge/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
19
charts/protonmail-bridge/values.yaml
Normal file
19
charts/protonmail-bridge/values.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
# Default values for Protonmail-bridge.
|
||||
|
||||
image:
|
||||
repository: shenxn/protonmail-bridge
|
||||
tag: 1.5.7-1
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 25
|
||||
name: smtp-service
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: /root
|
||||
@@ -1,3 +1,27 @@
|
||||
# rTorrent/flood BitTorrent client
|
||||
|
||||
TBD
|
||||
## Setup
|
||||
|
||||
NB: This chart will start 2 containers in a single pod, when both containers are started, you will be able to configure flood.
|
||||
|
||||
1. Install the chart `helm install rtorrent k8s-at-home/rtorrent-flood`
|
||||
|
||||
2. Port-forward to the container `kubectl port-forward $(kubectl get pods -A -o json | jq '.items[] | select(.metadata.labels."app.kubernetes.io/name"=="rtorrent-flood")' | jq .metadata.name -r) 3000:3000`
|
||||
|
||||
3. To connect flood to rtorrent, provide the socket path : `/tmp/rtorrent.sock`
|
||||
|
||||
4. When connected with flood to rtorrent, go to the settings and change the download path to `/data` which is set by default by the chart
|
||||
|
||||
5. You should be able to start downloading torrents now :)
|
||||
|
||||
|
||||
## Custom parameters
|
||||
|
||||
Like any other chart, you can provide a file with your own values (check `./values.yaml` for reference) :
|
||||
|
||||
`helm install rtorrent k8s-at-home/rtorrent-flood -f my-values.yaml`
|
||||
|
||||
|
||||
## Pitfalls
|
||||
|
||||
You may need to change the StorageClass depending on your kubernetes setup or the containers won't start, use a custom `values.yaml` file to do so.
|
||||
@@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: speedtest-prometheus
|
||||
description: Prometheus Exporter for the official Speedtest CLI
|
||||
type: application
|
||||
version: 2.0.0
|
||||
version: 2.1.0
|
||||
appVersion: 1.1.0
|
||||
keywords:
|
||||
- speedtest
|
||||
|
||||
@@ -11,6 +11,10 @@ spec:
|
||||
{{- include "speedtest-prometheus.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "speedtest-prometheus.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
|
||||
@@ -46,6 +46,8 @@ tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
interval: "60m"
|
||||
|
||||
25
charts/teedy/Chart.yaml
Normal file
25
charts/teedy/Chart.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
apiVersion: v2
|
||||
appVersion: v1.9
|
||||
description: Teedy is an open source, lightweight document management system for individuals and businesses.
|
||||
name: teedy
|
||||
version: 1.0.1
|
||||
keywords:
|
||||
- teedy
|
||||
- documents
|
||||
- management
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/teedy
|
||||
icon: https://camo.githubusercontent.com/529d95bcf95198a51c7176ed59068238a6099ee6828aa47a3aac697d6c5ee5f4/68747470733a2f2f74656564792e696f2f696d672f6769746875622d7469746c652e706e67
|
||||
sources:
|
||||
- https://github.com/sismics/docs
|
||||
- https://github.com/k8s-at-home/charts/tree/master/charts/teedy
|
||||
maintainers:
|
||||
- name: carpenike
|
||||
email: ryan@ryanholt.net
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://k8s-at-home.com/charts/
|
||||
version: 2.2.1
|
||||
- name: postgresql
|
||||
version: 10.2.5
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
condition: postgresql.enabled
|
||||
8
charts/teedy/OWNERS
Normal file
8
charts/teedy/OWNERS
Normal file
@@ -0,0 +1,8 @@
|
||||
approvers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
reviewers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
68
charts/teedy/README.md
Normal file
68
charts/teedy/README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# teedy
|
||||
|
||||
This is a helm chart for [teedy](https://github.com/sismics/docs).
|
||||
|
||||
**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)**
|
||||
|
||||
## TL;DR;
|
||||
|
||||
```shell
|
||||
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
$ helm install k8s-at-home/teedy
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```console
|
||||
helm install --name my-release k8s-at-home/teedy
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `my-release` deployment:
|
||||
|
||||
```console
|
||||
helm delete my-release --purge
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
## Configuration
|
||||
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/teedy/values.yaml)
|
||||
file. It has several commented out suggested values.
|
||||
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
```console
|
||||
helm install teedy \
|
||||
--set env.TZ="America/New_York" \
|
||||
k8s-at-home/teedy
|
||||
```
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
|
||||
chart. For example,
|
||||
```console
|
||||
helm install teedy k8s-at-home/teedy --values values.yaml
|
||||
```
|
||||
|
||||
These values will be nested as it is a dependency, for example
|
||||
```yaml
|
||||
image:
|
||||
tag: ...
|
||||
```
|
||||
|
||||
---
|
||||
**NOTE**
|
||||
|
||||
If you get
|
||||
```console
|
||||
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
|
||||
```
|
||||
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
|
||||
|
||||
---
|
||||
|
||||
## Upgrading an existing Release to a new major version
|
||||
|
||||
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
|
||||
1
charts/teedy/templates/NOTES.txt
Normal file
1
charts/teedy/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
||||
1
charts/teedy/templates/common.yaml
Normal file
1
charts/teedy/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
46
charts/teedy/values.yaml
Normal file
46
charts/teedy/values.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
# Default values for teedy.
|
||||
|
||||
image:
|
||||
repository: sismics/docs
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.9
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# See more environment varaibles in the teedy documentation
|
||||
# https://github.com/sismics/docs
|
||||
env: {}
|
||||
# DOCS_DEFAULT_LANGUAGE: eng
|
||||
# DOCS_BASE_URL:
|
||||
# DOCS_ADMIN_EMAIL_INIT:
|
||||
# DOCS_ADMIN_PASSWORD_INIT:
|
||||
# DATABASE_URL: 'jdbc:postgresql://teedy-postgresql:5432/teedydb"
|
||||
# DATABASE_USER: teedyuser
|
||||
# DATABASE_PASSWORD: "$2y$12$/MehlbYmXDq8sz1xdqOupOOHNUdsVrBLakdev6y5qqTUeHZqicYA6" # teedypassword
|
||||
# DOCS_SMTP_HOSTNAME:
|
||||
# DOCS_SMTP_PORT:
|
||||
# DOCS_SMTP_USERNAME:
|
||||
# DOCS_SMTP_PASSWORD:
|
||||
# TZ:
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 8080
|
||||
|
||||
persistence:
|
||||
data:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /data
|
||||
|
||||
# Enables postgres
|
||||
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql
|
||||
postgresql:
|
||||
enabled: false
|
||||
postgresqlUsername: teedyuser
|
||||
postgresqlPassword: teedypassword
|
||||
postgresqlDatabase: teedydb
|
||||
persistence:
|
||||
enabled: false
|
||||
# storageClass: ""
|
||||
24
charts/unpackerr/.helmignore
Normal file
24
charts/unpackerr/.helmignore
Normal file
@@ -0,0 +1,24 @@
|
||||
# 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
|
||||
23
charts/unpackerr/Chart.yaml
Normal file
23
charts/unpackerr/Chart.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: v2
|
||||
appVersion: 0.7.2
|
||||
description: This application runs as a daemon on your download host. It checks for completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may import them.
|
||||
name: unpackerr
|
||||
version: 1.0.0
|
||||
keywords:
|
||||
- unpackerr
|
||||
- sonarr
|
||||
- radarr
|
||||
- lidarr
|
||||
- readarr
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/unpackerr
|
||||
icon: https://raw.githubusercontent.com/wiki/davidnewhall/unpackerr/images/unpackerr-logo-text.png
|
||||
sources:
|
||||
- https://github.com/davidnewhall/unpackerr
|
||||
- https://hub.docker.com/r/golift/unpackerr
|
||||
maintainers:
|
||||
- name: billimek
|
||||
email: jeff@billimek.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://k8s-at-home.com/charts/
|
||||
version: 2.2.1
|
||||
8
charts/unpackerr/OWNERS
Normal file
8
charts/unpackerr/OWNERS
Normal file
@@ -0,0 +1,8 @@
|
||||
approvers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
reviewers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
67
charts/unpackerr/README.md
Normal file
67
charts/unpackerr/README.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Unpackerr
|
||||
|
||||
This is a helm chart for [Unpackerr](https://github.com/davidnewhall/unpackerr).
|
||||
|
||||
**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)**
|
||||
|
||||
## TL;DR;
|
||||
|
||||
```shell
|
||||
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
$ helm install k8s-at-home/unpackerr
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```console
|
||||
helm install --name my-release k8s-at-home/unpackerr
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `my-release` deployment:
|
||||
|
||||
```console
|
||||
helm delete my-release --purge
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
## Configuration
|
||||
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/unpackerr/values.yaml)
|
||||
file. It has several commented out suggested values.
|
||||
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
```console
|
||||
helm install unpackerr \
|
||||
--set env.TZ="America/New_York" \
|
||||
k8s-at-home/unpackerr
|
||||
```
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
|
||||
chart. For example,
|
||||
```console
|
||||
helm install unpackerr k8s-at-home/unpackerr --values values.yaml
|
||||
```
|
||||
|
||||
```yaml
|
||||
image:
|
||||
tag: ...
|
||||
```
|
||||
|
||||
---
|
||||
**NOTE**
|
||||
|
||||
If you get
|
||||
```console
|
||||
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
|
||||
```
|
||||
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
|
||||
|
||||
---
|
||||
|
||||
## Upgrading an existing Release to a new major version
|
||||
|
||||
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
|
||||
1
charts/unpackerr/templates/NOTES.txt
Normal file
1
charts/unpackerr/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
||||
1
charts/unpackerr/templates/common.yaml
Normal file
1
charts/unpackerr/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
43
charts/unpackerr/values.yaml
Normal file
43
charts/unpackerr/values.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
# Default values for Unpackerr.
|
||||
|
||||
image:
|
||||
repository: golift/unpackerr
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 0.7.2
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
service:
|
||||
enabled: false
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
|
||||
# # See more environment variables in the unpackerr documentation
|
||||
# https://github.com/davidnewhall/unpackerr#docker-env-variables
|
||||
env: {}
|
||||
# TZ: UTC
|
||||
|
||||
persistence:
|
||||
downloads:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /downloads
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
19
templates/chart/Chart.yaml
Normal file
19
templates/chart/Chart.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.0
|
||||
description: ${CHARTNAME} helm package
|
||||
name: ${CHARTNAME}
|
||||
version: 1.0.0
|
||||
keywords:
|
||||
- ${CHARTNAME}
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/${CHARTNAME}
|
||||
icon: https://${CHARTNAME}.org/icon
|
||||
sources:
|
||||
- https://github.com/${CHARTNAME}/${CHARTNAME}-docker
|
||||
- https://github.com/k8s-at-home/charts/tree/master/charts/${CHARTNAME}
|
||||
maintainers:
|
||||
- name: ${CHARTNAME}
|
||||
email: ${CHARTNAME}@${CHARTNAME}.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://k8s-at-home.com/charts/
|
||||
version: 2.2.1
|
||||
8
templates/chart/OWNERS
Normal file
8
templates/chart/OWNERS
Normal file
@@ -0,0 +1,8 @@
|
||||
approvers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
reviewers:
|
||||
- billimek
|
||||
- onedr0p
|
||||
- bjw-s
|
||||
68
templates/chart/README.md
Normal file
68
templates/chart/README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# ${CHARTNAME}
|
||||
|
||||
This is a helm chart for [${CHARTNAME}](https://${CHARTNAME}.org/).
|
||||
|
||||
**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)**
|
||||
|
||||
## TL;DR;
|
||||
|
||||
```shell
|
||||
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
$ helm install k8s-at-home/${CHARTNAME}
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```console
|
||||
helm install --name my-release k8s-at-home/${CHARTNAME}
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `my-release` deployment:
|
||||
|
||||
```console
|
||||
helm delete my-release --purge
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
## Configuration
|
||||
Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/${CHARTNAME}/values.yaml)
|
||||
file. It has several commented out suggested values.
|
||||
Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options.
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
```console
|
||||
helm install ${CHARTNAME} \
|
||||
--set env.TZ="America/New_York" \
|
||||
k8s-at-home/${CHARTNAME}
|
||||
```
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
|
||||
chart. For example,
|
||||
```console
|
||||
helm install ${CHARTNAME} k8s-at-home/${CHARTNAME} --values values.yaml
|
||||
```
|
||||
|
||||
These values will be nested as it is a dependency, for example
|
||||
```yaml
|
||||
image:
|
||||
tag: ...
|
||||
```
|
||||
|
||||
---
|
||||
**NOTE**
|
||||
|
||||
If you get
|
||||
```console
|
||||
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...`
|
||||
```
|
||||
it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`.
|
||||
|
||||
---
|
||||
|
||||
## Upgrading an existing Release to a new major version
|
||||
|
||||
A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
|
||||
1
templates/chart/templates/NOTES.txt
Normal file
1
templates/chart/templates/NOTES.txt
Normal file
@@ -0,0 +1 @@
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
||||
1
templates/chart/templates/common.yaml
Normal file
1
templates/chart/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
24
templates/chart/values.yaml
Normal file
24
templates/chart/values.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
# Default values for ${CHARTNAME}.
|
||||
|
||||
image:
|
||||
repository: ${CHARTNAME}/${CHARTNAME}
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 1.2.5
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# See more environment varaibles in the ${CHARTNAME} documentation
|
||||
# https://${CHARTNAME}.org/docs
|
||||
env: {}
|
||||
# TZ:
|
||||
|
||||
service:
|
||||
port:
|
||||
port: 1880
|
||||
|
||||
# persistence:
|
||||
# data:
|
||||
# enabled: false
|
||||
# emptyDir: false
|
||||
# mountPath: /data
|
||||
Reference in New Issue
Block a user