Compare commits
12 Commits
tubearchiv
...
home-assis
Author | SHA1 | Date | |
---|---|---|---|
|
73262aa60a | ||
a322553210 | |||
09aae9e79d | |||
c72c25a74d | |||
9c93b1dc4a | |||
cfd426f657 | |||
93f4991a05 | |||
ce0f3c7b07 | |||
58c5443de1 | |||
b3acbf3cbc | |||
3270a3102b | |||
acc9710c72 |
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: home-assistant
|
||||
version: 0.1.8
|
||||
version: 0.1.9
|
||||
description: Chart for Home Assistant
|
||||
keywords:
|
||||
- home-automation
|
||||
@@ -9,4 +9,4 @@ sources:
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://avatars.githubusercontent.com/u/13844975?s=200&v=4
|
||||
appVersion: v2024.4.2
|
||||
appVersion: v2024.4.3
|
||||
|
@@ -3,7 +3,7 @@ deployment:
|
||||
strategy: Recreate
|
||||
image:
|
||||
repository: homeassistant/home-assistant
|
||||
tag: 2024.4.2
|
||||
tag: 2024.4.3
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
TZ: UTC
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: outline
|
||||
version: 0.1.2
|
||||
version: 0.3.0
|
||||
description: Chart for Outline wiki
|
||||
keywords:
|
||||
- wiki
|
||||
@@ -14,5 +14,5 @@ icon: https://avatars.githubusercontent.com/u/1765001?s=48&v=4
|
||||
dependencies:
|
||||
- name: redis
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 18.19.4
|
||||
version: 19.1.0
|
||||
appVersion: v0.75.2
|
||||
|
@@ -39,10 +39,6 @@ persistence:
|
||||
storageSize: 50Gi
|
||||
localRootDir: /var/lib/outline/data
|
||||
uploadMaxSize: 26214400
|
||||
redis:
|
||||
architecture: standalone
|
||||
auth:
|
||||
enabled: false
|
||||
outline:
|
||||
nodeEnv: production
|
||||
url:
|
||||
@@ -98,3 +94,11 @@ outline:
|
||||
usernameClaim:
|
||||
displayName:
|
||||
scopes: openid profile email
|
||||
redis:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: valkey/valkey
|
||||
tag: 7.2.4-rc1
|
||||
architecture: standalone
|
||||
auth:
|
||||
enabled: false
|
||||
|
14
charts/postgres-cluster-upgrade/Chart.yaml
Normal file
14
charts/postgres-cluster-upgrade/Chart.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
apiVersion: v2
|
||||
name: postgres-cluster-upgrade
|
||||
version: 0.1.2
|
||||
description: Chart for upgrading a cloudnative-pg cluster in the same namespace
|
||||
keywords:
|
||||
- database
|
||||
- postgres
|
||||
- upgrade
|
||||
sources:
|
||||
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||
maintainers:
|
||||
- name: alexlebens
|
||||
icon: https://avatars.githubusercontent.com/u/100373852?s=48&v=4
|
||||
appVersion: v1.22.2
|
19
charts/postgres-cluster-upgrade/README.md
Normal file
19
charts/postgres-cluster-upgrade/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
## Introduction
|
||||
|
||||
[CloudNative PG](https://github.com/cloudnative-pg/cloudnative-pg)
|
||||
|
||||
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.
|
||||
|
||||
This chart bootstraps a [CNPG](https://github.com/cloudnative-pg/cloudnative-pg) cluster upgraade on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
|
||||
The process is designed to be used in conjunction with the [postgres-cluster](https://github.com/alexlebens/helm-charts/tree/main/charts/postgres-cluster) chart. The cluster in this chart connects to the orignal cluster, peforms an upgrade, then backups to the objectStore endpoint. Afterwards the upgrade cluster is removed and the orignal cluster bootstraps from the upgrade's backup.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes
|
||||
- Helm
|
||||
- CloudNative PG Operator
|
||||
|
||||
## Parameters
|
||||
|
||||
See the [values files](values.yaml).
|
17
charts/postgres-cluster-upgrade/templates/backup.yaml
Normal file
17
charts/postgres-cluster-upgrade/templates/backup.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
{{- if .Values.backup.inititeBackup }}
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: "postgresql-{{ .Release.Name }}-cluster-upgrade-backup"
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: "postgresql-{{ .Release.Name }}-cluster-upgrade-backup"
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: database
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
method: barmanObjectStore
|
||||
cluster:
|
||||
name: "postgresql-{{ .Release.Name }}-cluster-upgrade"
|
||||
{{- end }}
|
@@ -0,0 +1,68 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: "postgresql-{{ .Release.Name }}-cluster-upgrade"
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: "postgresql-{{ .Release.Name }}-cluster-upgrade"
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: database
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
imageName: "{{ .Values.cluster.image.repository }}:{{ .Values.cluster.image.tag }}"
|
||||
instances: {{ .Values.cluster.instances }}
|
||||
affinity:
|
||||
enablePodAntiAffinity: true
|
||||
topologyKey: kubernetes.io/hostname
|
||||
postgresql:
|
||||
parameters:
|
||||
{{- toYaml .Values.cluster.parameters | nindent 6 }}
|
||||
resources:
|
||||
{{- toYaml .Values.cluster.resources | nindent 4 }}
|
||||
storage:
|
||||
storageClass: {{ .Values.cluster.storage.data.storageClass }}
|
||||
size: {{ .Values.cluster.storage.data.size }}
|
||||
walStorage:
|
||||
storageClass: {{ .Values.cluster.storage.wal.storageClass }}
|
||||
size: {{ .Values.cluster.storage.wal.size }}
|
||||
monitoring:
|
||||
enablePodMonitor: true
|
||||
|
||||
bootstrap:
|
||||
initdb:
|
||||
import:
|
||||
type: {{ .Values.upgrade.importType }}
|
||||
databases:
|
||||
{{- toYaml .Values.upgrade.importDatabases | nindent 10 }}
|
||||
source:
|
||||
externalCluster: "postgresql-{{ .Release.Name }}-cluster"
|
||||
externalClusters:
|
||||
- name: "postgresql-{{ .Release.Name }}-cluster"
|
||||
connectionParameters:
|
||||
host: "postgresql-{{ .Release.Name }}-cluster-rw"
|
||||
user: app
|
||||
dbname: app
|
||||
password:
|
||||
name: "postgresql-{{ .Release.Name }}-cluster-app"
|
||||
key: password
|
||||
|
||||
{{- if .Values.backup.backupEnabled }}
|
||||
backup:
|
||||
retentionPolicy: "{{ .Values.backup.retentionPolicy }}"
|
||||
barmanObjectStore:
|
||||
destinationPath: "s3://{{ .Values.backup.bucket }}/{{ .Values.cluster.name }}/postgresql/{{ .Release.Name }}-cluster"
|
||||
endpointURL: {{ .Values.backup.endpointURL }}
|
||||
serverName: "postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.backup.backupIndex }}"
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: "postgresql-{{ .Release.Name }}-cluster-backup-secret"
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: "postgresql-{{ .Release.Name }}-cluster-backup-secret"
|
||||
key: ACCESS_SECRET_KEY
|
||||
data:
|
||||
compression: {{ .Values.cluster.compression }}
|
||||
wal:
|
||||
compression: {{ .Values.cluster.compression }}
|
||||
{{- end }}
|
37
charts/postgres-cluster-upgrade/values.yaml
Normal file
37
charts/postgres-cluster-upgrade/values.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
cluster:
|
||||
name:
|
||||
image:
|
||||
repository: ghcr.io/cloudnative-pg/postgresql
|
||||
tag: 16.2
|
||||
instances: 1
|
||||
parameters:
|
||||
shared_buffers: 128MB
|
||||
max_slot_wal_keep_size: 2000MB
|
||||
hot_standby_feedback: "on"
|
||||
compression: snappy
|
||||
resources:
|
||||
requests:
|
||||
memory: 512Mi
|
||||
cpu: 100m
|
||||
limits:
|
||||
memory: 2Gi
|
||||
cpu: 1500m
|
||||
hugepages-2Mi: 512Mi
|
||||
storage:
|
||||
data:
|
||||
storageClass:
|
||||
size: 10Gi
|
||||
wal:
|
||||
storageClass:
|
||||
size: 2Gi
|
||||
upgrade:
|
||||
importType: microservice
|
||||
importDatabases:
|
||||
- app
|
||||
backup:
|
||||
backupEnabled: false
|
||||
inititeBackup: false
|
||||
retentionPolicy: 3d
|
||||
backupIndex: 1
|
||||
endpointURL:
|
||||
bucket:
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: postgres-cluster
|
||||
version: 0.2.3
|
||||
version: 0.3.0
|
||||
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.22.1
|
||||
appVersion: v1.22.2
|
||||
|
@@ -1,9 +1,9 @@
|
||||
cluster:
|
||||
name: cl01tl
|
||||
name:
|
||||
image:
|
||||
repository: ghcr.io/cloudnative-pg/postgresql
|
||||
tag: 16.0
|
||||
instances: 2
|
||||
tag: 16.2
|
||||
instances: 3
|
||||
parameters:
|
||||
shared_buffers: 128MB
|
||||
max_slot_wal_keep_size: 2000MB
|
||||
@@ -19,10 +19,10 @@ cluster:
|
||||
hugepages-2Mi: 512Mi
|
||||
storage:
|
||||
data:
|
||||
storageClass: default
|
||||
storageClass:
|
||||
size: 10Gi
|
||||
wal:
|
||||
storageClass: default
|
||||
storageClass:
|
||||
size: 2Gi
|
||||
bootstrap:
|
||||
recoveryEnabled: false
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: tubearchivist
|
||||
version: 0.1.0
|
||||
version: 0.2.0
|
||||
description: Chart for Tube Archivist
|
||||
keywords:
|
||||
- download
|
||||
@@ -14,7 +14,7 @@ maintainers:
|
||||
icon: https://avatars.githubusercontent.com/u/102734415?s=48&v=4
|
||||
dependencies:
|
||||
- name: redis
|
||||
version: 18.19.4
|
||||
version: 19.1.0
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
- name: elasticsearch
|
||||
version: 20.0.4
|
||||
|
@@ -35,7 +35,7 @@ persistence:
|
||||
redis:
|
||||
image:
|
||||
repository: redis/redis-stack-server
|
||||
tag: 7.2.0-v9
|
||||
tag: 7.2.0-v10
|
||||
architecture: standalone
|
||||
auth:
|
||||
enabled: false
|
||||
|
Reference in New Issue
Block a user