Creating a release plan

A ReleasePlan (RP) CR is created for a specific Application. It defines the the process to release a specific Application Snapshot in a target workspace, whether automatic releases are enabled, as well as additional data to pass to a corresponding RPA.

Creating a ReleasePlan object

The development team creates a ReleasePlan object in the developer workspace. The ReleasePlan object includes a reference to the application that the development team wants to release, along with workspace where the application is supposed to be released.

Prerequisites
Procedures
  1. Create a ReleasePlan.yaml object locally.

    Example ReleasePlan.yaml object

    apiVersion: appstudio.redhat.com/v1alpha1
    kind: ReleasePlan
    metadata:
     labels:
       release.appstudio.openshift.io/auto-release: 'true' (1)
       release.appstudio.openshift.io/standing-attribution: 'true'
       release.appstudio.openshift.io/releasePlanAdmission: 'rpa-name' (2)
     name: sre-production (3)
     namespace: dev-workspace (4)
    spec:
     application: <application-name> (5)
     data: <key> (6)
     pipelineRef: <pipeline-ref> (7)
     serviceAccount: <service-account> (8)
     target: managed-workspace (9)
    1 Optional: Control if Releases should be created automatically for this ReleasePlan when tests pass. Defaults to true.
    2 Optional: The name of the RPA to use if more than one RPA references the specified application.
    3 The name of the release plan.
    4 The development team’s workspace.
    5 The name of the application that you want to deploy to the managed workspace.
    6 Optional: An unstructured key used for providing data for the managed Pipeline.
    7 Optional: Reference to the Pipeline to be executed by the release service.
    8 Optional: The name of the service account to use in the Pipeline to gain elevated privileges. It’s used only if you have defined the pipelineRef value.
    9 The workspace to which the system deploys the application. This workspace is created by the Managed environment team (for example, your organization’s SRE team)
  2. In the development workspace, apply the ReleasePlan.yaml file and add the resource to your cluster by running the following command:

    $ kubectl apply -f ReleasePlan.yaml -n dev
Verification
  1. In the Konflux UI, select the Release services > Release plan tab.

  2. Review the Release plan object that you just added. Using the Release plan tab, you can update or delete the selected Release plan object.

  3. When a ReleasePlan is correctly configured to be paired with a ReleasePlanAdmission, its Status will display as being Matched.