From Fedora Project Wiki
(Created page with "{{admon/tip | Guidance | For details on how to fill out this form, see the [https://docs.fedoraproject.org/en-US/program_management/changes_guide/ documentation].}} <!-- The...")
 
No edit summary
Line 22: Line 22:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeReadyForWrangler]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 90: Line 90:


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the distribution?  Will the software we generate be improved? How will the process of creating Fedora releases be improved?
Reducing the size of the base image makes it a more interesting choice for users to build layered images using Fedora. The base image is also heavily used by CI systems so reducing the size makes it faster to be pulled.  
Reducing the size of the base image makes it a more interesting choice for users to build layered images using Fedora. The base image is also heavily used by CI systems so reducing the size makes it faster to be pulled.  
Removing packages from the base image also reduces the number of CVEs our users have to care about.  
Removing packages from the base image also reduces the number of CVEs our users have to care about.  

Revision as of 08:09, 1 April 2021

Idea.png
Guidance
For details on how to fill out this form, see the documentation.


Smaller Container Base Image (remove sssd-client, util-linux, shadow-utils)

Summary

This change proposes to remove 3 packages (sssd-client, util-linux, shadow-utils) from the Container Base Image (including the minimal image). The Fedora Base Image is still quite large compared to other distributions and the tools offered by these packages are not essential in base image.

Owner

Current status

  • Targeted release: Fedora Linux 35
  • Last updated: 2021-04-01
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

This is a proposal to make the Fedora Container Base image smaller by remove the following 3 packages:

  • sssd-client
  • util-linux
  • shadow-utils

Current size of the base image and minimal base image :

REPOSITORY TAG IMAGE ID CREATED SIZE
registry.fedoraproject.org/fedora 34 eede0db319cc 2 days ago 187 MB
registry.fedoraproject.org/fedora-minimal 34 4ff120184ee4 2 days ago 122 MB

The installed size of each package is :

Package Installed Size
util-linux 13018140
shadow-utils 3876259
sssd-client 317948

Removing these packages would allow to gain around 17MB in both images.

Each of these packages provides useful tools but the main goal of the base image is for building layered images. Each of these packages can easily be added in a layered image if needed.

More info and discussion happened for each package in the Container SIG tracker

sssd-client : https://pagure.io/ContainerSIG/container-sig/issue/44

util-linux : https://pagure.io/ContainerSIG/container-sig/issue/45

shadow-utils : https://pagure.io/ContainerSIG/container-sig/issue/46


Feedback

Benefit to Fedora

Reducing the size of the base image makes it a more interesting choice for users to build layered images using Fedora. The base image is also heavily used by CI systems so reducing the size makes it faster to be pulled. Removing packages from the base image also reduces the number of CVEs our users have to care about.


Scope

  • Proposal owners:

Explicitly remove the 3 packages from the base image kickstart : https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-base.ks

  • Release engineering:

Approve and Merge the kickstart change.

  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: N/A

Upgrade/compatibility impact

Some layered images that relied on these packages being provided by the base image will fail to build. These images will now have to make sure to install the required package in their Container/Dockerfile.

In most cases that will results in adding the following :

RUN dnf -y install sssd-client shadow-utils util-linux && dnf clean all


How To Test

Once implemented, one can test this change by pulling the rawhide image and verify that none of the above packages are present in the image.

User Experience

See Upgrade/compatibility impact

Dependencies

Contingency Plan

Kickstart changes can simply be reverted and packages added back in the base image.

Documentation

Release Notes