-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Container Images Security and Sustainability #1313
Comments
Have conversation about ownership/labeling. |
As a part of https://github.com/dotnet/arcade/issues/10123, we are moving all docker containers to the new tagging schema
As part of https://github.com/dotnet/arcade/issues/10123, we have added a floating -latest tag to all currently in-support docker container images. This change moves all container reference to the -latest version so runtime can get all of the latest updates to the containers.
As a part of dotnet/arcade#10123, we are moving all docker containers to the new tagging schema
* Move docker tags to -latest As part of https://github.com/dotnet/arcade/issues/10123, we have added a floating -latest tag to all currently in-support docker container images. This change moves all container reference to the -latest version so runtime can get all of the latest updates to the containers. * Change all of the centos-8-rpmpkg images to centos-7-rpmpkg CentOS 8 was EOL and has been removed as a supported docker image in dotnet-buildtools-prereqs-docker * Replace -latest tags with new tag schema * Move tests off eol docker containers * Update the images in the new infra
@missymessa - although I was the original author of this epic, I don't think I should be an owner of this again as it's rather related to helix machines than to product construction and release infrastructure. We should summarize what has been done as part of this initiative and close this epic as the team responsible for implementation has been redeployed to another org. Do we have anyone to audit & provide summary on what has been accomplished within this epic? /cc @markwilkie |
We still need to audit the Dockerfiles that we use. This is something I was intending to work on, but I'd be happy to get help. |
@tkapin all I did was unassign Chris from the epic. No idea why GitHub decided to spoof me and assign it to you. |
Context and Motivation
Docker is a key component of our infrastructure that allow us to use well defined environment for building and testing the product. We need to have clarity about what images are used by the product teams, what components do these images contain and have tight control over the images lifecycle. This is necessary to ensure that all Docker images used in the product development lifecycle are secure, patched and don't contain software components with known security vulnerabilities.
Business Objectives
The business objectives of this epic fall essentially in two categories.
Secure Supply Chain
Mariner as the underlying distro for our Linux builds
The Mariner team produces "golden images" of Mariner Linux, guaranteed to be completely secure and well maintained environment. Building on Mariner would let us leverage this secure environment. If it is not possible to build only on Mariner, for example to support MUSL-specific distros (Alpine), we should aim to minimize the number of distros used for building the product to an absolute minimum.
From the security perspective, use of the 1ES environments and standard dotnet tasks for building is considered to be secure as well.
Improved Container Image Lifecycle
Currently, our container definitions are stable, but rarely updated, with some of the definitions dating back to 2020. We don't have means to ensure that all container images we use contain the latest OS patches and CVE fixes. One of the main points of this proposal is to ensure that the containers would be changing rapidly, accepting servicing updates form the OS on a regular basis.
Deletion of old images from MCR would ensure we are not using outdated images in our infrastructure and help us to improve our MCR spending.
Improved Container Inventory Governance
Following-up on the lifecycle of the images, we also need to be able to reason about content of the individual images to ensure we are using only supported and secure versions of our dependencies.
Standardized Container Images Consumption by Product Repos
Due to historical reasons and individual repo owner needs, there are teams that don't use the standard container images from the docker buildtools repo. Ideally, all teams should use standardized images so that we could ensure the images are secure.
Engineering Efficiency and Sustainability
There are also objectives that are rather related to improved efficiency and sustainability when working with container image definitions, rather than with security.
Open Questions
The text was updated successfully, but these errors were encountered: