Open
Description
Component:
'salt', 'kubectl-plugin'
Why this is needed:
Centralized CLI
What should be done:
MetalK8s create volume command should be part of metalk8s
Go kubectl plugin
kubectl metalk8s create volume <name> --node-name <node_name> --type <type> --storage-class <storage_class>
A lot of arguments are not mandatory, check volume documentation for more detail about available arguments and default values.
Name, node-name, type, and storage-class are not mandatory if you provide a file using -f
, --filename
containing information about the resource.
Implementation proposal (strongly recommended):
This command will create a Kubernetes volume object with the right labels, taints, spec ... according to the CLI arguments.
It will be written in Go (check design documentation about Centralized CLI for more detail).
Follow kubectl best practice as much as possible.