diff --git a/docs/index.yaml b/docs/index.yaml index a30105d..3216ff0 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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" diff --git a/docs/pyrus-datacenter-2.0.24.tgz b/docs/pyrus-datacenter-2.0.24.tgz new file mode 100644 index 0000000..2285666 Binary files /dev/null and b/docs/pyrus-datacenter-2.0.24.tgz differ diff --git a/pyrus-datacenter/Chart.yaml b/pyrus-datacenter/Chart.yaml index d2278bc..405587d 100644 --- a/pyrus-datacenter/Chart.yaml +++ b/pyrus-datacenter/Chart.yaml @@ -19,7 +19,7 @@ maintainers: type: application ## Helm chart version -version: 2.0.23 +version: 2.0.24 ## Pyrus default version appVersion: "latest" diff --git a/pyrus-datacenter/templates/020-pyrus-postgresql-statefulset.yaml b/pyrus-datacenter/templates/020-pyrus-postgresql-statefulset.yaml index 06d3668..36af481 100644 --- a/pyrus-datacenter/templates/020-pyrus-postgresql-statefulset.yaml +++ b/pyrus-datacenter/templates/020-pyrus-postgresql-statefulset.yaml @@ -30,6 +30,8 @@ spec: volumeMounts: - name: {{ $cname }}-data mountPath: /var/lib/postgresql/data + - name: {{ $cname }}-logs + mountPath: /var/log/postgresql startupProbe: exec: command: @@ -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 }} diff --git a/pyrus-datacenter/templates/030-pyrus-logs-pgsql-statefulset.yaml b/pyrus-datacenter/templates/030-pyrus-logs-pgsql-statefulset.yaml index e2d3ac3..de36757 100644 --- a/pyrus-datacenter/templates/030-pyrus-logs-pgsql-statefulset.yaml +++ b/pyrus-datacenter/templates/030-pyrus-logs-pgsql-statefulset.yaml @@ -29,6 +29,8 @@ spec: volumeMounts: - name: {{ $cname }}-data mountPath: /var/lib/postgresql/data + - name: {{ $cname }}-logs + mountPath: /var/log/postgresql startupProbe: exec: command: @@ -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 \ No newline at end of file diff --git a/pyrus-datacenter/templates/pre-upgrade-preparation.yaml b/pyrus-datacenter/templates/pre-upgrade-preparation.yaml index bdbde31..6d302c9 100644 --- a/pyrus-datacenter/templates/pre-upgrade-preparation.yaml +++ b/pyrus-datacenter/templates/pre-upgrade-preparation.yaml @@ -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 @@ -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: @@ -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 @@ -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 }}