Compare commits

...

28 Commits

Author SHA1 Message Date
77dd85362e update dependency chart 2024-12-30 17:04:09 -06:00
d5bb83bf84 add description of values 2024-12-30 17:03:45 -06:00
11d3dd927b update dependency chart 2024-12-30 17:00:37 -06:00
1b67b5cbb6 add description of values 2024-12-30 16:59:49 -06:00
56fe199fb9 add precommit hooks 2024-12-30 16:55:01 -06:00
8ec7f590b2 upgrade base image to 17 2024-12-24 21:08:05 -06:00
d2444fb544 set switch for superuser 2024-12-22 17:29:30 -06:00
202a534e8e fix missing field 2024-12-21 23:48:11 -06:00
c36e4e371f reorganize values 2024-12-21 23:40:21 -06:00
1ac9444bb2 fix condition flow 2024-12-21 23:29:50 -06:00
275fcd8568 use cluster values 2024-12-21 23:26:40 -06:00
158d4ca676 change method 2024-12-21 23:22:34 -06:00
32e232d8e2 force hardcoded value for testing 2024-12-21 23:08:17 -06:00
93d2f916fb use value for name 2024-12-21 22:53:59 -06:00
b1a6a2fd39 remove condition 2024-12-21 22:46:17 -06:00
d3307d4f70 use different function 2024-12-21 22:39:52 -06:00
1b7018d3bd fix database naming 2024-12-21 22:31:00 -06:00
b75721ae1d add option to specifiy database name for replica 2024-12-21 22:20:09 -06:00
renovate[bot]
e0e4f6ee8a Update renovate/renovate Docker tag to v39 (#71)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-21 19:55:23 -06:00
renovate[bot]
7dd80d4528 Migrate config .github/renovate.json (#72)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-21 19:55:16 -06:00
24af841f19 update workflows 2024-12-21 18:11:39 -06:00
16211d4c62 remove schedule 2024-12-21 18:11:29 -06:00
513c46c957 change to midnight daily 2024-12-20 19:33:25 -06:00
3fad4e4ff0 update image 2024-12-20 19:25:40 -06:00
1f867e0276 update image 2024-12-20 19:25:03 -06:00
601790ab7a change backup schedule 2024-12-19 14:50:00 -06:00
16ebdda6a4 update image 2024-12-19 13:59:37 -06:00
dbf8f14512 update image 2024-12-19 13:58:37 -06:00
18 changed files with 220 additions and 57 deletions

View File

@@ -1,2 +1,2 @@
# This file is processed by Renovate bot so that it creates a PR on new major Renovate versions
FROM renovate/renovate:38
FROM renovate/renovate:39

View File

@@ -6,14 +6,11 @@
":rebaseStalePrs"
],
"timezone": "US/Central",
"schedule": [
"every weekday"
],
"labels": [],
"packageRules": [
{
"description": "Disables for non major Renovate version",
"matchPaths": [
"matchFileNames": [
".github/renovate-update-notification/Dockerfile"
],
"matchUpdateTypes": [
@@ -27,7 +24,7 @@
},
{
"description": "Generate for major Renovate version",
"matchPaths": [
"matchFileNames": [
".github/renovate-update-notification/Dockerfile"
],
"matchUpdateTypes": [

View File

@@ -14,11 +14,11 @@ jobs:
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: v3.13.3
version: latest
- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.13"
check-latest: true
- name: Set up chart-testing

2
.gitignore vendored
View File

@@ -9,4 +9,4 @@ charts/**/charts/
__snapshot__/
# Docs
_site/
_site/

19
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,19 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-added-large-files
- id: check-yaml
exclude: 'charts/'
args:
- --multi
- repo: https://github.com/norwoodj/helm-docs
rev: v1.14.2
hooks:
- id: helm-docs
args:
- --chart-search-root=charts
- --template-files=./_templates.gotmpl
- --template-files=README.md.gotmpl

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: cloudflared
version: 1.10.0
version: 1.12.3
description: Cloudflared Tunnel
keywords:
- cloudflare
@@ -13,6 +13,6 @@ maintainers:
dependencies:
- name: common
repository: https://bjw-s.github.io/helm-charts/
version: 3.5.1
version: 3.6.0
icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4
appVersion: "2024.11.1"
appVersion: "2024.12.2"

View File

@@ -1,16 +1,35 @@
## Introduction
# cloudflared
[Cloudflared](https://github.com/cloudflare/cloudflared)
![Version: 1.12.3](https://img.shields.io/badge/Version-1.12.3-informational?style=flat-square) ![AppVersion: 2024.12.2](https://img.shields.io/badge/AppVersion-2024.12.2-informational?style=flat-square)
Contains the command-line client for Cloudflare Tunnel, a tunneling daemon that proxies traffic from the Cloudflare network to your origins.
Cloudflared Tunnel
This chart bootstraps a [Cloudflared](https://github.com/cloudflare/cloudflared) tunnel on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Maintainers
## Prerequisites
| Name | Email | Url |
| ---- | ------ | --- |
| alexlebens | | |
- Kubernetes
- Helm
## Source Code
## Parameters
* <https://github.com/cloudflare/cloudflared>
* <https://github.com/bjw-s/helm-charts/tree/main/charts/library/common>
See the [values files](values.yaml).
## Requirements
| Repository | Name | Version |
|------------|------|---------|
| https://bjw-s.github.io/helm-charts/ | common | 3.6.0 |
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| existingSecretKey | string | `"cf-tunnel-token"` | Name of key that contains the token in the existingSecret |
| existingSecretName | string | `"cloudflared-secret"` | Name of existing secret that contains Cloudflare token |
| image | object | `{"pullPolicy":"IfNotPresent","repository":"cloudflare/cloudflared","tag":"2024.12.2"}` | Default image |
| name | string | `"cloudflared"` | Name override of release |
| resources | object | `{"requests":{"cpu":"100m","memory":"128Mi"}}` | Default resources |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@@ -4,7 +4,7 @@
{{ if not .Values.global.nameOverride }}
global:
nameOverride: {{ .Values.name }}
{{ end }}
{{ end }}
controllers:
main:
type: deployment
@@ -38,4 +38,4 @@ controllers:
{{- $_ := mergeOverwrite .Values (include "cloudflared.hardcodedValues" . | fromYaml) -}}
{{/* Render the templates */}}
{{ include "bjw-s.common.loader.generate" . }}
{{ include "bjw-s.common.loader.generate" . }}

View File

@@ -1,10 +1,19 @@
# -- Name override of release
name: cloudflared
# -- Name of existing secret that contains Cloudflare token
existingSecretName: cloudflared-secret
# -- Name of key that contains the token in the existingSecret
existingSecretKey: cf-tunnel-token
# -- Default image
image:
repository: cloudflare/cloudflared
tag: "2024.11.1"
tag: "2024.12.2"
pullPolicy: IfNotPresent
# -- Default resources
resources:
requests:
cpu: 100m

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: generic-device-plugin
version: 0.1.2
version: 0.1.5
description: Generic Device Plugin
keywords:
- generic-device-plugin
@@ -14,5 +14,5 @@ maintainers:
dependencies:
- name: common
repository: https://bjw-s.github.io/helm-charts/
version: 3.5.1
appVersion: 0.1.2
version: 3.6.0
appVersion: 0.1.5

View File

@@ -1,16 +1,37 @@
## Introduction
# generic-device-plugin
[Generic Device Plugin](https://github.com/squat/generic-device-plugin)
![Version: 0.1.5](https://img.shields.io/badge/Version-0.1.5-informational?style=flat-square) ![AppVersion: 0.1.5](https://img.shields.io/badge/AppVersion-0.1.5-informational?style=flat-square)
The generic-device-plugin enables allocating generic Linux devices, such as serial devices, the FUSE device, or video cameras, to Kubernetes Pods.
Generic Device Plugin
This chart bootstraps a [Generic Device Plugin](https://github.com/squat/generic-device-plugin) daemonset on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Maintainers
## Prerequisites
| Name | Email | Url |
| ---- | ------ | --- |
| alexlebens | | |
- Kubernetes
- Helm
## Source Code
## Parameters
* <https://github.com/squat/generic-device-plugin>
* <https://github.com/bjw-s/helm-charts/tree/main/charts/library/common>
See the [values files](values.yaml).
## Requirements
| Repository | Name | Version |
|------------|------|---------|
| https://bjw-s.github.io/helm-charts/ | common | 3.6.0 |
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config | object | `{"data":"devices:\n - name: serial\n groups:\n - paths:\n - path: /dev/ttyUSB*\n - paths:\n - path: /dev/ttyACM*\n - paths:\n - path: /dev/tty.usb*\n - paths:\n - path: /dev/cu.*\n - paths:\n - path: /dev/cuaU*\n - paths:\n - path: /dev/rfcomm*\n - name: video\n groups:\n - paths:\n - path: /dev/video0\n - name: fuse\n groups:\n - count: 10\n paths:\n - path: /dev/fuse\n - name: audio\n groups:\n - count: 10\n paths:\n - path: /dev/snd\n - name: capture\n groups:\n - paths:\n - path: /dev/snd/controlC0\n - path: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC1\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC1D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC2\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC2D0c\n mountPath: /dev/snd/pcmC0D0c\n - paths:\n - path: /dev/snd/controlC3\n mountPath: /dev/snd/controlC0\n - path: /dev/snd/pcmC3D0c\n mountPath: /dev/snd/pcmC0D0c\n","enabled":true}` | Config map |
| config.data | string | See [values.yaml](./values.yaml) | generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage) |
| deviceDomain | string | `"squat.ai"` | Domain used by devices for identifcation |
| image | object | `{"pullPolicy":"Always","repository":"ghcr.io/squat/generic-device-plugin","tag":"latest"}` | Default image |
| name | string | `"generic-device-plugin"` | Name override of release |
| resources | object | `{"limit":{"cpu":"100m","memory":"20Mi"},"requests":{"cpu":"50m","memory":"10Mi"}}` | Default resources |
| service | object | `{"listenPort":8080}` | Service port |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@@ -1,6 +1,6 @@
{{- include "bjw-s.common.loader.init" . }}
{{ include "bjw-s.common.loader.init" . }}
{{- define "genericDevicePlugin.hardcodedValues" -}}
{{ define "genericDevicePlugin.hardcodedValues" }}
{{ if not .Values.global.nameOverride }}
global:
nameOverride: {{ .Values.name }}
@@ -75,8 +75,8 @@ serviceMonitor:
path: /metrics
interval: 30s
scrapeTimeout: 10s
{{- end -}}
{{- $_ := mergeOverwrite .Values (include "genericDevicePlugin.hardcodedValues" . | fromYaml) -}}
{{ end }}
{{ $_ := mergeOverwrite .Values (include "genericDevicePlugin.hardcodedValues" . | fromYaml) }}
{{/* Render the templates */}}
{{ include "bjw-s.common.loader.generate" . }}

View File

@@ -1,15 +1,20 @@
# -- Name override of release
name: generic-device-plugin
# -- Default image
image:
repository: ghcr.io/squat/generic-device-plugin
pullPolicy: Always
tag: latest
# -- Domain used by devices for identifcation
deviceDomain: squat.ai
# -- Service port
service:
listenPort: 8080
# -- Default resources
resources:
limit:
cpu: 100m
@@ -18,6 +23,7 @@ resources:
cpu: 50m
memory: 10Mi
# -- Config map
config:
enabled: true
# -- generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage)

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: postgres-cluster
version: 3.15.0
version: 4.0.1
description: Chart for cloudnative-pg cluster
keywords:
- database
@@ -10,4 +10,4 @@ sources:
maintainers:
- name: alexlebens
icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4
appVersion: v1.24.1
appVersion: v1.25.0

View File

@@ -1,17 +1,99 @@
## Introduction
# postgres-cluster
[CloudNative PG](https://github.com/cloudnative-pg/cloudnative-pg)
![Version: 4.0.1](https://img.shields.io/badge/Version-4.0.1-informational?style=flat-square) ![AppVersion: v1.25.0](https://img.shields.io/badge/AppVersion-v1.25.0-informational?style=flat-square)
CloudNativePG is the Kubernetes operator that covers the full lifecycle of a highly available PostgreSQL database cluster with a primary/standby architecture, using native streaming replication.
Chart for cloudnative-pg cluster
This chart bootstraps a [CNPG](https://github.com/cloudnative-pg/cloudnative-pg) cluster on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Maintainers
## Prerequisites
| Name | Email | Url |
| ---- | ------ | --- |
| alexlebens | | |
- Kubernetes
- Helm
- CloudNative PG Operator
## Source Code
## Parameters
* <https://github.com/cloudnative-pg/cloudnative-pg>
See the [values files](values.yaml).
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| backup.backupIndex | int | `1` | |
| backup.backupName | string | `""` | |
| backup.data.compression | string | `"snappy"` | |
| backup.data.encryption | string | `""` | |
| backup.data.jobs | int | `2` | |
| backup.destinationPath | string | `""` | |
| backup.enabled | bool | `false` | |
| backup.endpointCA | string | `""` | |
| backup.endpointCredentials | string | `""` | |
| backup.endpointURL | string | `""` | |
| backup.historyTags.backupRetentionPolicy | string | `""` | |
| backup.retentionPolicy | string | `"14d"` | |
| backup.schedule | string | `"0 0 0 * * *"` | |
| backup.tags.backupRetentionPolicy | string | `""` | |
| backup.wal.compression | string | `"snappy"` | |
| backup.wal.encryption | string | `""` | |
| backup.wal.maxParallel | int | `2` | |
| bootstrap.initdb | object | `{}` | |
| cluster.additionalLabels | object | `{}` | |
| cluster.affinity.enablePodAntiAffinity | bool | `true` | |
| cluster.affinity.topologyKey | string | `"kubernetes.io/hostname"` | |
| cluster.annotations | object | `{}` | |
| cluster.enableSuperuserAccess | bool | `false` | |
| cluster.image.pullPolicy | string | `"IfNotPresent"` | |
| cluster.image.repository | string | `"ghcr.io/cloudnative-pg/postgresql"` | |
| cluster.image.tag | string | `"17.2-22"` | |
| cluster.instances | int | `3` | |
| cluster.logLevel | string | `"info"` | |
| cluster.monitoring.enabled | bool | `false` | |
| cluster.monitoring.podMonitor.enabled | bool | `true` | |
| cluster.monitoring.prometheusRule.enabled | bool | `false` | |
| cluster.monitoring.prometheusRule.excludeRules | list | `[]` | |
| cluster.postgresGID | int | `26` | |
| cluster.postgresUID | int | `26` | |
| cluster.postgresql.parameters.hot_standby_feedback | string | `"on"` | |
| cluster.postgresql.parameters.max_slot_wal_keep_size | string | `"2000MB"` | |
| cluster.postgresql.parameters.shared_buffers | string | `"128MB"` | |
| cluster.postgresql.shared_preload_libraries | list | `[]` | |
| cluster.primaryUpdateMethod | string | `"switchover"` | |
| cluster.primaryUpdateStrategy | string | `"unsupervised"` | |
| cluster.priorityClassName | string | `""` | |
| cluster.resources.limits.cpu | string | `"800m"` | |
| cluster.resources.limits.hugepages-2Mi | string | `"256Mi"` | |
| cluster.resources.limits.memory | string | `"1Gi"` | |
| cluster.resources.requests.cpu | string | `"10m"` | |
| cluster.resources.requests.memory | string | `"256Mi"` | |
| cluster.storage.size | string | `"10Gi"` | |
| cluster.storage.storageClass | string | `""` | |
| cluster.walStorage.size | string | `"2Gi"` | |
| cluster.walStorage.storageClass | string | `""` | |
| mode | string | `"standalone"` | |
| nameOverride | string | `""` | Override the name of the cluster |
| recovery.data.compression | string | `"snappy"` | |
| recovery.data.encryption | string | `""` | |
| recovery.data.jobs | int | `2` | |
| recovery.destinationPath | string | `""` | |
| recovery.endpointCA | string | `""` | |
| recovery.endpointCredentials | string | `""` | |
| recovery.endpointURL | string | `""` | |
| recovery.pitrTarget.time | string | `""` | |
| recovery.recoveryIndex | int | `1` | |
| recovery.recoveryInstanceName | string | `""` | |
| recovery.recoveryServerName | string | `""` | |
| recovery.wal.compression | string | `"snappy"` | |
| recovery.wal.encryption | string | `""` | |
| recovery.wal.maxParallel | int | `2` | |
| replica.externalCluster.connectionParameters.dbname | string | `"app"` | |
| replica.externalCluster.connectionParameters.host | string | `"postgresql"` | |
| replica.externalCluster.connectionParameters.user | string | `"app"` | |
| replica.externalCluster.password.key | string | `"password"` | |
| replica.externalCluster.password.name | string | `"postgresql"` | |
| replica.importDatabases[0] | string | `"app"` | |
| replica.importRoles | list | `[]` | |
| replica.importType | string | `"microservice"` | |
| replica.postImportApplicationSQL | list | `[]` | |
| type | string | `"postgresql"` | Type of the CNPG database. Available types: * `postgresql` * `postgis` * `timescaledb` * `tensorchord` |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@@ -2,7 +2,7 @@
bootstrap:
{{- if eq .Values.mode "standalone" }}
initdb:
{{- with .Values.cluster.initdb }}
{{- with .Values.bootstrap.initdb }}
{{- with (omit . "postInitApplicationSQL") }}
{{- . | toYaml | nindent 4 }}
{{- end }}
@@ -10,7 +10,7 @@ bootstrap:
{{- if eq .Values.type "tensorchord" }}
dataChecksums: true
{{- end }}
{{- if or (eq .Values.type "postgis") (eq .Values.type "timescaledb") (eq .Values.type "tensorchord") (.Values.cluster.initdb.postInitApplicationSQL) }}
{{- if or (eq .Values.type "postgis") (eq .Values.type "timescaledb") (eq .Values.type "tensorchord") (.Values.bootstrap.initdb.postInitApplicationSQL) }}
postInitApplicationSQL:
{{- if eq .Values.type "postgis" }}
- CREATE EXTENSION IF NOT EXISTS postgis;
@@ -29,7 +29,7 @@ bootstrap:
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA vectors TO "app";
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "app";
{{- end }}
{{- with .Values.cluster.initdb }}
{{- with .Values.bootstrap.initdb }}
{{- range .postInitApplicationSQL }}
{{- printf "- %s" . | nindent 6 }}
{{- end }}
@@ -61,6 +61,11 @@ bootstrap:
{{- end }}
source:
externalCluster: "{{ include "cluster.name" . }}-cluster"
{{- with .Values.bootstrap.initdb }}
{{- with (omit . "postInitApplicationSQL") }}
{{- . | toYaml | nindent 4 }}
{{- end }}
{{- end }}
externalClusters:
- name: "{{ include "cluster.name" . }}-cluster"
{{- with .Values.replica.externalCluster }}

View File

@@ -18,6 +18,7 @@ spec:
imagePullPolicy: {{ .Values.cluster.image.pullPolicy }}
postgresUID: {{ .Values.cluster.postgresUID }}
postgresGID: {{ .Values.cluster.postgresGID }}
enableSuperuserAccess: {{ .Values.cluster.enableSuperuserAccess }}
walStorage:
size: {{ .Values.cluster.walStorage.size }}
storageClass: {{ .Values.cluster.walStorage.storageClass }}
@@ -60,4 +61,5 @@ spec:
enablePodMonitor: {{ and .Values.cluster.monitoring.enabled .Values.cluster.monitoring.podMonitor.enabled }}
{{ include "cluster.bootstrap" . | nindent 2 }}
{{ include "cluster.backup" . | nindent 2 }}

View File

@@ -21,13 +21,15 @@ cluster:
image:
repository: ghcr.io/cloudnative-pg/postgresql
tag: "16.6-17"
tag: "17.2-22"
pullPolicy: IfNotPresent
# The UID and GID of the postgres user inside the image
postgresUID: 26
postgresGID: 26
enableSuperuserAccess: false
walStorage:
size: 2Gi
storageClass: ""
@@ -80,6 +82,7 @@ cluster:
hot_standby_feedback: "on"
shared_preload_libraries: []
bootstrap:
# BootstrapInitDB is the configuration of the bootstrap process when initdb is used.
# See: https://cloudnative-pg.io/documentation/current/bootstrap/
# See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-bootstrapinitdb
@@ -202,4 +205,4 @@ backup:
retentionPolicy: "14d"
# Scheduled backup in cron format
schedule: "0 0 */1 * *"
schedule: "0 0 0 * * *"