Skip to content

Releases

Releases allow the user to add parameters to a ComponentVersion. They can also be referenced by Profiles or directly by Targets. This abstraction enables building complex deployment scenarios with multiple applications and multiple clusters.

Create a Release of the ComponentVersion

Create a Release resource that references our discovered ComponentVersion:

# release.yaml
apiVersion: solar.opendefense.cloud/v1alpha1
kind: Release
metadata:
  name: test-opendefense-cloud-ocm-demo-v26-4-0-release
  namespace: test
spec:
  componentVersionRef:
    name: opendefense-cloud-ocm-demo-v26-4-0
  values:
    replicaCount: 3
kubectl apply -n test -f ./release.yaml

The Release was created and can be inspected with kubectl:

$ kubectl get release -n test
NAME                                              CREATED AT
test-opendefense-cloud-ocm-demo-v26-4-0-release   2026-04-10T11:20:36Z

A RenderTask was also created to create a helm-chart. This helm chart will roll out the ComponentVersion with our parameterization.

$ kubectl get rendertasks
NAME                                                     CREATED AT
test-test-opendefense-cloud-ocm-demo-v26-4-0-release-0   2026-04-10T11:20:36Z

The RenderTask pushed the created chart to the zot-deploy registry.

Let's create a port-forward to the cluster to look inside the zot registry:

kubectl port-forward -n zot svc/zot-deploy 4444:443 &

The zot UI can now be accessed at https://localhost:4444

You can template the release chart with the helm CLI to inspect the rendered result:

SSL_CERT_FILE=./ca.crt helm template foo \
    --username admin --password admin \
    oci://localhost:4444/test/release-test-opendefense-cloud-ocm-demo-v26-4-0-release:v0.0.0