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.