This issue is intended to gather answers for 2 questions:
What is needed to enable TestContainers on some platforms that are currently not supported on?
If TestContainers are enabled on more platforms that we require, where can we leverage them at the project?
For installer and OS package testing, we need:
Is Docker already supported on the mentioned Linux-based platforms?
Depends on the definition of supported. Docker is in principle available on those platforms and more. See for example Debian: https://packages.debian.org/buster/docker.io. Docker themselves only offers packages for amd64, armhf and arm64 (https://docs.docker.com/engine/install/debian/).
We're already producing container images for all those platforms, see https://hub.docker.com/_/adoptopenjdk.
Travis CI has multi-arch support for OSS projects: https://docs.travis-ci.com/user/multi-cpu-architectures. It covers all architectures we currently need and Docker (via LXD) is preinstalled.
We roughly outlined the following short term TODOs:
More long term plans involve making sure Testcontainers and docker-java work on the other architectures as well, however, this is not a requirement for this issue here (which only tackles instrumenting containers running on those architectures).
Besides Ryuk, the other sidecar containers (VNC, Socat, etc.) are not a high priority to get running on the architectures.
I'd also suggest getting the research team familiar with running Testcontainers with the adopt ca tests on plain old Intel architecture first. Running on PowerPC may work easily, but it's uncharted territory and probably better if they have a known-working setup to refer back to (plus the experience of running it).
Also to emphasise something mentioned on the call: it's always an option to disable ryuk and disable startup self-checks to make Testcontainers work without sidecar containers. This might allow progress to be made with running your containers on PowerPC _in parallel_ to the effort to port the sidecar images. We don't recommend running without these sidecars for long, but they can be disabled for experimentation.
I believe the gathering of requirements has happened, and some great progress has been made (from both the TestContainers team (https://twitter.com/whichrich/status/1341730726270492672, hazaa!) and from Adopt superhero @aahlenst on the installer testing 馃憤 ). I believe I can close this issue. Put a comment if you feel I should re-open, but I think the remaining work of putting installer testing in place will fall under separate issues.
Most helpful comment
We roughly outlined the following short term TODOs:
More long term plans involve making sure Testcontainers and docker-java work on the other architectures as well, however, this is not a requirement for this issue here (which only tackles instrumenting containers running on those architectures).
Besides Ryuk, the other sidecar containers (VNC, Socat, etc.) are not a high priority to get running on the architectures.