Integrated GitOps pipelines in the Controller can comprise multiple stages. The stages in the pipeline are then executed sequentially one after another.
In the example below, the pipeline has "four stages". It can either be manually run or triggered by updates to a Git repository which will send a webhook to the Controller. Once the manual approval stage is initiated and approval performed by an authorized user, three workloads are deployed in a sequence
To add a stage in-between the two existing stages/at the end of pipeline/ at the beginning of the pipeline, use the + icon available next to/before each stage. User can either use the + icon or click Add New Stage to add a stage at the end of the pipeline. A map is available at the bottom right of the screen to show the spot of the existing stages
The image below shows the job details for the multi-stage pipeline that was
- Approved by "email@example.com" on 17/Dec/2020 at 9:38 PM
- The first workload deployment took 12 seconds
- The second workload deployment took 14 seconds
- The third workload deployment took 12 seconds
Integrated GitOps pipelines in the Controller closely follow the Projects based hard security isolation model. This means that RBAC'ed users that belong to just "Project A" cannot access/view the pipelines in "Project B".
Organization Admin and Project Admin roles have the privilege to create, read, update and delete pipelines.
Number of Pipelines¶
There are no constraints or limitations (both scale and licensing related) to the number of pipelines that can be used by an organization.
To create a new pipeline,
- Navigate to your Project
- Select GitOps Pipelines
- Click on "New Pipeline", provide a friendly name and Save
Every pipeline contains at least one stage. To add a new stage
- Click Add New Stage and provide a name
- Select the action based on the requirement. Refer stages for more info on each action
User must select only Deploy Workload Template action to deploy applications in wavelength zone
- Select the workload template, namespace, clusters, and other options as per the requirement
Note: To deploy an application on the wavelength zone, select alpha.rafay.io/wl-zone Node Grouping Keys from the Advanced drop-down
- Click Save
Every pipeline contains at least one trigger. To add a new trigger
- Click on Add New Trigger
- Follow the directions for types of triggers
To view the list of all pipelines in a project
- Navigate to your Project
- Click on GitOps pipelines
In the example shown below, there are four active pipelines. The "nginx-gitops" pipeline has been triggered and run 87 times.
Administrators can deactivate a pipeline either temporarily or permanently. When a pipeline is deactivated, triggers received are ignored. However, it is still possible to manually run the pipeline.
Click on Activate to make the pipeline active. The current activation status of a pipeline can be viewed for every pipeline.
Manage Sharing Pipelines¶
The existing pipeline can be shared to All/Specific/None projects. This helps to use the configured resource specs to infuse to the new pipeline if required or change the required resources
Authorized users can edit and update existing pipelines anytime.
- Click on the pipeline
- Click on Edit
- The user can now add/remove/update stages and triggers
Click on Delete, acknowledge the prompt to permanently delete the pipeline. Note that this action is destructive and cannot be undone.
If required, authorized users can launch a pipeline job "manually" by clicking on "Run"
Trigger Events shows the pending events in queue and helps to debug the status of the event. Every time a job is triggered, initially, the events gets into pending status.
Users can filter the events by different statuses. Failed, Skipped, Retry, Pending, and Success are the five (5) statuses of Trigger events.
Once an event is moved to success state, it is converted to a job. Click the job id to view the job details. To view the reason for failed/skipped events, click the status icon
Events that are triggered externally via webhook will have a red icon as shown below. Click the icon to view the changes committed in the repository and the eye icon to view the payload received from Git platform
View Pipeline Jobs¶
Every pipeline job's details (i.e. run) are visualized for users. Just select and click on your pipeline name. In the example below, the reverse chronological list of jobs, their status, total run time and start time are presented for quick comparison.
To view detailed information about a job, click on the "Job #". In the example below, clicking on "Job 20" provides the user detailed information about the pipeline