Migrate the ko-multi-arch-template pipeline to publish to ghcr.io. This includes updates to any of the cronjobs that use this template to build images.
Note: To be implemented as a separate PR: update references in the plumbing repo from gcr.io to ghcr.io once the new images are produced.
The pipeline project release pipeline. has been migrated and can provide some insight.
the template part defines the pipeline that is executed to build images
the cronjobs provide the trigger for the execution of the pipelines, and they include the list of parameters as well as the frequency of execution
The template part needs to be updated so that it may work with ghcr.io. The current version works with gcr.io, and unfortunately, it's not enough to change the target registry as authentication works a bit different (for gcr.io we used a service account file, and for ghcr.io we use a PAT), and ghcr.io requires OCI labels to be set
There are three types of builds we do today, which correspond to three separate templates.
This issue covers updating the template and cronjob for multi-architecture, with ko
The order of implementation should be:
Adapt the template to work with ghcr.io (see the changes in the pipeline project release pipeline for inspiration). ko supports passing OCI label, which should be added in the template
Adapt the cronjobs (this can be in the same PR as the template or separate)
Feature request
Migrate the ko-multi-arch-template pipeline to publish to ghcr.io. This includes updates to any of the cronjobs that use this template to build images.
Note: To be implemented as a separate PR: update references in the
plumbing
repo from gcr.io to ghcr.io once the new images are produced.The pipeline project release pipeline. has been migrated and can provide some insight.
Some key information for the migration:
gcr.io/tekton-releases/dogfooding/<image-name>
ghcr.io/tektoncd/plumbing/<image-name>
Use case
Reduce Cloud Storage / Container Registry Spending: https://github.com/tektoncd/plumbing/issues/2157
Additional Info
The template part needs to be updated so that it may work with ghcr.io. The current version works with gcr.io, and unfortunately, it's not enough to change the target registry as authentication works a bit different (for gcr.io we used a service account file, and for ghcr.io we use a PAT), and ghcr.io requires OCI labels to be set
There are three types of builds we do today, which correspond to three separate templates.
This issue covers updating the template and cronjob for multi-architecture, with
ko
The order of implementation should be:
ko
supports passing OCI label, which should be added in the template