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.
-
You have an existing Development workspace.
-
You have completed the steps listed in the Getting started in the CLI page.
-
Create a
ReleasePlan.yaml
object locally.Example
ReleasePlan.yaml
objectapiVersion: 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) releaseGracePeriodDays: <days> (9) target: managed-workspace (10)
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 Optional: The number of days a Release should be kept before being garbage collected. (default is 7 days) 10 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) -
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
-
In the Konflux UI, select the Release services > Release plan tab.
-
Review the Release plan object that you just added. Using the Release plan tab, you can update or delete the selected Release plan object.
-
When a ReleasePlan is correctly configured to be paired with a ReleasePlanAdmission, its Status will display as being
Matched
.