Compare commits
11 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b2c70792f7 | |||
| e2f6167a2b | |||
|
|
da30032f5e | ||
| 24c528695a | |||
| 1155d5ebbb | |||
| e22a095868 | |||
| 2070648995 | |||
| 70d73601c2 | |||
| 447be5956f | |||
| c5723db31e | |||
| 2bb7cf2dff |
4 changed files with 127 additions and 2 deletions
28
Dockerfile
Normal file
28
Dockerfile
Normal 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
|
||||
42
README.md
42
README.md
|
|
@ -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
39
extra-packages
Normal 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
20
missing-docs
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue