El jue, 19-05-2022 a las 16:03 +0200, Martin Pitt escribió:
Hello Imobach,
Hi Martin,
First of all, thanks for such a detailed answer!
[..]
The "cockpit/ws" container [1] has existed for a long time
to do part
of that.
I.e. you don't need to run the web server on the host. But the
container will
connect to the host via SSH, so the host still needs to have cockpit-
bridge and
some pages (like cockpit-system) installed.
Yes, I knew that one; I have played a bit with that container and it
looks fine, but it is a partial solution.
> On the other hand, I recently read the "minimal cockpit packages
> for
> target node" thread and I it sounds pretty cool. Do you have any
> concrete plans for that? Can we help in any way?
Plans, yes. Unfortunately our Jira is not accessible from outside,
but the
summary is that:
- We plan to port cockpit-bridge to Python, and send it to the
target system
from cockpit's web server (container or Flatpak) if the target
system does
not have it.
- The flatpak, or possibly also cockpit/ws (perhaps in a "fat"
variant/tag)
can bundle at least some pages, and then use these instead of
loading them
from the host.
Thanks for sharing those plans: they sound great. I would say that
salt-ssh[1] does something similar by copying some stuff to the target
system, so Python is the only dependency. And I guess it is rather
unrealistic to do not depend on Python.
We have the idea above, and a prototype for the Python bridge [2],
but it's
still going to be a lot of work. If we had little else to do, we
could probably
finish this in a few weeks even, but it's a low-priority project
(i.e. we
really like it, but it's less important than other more business
critical
projects).
It actually looks like a lot of work, but it is good that it is somehow
on the radar.
So I'm afraid don't hold your breath for it right now, and
I'd rather
recommend
to look for a shortcut. Possibly:
- Bundle up cockpit-bridge, cockpit-system, cockpit-yast, etc. into
a
cockpit/ws derived container
- Start the container on the target system
- podman cp out cockpit-bridge and /usr/share/cockpit/ and copy them
to
/usr/local/ or ~yastinstalleruser/{bin,.share/local}. Or play some
dirty
tricks with volumes, and have your container copy the files into a
given
volume on startup.
Copying the pages is reasonably uncritical. cockpit-bridge would need
the
correct runtime libraries/dependencies, but in your controlled
environment this
should be possible. Could that work for you?
Yes, it *might* work, although we might still need the dependencies on
the host system. In that case, I would say that sticking to the
cockpit/ws solution might be better. We will play around and see how
far we can get.
Thanks *a lot* for your help!
Regards,
Imo
[1]
https://docs.saltproject.io/en/latest/topics/ssh/index.html
--
Imobach González Sosa
YaST Team at SUSE LLC
https://imobachgs.github.io/