diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 7e4e0ee8..2264cc70 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -7,7 +7,7 @@ body: id: bug-image attributes: label: Image and version of the image where the issue happens - placeholder: Ubuntu 22.04 + placeholder: AlmaLinux 9 validations: required: true diff --git a/.github/workflows/ubuntu-pr.yaml b/.github/workflows/ubuntu-pr.yaml deleted file mode 100644 index 68941e9b..00000000 --- a/.github/workflows/ubuntu-pr.yaml +++ /dev/null @@ -1,43 +0,0 @@ -name: "Ubuntu: Build toolbx images for PRs" - -permissions: read-all - -on: - pull_request: - branches: - - main - paths: - - ubuntu/** - - .github/workflows/ubuntu-pr.yaml - -env: - distro: 'ubuntu' - distro_pretty: 'Ubuntu' - latest_release: '22.04' - -jobs: - build-images: - strategy: - matrix: - release: ['16.04', '18.04', '20.04', '22.04', '22.10'] - - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build ${{ env.distro_pretty }} ${{ matrix.release }} toolbox image - uses: docker/build-push-action@v3 - with: - context: ${{ env.distro }}/${{ matrix.release }} - file: ${{ env.distro }}/${{ matrix.release }}/Containerfile - platforms: linux/amd64,linux/arm64 - push: false - no-cache: true - tags: quay.io/toolbx-images/${{ env.distro }}-toolbox:${{ matrix.release }} diff --git a/.github/workflows/ubuntu.yaml b/.github/workflows/ubuntu.yaml deleted file mode 100644 index 3de7ba02..00000000 --- a/.github/workflows/ubuntu.yaml +++ /dev/null @@ -1,65 +0,0 @@ -name: "Ubuntu: Build and push toolbx images" - -permissions: read-all - -on: - push: - branches: - - main - paths: - - ubuntu/** - - .github/workflows/ubuntu.yaml - schedule: - - cron: '0 0 * * MON' - -# Prevent multiple workflow runs from racing -concurrency: ${{ github.workflow }} - -env: - distro: 'ubuntu' - distro_pretty: 'Ubuntu' - latest_release: '22.04' - -jobs: - build-and-push-images: - strategy: - matrix: - release: ['16.04', '18.04', '20.04', '22.04', '22.10'] - - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to Quay.io - uses: docker/login-action@v2 - with: - registry: quay.io - username: 'toolbx-images+github' - password: ${{ secrets.QUAY_ROBOT_TOKEN }} - - - name: Build and push ${{ env.distro_pretty }} ${{ matrix.release }} toolbox image - uses: docker/build-push-action@v3 - with: - context: ${{ env.distro }}/${{ matrix.release }} - file: ${{ env.distro }}/${{ matrix.release }}/Containerfile - platforms: linux/amd64,linux/arm64 - push: true - no-cache: true - tags: quay.io/toolbx-images/${{ env.distro }}-toolbox:${{ matrix.release }} - - - name: Push latest tag - if: env.latest_release == matrix.release - uses: docker/build-push-action@v3 - with: - context: ${{ env.distro }}/${{ matrix.release }} - file: ${{ env.distro }}/${{ matrix.release }}/Containerfile - platforms: linux/amd64,linux/arm64 - push: true - tags: quay.io/toolbx-images/${{ env.distro }}-toolbox:latest diff --git a/README.md b/README.md index 242f23f1..d0774491 100644 --- a/README.md +++ b/README.md @@ -115,18 +115,20 @@ directly use the commands below: $ toolbox enter rockylinux-toolbox-8 ``` -- [Ubuntu]: +- [Ubuntu]: The images are now maintained as part of [toolbx] ([GitHub]) + ([repo on Quay.io](https://quay.io/repository/toolbx-images/ubuntu-toolbox)). + Usage: ``` - $ toolbox create --image quay.io/toolbx-images/ubuntu-toolbox:22.04 + $ toolbox create --distro ubuntu --release 22.04 $ toolbox enter ubuntu-toolbox-22.04 - $ toolbox create --image quay.io/toolbx-images/ubuntu-toolbox:20.04 + $ toolbox create --distro ubuntu --release 20.04 $ toolbox enter ubuntu-toolbox-20.04 - $ toolbox create --image quay.io/toolbx-images/ubuntu-toolbox:18.04 + $ toolbox create --distro ubuntu --release 18.04 $ toolbox enter ubuntu-toolbox-18.04 - $ toolbox create --image quay.io/toolbx-images/ubuntu-toolbox:16.04 + $ toolbox create --distro ubuntu --release 16.04 $ toolbox enter ubuntu-toolbox-16.04 ``` diff --git a/ubuntu/16.04/Containerfile b/ubuntu/16.04/Containerfile deleted file mode 100644 index 3da776a9..00000000 --- a/ubuntu/16.04/Containerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM docker.io/library/ubuntu:16.04 - -LABEL com.github.containers.toolbox="true" \ - name="ubuntu-toolbox" \ - version="16.04" \ - usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Ubuntu toolbox containers" \ - maintainer="Ievgen Popovych " - -# Remove apt configuration optimized for containers -# Remove docker-gzip-indexes to help with "command-not-found" -RUN rm /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages - -# Enable myhostname nss plugin for clean hostname resolution without patching -# hosts (at least for sudo), add it right after 'files' entry. We expect that -# this entry is not present yet. Do this early so that package postinst (which -# adds it too late in the order) skips this step -RUN sed -Ei 's/^(hosts:.*)(\)\s*(.*)/\1\2 myhostname \3/' /etc/nsswitch.conf - -# Install ubuntu-minimal & ubuntu-standard -# Ask resolvconf maintainer script not to touch resolve.conf file -# Install extra packages as well as libnss-myhostname -COPY extra-packages / -RUN apt-get update && \ - echo "resolvconf resolvconf/linkify-resolvconf boolean false" | debconf-set-selections && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y \ - ubuntu-minimal ubuntu-standard \ - libnss-myhostname \ - $(cat extra-packages | xargs) && \ - rm -rd /var/lib/apt/lists/* -RUN rm /extra-packages - -# Allow authentication with empty password, promptless -RUN sed -i '/^auth.*pam_unix.so/s/nullok_secure/try_first_pass nullok/' /etc/pam.d/common-auth - -# Fix empty bind-mount to clear selinuxfs (see #337) -RUN mkdir /usr/share/empty diff --git a/ubuntu/16.04/extra-packages b/ubuntu/16.04/extra-packages deleted file mode 100644 index 5e917e85..00000000 --- a/ubuntu/16.04/extra-packages +++ /dev/null @@ -1,8 +0,0 @@ -curl -git -gnupg2 -keyutils -tree -unzip -zip -zsh diff --git a/ubuntu/18.04/Containerfile b/ubuntu/18.04/Containerfile deleted file mode 100644 index 21e7f442..00000000 --- a/ubuntu/18.04/Containerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM docker.io/library/ubuntu:18.04 - -LABEL com.github.containers.toolbox="true" \ - name="ubuntu-toolbox" \ - version="18.04" \ - usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Ubuntu toolbox containers" \ - maintainer="Ievgen Popovych " - -# Remove apt configuration optimized for containers -# Remove docker-gzip-indexes to help with "command-not-found" -RUN rm /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages - -# Enable myhostname nss plugin for clean hostname resolution without patching -# hosts (at least for sudo), add it right after 'files' entry. We expect that -# this entry is not present yet. Do this early so that package postinst (which -# adds it too late in the order) skips this step -RUN sed -Ei 's/^(hosts:.*)(\)\s*(.*)/\1\2 myhostname \3/' /etc/nsswitch.conf - -# Restore documentation but do not upgrade all packages -# Install extra packages as well as libnss-myhostname -COPY extra-packages / -RUN sed -Ei '/apt-get (update|upgrade)/s/^/#/' /usr/local/sbin/unminimize && \ - apt-get update && \ - yes | /usr/local/sbin/unminimize && \ - DEBIAN_FRONTEND=noninteractive apt-get -y install \ - ubuntu-minimal ubuntu-standard \ - libnss-myhostname \ - $(cat extra-packages | xargs) && \ - rm -rd /var/lib/apt/lists/* -RUN rm /extra-packages - -# Allow authentication with empty password, promptless -RUN sed -i '/^auth.*pam_unix.so/s/nullok_secure/try_first_pass nullok/' /etc/pam.d/common-auth - -# Fix empty bind-mount to clear selinuxfs (see #337) -RUN mkdir /usr/share/empty diff --git a/ubuntu/18.04/extra-packages b/ubuntu/18.04/extra-packages deleted file mode 100644 index 5e917e85..00000000 --- a/ubuntu/18.04/extra-packages +++ /dev/null @@ -1,8 +0,0 @@ -curl -git -gnupg2 -keyutils -tree -unzip -zip -zsh diff --git a/ubuntu/20.04/Containerfile b/ubuntu/20.04/Containerfile deleted file mode 100644 index 90605128..00000000 --- a/ubuntu/20.04/Containerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM docker.io/library/ubuntu:20.04 - -LABEL com.github.containers.toolbox="true" \ - name="ubuntu-toolbox" \ - version="20.04" \ - usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Ubuntu toolbox containers" \ - maintainer="Ievgen Popovych " - -# Remove apt configuration optimized for containers -# Remove docker-gzip-indexes to help with "command-not-found" -RUN rm /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages - -# Enable myhostname nss plugin for clean hostname resolution without patching -# hosts (at least for sudo), add it right after 'files' entry. We expect that -# this entry is not present yet. Do this early so that package postinst (which -# adds it too late in the order) skips this step -RUN sed -Ei 's/^(hosts:.*)(\)\s*(.*)/\1\2 myhostname \3/' /etc/nsswitch.conf - -# Restore documentation but do not upgrade all packages -# Install ubuntu-minimal & ubuntu-standard -# Install extra packages as well as libnss-myhostname -COPY extra-packages / -RUN sed -Ei '/apt-get (update|upgrade)/s/^/#/' /usr/local/sbin/unminimize && \ - apt-get update && \ - yes | /usr/local/sbin/unminimize && \ - DEBIAN_FRONTEND=noninteractive apt-get -y install \ - ubuntu-minimal ubuntu-standard \ - libnss-myhostname \ - $(cat extra-packages | xargs) && \ - rm -rd /var/lib/apt/lists/* -RUN rm /extra-packages - -# Allow authentication with empty password, promptless -RUN sed -i '/^auth.*pam_unix.so/s/nullok_secure/try_first_pass nullok/' /etc/pam.d/common-auth - -# Fix empty bind-mount to clear selinuxfs (see #337) -RUN mkdir /usr/share/empty - -# Add flatpak-spawn to /usr/bin -RUN ln -s /usr/libexec/flatpak-xdg-utils/flatpak-spawn /usr/bin/ diff --git a/ubuntu/20.04/extra-packages b/ubuntu/20.04/extra-packages deleted file mode 100644 index 1c47c1e0..00000000 --- a/ubuntu/20.04/extra-packages +++ /dev/null @@ -1,9 +0,0 @@ -curl -flatpak-xdg-utils -git -gnupg2 -keyutils -tree -unzip -zip -zsh diff --git a/ubuntu/22.04/Containerfile b/ubuntu/22.04/Containerfile deleted file mode 100644 index 94af4298..00000000 --- a/ubuntu/22.04/Containerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM docker.io/library/ubuntu:22.04 - -LABEL com.github.containers.toolbox="true" \ - name="ubuntu-toolbox" \ - version="22.04" \ - usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Ubuntu toolbox containers" \ - maintainer="Ievgen Popovych " - -# Remove apt configuration optimized for containers -# Remove docker-gzip-indexes to help with "command-not-found" -RUN rm /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages - -# Enable myhostname nss plugin for clean hostname resolution without patching -# hosts (at least for sudo), add it right after 'files' entry. We expect that -# this entry is not present yet. Do this early so that package postinst (which -# adds it too late in the order) skips this step -RUN sed -Ei 's/^(hosts:.*)(\)\s*(.*)/\1\2 myhostname \3/' /etc/nsswitch.conf - -# Restore documentation but do not upgrade all packages -# Install ubuntu-minimal & ubuntu-standard -# Install extra packages as well as libnss-myhostname -COPY extra-packages / -RUN sed -Ei '/apt-get (update|upgrade)/s/^/#/' /usr/local/sbin/unminimize && \ - apt-get update && \ - yes | /usr/local/sbin/unminimize && \ - DEBIAN_FRONTEND=noninteractive apt-get -y install \ - ubuntu-minimal ubuntu-standard \ - libnss-myhostname \ - $(cat extra-packages | xargs) && \ - rm -rd /var/lib/apt/lists/* -RUN rm /extra-packages - -# Fix empty bind-mount to clear selinuxfs (see #337) -RUN mkdir /usr/share/empty - -# Add flatpak-spawn to /usr/bin -RUN ln -s /usr/libexec/flatpak-xdg-utils/flatpak-spawn /usr/bin/ diff --git a/ubuntu/22.04/extra-packages b/ubuntu/22.04/extra-packages deleted file mode 100644 index 1c47c1e0..00000000 --- a/ubuntu/22.04/extra-packages +++ /dev/null @@ -1,9 +0,0 @@ -curl -flatpak-xdg-utils -git -gnupg2 -keyutils -tree -unzip -zip -zsh diff --git a/ubuntu/22.10/Containerfile b/ubuntu/22.10/Containerfile deleted file mode 100644 index 45e42568..00000000 --- a/ubuntu/22.10/Containerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM docker.io/library/ubuntu:22.10 - -LABEL com.github.containers.toolbox="true" \ - name="ubuntu-toolbox" \ - version="22.10" \ - usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Ubuntu toolbox containers" \ - maintainer="Ievgen Popovych " - -# Remove apt configuration optimized for containers -# Remove docker-gzip-indexes to help with "command-not-found" -RUN rm /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages - -# Enable myhostname nss plugin for clean hostname resolution without patching -# hosts (at least for sudo), add it right after 'files' entry. We expect that -# this entry is not present yet. Do this early so that package postinst (which -# adds it too late in the order) skips this step -RUN sed -Ei 's/^(hosts:.*)(\)\s*(.*)/\1\2 myhostname \3/' /etc/nsswitch.conf - -# Restore documentation but do not upgrade all packages -# Install ubuntu-minimal & ubuntu-standard -# Install extra packages as well as libnss-myhostname -COPY extra-packages / -RUN sed -Ei '/apt-get (update|upgrade)/s/^/#/' /usr/local/sbin/unminimize && \ - apt-get update && \ - yes | /usr/local/sbin/unminimize && \ - DEBIAN_FRONTEND=noninteractive apt-get -y install \ - ubuntu-minimal ubuntu-standard \ - libnss-myhostname \ - $(cat extra-packages | xargs) && \ - rm -rd /var/lib/apt/lists/* -RUN rm /extra-packages - -# Fix empty bind-mount to clear selinuxfs (see #337) -RUN mkdir /usr/share/empty - -# Add flatpak-spawn to /usr/bin -RUN ln -s /usr/libexec/flatpak-xdg-utils/flatpak-spawn /usr/bin/ diff --git a/ubuntu/22.10/extra-packages b/ubuntu/22.10/extra-packages deleted file mode 100644 index 1c47c1e0..00000000 --- a/ubuntu/22.10/extra-packages +++ /dev/null @@ -1,9 +0,0 @@ -curl -flatpak-xdg-utils -git -gnupg2 -keyutils -tree -unzip -zip -zsh