Description
Component:
'salt', 'cli'
Why this is needed:
Centralized CLI
What should be done:
MetalK8s archive import command should be part of metalk8sctl
python CLI
metalk8sctl archive import <ARCHIVE_ISO_OR_DIRECTORY>
This command should handle MetalK8s archives and solutions archives.
Archive can be a path to an archive ISO or directly an archive directory (directory containing extracted archive)
Archive argument is not mandatory, if no archive then all MetalK8s archive from the /etc/metalk8s/bootstrap.yaml
will be re-configured and all solutions from /etc/metalk8s/solutions.yaml
).
NOTE: Having an argument to only trigger MetalK8s archive reconfiguration or only Solutions archive reconfiguration may be useful.
We may also want to provide several archives in a single CLI call.
Implementation proposal (strongly recommended):
This command will have the same behavior as the current iso-manager bash script or solutions import bash script, depending on the archive type.
Except that it will be written in Python and should not use salt binaries at all, only interact directly with Salt using Python library (check design documentation about Centralized CLI for more detail).