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 @@ -3,9 +3,9 @@ title: "Managing Piped"
linkTitle: "Managing Piped"
weight: 3
description: >
This guide is for administrators and operators wanting to install and configure piped for other developers.
This guide is for administrators and operators wanting to install and configure `piped` for other developers.
---

In order to use Piped you will need to register a piped through the PipeCD control plane. Check out [how to register a Piped](../managing-controlplane/registering-a-piped/) if you have not have already. After registering successfully, you can monitor your Piped live state via the PipeCD console on the settings page.
In order to use `piped` you will need to register a `piped` through the PipeCD control plane. Check out [how to register a piped](../managing-controlplane/registering-a-piped/) if you have not already. After registering successfully, you can monitor your `piped` live state via the PipeCD console on the settings page.

![piped-list-page](/images/piped-list-page.png)
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Adding a git repository"
linkTitle: "Adding git repository"
weight: 2
description: >
Learn how to add a git repository in the the `piped` configuration file.
Learn how to add a git repository in the `piped` configuration file.

---
In the `piped` configuration file, all the git repositories that you want to be tracked by the `piped` agent are specified.
Expand Down Expand Up @@ -40,4 +40,4 @@ helm install dev-piped pipecd/piped --version={VERSION} \

You can see the [git configuration reference](../configuration-reference/#git) to learn more about the configurable fields.

Currently, `piped` allows configuring only one private SSH key for all specified git repositories. For working with multiple repositories, you either have configure the same SSH key for all of those private repositories, or use separate `piped`s for each repository. We are working on adding support for multiple SSH keys for a single `piped`.
Currently, `piped` allows configuring only one private SSH key for all specified git repositories. For working with multiple repositories, you either have to configure the same SSH key for all of those private repositories, or use separate `piped`s for each repository. We are working on adding support for multiple SSH keys for a single `piped`.
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ title: "Adding an analysis provider"
linkTitle: "Adding analysis provider"
weight: 6
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, you have to set the needed information for `piped` to connect to the [Analysis Provider](../../../concepts/#analysis-provider). See [managing applications](../managing-application/) for deployment and analysis features.

Currently, PipeCD supports the following providers:

Expand All @@ -15,7 +15,7 @@ Currently, PipeCD supports the following providers:

## Prometheus

Piped queries the [range query endpoint](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) to obtain metrics used to evaluate the deployment.
`piped` queries the [range query endpoint](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) to obtain metrics used to evaluate the deployment.

You need to define the Prometheus server address so that it can be accessed by your `piped`.

Expand All @@ -35,11 +35,11 @@ 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](configuration-reference/#analysisproviderprometheusconfig).

## Datadog

Piped queries the [MetricsApi.QueryMetrics](https://docs.datadoghq.com/api/latest/metrics/#query-timeseries-points) endpoint to obtain metrics used to evaluate the deployment.
`piped` queries the [MetricsApi.QueryMetrics](https://docs.datadoghq.com/api/latest/metrics/#query-timeseries-points) endpoint to obtain metrics used to evaluate the deployment.

```yaml
apiVersion: pipecd.dev/v1beta1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ We are working towards releasing more plugins in the future.
>**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).
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).

```yaml
apiVersion: pipecd.dev/v1beta1
Expand All @@ -50,7 +50,7 @@ Now, we will see how you can configure plugins for different application types.

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).
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. -->

Expand All @@ -76,7 +76,7 @@ See [Configuration Reference for Kubernetes plugin](../configuration-reference/#

### Configuring Terraform plugin

The Terraform plugin enables Piped to run Terraform-based deployments.
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ title: "Configuring event watcher"
linkTitle: "Configuring event watcher"
weight: 7
description: >
This page describes how to configure piped to enable event watcher.
This page describes how to configure `piped` to enable event watcher.
---

To enable [EventWatcher](../../event-watcher/), you have to configure your piped at first.
To enable [Event watcher](../managing-application/event-watcher/), you have to configure your `piped` at first.

## Grant write permission

The [SSH key used by Piped](../configuration-reference/#git) must be a key with write-access because piped needs to commit and push to your git repository when any incoming event matches.
The [SSH key used by `piped`](../configuration-reference/#git) must be a key with write-access because `piped` needs to commit and push to your git repository when any incoming event matches.

### Specify Git repositories to be observed

Piped watches events only for the Git repositories specified in the `gitRepos` list.
You need to add all repositories you want to enable Eventwatcher.
`piped` watches events only for the Git repositories specified in the `gitRepos` list.
You need to add all repositories you want to enable Event watcher.

```yaml
apiVersion: pipecd.dev/v1beta1
Expand All @@ -28,13 +28,13 @@ spec:
- repoId: repo-3
```

### [optional] Specify Eventwatcher files Piped will use
### [optional] Specify Event watcher files `piped` will use

>NOTE: This way is valid only for defining events using [.pipe/](../../event-watcher/#use-the-pipe-directory).
>NOTE: This way is valid only for defining events using [.pipe/](../managing-application/event-watcher/#use-the-pipe-directory).

If multiple Pipeds handle a single repository, you can prevent conflicts by splitting into the multiple EventWatcher files and setting `includes/excludes` to specify the files that should be monitored by this Piped.
If multiple `piped` instances handle a single repository, you can prevent conflicts by splitting into multiple Event watcher files and setting `includes/excludes` to specify the files that should be monitored by this `piped`.

Say for instance, if you only want the Piped to use the Eventwatcher files under `.pipe/dev/`:
Say for instance, if you only want the `piped` to use the Event watcher files under `.pipe/dev/`:

```yaml
apiVersion: pipecd.dev/v1beta1
Expand All @@ -54,7 +54,7 @@ See the full list of [configurable fields for event watcher](../configuration-re

### **OPTIONAL** Settings for git user

By default, every git commit uses **piped** as the username and **pipecd.dev@gmail.com** as the email. You can change it with the [git](../configuration-reference/#git) field.
By default, every git commit uses `piped` as the username and **pipecd.dev@gmail.com** as the email. You can change it with the [git](../configuration-reference/#git) field.

For example:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Configuring notifications"
linkTitle: "Configuring notifications"
weight: 8
description: >
This page describes how to configure piped to send notifications to external services.
This page describes how to configure `piped` to send notifications to external services.
---

PipeCD events (deployment triggered, planned, completed, analysis result, piped started...) can be sent to external services like Slack or a Webhook service. While forwarding those events to a chat service helps developers have a quick and convenient way to know the deployment's current status, forwarding to a Webhook service may be useful for triggering other related tasks like CI jobs.
Expand Down Expand Up @@ -33,7 +33,7 @@ Below is the list of supporting event names and their groups.
| APPLICATION_OUT_OF_SYNC | APPLICATION_SYNC | <p style="text-align: center;"><input type="checkbox" disabled></p> | |
| APPLICATION_HEALTHY | APPLICATION_HEALTH | <p style="text-align: center;"><input type="checkbox" disabled></p> | |
| APPLICATION_UNHEALTHY | APPLICATION_HEALTH | <p style="text-align: center;"><input type="checkbox" disabled></p> | |
| PIPED_STARTED | PIPED | <p style="text-align: center;"><input type="checkbox" checked disabled></p> | |
| PIPED_STARTED | PIPED | <p style="text-align: center;"><input type="checkbox" checked disabled></p> | |
| PIPED_STOPPED | PIPED | <p style="text-align: center;"><input type="checkbox" checked disabled></p> | |

## Sending notifications to Slack
Expand Down Expand Up @@ -109,9 +109,9 @@ spec:
Deployment was triggered, planned and completed successfully
</p>

![A Slack notification of a Piped starting](/images/slack-notification-piped-started.png)
![A Slack notification of a piped starting](/images/slack-notification-piped-started.png)
<p style="text-align: center;">
A piped has been started
A `piped` has been started
</p>

For detailed configuration, please check the [configuration reference for Notifications](configuration-reference/#notifications).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,35 @@ description: >
>Remote Upgrade and Remote Config features are not available right now for PipeCD versions 1.0.0 and above.
> We are working on them, and will update this page as soon as they are ready.

This page will be updated when these features are available for PipeCD v1.

<!-- ## Remote upgrade

The remote upgrade is the ability to restart the currently running Piped with another version from the web console.
This reduces the effort involved in updating Piped to newer versions.
All Pipeds that are running by the provided Piped container image can be enabled to use this feature.
It means Pipeds running on a Kubernetes cluster, a virtual machine, a serverless service can be upgraded remotely from the web console.
The remote upgrade is the ability to restart the currently running `piped` with another version from the web console.
This reduces the effort involved in updating `piped` to newer versions.
All `piped` instances that are running by the provided `piped` container image can be enabled to use this feature.
It means `piped` instances running on a Kubernetes cluster, a virtual machine, a serverless service can be upgraded remotely from the web console.

In order to use this feature you must run Piped with `/launcher` command instead of `/piped` command as usual.
In order to use this feature you must run `piped` with `/launcher` command instead of `/piped` command as usual.
Please check the [installation](../../../installation/install-piped/) guide on each environment to see the details.

After starting Piped with the remote-upgrade feature, you can go to the Settings page then click on `UPGRADE` button on the top-right corner.
A dialog will be shown for selecting which Pipeds you want to upgrade and what version they should run.
After starting `piped` with the remote-upgrade feature, you can go to the Settings page then click on `UPGRADE` button on the top-right corner.
A dialog will be shown for selecting which `piped` instances you want to upgrade and what version they should run.

![Remote Upgrade Settings](/images/settings-remote-upgrade.png)
<p style="text-align: center;">
Select a list of Pipeds to upgrade from Settings page
Select a list of piped instances to upgrade from Settings page
</p>

## Remote config

Although the remote-upgrade allows you remotely restart your Pipeds to run any new version you want, if your Piped is loading its config locally where Piped is running, you still need to manually restart Piped after adding any change on that config data. Remote-config is for you to remove that kind of manual operation.
Although the remote-upgrade allows you remotely restart your `piped` instances to run any new version you want, if your `piped` is loading its config locally where `piped` is running, you still need to manually restart `piped` after adding any change on that config data. Remote-config is for you to remove that kind of manual operation.

Remote-config is the ability to load Piped config data from a remote location such as a Git repository. Not only that, but it also watches the config periodically to detect any changes on that config and restarts Piped to reflect the new configuration automatically.
Remote-config is the ability to load `piped` config data from a remote location such as a Git repository. Not only that, but it also watches the config periodically to detect any changes on that config and restarts `piped` to reflect the new configuration automatically.

This feature requires the remote-upgrade feature to be enabled simultaneously. Please check [Runtime Options](runtime-options.md) and the [installation](../../../installation/install-piped/) guide on each environment to know how to configure Piped to load a remote config file.
This feature requires the remote-upgrade feature to be enabled simultaneously. Please check [Runtime Options](runtime-options.md) and the [installation](../../../installation/install-piped/) guide on each environment to know how to configure `piped` to load a remote config file.

## Summary

- By `remote-upgrade` you can upgrade your Piped to a newer version by clicking on the web console
- By `remote-config` you can enforce your Piped to use the latest config data just by updating its config file stored in a Git repository -->
- By `remote-upgrade` you can upgrade your `piped` to a newer version by clicking on the web console
- By `remote-config` you can enforce your `piped` to use the latest config data just by updating its config file stored in a Git repository -->
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ title: "Runtime Options"
linkTitle: "Runtime Options"
weight: 11
description: >
This page describes configurable options for executing Piped and launcher.
This page describes configurable options for executing `piped` and launcher.
---

You can configure some options when running Piped and launcher.
You can configure some options when running `piped` and launcher.

## Options for Piped
## Options for `piped`

```bash
Usage:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: "Using Pprof in Piped"
linkTitle: "Using Pprof in Piped"
title: "Using Pprof in piped"
linkTitle: "Using Pprof in piped"
weight: 10
description: >
This guide is for developers who want to use pprof for performance profiling in Piped.
This guide is for developers who want to use pprof for performance profiling in `piped`.
---

Piped provides built-in support for pprof, a tool for visualization and analysis of profiling data. It's a part of the standard Go library.
`piped` provides built-in support for pprof, a tool for visualization and analysis of profiling data. It's a part of the standard Go library.

In Piped, several routes are registered to serve the profiling data in a format understood by the pprof tool. Here are the routes:
In `piped`, several routes are registered to serve the profiling data in a format understood by the pprof tool. Here are the routes:

- `/debug/pprof/`: This route serves an index page that lists the available profiling data.
- `/debug/pprof/profile`: This route serves CPU profiling data.
Expand All @@ -18,7 +18,7 @@ You can access these routes to get the profiling data. For example, to get the C

Note that using these features in a production environment may impact performance.

This document explains the basic usage of [pprof](https://pkg.go.dev/net/http/pprof) in Piped. For more detailed information or specific use cases, please refer to the official Go documentation.
This document explains the basic usage of [pprof](https://pkg.go.dev/net/http/pprof) in `piped`. For more detailed information or specific use cases, please refer to the official Go documentation.

## How to use pprof

Expand Down Expand Up @@ -54,4 +54,4 @@ This document explains the basic usage of [pprof](https://pkg.go.dev/net/http/pp
go tool trace trace.out
```

Please replace localhost:9085 with the actual address and port of your Piped's admin server.
Please replace localhost:9085 with the actual address and port of your `piped`'s admin server.
Loading