Skip to content

Regression in downloader plugins environment #31612

@aslafy-z

Description

@aslafy-z

What happened?

#31145 added a regression: most of the environment variables downloader plugins where receiving are now gone.

Before v4

HELM_PLUGIN_DIR=/home/zadkiel/.local/share/helm/plugins/helm-git
HELM_KUBECONTEXT=
HELM_PLUGIN_NAME=helm-git
HELM_NAMESPACE=default
HELM_MAX_HISTORY=10
HELM_BIN=helm
HELM_GIT_TRACE=1
HELM_QPS=0.00
HELM_BURST_LIMIT=100
HELM_PLUGIN_PASSWORD=
HELM_DEBUG=false
HELM_KUBEASUSER=
HELM_KUBEAPISERVER=
HELM_PLUGIN_PASS_CREDENTIALS_ALL=false
HELM_CONFIG_HOME=/home/zadkiel/.config/helm
HELM_PLUGINS=/home/zadkiel/.local/share/helm/plugins
HELM_REPOSITORY_CACHE=/home/zadkiel/.cache/helm/repository
HELM_CACHE_HOME=/home/zadkiel/.cache/helm
HELM_KUBETLS_SERVER_NAME=
HELM_KUBEASGROUPS=
HELM_DATA_HOME=/home/zadkiel/.local/share/helm
HELM_REPOSITORY_CONFIG=/home/zadkiel/.config/helm/repositories.yaml
HELM_KUBEINSECURE_SKIP_TLS_VERIFY=false
HELM_PLUGIN_USERNAME=
HELM_REGISTRY_CONFIG=/home/zadkiel/.config/helm/registry/config.json
HELM_KUBECAFILE=
HELM_KUBETOKEN=

After v4

HELM_PLUGIN_DIR=/home/zadkiel/.local/share/helm/plugins/helm-git
HELM_PLUGIN_NAME=helm-git
HELM_GIT_TRACE=1
HELM_PLUGIN_PASSWORD=
HELM_PLUGIN_PASS_CREDENTIALS_ALL=false
HELM_PLUGIN_USERNAME=

What did you expect to happen?

I would expect that the same variables are passed before v4 and after v4: no breaking changes were announced about this regression.

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

$ mkdir -p ~/.local/share/helm/plugins/test-env
$ cat <<EOF > ~/.local/share/helm/plugins/test-env/plugin.yaml
name: "test-env"
version: "1.0.0"
description: Dumps Helm environment variables
downloaders:
- command: "./test-env.sh"
  protocols:
    - "test-env"
EOF
$ cat <<EOF > ~/.local/share/helm/plugins/test-env/test-env.sh
#!/bin/sh
env | grep ^HELM_ >&2
EOF
$ chmod +x ~/.local/share/helm/plugins/test-env/test-env.sh
$ helm-3 repo add test-env test-env://
HELM_PLUGIN_DIR=/home/zadkiel/.local/share/helm/plugins/test-env
HELM_KUBECONTEXT=
HELM_PLUGIN_NAME=test-env
HELM_NAMESPACE=default
HELM_MAX_HISTORY=10
HELM_BIN=helm
HELM_QPS=0.00
HELM_BURST_LIMIT=100
HELM_PLUGIN_PASSWORD=
HELM_DEBUG=false
HELM_KUBEASUSER=
HELM_KUBEAPISERVER=
HELM_PLUGIN_PASS_CREDENTIALS_ALL=false
HELM_CONFIG_HOME=/home/zadkiel/.config/helm
HELM_PLUGINS=/home/zadkiel/.local/share/helm/plugins
HELM_REPOSITORY_CACHE=/home/zadkiel/.cache/helm/repository
HELM_CACHE_HOME=/home/zadkiel/.cache/helm
HELM_KUBETLS_SERVER_NAME=
HELM_KUBEASGROUPS=
HELM_DATA_HOME=/home/zadkiel/.local/share/helm
HELM_REPOSITORY_CONFIG=/home/zadkiel/.config/helm/repositories.yaml
HELM_KUBEINSECURE_SKIP_TLS_VERIFY=false
HELM_PLUGIN_USERNAME=
HELM_REGISTRY_CONFIG=/home/zadkiel/.config/helm/registry/config.json
HELM_KUBECAFILE=
HELM_KUBETOKEN=
$ helm-4 repo add test-env test-env://
HELM_PLUGIN_DIR=/home/zadkiel/.local/share/helm/plugins/test-env
HELM_PLUGIN_NAME=test-env
HELM_PLUGIN_PASSWORD=
HELM_PLUGIN_PASS_CREDENTIALS_ALL=false
HELM_PLUGIN_USERNAME=
Error: looks like "test-env://" is not a valid chart repository or cannot be reached: empty index.yaml file

Helm version

After #31145 was merged.
From v4.0.0-alpha.1

Kubernetes version

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions