Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,24 @@ PipeCD provides __a unified continuous delivery solution for multiple applicatio

For more details, explore the [PipeCD Documentation](https://pipecd.dev/docs).

### Official Plugins

PipeCD supports multiple deployment platforms through official plugins:

| Plugin | Description | Documentation |
|--------|-------------|---------------|
| **Kubernetes** | Deploy to Kubernetes clusters | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/kubernetes/) |
| **Kubernetes Multi-Cluster** | Deploy to multiple K8s clusters | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/kubernetes-multicluster/) |
| **Terraform** | Manage infrastructure as code | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/terraform/) |
| **Cloud Run** | Deploy to Google Cloud Run | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/cloudrun/) |
| **Analysis** | Automated deployment analysis | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/analysis/) |
| **Script Run** | Execute custom scripts | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/scriptrun/) |
| **[Wait](https://pipecd.dev/docs-dev/user-guide/plugins/wait/)** | Add wait stages to pipelines | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/wait/) |
| **[Wait Approval](https://pipecd.dev/docs-dev/user-guide/plugins/waitapproval/)** | Manual approval gates | [Docs](https://pipecd.dev/docs-dev/user-guide/plugins/waitapproval/) |
> **Note:** All plugins are currently released together with PipeCD core. See the [Plugins Overview](https://pipecd.dev/docs-dev/user-guide/plugins/) for complete information, version details, and configuration guides.

For the latest release information, visit [GitHub Releases](https://github.com/pipe-cd/pipecd/releases).

---

### Getting Started
Expand Down
82 changes: 82 additions & 0 deletions docs/content/en/docs-dev/user-guide/plugins/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
title: "Official Plugins"
linkTitle: "Plugins"
weight: 60
description: >
Official PipeCD plugins for deploying to multiple platforms
---

PipeCD supports multiple deployment platforms through official plugins. Each plugin implements platform-specific deployment logic and integrates with the Piped agent.

## Available Plugins

| Plugin | Description | Status |
|--------|-------------|--------|
| **[Kubernetes](kubernetes/)** | Deploy applications to Kubernetes clusters | Stable |
| **[Kubernetes Multi-Cluster](kubernetes-multicluster/)** | Deploy to multiple Kubernetes clusters | Stable |
| **[Terraform](terraform/)** | Manage infrastructure with Terraform | Stable |
| **[Cloud Run](cloudrun/)** | Deploy to Google Cloud Run | Stable |
| **[Analysis](analysis/)** | Automated deployment analysis | Stable |
| **[Script Run](scriptrun/)** | Execute custom scripts during deployment | Stable |
| **[Wait](wait/)** | Add wait stages to pipelines | Stable |
| **[Wait Approval](waitapproval/)** | Manual approval gates in pipelines | Stable |


### Current Plugin Versions

| Plugin | Latest Version | Release Date | Status |
|--------|----------------|--------------|--------|
| **[Kubernetes](kubernetes/)** | v0.3.0 | 2025-09-26 | Stable |
| **[Terraform](terraform/)** | v0.2.1 | 2025-10-09 | Stable |
| **[Wait](wait/)** | v0.1.1 | 2025-10-09 | Stable |
| **[Wait Approval](waitapproval/)** | v0.2.0 | 2025-10-09 | Stable |
| **[Analysis](analysis/)** | v0.1.1 | 2025-09-03 | Stable |
| **[Script Run](scriptrun/)** | v0.1.0 | 2025-09-04 | Stable |
| **Cloud Run** | No releases | - | In Development |
| **Kubernetes Multi-Cluster** | No releases | - | In Development |

> **Note:** Version information above is as of October 2024. For the most up-to-date information, run the version script or check [GitHub Releases](https://github.com/pipe-cd/pipecd/releases).

### Finding Plugin Versions

To check for new plugin versions:

1. **GitHub Releases:** Visit [releases page](https://github.com/pipe-cd/pipecd/releases) and filter by plugin tags(e.g., `pkg/app/pipedv1/plugin/kubernetes/v*`)

2. **API:** Query the GitHub API for plugin-specific releases:
curl -s https://api.github.com/repos/pipe-cd/pipecd/releases | jq -I | select(tag_name | startswith("pkg/app/pipedv1/plugin/"))

{{< alert title="Note" >}}
Plugin architecture with independent versioning is currently in alpha. Full independent release cycles are planned for PipeCD v1.0.
{{< /alert >}}

## Plugin Architecture

With the new pluggable architecture, PipeCD plugins:

- Run as separate gRPC servers
- Communicate with the Piped agent via the plugin SDK
- Implement the standard plugin interface
- Can be developed and deployed independently (planned for v1.0)

For more information, see:
- [Plugin Architecture Blog Post](/blog/plugin-arch-piped-alpha/)
- [Plugin Introduction](/blog/plugin-intro/)

## Getting Started

To use a plugin:

1. **Configure the plugin** in your Piped configuration file
2. **Create an application** that uses the plugin's platform kind
3. **Define the deployment pipeline** in your application's `.pipe.yaml`

See individual plugin documentation below for specific configuration options and examples.

## Plugin Development

Plugin source code is located in the PipeCD repository:
- **Path:** `pkg/app/pipedv1/plugin/<plugin-name>/`
- **SDK:** `pkg/plugin/sdk/`

For contributing to plugins or developing custom plugins, see the [Contributor Guide](https://github.com/pipe-cd/pipecd/blob/master/CONTRIBUTING.md).
127 changes: 127 additions & 0 deletions docs/content/en/docs-dev/user-guide/plugins/analysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
---
title: "Analysis"
linkTitle: "Analysis"
weight: 40
description: >
Automated deployment analysis
---

The Analysis plugin enables PipeCD to automate deployment analysis by analyzing metrics and logs to determine if a deployment is successful or should be rolled back.

## Features

- **Metrics Analysis:** Analyze deployment impact using metrics
- **Log Analysis:** Inspect logs for errors and issues
- **Multiple Providers:** Support for Prometheus, Datadog, and more
- **Custom Queries:** Define custom analysis queries
- **Automated Decision:** Automatically approve/reject based on analysis results
- **Failure Detection:** Detect errors and anomalies during deployment

## Piped Configuration

Configure the Analysis plugin in your Piped configuration:

```yaml
apiVersion: pipecd.dev/v1beta1
kind: Piped
spec:
projectID: dev
pipedID: xxx
plugins:
- name: analysis
port: 7004
url: https://github.com/pipe-cd/pipecd/releases/download/...
```

## Application Configuration

Define analysis in `.pipe.yaml`:

```yaml
apiVersion: pipecd.dev/v1beta1
kind: Application
spec:
name: my-app
labels:
env: production
pipeline:
stages:
- name: K8S_CANARY_ROLLOUT
with:
replicas: 20%
- name: ANALYSIS
with:
duration: 10m
- name: K8S_PRIMARY_ROLLOUT
- name: K8S_CANARY_CLEAN
plugins:
kubernetes:
input:
manifests:
- deployment.yaml
```

## Available Stages

- **ANALYSIS:** Run automated analysis on deployment metrics and logs

```yaml
apiVersion: pipecd.dev/v1beta1
kind: Application
spec:
name: my-app

```

## Stage Configuration

### ANALYSIS

Analyze deployment metrics for specified duration.

```yaml
- name: ANALYSIS
with:
duration: 10m
```

## Examples

### Canary Deployment with Analysis

```yaml
apiVersion: pipecd.dev/v1beta1
kind: Application
spec:
name: api-service
labels:
env: production
pipeline:
stages:
- name: K8S_CANARY_ROLLOUT
with:
replicas: 10%
- name: ANALYSIS
with:
duration: 15m
- name: K8S_PRIMARY_ROLLOUT
- name: K8S_CANARY_CLEAN
plugins:
kubernetes:
input:
manifests:
- deployment.yaml
- service.yaml
```

## Source Code

- [Analysis Plugin](https://github.com/pipe-cd/pipecd/tree/master/pkg/app/pipedv1/plugin/analysis)

## See Also

- [Configuration Reference](/docs-dev/user-guide/configuration-reference/)
- [Metrics Configuration](/)



Loading