chore(ci): chart-testing

This commit is contained in:
WrenIX 2024-01-13 01:18:16 +01:00
parent b82543a248
commit 0d2c9c0a44
Signed by: wrenix
GPG key ID: 7AFDB012974B1BB5
25 changed files with 149 additions and 120 deletions

View file

@ -4,6 +4,10 @@ description: Service for managing and receiving Alertmanager alerts on Matrix
type: application
version: 0.1.4
appVersion: "latest"
maintainers:
- name: WrenIX
url: https://wrenix.eu
keywords:
- matrix
- alertmanager

View file

@ -29,29 +29,29 @@ bot:
userID: "bot"
token: "SECRET_TOKEN"
rooms:
- "!not_existing:matrix.org"
- "!also_not_existing:matrix.org"
- "!not_existing:matrix.org"
- "!also_not_existing:matrix.org"
alertmanager: "http://localhost:9093"
showLabels: false
messageType: "m.notice"
icons:
alert: "🔔️"
alert: "🔔️"
information: ""
info: ""
warning: "⚠️"
critical: "🚨"
error: "🚨"
resolved: "✅"
silenced: "🔕"
info: ""
warning: "⚠️"
critical: "🚨"
error: "🚨"
resolved: "✅"
silenced: "🔕"
colors:
alert: "black"
alert: "black"
information: "blue"
info: "blue"
warning: "orange"
critical: "red"
error: "red"
resolved: "green"
silenced: "gray"
info: "blue"
warning: "orange"
critical: "red"
error: "red"
resolved: "green"
silenced: "gray"
# get from: https://gitlab.com/silkeh/alertmanager_matrix/-/blob/master/pkg/bot/formatting.go
template:
text: >

View file

@ -3,5 +3,7 @@ name: alertmanager-ntfy
description: Receiver for alertmanager to forward to ntfy.sh
type: application
version: 0.1.2
appVersion: "0.3.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,6 +1,8 @@
apiVersion: v2
name: authentik-application
type: application
version: 0.4.0
description: "A Chart to deploy a secret for the authentik blueprint-sidecar."
type: application
version: 0.4.0
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,4 +1,3 @@
blueprint:
groups:
- slug: "app: grafana-admin"

View file

@ -38,12 +38,12 @@ blueprint:
skipPathRegex: ""
cookieDomain: ""
ingress:
# -- deploy ingress on application domain for e.g. logout (WIP)
enabled: false
# -- domain of application (where outpost should be deployed)
domain:
# -- service backend to authentik
backend: authentik
# -- deploy ingress on application domain for e.g. logout (WIP)
enabled: false
# -- domain of application (where outpost should be deployed)
domain:
# -- service backend to authentik
backend: authentik
application:
# -- application name in menu
name: ""

View file

@ -1,8 +1,10 @@
apiVersion: v2
name: conduit
description: Conduit is a simple, fast and reliable chat server powered by Matrix.
icon: https://conduit.rs/conduit.svg
type: application
version: 0.2.1
appVersion: "0.6.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -32,7 +32,8 @@ conduit:
allowUnstableRoomVersions: true
trustedServers:
- "matrix.org"
maxRequestSize: "20000000" # in bytes, ~20 MB
# -- in bytes default 20 MB
maxRequestSize: "20000000"
# maxConcurrentRequests: 100
maxConcurrentRequests:
# log: "warn,rocket=off,_=off,sled=off"
@ -132,27 +133,25 @@ tolerations: []
affinity: {}
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
# Enable persistence using Persistent Volume Claims
# ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
persistence:
enabled: true
annotations: {}
## Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
# -- Persistent Volume Storage Class
# If defined, storageClassName: <storageClass>
# If set to "-", storageClassName: "", which disables dynamic provisioning
# If undefined (the default) or set to null, no storageClassName spec is
# set, choosing the default provisioner. (gp2 on AWS, standard on
# GKE, AWS & OpenStack)
storageClass:
## A manually managed Persistent Volume and Claim
## Requires persistence.enabled: true
## If defined, PVC must be created manually before volume will be bound
# existingClaim:
# -- A manually managed Persistent Volume and Claim
# Requires persistence.enabled: true
# If defined, PVC must be created manually before volume will be bound
existingClaim:
## Do not create an PVC, direct use hostPath in Pod
# hostPath:
# -- Do not create an PVC, direct use hostPath in Pod
hostPath:
accessMode: ReadWriteOnce
size: 1Gi

4
ct.yaml Normal file
View file

@ -0,0 +1,4 @@
target-branch: main
since: HEAD~2
chart-dirs:
- .

View file

@ -3,5 +3,7 @@ name: forgejo-runner
description: Deploy runner for an forgejo instance (default codeberg.org)
type: application
version: 0.1.4
appVersion: "3.2.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,8 +1,10 @@
apiVersion: v2
name: grampsweb
description: A Helm chart for gramps web
icon: https://raw.githubusercontent.com/gramps-project/Gramps.js/main/images/icon512.png
type: application
version: 0.1.1
appVersion: "23.11.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,8 +1,10 @@
apiVersion: v2
name: headscale-ui
description: A simple Headscale web UI for small-scale deployments.
icon: https://raw.githubusercontent.com/gurucomputing/headscale-ui/master/static/favicon.png
type: application
version: 0.1.1
appVersion: "2023.01.30-beta-1"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -5,6 +5,10 @@ icon: https://raw.githubusercontent.com/juanfont/headscale/56a7b1e34952c3e0306a1
type: application
version: 0.2.2
appVersion: "0.22.3"
maintainers:
- name: WrenIX
url: https://wrenix.eu
keywords:
- headscale
- tailscale

View file

@ -84,28 +84,26 @@ prometheus:
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
# Upload (/var/lib/headscale)
enabled: false
annotations: {}
## mobilizon data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
# -- data Persistent Volume Storage Class
# If defined, storageClassName: <storageClass>
# If set to "-", storageClassName: "", which disables dynamic provisioning
# If undefined (the default) or set to null, no storageClassName spec is
# set, choosing the default provisioner. (gp2 on AWS, standard on
# GKE, AWS & OpenStack)
storageClass:
## A manually managed Persistent Volume and Claim
## Requires persistence.enabled: true
## If defined, PVC must be created manually before volume will be bound
# existingClaim:
# -- A manually managed Persistent Volume and Claim
# Requires persistence.enabled: true
# If defined, PVC must be created manually before volume will be bound
existingClaim:
## Create a PV on Node with given hostPath
## storageClass has to be manual
# hostPath:
# -- Create a PV on Node with given hostPath
# storageClass has to be manual
hostPath:
accessMode: ReadWriteOnce
size: 1Gi

View file

@ -1,8 +1,10 @@
apiVersion: v2
name: hydrogen-web
description: A Helm Chart to install hydrogen-web (a nextgen Matrix Webclient)
icon: https://raw.githubusercontent.com/element-hq/hydrogen-web/master/src/platform/web/assets/icon.svg
type: application
version: 0.1.4
appVersion: "0.4.1"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,7 +1,10 @@
apiVersion: v2
name: jellyfin
description: The Free Software Media System
icon: https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/icon-transparent.svg
type: application
version: 0.1.4
appVersion: "10.8.13"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -1,11 +1,10 @@
apiVersion: v2
name: miniserve
description: A Helm chart for Kubernetes
icon: https://raw.githubusercontent.com/svenstaro/miniserve/master/data/logo.svg
type: application
version: 0.3.3
icon: https://raw.githubusercontent.com/svenstaro/miniserve/master/data/logo.svg
appVersion: "0.25.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu
appVersion: "0.25.0"

View file

