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
7 changes: 5 additions & 2 deletions docs/content/en/docs-v1.0.x/plugins/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,8 @@ description: >
Learn more about Plugins in PipeCD v1.
---

> **Note:**
> The Plugins section is a work in progress. Check back soon. Happy PipeCDing!
This section contains configuration guides for the official PipeCD plugins.

- [Kubernetes](./kubernetes/)
- [Terraform](./terraform/)
- [Analysis](./analysis/)
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: "Adding an analysis provider"
linkTitle: "Adding analysis provider"
weight: 6
title: "Analysis Plugin"
linkTitle: "Analysis"
weight: 30
description: >
This page describes how to add an Analysis Provider to analyize the metrics of your deployment.
This page describes how to add an Analysis Provider to analyze the metrics of your deployment.
---

To enable [Automated deployment analysis](../../managing-application/customizing-deployment/automated-deployment-analysis/) feature, you have to set the needed information for Piped to connect to the [Analysis Provider](../../../concepts/#analysis-provider).
To enable [Automated deployment analysis](../user-guide/managing-application/customizing-deployment/automated-deployment-analysis/) feature, you have to set the needed information for Piped to connect to the [Analysis Provider](../concepts/#analysis-provider).

Currently, PipeCD supports the following providers:

Expand Down Expand Up @@ -35,7 +35,7 @@ spec:
address: https://your-prometheus.dev
```

To know more, see the full list of [configurable fields](configuration-reference/#analysisproviderdatadogconfig).
To know more, see the full list of [configurable fields](../user-guide/managing-piped/configuration-reference/#analysisproviderprometheusconfig).

## Datadog

Expand All @@ -58,11 +58,11 @@ spec:
applicationKeyFile: /etc/piped-secret/datadog-application-key
```

To know more, see the full list of [configurable fields](configuration-reference/#analysisproviderdatadogconfig).
To know more, see the full list of [configurable fields](../user-guide/managing-piped/configuration-reference/#analysisproviderdatadogconfig).

If you choose `Helm` as the installation method, we recommend using `--set-file` to mount the key files while performing the [upgrading process](../../../installation/install-piped/installing-on-kubernetes/#in-the-cluster-wide-mode).
If you choose `Helm` as the installation method, we recommend using `--set-file` to mount the key files while performing the [upgrading process](../installation/install-piped/installing-on-kubernetes/#in-the-cluster-wide-mode).

```bash
--set-file secret.data.datadog-api-key={PATH_TO_API_KEY_FILE} \
--set-file secret.data.datadog-application-key={PATH_TO_APPLICATION_KEY_FILE}
```
```
31 changes: 31 additions & 0 deletions docs/content/en/docs-v1.0.x/plugins/kubernetes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: "Kubernetes Plugin"
linkTitle: "Kubernetes"
weight: 10
description: >
How to configure the Kubernetes plugin.
---

The Kubernetes plugin enables PipeCD to manage Kubernetes application deployments.

By default, piped deploys Kubernetes application to the cluster where the piped is running in. An external cluster can be connected by specifying the `masterURL` and `kubeConfigPath` in [`deployTargets`](../user-guide/managing-piped/configuration-reference/#kubernetesplugin).

Below is an example configuration for using the Kubernetes plugin:

```yaml
apiVersion: pipecd.dev/v1beta1
kind: Piped
spec:
...
plugins:
- name: kubernetes
port: 7001
url: https://github.com/pipe-cd/pipecd/releases/download/pkg%2Fapp%2Fpipedv1%2Fplugin%2Fkubernetes%2Fv0.1.0/kubernetes_v0.1.0_darwin_arm64
deployTargets:
- name: local
config:
kubectlVersion: 1.32.4
kubeConfigPath: /path/to/.kube/config
```

See [Configuration Reference for Kubernetes plugin](../user-guide/managing-piped/configuration-reference/#kubernetesplugin) for complete configuration details.
28 changes: 28 additions & 0 deletions docs/content/en/docs-v1.0.x/plugins/terraform.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: "Terraform Plugin"
linkTitle: "Terraform"
weight: 20
description: >
How to configure the Terraform plugin.
---

The Terraform plugin enables Piped to run Terraform-based deployments.
A deploy target represents a Terraform execution environment (e.g., dev/prod workspace, shared variables, drift detection settings).

```yaml
apiVersion: pipecd.dev/v1beta1
kind: Piped
spec:
...
plugins:
- name: terraform
port: 7002
url: https://github.com/.../terraform_v0.3.0_linux_amd64
deployTargets:
- name: tf-dev
config:
vars:
- "project=pipecd"
```

See [Configuration Reference for Terraform plugin](../user-guide/managing-piped/configuration-reference/#terraformplugin) for complete configuration details.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Currently, the official plugins maintained by the PipeCD Maintainers are:

We are working towards releasing more plugins in the future.

>**Note:**
>**Note:**
> We also have the [PipeCD Community Plugins repository](https://github.com/pipe-cd/community-plugins) for plugins made by the PipeCD Community.

A plugin is added to the piped configuration inside the `spec.plugins` array and providing the plugin’s executable URL, the port it should run on, and any deploy targets that belong to it. For more details, see the [configuration reference for plugins](../configuration-reference/#plugins).
Expand All @@ -44,55 +44,4 @@ Check out the latest plugin releases on [GitHub](https://github.com/pipe-cd/pipe

---

Now, we will see how you can configure plugins for different application types.

## Configuring Kubernetes plugin

The Kubernetes plugin enables PipeCD to manage Kubernetes application deployments.

By default, piped deploys Kubernetes application to the cluster where the piped is running in. An external cluster can be connected by specifying the `masterURL` and `kubeConfigPath` in [`deployTargets`](../configuration-reference/#kubernetesplugin).

<!-- And, the default resources (defined [here](https://github.com/pipe-cd/pipecd/blob/master/pkg/app/piped/platformprovider/kubernetes/resourcekey.go)) from all namespaces of the Kubernetes cluster will be watched for rendering the application state in realtime and detecting the configuration drift. In case you want to restrict piped to watch only a single namespace, let specify the namespace in the [KubernetesAppStateInformer](../configuration-reference/#kubernetesappstateinformer) field. You can also add other resources or exclude resources to/from the watching targets by that field. -->

Below is an example configuration for using the Kubernetes plugin:

``` yaml
apiVersion: pipecd.dev/v1beta1
kind: Piped
spec:
...
plugins:
- name: kubernetes
port: 7001
url: https://github.com/pipe-cd/pipecd/releases/download/pkg%2Fapp%2Fpipedv1%2Fplugin%2Fkubernetes%2Fv0.1.0/kubernetes_v0.1.0_darwin_arm64
deployTargets:
- name: local
config:
kubectlVersion: 1.32.4
kubeConfigPath: /path/to/.kube/config
```

See [Configuration Reference for Kubernetes plugin](../configuration-reference/#kubernetesplugin) for complete configuration details.

### Configuring Terraform plugin

The Terraform plugin enables Piped to run Terraform-based deployments.
A deploy target represents a Terraform execution environment (e.g., dev/prod workspace, shared variables, drift detection settings).

``` yaml
apiVersion: pipecd.dev/v1beta1
kind: Piped
spec:
...
plugins:
- name: terraform
port: 7002
url: https://github.com/.../terraform_v0.3.0_linux_amd64
deployTargets:
- name: tf-dev
config:
vars:
- "project=pipecd"
```

See [Configuration Reference for Terraform plugin](../configuration-reference/#terraformplugin) for complete configuration details.
> **Note:** Detailed configuration guides for specific plugins have been moved to the [Plugins](../../plugins/) section.
Loading