From a4434a03ac66b972c99ae3615b6a832169e580ab Mon Sep 17 00:00:00 2001 From: Octavia Squidington III <90398440+octavia-squidington-iii@users.noreply.github.com> Date: Mon, 17 Apr 2023 13:09:27 -0400 Subject: [PATCH] [Helm] Feat/customizable image for airbyte (#5935) Co-authored-by: czomo Co-authored-by: perangel --- CONTRIBUTORS.md | 1 + charts/airbyte/Chart.yaml | 2 +- charts/airbyte/README.md | 97 ++++++++++++++++++------ charts/airbyte/templates/airbyte-db.yaml | 2 +- charts/airbyte/templates/minio.yaml | 2 +- charts/airbyte/values.yaml | 12 +++ charts/airbyte/values.yaml.test | 12 +++ 7 files changed, 100 insertions(+), 28 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 796352ea1bf..29a101e5ec9 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -22,6 +22,7 @@ * [cjwooo](https://github.com/cjwooo) * [coetzeevs](https://github.com/coetzeevs) * [coeurdestenebres](https://github.com/coeurdestenebres) +* [czomo](https://github.com/czomo) * [damianlegawiec](https://github.com/damianlegawiec) * [danieldiamond](https://github.com/danieldiamond) * [davinchia](https://github.com/davinchia) diff --git a/charts/airbyte/Chart.yaml b/charts/airbyte/Chart.yaml index 136c922245d..cc512701214 100644 --- a/charts/airbyte/Chart.yaml +++ b/charts/airbyte/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.44.7 +version: 0.44.8 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/charts/airbyte/README.md b/charts/airbyte/README.md index 563111b12e9..6229592b4e6 100644 --- a/charts/airbyte/README.md +++ b/charts/airbyte/README.md @@ -1,7 +1,6 @@ # airbyte - -![Version: 0.40.33](https://img.shields.io/badge/Version-0.40.33-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.40.17](https://img.shields.io/badge/AppVersion-0.40.17-informational?style=flat-square) +![Version: 0.44.8](https://img.shields.io/badge/Version-0.44.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.44.0](https://img.shields.io/badge/AppVersion-0.44.0-informational?style=flat-square) Helm chart to deploy airbyte @@ -9,16 +8,16 @@ Helm chart to deploy airbyte | Repository | Name | Version | |------------|------|---------| -| https://airbytehq.github.io/helm-charts/ | airbyte-bootloader | placeholder | -| https://airbytehq.github.io/helm-charts/ | metrics | placeholder | -| https://airbytehq.github.io/helm-charts/ | pod-sweeper | placeholder | -| https://airbytehq.github.io/helm-charts/ | server | placeholder | -| https://airbytehq.github.io/helm-charts/ | temporal | placeholder | -| https://airbytehq.github.io/helm-charts/ | webapp | placeholder | -| https://airbytehq.github.io/helm-charts/ | worker | placeholder | +| https://airbytehq.github.io/helm-charts/ | airbyte-bootloader | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | connector-builder-server | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | cron | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | metrics | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | pod-sweeper | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | server | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | temporal | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | webapp | 0.44.7 | +| https://airbytehq.github.io/helm-charts/ | worker | 0.44.7 | | https://charts.bitnami.com/bitnami | common | 1.x.x | -| https://charts.bitnami.com/bitnami | minio | 11.x.x | -| https://charts.bitnami.com/bitnami | postgresql | 10.x.x | ## Values @@ -36,14 +35,57 @@ Helm chart to deploy airbyte | airbyte-bootloader.image.repository | string | `"airbyte/bootloader"` | | | airbyte-bootloader.nodeSelector | object | `{}` | | | airbyte-bootloader.podAnnotations | object | `{}` | | +| airbyte-bootloader.podLabels | object | `{}` | | | airbyte-bootloader.resources.limits | object | `{}` | | | airbyte-bootloader.resources.requests | object | `{}` | | | airbyte-bootloader.secrets | object | `{}` | | | airbyte-bootloader.tolerations | list | `[]` | | +| connector-builder-server.enabled | bool | `true` | | +| connector-builder-server.env_vars | object | `{}` | | +| connector-builder-server.image.pullPolicy | string | `"IfNotPresent"` | | +| connector-builder-server.image.repository | string | `"airbyte/connector-atelier-server"` | | +| connector-builder-server.log.level | string | `"INFO"` | | +| connector-builder-server.replicaCount | int | `1` | | +| connector-builder-server.resources.limits | object | `{}` | | +| connector-builder-server.resources.requests | object | `{}` | | +| connector-builder-server.service.port | int | `80` | | +| cron.affinity | object | `{}` | | +| cron.containerSecurityContext | object | `{}` | | +| cron.enabled | bool | `true` | | +| cron.env_vars | object | `{}` | | +| cron.extraContainers | list | `[]` | | +| cron.extraEnv | list | `[]` | | +| cron.extraInitContainers | list | `[]` | | +| cron.extraVolumeMounts | list | `[]` | | +| cron.extraVolumes | list | `[]` | | +| cron.image.pullPolicy | string | `"IfNotPresent"` | | +| cron.image.repository | string | `"airbyte/cron"` | | +| cron.livenessProbe.enabled | bool | `true` | | +| cron.livenessProbe.failureThreshold | int | `3` | | +| cron.livenessProbe.initialDelaySeconds | int | `30` | | +| cron.livenessProbe.periodSeconds | int | `10` | | +| cron.livenessProbe.successThreshold | int | `1` | | +| cron.livenessProbe.timeoutSeconds | int | `1` | | +| cron.log.level | string | `"INFO"` | | +| cron.nodeSelector | object | `{}` | | +| cron.podAnnotations | object | `{}` | | +| cron.podLabels | object | `{}` | | +| cron.readinessProbe.enabled | bool | `true` | | +| cron.readinessProbe.failureThreshold | int | `3` | | +| cron.readinessProbe.initialDelaySeconds | int | `10` | | +| cron.readinessProbe.periodSeconds | int | `10` | | +| cron.readinessProbe.successThreshold | int | `1` | | +| cron.readinessProbe.timeoutSeconds | int | `1` | | +| cron.replicaCount | int | `1` | | +| cron.resources.limits | object | `{}` | | +| cron.resources.requests | object | `{}` | | +| cron.secrets | object | `{}` | | +| cron.tolerations | list | `[]` | | | externalDatabase.database | string | `"db-airbyte"` | | | externalDatabase.existingSecret | string | `""` | | | externalDatabase.existingSecretPasswordKey | string | `""` | | | externalDatabase.host | string | `"localhost"` | | +| externalDatabase.jdbcUrl | string | `""` | | | externalDatabase.password | string | `""` | | | externalDatabase.port | int | `5432` | | | externalDatabase.user | string | `"airbyte"` | | @@ -75,9 +117,11 @@ Helm chart to deploy airbyte | global.logs.secretKey.existingSecret | string | `""` | | | global.logs.secretKey.existingSecretKey | string | `""` | | | global.logs.secretKey.password | string | `""` | | +| global.logs.storage.type | string | `"MINIO"` | | | global.metrics.metricClient | string | `""` | | | global.metrics.otelCollectorEndpoint | string | `""` | | | global.serviceAccountName | string | `"airbyte-admin"` | | +| global.state.storage.type | string | `"MINIO"` | | | metrics.affinity | object | `{}` | | | metrics.containerSecurityContext | object | `{}` | | | metrics.enabled | bool | `false` | | @@ -90,6 +134,7 @@ Helm chart to deploy airbyte | metrics.image.repository | string | `"airbyte/metrics-reporter"` | | | metrics.nodeSelector | object | `{}` | | | metrics.podAnnotations | object | `{}` | | +| metrics.podLabels | object | `{}` | | | metrics.replicaCount | int | `1` | | | metrics.resources.limits | object | `{}` | | | metrics.resources.requests | object | `{}` | | @@ -98,6 +143,8 @@ Helm chart to deploy airbyte | minio.auth.rootPassword | string | `"minio123"` | | | minio.auth.rootUser | string | `"minio"` | | | minio.enabled | bool | `true` | | +| minio.image.repository | string | `"minio/minio"` | | +| minio.image.tag | string | `"latest"` | | | nameOverride | string | `""` | | | pod-sweeper.affinity | object | `{}` | | | pod-sweeper.containerSecurityContext | object | `{}` | | @@ -115,6 +162,7 @@ Helm chart to deploy airbyte | pod-sweeper.livenessProbe.timeoutSeconds | int | `1` | | | pod-sweeper.nodeSelector | object | `{}` | | | pod-sweeper.podAnnotations | object | `{}` | | +| pod-sweeper.podLabels | object | `{}` | | | pod-sweeper.readinessProbe.enabled | bool | `true` | | | pod-sweeper.readinessProbe.failureThreshold | int | `3` | | | pod-sweeper.readinessProbe.initialDelaySeconds | int | `5` | | @@ -129,6 +177,7 @@ Helm chart to deploy airbyte | postgresql.containerSecurityContext.runAsNonRoot | bool | `true` | | | postgresql.enabled | bool | `true` | | | postgresql.existingSecret | string | `""` | | +| postgresql.image.repository | string | `"airbyte/db"` | | | postgresql.postgresqlDatabase | string | `"db-airbyte"` | | | postgresql.postgresqlPassword | string | `"airbyte"` | | | postgresql.postgresqlUsername | string | `"airbyte"` | | @@ -142,7 +191,7 @@ Helm chart to deploy airbyte | server.extraVolumeMounts | list | `[]` | | | server.extraVolumes | list | `[]` | | | server.image.pullPolicy | string | `"IfNotPresent"` | | -| server.image.repository | string | `"airbyte/worker"` | | +| server.image.repository | string | `"airbyte/server"` | | | server.livenessProbe.enabled | bool | `true` | | | server.livenessProbe.failureThreshold | int | `3` | | | server.livenessProbe.initialDelaySeconds | int | `30` | | @@ -152,6 +201,7 @@ Helm chart to deploy airbyte | server.log.level | string | `"INFO"` | | | server.nodeSelector | object | `{}` | | | server.podAnnotations | object | `{}` | | +| server.podLabels | object | `{}` | | | server.readinessProbe.enabled | bool | `true` | | | server.readinessProbe.failureThreshold | int | `3` | | | server.readinessProbe.initialDelaySeconds | int | `10` | | @@ -177,20 +227,11 @@ Helm chart to deploy airbyte | temporal.image.pullPolicy | string | `"IfNotPresent"` | | | temporal.image.repository | string | `"airbyte/temporal-auto-setup"` | | | temporal.image.tag | string | `"1.13.0"` | | -| temporal.livenessProbe.enabled | bool | `true` | | -| temporal.livenessProbe.failureThreshold | int | `3` | | -| temporal.livenessProbe.initialDelaySeconds | int | `5` | | -| temporal.livenessProbe.periodSeconds | int | `30` | | -| temporal.livenessProbe.successThreshold | int | `1` | | -| temporal.livenessProbe.timeoutSeconds | int | `1` | | +| temporal.livenessProbe.enabled | bool | `false` | | | temporal.nodeSelector | object | `{}` | | | temporal.podAnnotations | object | `{}` | | -| temporal.readinessProbe.enabled | bool | `true` | | -| temporal.readinessProbe.failureThreshold | int | `3` | | -| temporal.readinessProbe.initialDelaySeconds | int | `5` | | -| temporal.readinessProbe.periodSeconds | int | `30` | | -| temporal.readinessProbe.successThreshold | int | `1` | | -| temporal.readinessProbe.timeoutSeconds | int | `1` | | +| temporal.podLabels | object | `{}` | | +| temporal.readinessProbe.enabled | bool | `false` | | | temporal.replicaCount | int | `1` | | | temporal.resources.limits | object | `{}` | | | temporal.resources.requests | object | `{}` | | @@ -200,6 +241,7 @@ Helm chart to deploy airbyte | version | string | `""` | | | webapp.affinity | object | `{}` | | | webapp.api.url | string | `"/api/v1/"` | | +| webapp.connector-builder-server.url | string | `"/connector-builder-api"` | | | webapp.containerSecurityContext | object | `{}` | | | webapp.enabled | bool | `true` | | | webapp.env_vars | object | `{}` | | @@ -224,6 +266,7 @@ Helm chart to deploy airbyte | webapp.livenessProbe.timeoutSeconds | int | `1` | | | webapp.nodeSelector | object | `{}` | | | webapp.podAnnotations | object | `{}` | | +| webapp.podLabels | object | `{}` | | | webapp.readinessProbe.enabled | bool | `true` | | | webapp.readinessProbe.failureThreshold | int | `3` | | | webapp.readinessProbe.initialDelaySeconds | int | `10` | | @@ -238,6 +281,9 @@ Helm chart to deploy airbyte | webapp.service.port | int | `80` | | | webapp.service.type | string | `"ClusterIP"` | | | webapp.tolerations | list | `[]` | | +| worker.activityInitialDelayBetweenAttemptsSeconds | string | `""` | | +| worker.activityMaxAttempt | string | `""` | | +| worker.activityMaxDelayBetweenAttemptsSeconds | string | `""` | | | worker.affinity | object | `{}` | | | worker.containerOrchestrator.enabled | bool | `true` | | | worker.containerOrchestrator.image | string | `""` | | @@ -250,7 +296,6 @@ Helm chart to deploy airbyte | worker.hpa.enabled | bool | `false` | | | worker.image.pullPolicy | string | `"IfNotPresent"` | | | worker.image.repository | string | `"airbyte/worker"` | | -| worker.image.tag | string | `"0.44.0"` | | | worker.livenessProbe.enabled | bool | `true` | | | worker.livenessProbe.failureThreshold | int | `3` | | | worker.livenessProbe.initialDelaySeconds | int | `30` | | @@ -258,8 +303,10 @@ Helm chart to deploy airbyte | worker.livenessProbe.successThreshold | int | `1` | | | worker.livenessProbe.timeoutSeconds | int | `1` | | | worker.log.level | string | `"INFO"` | | +| worker.maxNotifyWorkers | int | `5` | | | worker.nodeSelector | object | `{}` | | | worker.podAnnotations | object | `{}` | | +| worker.podLabels | object | `{}` | | | worker.readinessProbe.enabled | bool | `true` | | | worker.readinessProbe.failureThreshold | int | `3` | | | worker.readinessProbe.initialDelaySeconds | int | `10` | | diff --git a/charts/airbyte/templates/airbyte-db.yaml b/charts/airbyte/templates/airbyte-db.yaml index 681e841a569..b8d57c1c79f 100644 --- a/charts/airbyte/templates/airbyte-db.yaml +++ b/charts/airbyte/templates/airbyte-db.yaml @@ -38,7 +38,7 @@ spec: spec: containers: - name: airbyte-db-container - image: airbyte/db:{{ ((.Values.global.image).tag) | default .Chart.AppVersion }} + image: "{{ .Values.postgresql.image.repository }}:{{ ((.Values.global.image).tag) | default .Chart.AppVersion }}" env: - name: POSTGRES_DB value: {{ .Values.postgresql.postgresqlDatabase }} diff --git a/charts/airbyte/templates/minio.yaml b/charts/airbyte/templates/minio.yaml index ff6ff1e28f1..a4fa5770f37 100644 --- a/charts/airbyte/templates/minio.yaml +++ b/charts/airbyte/templates/minio.yaml @@ -32,7 +32,7 @@ spec: containers: - name: airbyte-minio # Pulls the default Minio image from Docker Hub - image: minio/minio:latest + image: "{{ .Values.minio.image.repository }}:{{ .Values.minio.image.tag }}" args: - server - /storage diff --git a/charts/airbyte/values.yaml b/charts/airbyte/values.yaml index 01b06d3e923..3368c46ad98 100644 --- a/charts/airbyte/values.yaml +++ b/charts/airbyte/values.yaml @@ -1219,6 +1219,11 @@ temporal: ## postgresql: enabled: true + + ## image.repository Repository for airbyte-db statefulset + image: + repository: airbyte/db + postgresqlUsername: airbyte postgresqlPassword: airbyte postgresqlDatabase: db-airbyte @@ -1259,6 +1264,13 @@ externalDatabase: ## minio.secretKey.password Minio Secret Key minio: enabled: true + + ## image.repository Minio image used by Minio helm chart + ## image.tag Minio tag image + image: + repository: minio/minio + tag: latest + auth: rootUser: minio rootPassword: minio123 diff --git a/charts/airbyte/values.yaml.test b/charts/airbyte/values.yaml.test index 5b13cad48ec..3ac21493fb1 100644 --- a/charts/airbyte/values.yaml.test +++ b/charts/airbyte/values.yaml.test @@ -1200,6 +1200,11 @@ temporal: ## postgresql: enabled: true + + ## image.repository Repository for airbyte-db statefulset + image: + repository: airbyte/db + postgresqlUsername: airbyte postgresqlPassword: airbyte postgresqlDatabase: db-airbyte @@ -1238,6 +1243,13 @@ externalDatabase: ## minio.secretKey.password Minio Secret Key minio: enabled: true + + ## image.repository Minio image used by Minio helm chart + ## image.tag Minio tag image + image: + repository: minio/minio + tag: latest + auth: rootUser: minio rootPassword: minio123