images: Add toolbox image definitions for RHELs 8.8, 8.9, 9.2 and 9.3

These are the full definitions of the UBI-based toolbox images published
for RHEL >= 8.8/9.2 [1] at registry.access.redhat.com/ubi8/toolbox:8.8
and such.  Note that the Dockerfile used to build this image was already
available to the public [2], but didn't include all the files necessary
to build it.

The FROM line has been changed to registry.access.redhat.com/ubi8:8.8
and such so that it can be built outside Red Hat's build system and
always points to the desired RHEL version.

[1] https://catalog.redhat.com/software/containers/ubi8/toolbox/611bd665bd674341b5c5ed46
    https://catalog.redhat.com/software/containers/ubi9/toolbox/61532d7dd2c7f84a4d2ed86b

[2] https://catalog.redhat.com/software/containers/ubi8/toolbox/611bd665bd674341b5c5ed46?container-tabs=dockerfile
    https://catalog.redhat.com/software/containers/ubi9/toolbox/61532d7dd2c7f84a4d2ed86b?container-tabs=dockerfile

https://github.com/containers/toolbox/pull/1434
This commit is contained in:
Debarshi Ray 2024-01-16 00:14:45 +01:00
parent d2316b2624
commit b50aff2f8e
18 changed files with 594 additions and 0 deletions

View File

@ -0,0 +1,28 @@
FROM registry.access.redhat.com/ubi8:8.8
ENV NAME=toolbox-container VERSION=8.8
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI" \
name="$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating UBI toolbox containers" \
maintainer="Oliver Gutiérrez <ogutierrez@redhat.com>"
COPY README.md /
RUN sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
RUN dnf -y swap coreutils-single coreutils-full
COPY missing-docs /
RUN dnf -y reinstall $(<missing-docs)
RUN rm /missing-docs
COPY extra-packages /
RUN dnf -y install $(<extra-packages)
RUN rm /extra-packages
RUN dnf clean all
CMD /bin/sh

44
images/rhel/8.8/README.md Normal file
View File

@ -0,0 +1,44 @@
[Toolbox](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,
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](https://ostreedev.github.io/ostree/) based operating systems like
[Fedora CoreOS](https://coreos.fedoraproject.org/) and
[Silverblue](https://silverblue.fedoraproject.org/). 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.
Toolbox 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 toolbox 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
environment.
Note that Toolbox 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](https://containertoolbx.org/install/) with
Toolbox and [Linux distro support](https://containertoolbx.org/distros/).

View File

@ -0,0 +1,50 @@
alternatives
bzip2
dejavu-sans-fonts
diffutils
dnf-plugins-core
findutils
flatpak-spawn
git
glibc-all-langpacks
gnupg2-smime
hostname
iproute
iputils
jansson
krb5-libs
langpacks-en
less
libevent
libgomp
libICE
libpkgconf
libSM
libX11
libX11-common
libXau
libxcb
libXext
libXmu
libXt
lsof
man-db
openssh-clients
passwd
pigz
pkgconf
pkgconf-m4
pkgconf-pkg-config
procps-ng
qrencode-libs
rsync
shadow-utils
sudo
time
unzip
util-linux
vte-profile
wget
which
xz
zip

View File

@ -0,0 +1,14 @@
acl
bash
curl
gawk
grep
gzip
libcap
p11-kit
pam
python3
rpm
sed
systemd
tar

View File

@ -0,0 +1,45 @@
FROM registry.access.redhat.com/ubi8:8.9
ARG NAME=toolbox-container
ARG VERSION=8.9
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI" \
name="$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating UBI toolbox containers" \
maintainer="Debarshi Ray <debarshir@redhat.com>"
COPY README.md /
RUN rm /etc/rpm/macros.image-language-conf
RUN sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
RUN dnf -y upgrade
RUN dnf -y swap coreutils-single coreutils-full
RUN dnf -y swap glibc-minimal-langpack glibc-all-langpacks
COPY missing-docs /
RUN dnf -y reinstall $(<missing-docs)
RUN rm /missing-docs
COPY extra-packages /
RUN dnf -y install $(<extra-packages)
RUN rm /extra-packages
COPY ensure-files /
RUN ret_val=0; \
while read file; do \
if ! compgen -G "$file" >/dev/null; then \
echo "$file: No such file or directory" >&2; \
ret_val=1; \
break; \
fi; \
done <ensure-files; \
if [ "$ret_val" -ne 0 ]; then \
false; \
fi
RUN rm /ensure-files
RUN dnf clean all

44
images/rhel/8.9/README.md Normal file
View File

@ -0,0 +1,44 @@
[Toolbox](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,
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](https://ostreedev.github.io/ostree/) based operating systems like
[Fedora CoreOS](https://coreos.fedoraproject.org/) and
[Silverblue](https://silverblue.fedoraproject.org/). 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.
Toolbox 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 toolbox 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
environment.
Note that Toolbox 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](https://containertoolbx.org/install/) with
Toolbox and [Linux distro support](https://containertoolbx.org/distros/).

View File

@ -0,0 +1,7 @@
/usr/share/man/man1/bash.1*
/usr/share/man/man1/cd.1*
/usr/share/man/man1/export.1*
/usr/share/man/fr/man8/rpm.8*
/usr/share/man/ja/man8/rpm.8*
/usr/share/man/man8/rpm.8*

View File

@ -0,0 +1,52 @@
alternatives
bash-completion
bzip2
dejavu-sans-fonts
diffutils
dnf-plugins-core
findutils
flatpak-spawn
git
glibc-all-langpacks
gnupg2-smime
hostname
iproute
iputils
jansson
krb5-libs
langpacks-en
less
libevent
libgomp
libICE
libpkgconf
libSM
libX11
libX11-common
libXau
libxcb
libXext
libXmu
libXt
lsof
man-db
openssh-clients
passwd
pigz
pkgconf
pkgconf-m4
pkgconf-pkg-config
procps-ng
qrencode-libs
rsync
shadow-utils
sudo
time
unzip
util-linux
vte-profile
wget
which
xorg-x11-xauth
xz
zip

View File

@ -0,0 +1,14 @@
acl
bash
curl
gawk
grep
gzip
libcap
p11-kit
pam
python3
rpm
sed
systemd
tar

View File

@ -0,0 +1,28 @@
FROM registry.access.redhat.com/ubi9:9.2
ENV NAME=toolbox-container VERSION=9.2
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI" \
name="$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating UBI toolbox containers" \
maintainer="Oliver Gutiérrez <ogutierrez@redhat.com>"
COPY README.md /
RUN sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
RUN dnf -y swap coreutils-single coreutils-full
COPY missing-docs /
RUN dnf -y reinstall $(<missing-docs)
RUN rm /missing-docs
COPY extra-packages /
RUN dnf -y install $(<extra-packages)
RUN rm /extra-packages
RUN dnf clean all
CMD /bin/sh

44
images/rhel/9.2/README.md Normal file
View File

@ -0,0 +1,44 @@
[Toolbox](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,
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](https://ostreedev.github.io/ostree/) based operating systems like
[Fedora CoreOS](https://coreos.fedoraproject.org/) and
[Silverblue](https://silverblue.fedoraproject.org/). 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.
Toolbox 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 toolbox 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
environment.
Note that Toolbox 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](https://containertoolbx.org/install/) with
Toolbox and [Linux distro support](https://containertoolbx.org/distros/).

View File

@ -0,0 +1,49 @@
alternatives
bzip2
dejavu-sans-fonts
diffutils
dnf-plugins-core
findutils
flatpak-spawn
git
glibc-all-langpacks
gnupg2-smime
hostname
iproute
iputils
jansson
krb5-libs
langpacks-en
less
libevent
libgomp
libICE
libpkgconf
libSM
libX11
libX11-common
libXau
libxcb
libXext
libXmu
libXt
lsof
man-db
openssh-clients
passwd
pigz
pkgconf
pkgconf-m4
pkgconf-pkg-config
procps-ng
rsync
shadow-utils
sudo
time
unzip
util-linux
vte-profile
wget
which
xz
zip

View File

@ -0,0 +1,14 @@
acl
bash
curl
gawk
grep
gzip
libcap
p11-kit
pam
python3
rpm
sed
systemd
tar

View File

@ -0,0 +1,45 @@
FROM registry.access.redhat.com/ubi9:9.3
ARG NAME=toolbox-container
ARG VERSION=9.3
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI" \
name="$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating UBI toolbox containers" \
maintainer="Debarshi Ray <debarshir@redhat.com>"
COPY README.md /
RUN rm /etc/rpm/macros.image-language-conf
RUN sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
RUN dnf -y upgrade
RUN dnf -y swap coreutils-single coreutils-full
RUN dnf -y swap glibc-minimal-langpack glibc-all-langpacks
COPY missing-docs /
RUN dnf -y reinstall $(<missing-docs)
RUN rm /missing-docs
COPY extra-packages /
RUN dnf -y install $(<extra-packages)
RUN rm /extra-packages
COPY ensure-files /
RUN ret_val=0; \
while read file; do \
if ! compgen -G "$file" >/dev/null; then \
echo "$file: No such file or directory" >&2; \
ret_val=1; \
break; \
fi; \
done <ensure-files; \
if [ "$ret_val" -ne 0 ]; then \
false; \
fi
RUN rm /ensure-files
RUN dnf clean all

44
images/rhel/9.3/README.md Normal file
View File

@ -0,0 +1,44 @@
[Toolbox](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,
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](https://ostreedev.github.io/ostree/) based operating systems like
[Fedora CoreOS](https://coreos.fedoraproject.org/) and
[Silverblue](https://silverblue.fedoraproject.org/). 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.
Toolbox 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 toolbox 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
environment.
Note that Toolbox 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](https://containertoolbx.org/install/) with
Toolbox and [Linux distro support](https://containertoolbx.org/distros/).

View File

@ -0,0 +1,7 @@
/usr/share/man/man1/bash.1*
/usr/share/man/man1/cd.1*
/usr/share/man/man1/export.1*
/usr/share/man/fr/man8/rpm.8*
/usr/share/man/ja/man8/rpm.8*
/usr/share/man/man8/rpm.8*

View File

@ -0,0 +1,51 @@
alternatives
bash-completion
bzip2
dejavu-sans-fonts
diffutils
dnf-plugins-core
findutils
flatpak-spawn
git
glibc-all-langpacks
gnupg2-smime
hostname
iproute
iputils
jansson
krb5-libs
langpacks-en
less
libevent
libgomp
libICE
libpkgconf
libSM
libX11
libX11-common
libXau
libxcb
libXext
libXmu
libXt
lsof
man-db
openssh-clients
passwd
pigz
pkgconf
pkgconf-m4
pkgconf-pkg-config
procps-ng
rsync
shadow-utils
sudo
time
unzip
util-linux
vte-profile
wget
which
xorg-x11-xauth
xz
zip

View File

@ -0,0 +1,14 @@
acl
bash
curl
gawk
grep
gzip
libcap
p11-kit
pam
python3
rpm
sed
systemd
tar