Prerequisites
- A fork or clone of the
bb-appsource-gitrepository - Docker CLI installed and authenticated
- A GitHub personal access token with read:packages and write:packages scopes
- Flux CLI installed
- A Cosign key pair generated (
cosign.keyandcosign.pub)
1. Prepare the Repository
-
Switch to a new feature branch:
-
Under the
manifests/folder, confirm you have:namespace.yamldeployment.yamlservice.yaml
-
Verify your
deployment.yamluses version 7.10.0:
2. Authenticate to GitHub Container Registry
Log in to GitHub Container Registry (GHCR) using your username and personal access token:Ensure your token has at least
read:packages and write:packages scopes to push and pull images.3. Push the OCI Artifact with Flux
Package your manifests folder and push it as an OCI artifact:4. Sign the Artifact with Cosign
-
Pull the image by tag:
-
Sign by digest:
.sig blob is now attached to your OCI package.
5. Verify the Signature Locally
Use your public key to confirm the artifact’s integrity:6. Configure Flux to Pull and Verify
-
Change to your Flux cluster repo:
-
Create an
OCIRepositorysource for GHCR: -
Edit 10-demo-source-oci-bb-app.yaml to include Cosign verification:
-
Apply the source:
-
Ensure secrets exist:
-
Create and apply a
Kustomizationto deploy the manifests:
7. Confirm Verification and Deployment
-
Reconcile and check the OCI source status:
You should see
READY True. -
Inspect the
SourceVerifiedcondition: -
Verify deployment in the
10-demonamespace: -
Access the application on its NodePort (e.g.,
localhost:30010). You should see version 7.10.0 of Block Buster:
