Open
Description
Component:
'salt', 'kubectl-plugin'
Why this is needed:
Centralized CLI
What should be done:
MetalK8s edit config prometheus command should be part of metalk8s
Go kubectl plugin
kubectl metalk8s edit config prometheus
kubectl metalk8s edit config prom
kubectl metalk8s edit config/prometheus
kubectl metalk8s edit config/prom
This command will open an editor to change the configuration for Prometheus.
Implementation proposal (strongly recommended):
This command will load the CSC of Prometheus display it in an editor to the user and then push the changes in Kubernetes and apply the changes using Salt.
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.