Dual Visibility - Mysql/Postgres

Hey all,

Could use some guidance. I have been trying get dual visibility to work, but unfortunately I keep running into helm chart errors. For context, I want to switch our MySQL Visibility DB to Postgres. I first want to set up dual visibility so we can plan a proper switch. I have tested Postgres and it is able to connect.

We are using Temporal version 1.28.0

Here is a sample of what my yaml looks like for dual visibility:

config:
    persistence:
      defaultStore: default
      visibilityStore: mysql-visibility
      secondaryVisibilityStore: postgres-visibility

      default:
        sql:
          host: "mysql-dev.mysql.database.azure.com"
          port: 3306
          database: "temporal"
          user:  <+secrets.getValue("dev_user")>
          password: '<+secrets.getValue("dev_pw")>'

      additionalStores:
        mysql-visibility:
          sql:
            driver: "mysql8"
            host: "mysql-dev.mysql.database.azure.com"
            port: 3306
            database: "temporal_visibility"
            user: <+secrets.getValue("dev_user")>
            password: '<+secrets.getValue("dev_pw")>'

        postgres-visibility:
          sql:
            driver: "postgres12"
            host: "postgresql-dev.postgres.database.azure.com"
            port: 5432
            database: "temporal_visibility_pg"
            user: <+secrets.getValue("postgres_visibility_dev_user")>
            password: '<+secrets.getValue("postgres_visibility_dev_pw")>'
            tls:
              enabled: true
              certFile: ""
              keyFile: ""
              caFile: ""
              serverName: ""
              disableHostVerification: false

 dynamicConfig:
   performance
    history.cacheInitialSize:
      - value: 128
        constraints: {}
    history.cacheMaxSize:
      - value: 384
        constraints: {}
    history.eventsCacheInitialSize:
      - value: 128
        constraints: {}
    history.eventsCacheMaxSize:
      - value: 384
        constraints: {}
    system.secondaryVisibilityWritingMode:
      - value: "dual"
        constraints: {}
    system.enableReadFromSecondaryVisibility:
      - value: false
        constraints: {}

I have tried different iterations as well like:

additionalStores:
        mysql-visibility:
          sql:
            pluginName: "mysql8"
            driverName: "mysql8"
            connectAddr: "mysql-dev.mysql.database.azure.com:3306"
            connectProtocol: "tcp"
            databaseName: "temporal_visibility"
            user: <+secrets.getValue("dev_user")>
            password: '<+secrets.getValue("dev_pw")>'

        postgres-visibility:
          sql:
            pluginName: "postgres12"
            driverName: "postgres12"
            connectAddr: "postgresql-dev.postgres.database.azure.com:5432"
            connectProtocol: "tcp"
            databaseName: "temporal_visibility_pg"
            user: <+secrets.getValue("postgres_visibility_dev_user")>
            password: '<+secrets.getValue("postgres_visibility_dev_pw")>'
            tls:
              enabled: true
              certFile: ""
              keyFile: ""
              caFile: ""
              serverName: ""
              disableHostVerification: false

but still no luck.
Sometimes our deploy will pass, but it seems like dual visibility gets ignored.

Is there any documentation I can refer to in order to get the correct strcuture?

For general setup for dual visibility for sql vis see sample repo here.
For static config see custom template here and follow env var ENABLE_SECONDARY_VISIBILITY