Docker 28.x vendors containerd v2.1.x internally. containerd.io >= 2.3
ships a shim that returns a protobuf BootstrapResult which the vendored
2.1.x code cannot parse, causing every container start to fail with:
"failed to create TTRPC connection: unsupported protocol"
The role now:
- Detects the installed Docker and containerd.io versions
- If Docker < 29 and containerd.io >= 2.3, downgrades to the latest
compatible 2.2.x from the Docker APT repository
- Holds the containerd.io package to prevent future auto-upgrades
This was triggered by containerd.io 2.2.6 → 2.3.3 auto-upgrading via
apt, which broke all CI runners simultaneously.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>