diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6a7615f..430b37d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,4 +8,5 @@ repos: - id: end-of-file-fixer exclude: README.md$ - id: check-yaml + exclude: all.yaml - id: check-added-large-files diff --git a/charts/gotify/Chart.lock b/charts/gotify/Chart.lock new file mode 100644 index 0000000..de27666 --- /dev/null +++ b/charts/gotify/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: lib + repository: oci://repo.rre.nu/helm + version: 1.0.2 +digest: sha256:fa5e2c6ef2a6f75b236acf60aef5748958d89e03f6f8c6da4b396dee46731401 +generated: "2024-10-22T16:16:46.133911179+02:00" diff --git a/charts/gotify/README.md b/charts/gotify/README.md new file mode 100644 index 0000000..f115b30 --- /dev/null +++ b/charts/gotify/README.md @@ -0,0 +1,62 @@ + +Gotify +=========== + +Gotify · a simple server for sending and receiving messages + + +## Configuration + +The following table lists the configurable parameters of the Gotify chart and their default values. + +| Parameter | Description | Default | +| ------------------------ | ----------------------- | -------------- | +| `image.repository` | | `"ghcr.io/gotify/server"` | +| `gotify.server.keepaliveperiodseconds` | 0 = use Go default (15s); -1 = disable keepalive; set the interval in which keepalive packets will be sent. Only change this value if you know what you are doing. | `0` | +| `gotify.server.listenaddr` | the address to bind on, leave empty to bind on all addresses. Prefix with "unix:" to create a unix socket. Example: "unix:/tmp/gotify.sock". | `""` | +| `gotify.server.port` | the port the HTTP server will listen on | `80` | +| `gotify.server.ssl.enabled` | if https should be enabled | `false` | +| `gotify.server.ssl.redirecttohttps` | redirect to https if site is accessed by http | `true` | +| `gotify.server.ssl.listenaddr` | the address to bind on, leave empty to bind on all addresses. Prefix with "unix:" to create a unix socket. Example: "unix:/tmp/gotify.sock". | `""` | +| `gotify.server.ssl.port` | the https port | `443` | +| `gotify.server.ssl.certfile` | the cert file (leave empty when using letsencrypt) | `null` | +| `gotify.server.ssl.certkey` | the cert key (leave empty when using letsencrypt) | `null` | +| `gotify.server.ssl.letsencrypt.enabled` | if the certificate should be requested from letsencrypt | `false` | +| `gotify.server.ssl.letsencrypt.accepttos` | if you accept the tos from letsencrypt | `false` | +| `gotify.server.ssl.letsencrypt.cache` | the directory of the cache from letsencrypt | `"data/certs"` | +| `gotify.server.ssl.letsencrypt.hosts` | the hosts for which letsencrypt should request certificates | `null` | +| `gotify.server.responseheaders` | response headers are added to every response (default: none) | `null` | +| `gotify.server.trustedproxies` | IPs or IP ranges of trusted proxies. Used to obtain the remote ip via the X-Forwarded-For header. (configure 127.0.0.1 to trust sockets) | `null` | +| `gotify.server.cors.alloworigins` | | `null` | +| `gotify.server.cors.allowmethods` | | `null` | +| `gotify.server.cors.allowheaders` | | `null` | +| `gotify.server.stream.pingperiodseconds` | the interval in which websocket pings will be sent. Only change this value if you know what you are doing. | `45` | +| `gotify.server.stream.allowedorigins` | allowed origins for websocket connections (same origin is always allowed, default only same origin) | `null` | +| `gotify.database.dialect` | | `"sqlite3"` | +| `gotify.database.connection` | | `"data/gotify.db"` | +| `gotify.defaultuser.name` | the username of the default user | `"admin"` | +| `gotify.defaultuser.pass` | the password of the default user | `"admin"` | +| `gotify.passstrength` | the bcrypt password strength (higher = better but also slower) | `10` | +| `gotify.uploadedimagesdir` | the directory for storing uploaded images | `"data/images"` | +| `gotify.pluginsdir` | the directory where plugin resides (leave empty to disable plugins) | `"data/plugins"` | +| `gotify.registration` | enable registrations | `false` | +| `service.main.enabled` | | `true` | +| `service.main.type` | | `"ClusterIP"` | +| `service.main.annotations` | | `{}` | +| `service.main.labels` | | `{}` | +| `service.main.ports.http.port` | | `80` | +| `ingress.enabled` | | `false` | +| `ingress.service` | what service should the ingress target | `"http"` | +| `ingress.servicePort` | | `80` | +| `ingress.className` | | `""` | +| `ingress.annotations` | | `{}` | +| `ingress.hosts` | | `[{"host": "chart-example.local", "paths": [{"path": "/", "pathType": "ImplementationSpecific"}]}]` | +| `livenessProbe.httpGet.path` | | `"/"` | +| `livenessProbe.httpGet.port` | | `"http"` | +| `readinessProbe.httpGet.path` | | `"/"` | +| `readinessProbe.httpGet.port` | | `"http"` | + + + + + diff --git a/charts/gotify/charts/lib-1.0.2.tgz b/charts/gotify/charts/lib-1.0.2.tgz new file mode 100644 index 0000000..3282ab2 Binary files /dev/null and b/charts/gotify/charts/lib-1.0.2.tgz differ diff --git a/charts/gotify/templates/config.tpl b/charts/gotify/templates/config.tpl new file mode 100644 index 0000000..dd12efb --- /dev/null +++ b/charts/gotify/templates/config.tpl @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Secret +metadata: + name: gotify-config + namespace: {{ .Values.namespace | default "default" }} + labels: + {{- include "lib.labels" . | nindent 4}} +type: Opauge +data: + config.yml: {{ toYaml .Values.gotify | b64enc }} diff --git a/charts/node-red/.gitignore b/charts/node-red/.gitignore new file mode 100644 index 0000000..92a43e0 --- /dev/null +++ b/charts/node-red/.gitignore @@ -0,0 +1,37 @@ +# General files for the project +pkg/* +*.pyc +bin/* +.project +/.bin +/_test/secrets/*.json + +# OSX leaves these everywhere on SMB shares +._* + +# OSX trash +.DS_Store + +# Files generated by JetBrains IDEs, e.g. IntelliJ IDEA +.idea/ +*.iml + +# Vscode files +.vscode + +# Emacs save files +*~ +\#*\# +.\#* + +# Vim-related files +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist + +# Chart dependencies +**/charts/*.tgz + +.history diff --git a/charts/node-red/Chart.lock b/charts/node-red/Chart.lock new file mode 100644 index 0000000..c7dbb1e --- /dev/null +++ b/charts/node-red/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: lib + repository: oci://repo.rre.nu/helm + version: 1.0.0 +digest: sha256:96ab24bff7a4495ae492e87667724f179a244b08c648bf9405804c37e4a01364 +generated: "2024-10-18T15:37:35.457950145+02:00" diff --git a/charts/node-red/Chart.yaml b/charts/node-red/Chart.yaml new file mode 100644 index 0000000..fd02a6b --- /dev/null +++ b/charts/node-red/Chart.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: v2 +name: node-red +version: 1.0.0 +description: Node-RED is a flow-based programming tool, originally developed by IBM’s Emerging Technology Services team and now a part of the OpenJS Foundation. +type: application +appVersion: 4.0.5-22-minimal +kubeVersion: ">=1.27.0" +sources: + - https://git.rre.nu/jonas/common-helm-lib + - https://git.rre.nu/jonas/helm-charts +maintainers: + - name: Jonas Forsberg + email: barregargamel@gmail.com +dependencies: + - name: lib + repository: oci://repo.rre.nu/helm + version: 1.0.0 diff --git a/charts/node-red/node-red-1.0.0.tgz b/charts/node-red/node-red-1.0.0.tgz new file mode 100644 index 0000000..2d1b4a1 Binary files /dev/null and b/charts/node-red/node-red-1.0.0.tgz differ diff --git a/charts/node-red/templates/NOTES.txt b/charts/node-red/templates/NOTES.txt new file mode 100644 index 0000000..cc14d9e --- /dev/null +++ b/charts/node-red/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "lib.defaultNotes" . -}} diff --git a/charts/node-red/templates/all.yaml b/charts/node-red/templates/all.yaml new file mode 100644 index 0000000..30c9b59 --- /dev/null +++ b/charts/node-red/templates/all.yaml @@ -0,0 +1 @@ +{{ include "lib.all" . }} diff --git a/charts/node-red/values.yaml b/charts/node-red/values.yaml new file mode 100644 index 0000000..c6a8d9c --- /dev/null +++ b/charts/node-red/values.yaml @@ -0,0 +1,74 @@ +secrets: + config: + env: true + enabled: false + data: + secret: dGVzdAo= + blabla: dGVzdAo= + stringData: + USERNAME: foo + PASSWORD: bar + file: + stringData: + game.conf: "this is a long file" + +configs: + mariadb: + enabled: false + env: true + data: + ABC: 123 + file: + data: + file.txt: | + this is a multi line + file that should be mounted + + +enva: + - name: TESTING + value: "kasll" + + +namespace: kallekalas +controller: + enabled: true + type: statefulset +image: + repository: docker.io/nodered/node-red + pullPolicy: + # Overrides the image tag whose default is the chart appVersion. + tag: "" + +service: + main: + enabled: false + type: ClusterIP + ports: + http: + port: 80 + targetPort: 1880 + protocol: HTTP +ingress: + enabled: false + className: "" + service: main + 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 + +volumeClaimTemplates: + - name: www + mountPath: /var/www/html + accessMode: "ReadWriteOnce" + storageClassName: "local-path" + size: 1Gi diff --git a/charts/unifi/Chart.lock b/charts/unifi/Chart.lock new file mode 100644 index 0000000..f64bf51 --- /dev/null +++ b/charts/unifi/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: lib + repository: file://../../../lib/ + version: 1.0.0 +digest: sha256:63e7ca30622b531017b921e041bc25280c0d53712af37f6e36aaa19f5a5a8f15 +generated: "2024-10-12T11:11:31.627097149+02:00" diff --git a/charts/unifi/Chart.yaml b/charts/unifi/Chart.yaml new file mode 100644 index 0000000..93cf778 --- /dev/null +++ b/charts/unifi/Chart.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: v2 +name: unifi +version: 1.0.0 +description: The Unifi-network-application software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance. +type: application +appVersion: v8.5.6 +kubeVersion: ">=1.27.0" +maintainers: + - name: Jonas Forsberg + email: barregargamel@gmail.com +dependencies: + - name: lib + repository: "file://../../../lib/" + version: 1.0.0 diff --git a/charts/unifi/charts/lib-1.0.0.tgz b/charts/unifi/charts/lib-1.0.0.tgz new file mode 100644 index 0000000..fac81bb Binary files /dev/null and b/charts/unifi/charts/lib-1.0.0.tgz differ diff --git a/charts/unifi/templates/NOTES.txt b/charts/unifi/templates/NOTES.txt new file mode 100644 index 0000000..cc14d9e --- /dev/null +++ b/charts/unifi/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "lib.defaultNotes" . -}} diff --git a/charts/unifi/templates/all.yaml b/charts/unifi/templates/all.yaml new file mode 100644 index 0000000..30c9b59 --- /dev/null +++ b/charts/unifi/templates/all.yaml @@ -0,0 +1 @@ +{{ include "lib.all" . }} diff --git a/charts/unifi/values.yaml b/charts/unifi/values.yaml new file mode 100644 index 0000000..8bd8a91 --- /dev/null +++ b/charts/unifi/values.yaml @@ -0,0 +1,33 @@ +lib: + + service: + tcp: + enabled: true + type: ClusterIP + ports: + https: + port: 8443 + protocol: TCP + targetPort: 8443 + http_redirect: + port: 8880 + protocol: TCP + https_redirect: + port: 8843 + protocol: TCP + speed_test: + port: 6789 + protocol: TCP + udp: + enabled: true + type: ClusterIP + ports: + stun: + port: 3478 + protocol: UDP + device_discovery: + port: 10001 + protocol: UDP + local_discovery: + port: 1900 + protocol: UDP