# Overview

Stages are distinct atomic actions that are performed by the pipeline. When one or more stages are put together in a sequence, they result in a "multi stage pipeline".

## Types

There are multiple types of stages available that can be assembled together to model complex workflows for both infrastructure and workload deployments to multiple Kubernetes clusters

| Stage Type | Description |
| --- | --- |
| [Deploy Workload](https://docs.rafay.co/gitops/stages/deploy_workload/) | This stage deploys a pre-existing workload based on the workload's configured placement policy |
| [Deploy Workload Template](https://docs.rafay.co/gitops/stages/workload_template/) | This stage dynamically creates a workload based on a workload template accepting inputs as overrides |
| [Approval](https://docs.rafay.co/gitops/stages/approval/) | This stage blocks the progress of the pipeline until at least one user in the configured list of approvers approves it |
| [System Sync](https://docs.rafay.co/gitops/stages/system_sync/) | This stage maintains the configuration in the system (system database) and Git repository to sync at all times |
