fedora-coreos-docs
fedora-coreos-docs copied to clipboard
os-extensions: vim is not a good example
I believe VIM is an extremely poor example that, if anything, undercuts the pro-containers message the documentation as a whole is trying to make, for these reasons:
- It's a prototypical user-space program.
- It is not hard to containerize: look at https://github.com/troglobit/mg for an example of editor-in-a-container; podman documentation suggests
--security-opt label=disablewhen bind-mounting host's directory into a container. I suspect you could edit just about any file on the system by running a VIM container, bind-mounting the directory that contains the file, and using the aforementioned--security-opt label=disable. - If one must needs have vim on the machine, it is simple enough to install VIM below /var/usrlocal. This is something that can be done from a container with a couple of bind-mounts (and potentially with relabeling /var/usrlocal afterwards, as Redhat's very own documentation for Fedora Server suggests.
Please replace VIM with an example that makes sense in the context this page is trying to illustrate.
Here are some suggestions:
- OpenVPN. Yes, Wireguard is arguably technically superior, but there may be organizations that cannot migrate for a while.
- An out-of-tree driver. Maybe one of the WiFi cards from BrosTrend (yes, it's a bit silly -- but not nearly as silly as VIM). Or maybe a driver for a popular optical fibre network adapter? (no idea if all of those are in-tree these days). Or a GPU driver for AI workloads? (again, no idea if all the popular ones are in-tree these days).
- NixOS or GNU Guix? (again, not the most convincing example -- but way more convincing than VIM, IMO).
@bgilbert Please take the time to provide a reason for closing, should you chose to close it again.
Thanks for rewording the issue description. vim is a simple example, but I agree that it's not a great one for the reasons you mentioned. If you'd like to work on this yourself, we'd certainly accept a PR with a more complex example. (Of the ones you mentioned, OpenVPN seems the least controversial.) Otherwise, we may not get to this soon, but it'll hopefully be addressed in due course.
Thank you for your comments! What's your take on ZFS vis-a-vis OpenVPN as an example?
This particular OS Extensions example is useful because we did change the default text editor (as Fedora did) to nano and so we can point people at this when they want to switch it back, though arguably we could move that bit to a different section and just show setting $EDITOR to vi and not the layering vim part.
Thank you for your comments! What's your take on ZFS vis-a-vis OpenVPN as an example?
I think the goal is to keep the example simple. If we were to change it or add a new example I'd probably keep ZFS out of it and just stick with OpenVPN.
I would prefer we add a new example and keep this one. As Dusty said, we need this specific example to point people to when then need vim and not vi/nano.
:+1: to adding an additional example. ZFS would work (and is arguably a better example than OpenVPN), with one caveat: it'd need to be zfs-fuse rather than an implementation with a CDDL-licensed kernel module. Fedora doesn't ship the ZFS kernel module due to CDDL/GPL incompatibility, and I don't think we should officially document a combination that Fedora can't ship.