Skip to content

Refactor secrets helpers to automatically pull secrets from a complex deployment

Nicolas Dandrimont requested to merge mr/dry-secrets into staging

Introduces a couple of functions to generate:

  • a secrets dict from a deployment config dict, by
    • pulling the secrets key out of the dict
    • dereferencing any key ending with Ref as another config to walk
    • recursing into lists and dicts
  • merging multiple secrets dictionaries into one
    • and failing if an identical key references different secrets
  • converting a secrets dict into a list of container environment variable definitions

Then follows a series of commits to replace the old secrets helpers with the new one.

Most diffs are just reordering of the env lists, but there's two changes of note:

  • deposit.containers.deposit > the DJANGO_SECRET_KEY is removed from the runtime container (afaik it's only needed to generate the config.yaml?)
  • scheduler-journal-client.initContainers.prepare-confiuration > AMQP_PASSWORD added (unused but harmless)
  • swh-web > all deployments' initcontainers now get the same (full) set of secrets
helm-diff output helm-diff.html
[swh] Comparing changes between branches staging and mr/dry-secrets (per environment)...
Your branch is up to date with 'origin/staging'.
[swh] Generate config in staging branch for environment staging, namespace swh...
[swh] Generate config in staging branch for environment staging, namespace swh-cassandra...
[swh] Generate config in staging branch for environment staging, namespace swh-cassandra-next-version...
Your branch and 'origin/mr/dry-secrets' have diverged,
and have 24 and 22 different commits each, respectively.
  (use "git pull" if you want to integrate the remote branch with yours)
[swh] Generate config in mr/dry-secrets branch for environment staging...
[swh] Generate config in mr/dry-secrets branch for environment staging...
[swh] Generate config in mr/dry-secrets branch for environment staging...
Your branch is up to date with 'origin/staging'.
[swh] Generate config in staging branch for environment production, namespace swh...
[swh] Generate config in staging branch for environment production, namespace swh-cassandra...
[swh] Generate config in staging branch for environment production, namespace swh-cassandra-next-version...
Your branch and 'origin/mr/dry-secrets' have diverged,
and have 24 and 22 different commits each, respectively.
  (use "git pull" if you want to integrate the remote branch with yours)
[swh] Generate config in mr/dry-secrets branch for environment production...
[swh] Generate config in mr/dry-secrets branch for environment production...
[swh] Generate config in mr/dry-secrets branch for environment production...


------------- diff for environment staging namespace swh -------------

     _        __  __
   _| |_   _ / _|/ _|  between /tmp/swh-chart.swh.om7XZUHh/staging-swh.before, 111 documents
 / _' | | | | |_| |_       and /tmp/swh-chart.swh.om7XZUHh/staging-swh.after, 111 documents
| (_| | |_| |  _|  _|
 \__,_|\__, |_| |_|   returned eight differences
        |___/

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-journalchecker-directory)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   BROKER_USER_PASSWORD
    BROKER_USER_PASSWORD           SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-journalchecker-release)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   BROKER_USER_PASSWORD
    BROKER_USER_PASSWORD           SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-journalchecker-revision)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   BROKER_USER_PASSWORD
    BROKER_USER_PASSWORD           SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-journalchecker-snapshot)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   BROKER_USER_PASSWORD
    BROKER_USER_PASSWORD           SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-directory-hashes)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-directory-references)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration-scrubber-storage.env  (apps/v1/Deployment/swh/swh-toolbox)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/web-postgresql)
  ⇆ order changed
    POSTGRESQL_PASSWORD        SWH_SENTRY_DSN
    DJANGO_SECRET_KEY          DEPOSIT_PASSWORD
    DEPOSIT_PASSWORD           DEPOSIT_USERNAME
    DEPOSIT_USERNAME           DJANGO_SECRET_KEY
    GIVE_PRIVATE_TOKEN         GIVE_PRIVATE_TOKEN
    GIVE_PUBLIC_KEY            GIVE_PUBLIC_KEY
    INBOUND_EMAIL_SHARED_KEY   INBOUND_EMAIL_SHARED_KEY
    SWH_SENTRY_DSN             POSTGRESQL_PASSWORD


------------- diff for environment staging namespace swh-cassandra -------------

     _        __  __
   _| |_   _ / _|/ _|  between /tmp/swh-chart.swh.om7XZUHh/staging-swh-cassandra.before, 360 documents
 / _' | | | | |_| |_       and /tmp/swh-chart.swh.om7XZUHh/staging-swh-cassandra.after, 360 documents
