Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide arm64/aarch64 Alpine agent container image variants #11355

Open
chadlwilson opened this issue Mar 5, 2023 · 2 comments
Open

Provide arm64/aarch64 Alpine agent container image variants #11355

chadlwilson opened this issue Mar 5, 2023 · 2 comments

Comments

@chadlwilson
Copy link
Member

chadlwilson commented Mar 5, 2023

Issue Type
  • Feature enhancement

Summary

In #8544 arm64/aarch64 image variants were validated and made available for CentOS, Debian & Ubuntu, but not for the Alpine variants.

Given the Alpine variant of the server is the main official supported image (and default in the Helm Chart), and the Alpine agents are the most commonly used, it would be much better to be able to have arm64 variants of these. (edit: in 24.1.0 onwards, due to #12500, the server image uses Wolfi instead, and wolfi will be default agent example and Helm image)

Unfortunately, there are a couple of blockers that need to be resolved

  • Currently the Alpine images require glibc to be installed due to the Tanuki Wrapper.
    • The wrapper does not work with musl libc (and neither with libc6-compat or gcompat compatibility layers being installed at time of writing)
    • glibc is installed via https://github.com/sgerrand/alpine-pkg-glibc despite this not being supported OR recommended by the Alpine team. This means the JRE bundled on Alpine is ALSO the glibc variant
    • alpine-pkg-glibc does not have arm64 builds available right now - only x64

Possible Solutions

  1. OPTIMAL > Tanuki Wrapper provide Alpine/musl libc wrapper binaries for both x64 and arm64 AND Eclipse Temurim provide Alpine arm64 builds
    • This seems like it might be possible from the Tanuki folks, based on private comms in early 2023. Subsequent to this issue being raised Adoptium/Temurin has aarch64 Alpine builds of Java 21 (but not 17)
  2. Possible > Tanuki Wrapper provide Alpine/musl libc wrapper binaries for both x64 and arm64 but no new Temurin builds
    • Now we still have a problem, as we don't have an arm64 JRE build.
    • Switch to a different JRE/JDK provider for arm64 or for Alpine in general - e.g Bellsoft liberica
  3. Lots of work > No changes in what is available for Temurin or Tanuki Wrapper
@mario-moreira
Copy link

Is there any arm64 gocd server and agent images, Alpine, Ubuntu or any other distro I could use right now to run gocd in containers? Can't find them on docker hub.

If Alpine images are giving some work, why not release Ubuntu based images meanwhile?

@chadlwilson
Copy link
Member Author

chadlwilson commented Sep 7, 2023

As the description says, in #8544 this exactly was done.

Agent images for CentOS, Debian, Ubuntu are all multi-arch since 23.1.0. The only alternate server image to Alpine is CentOS Stream 9 and is at https://hub.docker.com/r/gocd/gocd-server-centos-9 - also multi-arch.

Also, see https://www.gocd.org/releases#23-1-0

@chadlwilson chadlwilson changed the title Provide arm64/aarch64 Alpine container image variants Provide arm64/aarch64 Alpine agent container image variants Feb 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants