Creating a release plan admission
A ReleasePlanAdmission (RPA) CR exists within a managed workspace. It defines the specific pipeline to run and a given Enterprise Contract Policy which needs to pass for the Snapshot before that pipeline can proceed.
When an application is ready for release, the Development team contacts the owners of the managed workspace (for example, their organization’s SRE team) and requests access to the managed workspace. A RPA object is then created in the managed workspace to specify the configuration.
Creating a ReleasePlanAdmission
object
-
An existing Development and Managed workspace.
-
You have completed the steps listed in the Getting started in the CLI page.
-
An existing
ReleasePlan
object in the Development workspace.
-
Create a
ReleasePlanAdmission.yaml
object locally.Example
ReleasePlanAdmission.yaml
objectapiVersion: appstudio.redhat.com/v1alpha1 kind: ReleasePlanAdmission metadata: labels: release.appstudio.openshift.io/auto-release: 'true' (1) name: sre-production (2) namespace: managed-workspace (3) spec: applications: - demo-app (4) data: <key> (5) environment: <sre-production> (6) origin: <dev-workspace> (7) pipelineRef: <pipeline_ref> (8) policy: <policy> (9) serviceAccount: <service-account> (10)
1 Optional: Control whether or not this ReleasePlanAdmission is entirely disabled. If set to false, attempted releases will fail with a validation error. Defaults to true. 2 The name of the release plan admission. 3 The Managed environment team’s workspace. 4 A list of applications that you want to enable to be deployed in the managed workspace. 5 Optional: An unstructured key used for providing data for the managed Pipeline. 6 Optional: The environment from which the application updates are allowed to be received in the Managed workspace. This environment is created by the Development team. 7 The development team workspace where the application is defined. 8 Reference to the Pipeline to be executed by the release service. 9 The enterprise contract policy against which the system validates an application before releasing it to production. 10 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.The ReleasePlanAdmission.yaml represents the reciprocal link to the ReleasePlan.yaml objects created by the development team. -
In the Managed workspace, apply the
ReleasePlanAdmission.yaml
file and add the resource to your cluster by running the following command:kubectl apply -f ReleasePlanAdmission.yaml -n managed
-
In the Konflux UI, select the Release services > Release plan admission tab.
-
Review the RPA object that you just added. Using the Release plan admission tab, you can update or delete the selected Release plan admission object.
-
When a ReleasePlanAdmission is correctly configured to be paired with a ReleasePlan, its Status will display as being
Matched
.