Description
Summary of the new feature / enhancement
CC @sdwheeler @StevenBucher98 @mgreenegit
With the announcement of PowerShell/Announcements#75 that the dotnet SDK docker is now the official PowerShell image, this repo should be archived so as not to confuse users that this may be under active development.
There are some unanswered questions needed, since the announcements has locked discussion:
Version Alignment and Identification
PowerShell releases do not align neatly with .NET SDK releases, especially recently with PowerShell releases lagging months after new .NET versions. When the PowerShell team does a security release e.g. 7.4.1, how are we to know and track what image that release will be available in? What is going to be the assurance on lead time, is the .NET SDK team willing to rebuild their images the moment those new powershell releases come out, or do they lag to when the .NET SDK revision gets bumped? All of these are concerns about maintaining security and update consistency in an environment. Sure we can always add on a layer to install the newer version ourselves, but if the whole point is for this to be a supported solution, it has to provide the same kind of expected lifecycle support.
I would recommend the team at least maintain a powershell docker tag that ties releases to SDK image hashes. The team will not be doing any building of containers, merely linking the appropriate image hashes so people can still track mcr.microsoft.com/powershell appropriately.
Runtime Images
The SDK image is focused on development, and is heavyweight. It is not a good base environment to run as a runtime powershell container, especially from an attack surface, image size, and supply chain perspective (as good as the SDK supply chain is). The .NET team provides distroless images based on Azure Linux and Dotnet Chiseled that are perfect for this. Ideally the team would provide images similar to what I provide at https://github.com/JustinGrote/PowerShell-Containers/pkgs/container/powershell but I understand with resource constraints if this must remain a community offering.
Again, I think this is a good forward approach and the reasoning makes sense, but I feel there needs to be a bit more done to maintain the branding of the container images, and enable Powershell to continue to thrive in a container world as a competitive offering alongside python, etc.