Compare commits
34 Commits
cloudflare
...
postgres-c
Author | SHA1 | Date | |
---|---|---|---|
202a534e8e | |||
c36e4e371f | |||
1ac9444bb2 | |||
275fcd8568 | |||
158d4ca676 | |||
32e232d8e2 | |||
93d2f916fb | |||
b1a6a2fd39 | |||
d3307d4f70 | |||
1b7018d3bd | |||
b75721ae1d | |||
|
e0e4f6ee8a | ||
|
7dd80d4528 | ||
24af841f19 | |||
16211d4c62 | |||
513c46c957 | |||
3fad4e4ff0 | |||
1f867e0276 | |||
601790ab7a | |||
16ebdda6a4 | |||
dbf8f14512 | |||
22dcd7a14c | |||
8862d97c27 | |||
1f4cd543c0 | |||
4aac272e98 | |||
b8602fb919 | |||
fb34897269 | |||
ec27eff4da | |||
2b31df483e | |||
53191f1d68 | |||
172526fb79 | |||
5d5aad265a | |||
84af71da49 | |||
ab3ca49103 |
@@ -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
|
7
.github/renovate.json
vendored
7
.github/renovate.json
vendored
@@ -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": [
|
||||
|
4
.github/workflows/lint-test.yaml
vendored
4
.github/workflows/lint-test.yaml
vendored
@@ -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
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: cloudflared
|
||||
version: 1.8.0
|
||||
version: 1.12.0
|
||||
description: Cloudflared Tunnel
|
||||
keywords:
|
||||
- cloudflare
|
||||
@@ -13,6 +13,6 @@ maintainers:
|
||||
dependencies:
|
||||
- name: common
|
||||
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
|
||||
appVersion: "2024.9.1"
|
||||
appVersion: "2024.12.2"
|
||||
|
@@ -3,7 +3,7 @@ existingSecretName: cloudflared-secret
|
||||
existingSecretKey: cf-tunnel-token
|
||||
image:
|
||||
repository: cloudflare/cloudflared
|
||||
tag: "2024.9.1"
|
||||
tag: "2024.12.2"
|
||||
pullPolicy: IfNotPresent
|
||||
resources:
|
||||
requests:
|
||||
|
18
charts/generic-device-plugin/Chart.yaml
Normal file
18
charts/generic-device-plugin/Chart.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: v2
|
||||
name: generic-device-plugin
|
||||
version: 0.1.2
|
||||
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.2
|
16
charts/generic-device-plugin/README.md
Normal file
16
charts/generic-device-plugin/README.md
Normal file
@@ -0,0 +1,16 @@
|
||||
## Introduction
|
||||
|
||||
[Generic Device Plugin](https://github.com/squat/generic-device-plugin)
|
||||
|
||||
The generic-device-plugin enables allocating generic Linux devices, such as serial devices, the FUSE device, or video cameras, to Kubernetes Pods.
|
||||
|
||||
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.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes
|
||||
- Helm
|
||||
|
||||
## Parameters
|
||||
|
||||
See the [values files](values.yaml).
|
82
charts/generic-device-plugin/templates/common.yaml
Normal file
82
charts/generic-device-plugin/templates/common.yaml
Normal 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" . }}
|
74
charts/generic-device-plugin/values.yaml
Normal file
74
charts/generic-device-plugin/values.yaml
Normal 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
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: postgres-cluster
|
||||
version: 3.10.0
|
||||
version: 3.20.10
|
||||
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.0
|
||||
appVersion: v1.24.1
|
||||
|
@@ -2,12 +2,15 @@
|
||||
bootstrap:
|
||||
{{- if eq .Values.mode "standalone" }}
|
||||
initdb:
|
||||
{{- with .Values.cluster.initdb }}
|
||||
{{- with .Values.bootstrap.initdb }}
|
||||
{{- with (omit . "postInitApplicationSQL") }}
|
||||
{{- . | toYaml | nindent 4 }}
|
||||
{{- 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:
|
||||
{{- if eq .Values.type "postgis" }}
|
||||
- CREATE EXTENSION IF NOT EXISTS postgis;
|
||||
@@ -16,8 +19,17 @@ bootstrap:
|
||||
- CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;
|
||||
{{- else if eq .Values.type "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 }}
|
||||
{{- with .Values.cluster.initdb }}
|
||||
{{- with .Values.bootstrap.initdb }}
|
||||
{{- range .postInitApplicationSQL }}
|
||||
{{- printf "- %s" . | nindent 6 }}
|
||||
{{- end }}
|
||||
@@ -49,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 }}
|
||||
|
@@ -43,6 +43,15 @@ spec:
|
||||
shared_preload_libraries:
|
||||
- timescaledb
|
||||
{{- 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 }}
|
||||
parameters:
|
||||
{{- toYaml . | nindent 6 }}
|
||||
@@ -51,4 +60,5 @@ spec:
|
||||
enablePodMonitor: {{ and .Values.cluster.monitoring.enabled .Values.cluster.monitoring.podMonitor.enabled }}
|
||||
|
||||
{{ include "cluster.bootstrap" . | nindent 2 }}
|
||||
|
||||
{{ include "cluster.backup" . | nindent 2 }}
|
||||
|
@@ -6,6 +6,7 @@ nameOverride: ""
|
||||
# * `postgresql`
|
||||
# * `postgis`
|
||||
# * `timescaledb`
|
||||
# * `tensorchord`
|
||||
type: postgresql
|
||||
|
||||
###
|
||||
@@ -20,7 +21,7 @@ cluster:
|
||||
|
||||
image:
|
||||
repository: ghcr.io/cloudnative-pg/postgresql
|
||||
tag: "16.4"
|
||||
tag: "16.6-22"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# The UID and GID of the postgres user inside the image
|
||||
@@ -77,7 +78,9 @@ cluster:
|
||||
shared_buffers: 128MB
|
||||
max_slot_wal_keep_size: 2000MB
|
||||
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
|
||||
@@ -176,9 +179,9 @@ backup:
|
||||
|
||||
# Tags to add to backups. Add in key value beneath the type.
|
||||
tags:
|
||||
backupRetentionPolicy: "expire"
|
||||
backupRetentionPolicy: ""
|
||||
historyTags:
|
||||
backupRetentionPolicy: "keep"
|
||||
backupRetentionPolicy: ""
|
||||
|
||||
# Configuration for the WAL and data files.
|
||||
wal:
|
||||
@@ -197,7 +200,7 @@ backup:
|
||||
jobs: 2
|
||||
|
||||
# Retention policy for backups
|
||||
retentionPolicy: "60d"
|
||||
retentionPolicy: "14d"
|
||||
|
||||
# Scheduled backup in cron format
|
||||
schedule: "0 0 */3 * *"
|
||||
schedule: "0 0 0 * * *"
|
||||
|
Reference in New Issue
Block a user