@ -1,6 +1,9 @@
apiVersion: v2
name: monitoring
description: Deploy helper for probes and scrapeconfig of prometheus-operator
icon: https://prometheus.io/assets/favicons/android-chrome-192x192.png
type: application
version: 0.1.0
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -9,8 +9,8 @@ prometheus:
prometheus: "default"
scrapes:
- # -- name of scrape
name: nodes
# -- name of scrape
- name: nodes
# -- groups with targets
groups:
de:
@ -20,8 +20,8 @@ scrapes:
ie:
- "dub.ie.local:9100"
- "ork.ie.local:9100"
- # -- name of scrape
name: minio
# -- name of scrape
- name: minio
# -- metric path on scrape
metricsPath: /minio/v2/metrics/node
# -- schema on scrape
@ -43,16 +43,16 @@ scrapes:
# -- prober for each the following probes are created (multiside probes)
prober:
- # -- name of prober
name: "local"
# -- name of prober
- name: "local"
# -- spec of prober (like url, path, scheme ...)
spec:
url: "prometheus-blackbox-exporter:9115"
path: "/probe"
probes:
- # -- probe module (suffix with _ipv4 and ipv6 if enabled)
module: http_2xx
# -- probe module (suffix with _ipv4 and ipv6 if enabled)
- module: http_2xx
# -- name of probe
name: http
# -- setup one for ipv4 (see module and his suffix)
@ -67,8 +67,8 @@ probes:
- framapiaf.org
- framatube.org
- # -- probe module (suffix with _ipv4 and ipv6 if enabled)
module: http_2xx
# -- probe module (suffix with _ipv4 and ipv6 if enabled)
- module: http_2xx
# -- name of probe
name: http-ipv4
# -- setup one for ipv4 (see module and his suffix)

View file

@ -1,7 +1,10 @@
apiVersion: v2
name: ntfy
description: A Helm chart for Kubernetes
icon: https://github.com/binwiederhier/ntfy/raw/main/web/public/static/images/pwa-512x512.png
type: application
version: 0.1.6
appVersion: "2.8.0"
maintainers:
- name: WrenIX
url: https://wrenix.eu

View file

@ -5,16 +5,16 @@
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
{{- else if contains "NodePort" .Values.service.http.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "ntfy.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 }}
{{- else if contains "LoadBalancer" .Values.service.http.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "ntfy.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "ntfy.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
echo http://$SERVICE_IP:{{ .Values.service.http.port }}
{{- else if contains "ClusterIP" .Values.service.http.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "ntfy.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"

View file

@ -93,23 +93,22 @@ persistence:
# Upload (/var/www/html)
enabled: false
annotations: {}
## mobilizon data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
# -- data Persistent Volume Storage Class
# If defined, storageClassName: <storageClass>
# If set to "-", storageClassName: "", which disables dynamic provisioning
# If undefined (the default) or set to null, no storageClassName spec is
# set, choosing the default provisioner. (gp2 on AWS, standard on
# GKE, AWS & OpenStack)
storageClass:
## A manually managed Persistent Volume and Claim
## Requires persistence.enabled: true
## If defined, PVC must be created manually before volume will be bound
# existingClaim:
# -- A manually managed Persistent Volume and Claim
# Requires persistence.enabled: true
# If defined, PVC must be created manually before volume will be bound
existingClaim:
## Create a PV on Node with given hostPath
## storageClass has to be manual
# hostPath:
# -- Create a PV on Node with given hostPath
# storageClass has to be manual
hostPath:
accessMode: ReadWriteOnce
size: 1Gi

View file

@ -2,15 +2,14 @@
apiVersion: "v2"
name: "postgresql"
description: "A Helm chart for running PostgreSQL (Postgres) database"
icon: https://wiki.postgresql.org/images/a/a4/PostgreSQL_logo.3colors.svg
type: "application"
version: "0.1.3"
appVersion: "16.1-alpine3.18"
icon: https://wiki.postgresql.org/images/a/a4/PostgreSQL_logo.3colors.svg
maintainers:
- name: WrenIX
url: https://wrenix.eu
keywords:
- "postgresql"
- "postgres"

View file

@ -21,6 +21,7 @@ for p in * ; do
[ $p == "jellyfin" ] || \
[ $p == "monitoring" ] || \
[ $p == "ntfy" ] || \
[ $p == "postgresql" ] || \
[ ! -d $p ] || \
[ ! -f $p/Chart.yaml ] \
; then