Drop the "fedora" prefix and rename the project as just "toolbox"

The "fedora" prefix was used because this project was specifically
incubated to make it easier to hack on Fedora Silverblue. That and the
mix of upstream technologies (ie., Buildah and Podman) made it uniquely
"Fedora".

However, over time it has gotten clear that other groups, currently
Fedora downstreams like RHEL, are interested in it too. It won't be
surprising if in future it transcends the Fedora universe altogether.
Moreover, this project was inspired by coreos/toolbox [1]. There are
good reasons and enough interest to have a unified toolbox project
that addresses the needs of both Fedora CoreOS and Silverblue.

Therefore, it is best to drop the "fedora" prefix and call the whole
thing just "toolbox".

No extra effort was made to retain compatibility with the older name
due to the project's young age. Its userbase is limited to the earliest
of early adopters, and the benefits of a clean break outweigh the
loss of compatibility.

The OCI images and the toolbox container still retain the "fedora"
prefix to disambiguate them from their counterparts from other
operating systems.

[1] https://github.com/coreos/toolbox

https://github.com/debarshiray/toolbox/issues/8
This commit is contained in:
Debarshi Ray 2019-02-15 16:36:30 +01:00
parent 05f3530421
commit c6b5a4836f
7 changed files with 36 additions and 35 deletions

View file

@ -1,8 +1,8 @@
# Fedora Toolbox — Unprivileged development environment
# Toolbox — Unprivileged development environment
[Fedora Toolbox](https://github.com/debarshiray/fedora-toolbox) is a tool that
offers a familiar RPM based environment for developing and debugging software
that runs fully unprivileged using [Podman](https://podman.io/).
[Toolbox](https://github.com/debarshiray/toolbox) is a tool that offers a
familiar RPM based environment for developing and debugging software that runs
fully unprivileged using [Podman](https://podman.io/).
The toolbox container is a fully *mutable* container; when you see
`yum install ansible` for example, that's something you can do inside your
@ -18,23 +18,24 @@ However this project 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 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.
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 thatseamlessly integrates with the rest of the
operating system.
## Usage
### Create your Fedora Toolbox container:
### Create your toolbox container:
```
[user@hostname ~]$ fedora-toolbox create
[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:
### Enter the toolbox:
```
[user@hostname ~]$ fedora-toolbox enter
[user@hostname ~]$ toolbox enter
🔹[user@toolbox ~]$
```

View file

@ -4,7 +4,7 @@ ENV NAME=fedora-toolbox VERSION=28
LABEL com.redhat.component="$NAME" \
name="$FGC/$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the fedora-toolbox command" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating Fedora toolbox containers" \
maintainer="Debarshi Ray <rishi@fedoraproject.org>"

View file

@ -4,7 +4,7 @@ ENV NAME=fedora-toolbox VERSION=29
LABEL com.redhat.component="$NAME" \
name="$FGC/$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the fedora-toolbox command" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating Fedora toolbox containers" \
maintainer="Debarshi Ray <rishi@fedoraproject.org>"

View file

@ -4,7 +4,7 @@ ENV NAME=fedora-toolbox VERSION=30
LABEL com.redhat.component="$NAME" \
name="$FGC/$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the fedora-toolbox command" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating Fedora toolbox containers" \
maintainer="Debarshi Ray <rishi@fedoraproject.org>"

View file

@ -1,11 +1,11 @@
project(
'fedora-toolbox',
'toolbox',
version: '0.0.5',
license: 'ASL 2.0',
meson_version: '>= 0.40.0',
)
install_data(
'fedora-toolbox',
'toolbox',
install_dir: get_option('bindir'),
)

View file

@ -212,7 +212,7 @@ create()
(
dbus_system_bus_address="unix:path=/var/run/dbus/system_bus_socket"
tmpfs_size=$((64 * 1024 * 1024)) # 64 MiB
working_container_name="fedora-toolbox-working-container-$(uuidgen --time)"
working_container_name="toolbox-working-container-$(uuidgen --time)"
if [ "$DBUS_SYSTEM_BUS_ADDRESS" != "" ]; then
dbus_system_bus_address=$DBUS_SYSTEM_BUS_ADDRESS
@ -231,7 +231,7 @@ create()
localhost/$base_toolbox_image >/dev/null 2>&42; then
echo "$base_toolbox_command: looking for image $registry/$fgc/$base_toolbox_image" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then
if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: pulling from $registry: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory=""
@ -258,7 +258,7 @@ create()
echo "$base_toolbox_command: trying to configure working container $working_container_name" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then
if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: configuring working container: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory=""
@ -282,7 +282,7 @@ create()
echo "$base_toolbox_command: trying to create image $toolbox_image" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then
if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: creating image $toolbox_image: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory=""
@ -326,7 +326,7 @@ create()
echo "$base_toolbox_command: trying to create container $toolbox_container" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then
if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: creating container $toolbox_container: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory=""
@ -436,7 +436,7 @@ list_images()
| column --separator $'\t' --table --table-columns "IMAGE ID,IMAGE NAME,CREATED")
if [ "$output" != "" ]; then
echo -e "${LBC}Images created by fedora-toolbox${NC}"
echo -e "${LBC}Images created by toolbox${NC}"
echo "$output"
fi
)
@ -455,7 +455,7 @@ list_containers()
--table-columns "CONTAINER ID,CONTAINER NAME,CREATED,STATUS,IMAGE NAME" 2>&42)
if [ "$output" != "" ]; then
echo -e "${LBC}Containers created by fedora-toolbox${NC}"
echo -e "${LBC}Containers created by toolbox${NC}"
echo "$output" | head --lines 1 2>&42
(
echo "$output" | tail --lines +2 2>&42
@ -495,18 +495,18 @@ exit_if_unrecognized_option()
usage()
{
echo "Usage: fedora-toolbox [--container <name>]"
echo " [--release <release>]"
echo " [-v | --verbose]"
echo " create [--candidate-registry]"
echo " [--image <name>]"
echo " or: fedora-toolbox [--container <name>]"
echo " [--release <release>]"
echo " [-v | --verbose]"
echo " enter"
echo " or: fedora-toolbox list [-c | --containers]"
echo " [-i | --images]"
echo " or: fedora-toolbox --help"
echo "Usage: toolbox [--container <name>]"
echo " [--release <release>]"
echo " [-v | --verbose]"
echo " create [--candidate-registry]"
echo " [--image <name>]"
echo " or: toolbox [--container <name>]"
echo " [--release <release>]"
echo " [-v | --verbose]"
echo " enter"
echo " or: toolbox list [-c | --containers]"
echo " [-i | --images]"
echo " or: toolbox --help"
}