Right now openstack_cli role is the only role which relies on OS package manager/debian packages. This can be safely containerized and later used as shell alias with any distro and any Openstack release:
# cat /etc/profile.d/atmosphere.sh
alias osc='nerdctl run --rm --network host --volume $PWD:/opt --volume /tmp:/tmp --volume /etc/openstack:/etc/openstack:ro --env-file <(env | grep OS_) 10.13.55.223:5000/openstack-cli:2023.1'
alias openstack='osc openstack'
alias nova='osc nova'
alias neutron='osc neutron'
alias cinder='osc cinder'
alias glance='osc glance'
[x] Create small role in vexxhost.kubernetes collection for nerdctl. (nerdctl is smart enough to automatically pull images, or switch to insecure/http registry if needed, or mount local paths inside container. Unlike ctr or crictl.)
[x] Add openstack-cli build step for Earthly images
[x] Rewrite openstack_cli role with new logic for alias creation and old OS packages and apt repo removal.
That should be the last piece for full Rocky/Alma/Fedora compatibility (with few nit's which can be fixed later).
Right now
openstack_cli
role is the only role which relies on OS package manager/debian packages. This can be safely containerized and later used as shell alias with any distro and any Openstack release:vexxhost.kubernetes
collection fornerdctl
. (nerdctl
is smart enough to automatically pull images, or switch to insecure/http registry if needed, or mount local paths inside container. Unlikectr
orcrictl
.)openstack-cli
build step for Earthly imagesopenstack_cli
role with new logic for alias creation and old OS packages andapt
repo removal.That should be the last piece for full Rocky/Alma/Fedora compatibility (with few nit's which can be fixed later).