From c8f75d0f286a5809ad600089806742ba6dbc3a6c Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Fri, 13 Sep 2024 21:16:55 +0100 Subject: [PATCH 01/22] helm create smokeping --- charts/smokeping/.helmignore | 23 ++++ charts/smokeping/Chart.yaml | 24 ++++ charts/smokeping/templates/NOTES.txt | 22 ++++ charts/smokeping/templates/_helpers.tpl | 62 ++++++++++ charts/smokeping/templates/deployment.yaml | 68 +++++++++++ charts/smokeping/templates/hpa.yaml | 32 ++++++ charts/smokeping/templates/ingress.yaml | 61 ++++++++++ charts/smokeping/templates/service.yaml | 15 +++ .../smokeping/templates/serviceaccount.yaml | 13 +++ .../templates/tests/test-connection.yaml | 15 +++ charts/smokeping/values.yaml | 107 ++++++++++++++++++ 11 files changed, 442 insertions(+) create mode 100644 charts/smokeping/.helmignore create mode 100644 charts/smokeping/Chart.yaml create mode 100644 charts/smokeping/templates/NOTES.txt create mode 100644 charts/smokeping/templates/_helpers.tpl create mode 100644 charts/smokeping/templates/deployment.yaml create mode 100644 charts/smokeping/templates/hpa.yaml create mode 100644 charts/smokeping/templates/ingress.yaml create mode 100644 charts/smokeping/templates/service.yaml create mode 100644 charts/smokeping/templates/serviceaccount.yaml create mode 100644 charts/smokeping/templates/tests/test-connection.yaml create mode 100644 charts/smokeping/values.yaml 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..aa9beddd --- /dev/null +++ b/charts/smokeping/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: smokeping +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" 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/deployment.yaml b/charts/smokeping/templates/deployment.yaml new file mode 100644 index 00000000..1a7db723 --- /dev/null +++ b/charts/smokeping/templates/deployment.yaml @@ -0,0 +1,68 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "smokeping.fullname" . }} + labels: + {{- include "smokeping.labels" . | nindent 4 }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + {{- include "smokeping.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "smokeping.labels" . | nindent 8 }} + {{- with .Values.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "smokeping.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: {{ .Values.service.port }} + protocol: TCP + livenessProbe: + {{- toYaml .Values.livenessProbe | nindent 12 }} + readinessProbe: + {{- toYaml .Values.readinessProbe | nindent 12 }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.volumeMounts }} + volumeMounts: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.volumes }} + volumes: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/smokeping/templates/hpa.yaml b/charts/smokeping/templates/hpa.yaml new file mode 100644 index 00000000..ddd0796a --- /dev/null +++ b/charts/smokeping/templates/hpa.yaml @@ -0,0 +1,32 @@ +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "smokeping.fullname" . }} + labels: + {{- include "smokeping.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "smokeping.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: + {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} +{{- end }} 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/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..e659a88c --- /dev/null +++ b/charts/smokeping/values.yaml @@ -0,0 +1,107 @@ +# Default values for smokeping. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: nginx + 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: true + # 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 + +livenessProbe: + httpGet: + path: / + port: http +readinessProbe: + httpGet: + path: / + port: http + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +# Additional volumes on the output Deployment definition. +volumes: [] +# - name: foo +# secret: +# secretName: mysecret +# optional: false + +# Additional volumeMounts on the output Deployment definition. +volumeMounts: [] +# - name: foo +# mountPath: "/etc/foo" +# readOnly: true + +nodeSelector: {} + +tolerations: [] + +affinity: {} From 42924b53650909c61f58a267bcfaad21780b9c58 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Fri, 13 Sep 2024 21:38:53 +0100 Subject: [PATCH 02/22] Drop hpa --- charts/smokeping/templates/deployment.yaml | 2 -- charts/smokeping/templates/hpa.yaml | 32 ---------------------- charts/smokeping/values.yaml | 7 ----- 3 files changed, 41 deletions(-) delete mode 100644 charts/smokeping/templates/hpa.yaml diff --git a/charts/smokeping/templates/deployment.yaml b/charts/smokeping/templates/deployment.yaml index 1a7db723..faa783fe 100644 --- a/charts/smokeping/templates/deployment.yaml +++ b/charts/smokeping/templates/deployment.yaml @@ -5,9 +5,7 @@ metadata: labels: {{- include "smokeping.labels" . | nindent 4 }} spec: - {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} - {{- end }} selector: matchLabels: {{- include "smokeping.selectorLabels" . | nindent 6 }} diff --git a/charts/smokeping/templates/hpa.yaml b/charts/smokeping/templates/hpa.yaml deleted file mode 100644 index ddd0796a..00000000 --- a/charts/smokeping/templates/hpa.yaml +++ /dev/null @@ -1,32 +0,0 @@ -{{- if .Values.autoscaling.enabled }} -apiVersion: autoscaling/v2 -kind: HorizontalPodAutoscaler -metadata: - name: {{ include "smokeping.fullname" . }} - labels: - {{- include "smokeping.labels" . | nindent 4 }} -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: {{ include "smokeping.fullname" . }} - minReplicas: {{ .Values.autoscaling.minReplicas }} - maxReplicas: {{ .Values.autoscaling.maxReplicas }} - metrics: - {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} - {{- end }} - {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} - - type: Resource - resource: - name: memory - target: - type: Utilization - averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} - {{- end }} -{{- end }} diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index e659a88c..fc98e93b 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -80,13 +80,6 @@ readinessProbe: path: / port: http -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - # Additional volumes on the output Deployment definition. volumes: [] # - name: foo From 0f795ca3af234e25ceff7b44897934af253155f5 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Fri, 13 Sep 2024 21:58:32 +0100 Subject: [PATCH 03/22] Start entering metadata --- charts/smokeping/Chart.yaml | 33 +++++++++++++-------------------- charts/smokeping/values.yaml | 2 +- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/charts/smokeping/Chart.yaml b/charts/smokeping/Chart.yaml index aa9beddd..b3071386 100644 --- a/charts/smokeping/Chart.yaml +++ b/charts/smokeping/Chart.yaml @@ -1,24 +1,17 @@ +--- apiVersion: v2 name: smokeping -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. +description: SmokePing is a latency logging and graphing and alerting system type: application - -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) version: 0.1.0 - -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.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/values.yaml b/charts/smokeping/values.yaml index fc98e93b..e4945c29 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -5,7 +5,7 @@ replicaCount: 1 image: - repository: nginx + repository: linuxserver/smokeping pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "" From 48980390794f743af6dbbef8ddd0556ca8618e63 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sun, 15 Sep 2024 20:46:00 +0100 Subject: [PATCH 04/22] Fix probe syntax --- charts/smokeping/values.yaml | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index e4945c29..4b7e446f 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -71,14 +71,20 @@ resources: {} # cpu: 100m # memory: 128Mi -livenessProbe: - httpGet: - path: / - port: http -readinessProbe: - httpGet: - path: / - port: http +# -- 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 # Additional volumes on the output Deployment definition. volumes: [] From fd6d9e4d3618f9f2603ff35385ebecd2524d9eea Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Tue, 24 Sep 2024 20:39:37 +0100 Subject: [PATCH 05/22] WIP generate smokeping config from values --- charts/smokeping/files/Alerts | 10 + charts/smokeping/files/Database | 15 + charts/smokeping/files/General | 16 ++ charts/smokeping/files/Presentation | 57 ++++ charts/smokeping/files/Probes | 21 ++ charts/smokeping/files/Slaves | 10 + charts/smokeping/files/Targets | 102 +++++++ charts/smokeping/files/smokeping_secrets | 3 + charts/smokeping/files/ssmtp.conf | 26 ++ charts/smokeping/templates/configmap.yaml | 287 ++++++++++++++++++++ charts/smokeping/templates/statefulset.yaml | 102 +++++++ charts/smokeping/values.yaml | 127 ++++++++- 12 files changed, 765 insertions(+), 11 deletions(-) create mode 100644 charts/smokeping/files/Alerts create mode 100644 charts/smokeping/files/Database create mode 100644 charts/smokeping/files/General create mode 100644 charts/smokeping/files/Presentation create mode 100644 charts/smokeping/files/Probes create mode 100644 charts/smokeping/files/Slaves create mode 100644 charts/smokeping/files/Targets create mode 100644 charts/smokeping/files/smokeping_secrets create mode 100644 charts/smokeping/files/ssmtp.conf create mode 100644 charts/smokeping/templates/configmap.yaml create mode 100644 charts/smokeping/templates/statefulset.yaml diff --git a/charts/smokeping/files/Alerts b/charts/smokeping/files/Alerts new file mode 100644 index 00000000..cbcfc41a --- /dev/null +++ b/charts/smokeping/files/Alerts @@ -0,0 +1,10 @@ +*** Alerts *** +to = alertee@address.somewhere +from = smokealert@company.xy + ++someloss +type = loss +# in percent +pattern = >0%,*12*,>0%,*12*,>0% +comment = loss 3 times in a row + diff --git a/charts/smokeping/files/Database b/charts/smokeping/files/Database new file mode 100644 index 00000000..0ca91f6f --- /dev/null +++ b/charts/smokeping/files/Database @@ -0,0 +1,15 @@ +*** Database *** + +step = 300 +pings = 20 + +# 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 + diff --git a/charts/smokeping/files/General b/charts/smokeping/files/General new file mode 100644 index 00000000..bf6c6025 --- /dev/null +++ b/charts/smokeping/files/General @@ -0,0 +1,16 @@ +*** General *** + +owner = LinuxServer.io +contact = admin@linuxserver.io +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 diff --git a/charts/smokeping/files/Presentation b/charts/smokeping/files/Presentation new file mode 100644 index 00000000..4ed9b4c0 --- /dev/null +++ b/charts/smokeping/files/Presentation @@ -0,0 +1,57 @@ +*** 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 + diff --git a/charts/smokeping/files/Probes b/charts/smokeping/files/Probes new file mode 100644 index 00000000..053b7a82 --- /dev/null +++ b/charts/smokeping/files/Probes @@ -0,0 +1,21 @@ +*** 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 diff --git a/charts/smokeping/files/Slaves b/charts/smokeping/files/Slaves new file mode 100644 index 00000000..be07d735 --- /dev/null +++ b/charts/smokeping/files/Slaves @@ -0,0 +1,10 @@ +*** Slaves *** +secrets=/etc/smokeping/smokeping_secrets +#+boomer +#display_name=boomer +#color=0000ff + +#+slave2 +#display_name=another +#color=00ff00 + diff --git a/charts/smokeping/files/Targets b/charts/smokeping/files/Targets new file mode 100644 index 00000000..c96f1683 --- /dev/null +++ b/charts/smokeping/files/Targets @@ -0,0 +1,102 @@ +*** 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. + ++ Internet + +menu = Internal Devices +title = Internal Devices + +++ Router +menu = Router +title = Router +host = modem.gazeley.lan + +++ TrueNAS +menu = TrueNAS +title = TrueNAS +host = nas.gazeley.lan + +++ RaspberryPi +menu = RaspberryPi +title = Raspberry Pi +host = rpi.gazeley.lan + +++ AP +menu = AP +title = AP +host = ap.gazeley.lan + +++ uk-west-1 +menu = uk-west-1 +title = uk-west-1 +host = uk-west-1-wifi.gazeley.lan + ++ VirginMedia +menu = Virgin Media +title = Virgin Media + +++ VirginMediaDNS1 +menu = cache1.service.virginmedia.net +title = cache1.service.virginmedia.net +host = 194.168.4.100 + +++ VirginMediaDNS2 +menu = cache2.service.virginmedia.net +title = cache2.service.virginmedia.net +host = 194.168.8.100 + ++ InternetSites + +menu = Internet Sites +title = Internet Sites + +++ GoogleSearch +menu = Google +title = google.com +host = google.com + +++ linuxserverio +menu = linuxserver.io +title = linuxserver.io +host = linuxserver.io + ++ DNSProbes +menu = DNS Probes +title = DNS Probes +probe = DNS + +++ GoogleDNS1 +menu = Google DNS 1 +title = Google DNS 8.8.8.8 +host = 8.8.8.8 + +++ GoogleDNS2 +menu = Google DNS 2 +title = Google DNS 8.8.4.4 +host = 8.8.4.4 + +++ CloudflareDNS1 +menu = Cloudflare DNS 1 +title = Cloudflare DNS 1.1.1.1 +host = 1.1.1.1 + +++ CloudflareDNS2 +menu = Cloudflare DNS 2 +title = Cloudflare DNS 1.0.0.1 +host = 1.0.0.1 + +++ VirginMediaDNS1 +menu = Virgin Media DNS 1 +title = Virgin Media DNS 194.168.4.100 +host = 194.168.4.100 + +++ VirginMediaDNS2 +menu = Virgin Media DNS 2 +title = Virgin Media DNS 194.168.8.100 +host = 194.168.8.100 diff --git a/charts/smokeping/files/smokeping_secrets b/charts/smokeping/files/smokeping_secrets new file mode 100644 index 00000000..6cf6a437 --- /dev/null +++ b/charts/smokeping/files/smokeping_secrets @@ -0,0 +1,3 @@ +host1:mysecret +host2:yoursecret +boomer:lkasdf93uhhfdfddf diff --git a/charts/smokeping/files/ssmtp.conf b/charts/smokeping/files/ssmtp.conf new file mode 100644 index 00000000..fee502e7 --- /dev/null +++ b/charts/smokeping/files/ssmtp.conf @@ -0,0 +1,26 @@ +# +# Config file for sSMTP sendmail +# +# 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= + +# 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/configmap.yaml b/charts/smokeping/templates/configmap.yaml new file mode 100644 index 00000000..87c373d8 --- /dev/null +++ b/charts/smokeping/templates/configmap.yaml @@ -0,0 +1,287 @@ +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 + + TargetsTemplate: |+ + *** 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 $key1, $target := .Values.smokeping.targets }} + + {{ $target.name }} + + menu = {{ $target.menu }} + title = {{ $target.title }} + + {{- range $key2, $host := $target.hosts }} + ++ {{ $host.name }} + menu = {{ $host.menu }} + title = {{ $host.title }} + host = {{ $host.host }} + + {{- end }} + + {{- end }} + + + 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. + + + Internet + + menu = Internal Devices + title = Internal Devices + + ++ Router + menu = Router + title = Router + host = modem.gazeley.lan + + ++ TrueNAS + menu = TrueNAS + title = TrueNAS + host = nas.gazeley.lan + + ++ RaspberryPi + menu = RaspberryPi + title = Raspberry Pi + host = rpi.gazeley.lan + + ++ AP + menu = AP + title = AP + host = ap.gazeley.lan + + ++ uk-west-1 + menu = uk-west-1 + title = uk-west-1 + host = uk-west-1-wifi.gazeley.lan + + + VirginMedia + menu = Virgin Media + title = Virgin Media + + ++ VirginMediaDNS1 + menu = cache1.service.virginmedia.net + title = cache1.service.virginmedia.net + host = 194.168.4.100 + + ++ VirginMediaDNS2 + menu = cache2.service.virginmedia.net + title = cache2.service.virginmedia.net + host = 194.168.8.100 + + + InternetSites + + menu = Internet Sites + title = Internet Sites + + ++ GoogleSearch + menu = Google + title = google.com + host = google.com + + ++ linuxserverio + menu = linuxserver.io + title = linuxserver.io + host = linuxserver.io + + + DNSProbes + menu = DNS Probes + title = DNS Probes + probe = DNS + + ++ GoogleDNS1 + menu = Google DNS 1 + title = Google DNS 8.8.8.8 + host = 8.8.8.8 + + ++ GoogleDNS2 + menu = Google DNS 2 + title = Google DNS 8.8.4.4 + host = 8.8.4.4 + + ++ CloudflareDNS1 + menu = Cloudflare DNS 1 + title = Cloudflare DNS 1.1.1.1 + host = 1.1.1.1 + + ++ CloudflareDNS2 + menu = Cloudflare DNS 2 + title = Cloudflare DNS 1.0.0.1 + host = 1.0.0.1 + + ++ VirginMediaDNS1 + menu = Virgin Media DNS 1 + title = Virgin Media DNS 194.168.4.100 + host = 194.168.4.100 + + ++ VirginMediaDNS2 + menu = Virgin Media DNS 2 + title = Virgin Media DNS 194.168.8.100 + host = 194.168.8.100 + ssmtp.conf: | + # + # Config file for sSMTP sendmail + # + # 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= + + # 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/statefulset.yaml b/charts/smokeping/templates/statefulset.yaml new file mode 100644 index 00000000..4d59ede6 --- /dev/null +++ b/charts/smokeping/templates/statefulset.yaml @@ -0,0 +1,102 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: {{ include "smokeping.fullname" . }} + labels: + {{- include "smokeping.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + 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: {} + 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: + {{- if .Values.persistence.enabled }} + - name: data + mountPath: {{ .Values.persistence.data.mountPath }} + - name: config + mountPath: {{ .Values.persistence.config.mountPath }} + {{- end }} + ports: + - name: http + containerPort: {{ .Values.service.port }} + protocol: TCP + {{- if .Values.probes.liveness.enabled }} + livenessProbe: + failureThreshold: {{ .Values.probes.liveness.failureThreshold }} + tcpSocket: + port: 25 + initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.liveness.periodSeconds }} + timeoutSeconds: {{ .Values.probes.liveness.timeoutSeconds }} + {{- end }} + {{- if .Values.probes.readiness.enabled }} + readinessProbe: + failureThreshold: {{ .Values.probes.readiness.failureThreshold }} + tcpSocket: + port: 25 + initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }} + periodSeconds: {{ .Values.probes.readiness.periodSeconds }} + timeoutSeconds: {{ .Values.probes.readiness.timeoutSeconds }} + {{- 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.data.accessMode }} + storageClassName: {{ .Values.persistence.data.storageClass }} + resources: + requests: + storage: {{ .Values.persistence.data.size }} + - metadata: + name: config + spec: + accessModes: + - {{ .Values.persistence.config.accessMode }} + storageClassName: {{ .Values.persistence.config.storageClass }} + resources: + requests: + storage: {{ .Values.persistence.config.size }} + {{- end }} diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index 4b7e446f..52a2d80f 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -2,6 +2,101 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +smokeping: + owner: LinuxServer.io + contact: admin@linuxserver.io + database: + step: 300 + pings: 20 + email: + to: alertee@address.somewhere + from: smokealert@company.xy + targets: + - name: Internet + menu: Internal Devices + title: Internal Devices + hosts: + - name: Router + menu: Router + title: Router + host: modem.gazeley.lan + - name: TrueNAS + menu: TrueNAS + title: TrueNAS + host: nas.gazeley.lan + - name: RaspberryPi + menu: RaspberryPi + title: Raspberry Pi + host: rpi.gazeley.lan + - name: AP + menu: AP + title: AP + host: ap.gazeley.lan + - name: uk-west-1 + menu: uk-west-1 + title: uk-west-1 + host: uk-west-1-wifi.gazeley.lan + - name: VirginMedia + menu: Virgin Media + title: Virgin Media + hosts: + - name: VirginMediaDNS1 + menu: cache1.service.virginmedia.net + title: cache1.service.virginmedia.net + host: 194.168.4.100 + - name: VirginMediaDNS2 + menu: cache2.service.virginmedia.net + title: cache2.service.virginmedia.net + host: 194.168.8.100 + - name: InternetSites + menu: Internet Sites + title: Internet Sites + hosts: + - name: GoogleSearch + menu: Google + title: google.com + host: google.com + - name: linuxserverio + menu: linuxserver.io + title: linuxserver.io + host: linuxserver.io + + - name: DNSProbes + menu: DNS Probes + title: DNS Probes + probe: DNS + hosts: + + - ++ GoogleDNS1 + menu = Google DNS 1 + title = Google DNS 8.8.8.8 + host = 8.8.8.8 + + - ++ GoogleDNS2 + menu = Google DNS 2 + title = Google DNS 8.8.4.4 + host = 8.8.4.4 + + - ++ CloudflareDNS1 + menu = Cloudflare DNS 1 + title = Cloudflare DNS 1.1.1.1 + host = 1.1.1.1 + + - ++ CloudflareDNS2 + menu = Cloudflare DNS 2 + title = Cloudflare DNS 1.0.0.1 + host = 1.0.0.1 + + - ++ VirginMediaDNS1 + menu = Virgin Media DNS 1 + title = Virgin Media DNS 194.168.4.100 + host = 194.168.4.100 + + - ++ VirginMediaDNS2 + menu = Virgin Media DNS 2 + title = Virgin Media DNS 194.168.8.100 + host = 194.168.8.100 + replicaCount: 1 image: @@ -87,17 +182,27 @@ probes: timeoutSeconds: 1 # Additional volumes on the output Deployment definition. -volumes: [] -# - name: foo -# secret: -# secretName: mysecret -# optional: false - -# Additional volumeMounts on the output Deployment definition. -volumeMounts: [] -# - name: foo -# mountPath: "/etc/foo" -# readOnly: true +volumes: + - name: foo + secret: + secretName: mysecret + optional: false + - name: data + persistentVolumeClaim: + claimName: + +persistence: + enabled: true + data: + storageClass: "" # leave empty if you want to use default + size: "5Gi" # We recommend to allocate a minimum of 1GB if you do not use attachments + mountPath: "/data/" + accessMode: ReadWriteOnce + config: + storageClass: "" # leave empty if you want to use default + size: "1Gi" # We recommend to allocate a minimum of 1GB if you do not use attachments + mountPath: "/config/" + accessMode: ReadWriteOnce nodeSelector: {} From 3bbd6ca496161c544414b64eefe74e4e19e901a8 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Wed, 25 Sep 2024 20:20:46 +0100 Subject: [PATCH 06/22] Generate Targets --- charts/smokeping/templates/configmap.yaml | 117 +--------------------- charts/smokeping/values.yaml | 54 +++++----- 2 files changed, 29 insertions(+), 142 deletions(-) diff --git a/charts/smokeping/templates/configmap.yaml b/charts/smokeping/templates/configmap.yaml index 87c373d8..f1e21d10 100644 --- a/charts/smokeping/templates/configmap.yaml +++ b/charts/smokeping/templates/configmap.yaml @@ -128,7 +128,7 @@ data: pings = 5 port = 80 - TargetsTemplate: |+ + Targets: |+ *** Targets *** probe = FPing @@ -138,126 +138,19 @@ data: remark = Welcome to the SmokePing website of WORKS Company. \ Here you will learn all about the latency of our network. - {{- range $key1, $target := .Values.smokeping.targets }} + {{- range $i, $target := .Values.smokeping.targets }} + {{ $target.name }} menu = {{ $target.menu }} title = {{ $target.title }} - {{- range $key2, $host := $target.hosts }} + {{- range $j, $host := $target.hosts }} ++ {{ $host.name }} menu = {{ $host.menu }} title = {{ $host.title }} host = {{ $host.host }} - - {{- end }} - - {{- end }} - - - 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. - - + Internet - - menu = Internal Devices - title = Internal Devices - - ++ Router - menu = Router - title = Router - host = modem.gazeley.lan - - ++ TrueNAS - menu = TrueNAS - title = TrueNAS - host = nas.gazeley.lan - - ++ RaspberryPi - menu = RaspberryPi - title = Raspberry Pi - host = rpi.gazeley.lan - - ++ AP - menu = AP - title = AP - host = ap.gazeley.lan - - ++ uk-west-1 - menu = uk-west-1 - title = uk-west-1 - host = uk-west-1-wifi.gazeley.lan - - + VirginMedia - menu = Virgin Media - title = Virgin Media - - ++ VirginMediaDNS1 - menu = cache1.service.virginmedia.net - title = cache1.service.virginmedia.net - host = 194.168.4.100 - - ++ VirginMediaDNS2 - menu = cache2.service.virginmedia.net - title = cache2.service.virginmedia.net - host = 194.168.8.100 - - + InternetSites - - menu = Internet Sites - title = Internet Sites - - ++ GoogleSearch - menu = Google - title = google.com - host = google.com - - ++ linuxserverio - menu = linuxserver.io - title = linuxserver.io - host = linuxserver.io - - + DNSProbes - menu = DNS Probes - title = DNS Probes - probe = DNS - - ++ GoogleDNS1 - menu = Google DNS 1 - title = Google DNS 8.8.8.8 - host = 8.8.8.8 - - ++ GoogleDNS2 - menu = Google DNS 2 - title = Google DNS 8.8.4.4 - host = 8.8.4.4 - - ++ CloudflareDNS1 - menu = Cloudflare DNS 1 - title = Cloudflare DNS 1.1.1.1 - host = 1.1.1.1 - - ++ CloudflareDNS2 - menu = Cloudflare DNS 2 - title = Cloudflare DNS 1.0.0.1 - host = 1.0.0.1 - - ++ VirginMediaDNS1 - menu = Virgin Media DNS 1 - title = Virgin Media DNS 194.168.4.100 - host = 194.168.4.100 - - ++ VirginMediaDNS2 - menu = Virgin Media DNS 2 - title = Virgin Media DNS 194.168.8.100 - host = 194.168.8.100 + {{ end }} + {{ end }} ssmtp.conf: | # # Config file for sSMTP sendmail diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index 52a2d80f..e1aa02e6 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -66,36 +66,30 @@ smokeping: title: DNS Probes probe: DNS hosts: - - - ++ GoogleDNS1 - menu = Google DNS 1 - title = Google DNS 8.8.8.8 - host = 8.8.8.8 - - - ++ GoogleDNS2 - menu = Google DNS 2 - title = Google DNS 8.8.4.4 - host = 8.8.4.4 - - - ++ CloudflareDNS1 - menu = Cloudflare DNS 1 - title = Cloudflare DNS 1.1.1.1 - host = 1.1.1.1 - - - ++ CloudflareDNS2 - menu = Cloudflare DNS 2 - title = Cloudflare DNS 1.0.0.1 - host = 1.0.0.1 - - - ++ VirginMediaDNS1 - menu = Virgin Media DNS 1 - title = Virgin Media DNS 194.168.4.100 - host = 194.168.4.100 - - - ++ VirginMediaDNS2 - menu = Virgin Media DNS 2 - title = Virgin Media DNS 194.168.8.100 - host = 194.168.8.100 + - 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 + - name: VirginMediaDNS1 + menu: Virgin Media DNS 1 + title: Virgin Media DNS 194.168.4.100 + host: 194.168.4.100 + - name: VirginMediaDNS2 + menu: Virgin Media DNS 2 + title: Virgin Media DNS 194.168.8.100 + host: 194.168.8.100 replicaCount: 1 From 18509f658533576c776f6d655096cd6fb797c0e5 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Wed, 25 Sep 2024 20:45:04 +0100 Subject: [PATCH 07/22] Mount configs from configmap --- charts/smokeping/templates/statefulset.yaml | 24 ++++++++------------- charts/smokeping/values.yaml | 24 ++++----------------- 2 files changed, 13 insertions(+), 35 deletions(-) diff --git a/charts/smokeping/templates/statefulset.yaml b/charts/smokeping/templates/statefulset.yaml index 4d59ede6..26b57d40 100644 --- a/charts/smokeping/templates/statefulset.yaml +++ b/charts/smokeping/templates/statefulset.yaml @@ -30,6 +30,9 @@ spec: emptyDir: {} - name: log emptyDir: {} + - name: config-volume + configMap: + name: config containers: - name: {{ .Chart.Name }} securityContext: @@ -37,11 +40,11 @@ spec: image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: + - name: config-volume + mountPath: /config {{- if .Values.persistence.enabled }} - name: data - mountPath: {{ .Values.persistence.data.mountPath }} - - name: config - mountPath: {{ .Values.persistence.config.mountPath }} + mountPath: {{ .Values.persistence.mountPath }} {{- end }} ports: - name: http @@ -85,18 +88,9 @@ spec: name: data spec: accessModes: - - {{ .Values.persistence.data.accessMode }} - storageClassName: {{ .Values.persistence.data.storageClass }} + - {{ .Values.persistence.accessMode }} + storageClassName: {{ .Values.persistence.storageClass }} resources: requests: - storage: {{ .Values.persistence.data.size }} - - metadata: - name: config - spec: - accessModes: - - {{ .Values.persistence.config.accessMode }} - storageClassName: {{ .Values.persistence.config.storageClass }} - resources: - requests: - storage: {{ .Values.persistence.config.size }} + storage: {{ .Values.persistence.size }} {{- end }} diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index e1aa02e6..e0e4f446 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -175,28 +175,12 @@ probes: periodSeconds: 10 timeoutSeconds: 1 -# Additional volumes on the output Deployment definition. -volumes: - - name: foo - secret: - secretName: mysecret - optional: false - - name: data - persistentVolumeClaim: - claimName: - persistence: enabled: true - data: - storageClass: "" # leave empty if you want to use default - size: "5Gi" # We recommend to allocate a minimum of 1GB if you do not use attachments - mountPath: "/data/" - accessMode: ReadWriteOnce - config: - storageClass: "" # leave empty if you want to use default - size: "1Gi" # We recommend to allocate a minimum of 1GB if you do not use attachments - mountPath: "/config/" - accessMode: ReadWriteOnce + storageClass: "" # leave empty if you want to use default + size: "5Gi" # We recommend to allocate a minimum of 1GB if you do not use attachments + mountPath: "/data/" + accessMode: ReadWriteOnce nodeSelector: {} From 1a2b9aadeba3d222a9b326082f7ea59391bdc188 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Fri, 27 Sep 2024 20:54:49 +0100 Subject: [PATCH 08/22] Lint fix --- charts/smokeping/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index e0e4f446..f9de6a85 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -85,7 +85,7 @@ smokeping: - name: VirginMediaDNS1 menu: Virgin Media DNS 1 title: Virgin Media DNS 194.168.4.100 - host: 194.168.4.100 + host: 194.168.4.100 - name: VirginMediaDNS2 menu: Virgin Media DNS 2 title: Virgin Media DNS 194.168.8.100 From b2139cb8134cc9ca8fa2bf77e8e8b6ea952687cb Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Fri, 27 Sep 2024 21:24:50 +0100 Subject: [PATCH 09/22] Don't need a deployment --- charts/smokeping/templates/deployment.yaml | 66 ---------------------- 1 file changed, 66 deletions(-) delete mode 100644 charts/smokeping/templates/deployment.yaml diff --git a/charts/smokeping/templates/deployment.yaml b/charts/smokeping/templates/deployment.yaml deleted file mode 100644 index faa783fe..00000000 --- a/charts/smokeping/templates/deployment.yaml +++ /dev/null @@ -1,66 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "smokeping.fullname" . }} - labels: - {{- include "smokeping.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "smokeping.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "smokeping.labels" . | nindent 8 }} - {{- with .Values.podLabels }} - {{- toYaml . | nindent 8 }} - {{- end }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - serviceAccountName: {{ include "smokeping.serviceAccountName" . }} - securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} - containers: - - name: {{ .Chart.Name }} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: {{ .Values.service.port }} - protocol: TCP - livenessProbe: - {{- toYaml .Values.livenessProbe | nindent 12 }} - readinessProbe: - {{- toYaml .Values.readinessProbe | nindent 12 }} - resources: - {{- toYaml .Values.resources | nindent 12 }} - {{- with .Values.volumeMounts }} - volumeMounts: - {{- toYaml . | nindent 12 }} - {{- end }} - {{- with .Values.volumes }} - volumes: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} From 8b85425a83a339c56e3ee86166cd9f9a0ba1b890 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Fri, 27 Sep 2024 21:43:46 +0100 Subject: [PATCH 10/22] Fix probes --- charts/smokeping/templates/statefulset.yaml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/charts/smokeping/templates/statefulset.yaml b/charts/smokeping/templates/statefulset.yaml index 26b57d40..8b73640f 100644 --- a/charts/smokeping/templates/statefulset.yaml +++ b/charts/smokeping/templates/statefulset.yaml @@ -52,21 +52,11 @@ spec: protocol: TCP {{- if .Values.probes.liveness.enabled }} livenessProbe: - failureThreshold: {{ .Values.probes.liveness.failureThreshold }} - tcpSocket: - port: 25 - initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.liveness.periodSeconds }} - timeoutSeconds: {{ .Values.probes.liveness.timeoutSeconds }} + {{- toYaml .Values.livenessProbe | nindent 12 }} {{- end }} {{- if .Values.probes.readiness.enabled }} readinessProbe: - failureThreshold: {{ .Values.probes.readiness.failureThreshold }} - tcpSocket: - port: 25 - initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }} - periodSeconds: {{ .Values.probes.readiness.periodSeconds }} - timeoutSeconds: {{ .Values.probes.readiness.timeoutSeconds }} + {{- toYaml .Values.readinessProbe | nindent 12 }} {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} From d65127db467620f60158610b64d1b8c135b504d1 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Fri, 27 Sep 2024 22:15:40 +0100 Subject: [PATCH 11/22] Mount individual files to keep /config rw --- charts/smokeping/templates/statefulset.yaml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/charts/smokeping/templates/statefulset.yaml b/charts/smokeping/templates/statefulset.yaml index 8b73640f..4e315f02 100644 --- a/charts/smokeping/templates/statefulset.yaml +++ b/charts/smokeping/templates/statefulset.yaml @@ -41,7 +41,26 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: config-volume - mountPath: /config + 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 }} From 81b90434577b4a3fd398b48eacd8a739d74f5ccd Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sat, 28 Sep 2024 21:06:01 +0100 Subject: [PATCH 12/22] Add email settings --- charts/smokeping/templates/configmap.yaml | 22 +++++++++++++--------- charts/smokeping/values.yaml | 12 ++++++++++++ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/charts/smokeping/templates/configmap.yaml b/charts/smokeping/templates/configmap.yaml index f1e21d10..ad4c8cdd 100644 --- a/charts/smokeping/templates/configmap.yaml +++ b/charts/smokeping/templates/configmap.yaml @@ -158,21 +158,25 @@ data: # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. - root= + 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=smtp.gmail.com:587 - AuthUser= - AuthPass= - UseSTARTTLS=yes - + 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= - + rewriteDomain={{ .Values.smokeping.email.rewriteDomain }} + {{- end }} + + {{- if .Values.smokeping.email.hostname }} # The full hostname - #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 diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index f9de6a85..622215c9 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -11,6 +11,18 @@ smokeping: 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 From 60e259c704cf3f7249ff8aee5ef65be942229ed0 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sat, 28 Sep 2024 21:09:32 +0100 Subject: [PATCH 13/22] Improve comments --- charts/smokeping/values.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index 622215c9..166796a0 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -6,7 +6,9 @@ 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 @@ -116,13 +118,13 @@ nameOverride: "" fullnameOverride: "" serviceAccount: - # Specifies whether a service account should be created + # -- Specifies whether a service account should be created create: true - # Automatically mount a ServiceAccount's API credentials? - automount: true - # Annotations to add to the service account + # -- 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. + # -- The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" @@ -189,8 +191,8 @@ probes: persistence: enabled: true - storageClass: "" # leave empty if you want to use default - size: "5Gi" # We recommend to allocate a minimum of 1GB if you do not use attachments + storageClass: "" + size: "5Gi" mountPath: "/data/" accessMode: ReadWriteOnce From 5b409eafebd7339e47a3b170c25fd1dba1dec082 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sat, 28 Sep 2024 21:12:13 +0100 Subject: [PATCH 14/22] Hard-code replicas at 1 --- charts/smokeping/templates/statefulset.yaml | 2 +- charts/smokeping/values.yaml | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/charts/smokeping/templates/statefulset.yaml b/charts/smokeping/templates/statefulset.yaml index 4e315f02..9b5e327a 100644 --- a/charts/smokeping/templates/statefulset.yaml +++ b/charts/smokeping/templates/statefulset.yaml @@ -5,7 +5,7 @@ metadata: labels: {{- include "smokeping.labels" . | nindent 4 }} spec: - replicas: {{ .Values.replicaCount }} + replicas: 1 selector: matchLabels: {{- include "smokeping.selectorLabels" . | nindent 6 }} diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index 166796a0..f3cf5ba8 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -105,8 +105,6 @@ smokeping: title: Virgin Media DNS 194.168.8.100 host: 194.168.8.100 -replicaCount: 1 - image: repository: linuxserver/smokeping pullPolicy: IfNotPresent From 5195350c9a34d31c71b624bf59a96a3b805c09cb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 28 Sep 2024 20:13:44 +0000 Subject: [PATCH 15/22] update Helm documentation --- charts/ecowitt-exporter/README.md | 2 +- charts/jellyfin/README.md | 4 +- charts/jellystat/README.md | 2 +- charts/smokeping/README.md | 144 ++++++++++++++++++++++++++++++ charts/wizarr/README.md | 2 +- 5 files changed, 149 insertions(+), 5 deletions(-) create mode 100644 charts/smokeping/README.md diff --git a/charts/ecowitt-exporter/README.md b/charts/ecowitt-exporter/README.md index acb99fe1..21c248c9 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.1](https://img.shields.io/badge/Version-0.6.1-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/README.md b/charts/jellyfin/README.md index 2f6be95b..94ba60cd 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.6](https://img.shields.io/badge/Version-3.1.6-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/README.md b/charts/jellystat/README.md index 811bb6a5..10773297 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.1](https://img.shields.io/badge/Version-0.1.1-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/smokeping/README.md b/charts/smokeping/README.md new file mode 100644 index 00000000..e0c0ff9d --- /dev/null +++ b/charts/smokeping/README.md @@ -0,0 +1,144 @@ +# 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 | `"modem.gazeley.lan"` | | +| 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].hosts[1].host | string | `"nas.gazeley.lan"` | | +| smokeping.targets[0].hosts[1].menu | string | `"TrueNAS"` | | +| smokeping.targets[0].hosts[1].name | string | `"TrueNAS"` | | +| smokeping.targets[0].hosts[1].title | string | `"TrueNAS"` | | +| smokeping.targets[0].hosts[2].host | string | `"rpi.gazeley.lan"` | | +| smokeping.targets[0].hosts[2].menu | string | `"RaspberryPi"` | | +| smokeping.targets[0].hosts[2].name | string | `"RaspberryPi"` | | +| smokeping.targets[0].hosts[2].title | string | `"Raspberry Pi"` | | +| smokeping.targets[0].hosts[3].host | string | `"ap.gazeley.lan"` | | +| smokeping.targets[0].hosts[3].menu | string | `"AP"` | | +| smokeping.targets[0].hosts[3].name | string | `"AP"` | | +| smokeping.targets[0].hosts[3].title | string | `"AP"` | | +| smokeping.targets[0].hosts[4].host | string | `"uk-west-1-wifi.gazeley.lan"` | | +| smokeping.targets[0].hosts[4].menu | string | `"uk-west-1"` | | +| smokeping.targets[0].hosts[4].name | string | `"uk-west-1"` | | +| smokeping.targets[0].hosts[4].title | string | `"uk-west-1"` | | +| 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 | `"194.168.4.100"` | | +| smokeping.targets[1].hosts[0].menu | string | `"cache1.service.virginmedia.net"` | | +| smokeping.targets[1].hosts[0].name | string | `"VirginMediaDNS1"` | | +| smokeping.targets[1].hosts[0].title | string | `"cache1.service.virginmedia.net"` | | +| smokeping.targets[1].hosts[1].host | string | `"194.168.8.100"` | | +| smokeping.targets[1].hosts[1].menu | string | `"cache2.service.virginmedia.net"` | | +| smokeping.targets[1].hosts[1].name | string | `"VirginMediaDNS2"` | | +| smokeping.targets[1].hosts[1].title | string | `"cache2.service.virginmedia.net"` | | +| smokeping.targets[1].menu | string | `"Virgin Media"` | | +| smokeping.targets[1].name | string | `"VirginMedia"` | | +| smokeping.targets[1].title | string | `"Virgin Media"` | | +| smokeping.targets[2].hosts[0].host | string | `"google.com"` | | +| smokeping.targets[2].hosts[0].menu | string | `"Google"` | | +| smokeping.targets[2].hosts[0].name | string | `"GoogleSearch"` | | +| smokeping.targets[2].hosts[0].title | string | `"google.com"` | | +| smokeping.targets[2].hosts[1].host | string | `"linuxserver.io"` | | +| smokeping.targets[2].hosts[1].menu | string | `"linuxserver.io"` | | +| smokeping.targets[2].hosts[1].name | string | `"linuxserverio"` | | +| smokeping.targets[2].hosts[1].title | string | `"linuxserver.io"` | | +| smokeping.targets[2].menu | string | `"Internet Sites"` | | +| smokeping.targets[2].name | string | `"InternetSites"` | | +| smokeping.targets[2].title | string | `"Internet Sites"` | | +| smokeping.targets[3].hosts[0].host | string | `"8.8.8.8"` | | +| smokeping.targets[3].hosts[0].menu | string | `"Google DNS 1"` | | +| smokeping.targets[3].hosts[0].name | string | `"GoogleDNS1"` | | +| smokeping.targets[3].hosts[0].title | string | `"Google DNS 8.8.8.8"` | | +| smokeping.targets[3].hosts[1].host | string | `"8.8.4.4"` | | +| smokeping.targets[3].hosts[1].menu | string | `"Google DNS 2"` | | +| smokeping.targets[3].hosts[1].name | string | `"GoogleDNS2"` | | +| smokeping.targets[3].hosts[1].title | string | `"Google DNS 8.8.4.4"` | | +| smokeping.targets[3].hosts[2].host | string | `"1.1.1.1"` | | +| smokeping.targets[3].hosts[2].menu | string | `"Cloudflare DNS 1"` | | +| smokeping.targets[3].hosts[2].name | string | `"CloudflareDNS1"` | | +| smokeping.targets[3].hosts[2].title | string | `"Cloudflare DNS 1.1.1.1"` | | +| smokeping.targets[3].hosts[3].host | string | `"1.0.0.1"` | | +| smokeping.targets[3].hosts[3].menu | string | `"Cloudflare DNS 2"` | | +| smokeping.targets[3].hosts[3].name | string | `"CloudflareDNS2"` | | +| smokeping.targets[3].hosts[3].title | string | `"Cloudflare DNS 1.0.0.1"` | | +| smokeping.targets[3].hosts[4].host | string | `"194.168.4.100"` | | +| smokeping.targets[3].hosts[4].menu | string | `"Virgin Media DNS 1"` | | +| smokeping.targets[3].hosts[4].name | string | `"VirginMediaDNS1"` | | +| smokeping.targets[3].hosts[4].title | string | `"Virgin Media DNS 194.168.4.100"` | | +| smokeping.targets[3].hosts[5].host | string | `"194.168.8.100"` | | +| smokeping.targets[3].hosts[5].menu | string | `"Virgin Media DNS 2"` | | +| smokeping.targets[3].hosts[5].name | string | `"VirginMediaDNS2"` | | +| smokeping.targets[3].hosts[5].title | string | `"Virgin Media DNS 194.168.8.100"` | | +| smokeping.targets[3].menu | string | `"DNS Probes"` | | +| smokeping.targets[3].name | string | `"DNSProbes"` | | +| smokeping.targets[3].probe | string | `"DNS"` | | +| smokeping.targets[3].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/wizarr/README.md b/charts/wizarr/README.md index 4730cfd4..954cba50 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.1](https://img.shields.io/badge/Version-0.1.1-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. From 40a92f58bf9c5107cf6c849d1439d335b6e10e01 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sat, 28 Sep 2024 21:18:21 +0100 Subject: [PATCH 16/22] Drop unneeded files --- charts/smokeping/files/Alerts | 10 --- charts/smokeping/files/Database | 15 ---- charts/smokeping/files/General | 16 ---- charts/smokeping/files/Presentation | 57 ------------- charts/smokeping/files/Probes | 21 ----- charts/smokeping/files/Slaves | 10 --- charts/smokeping/files/Targets | 102 ----------------------- charts/smokeping/files/smokeping_secrets | 3 - charts/smokeping/files/ssmtp.conf | 26 ------ 9 files changed, 260 deletions(-) delete mode 100644 charts/smokeping/files/Alerts delete mode 100644 charts/smokeping/files/Database delete mode 100644 charts/smokeping/files/General delete mode 100644 charts/smokeping/files/Presentation delete mode 100644 charts/smokeping/files/Probes delete mode 100644 charts/smokeping/files/Slaves delete mode 100644 charts/smokeping/files/Targets delete mode 100644 charts/smokeping/files/smokeping_secrets delete mode 100644 charts/smokeping/files/ssmtp.conf diff --git a/charts/smokeping/files/Alerts b/charts/smokeping/files/Alerts deleted file mode 100644 index cbcfc41a..00000000 --- a/charts/smokeping/files/Alerts +++ /dev/null @@ -1,10 +0,0 @@ -*** Alerts *** -to = alertee@address.somewhere -from = smokealert@company.xy - -+someloss -type = loss -# in percent -pattern = >0%,*12*,>0%,*12*,>0% -comment = loss 3 times in a row - diff --git a/charts/smokeping/files/Database b/charts/smokeping/files/Database deleted file mode 100644 index 0ca91f6f..00000000 --- a/charts/smokeping/files/Database +++ /dev/null @@ -1,15 +0,0 @@ -*** Database *** - -step = 300 -pings = 20 - -# 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 - diff --git a/charts/smokeping/files/General b/charts/smokeping/files/General deleted file mode 100644 index bf6c6025..00000000 --- a/charts/smokeping/files/General +++ /dev/null @@ -1,16 +0,0 @@ -*** General *** - -owner = LinuxServer.io -contact = admin@linuxserver.io -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 diff --git a/charts/smokeping/files/Presentation b/charts/smokeping/files/Presentation deleted file mode 100644 index 4ed9b4c0..00000000 --- a/charts/smokeping/files/Presentation +++ /dev/null @@ -1,57 +0,0 @@ -*** 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 - diff --git a/charts/smokeping/files/Probes b/charts/smokeping/files/Probes deleted file mode 100644 index 053b7a82..00000000 --- a/charts/smokeping/files/Probes +++ /dev/null @@ -1,21 +0,0 @@ -*** 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 diff --git a/charts/smokeping/files/Slaves b/charts/smokeping/files/Slaves deleted file mode 100644 index be07d735..00000000 --- a/charts/smokeping/files/Slaves +++ /dev/null @@ -1,10 +0,0 @@ -*** Slaves *** -secrets=/etc/smokeping/smokeping_secrets -#+boomer -#display_name=boomer -#color=0000ff - -#+slave2 -#display_name=another -#color=00ff00 - diff --git a/charts/smokeping/files/Targets b/charts/smokeping/files/Targets deleted file mode 100644 index c96f1683..00000000 --- a/charts/smokeping/files/Targets +++ /dev/null @@ -1,102 +0,0 @@ -*** 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. - -+ Internet - -menu = Internal Devices -title = Internal Devices - -++ Router -menu = Router -title = Router -host = modem.gazeley.lan - -++ TrueNAS -menu = TrueNAS -title = TrueNAS -host = nas.gazeley.lan - -++ RaspberryPi -menu = RaspberryPi -title = Raspberry Pi -host = rpi.gazeley.lan - -++ AP -menu = AP -title = AP -host = ap.gazeley.lan - -++ uk-west-1 -menu = uk-west-1 -title = uk-west-1 -host = uk-west-1-wifi.gazeley.lan - -+ VirginMedia -menu = Virgin Media -title = Virgin Media - -++ VirginMediaDNS1 -menu = cache1.service.virginmedia.net -title = cache1.service.virginmedia.net -host = 194.168.4.100 - -++ VirginMediaDNS2 -menu = cache2.service.virginmedia.net -title = cache2.service.virginmedia.net -host = 194.168.8.100 - -+ InternetSites - -menu = Internet Sites -title = Internet Sites - -++ GoogleSearch -menu = Google -title = google.com -host = google.com - -++ linuxserverio -menu = linuxserver.io -title = linuxserver.io -host = linuxserver.io - -+ DNSProbes -menu = DNS Probes -title = DNS Probes -probe = DNS - -++ GoogleDNS1 -menu = Google DNS 1 -title = Google DNS 8.8.8.8 -host = 8.8.8.8 - -++ GoogleDNS2 -menu = Google DNS 2 -title = Google DNS 8.8.4.4 -host = 8.8.4.4 - -++ CloudflareDNS1 -menu = Cloudflare DNS 1 -title = Cloudflare DNS 1.1.1.1 -host = 1.1.1.1 - -++ CloudflareDNS2 -menu = Cloudflare DNS 2 -title = Cloudflare DNS 1.0.0.1 -host = 1.0.0.1 - -++ VirginMediaDNS1 -menu = Virgin Media DNS 1 -title = Virgin Media DNS 194.168.4.100 -host = 194.168.4.100 - -++ VirginMediaDNS2 -menu = Virgin Media DNS 2 -title = Virgin Media DNS 194.168.8.100 -host = 194.168.8.100 diff --git a/charts/smokeping/files/smokeping_secrets b/charts/smokeping/files/smokeping_secrets deleted file mode 100644 index 6cf6a437..00000000 --- a/charts/smokeping/files/smokeping_secrets +++ /dev/null @@ -1,3 +0,0 @@ -host1:mysecret -host2:yoursecret -boomer:lkasdf93uhhfdfddf diff --git a/charts/smokeping/files/ssmtp.conf b/charts/smokeping/files/ssmtp.conf deleted file mode 100644 index fee502e7..00000000 --- a/charts/smokeping/files/ssmtp.conf +++ /dev/null @@ -1,26 +0,0 @@ -# -# Config file for sSMTP sendmail -# -# 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= - -# 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 From 290eff65209f76ce201b10fdd8b501ccfb24a4af Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sat, 28 Sep 2024 21:20:40 +0100 Subject: [PATCH 17/22] Drop some of the example hosts --- charts/smokeping/values.yaml | 43 +----------------------------------- 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index f3cf5ba8..0732737c 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -33,35 +33,7 @@ smokeping: - name: Router menu: Router title: Router - host: modem.gazeley.lan - - name: TrueNAS - menu: TrueNAS - title: TrueNAS - host: nas.gazeley.lan - - name: RaspberryPi - menu: RaspberryPi - title: Raspberry Pi - host: rpi.gazeley.lan - - name: AP - menu: AP - title: AP - host: ap.gazeley.lan - - name: uk-west-1 - menu: uk-west-1 - title: uk-west-1 - host: uk-west-1-wifi.gazeley.lan - - name: VirginMedia - menu: Virgin Media - title: Virgin Media - hosts: - - name: VirginMediaDNS1 - menu: cache1.service.virginmedia.net - title: cache1.service.virginmedia.net - host: 194.168.4.100 - - name: VirginMediaDNS2 - menu: cache2.service.virginmedia.net - title: cache2.service.virginmedia.net - host: 194.168.8.100 + host: 192.168.0.1 - name: InternetSites menu: Internet Sites title: Internet Sites @@ -70,11 +42,6 @@ smokeping: menu: Google title: google.com host: google.com - - name: linuxserverio - menu: linuxserver.io - title: linuxserver.io - host: linuxserver.io - - name: DNSProbes menu: DNS Probes title: DNS Probes @@ -96,14 +63,6 @@ smokeping: menu: Cloudflare DNS 2 title: Cloudflare DNS 1.0.0.1 host: 1.0.0.1 - - name: VirginMediaDNS1 - menu: Virgin Media DNS 1 - title: Virgin Media DNS 194.168.4.100 - host: 194.168.4.100 - - name: VirginMediaDNS2 - menu: Virgin Media DNS 2 - title: Virgin Media DNS 194.168.8.100 - host: 194.168.8.100 image: repository: linuxserver/smokeping From e628fdc0f39c41846abb67e0f1f91b5722155863 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 28 Sep 2024 20:20:58 +0000 Subject: [PATCH 18/22] update Helm documentation --- charts/smokeping/README.md | 95 +++++++++++--------------------------- 1 file changed, 28 insertions(+), 67 deletions(-) diff --git a/charts/smokeping/README.md b/charts/smokeping/README.md index e0c0ff9d..45f4175a 100644 --- a/charts/smokeping/README.md +++ b/charts/smokeping/README.md @@ -65,79 +65,40 @@ SmokePing is a latency logging and graphing and alerting system | 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 | `"modem.gazeley.lan"` | | +| 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].hosts[1].host | string | `"nas.gazeley.lan"` | | -| smokeping.targets[0].hosts[1].menu | string | `"TrueNAS"` | | -| smokeping.targets[0].hosts[1].name | string | `"TrueNAS"` | | -| smokeping.targets[0].hosts[1].title | string | `"TrueNAS"` | | -| smokeping.targets[0].hosts[2].host | string | `"rpi.gazeley.lan"` | | -| smokeping.targets[0].hosts[2].menu | string | `"RaspberryPi"` | | -| smokeping.targets[0].hosts[2].name | string | `"RaspberryPi"` | | -| smokeping.targets[0].hosts[2].title | string | `"Raspberry Pi"` | | -| smokeping.targets[0].hosts[3].host | string | `"ap.gazeley.lan"` | | -| smokeping.targets[0].hosts[3].menu | string | `"AP"` | | -| smokeping.targets[0].hosts[3].name | string | `"AP"` | | -| smokeping.targets[0].hosts[3].title | string | `"AP"` | | -| smokeping.targets[0].hosts[4].host | string | `"uk-west-1-wifi.gazeley.lan"` | | -| smokeping.targets[0].hosts[4].menu | string | `"uk-west-1"` | | -| smokeping.targets[0].hosts[4].name | string | `"uk-west-1"` | | -| smokeping.targets[0].hosts[4].title | string | `"uk-west-1"` | | | 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 | `"194.168.4.100"` | | -| smokeping.targets[1].hosts[0].menu | string | `"cache1.service.virginmedia.net"` | | -| smokeping.targets[1].hosts[0].name | string | `"VirginMediaDNS1"` | | -| smokeping.targets[1].hosts[0].title | string | `"cache1.service.virginmedia.net"` | | -| smokeping.targets[1].hosts[1].host | string | `"194.168.8.100"` | | -| smokeping.targets[1].hosts[1].menu | string | `"cache2.service.virginmedia.net"` | | -| smokeping.targets[1].hosts[1].name | string | `"VirginMediaDNS2"` | | -| smokeping.targets[1].hosts[1].title | string | `"cache2.service.virginmedia.net"` | | -| smokeping.targets[1].menu | string | `"Virgin Media"` | | -| smokeping.targets[1].name | string | `"VirginMedia"` | | -| smokeping.targets[1].title | string | `"Virgin Media"` | | -| smokeping.targets[2].hosts[0].host | string | `"google.com"` | | -| smokeping.targets[2].hosts[0].menu | string | `"Google"` | | -| smokeping.targets[2].hosts[0].name | string | `"GoogleSearch"` | | -| smokeping.targets[2].hosts[0].title | string | `"google.com"` | | -| smokeping.targets[2].hosts[1].host | string | `"linuxserver.io"` | | -| smokeping.targets[2].hosts[1].menu | string | `"linuxserver.io"` | | -| smokeping.targets[2].hosts[1].name | string | `"linuxserverio"` | | -| smokeping.targets[2].hosts[1].title | string | `"linuxserver.io"` | | -| smokeping.targets[2].menu | string | `"Internet Sites"` | | -| smokeping.targets[2].name | string | `"InternetSites"` | | -| smokeping.targets[2].title | string | `"Internet Sites"` | | -| smokeping.targets[3].hosts[0].host | string | `"8.8.8.8"` | | -| smokeping.targets[3].hosts[0].menu | string | `"Google DNS 1"` | | -| smokeping.targets[3].hosts[0].name | string | `"GoogleDNS1"` | | -| smokeping.targets[3].hosts[0].title | string | `"Google DNS 8.8.8.8"` | | -| smokeping.targets[3].hosts[1].host | string | `"8.8.4.4"` | | -| smokeping.targets[3].hosts[1].menu | string | `"Google DNS 2"` | | -| smokeping.targets[3].hosts[1].name | string | `"GoogleDNS2"` | | -| smokeping.targets[3].hosts[1].title | string | `"Google DNS 8.8.4.4"` | | -| smokeping.targets[3].hosts[2].host | string | `"1.1.1.1"` | | -| smokeping.targets[3].hosts[2].menu | string | `"Cloudflare DNS 1"` | | -| smokeping.targets[3].hosts[2].name | string | `"CloudflareDNS1"` | | -| smokeping.targets[3].hosts[2].title | string | `"Cloudflare DNS 1.1.1.1"` | | -| smokeping.targets[3].hosts[3].host | string | `"1.0.0.1"` | | -| smokeping.targets[3].hosts[3].menu | string | `"Cloudflare DNS 2"` | | -| smokeping.targets[3].hosts[3].name | string | `"CloudflareDNS2"` | | -| smokeping.targets[3].hosts[3].title | string | `"Cloudflare DNS 1.0.0.1"` | | -| smokeping.targets[3].hosts[4].host | string | `"194.168.4.100"` | | -| smokeping.targets[3].hosts[4].menu | string | `"Virgin Media DNS 1"` | | -| smokeping.targets[3].hosts[4].name | string | `"VirginMediaDNS1"` | | -| smokeping.targets[3].hosts[4].title | string | `"Virgin Media DNS 194.168.4.100"` | | -| smokeping.targets[3].hosts[5].host | string | `"194.168.8.100"` | | -| smokeping.targets[3].hosts[5].menu | string | `"Virgin Media DNS 2"` | | -| smokeping.targets[3].hosts[5].name | string | `"VirginMediaDNS2"` | | -| smokeping.targets[3].hosts[5].title | string | `"Virgin Media DNS 194.168.8.100"` | | -| smokeping.targets[3].menu | string | `"DNS Probes"` | | -| smokeping.targets[3].name | string | `"DNSProbes"` | | -| smokeping.targets[3].probe | string | `"DNS"` | | -| smokeping.targets[3].title | string | `"DNS Probes"` | | +| 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 | `[]` | | ---------------------------------------------- From b5484e76f401dda790719fce019fff564ce87a8a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 28 Sep 2024 20:46:18 +0000 Subject: [PATCH 19/22] update Helm documentation --- charts/navidrome/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/navidrome/README.md b/charts/navidrome/README.md index 06ecae2b..465596d3 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.12](https://img.shields.io/badge/Version-6.6.12-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 From cdb6e27fcb60be0c4237e780b9a3c13fad07a012 Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sat, 28 Sep 2024 21:51:12 +0100 Subject: [PATCH 20/22] Cast as string --- charts/smokeping/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/smokeping/values.yaml b/charts/smokeping/values.yaml index 0732737c..5ebbc23d 100644 --- a/charts/smokeping/values.yaml +++ b/charts/smokeping/values.yaml @@ -20,7 +20,7 @@ smokeping: mailhub: smtp.gmail.com:587 AuthUser: AuthPass: - UseSTARTTLS: yes + UseSTARTTLS: "yes" # -- Where will the mail seem to come from? rewriteDomain: # -- The full hostname From 333047af07cc76c346e73f7f615c326ba866e4fa Mon Sep 17 00:00:00 2001 From: Jonathan Gazeley Date: Sun, 29 Sep 2024 09:34:31 +0100 Subject: [PATCH 21/22] Bump all round --- charts/ecowitt-exporter/Chart.yaml | 2 +- charts/jellyfin/Chart.yaml | 2 +- charts/jellystat/Chart.yaml | 2 +- charts/navidrome/Chart.yaml | 2 +- charts/wizarr/Chart.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) 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/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/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/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/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 From 55c8d0a0518637acbd7c76da61d8fefeb07262b2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 29 Sep 2024 08:34:56 +0000 Subject: [PATCH 22/22] update Helm documentation --- charts/ecowitt-exporter/README.md | 2 +- charts/jellyfin/README.md | 2 +- charts/jellystat/README.md | 2 +- charts/navidrome/README.md | 2 +- charts/wizarr/README.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/charts/ecowitt-exporter/README.md b/charts/ecowitt-exporter/README.md index 21c248c9..0d8ba497 100644 --- a/charts/ecowitt-exporter/README.md +++ b/charts/ecowitt-exporter/README.md @@ -1,6 +1,6 @@ # ecowitt-exporter -![Version: 0.6.1](https://img.shields.io/badge/Version-0.6.1-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) +![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/README.md b/charts/jellyfin/README.md index 94ba60cd..a34cff03 100644 --- a/charts/jellyfin/README.md +++ b/charts/jellyfin/README.md @@ -18,7 +18,7 @@ ](LICENSE)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) - ![Version: 3.1.6](https://img.shields.io/badge/Version-3.1.6-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/README.md b/charts/jellystat/README.md index 10773297..ce69709e 100644 --- a/charts/jellystat/README.md +++ b/charts/jellystat/README.md @@ -1,6 +1,6 @@ # jellystat -![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-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/README.md b/charts/navidrome/README.md index 465596d3..93af98b4 100644 --- a/charts/navidrome/README.md +++ b/charts/navidrome/README.md @@ -1,6 +1,6 @@ # navidrome -![Version: 6.6.12](https://img.shields.io/badge/Version-6.6.12-informational?style=flat-square) ![AppVersion: 0.53.2](https://img.shields.io/badge/AppVersion-0.53.2-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/wizarr/README.md b/charts/wizarr/README.md index 954cba50..0c8fb3a1 100644 --- a/charts/wizarr/README.md +++ b/charts/wizarr/README.md @@ -1,6 +1,6 @@ # wizarr -![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-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.