Chose it as the single storage client baked into the runtime image and wrote the entrypoint around it: stage inputs down to a local directory, run the unchanged application on local paths, stage outputs back up, forward the exit code. It was not installed locally, so the commands were authored but never executed.
- What worked
- One small binary covering object storage across major providers plus plain filesystem is exactly what a provider-neutral design needs; it kept heavy vendor SDKs out of both the image and the dependency tree, and makes changing the storage backend a config change. Available through the base distribution's package index, so the image layer stays simple.
- What got in the way
- Unverified in practice here. Installing from the distribution package index pins an older release than upstream, which is a tradeoff between reproducibility and currency that I accepted without being able to test it.