| (_| | |_| |  _|  _|
 \__,_|\__, |_| |_|   returned 15 differences
        |___/

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-content)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-directory)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-extid)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-origin)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-release)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-revision)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-snapshot)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/deposit)
  ⇆ order changed
    POSTGRESQL_PASSWORD   SWH_SENTRY_DSN
    DJANGO_SECRET_KEY     ACCOUNT_KEY
    ACCOUNT_KEY           DJANGO_SECRET_KEY
    SWH_SENTRY_DSN        POSTGRESQL_PASSWORD
spec.template.spec.containers.deposit.env  (apps/v1/Deployment/swh-cassandra/deposit)
  - one list entry removed:
    - name: DJANGO_SECRET_KEY
      valueFrom:
        secretKeyRef:
          name: swh-deposit-django-secret
          key: deposit-django-secret-key
          # 'name' secret must exist & include that ^ key
    optional: false

spec.template.spec.initContainers.prepare-configuration  (apps/v1/Deployment/swh-cassandra/scheduler-journal-client)
  + one map entry added:
    env:
    - name: AMQP_PASSWORD
      valueFrom:
        secretKeyRef:
          name: amqp-secrets
          key: swhproducer-password
          optional: false

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/scrubber-storagechecker-directory-references)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   CASSANDRA_PASSWORD
    CASSANDRA_PASSWORD             SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration-scrubber-storage.env  (apps/v1/Deployment/swh-cassandra/swh-toolbox)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   CASSANDRA_PASSWORD
    CASSANDRA_PASSWORD             SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/vault-rpc)
  ⇆ order changed
    - POSTGRESQL_PASSWORD, ACCOUNT_KEY
    + ACCOUNT_KEY, POSTGRESQL_PASSWORD

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/web-cassandra)
  ⇆ order changed
    POSTGRESQL_PASSWORD        SWH_SENTRY_DSN
    DJANGO_SECRET_KEY          DEPOSIT_PASSWORD
    DEPOSIT_PASSWORD           DEPOSIT_USERNAME
    DEPOSIT_USERNAME           DJANGO_SECRET_KEY
    GIVE_PRIVATE_TOKEN         GIVE_PRIVATE_TOKEN
    GIVE_PUBLIC_KEY            GIVE_PUBLIC_KEY
    WEBHOOKS_SECRET            INBOUND_EMAIL_SHARED_KEY
    INBOUND_EMAIL_SHARED_KEY   POSTGRESQL_PASSWORD
    SWH_SENTRY_DSN             WEBHOOKS_SECRET
  + one list entry added:
    - name: PGPASSWORD
      valueFrom:
        secretKeyRef:
          name: swh-postgresql-syncmailmap-secret
          key: postgres-syncmailmap-password
          optional: false
  

spec.jobTemplate.spec.template.spec.initContainers.prepare-web-configuration.env  (batch/v1/CronJob/swh-cassandra/web-cassandra-sync-mailmaps-cronjob)
  ⇆ order changed
    POSTGRESQL_PASSWORD   SWH_SENTRY_DSN
    DJANGO_SECRET_KEY     DEPOSIT_PASSWORD
    DEPOSIT_PASSWORD      DEPOSIT_USERNAME
    DEPOSIT_USERNAME      DJANGO_SECRET_KEY
    GIVE_PRIVATE_TOKEN    GIVE_PRIVATE_TOKEN
    GIVE_PUBLIC_KEY       GIVE_PUBLIC_KEY
    SWH_SENTRY_DSN        POSTGRESQL_PASSWORD
  + three list entries added:
    - name: INBOUND_EMAIL_SHARED_KEY
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: web-inbound-email-shared-key
          optional: false
    - name: PGPASSWORD
      valueFrom:
        secretKeyRef:
          name: swh-postgresql-syncmailmap-secret
          key: postgres-syncmailmap-password
          optional: false
    - name: WEBHOOKS_SECRET
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: webhooks-secret
          optional: false
  



------------- diff for environment staging namespace swh-cassandra-next-version -------------

     _        __  __
   _| |_   _ / _|/ _|  between /tmp/swh-chart.swh.om7XZUHh/staging-swh-cassandra-next-version.before, 130 documents
 / _' | | | | |_| |_       and /tmp/swh-chart.swh.om7XZUHh/staging-swh-cassandra-next-version.after, 130 documents
