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
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ description: >
Learn how to create PipeCD plugins.
---

PipeCD's plugin architecture allows anyone to extend piped's capabilities by creating custom plugins. This guide explains how to develop and contribute plugins.
PipeCD's plugin architecture allows anyone to extend `piped`'s capabilities by creating custom plugins. This guide explains how to develop and contribute plugins.

## Understanding the plugin architecture

In PipeCD v1, plugins are the actors that execute deployments on behalf of piped. Instead of piped directly deploying to platforms, plugins handle platform-specific logic while piped's core controls deployment flows.
In PipeCD v1, plugins are the actors that execute deployments on behalf of `piped`. Instead of `piped` directly deploying to platforms, plugins handle platform-specific logic while `piped`'s core controls deployment flows.

**Key concepts:**

- **Plugins** run as gRPC servers, launched and managed by piped
- **Plugins** run as gRPC servers, launched and managed by `piped`
- **Deploy targets** define where a plugin deploys (e.g., a Kubernetes cluster)
- Plugins can be **official** (maintained by PipeCD team) or **community-contributed**

Expand Down Expand Up @@ -81,7 +81,7 @@ your-plugin/

### Plugin configuration

Plugins are configured in the piped config. See the [piped installation guide](/docs-v1.0.x/installation/install-piped/) for configuration examples:
Plugins are configured in the `piped` config. See the [`piped` installation guide](/docs-v1.0.x/installation/install-piped/) for configuration examples:

