Tool for interactive command line environments on Linux
Find a file
Debarshi Ray 56c3cfc27c Make the --image flag override the base toolbox image, as documented
The current implementation of the --image flag, including the commit
message in commit 31de3ff96f that added it, was a total fiasco
and didn't match the intended behaviour or the documentation in the
manual at all. At the moment it overrides the name of the user-specific
customized image. This doesn't make sense because it's mostly an
implementation detail of the toolbox script - a way to get from the
base image to a toolbox container that's seamlessly integrated with the
host.

In other words, there's no need for a separate flag to allow having
multiple user-specific customized images from the same base image. It
already happens as a side effect of creating multiple toolbox
containers from the same base image using the --container flag.

What it really should do is override the base image so that toolbox
containers with different content can be created.

The format of a image reference is defined in:
https://github.com/moby/moby/blob/master/image/spec/v1.1.md
https://github.com/docker/distribution/blob/master/reference/reference.go

The code in create_toolbox_image_name is based on the ResolveName
function implemented in:
https://github.com/containers/buildah/blob/master/util/util.go

Fallout from 31de3ff96f

https://github.com/debarshiray/toolbox/pull/73
2019-03-11 18:05:19 +01:00
doc doc: Fix the installation of manuals 2019-03-06 17:08:22 +01:00
images/fedora images: Restore documentation removed from the base Fedora images 2019-03-05 18:01:27 +01:00
COPYING Rename LICENSE as COPYING 2018-10-19 18:24:23 +02:00
gen-docs-list images: Restore documentation removed from the base Fedora images 2019-03-05 18:01:27 +01:00
meson.build Add manuals 2019-03-01 10:27:09 +01:00
NEWS Prepare 0.0.6 2019-02-21 19:47:56 +01:00
README.md README.md: Add missing comma 2019-03-01 10:26:58 +01:00
toolbox Make the --image flag override the base toolbox image, as documented 2019-03-11 18:05:19 +01:00
toolbox-sudo Drop the "fedora" prefix and rename the project as just "toolbox" 2019-02-15 16:36:30 +01:00

Toolbox — Unprivileged development environment

Toolbox is a tool that offers a familiar RPM based environment for developing and debugging software that runs fully unprivileged using Podman.

The toolbox container is a fully mutable container; when you see yum install ansible for example, that's something you can do inside your toolbox container, without affecting the base operating system.

This is particularly useful on OSTree based Fedora systems like Silverblue. The intention of these systems is to discourage installation of software on the host, and instead install software as (or in) containers.

However, this tool doesn't require using an OSTree based system — it works equally well if you're running e.g. existing Fedora Workstation or Server, and that's a useful way to incrementally adopt containerization.

The toolbox environment is based on an OCI image. On Fedora this is the fedora-toolbox image. This image is then customized for the current user to create a toolbox container that seamlessly integrates with the rest of the operating system.

Usage

Create your toolbox container:

[user@hostname ~]$ toolbox create
[user@hostname ~]$

This will create a container, and an image, called fedora-toolbox-<your-username>:<version-id> that's specifically customised for your host user.

Enter the toolbox:

[user@hostname ~]$ toolbox enter
🔹[user@toolbox ~]$