Compare commits

...

22 Commits

Author SHA1 Message Date
renovate[bot]
fe64832570 [powerdns] Update helm chart postgresql to v10.1.2 (#298)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 17:17:55 -05:00
renovate[bot]
0099a56e38 [unifi-poller] Update helm chart influxdb to v1.1.1 (#302)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-04 17:16:28 -05:00
Ryan Holt
cfec6a9cc2 [monica] initial add for monica (#296) 2020-12-04 13:13:25 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
13dedb876b [pyload] Bump to re-trigger repo upload (#295) 2020-12-04 12:01:55 +01:00
Thomas John Wesolowski
d0fba6f031 [booksonic-air][Add] Add booksonic-air (#294)
* Add booksonic-air

Signed-off-by: TJ Wesolowski <wojoinc@pm.me>

* Clarify description in values.yaml

Signed-off-by: TJ Wesolowski <wojoinc@pm.me>

* Add storage notes

Signed-off-by: TJ Wesolowski <wojoinc@pm.me>
2020-12-03 20:28:58 -05:00
ᗪєνιη ᗷυнʟ
d310100ce7 [unifi-poller] switch to environment variables (#293) 2020-12-02 14:35:57 -05:00
Ryan Holt
c2d6c1c4f1 Merge pull request #290 from k8s-at-home/add-photoprism-chart
[photoprism] Add PhotoPrism Chart Leveraging Library
2020-12-01 09:48:23 -05:00
Ryan Holt
9e2a21995a add default values for photoprism's storage locations to env
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-12-01 09:06:58 -05:00
Ryan Holt
643db3e8cb make appversion a string to pass CT tests
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-12-01 08:43:02 -05:00
Ryan Holt
6822d3c4b4 add a link to photoprism documentation within values
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-12-01 08:41:31 -05:00
Ryan Holt
df1a3f48e0 various changes per @onedr0p comments
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-12-01 08:38:22 -05:00
Ryan Holt
6cf224d0b0 add more readme details
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-11-30 17:48:06 -05:00
Ryan Holt
bca5078de2 add newline
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-11-30 17:45:41 -05:00
Ryan Holt
31e992eb4a add sample originals mount
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-11-30 17:43:47 -05:00
Ryan Holt
a4c913aef6 revert from originals to config pv name
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-11-30 17:23:45 -05:00
Ryan Holt
d4dd34a24b add some additional photoprism default values and mounts
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-11-30 17:02:16 -05:00
Ryan Holt
19cb90701e initial commit for base photoprism files
Signed-off-by: Ryan Holt <ryan@ryanholt.net>
2020-11-30 16:42:46 -05:00
ᗪєνιη ᗷυнʟ
f0eb5542a4 [traccar] new chart (#289) 2020-11-30 15:46:23 -05:00
Thomas John Wesolowski
f2336eedaa [bitwardenrs] Fix HPA target (#287)
* Add persistence type check to hpa target

Signed-off-by: TJ Wesolowski <wojoinc@pm.me>

* Bump chart version

Signed-off-by: TJ Wesolowski <wojoinc@pm.me>

Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2020-11-30 06:06:00 -05:00
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs
915c94887d Fix persistence mountPath (#288)
* Fix persistence mountPath

* Update Chart.yaml
2020-11-30 05:54:24 -05:00
renovate[bot]
f84ac3006b [powerdns] Update helm chart postgresql to v10.1.1 (#285)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-28 18:36:58 -05:00
Ryan Holt
dde8baec08 [powerdns] flip default to postgres, fix postgres dependent chart (#78) 2020-11-28 16:43:54 -05:00
42 changed files with 723 additions and 176 deletions

View File

@@ -2,7 +2,7 @@ apiVersion: v2
name: bitwardenrs
description: Unofficial Bitwarden compatible server written in Rust
type: application
version: 1.0.0
version: 1.0.1
appVersion: 1.16.3
keywords:
- bitwarden

View File

@@ -8,7 +8,11 @@ metadata:
spec:
scaleTargetRef:
apiVersion: apps/v1
{{- if eq .Values.persistence.type "statefulset" }}
kind: StatefulSet
{{- else }}
kind: Deployment
{{- end }}
name: {{ include "bitwardenrs.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}

View File

@@ -0,0 +1,20 @@
apiVersion: v2
appVersion: v2009.1.0
description: Booksonic is a platform for accessing the audibooks you own wherever you are
name: booksonic-air
version: 1.0.0
keywords:
- booksonic
- audiobook
home: https://github.com/k8s-at-home/charts/tree/master/charts/booksonic-air
icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/booksonic-air.png
sources:
- https://github.com/popeen/Booksonic-Air
- https://hub.docker.com/r/linuxserver/booksonic-air
maintainers:
- name: wojoinc
email: wojoinc@pm.me
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 1.7.0

View File

@@ -0,0 +1,8 @@
approvers:
- billimek
- onedr0p
- bjw-s
reviewers:
- billimek
- onedr0p
- bjw-s

View File

@@ -0,0 +1,78 @@
# Booksonic-air
This is a helm chart for [Booksonic-air](https://github.com/popeen/Booksonic-Air).
Booksonic-air is the successor to [Booksonic](https://github.com/popeen/Booksonic-Air#history).
**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)**
This chart leverages the [linuxserver.io](https://hub.docker.com/r/linuxserver/booksonic-air) image. To specify a specific version, or to use a different image (not recommended),
see [configuration](#configuration)
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/booksonic-air
```
## Storage
If you plan to use networked storage to store your media or config for Booksonic, (NFS, etc.) please take a look at the
Fast Access option in the Booksonic settings. This will help improve the perfomance of the application
by not constantly monitoring media folders.
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/booksonic-air
```
## 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/booksonic-air/values.yaml)
file. It has several commented out suggested values. Most notably, these include several environment variables used to
customize the container.
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 booksonic \
--set env.TZ="America/New_York" \
k8s-at-home/booksonic-air
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install booksonic k8s-at-home/booksonic-air -f 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.

View File

@@ -0,0 +1,2 @@
ingress:
enabled: true

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@@ -0,0 +1,49 @@
# Default values for Booksonic-air.
image:
repository: linuxserver/booksonic-air
pullPolicy: IfNotPresent
tag: v2009.1.0-ls2
strategy:
type: Recreate
service:
port:
port: 4040
env: {}
# TZ: UTC
# PUID: "1001"
# PGID: "1001"
# CONTEXT_PATH=url-base # Used to set the base path for reverse proxies eg. /booksonic, /books, etc.
persistence:
config:
enabled: false
emptyDir: false
audiobooks:
enabled: false
emptyDir: false
mountPath: /audiobooks
## 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: ""
podcasts:
enabled: false
emptyDir: false
mountPath: /podcasts
othermedia:
enabled: false
emptyDir: false
mountPath: /othermedia

23
charts/monica/Chart.yaml Normal file
View File

@@ -0,0 +1,23 @@
apiVersion: v2
appVersion: v2.19.1
description: A Personal Relationship Management tool to help you organize your social life
name: monica
version: 1.0.0
keywords:
- crm
home: https://www.monicahq.com/
icon: https://pbs.twimg.com/profile_images/951820722191720450/mtCNuIXX.jpg
sources:
- https://github.com/monicahq/monica
- https://hub.docker.com/_/monica
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 1.7.0
- name: mariadb
version: 9.0.1
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

8
charts/monica/OWNERS Normal file
View File

@@ -0,0 +1,8 @@
approvers:
- billimek
- onedr0p
- bjw-s
reviewers:
- billimek
- onedr0p
- bjw-s

68
charts/monica/README.md Normal file
View File

@@ -0,0 +1,68 @@
# Monica
This is a helm chart for [Monica](https://github.com/monicahq/monica).
**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)**
This chart supports many different environment variables. See the [Monica Documentation](https://raw.githubusercontent.com/monicahq/monica/master/.env.example) for more information.
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/moica
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/monica
```
## 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/monica/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 monica \
--set env.TZ="America/New_York" \
k8s-at-home/monica
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install monica k8s-at-home/monica --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.

View File

@@ -0,0 +1,17 @@
env:
APP_ENV: production
APP_KEY: pG335ncsoY7z18CLdpXOp0JXGYKMtFa1
APP_URL: https://crm.k8s-at-home.com
DB_HOST: monica-mariadb
DB_DATABASE: monica
DB_USERNAME: monica
DB_PASSWORD: monicapass
ingress:
enabled: true
fullnameOverride: monica
mariadb:
enabled: true
fullnameOverride: monica-mariadb

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

45
charts/monica/values.yaml Normal file
View File

@@ -0,0 +1,45 @@
# Default values for Monica.
image:
repository: monica
pullPolicy: IfNotPresent
tag: 2.19.1-apache
strategy:
type: Recreate
service:
port:
port: 80
env: {}
# See the Monica documentation for all available options for environment variables: https://raw.githubusercontent.com/monicahq/monica/master/.env.example
# APP_ENV: production
# Generate a different APP_KEY with `pwgen -s 32 1`
# APP_KEY: pG335ncsoY7z18CLdpXOp0JXGYKMtFa1
# APP_URL: https://crm.k8s-at-home.com
# DB_HOST: monica-mariadb
# DB_DATABASE: monica
# DB_USERNAME: monica
# DB_PASSWORD: monicapass
persistence:
config:
enabled: false
emptyDir: false
mountPath: /var/www/html/storage
# Enabled mariadb
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb
mariadb:
enabled: false
architecture: standalone
auth:
database: monica
username: monica
password: monicapass
rootPassword: monicarootpass
primary:
persistence:
enabled: false
# storageClass: ""

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.4.2
description: OctoPrint is the snappy web interface for your 3D printer
name: octoprint
version: 1.0.0
version: 1.0.1
keywords:
- octoprint
- 3d

View File

@@ -24,7 +24,7 @@ persistence:
data:
enabled: false
emptyDir: false
mountPath: /home/octoprint/.octoprint
mountPath: /octoprint
# Paths to your 3D printer and/or camera in the container
additionalVolumeMounts:

View File

@@ -0,0 +1,22 @@
apiVersion: v2
appVersion: "20201122"
description: PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection
name: photoprism
version: 1.0.0
keywords:
- photos
- photoprism
- pictures
- sharing
home: https://github.com/k8s-at-home/charts/tree/master/charts/photoprism
icon: https://demo.photoprism.org/static/img/logo-avatar.svg
sources:
- https://github.com/photoprism/photoprism
- https://hub.docker.com/r/photoprism/photoprism
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 1.7.0

8
charts/photoprism/OWNERS Normal file
View File

@@ -0,0 +1,8 @@
approvers:
- billimek
- onedr0p
- bjw-s
reviewers:
- billimek
- onedr0p
- bjw-s

View File

@@ -0,0 +1,69 @@
# Photoprism
This is a helm chart for [PhotoPrism](https://github.com/photoprism/photoprism).
**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)**
This chart requires heavy customization of the `env: {}` block within values.yaml to configure the service to operate properly. See the PhotoPrism [documentation](https://docs.photoprism.org/getting-started/config-options/) for available config options.
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/photoprism
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/photoprism
```
## 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/photoprism/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 photoprism \
--set env.TZ="America/New_York" \
k8s-at-home/photoprism
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install photoprism k8s-at-home/photoprism --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.

View File

@@ -0,0 +1,2 @@
ingress:
enabled: true

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@@ -0,0 +1,53 @@
# Default values for PhotoPrism.
image:
repository: photoprism/photoprism
pullPolicy: IfNotPresent
tag: "20201122"
strategy:
type: Recreate
service:
port:
port: 2342
env:
PHOTOPRISM_STORAGE_PATH: /photoprism/storage
PHOTOPRISM_ORIGINALS_PATH: /photoprism/originals
## See other config options from PhotoPrism documentation: https://docs.photoprism.org/getting-started/config-options/
# PHOTOPRISM_ADMIN_PASSWORD: "please-change" # Initial admin password: PLEASE CHANGE!
# PHOTOPRISM_DEBUG: "false" # Run in debug mode (shows additional log messages)
# PHOTOPRISM_PUBLIC: "false" # No authentication required (disables password protection)
# PHOTOPRISM_READONLY: "false" # Don't modify originals directory (reduced functionality)
# PHOTOPRISM_EXPERIMENTAL: "false" # Enable experimental features
# PHOTOPRISM_SITE_URL: "http://localhost:2342/" # Canonical / public site URL
# PHOTOPRISM_SITE_TITLE: "PhotoPrism"
# PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
# PHOTOPRISM_SITE_DESCRIPTION: ""
# PHOTOPRISM_SITE_AUTHOR: ""
# # You may optionally set user, group and/or file permissions using environment variables:
# UID: 1000
# GID: 1000
# UMASK: 0000
persistence:
config:
enabled: false
emptyDir: false
mountPath: /photoprism/storage
originals:
enabled: false
emptyDir: false
mountPath: "/photoprism/originals"
# readOnly: true
# additionalVolumeMounts:
# - name: originals
# mountPath: "/photoprism/originals"
# readOnly: true
# additionalVolumes:
# - name: originals
# persistentVolumeClaim:
# claimName: nfs-pictures-pvc

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v4.3.0
description: PowerDNS is a DNS server, written in C++ and licensed under the GPL. It runs on most Unix derivatives. PowerDNS features a large number of different backends ranging from simple BIND style zonefiles to relational databases and load balancing/failover algorithms. A DNS recursor is provided as a separate program.
name: powerdns
version: 2.2.0
version: 2.5.0
home: https://www.powerdns.com/
sources:
- http://www.github.com/PowerDNS/
@@ -12,7 +12,7 @@ maintainers:
email: ryan@ryanholt.net
dependencies:
- name: postgresql
version: 9.8.12
version: 10.1.2
repository: https://charts.bitnami.com/bitnami
condition: postgres.enabled
- name: mariadb

View File

@@ -35,28 +35,25 @@ spec:
- name: config
mountPath: /etc/pdns/conf.d
env:
{{- if .Values.postgres.enabled }}
{{- if .Values.postgresql.enabled }}
- name: AUTOCONF
value: postgres
- name: PGSQL_HOST
valueFrom:
secretKeyRef:
name: {{ include "powerdns.fullname" . }}
key: postgres_host
- name: PGSQL_PORT
valueFrom:
secretKeyRef:
name: {{ include "powerdns.fullname" . }}
key: postgres_port
- name: PGSQL_USERNAME
- name: PGSQL_USER
valueFrom:
secretKeyRef:
name: {{ include "powerdns.fullname" . }}
key: postgres_username
- name: PGSQL_PASSWORD
- name: PGSQL_PASS
valueFrom:
secretKeyRef:
name: {{ include "powerdns.fullname" . }}
key: postgres_password
- name: PGSQL_DATABASE
- name: PGSQL_DB
valueFrom:
secretKeyRef:
name: {{ include "powerdns.fullname" . }}
@@ -65,6 +62,8 @@ spec:
value: {{if (.Values.powerdns.dnssec)}}"yes"{{else}}"no"{{ end }}
{{ end }}
{{- if .Values.mariadb.enabled }}
- name: AUTOCONF
value: mysql
- name: MYSQL_HOST
valueFrom:
secretKeyRef:
@@ -95,32 +94,26 @@ spec:
- name: dns-udp
containerPort: 53
protocol: UDP
- name: dns-webserver
containerPort: 8081
protocol: TCP
{{- if .Values.probes.liveness.enabled }}
livenessProbe:
httpGet:
path: /
port: dns-webserver
tcpSocket:
port: dns-tcp
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: dns-webserver
tcpSocket:
port: dns-tcp
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: dns-webserver
tcpSocket:
port: dns-tcp
failureThreshold: {{ .Values.probes.startup.failureThreshold }}
periodSeconds: {{ .Values.probes.startup.periodSeconds }}
{{ end }}
@@ -128,13 +121,13 @@ spec:
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "a=0;while [ $a -lt 200 ];do sleep 5;a=$[a+1];echo 'stage: '$a;if nc -vz {{ .Values.powerdns.mysql.host }} 3306;then (! pdnsutil list-zone {{ .Values.powerdns.domain }} 2>/dev/null) && pdnsutil create-zone {{ .Values.powerdns.domain }};echo 'End Stage';a=200;fi;done"]
command: ["/bin/sh", "-c", "a=0;while [ $a -lt 200 ];do sleep 5;a=$[a+1];echo 'stage: '$a;if nc -vz {{- printf "%s-%s" .Release.Name "mariadb"}} 3306;then (! pdnsutil list-zone {{ .Values.powerdns.domain }} 2>/dev/null) && pdnsutil create-zone {{ .Values.powerdns.domain }};echo 'End Stage';a=200;fi;done"]
{{ end }}
{{- if .Values.postgres.enabled }}
{{- if .Values.postgresql.enabled }}
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "a=0;while [ $a -lt 200 ];do sleep 5;a=$[a+1];echo 'stage: '$a;if nc -vz {{ .Values.powerdns.postgres.host }} 5432;then (! pdnsutil list-zone {{ .Values.powerdns.domain }} 2>/dev/null) && pdnsutil create-zone {{ .Values.powerdns.domain }};echo 'End Stage';a=200;fi;done"]
command: ["/bin/sh", "-c", "a=0;while [ $a -lt 200 ];do sleep 5;a=$[a+1];echo 'stage: '$a;if nc -vz {{- printf "%s-%s" .Release.Name "postgresql"}} 5432;then (! pdnsutil list-zone {{ .Values.powerdns.domain }} 2>/dev/null) && pdnsutil create-zone {{ .Values.powerdns.domain }};echo 'End Stage';a=200;fi;done"]
{{ end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}

View File

@@ -6,13 +6,12 @@ metadata:
{{ include "powerdns.labels" . | indent 4 }}
type: Opaque
data:
{{- if .Values.postgres.enabled }}
{{- $postgrestmp := printf "%s-%s" .Release.Name "postgres"}}
{{- if .Values.postgresql.enabled }}
{{- $postgrestmp := printf "%s-%s" .Release.Name "postgresql"}}
postgres_host: "{{ $postgrestmp |b64enc }}"
postgres_port: "{{ .Values.powerdns.postgres.port | toString | b64enc }}"
postgres_username: "{{ .Values.powerdns.postgres.username | b64enc }}"
postgres_password: "{{ .Values.powerdns.postgres.password | toString | b64enc }}"
postgres_database: "{{ .Values.powerdns.postgres.database | b64enc }}"
postgres_username: "{{ .Values.postgresql.postgresqlUsername | b64enc }}"
postgres_password: "{{ .Values.postgresql.postgresqlPassword | toString | b64enc }}"
postgres_database: "{{ .Values.postgresql.postgresqlDatabase | b64enc }}"
{{ end }}
{{- if .Values.mariadb.enabled }}
{{- $mysqltmp := printf "%s-%s" .Release.Name "mariadb"}}

View File

@@ -6,8 +6,8 @@ replicaCount: 1
strategyType: Recreate
image:
repository: psitrax/powerdns
tag: v4.3.0
repository: naps/powerdns
tag: 4.3.1
pullPolicy: Always
imagePullSecrets: []
@@ -71,8 +71,10 @@ powerdns:
dnssec: true
config: {}
# Enabled mariadb
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb
mariadb:
enabled: true
enabled: false
db:
name: pdns
user: pdns
@@ -84,12 +86,19 @@ mariadb:
master:
persistence:
enabled: false
postgres:
enabled: false
global:
postgresqlUsername: pdns
postgresqlPassword: pdnspass
postgresqlDatabase: pdns
# Enabled postgres
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql
postgresql:
enabled: true
postgresqlUsername: pdns
postgresqlPassword: pdnspass
postgresqlPostgresPassword: pdnsadminpass
postgresqlDatabase: pdns
persistence:
enabled: false
# storageClass: ""
# Probes configuration
probes:

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 0.4.20
description: pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.
name: pyload
version: 1.0.0
version: 1.0.1
keywords:
- pyload
- download

View 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/traccar/Chart.yaml Normal file
View File

@@ -0,0 +1,23 @@
apiVersion: v2
appVersion: v4.11
description: Traccar is an open source GPS tracking system.
name: traccar
version: 1.0.0
keywords:
- traccar
- gps
home: https://github.com/k8s-at-home/charts/tree/master/charts/traccar
sources:
- https://github.com/traccar/traccar
- https://hub.docker.com/r/traccar/traccar
maintainers:
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 1.7.0
- name: mariadb
version: 9.0.1
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled

8
charts/traccar/OWNERS Normal file
View File

@@ -0,0 +1,8 @@
approvers:
- billimek
- onedr0p
- bjw-s
reviewers:
- billimek
- onedr0p
- bjw-s

67
charts/traccar/README.md Normal file
View File

@@ -0,0 +1,67 @@
# Traccar
This is a helm chart for [Traccar](https://github.com/traccar/traccar).
**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/traccar
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/traccar
```
## 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/traccar/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 traccar \
--set env.TZ="America/New_York" \
k8s-at-home/traccar
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install traccar k8s-at-home/traccar --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.

View File

@@ -0,0 +1,2 @@
ingress:
enabled: true

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@@ -0,0 +1,43 @@
# Default values for Ombi.
image:
repository: traccar/traccar
pullPolicy: IfNotPresent
tag: 4.11
strategy:
type: Recreate
service:
port:
port: 8082
# See more environment varaibles in the traccar documentation
# https://www.traccar.org/configuration-file/
# Note: replace . with _ and uppercase the key name
env:
CONFIG_USE_ENVIRONMENT_VARIABLES: true
LOGGER_CONSOLE: true
persistence:
data:
enabled: false
emptyDir: false
mountPath: /opt/traccar/data
probes:
startup:
enabled: true
# Enabled mariadb
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb
mariadb:
enabled: false
architecture: standalone
auth:
database: traccar
username: traccar
password: traccar
primary:
persistence:
enabled: false

View File

@@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2.0.1
description: Collect ALL UniFi Controller, Site, Device & Client Data - Export to InfluxDB or Prometheus
name: unifi-poller
version: 3.3.0
version: 4.1.0
keywords:
- unifi
- unifi-poller
@@ -18,3 +18,7 @@ dependencies:
- name: common
repository: https://k8s-at-home.com/charts/
version: 1.7.0
- name: influxdb
version: 1.1.1
repository: https://charts.bitnami.com/bitnami
condition: influxdb.enabled

View File

@@ -1,31 +1 @@
{{/* Make sure all variables are set properly */}}
{{- include "common.values.setup" . }}
{{/* Append the configMap to the additionalVolumes */}}
{{- define "unifi-poller.configmap.volume" -}}
name: unifi-poller-settings
configMap:
name: {{ template "common.names.fullname" . }}-settings
{{- end -}}
{{- $volume := include "unifi-poller.configmap.volume" . | fromYaml -}}
{{- if $volume -}}
{{- $additionalVolumes := append .Values.additionalVolumes $volume }}
{{- $_ := set .Values "additionalVolumes" (deepCopy $additionalVolumes) -}}
{{- end -}}
{{/* Append the configMap volume to the additionalVolumeMounts */}}
{{- define "unifi-poller.configmap.volumeMount" -}}
name: unifi-poller-settings
mountPath: /config/unifi-poller.yaml
subPath: unifi-poller.yaml
{{- end -}}
{{- $volumeMount := include "unifi-poller.configmap.volumeMount" . | fromYaml -}}
{{- if $volumeMount -}}
{{- $additionalVolumeMounts := append .Values.additionalVolumeMounts $volumeMount }}
{{- $_ := set .Values "additionalVolumeMounts" (deepCopy $additionalVolumeMounts) -}}
{{- end -}}
{{/* Render the templates */}}
{{ include "common.all" . }}

View File

@@ -1,11 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "common.names.fullname" . }}-settings
labels:
{{- include "common.labels" . | nindent 4 }}
data:
unifi-poller.yaml: |
{{- with .Values.config }}
{{- toYaml . | nindent 4 }}
{{- end }}

View File

@@ -12,6 +12,16 @@ service:
port:
port: 9130
# # See more environment varaibles in the unifi-poller documentation
# https://github.com/unifi-poller/unifi-poller/wiki/Configuration
env: {}
# TZ: UTC
# UP_UNIFI_DEFAULT_URL: "https://127.0.0.1:8443"
# UP_UNIFI_DEFAULT_USER: "unifipoller"
# UP_UNIFI_DEFAULT_PASS: "unifipoller"
# UP_PROMETHEUS_DISABLE: true
# UP_INFLUXDB_DISABLE: true
# enable a prometheus-operator servicemonitor
prometheus:
serviceMonitor:
@@ -19,92 +29,14 @@ prometheus:
interval: 1m
additionalLabels: {}
# unifi-poller configuration settings
# https://github.com/unifi-poller/unifi-poller/wiki/Configuration
config:
poller:
# config.poller.debug -- Turns on line numbers, microsecond logging, and a per-device log.
# The default is false, but I personally leave this on at home (four devices).
# This may be noisy if you have a lot of devices. It adds one line per device.
debug: false
# config.poller.quiet -- Turns off per-interval logs. Only startup and error logs will be emitted.
# Recommend enabling debug with this setting for better error logging.
quiet: false
# config.poller.plugins -- Load dynamic plugins. Advanced use; only sample mysql plugin provided by default.
plugins: []
#### OUTPUTS
prometheus:
# config.prometheus.disable -- Disable prometheus output
disable: false
# config.prometheus.http_listen -- This controls on which ip and port /metrics is exported when mode is "prometheus".
# This has no effect in other modes. Must contain a colon and port.
http_listen: "0.0.0.0:9130"
# config.prometheus.requests --
report_errors: false
influxdb:
# config.influxdb.disable -- Disable prometheus output
disable: true
# config.influxdb.interval --
interval: "30s"
# config.influxdb.url -- InfluxDB does not require auth by default, so the user/password are probably unimportant.
url: "http://127.0.0.1:8086"
# config.influxdb.user --
user: "unifipoller"
# config.influxdb.pass --
pass: "unifipoller"
# config.influxdb.pass -- Be sure to create this database.
db: "unifi"
# config.influxdb.verify_ssl -- The UniFi Controller only updates traffic stats about every 30 seconds.
# Setting this to something lower may lead to "zeros" in your data.
# If you're getting zeros now, set this to "1m"
verify_ssl: false
#### Inputs
unifi:
# config.unifi.dynamic -- Setting this to true and providing default credentials allows you to skip
# configuring controllers in this config file. Instead you configure them in
# your prometheus.yml config. Prometheus then sends the controller URL to
# unifi-poller when it performs the scrape. This is useful if you have many,
# or changing controllers. Most people can leave this off. See wiki for more.
dynamic: false
# config.unifi.defaults -- The following section contains the default credentials/configuration for any
# dynamic controller (see above section), or the primary controller if you do not
# provide one and dynamic is disabled. In other words, you can just add your
# controller here and delete the following section.
defaults:
# config.unifi.defaults.role -- Friendly name used in dashboards. Uses URL if left empty; which is fine.
# Avoid changing this later because it will live forever in your database.
# Multiple controllers may share a role. This allows grouping during scrapes.
role: "main controller"
# config.unifi.defaults.role -- Username to talk to unifi
user: "unifipoller"
# config.unifi.defaults.pass -- Password to talk to unifi
pass: "unifipoller"
# config.unifi.defaults.url -- Url to talk to unifi
url: "https://127.0.0.1:8443"
# config.unifi.defaults.sites -- If the controller has more than one site, specify which sites to poll here.
# Set this to ["default"] to poll only the first site on the controller.
# A setting of ["all"] will poll all sites; this works if you only have 1 site too.
sites:
- all
# config.unifi.defaults.verify_ssl -- If your UniFi controller has a valid SSL certificate (like lets encrypt),
# you can enable this option to validate it. Otherwise, any SSL certificate is
# valid. If you don't know if you have a valid SSL cert, then you don't have one
verify_ssl: false
# config.unifi.defaults.save_ids -- Enable collection of Intrusion Detection System Data (InfluxDB only).
# Only useful if IDS or IPS are enabled on one of the sites.
save_ids: false
# config.unifi.defaults.save_dpi -- Enable collection of Deep Packet Inspection data. This data breaks down traffic
# types for each client and site, it powers a dedicated DPI dashboard.
# Enabling this adds roughly 150 data points per client. That's 6000 metrics for
# 40 clients. This adds a little bit of poller run time per interval and causes
# more API requests to your controller(s). Don't let these "cons" sway you:
# it's cool data. Please provide feedback on your experience with this feature.
save_dpi: false
# config.unifi.defaults.save_sites -- Enable collection of site data. This data powers the Network Sites dashboard.
# It's not valuable to everyone and setting this to false will save resources.
save_sites: true
# config.unifi.controllers -- Repeat any controllers like default above
controllers: []
# Enable influxdb
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/influxdb
influxdb:
enabled: false
architecture: standalone
database: unifi_poller
authEnabled: false
persistence:
enabled: false
# storageClass: ""
# size: 8Gi