| (_| | |_| |  _|  _|
 \__,_|\__, |_| |_|   returned two differences
        |___/

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra-next-version/vault-rpc)
  ⇆ order changed
    - POSTGRESQL_PASSWORD, ACCOUNT_KEY
    + ACCOUNT_KEY, POSTGRESQL_PASSWORD

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra-next-version/web-cassandra)
  ⇆ order changed
    POSTGRESQL_PASSWORD        SWH_SENTRY_DSN
    DJANGO_SECRET_KEY          DEPOSIT_PASSWORD
    DEPOSIT_PASSWORD           DEPOSIT_USERNAME
    DEPOSIT_USERNAME           DJANGO_SECRET_KEY
    GIVE_PRIVATE_TOKEN         GIVE_PRIVATE_TOKEN
    GIVE_PUBLIC_KEY            GIVE_PUBLIC_KEY
    WEBHOOKS_SECRET            INBOUND_EMAIL_SHARED_KEY
    INBOUND_EMAIL_SHARED_KEY   POSTGRESQL_PASSWORD
    SWH_SENTRY_DSN             WEBHOOKS_SECRET
  + one list entry added:
    - name: PGPASSWORD
      valueFrom:
        secretKeyRef:
          name: swh-postgresql-syncmailmap-secret
          key: postgres-syncmailmap-password
          optional: false
  



------------- diff for environment production namespace swh -------------

     _        __  __
   _| |_   _ / _|/ _|  between /tmp/swh-chart.swh.om7XZUHh/production-swh.before, 399 documents
 / _' | | | | |_| |_       and /tmp/swh-chart.swh.om7XZUHh/production-swh.after, 399 documents
| (_| | |_| |  _|  _|
 \__,_|\__, |_| |_|   returned 25 differences
        |___/

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/cooker-batch)
  ⇆ order changed
    AMQP_PASSWORD       ACCOUNT_NAME_0
    ACCOUNT_NAME_0      ACCOUNT_NAME_1
    ACCOUNT_NAME_1      ACCOUNT_NAME_10
    ACCOUNT_NAME_10     ACCOUNT_NAME_11
    ACCOUNT_NAME_11     ACCOUNT_NAME_12
    ACCOUNT_NAME_12     ACCOUNT_NAME_13
    ACCOUNT_NAME_13     ACCOUNT_NAME_14
    ACCOUNT_NAME_14     ACCOUNT_NAME_15
    ACCOUNT_NAME_15     ACCOUNT_NAME_2
    ACCOUNT_NAME_2      ACCOUNT_NAME_3
    ACCOUNT_NAME_3      ACCOUNT_NAME_4
    ACCOUNT_NAME_4      ACCOUNT_NAME_5
    ACCOUNT_NAME_5      ACCOUNT_NAME_6
    ACCOUNT_NAME_6      ACCOUNT_NAME_7
    ACCOUNT_NAME_7      ACCOUNT_NAME_8
    ACCOUNT_NAME_8      ACCOUNT_NAME_9
    ACCOUNT_NAME_9      AMQP_PASSWORD
    API_SECRET_KEY_0    API_SECRET_KEY_0
    API_SECRET_KEY_1    API_SECRET_KEY_1
    API_SECRET_KEY_10   API_SECRET_KEY_10
    API_SECRET_KEY_11   API_SECRET_KEY_11
    API_SECRET_KEY_12   API_SECRET_KEY_12
    API_SECRET_KEY_13   API_SECRET_KEY_13
    API_SECRET_KEY_14   API_SECRET_KEY_14
    API_SECRET_KEY_15   API_SECRET_KEY_15
    API_SECRET_KEY_2    API_SECRET_KEY_2
    API_SECRET_KEY_3    API_SECRET_KEY_3
    API_SECRET_KEY_4    API_SECRET_KEY_4
    API_SECRET_KEY_5    API_SECRET_KEY_5
    API_SECRET_KEY_6    API_SECRET_KEY_6
    API_SECRET_KEY_7    API_SECRET_KEY_7
    API_SECRET_KEY_8    API_SECRET_KEY_8
    API_SECRET_KEY_9    API_SECRET_KEY_9
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/cooker-simple)
  ⇆ order changed
    AMQP_PASSWORD       ACCOUNT_NAME_0
    ACCOUNT_NAME_0      ACCOUNT_NAME_1
    ACCOUNT_NAME_1      ACCOUNT_NAME_10
    ACCOUNT_NAME_10     ACCOUNT_NAME_11
    ACCOUNT_NAME_11     ACCOUNT_NAME_12
    ACCOUNT_NAME_12     ACCOUNT_NAME_13
    ACCOUNT_NAME_13     ACCOUNT_NAME_14
    ACCOUNT_NAME_14     ACCOUNT_NAME_15
    ACCOUNT_NAME_15     ACCOUNT_NAME_2
    ACCOUNT_NAME_2      ACCOUNT_NAME_3
    ACCOUNT_NAME_3      ACCOUNT_NAME_4
    ACCOUNT_NAME_4      ACCOUNT_NAME_5
    ACCOUNT_NAME_5      ACCOUNT_NAME_6
    ACCOUNT_NAME_6      ACCOUNT_NAME_7
    ACCOUNT_NAME_7      ACCOUNT_NAME_8
    ACCOUNT_NAME_8      ACCOUNT_NAME_9
    ACCOUNT_NAME_9      AMQP_PASSWORD
    API_SECRET_KEY_0    API_SECRET_KEY_0
    API_SECRET_KEY_1    API_SECRET_KEY_1
    API_SECRET_KEY_10   API_SECRET_KEY_10
    API_SECRET_KEY_11   API_SECRET_KEY_11
    API_SECRET_KEY_12   API_SECRET_KEY_12
    API_SECRET_KEY_13   API_SECRET_KEY_13
    API_SECRET_KEY_14   API_SECRET_KEY_14
    API_SECRET_KEY_15   API_SECRET_KEY_15
    API_SECRET_KEY_2    API_SECRET_KEY_2
    API_SECRET_KEY_3    API_SECRET_KEY_3
    API_SECRET_KEY_4    API_SECRET_KEY_4
    API_SECRET_KEY_5    API_SECRET_KEY_5
    API_SECRET_KEY_6    API_SECRET_KEY_6
    API_SECRET_KEY_7    API_SECRET_KEY_7
    API_SECRET_KEY_8    API_SECRET_KEY_8
    API_SECRET_KEY_9    API_SECRET_KEY_9
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/deposit)
  ⇆ order changed
    POSTGRESQL_PASSWORD   SWH_SENTRY_DSN
    DJANGO_SECRET_KEY     ACCOUNT_KEY
    ACCOUNT_KEY           DJANGO_SECRET_KEY
    SWH_SENTRY_DSN        POSTGRESQL_PASSWORD
spec.template.spec.containers.deposit.env  (apps/v1/Deployment/swh/deposit)
  - one list entry removed:
    - name: DJANGO_SECRET_KEY
      valueFrom:
        secretKeyRef:
          name: swh-deposit-django-secret
          key: deposit-django-secret-key
          # 'name' secret must exist & include that ^ key
    optional: false

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/indexer-content-mimetype)
  ⇆ order changed
    BROKER_USER            ACCOUNT_NAME_0
    BROKER_USER_PASSWORD   ACCOUNT_NAME_1
    ACCOUNT_NAME_0         ACCOUNT_NAME_10
    ACCOUNT_NAME_1         ACCOUNT_NAME_11
    ACCOUNT_NAME_10        ACCOUNT_NAME_12
    ACCOUNT_NAME_11        ACCOUNT_NAME_13
    ACCOUNT_NAME_12        ACCOUNT_NAME_14
    ACCOUNT_NAME_13        ACCOUNT_NAME_15
    ACCOUNT_NAME_14        ACCOUNT_NAME_2
    ACCOUNT_NAME_15        ACCOUNT_NAME_3
    ACCOUNT_NAME_2         ACCOUNT_NAME_4
    ACCOUNT_NAME_3         ACCOUNT_NAME_5
    ACCOUNT_NAME_4         ACCOUNT_NAME_6
    ACCOUNT_NAME_5         ACCOUNT_NAME_7
    ACCOUNT_NAME_6         ACCOUNT_NAME_8
    ACCOUNT_NAME_7         ACCOUNT_NAME_9
    ACCOUNT_NAME_8         API_SECRET_KEY_0
    ACCOUNT_NAME_9         API_SECRET_KEY_1
    API_SECRET_KEY_0       API_SECRET_KEY_10
    API_SECRET_KEY_1       API_SECRET_KEY_11
    API_SECRET_KEY_10      API_SECRET_KEY_12
    API_SECRET_KEY_11      API_SECRET_KEY_13
    API_SECRET_KEY_12      API_SECRET_KEY_14
    API_SECRET_KEY_13      API_SECRET_KEY_15
    API_SECRET_KEY_14      API_SECRET_KEY_2
    API_SECRET_KEY_15      API_SECRET_KEY_3
    API_SECRET_KEY_2       API_SECRET_KEY_4
    API_SECRET_KEY_3       API_SECRET_KEY_5
    API_SECRET_KEY_4       API_SECRET_KEY_6
    API_SECRET_KEY_5       API_SECRET_KEY_7
    API_SECRET_KEY_6       API_SECRET_KEY_8
    API_SECRET_KEY_7       API_SECRET_KEY_9
    API_SECRET_KEY_8       BROKER_USER
    API_SECRET_KEY_9       BROKER_USER_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/indexer-extrinsic)
  ⇆ order changed
    BROKER_USER            ACCOUNT_NAME_0
    BROKER_USER_PASSWORD   ACCOUNT_NAME_1
    ACCOUNT_NAME_0         ACCOUNT_NAME_10
    ACCOUNT_NAME_1         ACCOUNT_NAME_11
    ACCOUNT_NAME_10        ACCOUNT_NAME_12
    ACCOUNT_NAME_11        ACCOUNT_NAME_13
    ACCOUNT_NAME_12        ACCOUNT_NAME_14
    ACCOUNT_NAME_13        ACCOUNT_NAME_15
    ACCOUNT_NAME_14        ACCOUNT_NAME_2
    ACCOUNT_NAME_15        ACCOUNT_NAME_3
    ACCOUNT_NAME_2         ACCOUNT_NAME_4
    ACCOUNT_NAME_3         ACCOUNT_NAME_5
    ACCOUNT_NAME_4         ACCOUNT_NAME_6
    ACCOUNT_NAME_5         ACCOUNT_NAME_7
    ACCOUNT_NAME_6         ACCOUNT_NAME_8
    ACCOUNT_NAME_7         ACCOUNT_NAME_9
    ACCOUNT_NAME_8         API_SECRET_KEY_0
    ACCOUNT_NAME_9         API_SECRET_KEY_1
    API_SECRET_KEY_0       API_SECRET_KEY_10
    API_SECRET_KEY_1       API_SECRET_KEY_11
    API_SECRET_KEY_10      API_SECRET_KEY_12
    API_SECRET_KEY_11      API_SECRET_KEY_13
    API_SECRET_KEY_12      API_SECRET_KEY_14
    API_SECRET_KEY_13      API_SECRET_KEY_15
    API_SECRET_KEY_14      API_SECRET_KEY_2
    API_SECRET_KEY_15      API_SECRET_KEY_3
    API_SECRET_KEY_2       API_SECRET_KEY_4
    API_SECRET_KEY_3       API_SECRET_KEY_5
    API_SECRET_KEY_4       API_SECRET_KEY_6
    API_SECRET_KEY_5       API_SECRET_KEY_7
    API_SECRET_KEY_6       API_SECRET_KEY_8
    API_SECRET_KEY_7       API_SECRET_KEY_9
    API_SECRET_KEY_8       BROKER_USER
    API_SECRET_KEY_9       BROKER_USER_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/objstorage-replayer-winery)
  ⇆ order changed
    BROKER_USER            ACCOUNT_NAME_0
    BROKER_USER_PASSWORD   ACCOUNT_NAME_1
    ACCOUNT_NAME_0         ACCOUNT_NAME_10
    ACCOUNT_NAME_1         ACCOUNT_NAME_11
    ACCOUNT_NAME_10        ACCOUNT_NAME_12
    ACCOUNT_NAME_11        ACCOUNT_NAME_13
    ACCOUNT_NAME_12        ACCOUNT_NAME_14
    ACCOUNT_NAME_13        ACCOUNT_NAME_15
    ACCOUNT_NAME_14        ACCOUNT_NAME_2
    ACCOUNT_NAME_15        ACCOUNT_NAME_3
    ACCOUNT_NAME_2         ACCOUNT_NAME_4
    ACCOUNT_NAME_3         ACCOUNT_NAME_5
    ACCOUNT_NAME_4         ACCOUNT_NAME_6
    ACCOUNT_NAME_5         ACCOUNT_NAME_7
    ACCOUNT_NAME_6         ACCOUNT_NAME_8
    ACCOUNT_NAME_7         ACCOUNT_NAME_9
    ACCOUNT_NAME_8         API_SECRET_KEY_0
    ACCOUNT_NAME_9         API_SECRET_KEY_1
    API_SECRET_KEY_0       API_SECRET_KEY_10
    API_SECRET_KEY_1       API_SECRET_KEY_11
    API_SECRET_KEY_10      API_SECRET_KEY_12
    API_SECRET_KEY_11      API_SECRET_KEY_13
    API_SECRET_KEY_12      API_SECRET_KEY_14
    API_SECRET_KEY_13      API_SECRET_KEY_15
    API_SECRET_KEY_14      API_SECRET_KEY_2
    API_SECRET_KEY_15      API_SECRET_KEY_3
    API_SECRET_KEY_2       API_SECRET_KEY_4
    API_SECRET_KEY_3       API_SECRET_KEY_5
    API_SECRET_KEY_4       API_SECRET_KEY_6
    API_SECRET_KEY_5       API_SECRET_KEY_7
    API_SECRET_KEY_6       API_SECRET_KEY_8
    API_SECRET_KEY_7       API_SECRET_KEY_9
    API_SECRET_KEY_8       BROKER_USER
    API_SECRET_KEY_9       BROKER_USER_PASSWORD
spec.template.spec.initContainers.prepare-configuration  (apps/v1/Deployment/swh/scheduler-journal-client)
  + one map entry added:
    env:
    - name: AMQP_PASSWORD
      valueFrom:
        secretKeyRef:
          name: amqp-secrets
          key: swhproducer-password
          optional: false

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-journalchecker-release)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   BROKER_USER
    BROKER_USER                    BROKER_USER_PASSWORD
    BROKER_USER_PASSWORD           SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-journalchecker-revision)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   BROKER_USER
    BROKER_USER                    BROKER_USER_PASSWORD
    BROKER_USER_PASSWORD           SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-journalchecker-snapshot)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   BROKER_USER
    BROKER_USER                    BROKER_USER_PASSWORD
    BROKER_USER_PASSWORD           SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-primary-directory-hashes)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-primary-directory-references)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-secondary-directory-hashes)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-secondary-directory-references)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-secondary-snapshot-hashes)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/scrubber-storagechecker-secondary-snapshot-references)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration-scrubber-storage-primary.env  (apps/v1/Deployment/swh/swh-toolbox)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration-scrubber-storage-secondary.env  (apps/v1/Deployment/swh/swh-toolbox)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   POSTGRESQL_PASSWORD
    POSTGRESQL_PASSWORD            SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/vault-rpc)
  ⇆ order changed
    POSTGRESQL_PASSWORD   ACCOUNT_KEY
    ACCOUNT_KEY           ACCOUNT_NAME_0
    ACCOUNT_NAME_0        ACCOUNT_NAME_1
    ACCOUNT_NAME_1        ACCOUNT_NAME_10
    ACCOUNT_NAME_10       ACCOUNT_NAME_11
    ACCOUNT_NAME_11       ACCOUNT_NAME_12
    ACCOUNT_NAME_12       ACCOUNT_NAME_13
    ACCOUNT_NAME_13       ACCOUNT_NAME_14
    ACCOUNT_NAME_14       ACCOUNT_NAME_15
    ACCOUNT_NAME_15       ACCOUNT_NAME_2
    ACCOUNT_NAME_2        ACCOUNT_NAME_3
    ACCOUNT_NAME_3        ACCOUNT_NAME_4
    ACCOUNT_NAME_4        ACCOUNT_NAME_5
    ACCOUNT_NAME_5        ACCOUNT_NAME_6
    ACCOUNT_NAME_6        ACCOUNT_NAME_7
    ACCOUNT_NAME_7        ACCOUNT_NAME_8
    ACCOUNT_NAME_8        ACCOUNT_NAME_9
    ACCOUNT_NAME_9        API_SECRET_KEY_0
    API_SECRET_KEY_0      API_SECRET_KEY_1
    API_SECRET_KEY_1      API_SECRET_KEY_10
    API_SECRET_KEY_10     API_SECRET_KEY_11
    API_SECRET_KEY_11     API_SECRET_KEY_12
    API_SECRET_KEY_12     API_SECRET_KEY_13
    API_SECRET_KEY_13     API_SECRET_KEY_14
    API_SECRET_KEY_14     API_SECRET_KEY_15
    API_SECRET_KEY_15     API_SECRET_KEY_2
    API_SECRET_KEY_2      API_SECRET_KEY_3
    API_SECRET_KEY_3      API_SECRET_KEY_4
    API_SECRET_KEY_4      API_SECRET_KEY_5
    API_SECRET_KEY_5      API_SECRET_KEY_6
    API_SECRET_KEY_6      API_SECRET_KEY_7
    API_SECRET_KEY_7      API_SECRET_KEY_8
    API_SECRET_KEY_8      API_SECRET_KEY_9
    API_SECRET_KEY_9      POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/web-app1)
  ⇆ order changed
    POSTGRESQL_PASSWORD            SWH_SENTRY_DSN
    DJANGO_SECRET_KEY              DEPOSIT_PASSWORD
    DJANGO_SECRET_KEY_FALLBACK_1   DEPOSIT_USERNAME
    DJANGO_SECRET_KEY_FALLBACK_2   DJANGO_SECRET_KEY
    DEPOSIT_PASSWORD               DJANGO_SECRET_KEY_FALLBACK_1
    DEPOSIT_USERNAME               DJANGO_SECRET_KEY_FALLBACK_2
    GIVE_PRIVATE_TOKEN             GITLAB_AFN_TOKEN
    GIVE_PUBLIC_KEY                GIVE_PRIVATE_TOKEN
    GITLAB_AFN_TOKEN               GIVE_PUBLIC_KEY
    SWH_SENTRY_DSN                 POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh/web-archive)
  ⇆ order changed
    POSTGRESQL_PASSWORD            SWH_SENTRY_DSN
    DJANGO_SECRET_KEY              DEPOSIT_PASSWORD
    DJANGO_SECRET_KEY_FALLBACK_1   DEPOSIT_USERNAME
    DJANGO_SECRET_KEY_FALLBACK_2   DJANGO_SECRET_KEY
    DEPOSIT_PASSWORD               DJANGO_SECRET_KEY_FALLBACK_1
    DEPOSIT_USERNAME               DJANGO_SECRET_KEY_FALLBACK_2
    GIVE_PRIVATE_TOKEN             GITLAB_AFN_TOKEN
    GIVE_PUBLIC_KEY                GIVE_PRIVATE_TOKEN
    GITLAB_AFN_TOKEN               GIVE_PUBLIC_KEY
    INBOUND_EMAIL_SHARED_KEY       INBOUND_EMAIL_SHARED_KEY
    SWH_SENTRY_DSN                 POSTGRESQL_PASSWORD
  + one list entry added:
    - name: PGPASSWORD
      valueFrom:
        secretKeyRef:
          name: swh-postgresql-syncmailmap-secret
          key: postgres-syncmailmap-password
          optional: false
  

