swh/production: Add the secondary db configuration for the toolbox
It's necessary to apply the db migration on the secondary db server
Related to swh/infra/sysadm-environment#5152 (closed)
helm diff
[swh] Comparing changes between branches production and toolbox-pg-secondary (per environment)...
Your branch is up to date with 'origin/production'.
[swh] Generate config in production branch for environment staging, namespace swh...
[swh] Generate config in production branch for environment staging, namespace swh-cassandra...
[swh] Generate config in production branch for environment staging, namespace swh-cassandra-next-version...
[swh] Generate config in toolbox-pg-secondary branch for environment staging...
[swh] Generate config in toolbox-pg-secondary branch for environment staging...
[swh] Generate config in toolbox-pg-secondary branch for environment staging...
Your branch is up to date with 'origin/production'.
[swh] Generate config in production branch for environment production, namespace swh...
[swh] Generate config in production branch for environment production, namespace swh-cassandra...
[swh] Generate config in production branch for environment production, namespace swh-cassandra-next-version...
[swh] Generate config in toolbox-pg-secondary branch for environment production...
[swh] Generate config in toolbox-pg-secondary branch for environment production...
[swh] Generate config in toolbox-pg-secondary branch for environment production...
------------- diff for environment staging namespace swh -------------
No differences
------------- diff for environment staging namespace swh-cassandra -------------
No differences
------------- diff for environment staging namespace swh-cassandra-next-version -------------
No differences
------------- diff for environment production namespace swh -------------
--- /tmp/swh-chart.swh.j2LDPslN/production-swh.before 2023-11-15 18:31:31.778174852 +0100
+++ /tmp/swh-chart.swh.j2LDPslN/production-swh.after 2023-11-15 18:31:32.074176076 +0100
@@ -5365,20 +5365,32 @@
kind: ConfigMap
metadata:
name: toolbox-storage-template
namespace: swh
data:
config.yml.template: |
storage:
cls: postgresql
db: host=db.internal.softwareheritage.org port=5432 user=swhstorage dbname=softwareheritage password=${POSTGRESQL_PASSWORD}
---
+# Source: swh/templates/toolbox/configmap.yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: toolbox-storage-secondary-template
+ namespace: swh
+data:
+ config.yml.template: |
+ storage:
+ cls: postgresql
+ db: host=massmoca.internal.softwareheritage.org port=5432 user=swhstorage dbname=softwareheritage password=${POSTGRESQL_PASSWORD}
+---
# Source: swh/templates/toolbox/script-utils-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: toolbox-script-utils
namespace: swh
data:
register-task-types.sh: |
#!/bin/bash
@@ -5530,20 +5542,35 @@
set -eu
/opt/swh/bin/check-db-version.sh storage
migrate-storage-db-version.sh: |
#!/bin/bash
set -eu
/opt/swh/bin/migrate-db-version.sh storage
+
+
+ check-storage-secondary-db-version.sh: |
+ #!/bin/bash
+
+ set -eu
+
+ /opt/swh/bin/check-db-version.sh storage-secondary
+
+ migrate-storage-secondary-db-version.sh: |
+ #!/bin/bash
+
+ set -eu
+
+ /opt/swh/bin/migrate-db-version.sh storage-secondary
---
# Source: swh/templates/utils/database-utils.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: database-utils
namespace: swh
data:
init-keyspace.py: |
from swh.core import config
@@ -15885,22 +15912,22 @@
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
template:
metadata:
labels:
app: swh-toolbox
annotations:
# Force a rollout upgrade if the configuration changes
- checksum/config: 42df14c73436ec831db8ade97beda17264fc9630bcfb04ebbef792cf1bee84b3
- checksum/configScript: b501ac689b17f791ba2e2e36970cbc651b3947ca89b59a3efd667be5ceb13a08
+ checksum/config: b4fac72f5d9637a24d02dd53ea47c84b9a7dddb3a1194a6bd29a1aeac3014127
+ checksum/configScript: 663c64a77cb64ac413bb3014e6a87dbd2c528b0b92f716d79ebaeb200d76c6da
spec:
priorityClassName: swh-tools
initContainers:
- name: prepare-configuration-indexer-storage
image: debian:bullseye
imagePullPolicy: IfNotPresent
command:
- /bin/bash
args:
@@ -16085,20 +16112,45 @@
key: postgres-swh-storage-password
# 'name' secret must exist & include that ^ key
optional: false
volumeMounts:
- name: configuration
mountPath: /etc/swh
- name: configuration-storage-template
mountPath: /etc/swh/configuration-template
+ - name: prepare-configuration-storage-secondary
+ image: debian:bullseye
+ imagePullPolicy: IfNotPresent
+ command:
+ - /bin/bash
+ args:
+ - -c
+ - eval echo "\"$(</etc/swh/configuration-template/config.yml.template)\"" > /etc/swh/config-storage-secondary.yml
+ env:
+
+
+ - name: POSTGRESQL_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: swh-storage-postgresql-common-secret
+ key: postgres-swh-storage-password
+ # 'name' secret must exist & include that ^ key
+ optional: false
+
+
+ volumeMounts:
+ - name: configuration
+ mountPath: /etc/swh
+ - name: configuration-storage-secondary-template
+ mountPath: /etc/swh/configuration-template
containers:
- name: swh-toolbox
image: container-registry.softwareheritage.org/swh/infra/swh-apps/toolbox:20231114.2
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 256Mi
cpu: 250m
command:
- /bin/bash
@@ -16156,20 +16208,28 @@
path: "config.yml.template"
- name: configuration-storage-template
configMap:
name: toolbox-storage-template
defaultMode: 0777
items:
- key: "config.yml.template"
path: "config.yml.template"
+ - name: configuration-storage-secondary-template
+ configMap:
+ name: toolbox-storage-secondary-template
+ defaultMode: 0777
+ items:
+ - key: "config.yml.template"
+ path: "config.yml.template"
+
- name: toolbox-script-utils
configMap:
name: toolbox-script-utils
defaultMode: 0555
---
# Source: swh/templates/scheduler/update-metrics-cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: scheduler-update-metrics-cronjob
------------- diff for environment production namespace swh-cassandra -------------
No differences