spiegel_podman/pkg/machine
Brent Baude aba2df7517 Add podman machine os upgrade command
Implements automatic OS upgrade functionality for Podman machines that requires no user input beyond running the command. The upgrade logic automatically determines the appropriate upgrade path using a three-way comparison between client version, machine version, and OCI registry:

* When the client version is older than the machine version, no action is taken and an error is returned.
* When the client version matches the machine version, the OCI registry is queried to check for in-band updates by comparing image digests.  This handles minor, patch level, and updates oci image use cases.
* When the client version is newer than the machine version, the machine is upgraded to match the client's major.minor version.
* No manual image selection or version specification required.

The command supports dry-run mode and JSON (only) output format for automation.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-01-16 14:14:06 -06:00
..
apple pkg/machine: make mount units hook into local-fs 2025-11-25 18:13:13 +01:00
applehv enable gofumpt formatter 2025-11-11 12:32:46 +01:00
compression fix: check err returned by newGenericDecompressor 2025-11-20 12:07:37 +03:00
connection Bump Go version to v6 2025-10-23 11:00:15 -04:00
define enable gofumpt formatter 2025-11-11 12:32:46 +01:00
e2e Merge pull request #26277 from lstocchi/i25038 2025-11-21 11:32:09 +00:00
env Bump Go version to v6 2025-10-23 11:00:15 -04:00
hyperv prevent starting/stopping legacy Hyper-v machines when not elevated 2026-01-09 08:07:00 +01:00
ignition enable gofumpt formatter 2025-11-11 12:32:46 +01:00
libkrun Remove Intel MacOS support 2025-12-07 07:03:06 -06:00
lock Bump Go version to v6 2025-10-23 11:00:15 -04:00
ocipull Remove hardcoded refs from ociartifact code 2025-11-13 22:57:21 +01:00
os Add podman machine os upgrade command 2026-01-16 14:14:06 -06:00
ports enable gofumpt formatter 2025-11-11 12:32:46 +01:00
provider Merge pull request #27650 from lstocchi/i27614 2025-12-09 12:17:38 +00:00
proxyenv Bump Go version to v6 2025-10-23 11:00:15 -04:00
qemu enable gofumpt formatter 2025-11-11 12:32:46 +01:00
shim Ignore prompt if stdin not a tty on machine start 2025-11-19 11:50:25 -06:00
sockets Bump Go version to v6 2025-10-23 11:00:15 -04:00
stdpull enable gofumpt formatter 2025-11-11 12:32:46 +01:00
vmconfigs enable gofumpt formatter 2025-11-11 12:32:46 +01:00
windows hyperv should reuse hvsock registry entries when possible 2025-11-20 16:51:31 +01:00
wsl Replace FindExecutablePeer with FindHelperBinary 2025-11-26 14:52:32 +01:00
cleanup.go Clean up gvproxy if machine start fails 2024-02-27 13:33:43 -06:00
config.go Bump Go version to v6 2025-10-23 11:00:15 -04:00
config_test.go Bump Go version to v6 2025-10-23 11:00:15 -04:00
gvproxy.go Fix race condition in CleanupGVProxy when reading gvproxy PID file 2026-01-09 08:07:04 +01:00
gvproxy_unix.go Bump Go version to v6 2025-10-23 11:00:15 -04:00
gvproxy_windows.go Bump Go version to v6 2025-10-23 11:00:15 -04:00
keys.go fileperms: newer Go 1.13+ octal literal format 2025-10-16 14:11:29 -04:00
machine_common.go Bump Go version to v6 2025-10-23 11:00:15 -04:00
machine_unix.go lint: reenable revive unused-parameter check 2025-10-01 10:42:08 -04:00
machine_unsupported.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
machine_windows.go Replace FindExecutablePeer with FindHelperBinary 2025-11-26 14:52:32 +01:00
machine_windows_test.go Update CI to run Windows unit tests 2025-03-16 13:40:16 +00:00
qemuprovider.go podman5 machine reconfig 1 2024-02-07 08:17:43 -06:00
ssh.go use bootc for os apply 2026-01-08 13:32:39 -06:00
ssh_unix.go lint: reenable revive unused-parameter check 2025-10-01 10:42:08 -04:00
ssh_windows.go machine: implement http proxy logic for all providers 2024-02-22 11:23:45 +01:00
update.go Bump Go version to v6 2025-10-23 11:00:15 -04:00
volumes.go Bump Go version to v6 2025-10-23 11:00:15 -04:00