Skip to content

Commit 649e8f6

Browse files
authored
V1-Docs (UserGuide): Add Managing Piped Section (#6347)
* ADD userguide/managingPiped Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com> * delete: remove adding Helm chart repository or registry page Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com> * fix: update analysis provider configuration in documentation Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com> * docs: update remote upgrade and remote config features note Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com> * docs: correct usage command for Piped in runtime options Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com> * docs: add configuring-a-plugin.md Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com> * fix userguide/mamanging-piped Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com> --------- Signed-off-by: Eeshaan Sawant <eeshaans1@gmail.com>
1 parent a35de1f commit 649e8f6

File tree

10 files changed

+878
-0
lines changed

10 files changed

+878
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: "Managing Piped"
3+
linkTitle: "Managing Piped"
4+
weight: 3
5+
description: >
6+
This guide is for administrators and operators wanting to install and configure piped for other developers.
7+
---
8+
9+
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.
10+
11+
![piped-list-page](/images/piped-list-page.png)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: "Adding a git repository"
3+
linkTitle: "Adding git repository"
4+
weight: 2
5+
description: >
6+
Learn how to add a git repository in the the `piped` configuration file.
7+
8+
---
9+
In the `piped` configuration file, all the git repositories that you want to be tracked by the `piped` agent are specified.
10+
11+
A Git repository contains one or more deployable applications where each application is put inside a directory called as [application directory](../../../concepts/#application-directory).
12+
13+
An application directory contains an **application configuration file** as well as application manifests.
14+
The `piped` periodically checks the new commits and fetches the needed manifests from those repositories for executing the deployment.
15+
16+
A single `piped` can be configured to handle one or more Git repositories.
17+
In order to enable a new Git repository, add a new [GitRepository](../configuration-reference/#gitrepository) block to the `repositories` field in the `piped` configuration file.
18+
19+
For example, in the following snippet, `piped` will take the `master` branch of [pipe-cd/examples](https://github.com/pipe-cd/examples) repository as a target Git repository for deployments.
20+
21+
``` yaml
22+
apiVersion: pipecd.dev/v1beta1
23+
kind: Piped
24+
spec:
25+
...
26+
repositories:
27+
- repoId: examples
28+
remote: git@github.com:pipe-cd/examples.git
29+
branch: master
30+
```
31+
32+
In most cases, you would want to deal with private git repositories. For accessing private repositories, `piped` needs a private SSH key, which can be configured while [installing](../../../installation/install-piped/installing-on-kubernetes/) with `secret.sshKey` in the Helm chart.
33+
34+
``` console
35+
helm install dev-piped pipecd/piped --version={VERSION} \
36+
--set-file config.data={PATH_TO_PIPED_CONFIG_FILE} \
37+
--set-file secret.data.piped-key={PATH_TO_PIPED_KEY_FILE} \
38+
--set-file secret.data.ssh-key={PATH_TO_PRIVATE_SSH_KEY_FILE}
39+
```
40+
41+
You can see the [git configuration reference](../configuration-reference/#git) to learn more about the configurable fields.
42+
43+
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`.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
title: "Adding an analysis provider"
3+
linkTitle: "Adding analysis provider"
4+
weight: 6
5+
description: >
6+
This page describes how to add an Analysis Provider to analyize the metrics of your deployment.
7+
---
8+
9+
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).
10+
11+
Currently, PipeCD supports the following providers:
12+
13+
- [Prometheus](https://prometheus.io/)
14+
- [Datadog](https://datadoghq.com/)
15+
16+
## Prometheus
17+
18+
Piped queries the [range query endpoint](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) to obtain metrics used to evaluate the deployment.
19+
20+
You need to define the Prometheus server address so that it can be accessed by your `piped`.
21+
22+
```yaml
23+
apiVersion: pipecd.dev/v1beta1
24+
kind: Piped
25+
spec:
26+
plugins:
27+
- name: analysis
28+
port:
29+
url:
30+
config:
31+
analysisProviders:
32+
- name: prometheus-dev
33+
type: PROMETHEUS
34+
config:
35+
address: https://your-prometheus.dev
36+
```
37+
38+
To know more, see the full list of [configurable fields](configuration-reference/#analysisproviderdatadogconfig).
39+
40+
## Datadog
41+
42+
Piped queries the [MetricsApi.QueryMetrics](https://docs.datadoghq.com/api/latest/metrics/#query-timeseries-points) endpoint to obtain metrics used to evaluate the deployment.
43+
44+
```yaml
45+
apiVersion: pipecd.dev/v1beta1
46+
kind: Piped
47+
spec:
48+
plugins:
49+
- name: analysis
50+
port:
51+
url:
52+
config:
53+
analysisProviders:
54+
- name: datadog-dev
55+
type: DATADOG
56+
config:
57+
apiKeyFile: /etc/piped-secret/datadog-api-key
58+
applicationKeyFile: /etc/piped-secret/datadog-application-key
59+
```
60+
61+
To know more, see the full list of [configurable fields](configuration-reference/#analysisproviderdatadogconfig).
62+
63+
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).
64+
65+
```bash
66+
--set-file secret.data.datadog-api-key={PATH_TO_API_KEY_FILE} \
67+
--set-file secret.data.datadog-application-key={PATH_TO_APPLICATION_KEY_FILE}
68+
```

0 commit comments

Comments
 (0)