chains
chains copied to clipboard
Multi-arch support for Tekton Chains
Feature request
At this moment chain controller images are running only on linux/amd64 platform. Is it possible to publish multi-arch versions of controller images with linux/amd64, linux/s390x, linux/ppc64le and linux/arm64 support? In case if ko tool was used to build initial version, generate the multi-arch image is possible using --platform=linux/amd64,linux/s390x,linux/ppc64le,linux/arm64 extra parameter.
Hey @manojbison thanks for opening this issue.
The list of architectures we release can be found here in the release Pipeline:
https://github.com/tektoncd/chains/blob/a4fce9f22bef64775d5afb48cb123f633f0337ee/release/release-pipeline.yaml#L45-L46
We do provide images for linux/amd64 and linux/arm64.
Adding additional platforms linux/s390x, linux/ppc64le on line 46 should work. If anyone is able to add in the additional architectures & confirm locally that they compile then I'm happy to approve a PR!
Thanks @priyawadhwa. We are currently compiling chains on ppc64le & s390x platform. There are some failures due to image dependencies. We will enable image builds for linux/s390x & linux/ppc64le using your suggest approach once we resolve the failures.
@snehakpersistent could successfully compile controller image and use it to deploy chains on ppc64le. She also tried few tutorials on chains to validate the functionality. The image dependencies I mentioned in previous https://github.com/tektoncd/chains/issues/459#issuecomment-1154869850 are related to e2e tests. We are working on adding ppc64le support to these third-party test images. In the meantime, since local validation is working as expected. could we merge #461 to get chains image for ppc64le? - @priyawadhwa
For reference: list of unsupported ppc64le images used in e2e tests
# docker inspect gcr.io/spiffe-io/spire-agent:1.0.2 | grep -i arch
"Architecture": "amd64",
# docker inspect gcr.io/tekton-releases/dogfooding/ko:latest | grep -i arch
"Architecture": "amd64",
# docker inspect gcr.io/tekton-releases/dogfooding/koparse:latest | grep -i arch
"Architecture": "amd64",
# docker inspect gcr.io/spiffe-io/wait-for-it:latest | grep -i arch
"Architecture": "amd64",
# docker inspect gcr.io/spiffe-io/spire-agent:1.0.2 | grep -i arch
"Architecture": "amd64"
# docker inspect gcr.io/spiffe-io/spire-server:1.0.2 | grep -i arch
"Architecture": "amd64",
# docker inspect gcr.io/spiffe-io/oidc-discovery-provider:1.0.2 | grep -i arch
"Architecture": "amd64",
# docker pull hashicorp/vault:1.9.2
1.9.2: Pulling from hashicorp/vault
no matching manifest for linux/ppc64le in the manifest list entries
Hey @manojbison thanks for opening this issue.
The list of architectures we release can be found here in the release Pipeline:
https://github.com/tektoncd/chains/blob/a4fce9f22bef64775d5afb48cb123f633f0337ee/release/release-pipeline.yaml#L45-L46
We do provide images for
linux/amd64andlinux/arm64.Adding additional platforms
linux/s390x, linux/ppc64leon line 46 should work. If anyone is able to add in the additional architectures & confirm locally that they compile then I'm happy to approve a PR!
we are able to build and run controller image successfully on s390x platform. This PR : https://github.com/tektoncd/chains/pull/463 to Multi-arch support.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale with a justification.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.
/lifecycle stale
Send feedback to tektoncd/plumbing.
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.
/lifecycle rotten
Send feedback to tektoncd/plumbing.
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen with a justification.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.
/close
Send feedback to tektoncd/plumbing.
@tekton-robot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity. Reopen the issue with
/reopenwith a justification. Mark the issue as fresh with/remove-lifecycle rottenwith a justification. If this issue should be exempted, mark the issue as frozen with/lifecycle frozenwith a justification./close
Send feedback to tektoncd/plumbing.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.