spec.jobTemplate.spec.template.spec.initContainers.prepare-configuration.env  (batch/v1/CronJob/create-object-reference-partitions-cronjob)
  + 32 list entries added:
    - name: ACCOUNT_NAME_0
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 0_account_name
          optional: false
    - name: ACCOUNT_NAME_1
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 1_account_name
          optional: false
    - name: ACCOUNT_NAME_10
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 10_account_name
          optional: false
    - name: ACCOUNT_NAME_11
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 11_account_name
          optional: false
    - name: ACCOUNT_NAME_12
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 12_account_name
          optional: false
    - name: ACCOUNT_NAME_13
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 13_account_name
          optional: false
    - name: ACCOUNT_NAME_14
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 14_account_name
          optional: false
    - name: ACCOUNT_NAME_15
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 15_account_name
          optional: false
    - name: ACCOUNT_NAME_2
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 2_account_name
          optional: false
    - name: ACCOUNT_NAME_3
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 3_account_name
          optional: false
    - name: ACCOUNT_NAME_4
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 4_account_name
          optional: false
    - name: ACCOUNT_NAME_5
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 5_account_name
          optional: false
    - name: ACCOUNT_NAME_6
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 6_account_name
          optional: false
    - name: ACCOUNT_NAME_7
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 7_account_name
          optional: false
    - name: ACCOUNT_NAME_8
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 8_account_name
          optional: false
    - name: ACCOUNT_NAME_9
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 9_account_name
          optional: false
    - name: API_SECRET_KEY_0
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 0_api_secret_key
          optional: false
    - name: API_SECRET_KEY_1
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 1_api_secret_key
          optional: false
    - name: API_SECRET_KEY_10
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 10_api_secret_key
          optional: false
    - name: API_SECRET_KEY_11
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 11_api_secret_key
          optional: false
    - name: API_SECRET_KEY_12
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 12_api_secret_key
          optional: false
    - name: API_SECRET_KEY_13
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 13_api_secret_key
          optional: false
    - name: API_SECRET_KEY_14
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 14_api_secret_key
          optional: false
    - name: API_SECRET_KEY_15
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 15_api_secret_key
          optional: false
    - name: API_SECRET_KEY_2
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 2_api_secret_key
          optional: false
    - name: API_SECRET_KEY_3
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 3_api_secret_key
          optional: false
    - name: API_SECRET_KEY_4
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 4_api_secret_key
          optional: false
    - name: API_SECRET_KEY_5
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 5_api_secret_key
          optional: false
    - name: API_SECRET_KEY_6
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 6_api_secret_key
          optional: false
    - name: API_SECRET_KEY_7
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 7_api_secret_key
          optional: false
    - name: API_SECRET_KEY_8
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 8_api_secret_key
          optional: false
    - name: API_SECRET_KEY_9
      valueFrom:
        secretKeyRef:
          name: swh-objstorage-config
          key: 9_api_secret_key
          optional: false

