argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
17.53k stars 5.34k forks source link

Build and publish images for armv7 #8832

Open andreasdotorg opened 2 years ago

andreasdotorg commented 2 years ago

Summary

A recent change saw the usage of buildx to build and publish arm64 Docker images in addition to amd64. I'd like to propose to add armv7 (32 bit ARM architecture) to the list of architectures images are published for.

Motivation

I'm using a bare metal cluster running on 32 bit ARM CPUs, and I would like to use ArgoCD on it.

Proposal

Assuming ArgoCD works on 32 bit architectures at all, this should be as easy as adding linux/arm/v7 to the buildx platform argument, e.g. like this.

cam3ron2 commented 2 years ago

This would be huge. It's kind of a pain to have to maintain amd64 nodes in our clusters for the sole purpose of housing argo.

jannfis commented 2 years ago

I'm not sure that our CI would stand up to this. We use GitHub actions with their default runners, and adding the arm64 build already put >60 minutes on top of container image build time. Cross-platform building is very expensive. I think since arm64 is such a popular platform meanwhile, the change to support arm64 was worth it tho.

However, IMHO having more architectures adding up build time for each commit would be a real pain for us. I'm also not sure if we should add arm32 to the official release assets for the very same reasons.

I think a compromise could be to integrate the ability to build more platforms (I think arm32 would already be supported) and run nightly container builds via GitHub actions cron-like trigger.

It's kind of a pain to have to maintain amd64 nodes in our clusters

You could probably build images for arm32 as mentioned above. Have you already tried to build them?

alexmt commented 2 years ago

@jannfis, this PR https://github.com/argoproj/argo-cd/pull/8831 recently significantly improved build speed. It takes ~ 15 mins now, so we have some buffer. If adding arm32 increases build time to 20~25m then I would be ok to add it. WDYT?

jannfis commented 2 years ago

@alexmt Oh nice, I didn't see that change! Yes, in that case, I'm not opposing adding other platforms to the published images :)

Merlijnv commented 2 years ago

Is there any update on this? @alexmt @jannfis

DolevAlgam commented 1 year ago

Any updates? @alexmt @jannfis

ludd98 commented 11 months ago

Thumbs up for this one

crenshaw-dev commented 11 months ago

I'm certainly not opposed, if someone has time to make the necessary changes to our build workflows.

pavelzag commented 9 months ago

Hi folks, anyone knows where one can find ArgoCD images compatible with Raspberry PI based clusters?