Skip to content

Commit

Permalink
postgres logs volume (#22)
Browse files Browse the repository at this point in the history
* Added logs volumes to postgresql templates
  • Loading branch information
byarovoy authored Jul 4, 2024
1 parent 83f4b66 commit 97dce64
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 29 deletions.
73 changes: 49 additions & 24 deletions docs/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,32 @@ entries:
pyrus-datacenter:
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.265035599+08:00"
created: "2024-06-20T19:00:24.4959913+03:00"
dependencies:
- condition: nats.enabled
name: nats
repository: https://nats-io.github.io/k8s/helm/charts/
version: 1.1.9
- alias: postgresql
condition: postgresql.enabledHA
name: postgres-operator
repository: https://opensource.zalando.com/postgres-operator/charts/postgres-operator
version: 1.8.2
description: 'Pyrus datacenter instalation v2 for Kubernetes ## Install helm
-n pyrus install --dependency-update --create-namespace pyrus-datacenter ./pyrus-datacenter ##
Upgrade helm -n pyrus upgrade pyrus-datacenter ./pyrus-datacenter --reset-values ##
Uninstall helm -n pyrus uninstall pyrus-datacenter '
digest: b55b63da7a5c71e378807ceb47f90936dd60fa9f34e433f3875586191364c1d7
maintainers:
- name: Simply Good Software Inc.
name: pyrus-datacenter
type: application
urls:
- https://simplygoodsoftware.github.io/pyrus-datacenter-k8s/pyrus-datacenter-2.0.24.tgz
version: 2.0.24
- apiVersion: v2
appVersion: latest
created: "2024-06-20T19:00:24.4909635+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -28,7 +53,7 @@ entries:
version: 2.0.23
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.258332786+08:00"
created: "2024-06-20T19:00:24.4849937+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -53,7 +78,7 @@ entries:
version: 2.0.22
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.24955308+08:00"
created: "2024-06-20T19:00:24.4789589+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -78,7 +103,7 @@ entries:
version: 2.0.21
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.240764849+08:00"
created: "2024-06-20T19:00:24.4739231+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -103,7 +128,7 @@ entries:
version: 2.0.20
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.227774202+08:00"
created: "2024-06-20T19:00:24.4646004+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -128,7 +153,7 @@ entries:
version: 2.0.19
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.220095992+08:00"
created: "2024-06-20T19:00:24.4574455+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -153,7 +178,7 @@ entries:
version: 2.0.18
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.213350899+08:00"
created: "2024-06-20T19:00:24.4518421+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -178,7 +203,7 @@ entries:
version: 2.0.17
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.203689747+08:00"
created: "2024-06-20T19:00:24.4467022+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -203,7 +228,7 @@ entries:
version: 2.0.16
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.197302754+08:00"
created: "2024-06-20T19:00:24.4407292+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -228,7 +253,7 @@ entries:
version: 2.0.15
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.189994599+08:00"
created: "2024-06-20T19:00:24.4355662+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -253,7 +278,7 @@ entries:
version: 2.0.14
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.181567054+08:00"
created: "2024-06-20T19:00:24.4289226+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -278,7 +303,7 @@ entries:
version: 2.0.13
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.17578866+08:00"
created: "2024-06-20T19:00:24.424923+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -303,7 +328,7 @@ entries:
version: 2.0.12
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.168886527+08:00"
created: "2024-06-20T19:00:24.4179229+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -328,7 +353,7 @@ entries:
version: 2.0.11
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.162218549+08:00"
created: "2024-06-20T19:00:24.4139188+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -353,7 +378,7 @@ entries:
version: 2.0.10
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.307824523+08:00"
created: "2024-06-20T19:00:24.5284557+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -378,7 +403,7 @@ entries:
version: 2.0.9
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.299916767+08:00"
created: "2024-06-20T19:00:24.5234568+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -403,7 +428,7 @@ entries:
version: 2.0.7
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.291852443+08:00"
created: "2024-06-20T19:00:24.5183785+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -428,7 +453,7 @@ entries:
version: 2.0.6
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.28561768+08:00"
created: "2024-06-20T19:00:24.513379+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -453,7 +478,7 @@ entries:
version: 2.0.5
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.278045102+08:00"
created: "2024-06-20T19:00:24.5073818+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -478,7 +503,7 @@ entries:
version: 2.0.4
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.271992996+08:00"
created: "2024-06-20T19:00:24.5023782+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -503,7 +528,7 @@ entries:
version: 2.0.3
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.233999216+08:00"
created: "2024-06-20T19:00:24.4677234+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -523,7 +548,7 @@ entries:
version: 2.0.2
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.15315779+08:00"
created: "2024-06-20T19:00:24.4088396+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -543,7 +568,7 @@ entries:
version: 2.0.1
- apiVersion: v2
appVersion: latest
created: "2024-05-15T13:07:51.148016187+08:00"
created: "2024-06-20T19:00:24.4051554+03:00"
dependencies:
- condition: nats.enabled
name: nats
Expand All @@ -561,4 +586,4 @@ entries:
urls:
- https://simplygoodsoftware.github.io/pyrus-datacenter-k8s/pyrus-datacenter-2.0.0.tgz
version: 2.0.0
generated: "2024-05-15T13:07:51.139922457+08:00"
generated: "2024-06-20T19:00:24.3999528+03:00"
Binary file added docs/pyrus-datacenter-2.0.24.tgz
Binary file not shown.
2 changes: 1 addition & 1 deletion pyrus-datacenter/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ maintainers:
type: application

## Helm chart version
version: 2.0.23
version: 2.0.24

## Pyrus default version
appVersion: "latest"
Expand Down
11 changes: 11 additions & 0 deletions pyrus-datacenter/templates/020-pyrus-postgresql-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ spec:
volumeMounts:
- name: {{ $cname }}-data
mountPath: /var/lib/postgresql/data
- name: {{ $cname }}-logs
mountPath: /var/log/postgresql
startupProbe:
exec:
command:
Expand Down Expand Up @@ -70,5 +72,14 @@ spec:
resources:
requests:
storage: {{ index .Values.volumeSize $cname }}
- metadata:
name: {{ $cname }}-logs
labels:
app: *name
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
{{- end }}
{{- end }}
11 changes: 11 additions & 0 deletions pyrus-datacenter/templates/030-pyrus-logs-pgsql-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ spec:
volumeMounts:
- name: {{ $cname }}-data
mountPath: /var/lib/postgresql/data
- name: {{ $cname }}-logs
mountPath: /var/log/postgresql
startupProbe:
exec:
command:
Expand Down Expand Up @@ -75,3 +77,12 @@ spec:
resources:
requests:
storage: {{ index .Values.volumeSize $cname }}
- metadata:
name: {{ $cname }}-logs
labels:
app: *name
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
32 changes: 28 additions & 4 deletions pyrus-datacenter/templates/pre-upgrade-preparation.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
{{- $nats := lookup "apps/v1" "StatefulSet" .Release.Namespace (include "nats.fullname" .Subcharts.nats) }}
{{- if $nats }}
{{- $mainDB := lookup "apps/v1" "StatefulSet" .Release.Namespace "pyrus-postgresql" }}
{{- $logsDB := lookup "apps/v1" "StatefulSet" .Release.Namespace "pyrus-logs-pgsql" }}
{{- if or $nats $logsDB }}
{{- $natsVersion := index (split "-" (index $nats.metadata.labels "helm.sh/chart")) "_1" }}
{{- $needNatsUpgrade := semverCompare "<0.18.2" $natsVersion }}
{{- $needPostgresUpgrade := false }}
{{- if $logsDB }}
{{- $needPostgresUpgrade = ne (len $logsDB.spec.volumeClaimTemplates) 2 }}
{{- end }}
{{- if (semverCompare ">=1.12.0" $.Values.tagsContainers.All) }}
{{- if (semverCompare "<0.18.2" $natsVersion) }}
{{- if or $needNatsUpgrade $needPostgresUpgrade }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
Expand All @@ -28,7 +35,13 @@ rules:
- patch
- apiGroups: ["apps"]
resourceNames:
{{- if or $needNatsUpgrade }}
- {{ include "nats.fullname" .Subcharts.nats }}
{{- end }}
{{- if or $needPostgresUpgrade }}
- "pyrus-postgresql"
- "pyrus-logs-pgsql"
{{- end }}
resources:
- statefulsets
verbs:
Expand Down Expand Up @@ -78,7 +91,7 @@ spec:
restartPolicy: Never
serviceAccountName: pre-upgrade-preparation
containers:
- name: nats-12-to-18
- name: pre-upgrade-preparation
image: bitnami/kubectl:1.28.6
command:
- /bin/sh
Expand Down Expand Up @@ -106,9 +119,20 @@ spec:
kubectl -n {{ $.Release.Namespace }} scale --replicas=0 deployment.apps/pyrus-identity-server || echo
kubectl -n {{ $.Release.Namespace }} wait --for=delete pod -l "app=pyrus-identity-server" || echo
{{- if $needNatsUpgrade }}
kubectl -n {{ $.Release.Namespace }} delete statefulset pyrus-datacenter-nats || echo
kubectl -n {{ $.Release.Namespace }} wait --for=delete pod -l "app.kubernetes.io/name=nats" || echo
{{- end }}

{{- if $needPostgresUpgrade }}
kubectl -n {{ $.Release.Namespace }} wait --for=delete pod -l "app.kubernetes.io/name=pyrus-logs-pgsql" || echo
kubectl -n {{ $.Release.Namespace }} delete statefulset pyrus-logs-pgsql || echo
{{- if $mainDB }}
kubectl -n {{ $.Release.Namespace }} delete statefulset pyrus-postgresql || echo
kubectl -n {{ $.Release.Namespace }} wait --for=delete pod -l "app.kubernetes.io/name=pyrus-postgresql" || echo
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

0 comments on commit 97dce64

Please sign in to comment.