Description
Component:
'salt', 'kubectl-plugin', 'solutions'
Why this is needed:
Centralized CLI
What should be done:
MetalK8s create environment command of solution should be part of metalk8s
Go kubectl plugin
kubectl metalk8s create environment <name> --description <description> --namespace <namespace>
description and namespace are not mandatory, if no namespace then a namespace will be created using the environment name.
Name is not mandatory if you provide a file using -f
, --filename
containing information about the resource.
Implementation proposal (strongly recommended):
This command will have the same behavior as the current create-env command from the solution bash script.
Except that it will be written in Go and should not use salt binaries at all, only interact directly with Salt API and should be able to run from outside of the cluster (check design documentation about Centralized CLI for more detail).
Follow kubectl best practice as much as possible.