Add Podman Desktop Fleet-maintained app for Windows - #49790
Conversation
Adds Podman Desktop (RedHat.Podman-Desktop, v1.28.3) as a Windows FMA, pairing with the existing podman-desktop/darwin app under the same catalog name so they group together and share the icon. Identity was verified against the real installer rather than the winget metadata: Podman Desktop ships as an electron-builder NSIS package, so the registry DisplayName is "Podman Desktop 1.28.3" (matched via fuzzy name) and the registry Publisher is "Podman Desktop" (from author.name, NOT the winget locale's "RedHat"). Custom /S /ALLUSERS install and a registry-lookup uninstall follow the electron-builder machine-scope pattern. Also reworded the existing macOS description to the standard "<App> is a(n)..." format for consistency.
There was a problem hiding this comment.
Pull request overview
Adds Podman Desktop as a Windows Fleet-maintained app (FMA) using WinGet metadata and custom PowerShell install/uninstall scripts, plus generated outputs and catalog updates so it appears in the FMA library alongside the existing macOS entry.
Changes:
- Added WinGet input manifest for
podman-desktop/windows(x64, machine-scope, exe/NSIS) and custom install/uninstall scripts. - Added generated Windows output JSON (queries, pinned installer URL, SHA256, embedded script refs).
- Updated the global app catalog (
apps.json) to include the Windows entry and standardized the existing macOS description wording.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ee/maintained-apps/outputs/podman-desktop/windows.json | Generated Windows FMA output with queries, pinned installer URL, SHA256, and script refs. |
| ee/maintained-apps/outputs/apps.json | Adds the Windows Podman Desktop catalog entry and rewords the macOS description for consistency. |
| ee/maintained-apps/inputs/winget/scripts/podman-desktop_uninstall.ps1 | Custom uninstall script that locates the ARP entry and runs the uninstaller silently for all users. |
| ee/maintained-apps/inputs/winget/scripts/podman-desktop_install.ps1 | Custom install script running the NSIS installer silently with all-users scope. |
| ee/maintained-apps/inputs/winget/podman-desktop.json | WinGet input manifest defining identity (unique_identifier/publisher) and script paths. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Podman Desktop is an electron-builder NSIS app. Its ARP DisplayName carries | ||
| # the version ("Podman Desktop 1.28.3"), so match on the "Podman Desktop *" | ||
| # prefix. Run the uninstaller with "/S /ALLUSERS" to mirror the machine-scope | ||
| # install and remove the HKLM entry (Fleet runs uninstalls as SYSTEM). |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
WalkthroughAdds Podman Desktop as a maintained Windows application using Winget metadata and version ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8)ee/maintained-apps/inputs/winget/podman-desktop.jsonTraceback (most recent call last): ee/maintained-apps/outputs/apps.jsonTraceback (most recent call last): ee/maintained-apps/outputs/podman-desktop/windows.jsonTraceback (most recent call last): Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Related issue: Resolves #49737
Adds Podman Desktop (
RedHat.Podman-Desktop, v1.28.3) as a Windows Fleet-maintained app. It pairs with the existingpodman-desktop/darwinFMA under the same catalog name, so the two group together in the FMA library and share the existing icon.What changed
ee/maintained-apps/inputs/winget/podman-desktop.json— input manifest (x64, machine scope,exe/NSIS)ee/maintained-apps/inputs/winget/scripts/podman-desktop_install.ps1/_uninstall.ps1— custom install/uninstall scriptsee/maintained-apps/outputs/podman-desktop/windows.json— generated outputee/maintained-apps/outputs/apps.json— new Windows catalog entry; also reworded the existing macOS description to the standard "<App>is a(n)…" format for consistencyIdentity verification (verified, not guessed)
Podman Desktop ships as an electron-builder NSIS installer, and the winget metadata does not match what osquery sees on a host. I decompressed the NSIS header and traced electron-builder's source to confirm the registry identity:
Podman Desktop 1.28.3→unique_identifier: "Podman Desktop"withfuzzy_match_name(matches the version-suffixed name).Podman Desktop— derived from the package'sauthor.name(COMPANY_NAME→ registryPublisher), not the winget locale'sRedHat. Using "RedHat" would have made the exists query silently never match on real hosts.1.28.3equals the registryDisplayVersion, so the patch policy reconciles cleanly.Silent install uses
/S /ALLUSERS; uninstall does a registry lookup with the defensive three-shape UninstallString parser and mirrors/S /ALLUSERS, following the provenanother-redis-desktop-managerelectron-builder machine-scope pattern.Reviewer notes
Checklist for submitter
SELECT *is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters.Testing
go run cmd/maintained-apps/main.go --slug="podman-desktop/windows" --debug; verified exists/patched queries, pinned SHA matches the winget manifest, andapps.jsonis valid JSON.Summary by CodeRabbit