Compare commits

...
Sign in to create a new pull request.

11 commits

Author SHA1 Message Date
b2c70792f7 Update the label for tagging to reflect the project's new home
https://github.com/containers/toolbox/pull/293
2019-10-10 16:08:09 +02:00
e2f6167a2b Avoid losing useradd(8) by accident
The shadow-utils package was added to the base toolbox images to ensure
the presence of the useradd(8) command. Currently the package is
already pulled in by various dependencies. Therefore, it doesn't
increase the size of the base image, but serves as a safeguard against
any inadvertent changes.
2019-09-24 20:27:18 +02:00
Jens Petersen
da30032f5e drop PackageKit-command-not-found
(it connects to the host)
2019-07-11 11:26:36 +00:00
24c528695a Add label for tagging, not tied to the fedora-toolbox name
Currently the toolbox script identifies toolbox images and containers
by checking whether the com.redhat.component label matches
"fedora-toolbox". However, as per the Fedora Container Guidelines [1],
the com.redhat.com label should match the Red Hat Bugzilla component
name where bugs against the image should be reported. This means that
images derived from the base fedora-toolbox image would likely end up
overwriting it.

One option would've been to mandate that all toolbox images have the
"fedora-toolbox-" prefix in their names. However, it's better to avoid
putting limitations on how images can be named. The "fedora" name
wouldn't anyway work for images based on other distributions, and not
all images are going to use the Red Hat bugzilla for tracking bugs.

It's better to use a tag that's uniquely associated with the toolbox
project, and isn't tied to a particular distribution or bug tracker.

[1] https://fedoraproject.org/wiki/Container:Guidelines
2019-04-15 18:07:43 +02:00
1155d5ebbb Synchronize with upstream 2019-03-22 12:00:31 +01:00
e22a095868 Reduce the size by removing temporary files created by DNF
For a locally built squashed fedora-toolbox:29 image [1], the size
reported by 'podman images' goes from 630 MB to 425 MB.

[1] Using: buildah bud --squash ...
2019-03-22 12:00:01 +01:00
2070648995 extra-packages: Add krb5-libs
The krb5-libs package was added to the base toolbox images to ensure
the presence of the /etc/krb5.conf.d directory with the correct
permissions. Currently, the package is already pulled in by various
dependencies. Therefore, it doesn't increase the size of the base
image, but serves as a safeguard against any inadvertent changes.

https://github.com/debarshiray/toolbox/pull/74
2019-03-22 11:58:57 +01:00
70d73601c2 Restore documentation removed from the base Fedora images
https://github.com/debarshiray/toolbox/pull/55
2019-03-22 11:57:33 +01:00
447be5956f extra-packages: Add flatpak-xdg-utils 2019-02-25 15:00:59 +01:00
c5723db31e Synchronize with upstream 2019-02-25 15:00:37 +01:00
2bb7cf2dff Add the rest of the files 2018-09-27 12:34:05 +02:00
4 changed files with 127 additions and 2 deletions

28
Dockerfile Normal file
View file

@ -0,0 +1,28 @@
FROM registry.fedoraproject.org/fedora:29
ENV NAME=fedora-toolbox VERSION=29
LABEL com.github.containers.toolbox="true" \
com.github.debarshiray.toolbox="true" \
com.redhat.component="$NAME" \
name="$FGC/$NAME" \
version="$VERSION" \
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>"
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

View file

@ -1,3 +1,41 @@
# fedora-toolbox
# Toolbox — Unprivileged development environment
The fedora-toolbox package
[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
toolbox container, without affecting the base operating system.
This is particularly useful on
[OSTree](https://ostree.readthedocs.io/en/latest/) based Fedora systems like
[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.
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](https://www.opencontainers.org/)
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 ~]$
```

39
extra-packages Normal file
View file

@ -0,0 +1,39 @@
bash-completion
bzip2
diffutils
dnf-plugins-core
findutils
flatpak-xdg-utils
fpaste
git
gnupg
gnupg2-smime
hostname
iputils
jwhois
keyutils
krb5-libs
less
lsof
man-db
man-pages
mlocate
mtr
openssh-clients
passwd
pigz
procps-ng
rsync
shadow-utils
sudo
tcpdump
time
traceroute
tree
unzip
vte-profile
wget
which
words
xz
zip

20
missing-docs Normal file
View file

@ -0,0 +1,20 @@
acl
bash
chkconfig
curl
dbus-daemon
dnf
gawk
grep
gzip
info
libcap
openssl
p11-kit
pam
python3
rpm
rpm-plugin-systemd-inhibit
sed
systemd
tar