这是indexloc提供的服务,不要输入任何密码
Skip to content

Cannot use a private repo with devpod in kubernetes #1888

@jdratlif

Description

@jdratlif

What happened?

I added my kubernetes provider and a workspace with a private git repo. It uses git credential manager to access the private git repo. It downloads the repo, but then it tries to do something with the private container registry, but doesn't provide any credentials, get UNAUTHORIZED and fails.

What did you expect to happen instead?

I expected it to use kubernetes and the service account's image pull secrets to pull the container into kubernetes and not do anything on the local system with the private registry. Failing that, I expected that there would be SOME way to specify credentials, even though I think it should not need or use them. I am not building a container, the container image is already in the private registry.

How can we reproduce the bug? (as minimally and precisely as possible)

Use a kubernetes provider with a private container registry.

My devcontainer.json:

{
  "name": "kubernetes",
  "image": "my-private-registry.example.com/docker/devcontainer-python:2.11.0",

  "containerEnv": {
    "ANSIBLE_CONFIG": "/workspace/.devcontainer/ansible.cfg"
  },

  "mounts": ["source=${env:HOME}/private,target=/private,type=bind"],
  "postStartCommand": ".devcontainer/post_start.sh",
  "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind",
  "workspaceFolder": "/workspace",

  "customizations": {
    "vscode": {
      "extensions": [
        "be5invis.toml",
        "bierner.markdown-preview-github-styles",
        "DavidAnson.vscode-markdownlint",
        "donjayamanne.githistory",
        "eamodio.gitlens",
        "esbenp.prettier-vscode",
        "mhutchie.git-graph",
        "ms-python.black-formatter",
        "ms-python.flake8",
        "ms-python.isort",
        "ms-vsliveshare.vsliveshare",
        "oderwat.indent-rainbow",
        "redhat.ansible",
        "samuelcolvin.jinjahtml",
        "yzhang.markdown-all-in-one"
      ],
      "settings": {
        "[json]": {
          "editor.defaultFormatter": "esbenp.prettier-vscode"
        },
        "[jsonc]": {
          "editor.defaultFormatter": "esbenp.prettier-vscode"
        },
        "[markdown]": {
          "editor.defaultFormatter": "esbenp.prettier-vscode"
        },
        "[python]": {
          "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit"
          }
        },
        "ansible.python.interpreterPath": "/workspace/.venv/bin/python3",
        "editor.formatOnSave": true,
        "files.associations": {
          "*.j2": "ansible-jinja",
          "*.yml": "ansible"
        },
        "files.trimFinalNewlines": true,
        "files.trimTrailingWhitespace": true,
        "python.defaultInterpreterPath": "/workspace/.venv/bin/python3",
        "python.testing.unittestEnabled": false,
        "python.testing.pytestEnabled": true
      }
    }
  }
}

Local Environment:

  • DevPod Version: 0.6.15
  • Operating System: linux (Fedora 42 Gnome tar.gz)
  • ARCH of the OS: AMD64

DevPod Provider:

  • Cloud Provider: private cloud (k3s)
  • Kubernetes Provider: Client Version: v1.32.4
    Kustomize Version: v5.5.0
    Server Version: v1.32.4+k3s1
  • Local/remote provider: docker | ssh
  • Custom provider: provide imported provider.yaml config file

Anything else we need to know?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions