Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please document requirements for Toolbx-friendly container images #1606

Open
smcv opened this issue Jan 15, 2025 · 1 comment
Open

Please document requirements for Toolbx-friendly container images #1606

smcv opened this issue Jan 15, 2025 · 1 comment
Labels
1. Feature request A request for a new feature

Comments

@smcv
Copy link

smcv commented Jan 15, 2025

Is your feature request related to a problem? Please describe.
The Steam Runtime provides SDK images intended for compiling Steam games, and Platform images intended for running dedicated servers. We would like to ensure that our images are Toolbx-friendly, so they can be passed to toolbox create -i without needing additional packages added.

Describe the solution you'd like
Some document linked in an obvious way from the Toolbx website should document what's required in a Toolbx-friendly image.

https://containertoolbx.org/distros/ used to document this, but it was removed in containers/containertoolbx.org@d1f48731 and wasn't subsequently reinstated.

https://github.com/containers/toolbox/blob/main/README.md also used to document this, but it was replaced by a link to https://containertoolbx.org/distros/ in f0dfb8f, which at the time was fine, but is no longer enough because of the above change.

I don't really mind where this information is kept, but I feel as though it should be somewhere, and linked from at least one of those two places.

There used to be metapackages in https://src.fedoraproject.org/rpms/toolbox//blob/rawhide/f/toolbox.spec which encapsulated what's needed, but they were removed in https://src.fedoraproject.org/rpms/toolbox/c/57ae69592c86bef5f8493cc68a04fb8a905f5719?branch=rawhide.

The information I would like to see is:

  • the need to add the com.github.containers.toolbox="true" label
  • essential setup/packages/executables required in order to legitimately have that label
    • empty ENTRYPOINT
    • coreutils: mkdir(1), test(1), touch(1)
    • libcap: capsh(1)
    • shadow: passwd(1), useradd(8), usermod(8)
    • util-linux: mount(1)
    • list of files that must not be a bind-mount
    • (others?)
  • desirable packages/executables/files
    • flatpak-xdg-utils: flatpak-spawn(1), xdg-open(1) reimplementation, xdg-email(1) reimplementation added to PATH
    • sudo: sudo(8) configured for passwordless sudo for users in sudo and/or wheel group
    • systemd: libnss_myhostname present and configured in /etc/nsswitch.conf
    • vte2.91: /etc/profile.d/vte*
    • (others?)

I see that images/ installs a bunch of packages beyond that, to create a comfortable CLI environment - but if they aren't functionally required by Toolbx's integration with the host, and are only conveniences for the interactive user, then I would consider those to be out-of-scope for the documentation I'm asking for.

@smcv smcv added the 1. Feature request A request for a new feature label Jan 15, 2025
@hadmut
Copy link

hadmut commented Jan 15, 2025

Me too.

I just wanted to open that issue and saw, that by coincidence, someone else had opened a similar issue less than an hour ago.

What I'd like to do: Prepare Container with particular software and settings and let it run on different machines.

But when doing a test on Ubuntu 24.04 as a host (24.04 comes with Version: 0.0.99.3+git20230118+446d7bfdef6a-2)

toolbox create --image docker.io/library/ubuntu:24.04
toolbox enter ubuntu-24.04
Error: invalid entry point PID of container ubuntu-24.04

Doing the same on a latest Fedora Kinoite takes some time and issues
Error: failed to initialize container ubuntu-24.04

Would be quite helpful if there was some description about what is required for a container to run with toolbox.

regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. Feature request A request for a new feature
Projects
None yet
Development

No branches or pull requests

2 participants