Error deploying Airbyte on Kubernetes with Azure Postgres Server

Summary

Error occurs when trying to deploy Airbyte on Kubernetes with Azure Postgres Server, temporal pod fails to start due to schema version compatibility check failure


Question

Hi all,
I am trying to deploy Airbyte on Kubernetes (AKS) using helm charts. I was able to make it work with the internal database. However, if I try to use it with Azure Postgres Server, the temporal pod does not get started and fails with the following error:

Unable to create server. Error: could not build arguments for function "<http://go.uber.org/fx|go.uber.org/fx>".(*module).constructCustomLogger.func2 (/go/pkg/mod/go.uber.org/fx@v1.20.0/module.go:251): failed to build fxevent.Logger: could not build arguments for function "<http://go.temporal.io/server/temporal|go.temporal.io/server/temporal>".init.func8 (/home/builder/temporal/temporal/fx.go:1029): failed to build log.Logger: received non-nil error from function "<http://go.temporal.io/server/temporal|go.temporal.io/server/temporal>".ServerOptionsProvider (/home/builder/temporal/temporal/fx.go:180): sql schema version compatibility check failed: unable to read DB schema version keyspace/database: temporal error: pq: relation "schema_version" does not exist.```

<br>

---

This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. [Click here](https://airbytehq.slack.com/archives/C021JANJ6TY/p1719491250424319) if you want 
to access the original thread.

[Join the conversation on Slack](https://slack.airbyte.com)

<sub>
["kubernetes", "azure-postgres-server", "helm-charts", "temporal-pod", "schema-version-compatibility", "error"]
</sub>

global.database:

    type: "external" # "external"

    # -- Secret name where database credentials are stored
    secretName: "db-secrets" # e.g. "airbyte-config-secrets"

    secretValue: "DATABASE_PASSWORD"

    # -- The database host
    host: "<http://server.postgres.database.azure.com|server.postgres.database.azure.com>"

    # -- The database port
    port: "5432"

    # -- The database name
    database: "airbyte_01"

    # -- The database user
    user: "postgres"
    # -- The key within `secretName` where the user is stored
    userSecretKey: "DATABASE_USER" # e.g. "database-user"

    # -- The database password
    password: ""

externalDatabase:


externalDatabase:
  # -- Database host
  host: "<http://server.postgres.database.azure.com|server.postgres.database.azure.com>"
  # -- non-root Username for Airbyte Database
  user: "postgres"
  # -- Database password
  password: ""
  # -- Name of an existing secret resource containing the DB password
  existingSecret: "db-secrets"
  # -- Name of an existing secret key containing the DB password
  existingSecretPasswordKey: "DATABASE_PASSWORD"
  # -- Database name
  database: "airbyte_01"
  # -- Database port number
  port: 5432
  # -- Database full JDBL URL (ex: jdbc:<postgresql://host>:port/db?parameters)
  jdbcUrl: ""```
I have also applied the db-secrets.yaml file:

```apiVersion: v1
kind: Secret
metadata:
  name: db-secrets
type: Opaque
stringData:
  DATABASE_PASSWORD: "&lt;PASSWORD&gt;"
  DATABASE_USER: "postgres"```

I have also created the temporal and temporal_visibility databases manually.