From 8a9927de542f70b41e32f4bfec736bc6d45804ff Mon Sep 17 00:00:00 2001 From: PuneetPunamiya Date: Fri, 3 May 2024 15:06:53 +0530 Subject: [PATCH] Update Readme.md Signed-off-by: PuneetPunamiya --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ab73a5f..d0040221 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,51 @@ -# manual-approval +# Manual Approval Gate -OpenShift Pipelines manual approval custom task +Manual Approval Gate is a Kubernetes Custom Resource Definition (CRD) controller. You can use it to add manual approval points in pipeline so that the pipeline wait at that point and waits for a manual approval before continuing execution + +You can refer the ApprovalTask in the pipeline similar to how we refer Task today + +```yaml +- name: wait + taskRef: + apiVersion: openshift-pipelines.org/v1alpha1 + kind: ApprovalTask + params: + - name: approvers + value: + - foo + - bar + - tekton + - name: numberOfApprovalsRequired + value: 2 + - name: description + value: Approval Task Rocks!!! +``` + +### Features + +* While referring the approvalTask in the pipelinerun following params need to be added + * approvers - The users who can approve/reject the approvalTask to unblock the pipeline + * numberOfApprovalsRequired - Numbers of approvals required to unblock the pipeline + * description - Description of approvalTask which users want to give + +* Support for multiple users + * Until and unless numberOfApprovalsRequired limit is not reached i.e approval task does not get approval from the users as approve, till then approvalState will be pending + * If any one approver rejects the approval task controller will mark the approvalState as rejected and then the pipelinerun will fail + * If a user approves for the first time and still approvalsRequired limit is not reached i.e. approvalState is in pending state then user can still change his input and mark the approval task as reject + +* A webhook is configured while you install manual-approval-gate which will take care of all the checks which are required while the approver approves/rejects the approvalTask +* Users can add timeout to the approvalTask +* As of today once the timeout exceeds, approvalTask state is marked as rejected and correspondingly customrun and pipelinerun will be failed +* Users can add messages while approving/rejecting the approvalTask + + +### Installation + +* On Kubernetes + ``` + make apply + ``` +* On Openshift + ``` + make TARGET=openshift apply + ```