Plugins

This section describes the plugins available for PipeCD v1 and how to use them.

In PipeCD v1, plugins handle deployments. piped runs each configured plugin as a separate process and communicates with it over gRPC, so which platforms your piped can deploy to depends on which plugins you configure. See more about plugins.

There are two types of plugins:

  • Deployment plugins: handle the deployment for a specific platform such as Kubernetes or Terraform.
  • Stage plugins: provide pipeline stages that can be used with any deployment plugin, such as WAIT or ANALYSIS.

Official plugins

The PipeCD maintainers develop and maintain the following plugins. Each plugin is versioned and released independently. You can download the plugin binaries from the releases page.

Deployment plugins

PluginDescription
KubernetesDeploys applications to a Kubernetes cluster. Supports quick sync and pipeline sync with canary, baseline, and blue-green strategies.
Kubernetes multi-clusterDeploys a single application to multiple Kubernetes clusters with one pipeline.
TerraformApplies infrastructure changes by running terraform plan and terraform apply in a pipeline.
Amazon ECSDeploys applications to Amazon ECS.

Stage plugins

PluginStageDescription
WaitWAITWaits for a specified duration before continuing the pipeline.
Wait approvalWAIT_APPROVALPauses the pipeline until a user approves the deployment.
AnalysisANALYSISEvaluates the deployment by querying metrics, logs, or HTTP endpoints.
Script runSCRIPT_RUNRuns arbitrary commands as a pipeline stage.

Community plugins

The PipeCD community maintains additional plugins in the community-plugins repository. Visit the repository for a list of available plugins and their documentation.

Using a plugin

To add a plugin to your piped and register deploy targets, see Configuring a plugin.

Writing your own plugin

Anyone can develop a plugin for PipeCD. See the plugin development guide to get started.