GoCD Agent DinD Arm64 architecture

15 views
Skip to first unread message

Komgrit Aneksri

unread,
May 19, 2024, 7:46:23 AMMay 19
to go-cd
Dear GoCD Team,

I am current using GoCD Server v23.1.0 and GoCD Agent DinD v22.1.0 amd64.

I am looking for GoCD Agent Dind arm64 acrh version.

Do we have GoCD Agent DinD Arm64 version support?

or Have you any source for build it?

Please suggest me.

Best Regards,
Komgrit


Chad Wilson

unread,
May 19, 2024, 8:21:41 AMMay 19
to go...@googlegroups.com
No such thing is available right now - see https://github.com/gocd/gocd/issues/11355

The blocker right now is a sequence of issues:
1) Official Docker DIND images are all Alpine-based. GoCD extends these.
2) Alpine is supposed to be only used with musl libc, (not glibc, which software is often built for).
3) GoCD uses wrapping native software called the Tanuki Service Wrapper which only supports glibc.
4) The hacky Alpine glibc package GoCD uses to make Tanuki and Java work together on Alpine is only available for amd64. Building it custom for aarch64 looks painful, and I don't want to support it, as it's a bad solution already.

The Tanuki folks have told me that they are working on a version for Alpine/musl libc (both x64 and aarch64) which is the easiest way to resolve this soon. However there is no defined release date.

Do you actually need docker-in-docker behaviour that relies on this particular agent image? I have found some people use the DIND image when they actually do not need to. You'd need to upgrade your GoCD, but there are aarch64 containers for every other platform except Alpine now.

-Chad

--
You received this message because you are subscribed to the Google Groups "go-cd" group.
To unsubscribe from this group and stop receiving emails from it, send an email to go-cd+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/87bced9a-3411-47e8-a559-6cd40e9ad1dan%40googlegroups.com.

Komgrit Aneksri

unread,
May 23, 2024, 2:34:18 AMMay 23
to go-cd
Dear Chad,

Thank you so much again for your suggestions.

As for question about Why I have to use GoCD agent with DinD?

I use it because there are many build from source types.

Example my use case.
Ex1. If source code is Terraform, We will pull Terraform image for plan, apply,... infrastructure from terraform source code.

Ex2. If source code python, node, ..., We will pull that programming languages  before run build the source code per that required from programming language.

and also vulnerability scanning (sonarqube, dependency checker, OSV scanner, ..) in our pipelines.

Best Regards,
Komgrit

Chad Wilson

unread,
May 23, 2024, 4:30:02 AMMay 23
to go...@googlegroups.com
Right - this sounds like a reasonable use case :-)

Reply all
Reply to author
Forward
0 new messages