Skip to content

Commit

Permalink
Drop one "o" and rename the project as "Toolbx"
Browse files Browse the repository at this point in the history
This is meant to make the project more searchable on the Internet.  More
and more people have been pointing out that "toolbox" is terribly
difficult to search for, and it's impossible to find any decent
Internet real estate by that name.

Some exceptions:

  * The code repository is still https://github.com/containers/toolbox.
    It will be renamed after giving a heads-up to other contributors.

  * The name of the binary is still 'toolbox'.  The name is embedded
    into existing Toolbx containers as their entry point, which is bind
    mounted from the host operating system when the containers are
    started.  Trivially renaming the binary will prevent these
    containers from starting.

  * For similar reasons, the TOOLBOX_PATH environment variable is still
    the same.

  * For similar reasons, the profile.d file to be read by the shell on
    start-up is still called toolbox.sh.

  * The label used to identify Toolbx containers and images is still
    called com.github.containers.toolbox.  There are many existing
    Toolbx containers, and many Toolbx images beyond the control of the
    Toolbx project that use this label to identity themselves.  Simply
    renaming the label will prevent these containers and images from
    being recognized.

  * The names of the built-in Toolbx images still retain the word
    'toolbox'.  Images under the new name need to be published on the
    OCI registries and the toolbox(1) binary needs to be taught to
    handle both old and new names, wherever necessary, for backwards
    compatibility.

  * The stamp file used to identify Toolbx containers is still called
    /run/.toolboxenv because it's used by various external programs and
    users to identify Toolbx containers.

  * The OSC 777 escape sequence to track and preserve the user's current
    Toolbx container [1] still emits 'toolbox' as the name of the
    container runtime.  Changing the escape sequence can break terminal
    emulation applications, like Prompt [2], that consume it.  Hence, it
    needs to be done carefully.

  * The runtime directories at /run/toolbox, when used as root, and
    $XDG_RUNTIME_DIR/toolbox, when used rootless, weren't renamed.

    When used as root, /run/toolbox is embedded into existing Toolbx
    containers as a bind mount from the host.  Trivially renaming the
    path will prevent these containers from starting.

    Secondly, both these paths are used to synchronize container
    start-up.  If the paths are trivially renamed, and the toolbox(1)
    binary is updated and used without stopping all existing containers,
    then it won't be able to enter containers that were already started.
    Strictly speaking, this scenario isn't supported, since updates are
    always expected to be "offline" [3].  However, it's worth noting
    because solving the previous problem might also address this.

  * The configuration file for RPM is still called
    /usr/lib/rpm/macros.d/macros.toolbox.

[1] https://gitlab.freedesktop.org/terminal-wg/specifications/-/issues/17

[2] https://gitlab.gnome.org/chergert/prompt

[3] https://www.freedesktop.org/software/systemd/man/latest/systemd.offline-updates.html

#1399
  • Loading branch information
debarshiray committed Feb 6, 2024
1 parent da23002 commit c3403da
Show file tree
Hide file tree
Showing 64 changed files with 646 additions and 646 deletions.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Bug report
about: Toolbox's bug report template
about: Toolbx's bug report template
title: ''
labels: 1. Bug
assignees: ''
Expand Down Expand Up @@ -28,7 +28,7 @@ If applicable, add screenshots to help explain your problem.
**Output of `toolbox --version` (v0.0.90+)**
e.g., `toolbox version 0.0.90`

**Toolbox package info (`rpm -q toolbox`)**
**Toolbx package info (`rpm -q toolbox`)**
e.g., `toolbox-0.0.18-2.fc32.noarch`

**Output of `podman version`**
Expand All @@ -49,6 +49,6 @@ e.g., Fedora Silverblue 32
**Additional context**
Add any other context about the problem here.
When did the issue start occurring? After an update (what packages were updated)?
If the issue is about operating with containers/images (creating, using, deleting,..), share here what image you used. If you're unsure, share here the output of `toolbox list -i` (shows all toolbox images on your system).
If the issue is about operating with containers/images (creating, using, deleting,..), share here what image you used. If you're unsure, share here the output of `toolbox list -i` (shows all Toolbx images on your system).

If you see an error message saying: `Error: invalid entry point PID of container <name-of-container>`, add to the ticket output of command `podman start --attach <name-of-container>`.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Feature request
about: Toolbox's feature request template
about: Toolbx's feature request template
title: ''
labels: 1. Feature request
assignees: ''
Expand Down
10 changes: 5 additions & 5 deletions .zuul.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright © 2020 – 2023 Red Hat, Inc.
# Copyright © 2020 – 2024 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -17,7 +17,7 @@
---
- job:
name: unit-test
description: Run Toolbox's unit tests declared in Meson
description: Run Toolbx's unit tests declared in Meson
timeout: 1800
nodeset:
nodes:
Expand All @@ -28,7 +28,7 @@

- job:
name: unit-test-migration-path-for-coreos-toolbox
description: Run Toolbox's unit tests declared in Meson when built with -Dmigration_path_for_coreos_toolbox
description: Run Toolbx's unit tests declared in Meson when built with -Dmigration_path_for_coreos_toolbox
timeout: 600
nodeset:
nodes:
Expand All @@ -39,7 +39,7 @@

- job:
name: unit-test-restricted
description: Run Toolbox's unit tests declared in Meson in a restricted build environment
description: Run Toolbx's unit tests declared in Meson in a restricted build environment
timeout: 1800
nodeset:
nodes:
Expand All @@ -50,7 +50,7 @@

- job:
name: system-test-fedora-rawhide
description: Run Toolbox's system tests in Fedora Rawhide
description: Run Toolbx's system tests in Fedora Rawhide
timeout: 4800
nodeset:
nodes:
Expand Down
4 changes: 2 additions & 2 deletions CODE-OF-CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## The Toolbox Project Community Code of Conduct
## The Toolbx Project Community Code of Conduct

