Upgrading All Sub-Domains at Once

Upgrade all engines to upgrade_version with the following contents in topology-upgrade_version.yaml:

engine:
  enabled: true
   
global:
  configurationSources:
    pricing-config-s1:
      docker:
        image: example-pricing-sideloader-s1:upgrade_version
    pricing-config-s2:
      docker:
        image: example-pricing-sideloader-s2:upgrade_version
    pricing-config-s3:
      docker:
        image: example-pricing-sideloader-s3:upgrade_version
  topology:
    operators:
      master:
        context: context1
        namespace: matrixx-operators
      agents:
      - context: context1
        namespace: matrixx-operators
        externalAddress: topology-agent-1 external address
      - context: context2
        namespace: matrixx-operators
        externalAddress: topology-agent-2 external address
    domains:
    - subdomains:
      - pricing:
          configurationSource:
            refName: pricing-config-s1
        engines:
        - context: context1
          namespace: matrixx-engine-s1
          processing:
            externalAddress: proc-cls-s1e1 external address
          publishing:
            externalAddress: publ-cls-s1e1 external address
        - context: context2
          namespace: matrixx-engine-s1
          processing:
            externalAddress: proc-cls-s1e2 external address
          publishing:
            externalAddress: publ-cls-s1e2 external address
      - pricing:
          configurationSource:
            refName: pricing-config-s2
        engines:
        - context: context1
          namespace: matrixx-engine-s2
          processing:
            externalAddress: proc-cls-s2e1 external address
          publishing:
            externalAddress: publ-cls-s2e1 external address
        - context: context2
          namespace: matrixx-engine-s2
          processing:
            externalAddress: proc-cls-s2e2 external address
          publishing:
            externalAddress: publ-cls-s2e2 external address
      - pricing:
          configurationSource:
            refName: pricing-config-s3
        engines:
        - context: context1
          namespace: matrixx-engine-s3
          processing:
            externalAddress: proc-cls-s3e1 external address
          publishing:
            externalAddress: publ-cls-s3e1 external address
        - context: context2
          namespace: matrixx-engine-s3
          processing:
            externalAddress: proc-cls-s3e2 external address
          publishing:
            externalAddress: publ-cls-s3e2 external address
   
pricing-controller:
  enabled: true

Running the Helm upgrade commands in the usual order effectively upgrades all of the sub-domains at once. This is the default behavior:

helm --kube-context context1 upgrade mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-upgrade_version.yaml -f cluster1.yaml --version upgrade_version
helm --kube-context context2 upgrade mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-upgrade_version.yaml -f cluster2.yaml --version upgrade_version
helm --kube-context context1 upgrade mtx-engine-s2 matrixx/matrixx -n matrixx-engine-s2 -f base.yaml -f topology-upgrade_version.yaml -f cluster1.yaml --version upgrade_version
helm --kube-context context2 upgrade mtx-engine-s2 matrixx/matrixx -n matrixx-engine-s2 -f base.yaml -f topology-upgrade_version.yaml -f cluster2.yaml --version upgrade_version
helm --kube-context context1 upgrade mtx-engine-s3 matrixx/matrixx -n matrixx-engine-s3 -f base.yaml -f topology-upgrade_version.yaml -f cluster1.yaml --version upgrade_version
helm --kube-context context2 upgrade mtx-engine-s3 matrixx/matrixx -n matrixx-engine-s3 -f base.yaml -f topology-upgrade_version.yaml -f cluster2.yaml --version upgrade_version
helm --kube-context context2 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-upgrade_version.yaml -f cluster2.yaml --version upgrade_version
helm --kube-context context1 upgrade mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-upgrade_version.yaml -f cluster1.yaml --version upgrade_version