spec.jobTemplate.spec.template.spec.initContainers.prepare-web-configuration.env  (batch/v1/CronJob/swh/web-archive-refresh-savecodenow-statuses-cronjob)
  ⇆ order changed
    POSTGRESQL_PASSWORD            SWH_SENTRY_DSN
    DJANGO_SECRET_KEY              DEPOSIT_PASSWORD
    DJANGO_SECRET_KEY_FALLBACK_1   DEPOSIT_USERNAME
    DJANGO_SECRET_KEY_FALLBACK_2   DJANGO_SECRET_KEY
    DEPOSIT_PASSWORD               DJANGO_SECRET_KEY_FALLBACK_1
    DEPOSIT_USERNAME               DJANGO_SECRET_KEY_FALLBACK_2
    GIVE_PRIVATE_TOKEN             GIVE_PRIVATE_TOKEN
    GIVE_PUBLIC_KEY                GIVE_PUBLIC_KEY
    SWH_SENTRY_DSN                 POSTGRESQL_PASSWORD
  + three list entries added:
    - name: GITLAB_AFN_TOKEN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: gitlab_afn_token
          optional: false
    - name: INBOUND_EMAIL_SHARED_KEY
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: web-inbound-email-shared-key
          optional: false
    - name: PGPASSWORD
      valueFrom:
        secretKeyRef:
          name: swh-postgresql-syncmailmap-secret
          key: postgres-syncmailmap-password
          optional: false
  

