airbytehq / airbyte

The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
https://airbyte.com
Other
15.5k stars 3.99k forks source link

unknown object type "nil" in ConfigMap.data.CONNECTOR_SIDECAR_IMAGE #44171

Open BenGalewsky opened 1 month ago

BenGalewsky commented 1 month ago

Helm Chart Version

0.429.0

What step the error happened?

On deploy

Relevant information

I'm deploying to plan kubernetes cluster (docker desktop) - I'm starting with a minimal values.yaml.

global:
  # -- The URL where Airbyte will be reached; This should match your Ingress host
  airbyteUrl: "https://localhost"

  secretsManager:
    awsSecretManager:
      authenticationType: ""
  storage:
    s3:
      authenticationType: ""

  # -- Auth configuration
  auth:
    # -- Whether auth is enabled
    enabled: false

workload-launcher:
  connectorSidecar:
    image: "sidecar"
  containerOrchestrator:
    image: "orch"
  workloadInit:
    image: "sss"

My first attempt resulted in an error:

Error: template: airbyte/charts/workload-launcher/templates/deployment.yaml:341:15: executing "airbyte/charts/workload-launcher/templates/deployment.yaml" at <eq ((((.Values.global).secretsManager).awsSecretManager).authenticationType) "credentials">: error calling eq: incompatible types for comparison

I added the settings for global.secretsManager to get past that error.

No matter what, I can't get past the errors in env-configmap.yaml - I would think explicitly setting the values in workload-launcher would prevent the unknown object type, but it seems to be expecting it from somewhere else...

This issue is related to a thread in slack

Relevant log output

Error: failed pre-install: unable to build kubernetes object for pre-install hook airbyte/templates/env-configmap.yaml: error validating "": error validating data: [unknown object type "nil" in ConfigMap.data.CONNECTOR_SIDECAR_IMAGE, unknown object type "nil" in ConfigMap.data.CONTAINER_ORCHESTRATOR_IMAGE, unknown object type "nil" in ConfigMap.data.WORKLOAD_INIT_IMAGE]
helm.go:81: [debug] failed pre-install: unable to build kubernetes object for pre-install hook airbyte/templates/env-configmap.yaml: error validating "": error validating data: [unknown object type "nil" in ConfigMap.data.CONNECTOR_SIDECAR_IMAGE, unknown object type "nil" in ConfigMap.data.CONTAINER_ORCHESTRATOR_IMAGE, unknown object type "nil" in ConfigMap.data.WORKLOAD_INIT_IMAGE]
marcosmarxm commented 1 month ago

@perangel / @airbytehq/platform-deployments can you take a look?

PsycheShaman commented 3 weeks ago

Getting the same using helm chart version 0.399.0 :

upgrade.go:436: [debug] warning: Upgrade "airbyte-dev" failed: pre-upgrade hooks failed: unable to build kubernetes object for pre-upgrade hook airbyte/templates/env-configmap.yaml: error validating "": error validating data: [unknown object type "nil" in ConfigMap.data.CONNECTOR_SIDECAR_IMAGE, unknown object type "nil" in ConfigMap.data.CONTAINER_ORCHESTRATOR_IMAGE, unknown object type "nil" in ConfigMap.data.WORKLOAD_INIT_IMAGE]

tried to explicitly point it to the names of the dockerhub images in the values.yaml to no avail:

workload-launcher:
  image:
    pullPolicy: Always
    connectorSidecar:
      image: airbyte/connector-sidecar
    containerOrchestrator:
      image: airbyte/container-orchestrator
    workloadInit:
      image: airbyte/workload-init-container
arodrber0 commented 3 weeks ago

I'm also getting this same error, the values ​​are from here: https://github.com/airbytehq/airbyte-platform/blob/main/charts/airbyte/values.yaml, even putting these parameters @PsycheShaman the error persists

pcorbel commented 2 weeks ago

Bumping this as it also prevents us from upgrading

marcosmarxm commented 1 week ago

Hello @pcorbel @arodrber0 and @BenGalewsky I included this to the deployment team backlog for further triage and investigation.

pcorbel commented 1 week ago

@marcosmarxm Do not hesitate to ping me on Slack if you need more info

Xingyuan-Chen commented 5 days ago

I trust there is an issue in helm chart. Here is my workaround: download latest helm chart tgz file, and modify

CONTAINER_ORCHESTRATOR_IMAGE: {{ (index .Values "workload-launcher" "containerOrchestrator.image") | quote }}
WORKLOAD_INIT_IMAGE: {{ (index .Values "workload-launcher" "workloadInit.image") | quote }}
CONNECTOR_SIDECAR_IMAGE: {{ (index .Values "workload-launcher" "connectorSidecar.image") | quote }}

to

CONTAINER_ORCHESTRATOR_IMAGE: {{ (index .Values "workload-launcher" "containerOrchestrator" "image") | quote }}
WORKLOAD_INIT_IMAGE: {{ (index .Values "workload-launcher" "workloadInit" "image") | quote }}
CONNECTOR_SIDECAR_IMAGE: {{ (index .Values "workload-launcher" "connectorSidecar" "image") | quote }}

create your custom helm package and update values.yaml

workload-launcher:
  connectorSidecar:
    image: airbyte/connector-sidecar
  containerOrchestrator:
    image: airbyte/container-orchestrator
  workloadInit:
    image: airbyte/workload-init-container

please note use your custom helm package now helm install airbyte airbyte-0.493.1.tgz --values ./values.yaml

I can deploy to docker desktop k8s with this workaround, but failed to eks. Anyone has any idea about it?

BenGalewsky commented 4 days ago

@Xingyuan-Chen - thank you for this! Your patch works for me.

Maybe @marcosmarxm would accept a PR for this? It seems like a reasonable fix

marcosmarxm commented 4 days ago

Yes, @BenGalewsky @Xingyuan-Chen can submit the contribution. I'm going to work to get the eng team to review and merge it