Compare commits

...

37 Commits

Author SHA1 Message Date
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
22dcd7a14c update image 2024-12-16 10:31:56 -06:00
8862d97c27 change retention policy 2024-12-12 11:12:58 -06:00
1f4cd543c0 bump chart version 2024-11-23 22:40:06 -06:00
4aac272e98 update image 2024-11-23 22:39:06 -06:00
b8602fb919 update image to 16.6 2024-11-23 22:38:36 -06:00
fb34897269 update image 2024-10-19 00:58:50 -05:00
ec27eff4da add priority class name and tolerations 2024-10-13 12:39:03 -05:00
2b31df483e listen on all addresses 2024-10-12 23:35:08 -05:00
53191f1d68 add generic device plugin 2024-10-12 23:18:07 -05:00
172526fb79 update common chart 2024-10-11 19:03:23 -05:00
5d5aad265a fix settings for tensorchord type 2024-09-28 16:43:45 -05:00
84af71da49 add tag for postgres version 2024-09-28 02:07:28 -05:00
ab3ca49103 add tensorchord type 2024-09-28 02:05:34 -05:00
18 changed files with 414 additions and 45 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 # 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" ":rebaseStalePrs"
], ],
"timezone": "US/Central", "timezone": "US/Central",
"schedule": [
"every weekday"
],
"labels": [], "labels": [],
"packageRules": [ "packageRules": [
{ {
"description": "Disables for non major Renovate version", "description": "Disables for non major Renovate version",
"matchPaths": [ "matchFileNames": [
".github/renovate-update-notification/Dockerfile" ".github/renovate-update-notification/Dockerfile"
], ],
"matchUpdateTypes": [ "matchUpdateTypes": [
@@ -27,7 +24,7 @@
}, },
{ {
"description": "Generate for major Renovate version", "description": "Generate for major Renovate version",
"matchPaths": [ "matchFileNames": [
".github/renovate-update-notification/Dockerfile" ".github/renovate-update-notification/Dockerfile"
], ],
"matchUpdateTypes": [ "matchUpdateTypes": [

View File

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

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 apiVersion: v2
name: cloudflared name: cloudflared
version: 1.8.0 version: 1.12.1
description: Cloudflared Tunnel description: Cloudflared Tunnel
keywords: keywords:
- cloudflare - cloudflare
@@ -13,6 +13,6 @@ maintainers:
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s.github.io/helm-charts/ repository: https://bjw-s.github.io/helm-charts/
version: 3.4.0 version: 3.5.1
icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4 icon: https://avatars.githubusercontent.com/u/314135?s=48&v=4
appVersion: "2024.9.1" appVersion: "2024.12.2"

View File

@@ -1,16 +1,38 @@
## Introduction # cloudflared
[Cloudflared](https://github.com/cloudflare/cloudflared) ![Version: 1.12.1](https://img.shields.io/badge/Version-1.12.1-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 ## Source Code
- Helm
## 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.5.1 |
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| existingSecretKey | string | `"cf-tunnel-token"` | |
| existingSecretName | string | `"cloudflared-secret"` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"cloudflare/cloudflared"` | |
| image.tag | string | `"2024.12.2"` | |
| name | string | `"cloudflared"` | |
| resources.requests.cpu | string | `"100m"` | |
| resources.requests.memory | string | `"128Mi"` | |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@@ -3,7 +3,7 @@ existingSecretName: cloudflared-secret
existingSecretKey: cf-tunnel-token existingSecretKey: cf-tunnel-token
image: image:
repository: cloudflare/cloudflared repository: cloudflare/cloudflared
tag: "2024.9.1" tag: "2024.12.2"
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: resources:
requests: requests:

View File

@@ -0,0 +1,18 @@
apiVersion: v2
name: generic-device-plugin
version: 0.1.3
description: Generic Device Plugin
keywords:
- generic-device-plugin
- device
- plugin
sources:
- https://github.com/squat/generic-device-plugin
- https://github.com/bjw-s/helm-charts/tree/main/charts/library/common
maintainers:
- name: alexlebens
dependencies:
- name: common
repository: https://bjw-s.github.io/helm-charts/
version: 3.5.1
appVersion: 0.1.3

View File

@@ -0,0 +1,42 @@
# generic-device-plugin
![Version: 0.1.3](https://img.shields.io/badge/Version-0.1.3-informational?style=flat-square) ![AppVersion: 0.1.3](https://img.shields.io/badge/AppVersion-0.1.3-informational?style=flat-square)
Generic Device Plugin
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| alexlebens | | |
## Source Code
* <https://github.com/squat/generic-device-plugin>
* <https://github.com/bjw-s/helm-charts/tree/main/charts/library/common>
## Requirements
| Repository | Name | Version |
|------------|------|---------|
| https://bjw-s.github.io/helm-charts/ | common | 3.5.1 |
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config.data | string | See [values.yaml](./values.yaml) | generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage) |
| config.enabled | bool | `true` | |
| deviceDomain | string | `"squat.ai"` | |
| image.pullPolicy | string | `"Always"` | |
| image.repository | string | `"ghcr.io/squat/generic-device-plugin"` | |
| image.tag | string | `"latest"` | |
| name | string | `"generic-device-plugin"` | |
| resources.limit.cpu | string | `"100m"` | |
| resources.limit.memory | string | `"20Mi"` | |
| resources.requests.cpu | string | `"50m"` | |
| resources.requests.memory | string | `"10Mi"` | |
| service.listenPort | int | `8080` | |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)

View File

@@ -0,0 +1,82 @@
{{ include "bjw-s.common.loader.init" . }}
{{ define "genericDevicePlugin.hardcodedValues" }}
{{ if not .Values.global.nameOverride }}
global:
nameOverride: {{ .Values.name }}
{{ end }}
controllers:
main:
type: daemonset
pod:
priorityClassName: system-node-critical
tolerations:
- operator: "Exists"
effect: "NoExecute"
- operator: "Exists"
effect: "NoSchedule"
containers:
main:
image:
repository: {{ .Values.image.repository }}
tag: {{ .Values.image.tag }}
pullPolicy: {{ .Values.image.pullPolicy }}
args:
- --config=/config/config.yaml
env:
- name: LISTEN
value: :{{ .Values.service.listenPort }}
- name: PLUGIN_DIRECTORY
value: /var/lib/kubelet/device-plugins
- name: DOMAIN
value: {{ .Values.deviceDomain }}
probes:
liveness:
type: HTTP
path: /health
readiness:
type: HTTP
path: /health
startup:
type: HTTP
path: /health
securityContext:
privileged: True
configMaps:
config:
enabled: {{ .Values.config.enabled }}
data:
config.yaml: {{ toYaml .Values.config.data | nindent 8 }}
service:
main:
controller: main
ports:
http:
port: {{ .Values.service.listenPort }}
persistence:
config:
enabled: true
type: configMap
name: {{ .Values.name }}-config
device-plugins:
enabled: true
type: hostPath
hostPath: /var/lib/kubelet/device-plugins
dev:
enabled: true
type: hostPath
hostPath: /dev
serviceMonitor:
main:
serviceName: generic-device-plugin
endpoints:
- port: http
scheme: http
path: /metrics
interval: 30s
scrapeTimeout: 10s
{{ end }}
{{ $_ := mergeOverwrite .Values (include "genericDevicePlugin.hardcodedValues" . | fromYaml) }}
{{/* Render the templates */}}
{{ include "bjw-s.common.loader.generate" . }}

View File

@@ -0,0 +1,74 @@
name: generic-device-plugin
image:
repository: ghcr.io/squat/generic-device-plugin
pullPolicy: Always
tag: latest
deviceDomain: squat.ai
service:
listenPort: 8080
resources:
limit:
cpu: 100m
memory: 20Mi
requests:
cpu: 50m
memory: 10Mi
config:
enabled: true
# -- generic-device-plugin config file [[ref]](https://github.com/squat/generic-device-plugin#usage)
# @default -- See [values.yaml](./values.yaml)
data: |
devices:
- name: serial
groups:
- paths:
- path: /dev/ttyUSB*
- paths:
- path: /dev/ttyACM*
- paths:
- path: /dev/tty.usb*
- paths:
- path: /dev/cu.*
- paths:
- path: /dev/cuaU*
- paths:
- path: /dev/rfcomm*
- name: video
groups:
- paths:
- path: /dev/video0
- name: fuse
groups:
- count: 10
paths:
- path: /dev/fuse
- name: audio
groups:
- count: 10
paths:
- path: /dev/snd
- name: capture
groups:
- paths:
- path: /dev/snd/controlC0
- path: /dev/snd/pcmC0D0c
- paths:
- path: /dev/snd/controlC1
mountPath: /dev/snd/controlC0
- path: /dev/snd/pcmC1D0c
mountPath: /dev/snd/pcmC0D0c
- paths:
- path: /dev/snd/controlC2
mountPath: /dev/snd/controlC0
- path: /dev/snd/pcmC2D0c
mountPath: /dev/snd/pcmC0D0c
- paths:
- path: /dev/snd/controlC3
mountPath: /dev/snd/controlC0
- path: /dev/snd/pcmC3D0c
mountPath: /dev/snd/pcmC0D0c

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: postgres-cluster name: postgres-cluster
version: 3.10.0 version: 4.0.1
description: Chart for cloudnative-pg cluster description: Chart for cloudnative-pg cluster
keywords: keywords:
- database - database
@@ -10,4 +10,4 @@ sources:
maintainers: maintainers:
- name: alexlebens - name: alexlebens
icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4 icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4
appVersion: v1.24.0 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 ## Source Code
- Helm
- CloudNative PG Operator
## 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,12 +2,15 @@
bootstrap: bootstrap:
{{- if eq .Values.mode "standalone" }} {{- if eq .Values.mode "standalone" }}
initdb: initdb:
{{- with .Values.cluster.initdb }} {{- with .Values.bootstrap.initdb }}
{{- with (omit . "postInitApplicationSQL") }} {{- with (omit . "postInitApplicationSQL") }}
{{- . | toYaml | nindent 4 }} {{- . | toYaml | nindent 4 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if or (eq .Values.type "postgis") (eq .Values.type "timescaledb") (.Values.cluster.initdb.postInitApplicationSQL) }} {{- if eq .Values.type "tensorchord" }}
dataChecksums: true
{{- end }}
{{- if or (eq .Values.type "postgis") (eq .Values.type "timescaledb") (eq .Values.type "tensorchord") (.Values.bootstrap.initdb.postInitApplicationSQL) }}
postInitApplicationSQL: postInitApplicationSQL:
{{- if eq .Values.type "postgis" }} {{- if eq .Values.type "postgis" }}
- CREATE EXTENSION IF NOT EXISTS postgis; - CREATE EXTENSION IF NOT EXISTS postgis;
@@ -16,8 +19,17 @@ bootstrap:
- CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder; - CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;
{{- else if eq .Values.type "timescaledb" }} {{- else if eq .Values.type "timescaledb" }}
- CREATE EXTENSION IF NOT EXISTS timescaledb; - CREATE EXTENSION IF NOT EXISTS timescaledb;
{{- else if eq .Values.type "tensorchord" }}
- ALTER SYSTEM SET search_path TO "$user", public, vectors;
- SET search_path TO "$user", public, vectors;
- CREATE EXTENSION IF NOT EXISTS "vectors";
- CREATE EXTENSION IF NOT EXISTS "cube";
- CREATE EXTENSION IF NOT EXISTS "earthdistance";
- ALTER SCHEMA vectors OWNER TO "app";
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA vectors TO "app";
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "app";
{{- end }} {{- end }}
{{- with .Values.cluster.initdb }} {{- with .Values.bootstrap.initdb }}
{{- range .postInitApplicationSQL }} {{- range .postInitApplicationSQL }}
{{- printf "- %s" . | nindent 6 }} {{- printf "- %s" . | nindent 6 }}
{{- end }} {{- end }}
@@ -49,6 +61,11 @@ bootstrap:
{{- end }} {{- end }}
source: source:
externalCluster: "{{ include "cluster.name" . }}-cluster" externalCluster: "{{ include "cluster.name" . }}-cluster"
{{- with .Values.bootstrap.initdb }}
{{- with (omit . "postInitApplicationSQL") }}
{{- . | toYaml | nindent 4 }}
{{- end }}
{{- end }}
externalClusters: externalClusters:
- name: "{{ include "cluster.name" . }}-cluster" - name: "{{ include "cluster.name" . }}-cluster"
{{- with .Values.replica.externalCluster }} {{- with .Values.replica.externalCluster }}

View File

@@ -18,6 +18,7 @@ spec:
imagePullPolicy: {{ .Values.cluster.image.pullPolicy }} imagePullPolicy: {{ .Values.cluster.image.pullPolicy }}
postgresUID: {{ .Values.cluster.postgresUID }} postgresUID: {{ .Values.cluster.postgresUID }}
postgresGID: {{ .Values.cluster.postgresGID }} postgresGID: {{ .Values.cluster.postgresGID }}
enableSuperuserAccess: {{ .Values.cluster.enableSuperuserAccess }}
walStorage: walStorage:
size: {{ .Values.cluster.walStorage.size }} size: {{ .Values.cluster.walStorage.size }}
storageClass: {{ .Values.cluster.walStorage.storageClass }} storageClass: {{ .Values.cluster.walStorage.storageClass }}
@@ -43,6 +44,15 @@ spec:
shared_preload_libraries: shared_preload_libraries:
- timescaledb - timescaledb
{{- end }} {{- end }}
{{- if eq .Values.type "tensorchord" }}
shared_preload_libraries:
- vectors.so
enableAlterSystem: true
{{- end }}
{{- with .Values.cluster.postgresql.shared_preload_libraries }}
shared_preload_libraries:
{{- toYaml . | nindent 6 }}
{{ end }}
{{- with .Values.cluster.postgresql.parameters }} {{- with .Values.cluster.postgresql.parameters }}
parameters: parameters:
{{- toYaml . | nindent 6 }} {{- toYaml . | nindent 6 }}
@@ -51,4 +61,5 @@ spec:
enablePodMonitor: {{ and .Values.cluster.monitoring.enabled .Values.cluster.monitoring.podMonitor.enabled }} enablePodMonitor: {{ and .Values.cluster.monitoring.enabled .Values.cluster.monitoring.podMonitor.enabled }}
{{ include "cluster.bootstrap" . | nindent 2 }} {{ include "cluster.bootstrap" . | nindent 2 }}
{{ include "cluster.backup" . | nindent 2 }} {{ include "cluster.backup" . | nindent 2 }}

View File

@@ -6,6 +6,7 @@ nameOverride: ""
# * `postgresql` # * `postgresql`
# * `postgis` # * `postgis`
# * `timescaledb` # * `timescaledb`
# * `tensorchord`
type: postgresql type: postgresql
### ###
@@ -20,13 +21,15 @@ cluster:
image: image:
repository: ghcr.io/cloudnative-pg/postgresql repository: ghcr.io/cloudnative-pg/postgresql
tag: "16.4" tag: "17.2-22"
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# The UID and GID of the postgres user inside the image # The UID and GID of the postgres user inside the image
postgresUID: 26 postgresUID: 26
postgresGID: 26 postgresGID: 26
enableSuperuserAccess: false
walStorage: walStorage:
size: 2Gi size: 2Gi
storageClass: "" storageClass: ""
@@ -77,7 +80,9 @@ cluster:
shared_buffers: 128MB shared_buffers: 128MB
max_slot_wal_keep_size: 2000MB max_slot_wal_keep_size: 2000MB
hot_standby_feedback: "on" hot_standby_feedback: "on"
shared_preload_libraries: []
bootstrap:
# BootstrapInitDB is the configuration of the bootstrap process when initdb is used. # 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/bootstrap/
# See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-bootstrapinitdb # See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-bootstrapinitdb
@@ -176,9 +181,9 @@ backup:
# Tags to add to backups. Add in key value beneath the type. # Tags to add to backups. Add in key value beneath the type.
tags: tags:
backupRetentionPolicy: "expire" backupRetentionPolicy: ""
historyTags: historyTags:
backupRetentionPolicy: "keep" backupRetentionPolicy: ""
# Configuration for the WAL and data files. # Configuration for the WAL and data files.
wal: wal:
@@ -197,7 +202,7 @@ backup:
jobs: 2 jobs: 2
# Retention policy for backups # Retention policy for backups
retentionPolicy: "60d" retentionPolicy: "14d"
# Scheduled backup in cron format # Scheduled backup in cron format
schedule: "0 0 */3 * *" schedule: "0 0 0 * * *"