```yaml
apiVersion: pipecd.dev/v1beta1
Expand Down
30 changes: 15 additions & 15 deletions docs/content/en/docs-v1.0.x/faq/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ description: >

We have answered some of the most frequently asked questions below. If you have any other questions, please feel free to create the issue in the [pipe-cd/pipecd](https://github.com/pipe-cd/pipecd/issues/new/choose) repository or contact us on [Cloud Native Slack](https://slack.cncf.io) (channel [#pipecd](https://app.slack.com/client/T08PSQ7BQ/C01B27F9T0X)).

### 1. What is PipeCD V1? How is it different from the PipeCD Versions so far?
### 1. What is PipeCD v1? How is it different from the PipeCD versions so far?

PipeCD V1 introduces a plugin-based architecture where each application deployment is managed by a 'plugin', created specifically for that application. This replaces the concept of Platform Providers from earlier versions of PipeCD. This change makes PipeCD versatile, allowing users to create custom plugins to deploy the application of their choice.
PipeCD v1 introduces a plugin-based architecture where each application deployment is managed by a 'plugin', created specifically for that application. This replaces the concept of Platform Providers from earlier versions of PipeCD. This change makes PipeCD versatile, allowing users to create custom plugins to deploy the application of their choice.

### 2. What kind of applications will be supported in PipeCD V1?
### 2. What kind of applications will be supported in PipeCD v1?

Since PipeCD V1 introduces a plugin architecture, you can now deploy any application using plugins.
Since PipeCD v1 introduces a plugin architecture, you can now deploy any application using plugins.

Check out the latest releases on GitHub for the list of available plugins. Additionally, we also have a Community Plugins Repository for plugins made by the PipeCD community. As of now, the official plugins maintained by the PipeCD Maintainers are Kubernetes, Terraform, Analysis, ScriptRun, Wait, and WaitApproval.

Expand All @@ -30,38 +30,38 @@ Yes, you can use PipeCD for both mesh (Istio, SMI) applications and non-mesh app

### 5. What are the differences between PipeCD and FluxCD?

- Apart from Kubernetes applications, PipeCD also provides a unified interface for other cloud services (GCP Cloud Run, AWS ECS, AWS Lambda and more). Starting PipeCD V1, users can use PipeCD with even more applications by creating custom plugins for their deployments.
- Apart from Kubernetes applications, PipeCD also provides a unified interface for other cloud services (GCP Cloud Run, AWS ECS, AWS Lambda and more). Starting PipeCD v1, users can use PipeCD with even more applications by creating custom plugins for their deployments.
Here are some standout features of PipeCD when compared to Flux:

- One tool for both GitOps sync and progressive deployment
- Supports multiple Git repositories
- Has web UI for better visibility
- Log viewer for each deployment
- Visualization of application component/state in realtime
- Show configuration drift in realtime
- Visualization of application component/state in real-time
- Show configuration drift in real-time
- Also supports Canary and BlueGreen for non-mesh applications
- Has built-in secrets management
- Shows the delivery performance insights

### 6. What are the differences between PipeCD and ArgoCD?

- Apart from Kubernetes applications, PipeCD also provides a unified interface for other cloud services (GCP Cloud Run, AWS ECS, AWS Lambda and more). Starting PipeCD V1, users can use PipeCD with even more applications by creating custom plugins for their deployments.
- Apart from Kubernetes applications, PipeCD also provides a unified interface for other cloud services (GCP Cloud Run, AWS ECS, AWS Lambda and more). Starting PipeCD v1, users can use PipeCD with even more applications by creating custom plugins for their deployments.
Here are some standout features of PipeCD when compared to ArgoCD:

- One tool for both GitOps sync and progressive deployment
- Don't need another CRD or changing the existing manifests for doing Canary/BlueGreen. PipeCD just uses the standard Kubernetes deployment object
- Easier and safer to operate multi-tenancy, multi-cluster for multiple teams (even some teams are running in a private/restricted network)
- Has built-in secrets management
- Shows the delivery performance insights
- Shows the delivery performance insights

### 7. What should I do if I lose my Piped key?
### 7. What should I do if I lose my `piped` key?

You can create a new Piped key. Go to the `Piped` tab at `Settings` page, and click the vertical ellipsis of the Piped that you would like to create the new Piped key. Don't forget deleting the old Key, too.
You can create a new `piped` key. Go to the `piped` tab at `Settings` page, and click the vertical ellipsis of the `piped` that you would like to create the new `piped` key. Don't forget to delete the old key, too.

### 8. What is the strong point if PipeCD is used only for Kubernetes?

- Simple interface, easy to understand no extra CRD required
- Easy to install, upgrade, and manage (both the ControlPlane and the agent Piped)
- Easy to install, upgrade, and manage (both the Control Plane and the agent `piped`)
- Not strict depend on any Kubernetes API, not being part of issues for your Kubernetes cluster versioning upgrade
- Easy to interact with any CI; Plan preview feature gives you an early look at what will be changed in your cluster even before manifests update
- Insights show metrics like lead time, deployment frequency, MTTR, and change failure rate to measure delivery performance
Expand All @@ -72,7 +72,7 @@ Yes, PipeCD is fully open source project with APACHE LICENSE, VERSION 2.0

From May 2023, PipeCD joined CNCF as a [Sandbox project](https://www.cncf.io/projects/pipecd/).

### 10. How should I investigate high CPU usage or memory usage in piped, or when OOM occurs?
### 10. How should I investigate high CPU usage or memory usage in `piped`, or when OOM occurs?

If you're noticing high CPU usage, memory usage, or facing OOM issues in Piped, you can use the built-in support for `pprof`, a tool for visualization and analysis of profiling data.
`pprof` can help you identify the parts of your application that are consuming the most resources. For more detailed information and examples of how to use `pprof` in Piped, please see [Using Pprof in Piped](../managing-piped/using-pprof-in-piped).
If you're noticing high CPU usage, memory usage, or facing OOM issues in `piped`, you can use the built-in support for `pprof`, a tool for visualization and analysis of profiling data.
`pprof` can help you identify the parts of your application that are consuming the most resources. For more detailed information and examples of how to use `pprof` in `piped`, please see [Using Pprof in `piped`](../managing-piped/using-pprof-in-piped).
10 changes: 5 additions & 5 deletions docs/content/en/docs-v1.0.x/installation/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ description: >
Complete guideline for installing and configuring PipeCD on your own.
---

Before starting to install PipeCD, lets have a look at PipeCDs components, determine your role, and which components you will interact with while installing/using PipeCD. Youre recommended to read about PipeCDs [Control Plane](../concepts/#control-plane) and [Piped](../concepts/#piped) on the concepts page.
Before starting to install PipeCD, let's have a look at PipeCD's components, determine your role, and which components you will interact with while installing/using PipeCD. You're recommended to read about PipeCD's [Control Plane](../concepts/#control-plane) and [`piped`](../concepts/#piped) on the concepts page.

![](/images/architecture-overview-with-roles.png)
<p style="text-align: center;">
PipeCD's components with roles
</p>

Basically, there are two types of users/roles that exist in the PipeCD system, which are:
Basically, there are two types of users/roles that exist in the PipeCD system:

- Developers/Production team: Users who use PipeCD to manage their applications deployments. You will interact with Piped and may or may not need to install Piped by yourself.
- Developers/Production team: Users who use PipeCD to manage their applications' deployments. You will interact with `piped` and may or may not need to install `piped` by yourself.

- Operators/Platform team: Users who operate the PipeCD for other developers can use it. You will interact with the Control Plane and Piped, you will be the one who installs the Control Plane and keeps it up for other Pipeds to connect while managing their applications deployments.
- Operators/Platform team: Users who operate PipeCD for other developers. You will interact with the Control Plane and `piped`, you will be the one who installs the Control Plane and keeps it up for other `piped` instances to connect while managing their applications' deployments.

This section contains the guideline for installing PipeCD's Control Plane and Piped step by step. You can choose what to read based on your roles.
This section contains guidelines for installing PipeCD's Control Plane and `piped` step by step. You can choose what to read based on your roles.
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ description: >
This page describes how to install a control plane.
---

Since Control Plane is a centralized component managing deployment data and provides gRPC API, it needs some components fo storing data or credential... and so on. We explain how to deploy Control Plane components.
Since Control Plane is a centralized component managing deployment data and provides gRPC API, it needs some components for storing data or credentials, and so on. We explain how to deploy Control Plane components.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >
This page describes how to install control plane on ECS.
---

Currently, we provide the example of deploying Control Plane to ECS using terraform.
Currently, we provide an example of deploying Control Plane to ECS using Terraform.

Please refer to the blog post :)
Please refer to the blog post:
[PipeCD best practice 02 - control plane on ECS]({{< ref "/blog/control-plane-on-ecs.md" >}} "PipeCD best practice 02 - control plane on ECS").
Loading