diff --git a/charts/ecowitt-exporter/Chart.yaml b/charts/ecowitt-exporter/Chart.yaml
index 6a58c9f0..83bfbabf 100644
--- a/charts/ecowitt-exporter/Chart.yaml
+++ b/charts/ecowitt-exporter/Chart.yaml
@@ -3,7 +3,7 @@ apiVersion: v2
name: ecowitt-exporter
description: A Prometheus & InfluxDB exporter for Ecowitt weather stations
type: application
-version: 0.6.1
+version: 0.6.2
appVersion: "0.6.1"
keywords:
- ecowitt
diff --git a/charts/ecowitt-exporter/README.md b/charts/ecowitt-exporter/README.md
index acb99fe1..0d8ba497 100644
--- a/charts/ecowitt-exporter/README.md
+++ b/charts/ecowitt-exporter/README.md
@@ -1,6 +1,6 @@
# ecowitt-exporter
-![Version: 0.5.4](https://img.shields.io/badge/Version-0.5.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.5.3](https://img.shields.io/badge/AppVersion-0.5.3-informational?style=flat-square)
+![Version: 0.6.2](https://img.shields.io/badge/Version-0.6.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.1](https://img.shields.io/badge/AppVersion-0.6.1-informational?style=flat-square)
A Prometheus & InfluxDB exporter for Ecowitt weather stations
diff --git a/charts/jellyfin/Chart.yaml b/charts/jellyfin/Chart.yaml
index 4ccf7d91..a019addb 100644
--- a/charts/jellyfin/Chart.yaml
+++ b/charts/jellyfin/Chart.yaml
@@ -2,7 +2,7 @@ apiVersion: v2
type: application
name: jellyfin
description: Your media, your server, your way
-version: 3.1.6
+version: 3.1.7
appVersion: 10.9.10
kubeVersion: '>=1.20'
home: https://jellyfin.org/
diff --git a/charts/jellyfin/README.md b/charts/jellyfin/README.md
index 2f6be95b..a34cff03 100644
--- a/charts/jellyfin/README.md
+++ b/charts/jellyfin/README.md
@@ -18,8 +18,8 @@
](LICENSE)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
- ![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square)
- ![AppVersion: 10.9.9](https://img.shields.io/badge/AppVersion-10.9.9-informational?style=flat-square)
+ ![Version: 3.1.7](https://img.shields.io/badge/Version-3.1.7-informational?style=flat-square)
+ ![AppVersion: 10.9.10](https://img.shields.io/badge/AppVersion-10.9.10-informational?style=flat-square)
diff --git a/charts/jellystat/Chart.yaml b/charts/jellystat/Chart.yaml
index e3aec4a3..c2f71724 100644
--- a/charts/jellystat/Chart.yaml
+++ b/charts/jellystat/Chart.yaml
@@ -2,7 +2,7 @@ apiVersion: v2
type: application
name: jellystat
description: Jellystat is a free and open source Statistics App for Jellyfin
-version: 0.1.1
+version: 0.1.2
appVersion: "1.1.0"
home: https://github.com/CyferShepard/Jellystat
icon: https://raw.githubusercontent.com/CyferShepard/Jellystat/main/public/icon-b-192.png
diff --git a/charts/jellystat/README.md b/charts/jellystat/README.md
index 811bb6a5..ce69709e 100644
--- a/charts/jellystat/README.md
+++ b/charts/jellystat/README.md
@@ -1,6 +1,6 @@
# jellystat
-![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.1.0](https://img.shields.io/badge/AppVersion-1.1.0-informational?style=flat-square)
+![Version: 0.1.2](https://img.shields.io/badge/Version-0.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.1.0](https://img.shields.io/badge/AppVersion-1.1.0-informational?style=flat-square)
Jellystat is a free and open source Statistics App for Jellyfin
diff --git a/charts/navidrome/Chart.yaml b/charts/navidrome/Chart.yaml
index f94ced31..99f4d0ca 100644
--- a/charts/navidrome/Chart.yaml
+++ b/charts/navidrome/Chart.yaml
@@ -3,7 +3,7 @@ apiVersion: v2
appVersion: 0.53.2
description: Navidrome is an open source web-based music collection server and streamer
name: navidrome
-version: 6.6.12
+version: 6.6.13
kubeVersion: ">=1.16.0-0"
keywords:
- navidrome
diff --git a/charts/navidrome/README.md b/charts/navidrome/README.md
index 06ecae2b..93af98b4 100644
--- a/charts/navidrome/README.md
+++ b/charts/navidrome/README.md
@@ -1,6 +1,6 @@
# navidrome
-![Version: 6.6.11](https://img.shields.io/badge/Version-6.6.11-informational?style=flat-square) ![AppVersion: 0.52.5](https://img.shields.io/badge/AppVersion-0.52.5-informational?style=flat-square)
+![Version: 6.6.13](https://img.shields.io/badge/Version-6.6.13-informational?style=flat-square) ![AppVersion: 0.53.2](https://img.shields.io/badge/AppVersion-0.53.2-informational?style=flat-square)
Navidrome is an open source web-based music collection server and streamer
diff --git a/charts/smokeping/.helmignore b/charts/smokeping/.helmignore
new file mode 100644
index 00000000..0e8a0eb3
--- /dev/null
+++ b/charts/smokeping/.helmignore
@@ -0,0 +1,23 @@
+# 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
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/charts/smokeping/Chart.yaml b/charts/smokeping/Chart.yaml
new file mode 100644
index 00000000..b3071386
--- /dev/null
+++ b/charts/smokeping/Chart.yaml
@@ -0,0 +1,17 @@
+---
+apiVersion: v2
+name: smokeping
+description: SmokePing is a latency logging and graphing and alerting system
+type: application
+version: 0.1.0
+appVersion: "2.8.2"
+keywords:
+ - smokeping
+home: https://oss.oetiker.ch/smokeping/
+icon: https://raw.githubusercontent.com/RubxKube/charts/main/img/smokeping-logo.png
+maintainers:
+ - name: djjudas21
+ email: djjudas21@users.noreply.github.com
+ url: https://github.com/djjudas21
+sources:
+ - https://github.com/oetiker/SmokePing
diff --git a/charts/smokeping/README.md b/charts/smokeping/README.md
new file mode 100644
index 00000000..45f4175a
--- /dev/null
+++ b/charts/smokeping/README.md
@@ -0,0 +1,105 @@
+# smokeping
+
+![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.8.2](https://img.shields.io/badge/AppVersion-2.8.2-informational?style=flat-square)
+
+SmokePing is a latency logging and graphing and alerting system
+
+**Homepage:**
+
+## Maintainers
+
+| Name | Email | Url |
+| ---- | ------ | --- |
+| djjudas21 | | |
+
+## Source Code
+
+*
+
+## Values
+
+| Key | Type | Default | Description |
+|-----|------|---------|-------------|
+| affinity | object | `{}` | |
+| fullnameOverride | string | `""` | |
+| image.pullPolicy | string | `"IfNotPresent"` | |
+| image.repository | string | `"linuxserver/smokeping"` | |
+| image.tag | string | `""` | |
+| imagePullSecrets | list | `[]` | |
+| ingress.annotations | object | `{}` | |
+| ingress.className | string | `""` | |
+| ingress.enabled | bool | `false` | |
+| ingress.hosts[0].host | string | `"chart-example.local"` | |
+| ingress.hosts[0].paths[0].path | string | `"/"` | |
+| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
+| ingress.tls | list | `[]` | |
+| nameOverride | string | `""` | |
+| nodeSelector | object | `{}` | |
+| persistence.accessMode | string | `"ReadWriteOnce"` | |
+| persistence.enabled | bool | `true` | |
+| persistence.mountPath | string | `"/data/"` | |
+| persistence.size | string | `"5Gi"` | |
+| persistence.storageClass | string | `""` | |
+| podAnnotations | object | `{}` | |
+| podLabels | object | `{}` | |
+| podSecurityContext | object | `{}` | |
+| probes | object | `{"liveness":{"enabled":true,"failureThreshold":3,"initialDelaySeconds":0,"periodSeconds":10,"timeoutSeconds":1},"readiness":{"enabled":true,"failureThreshold":3,"initialDelaySeconds":0,"periodSeconds":10,"timeoutSeconds":1}}` | configure probes |
+| resources | object | `{}` | |
+| securityContext | object | `{}` | |
+| service.port | int | `80` | |
+| service.type | string | `"ClusterIP"` | |
+| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
+| serviceAccount.automount | bool | `false` | Automatically mount a ServiceAccount's API credentials? |
+| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
+| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
+| smokeping.contact | string | `"admin@linuxserver.io"` | |
+| smokeping.database.pings | int | `20` | How many pings to send for each test |
+| smokeping.database.step | int | `300` | How many seconds between tests |
+| smokeping.email.AuthPass | string | `nil` | |
+| smokeping.email.AuthUser | string | `nil` | |
+| smokeping.email.UseSTARTTLS | string | `"yes"` | |
+| smokeping.email.from | string | `"smokealert@company.xy"` | |
+| smokeping.email.hostname | string | `nil` | The full hostname |
+| smokeping.email.mailhub | string | `"smtp.gmail.com:587"` | The place where the mail goes. The actual machine name is required - no MX records are consulted. Commonly mailhosts are named mail.domain.com |
+| smokeping.email.rewriteDomain | string | `nil` | Where will the mail seem to come from? |
+| smokeping.email.root | string | `nil` | The person who gets all mail for userids < 1000. Make this empty to disable rewriting. |
+| smokeping.email.to | string | `"alertee@address.somewhere"` | |
+| smokeping.owner | string | `"LinuxServer.io"` | |
+| smokeping.targets[0].hosts[0].host | string | `"192.168.0.1"` | |
+| smokeping.targets[0].hosts[0].menu | string | `"Router"` | |
+| smokeping.targets[0].hosts[0].name | string | `"Router"` | |
+| smokeping.targets[0].hosts[0].title | string | `"Router"` | |
+| smokeping.targets[0].menu | string | `"Internal Devices"` | |
+| smokeping.targets[0].name | string | `"Internet"` | |
+| smokeping.targets[0].title | string | `"Internal Devices"` | |
+| smokeping.targets[1].hosts[0].host | string | `"google.com"` | |
+| smokeping.targets[1].hosts[0].menu | string | `"Google"` | |
+| smokeping.targets[1].hosts[0].name | string | `"GoogleSearch"` | |
+| smokeping.targets[1].hosts[0].title | string | `"google.com"` | |
+| smokeping.targets[1].menu | string | `"Internet Sites"` | |
+| smokeping.targets[1].name | string | `"InternetSites"` | |
+| smokeping.targets[1].title | string | `"Internet Sites"` | |
+| smokeping.targets[2].hosts[0].host | string | `"8.8.8.8"` | |
+| smokeping.targets[2].hosts[0].menu | string | `"Google DNS 1"` | |
+| smokeping.targets[2].hosts[0].name | string | `"GoogleDNS1"` | |
+| smokeping.targets[2].hosts[0].title | string | `"Google DNS 8.8.8.8"` | |
+| smokeping.targets[2].hosts[1].host | string | `"8.8.4.4"` | |
+| smokeping.targets[2].hosts[1].menu | string | `"Google DNS 2"` | |
+| smokeping.targets[2].hosts[1].name | string | `"GoogleDNS2"` | |
+| smokeping.targets[2].hosts[1].title | string | `"Google DNS 8.8.4.4"` | |
+| smokeping.targets[2].hosts[2].host | string | `"1.1.1.1"` | |
+| smokeping.targets[2].hosts[2].menu | string | `"Cloudflare DNS 1"` | |
+| smokeping.targets[2].hosts[2].name | string | `"CloudflareDNS1"` | |
+| smokeping.targets[2].hosts[2].title | string | `"Cloudflare DNS 1.1.1.1"` | |
+| smokeping.targets[2].hosts[3].host | string | `"1.0.0.1"` | |
+| smokeping.targets[2].hosts[3].menu | string | `"Cloudflare DNS 2"` | |
+| smokeping.targets[2].hosts[3].name | string | `"CloudflareDNS2"` | |
+| smokeping.targets[2].hosts[3].title | string | `"Cloudflare DNS 1.0.0.1"` | |
+| smokeping.targets[2].menu | string | `"DNS Probes"` | |
+| smokeping.targets[2].name | string | `"DNSProbes"` | |
+| smokeping.targets[2].probe | string | `"DNS"` | |
+| smokeping.targets[2].title | string | `"DNS Probes"` | |
+| tolerations | list | `[]` | |
+
+----------------------------------------------
+Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
diff --git a/charts/smokeping/templates/NOTES.txt b/charts/smokeping/templates/NOTES.txt
new file mode 100644
index 00000000..e5065a6a
--- /dev/null
+++ b/charts/smokeping/templates/NOTES.txt
@@ -0,0 +1,22 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range $host := .Values.ingress.hosts }}
+ {{- range .paths }}
+ http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
+ {{- end }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "smokeping.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 its status by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "smokeping.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "smokeping.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
+ 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 "smokeping.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
+{{- end }}
diff --git a/charts/smokeping/templates/_helpers.tpl b/charts/smokeping/templates/_helpers.tpl
new file mode 100644
index 00000000..dfaf184c
--- /dev/null
+++ b/charts/smokeping/templates/_helpers.tpl
@@ -0,0 +1,62 @@
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "smokeping.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 "smokeping.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 "smokeping.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "smokeping.labels" -}}
+helm.sh/chart: {{ include "smokeping.chart" . }}
+{{ include "smokeping.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "smokeping.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "smokeping.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "smokeping.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "smokeping.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
diff --git a/charts/smokeping/templates/configmap.yaml b/charts/smokeping/templates/configmap.yaml
new file mode 100644
index 00000000..ad4c8cdd
--- /dev/null
+++ b/charts/smokeping/templates/configmap.yaml
@@ -0,0 +1,184 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: config
+data:
+ Alerts: |+
+ *** Alerts ***
+ to = {{ .Values.smokeping.email.to }}
+ from = {{ .Values.smokeping.email.from }}
+
+ +someloss
+ type = loss
+ # in percent
+ pattern = >0%,*12*,>0%,*12*,>0%
+ comment = loss 3 times in a row
+
+ Database: |+
+ *** Database ***
+
+ step = {{ .Values.smokeping.database.step }}
+ pings = {{ .Values.smokeping.database.pings }}
+
+ # consfn mrhb steps total
+
+ AVERAGE 0.5 1 1008
+ AVERAGE 0.5 12 4320
+ MIN 0.5 12 4320
+ MAX 0.5 12 4320
+ AVERAGE 0.5 144 720
+ MAX 0.5 144 720
+ MIN 0.5 144 720
+
+ General: |
+ *** General ***
+
+ owner = {{ .Values.smokeping.owner }}
+ contact = {{ .Values.smokeping.contact }}
+ mailhost = my.mail.host
+ # NOTE: do not put the Image Cache below cgi-bin
+ # since all files under cgi-bin will be executed ... this is not
+ # good for images.
+ cgiurl = http://localhost/smokeping/smokeping.cgi
+ # specify this to get syslog logging
+ syslogfacility = local0
+ # each probe is now run in its own process
+ # disable this to revert to the old behaviour
+ # concurrentprobes = no
+
+ @include /config/pathnames
+ Presentation: |+
+ *** Presentation ***
+
+ template = /etc/smokeping/basepage.html
+ charset = utf-8
+
+ + charts
+
+ menu = Charts
+ title = The most interesting destinations
+
+ ++ stddev
+ sorter = StdDev(entries=>4)
+ title = Top Standard Deviation
+ menu = Std Deviation
+ format = Standard Deviation %f
+
+ ++ max
+ sorter = Max(entries=>5)
+ title = Top Max Roundtrip Time
+ menu = by Max
+ format = Max Roundtrip Time %f seconds
+
+ ++ loss
+ sorter = Loss(entries=>5)
+ title = Top Packet Loss
+ menu = Loss
+ format = Packets Lost %f
+
+ ++ median
+ sorter = Median(entries=>5)
+ title = Top Median Roundtrip Time
+ menu = by Median
+ format = Median RTT %f seconds
+
+ + overview
+
+ width = 600
+ height = 50
+ range = 10h
+
+ + detail
+
+ width = 600
+ height = 200
+ unison_tolerance = 2
+
+ "Last 3 Hours" 3h
+ "Last 30 Hours" 30h
+ "Last 10 Days" 10d
+ "Last 360 Days" 360d
+
+ #+ hierarchies
+ #++ owner
+ #title = Host Owner
+ #++ location
+ #title = Location
+
+ Probes: |
+ *** Probes ***
+
+ + FPing
+ binary = /usr/sbin/fping
+
+ + FPing6
+ binary = /usr/sbin/fping
+ protocol = 6
+
+ + DNS
+ binary = /usr/bin/dig
+ lookup = google.com
+ pings = 5
+ step = 300
+
+ + TCPPing
+ binary = /usr/bin/tcpping
+ forks = 10
+ offset = random
+ pings = 5
+ port = 80
+
+ Targets: |+
+ *** Targets ***
+
+ probe = FPing
+
+ menu = Top
+ title = Network Latency Grapher
+ remark = Welcome to the SmokePing website of WORKS Company. \
+ Here you will learn all about the latency of our network.
+
+ {{- range $i, $target := .Values.smokeping.targets }}
+ + {{ $target.name }}
+
+ menu = {{ $target.menu }}
+ title = {{ $target.title }}
+
+ {{- range $j, $host := $target.hosts }}
+ ++ {{ $host.name }}
+ menu = {{ $host.menu }}
+ title = {{ $host.title }}
+ host = {{ $host.host }}
+ {{ end }}
+ {{ end }}
+ ssmtp.conf: |
+ #
+ # Config file for sSMTP sendmail
+ #
+ # The person who gets all mail for userids < 1000
+ # Make this empty to disable rewriting.
+
+ root={{ .Values.smokeping.email.root }}
+
+ # The place where the mail goes. The actual machine name is required no
+ # MX records are consulted. Commonly mailhosts are named mail.domain.com
+
+ mailhub={{ .Values.smokeping.email.mailhub }}
+ AuthUser={{ .Values.smokeping.email.AuthUser }}
+ AuthPass={{ .Values.smokeping.email.AuthPass }}
+ UseSTARTTLS={{ .Values.smokeping.email.UseSTARTTLS }}
+
+ {{- if .Values.smokeping.email.rewriteDomain }}
+ # Where will the mail seem to come from?
+ rewriteDomain={{ .Values.smokeping.email.rewriteDomain }}
+ {{- end }}
+
+ {{- if .Values.smokeping.email.hostname }}
+ # The full hostname
+ hostname={{ .Values.smokeping.email.hostname }}
+ {{- end }}
+
+ # Are users allowed to set their own From: address?
+ # YES - Allow the user to specify their own From: address
+ # NO - Use the system generated From: address
+ #FromLineOverride=YES
diff --git a/charts/smokeping/templates/ingress.yaml b/charts/smokeping/templates/ingress.yaml
new file mode 100644
index 00000000..88022fbd
--- /dev/null
+++ b/charts/smokeping/templates/ingress.yaml
@@ -0,0 +1,61 @@
+{{- if .Values.ingress.enabled -}}
+{{- $fullName := include "smokeping.fullname" . -}}
+{{- $svcPort := .Values.service.port -}}
+{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
+ {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
+ {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
+ {{- end }}
+{{- end }}
+{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1
+{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1beta1
+{{- else -}}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Ingress
+metadata:
+ name: {{ $fullName }}
+ labels:
+ {{- include "smokeping.labels" . | nindent 4 }}
+ {{- with .Values.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
+ ingressClassName: {{ .Values.ingress.className }}
+ {{- end }}
+ {{- if .Values.ingress.tls }}
+ tls:
+ {{- range .Values.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+ {{- end }}
+ rules:
+ {{- range .Values.ingress.hosts }}
+ - host: {{ .host | quote }}
+ http:
+ paths:
+ {{- range .paths }}
+ - path: {{ .path }}
+ {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
+ pathType: {{ .pathType }}
+ {{- end }}
+ backend:
+ {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
+ service:
+ name: {{ $fullName }}
+ port:
+ number: {{ $svcPort }}
+ {{- else }}
+ serviceName: {{ $fullName }}
+ servicePort: {{ $svcPort }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/smokeping/templates/service.yaml b/charts/smokeping/templates/service.yaml
new file mode 100644
index 00000000..00e99a74
--- /dev/null
+++ b/charts/smokeping/templates/service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "smokeping.fullname" . }}
+ labels:
+ {{- include "smokeping.labels" . | nindent 4 }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ - port: {{ .Values.service.port }}
+ targetPort: http
+ protocol: TCP
+ name: http
+ selector:
+ {{- include "smokeping.selectorLabels" . | nindent 4 }}
diff --git a/charts/smokeping/templates/serviceaccount.yaml b/charts/smokeping/templates/serviceaccount.yaml
new file mode 100644
index 00000000..73eb1596
--- /dev/null
+++ b/charts/smokeping/templates/serviceaccount.yaml
@@ -0,0 +1,13 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "smokeping.serviceAccountName" . }}
+ labels:
+ {{- include "smokeping.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+automountServiceAccountToken: {{ .Values.serviceAccount.automount }}
+{{- end }}
diff --git a/charts/smokeping/templates/statefulset.yaml b/charts/smokeping/templates/statefulset.yaml
new file mode 100644
index 00000000..9b5e327a
--- /dev/null
+++ b/charts/smokeping/templates/statefulset.yaml
@@ -0,0 +1,105 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ include "smokeping.fullname" . }}
+ labels:
+ {{- include "smokeping.labels" . | nindent 4 }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ {{- include "smokeping.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "smokeping.selectorLabels" . | nindent 8 }}
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ include "smokeping.serviceAccountName" . }}
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
+ volumes:
+ - name: sockets
+ emptyDir: {}
+ - name: log
+ emptyDir: {}
+ - name: config-volume
+ configMap:
+ name: config
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{- toYaml .Values.securityContext | nindent 12 }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ volumeMounts:
+ - name: config-volume
+ mountPath: /config/Targets
+ subPath: Targets
+ - name: config-volume
+ mountPath: /config/Alerts
+ subPath: Alerts
+ - name: config-volume
+ mountPath: /config/Database
+ subPath: Database
+ - name: config-volume
+ mountPath: /config/General
+ subPath: General
+ - name: config-volume
+ mountPath: /config/Presentation
+ subPath: Presentation
+ - name: config-volume
+ mountPath: /config/Probes
+ subPath: Probes
+ - name: config-volume
+ mountPath: /config/ssmtp.conf
+ subPath: ssmtp.conf
+ {{- if .Values.persistence.enabled }}
+ - name: data
+ mountPath: {{ .Values.persistence.mountPath }}
+ {{- end }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.service.port }}
+ protocol: TCP
+ {{- if .Values.probes.liveness.enabled }}
+ livenessProbe:
+ {{- toYaml .Values.livenessProbe | nindent 12 }}
+ {{- end }}
+ {{- if .Values.probes.readiness.enabled }}
+ readinessProbe:
+ {{- toYaml .Values.readinessProbe | nindent 12 }}
+ {{- end }}
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- if .Values.persistence.enabled }}
+ volumeClaimTemplates:
+ - metadata:
+ name: data
+ spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: {{ .Values.persistence.storageClass }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+ {{- end }}
diff --git a/charts/smokeping/templates/tests/test-connection.yaml b/charts/smokeping/templates/tests/test-connection.yaml
new file mode 100644
index 00000000..bee84b56
--- /dev/null
+++ b/charts/smokeping/templates/tests/test-connection.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ name: "{{ include "smokeping.fullname" . }}-test-connection"
+ labels:
+ {{- include "smokeping.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": test
+spec:
+ containers:
+ - name: wget
+ image: busybox
+ command: ['wget']
+ args: ['{{ include "smokeping.fullname" . }}:{{ .Values.service.port }}']
+ restartPolicy: Never
diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml
new file mode 100644
index 00000000..5ebbc23d
--- /dev/null
+++ b/charts/smokeping/values.yaml
@@ -0,0 +1,160 @@
+# Default values for smokeping.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+smokeping:
+ owner: LinuxServer.io
+ contact: admin@linuxserver.io
+ database:
+ # -- How many seconds between tests
+ step: 300
+ # -- How many pings to send for each test
+ pings: 20
+ email:
+ to: alertee@address.somewhere
+ from: smokealert@company.xy
+ # -- The person who gets all mail for userids < 1000. Make this empty to disable rewriting.
+ root:
+ # -- The place where the mail goes. The actual machine name is required - no
+ # MX records are consulted. Commonly mailhosts are named mail.domain.com
+ mailhub: smtp.gmail.com:587
+ AuthUser:
+ AuthPass:
+ UseSTARTTLS: "yes"
+ # -- Where will the mail seem to come from?
+ rewriteDomain:
+ # -- The full hostname
+ hostname:
+ targets:
+ - name: Internet
+ menu: Internal Devices
+ title: Internal Devices
+ hosts:
+ - name: Router
+ menu: Router
+ title: Router
+ host: 192.168.0.1
+ - name: InternetSites
+ menu: Internet Sites
+ title: Internet Sites
+ hosts:
+ - name: GoogleSearch
+ menu: Google
+ title: google.com
+ host: google.com
+ - name: DNSProbes
+ menu: DNS Probes
+ title: DNS Probes
+ probe: DNS
+ hosts:
+ - name: GoogleDNS1
+ menu: Google DNS 1
+ title: Google DNS 8.8.8.8
+ host: 8.8.8.8
+ - name: GoogleDNS2
+ menu: Google DNS 2
+ title: Google DNS 8.8.4.4
+ host: 8.8.4.4
+ - name: CloudflareDNS1
+ menu: Cloudflare DNS 1
+ title: Cloudflare DNS 1.1.1.1
+ host: 1.1.1.1
+ - name: CloudflareDNS2
+ menu: Cloudflare DNS 2
+ title: Cloudflare DNS 1.0.0.1
+ host: 1.0.0.1
+
+image:
+ repository: linuxserver/smokeping
+ pullPolicy: IfNotPresent
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: ""
+
+imagePullSecrets: []
+nameOverride: ""
+fullnameOverride: ""
+
+serviceAccount:
+ # -- Specifies whether a service account should be created
+ create: true
+ # -- Automatically mount a ServiceAccount's API credentials?
+ automount: false
+ # -- Annotations to add to the service account
+ annotations: {}
+ # -- The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: ""
+
+podAnnotations: {}
+podLabels: {}
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+securityContext: {}
+ # capabilities:
+ # drop:
+ # - ALL
+ # readOnlyRootFilesystem: true
+ # runAsNonRoot: true
+ # runAsUser: 1000
+
+service:
+ type: ClusterIP
+ port: 80
+
+ingress:
+ enabled: false
+ className: ""
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ hosts:
+ - host: chart-example.local
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ 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
+
+# -- configure probes
+probes:
+ liveness:
+ enabled: true
+ failureThreshold: 3
+ initialDelaySeconds: 0
+ periodSeconds: 10
+ timeoutSeconds: 1
+ readiness:
+ enabled: true
+ failureThreshold: 3
+ initialDelaySeconds: 0
+ periodSeconds: 10
+ timeoutSeconds: 1
+
+persistence:
+ enabled: true
+ storageClass: ""
+ size: "5Gi"
+ mountPath: "/data/"
+ accessMode: ReadWriteOnce
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
diff --git a/charts/wizarr/Chart.yaml b/charts/wizarr/Chart.yaml
index 6aa8c14a..6e45a8fb 100644
--- a/charts/wizarr/Chart.yaml
+++ b/charts/wizarr/Chart.yaml
@@ -2,7 +2,7 @@ apiVersion: v2
type: application
name: wizarr
description: Wizarr is an advanced user invitation and management system for Jellyfin, Plex, Emby etc.
-version: 0.1.1
+version: 0.1.2
appVersion: "4.2.0-beta.3"
home: https://github.com/wizarrrr/wizarr
icon: https://raw.githubusercontent.com/Wizarrrr/wizarr/master/apps/wizarr-frontend/src/assets/img/wizard.png
diff --git a/charts/wizarr/README.md b/charts/wizarr/README.md
index 4730cfd4..0c8fb3a1 100644
--- a/charts/wizarr/README.md
+++ b/charts/wizarr/README.md
@@ -1,6 +1,6 @@
# wizarr
-![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.2.0-beta.3](https://img.shields.io/badge/AppVersion-4.2.0--beta.3-informational?style=flat-square)
+![Version: 0.1.2](https://img.shields.io/badge/Version-0.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.2.0-beta.3](https://img.shields.io/badge/AppVersion-4.2.0--beta.3-informational?style=flat-square)
Wizarr is an advanced user invitation and management system for Jellyfin, Plex, Emby etc.