Search code examples
kubernetesairflowkubernetes-helmgit-sync

kubernetes Git-sync Could read username for 'https://github.com'


I'm deploying Apache Airflow using the oficial helm chart and wanted to use Git-Sync to feed the dags folder with it. Reading the docs and inspecting the helm value (print below), I used the user<>password alternative enter image description here

I created the git-credentials and can see it has been successfully created. So I fixed the values to point to my repo, leaving me with

dags:
  persistence:
    enabled: false
    size: 1Gi
    storageClassName:
    accessMode: ReadWriteOnce
    existingClaim:
    subPath: ~
  gitSync:
    enabled: true

    repo: https://github.com/myuser/my-private-repo.git
    branch: master
    rev: HEAD
    depth: 1
    maxFailures: 0
    subPath: "airflow/my-dags"
    credentialsSecret: git-credentials

Yet, worker, scheduler and triggerer all fail with the error

E0227 22:24:15.620865      12 main.go:535] "msg"="too many failures, aborting" 
"error"="Run(git clone -v --no-checkout -b master --depth 1 https://github.com/myuser/private-repo.git /git): 
exit status 128: { stdout: "", stderr: "Cloning into '/git'...\nfatal: could not read Username for 'https://github.com': No such device or address" }" "failCount"=1

Simply flipping the gitSync to enable and leaving the defauls works just fine. I think I might have something to do with the repo being private, maybe ?

Any help is much appreciated


Solution

  • Verify that no extra newline character was added in your git-credentials secrets. It can happen depending on the tool you used to base64 encode your username/password.