Description
Component:
'salt', 'kubectl-plugin', 'solutions'
Why this is needed:
Centralized CLI
What should be done:
MetalK8s delete solution from environment command of solution should be part of metalk8s
Go kubectl plugin
kubectl metalk8s delete solution <name> --environment <environment> --namespace <namespace>
Namespace is not mandatory, if no namespace then solutions from all namespace of the defined environment will be deleted.
NOTE: We may want to also support filtering using labels, ... (Not mandatory for first iteration)
Implementation proposal (strongly recommended):
This command will have the same behavior as the current delete-solution 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.