adding a kubectl-crossplane-krew wrapper to serve as a single point of entry for a single crossplane plugin (to prevent the need to make a new plugin entry for each subcommand)
Paraphrasing @ahmetb:
Krew doesn't support shipping all of the separate plugins at once.
So the recommendation is to:
create a single entrypoint like kubectl-crossplane-krew
have this script discover its installation directory (eg $(dirname $(readlink "$0")))
based on args, it would call $dir/kubectl-crossplane-XXX
In order to make Crossplane CLI more discoverable and easier to install/upgrade, it should be made available in the Krew Index: https://github.com/kubernetes-sigs/krew-index
Requirements of adding Crossplane CLI to krew include:
kubectl-crossplane-krew
wrapper to serve as a single point of entry for a singlecrossplane
plugin (to prevent the need to make a new plugin entry for each subcommand)Paraphrasing @ahmetb:
Krew doesn't support shipping all of the separate plugins at once. So the recommendation is to:
kubectl-crossplane-krew
$(dirname $(readlink "$0"))
)$dir/kubectl-crossplane-XXX
The entrypoint bin would be
kubectl-crossplane-krew
, and so long as the plugin is namedcrossplane
, it will be linked askubectl-crossplane
. Refer to https://github.com/kubernetes-sigs/krew/blob/master/docs/DEVELOPER_GUIDE.md#installing-plugins-locally for local development.