The Toolbox project follows the [Containers Community Code of Conduct](https://github.com/containers/common/blob/main/CODE-OF-CONDUCT.md).
The Toolbx project follows the [Containers Community Code of Conduct](https://github.com/containers/common/blob/main/CODE-OF-CONDUCT.md).
36 changes: 18 additions & 18 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
![Contributing](data/gfx/CONTRIBUTING.gif)

# Contributing to Toolbox
# Contributing to Toolbx

Thank you for wanting to contribute to Toolbox! We greatly appreciate your
Thank you for wanting to contribute to Toolbx! We greatly appreciate your
interest!

# Reporting Bugs
Expand All @@ -13,7 +13,7 @@ interest!
- If the issue is already reported and is marked as **OPEN**, comment on it
and if possible and needed, share info about the issue just as if you were
submitting a new issue
- If the issue is marked as **CLOSED**, check if your version of Toolbox is
- If the issue is marked as **CLOSED**, check if your version of Toolbx is
up-to-date or if there are some steps, described in the closed issue, that
you should follow. If you are still experiencing the issue, please file a
new issue
Expand All @@ -37,14 +37,14 @@ When writing a bug report:
reproduce it.
- **Describe the behavior you received and what you expected** - Sometimes it
may not be clear what the *right* behavior should look like.
- **Provide info about the version of used software** - What version of Toolbox
- **Provide info about the version of used software** - What version of Toolbx
and Podman do you use?
- **Provide info about your system** - What distribution do you use? Which
desktop environment? Is it a VM or a real machine?

# Making Suggestions

Toolbox is not feature-complete and some of it's functionality is not-there-yet.
Toolbx is not feature-complete and some of it's functionality is not-there-yet.
We are thankful for all suggestions and ideas but be ready that your suggestion
may be rejected.

Expand All @@ -63,7 +63,7 @@ may be rejected.
When writing a suggestion:

- **Use a clear and descriptive title**
- **Describe the idea** - What parts of Toolbox does it affect? Is it a major
- **Describe the idea** - What parts of Toolbx does it affect? Is it a major
functionality or a minor tweak?
- **Provide step-by-step description of the suggested behavior** so that we
will understand.
Expand All @@ -72,13 +72,13 @@ When writing a suggestion:

# First Contribution

Toolbox is written in [Go](https://golang.org) and uses [Meson](https://mesonbuild.com)
Toolbx is written in [Go](https://golang.org) and uses [Meson](https://mesonbuild.com)
as it's buildsystem.

Instructions for building Toolbox from source are in our [README](https://github.com/containers/toolbox/blob/main/README.md).
Instructions for building Toolbx from source are in our [README](https://github.com/containers/toolbox/blob/main/README.md).

> You may not need to build the project from source if your contribution is not
> related to the code of Toolbox itself (e.g., documentation, updating CI
> related to the code of Toolbx itself (e.g., documentation, updating CI
> config, playing with image definitions,...).
Here are some ideas of what you could contribute with:
Expand All @@ -88,18 +88,18 @@ Here are some ideas of what you could contribute with:
- Write tests - Go has [tools](https://golang.org/pkg/testing/) for writing tests.
There are also [some](https://github.com/stretchr/testify) [libraries](https://github.com/onsi/ginkgo)
used for creating even more sophisticated tests.
- Play with custom images - Toolbox currently officially works with Fedora-based
- Play with custom images - Toolbx currently officially works with Fedora-based
images. Ultimately there should be a wide variety of supported distro images.
You can help with testing other people's image definitions or creating your
own. **Beware**, maintainers still don't have a clear idea of how the image
infrastructure should look like.
- Write documentation - Some functions in Toolbox's code don't have comments and
it's not very clear what they do. Toolbox has it's [documentation](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/)
- Write documentation - Some functions in Toolbx's code don't have comments and
it's not very clear what they do. Toolbx has it's [documentation](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/)
hosted by Fedora. It's not very large and could use some attention.
- Hack on the code and share the result - Seriously! Sometimes random ideas are
the best.

Toolbox currently does not have an infrastructure for translations. You can help
Toolbx currently does not have an infrastructure for translations. You can help
us to set it up!

# Pull Requests
Expand All @@ -115,7 +115,7 @@ documentation, code comments and much more.
code you're contributing to, consider opening another PR if you want to
implement it yourself or file an issue so that somebody else can pick it up.
- Update documentation to reflect your changes - Manual pages can be found in
directory `doc`. If your changes affect Toolbox's [documentation](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/),
directory `doc`. If your changes affect Toolbx's [documentation](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/),
consider creating a PR there (but to save yourself time, you can do it
after your changes are accepted), too.
- After creating a PR add to the bottom of all your commits a link to the PR. This helps the future maintainers find discussions around the changes.
Expand All @@ -131,16 +131,16 @@ If it takes us a very long time to even respond to your Pull Request, you can
try to @ping us at our communication channels (see section #Communication).

##
Toolbox has a CI (Continuous Integration) setup for running tests. Their goal is to check if your
changes don't affect adversely Toolbox's functionality. Sometimes these tests
Toolbx has a CI (Continuous Integration) setup for running tests. Their goal is to check if your
changes don't affect adversely Toolbx's functionality. Sometimes these tests
mail fail with a false-positive. If you are not sure about the outcome of the
tests, you can try to trigger a new test run by writing a comment with text `recheck` (really just that). If the issue persists, reach out to the maintainers!

Toolbox's CI system is [Zuul](https://zuul-ci.org/) hosted at [softwarefactory](https://softwarefactory-project.io/). The CI is defined using [Ansible](https://www.ansible.com) playbooks. For more information on writing Zuul jobs see their [documentation](https://zuul-ci.org/docs/zuul/reference/user.html).
Toolbx's CI system is [Zuul](https://zuul-ci.org/) hosted at [softwarefactory](https://softwarefactory-project.io/). The CI is defined using [Ansible](https://www.ansible.com) playbooks. For more information on writing Zuul jobs see their [documentation](https://zuul-ci.org/docs/zuul/reference/user.html).

# Little Style Guide

Toolbox is written in [Go](https://golang.org) and uses its default set of tools
Toolbx is written in [Go](https://golang.org) and uses its default set of tools
including `gofmt` and `golint`.

Here are some good materials to learn from about the way how to write nice and
Expand Down
14 changes: 7 additions & 7 deletions GOALS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

### Non-goals

- Supporting multiple container runtimes. Toolbox will use Podman exclusively
- Supporting multiple container runtimes. Toolbx will use Podman exclusively
- Adding significant features on top of Podman
- Significant feature requests should be driven into Podman upstream
- To run containers that aren't tightly integrated with the host
Expand All @@ -26,9 +26,9 @@
- Some cases: user needs root for testing
- Desktop Development:
- Developers need things like D-Bus, display, etc. to be forwarded into the
toolbox container
Toolbx container
- Headless Development:
- Toolbox works properly in headless environments (no display, etc)
- Toolbx works properly in headless environments (no display, etc)
- Need development tools like GDB, strace, etc. to work

### Debugging and System Management Use Cases
Expand All @@ -50,17 +50,17 @@
- Fedora Silverblue
- Silverblue comes with a subset of packages and discourages host software
changes
- Users need a toolbox container as a working environment
- Future: use toolbox container by default when a user opens a shell
- Users need a Toolbx container as a working environment
- Future: use Toolbx container by default when a user opens a shell
- Fedora CoreOS
- Similar to Silverblue, but non-graphical and smaller package set
- RHEL CoreOS
- Similar to Fedora CoreOS. Based on RHEL content and the underlying
operating system for OpenShift
- Need to [use default authfile on pull](https://github.com/coreos/toolbox/pull/58/commits/413f83f7240d3c31121b557bfd55e489fad24489)
- Need to ensure compatibility with the rhel7/support-tools container
- Currently not a toolbox image, opportunity for collaboration
- Currently not a Toolbx image, opportunity for collaboration
- Alignment with `oc debug node/` (OpenShift)
- `oc debug node` opens a shell on a kubernetes node
- Value in having a consistent environment for both Toolbox's debugging
- Value in having a consistent environment for both Toolbx's debugging
mode and `oc debug node`
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
[![Arch Linux package](https://img.shields.io/archlinux/v/extra/x86_64/toolbox)](https://www.archlinux.org/packages/extra/x86_64/toolbox/)
[![Fedora package](https://img.shields.io/fedora/v/toolbox/rawhide)](https://src.fedoraproject.org/rpms/toolbox/)

[Toolbox](https://containertoolbx.org/) is a tool for Linux, which allows the
[Toolbx](https://containertoolbx.org/) is a tool for Linux, which allows the
use of interactive command line environments for development and
troubleshooting the host operating system, without having to install software
on the host. It is built on top of [Podman](https://podman.io/) and other
standard container technologies from [OCI](https://opencontainers.org/).

Toolbox environments have seamless access to the user's home directory,
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..
Expand All @@ -26,7 +26,7 @@ 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.

Toolbox solves this problem by providing a fully mutable container within
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.
Expand All @@ -35,12 +35,12 @@ 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 toolbox environment is based on an [OCI](https://www.opencontainers.org/)
The Toolbx environment is based on an [OCI](https://www.opencontainers.org/)
image. On Fedora this is the `fedora-toolbox` image. This image is used to
create a toolbox container that offers the interactive command line
create a Toolbx container that offers the interactive command line
environment.

Note that Toolbox makes no promise about security beyond what's already
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.

Expand All @@ -49,4 +49,4 @@ familiar with.

See our guides on
[installing & getting started](https://containertoolbx.org/install/) with
Toolbox and [Linux distro support](https://containertoolbx.org/distros/).
Toolbx and [Linux distro support](https://containertoolbx.org/distros/).
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Security and Disclosure Information Policy for the Toolbox Project
## Security and Disclosure Information Policy for the Toolbx Project

The Toolbox Project follows the
The Toolbx Project follows the
[Security and Disclosure Information Policy](https://github.com/containers/common/blob/main/SECURITY.md)
for the Containers Projects.
Loading

0 comments on commit c3403da

Please sign in to comment.