spec.jobTemplate.spec.template.spec.initContainers.prepare-web-configuration.env  (batch/v1/CronJob/swh/web-archive-sync-mailmaps-cronjob)
  ⇆ order changed
    POSTGRESQL_PASSWORD            SWH_SENTRY_DSN
    DJANGO_SECRET_KEY              DEPOSIT_PASSWORD
    DJANGO_SECRET_KEY_FALLBACK_1   DEPOSIT_USERNAME
    DJANGO_SECRET_KEY_FALLBACK_2   DJANGO_SECRET_KEY
    DEPOSIT_PASSWORD               DJANGO_SECRET_KEY_FALLBACK_1
    DEPOSIT_USERNAME               DJANGO_SECRET_KEY_FALLBACK_2
    GIVE_PRIVATE_TOKEN             GIVE_PRIVATE_TOKEN
    GIVE_PUBLIC_KEY                GIVE_PUBLIC_KEY
    SWH_SENTRY_DSN                 POSTGRESQL_PASSWORD
  + three list entries added:
    - name: GITLAB_AFN_TOKEN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: gitlab_afn_token
          optional: false
    - name: INBOUND_EMAIL_SHARED_KEY
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: web-inbound-email-shared-key
          optional: false
    - name: PGPASSWORD
      valueFrom:
        secretKeyRef:
          name: swh-postgresql-syncmailmap-secret
          key: postgres-syncmailmap-password
          optional: false
  



------------- diff for environment production namespace swh-cassandra -------------

     _        __  __
   _| |_   _ / _|/ _|  between /tmp/swh-chart.swh.om7XZUHh/production-swh-cassandra.before, 109 documents
 / _' | | | | |_| |_       and /tmp/swh-chart.swh.om7XZUHh/production-swh-cassandra.after, 109 documents
| (_| | |_| |  _|  _|
 \__,_|\__, |_| |_|   returned eleven differences
        |___/

spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-content)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-directory)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-extid)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-origin)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-origin-visit)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-origin-visit-status)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/cassandra-checks-revision)
  ⇆ order changed
    POSTGRESQL_PASSWORD    BROKER_USER
    CASSANDRA_PASSWORD     BROKER_USER_PASSWORD
    BROKER_USER            CASSANDRA_PASSWORD
    BROKER_USER_PASSWORD   POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/scrubber-storagechecker-directory-hashes)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   CASSANDRA_PASSWORD
    CASSANDRA_PASSWORD             SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/scrubber-storagechecker-directory-references)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   CASSANDRA_PASSWORD
    CASSANDRA_PASSWORD             SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration-scrubber-storage.env  (apps/v1/Deployment/swh-cassandra/swh-toolbox)
  ⇆ order changed
    SCRUBBER_POSTGRESQL_PASSWORD   CASSANDRA_PASSWORD
    CASSANDRA_PASSWORD             SCRUBBER_POSTGRESQL_PASSWORD
spec.template.spec.initContainers.prepare-configuration.env  (apps/v1/Deployment/swh-cassandra/web-cassandra)
  ⇆ order changed
    POSTGRESQL_PASSWORD        SWH_SENTRY_DSN
    DJANGO_SECRET_KEY          DEPOSIT_PASSWORD
    DEPOSIT_PASSWORD           DEPOSIT_USERNAME
    DEPOSIT_USERNAME           DJANGO_SECRET_KEY
    GIVE_PRIVATE_TOKEN         GITLAB_AFN_TOKEN
    GIVE_PUBLIC_KEY            GIVE_PRIVATE_TOKEN
    GITLAB_AFN_TOKEN           GIVE_PUBLIC_KEY
    INBOUND_EMAIL_SHARED_KEY   INBOUND_EMAIL_SHARED_KEY
    SWH_SENTRY_DSN             POSTGRESQL_PASSWORD
Edited by Nicolas Dandrimont

Merge request reports