Create pipeline to handle image promotion from private registry to public #6826
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Create Pipeline for Image Promotion
This PR aims to streamline the build and deployment process for Docker images by introducing workflows that seamlessly manage builds in a private container registry and promote those images to a public registry. The changes provide greater flexibility in managing individual promotions while ensuring private builds remain efficient and autonomous.
Overarching Goals
Streamlined Builds and Deployments:
Flexible Image Promotions:
flow-protocol-release
team to manage and approve the promotion of individual images to the public registry for each environment.Autonomous Private Builds:
Service Account Separation for Security:
Key Features
Private Registry Builds:
private-build
job to handle private Docker image builds for various roles (access
,collection
,consensus
,execution
,observer
,verification
).Public Registry Promotions:
flow-protocol-release
team is granted access to manage these promotions, ensuring proper governance and quality assurance.Simplified Workflows:
cd.yml Workflow Overview
Private Build Process:
workflow_dispatch
event or other defined inputs.Public Promotion Process:
flow-protocol-release
team has access to trigger promotion workflows for individual roles or environments.builds.yml Workflow Overview
Benefits
flow-protocol-release
team to manage public image promotions selectively.Notes
PRIVATE_REGISTRY_UPLOAD_SECRET
,PUBLIC_REGISTRY_PROMOTION_SECRET
) are set up in the repository.flow-protocol-release
team to facilitate smooth operation.By implementing these changes, the build and deployment pipeline will become more streamlined, with enhanced security through service account separation and greater control over image promotions.
Documentation
The following documentation has been created to ensure internal users understand the process
Example Execution