Skip to main content

Upgrading Airbyte

AvailableCoreNot availableStandardNot availablePlusNot availableProNot availableEnterprise Flex Compare

Upgrades require temporarily turning off Airbyte. During upgrades, Airbyte will attempt to upgrade some connector versions. The following rules determine which connectors may be automatically upgraded:

  1. If you're not using a connector, Airbyte upgrades it to the latest version.

  2. If you're using a connector, Airbyte does not upgrade it, to avoid disrupting your work. If you want to upgrade a specific connector, do so from the settings page.

Refer to Managing Connector Updates for more details about keeping connectors updated.

Upgrading Airbyte deployed on Kubernetes with Helm​

Airbyte versions before 2.3: MinIO image override required

The minio/minio image that Airbyte versions before 2.3 use for internal storage is no longer available on Docker Hub. If you deploy or upgrade an Airbyte version earlier than 2.3 without overriding the MinIO image, MinIO fails to pull its image and the deployment stalls. Airbyte 2.3 and later use the airbyte/minio image and don't need this override.

Set minio.image.repository to airbyte/minio. Keep the image tag unchanged.

New installs: Add --set minio.image.repository=airbyte/minio to your install command. For example:

helm install airbyte airbyte-v2/airbyte \
--namespace airbyte --create-namespace --version 2.2.0 \
--set minio.image.repository=airbyte/minio

Existing installs: Run these steps in order. Don't run helm upgrade first. It fails while MinIO is down.

These commands assume your namespace and Helm release are both named airbyte. If yours differ, substitute your own names.

  1. Point the MinIO StatefulSet at the new image.

    kubectl -n airbyte set image statefulset/airbyte-minio \
    airbyte-minio=airbyte/minio:RELEASE.2023-11-20T22-40-07Z
  2. Delete the stuck pods. This is required because the StatefulSet rollout stalls on a stuck pod.

    kubectl -n airbyte delete pod airbyte-minio-0
    kubectl -n airbyte delete pod airbyte-minio-create-bucket --ignore-not-found
  3. Upgrade the Helm release so the override persists. Replace <repo> with the name of your Helm repository, for example airbyte-v2. Replace <chart-version> with the chart version you currently run (helm list -n airbyte shows it) so the upgrade doesn't move you to a newer chart.

    helm upgrade airbyte <repo>/airbyte \
    --namespace airbyte --reuse-values \
    --version <chart-version> \
    --set minio.image.repository=airbyte/minio

    If this step fails on a minio hook, run it again.

Upgrade by updating your values.yaml file and redeploying Airbyte. If you're not using a values.yaml to deploy Airbyte using Helm, you can jump directly to step 4.

  1. If you're not sure which chart versions you're running, run helm list -n <NAMESPACE>.

  2. Check the release notes to see what versions are available and review any requirements to upgrade. You can also see which Helm chart versions are available in the Airbyte ArtifactHub.

  3. Update your values.yaml file if necessary. In most cases, you only need to do this if you want to implement a new feature from the new version.

  4. Run the following command to upgrade.

    helm upgrade airbyte airbyte/airbyte \
    --namespace airbyte \ # Target Kubernetes namespace
    --values ./values.yaml \ # Custom configuration values
    --version 2.x.x # Helm chart version to use

    After 5 minutes, Helm prints a message showing how to port-forward Airbyte. This may take longer on Kubernetes clusters with slow internet connections. In general the message is as follows:

    Get the application URL by running these commands:

    echo "Visit http://127.0.0.1:8080 to use your application"
    kubectl -n airbyte port-forward deployment/airbyte-server 8080:8001

Upgrading Airbyte deployed with abctl​

Airbyte versions before 2.3: MinIO image override required

The minio/minio image that Airbyte versions before 2.3 use for internal storage is no longer available on Docker Hub. If you deploy or upgrade an Airbyte version earlier than 2.3 without overriding the MinIO image, MinIO fails to pull its image and the deployment stalls. Airbyte 2.3 and later use the airbyte/minio image and don't need this override.

Keep the image tag unchanged.

New installs: Add the override to a values.yaml file and pass it to abctl:

minio:
image:
repository: airbyte/minio
abctl local install --chart-version <chart-version> --values ./values.yaml

Here, <chart-version> is the pre-2.3 chart version you want to install.

Existing installs: Run these steps in order. Don't run abctl local install first. It fails while MinIO is down.

  1. Point the MinIO StatefulSet at the new image:

    kubectl --kubeconfig ~/.airbyte/abctl/abctl.kubeconfig -n airbyte-abctl set image statefulset/airbyte-minio \
    airbyte-minio=airbyte/minio:RELEASE.2023-11-20T22-40-07Z
  2. Delete the stuck pods (StatefulSet rollout stalls on a stuck pod):

    kubectl --kubeconfig ~/.airbyte/abctl/abctl.kubeconfig -n airbyte-abctl delete pod airbyte-minio-0
    kubectl --kubeconfig ~/.airbyte/abctl/abctl.kubeconfig -n airbyte-abctl delete pod airbyte-minio-create-bucket --ignore-not-found
  3. Add the override to your values.yaml and re-run abctl local install --chart-version <chart-version> --values ./values.yaml with your current chart version so the override persists.

    minio:
    image:
    repository: airbyte/minio
    abctl local install --chart-version <chart-version> --values ./values.yaml

    If this step fails on a minio hook, run it again.

abctl streamlines the way you manage a local installation of Airbyte Core.

Run abctl local install to upgrade to the latest version of Airbyte. If you'd like to ensure you're running the latest version of Airbyte, you can check the value of the Helm Chart's app version by running abctl local status.

Upgrade abctl​

Occasionally, you need to update abctl to the latest version. This is separate from upgrading Airbyte. It only upgrades the command line tool.

Run the following command to upgrade abctl.

curl -LsfS https://get.airbyte.com | bash -

Verify the upgrade.

abctl version