MCPcopy
hub / github.com/containers/toolbox

github.com/containers/toolbox @0.3 sqlite

repository ↗ · DeepWiki ↗ · release 0.3 ↗
321 symbols 728 edges 37 files 28 documented · 9%
README

README

Toolbx is a tool for Linux, which allows the use of interactive command line environments for software development and troubleshooting the host operating system, without having to install software on the host. It is built on top of Podman and other standard container technologies from OCI.

[!NOTE] Toolbx was previously known as Toolbox, and even before that as Fedora Toolbox. Work is in progress to update the name to Toolbx in various places. Thus this Git repository and the binary are still toolbox and the package may still be toolbox on various systems.

If you'd like to help, here's a to-do list.

"Toolbx" with a capital "T" and without an "o" is now the canonical name.

Toolbx environments have seamless access to the user's home directory, the Wayland and X11 sockets, networking (including Avahi), removable devices (like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the udev database, etc..

This is particularly useful on OSTree based operating systems like Fedora CoreOS and Silverblue. The intention of these systems is to discourage installation of software on the host, and instead install software as (or in) containers — they mostly don't even have package managers like DNF or YUM. This makes it difficult to set up a development environment or troubleshoot the operating system in the usual way.

Toolbx solves this problem by providing a fully mutable container within which one can install their favourite development and troubleshooting tools, editors and SDKs. For example, it's possible to do yum install ansible without affecting the base operating system.

However, this tool doesn't require using an OSTree based system. It works equally well on Fedora Workstation and Server, and that's a useful way to incrementally adopt containerization.

The Toolbx environment is based on an OCI image. On Fedora this is the fedora-toolbox image. This image is used to create a Toolbx container that offers the interactive command line environment.

Note that Toolbx makes no promise about security beyond what's already available in the usual command line environment on the host that everybody is familiar with.

Installation & Use

See our guides on installing & getting started with Toolbx and Linux distro support.

Star History Chart

Zuul Daily Pipeline

Arch Linux package Fedora package Ubuntu package

Extension points exported contracts — how you extend this code

Container (Interface)
(no doc) [2 implementers]
src/pkg/podman/container.go
GetDefaultReleaseFunc (FuncType)
(no doc)
src/pkg/utils/utils.go
GetFullyQualifiedImageFunc (FuncType)
(no doc)
src/pkg/utils/utils.go
GetP11KitClientPathsFunc (FuncType)
(no doc)
src/pkg/utils/utils.go
ParseReleaseFunc (FuncType)
(no doc)
src/pkg/utils/utils.go

Core symbols most depended-on inside this repo

Is
called by 45
src/cmd/run.go
Name
called by 14
src/pkg/podman/container.go
showManual
called by 9
src/cmd/utils.go
GetState
called by 7
src/pkg/term/term.go
redirectPath
called by 7
src/cmd/initContainer.go
PathExists
called by 5
src/pkg/utils/utils.go
getContainers
called by 5
src/cmd/list.go
ImageReferenceGetTag
called by 4
src/pkg/utils/utils.go

Shape

Function 230
Method 60
Struct 20
FuncType 8
TypeAlias 2
Interface 1

Languages

Go100%

Modules by API surface

src/pkg/podman/container.go43 symbols
src/pkg/utils/utils.go40 symbols
src/cmd/initContainer.go27 symbols
src/pkg/podman/podman.go25 symbols
src/cmd/run.go25 symbols
src/cmd/utils.go21 symbols
src/cmd/create.go19 symbols
src/pkg/utils/errors.go14 symbols
src/cmd/root.go12 symbols
src/cmd/completion.go10 symbols
src/pkg/term/term.go9 symbols
src/pkg/shell/shell_test.go7 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

github.com/HarryMichal/go-versionv1.0.1 · 1×
github.com/NVIDIA/go-nvlibv0.7.2 · 1×
github.com/NVIDIA/go-nvmlv0.12.4-1 · 1×
github.com/NVIDIA/nvidia-container-toolkitv1.17.8 · 1×
github.com/acobaugh/osreleasev0.1.0 · 1×
github.com/briandowns/spinnerv1.23.2 · 1×
github.com/davecgh/go-spewv1.1.2-0.20180830191 · 1×
github.com/docker/go-unitsv0.5.0 · 1×
github.com/fsnotify/fsnotifyv1.8.0 · 1×
github.com/go-logfmt/logfmtv0.5.0 · 1×
github.com/go-viper/mapstructure/v2v2.4.0 · 1×

For agents

$ claude mcp add toolbox \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact