Having the default avoids having builds which don't work in some endpoints (controller built for newer CPU than the endpoint).
Supporting a micro-architecture means that
- we need to accurately identify what the micro-architecture of the endpoint is. We probably need to rely on gcc for this, as that is what's deciding what optimizations to use.
- We need to include the micro-architecture in the md5sum for the container image tag
- We might need to support running workshop on the endpoint, especially if the userenv is different (and have a different compiler version) and if the cpu architecture is completely different (or we have to cross-compile). This could also vastly speed up container builds if we have to build for many endpoints.