-
Notifications
You must be signed in to change notification settings - Fork 137
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
Add scripts to simplify creation of multiarch images #157
Conversation
FYI the |
@wohali did you look at An example workflow is:
|
@willholley I did, and it didn't work for the alternate platforms. And I do have Also I'm very unhappy about the pressure from IBM/RedHat on UBI images. CouchDB is a volunteer led project by volunteers and I'll not have it taken over by corporate interests any more than it already is with FDB. |
@wohali testing
I'm sorry you feel IBM is putting pressure on the project to support UBI images - that's certainly not the intention. Given it's a contentious issue, let's remove the UBI containers from this repository for now and IBM can maintain them independently. |
The UBI Dockerfile can live here...the issue is that it feels like we're being pressured to make those images the default, or that in the future all the effort I've put into binary packaging for other platforms will be thrown out for that Docker container. Let's discuss this offline. I'll look into the buildx stuff in a separate issue, and taking the +1 to merge this for now. |
And, of course, I can't get this merged until:
|
Fauxton fix is merged (apache/couchdb#2257). I'll see whether I can get hold of a ppc64le machine to run some tests. |
OK, I've solved the I'll enhance the PR with that change and push it. Thanks for the tip, @willholley |
Walking this one back...that doesn't work unless you need to push, since manifests don't exist locally. I'm going to "yes, and" this and provide both approaches, depending on whether you want to build locally (and test), or just build-and-push in one go. Jumped on an issue in buildx to highlight this use case: docker/buildx#166 (comment) |
Overview
The two new scripts represent the final step in the multi-architecture journey for the CouchDB Docker images.
./build.sh
includes the magic incantation necessary to build a CouchDB image onx86_64
for another platform, such asarm64v8
orppc64le
../build-manifest.sh
builds those images for all 3 platforms CouchDB supports today.Note: "Support" is defined by us running those machines in our CI infrastructure regularly. This is true today for
arm64v8
(akaaarch64
) and is about to be true forppc64le
. I feel very strongly that it is irresponsible to add another architecture to this image, or to the downstream Docker top-levelcouchdb
image, without regular CI occurring. You can revisit that decision after I eventually leave the CouchDB project, but know that it'll be with my disappointment. ;)Testing recommendations
On a native
ppc64le
oraarch64/amd64v8
platform:The images have already been tested under qemu; we don't need any more testing in that environment.
Testing with actual workloads on actual hardware would be really, really nice before a downstream PR is opened.
GitHub issue number
Closes #68
Closes #85