Add windows containers to the docker multiarch manifest#1864
Add windows containers to the docker multiarch manifest#1864wcs1only merged 2 commits intodapr:masterfrom
Conversation
|
Great stuff. |
youngbupark
left a comment
There was a problem hiding this comment.
@wcs1only Thanks a lot for this change. this change is pretty big. for validation, you can fork this repo and validate it on your fork.
https://github.com/dapr/dapr/blob/master/docs/development/setup-ci.md
Yes, I did this and included a link in the description to the produced artifacts. https://github.com/wcs1only/dapr/runs/930062942?check_suite_focus=true |
Cool. Thanks for the validation! :) |
5e16e53 to
18aeff0
Compare
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-01. Please wait until test is done. |
|
Congrats! All end-to-end tests have passed. Thanks for your contribution! |
|
I have also updated tests/docs/running-e2e-test.md and run the procedure manually start to finish. Everything is working on linux. |
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-01. Please wait until test is done. |
|
Congrats! All end-to-end tests have passed. Thanks for your contribution! |
Description
It turns out, you can build a docker multiplatfrom image across both windows and linux. This means we can deliver a cross platform sidecar injector simply by creating a daprd windows container and letting docker automatically pull the right one based on the os/architecture of the kubernetes node the user app happens to be deployed to.
Prior to this change, we would build each set of binaries separately, then copy them all to one job to do a docker buildx to create the multiplatform images. Since buildx does not support windows, we'll now build docker containers on their respective host types (linux/amd64 linux/arm windows/amd64), tag them with the suffix version-os-arch and push them. Then, another job will come along and do a dapr manifest build version version-linux-amd64 version-windows-amd64 ...
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #1746
Manual testing
You'll find some sample images here: https://hub.docker.com/layers/wcs1only/daprd/edge/images/sha256-c253bb3bfaf91416e5556ed418569481ab36cfbc676198ff9a6168c8d14158c4?context=explore
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: