From f9f7a119c0683495d2047b2c562259876a34126d Mon Sep 17 00:00:00 2001 From: Shivansh Sahu Date: Fri, 13 Mar 2026 06:23:04 +0000 Subject: [PATCH 1/2] docs(v1): add comprehensive configuration references for app and piped Signed-off-by: Shivansh Sahu --- .../configuration-reference.md | 51 ++- .../managing-piped/configuration-reference.md | 317 +++++------------- 2 files changed, 133 insertions(+), 235 deletions(-) diff --git a/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md b/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md index df449655b1..18bb15bf59 100644 --- a/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md +++ b/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md @@ -6,7 +6,50 @@ description: > Learn about all the configurable fields in the application configuration file. --- ->**Note:** ->PipeCD v1 documentation is still a work in progress. We are updating this configuration reference. -> Until then, [see configurable fields for the application configuration file for v0.55](../../../docs-v0.55.x/user-guide/configuration-reference.md), and if you have any questions, [reach out to us](../../../../../../README.md#community-and-development) using one of our communication channels. ->Happy PipeCDing! +This page describes all configurable fields in the application configuration for PipeCD v1. + +Unlike previous versions, PipeCD v1 unifies all application types under a single `Application` kind. The specific platform (Kubernetes, Terraform, Cloud Run, etc.) is now defined using a platform label. + +### Example `app.config` + +```yaml +apiVersion: pipecd.dev/v1beta1 +kind: Application +labels: + pipecd.dev/platform: KUBERNETES # Or TERRAFORM, CLOUDRUN, LAMBDA, ECS +spec: + name: my-app + description: "My unified v1 application" + plugins: {} + pipeline: {} +``` + +## Application Configuration + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `apiVersion` | string | `pipecd.dev/v1beta1` | Yes | +| `kind` | string | `Application` | Yes | +| `labels` | map[string]string | Additional attributes to identify applications. Must include the `pipecd.dev/platform` label to specify the platform type. | Yes | +| `spec.name` | string | The application name. | Yes | +| `spec.description` | string | Notes on the Application. | No | +| `spec.planner` | DeploymentPlanner | Configuration used while planning the deployment. | No | +| `spec.commitMatcher` | DeploymentCommitMatcher | Forcibly use QuickSync or Pipeline when commit message matched the specified pattern. | No | +| `spec.pipeline` | Pipeline | Pipeline definition for progressive delivery. | No | +| `spec.trigger` | Trigger | Configuration used to determine if a new deployment should be triggered. | No | +| `spec.postSync` | PostSync | Extra actions to execute once the deployment is triggered. | No | +| `spec.timeout` | duration | The maximum length of time to execute deployment before giving up. Default is `6h`. | No | +| `spec.encryption` | SecretEncryption | List of encrypted secrets and targets that should be decoded before using. | No | +| `spec.attachment` | Attachment | List of files that should be attached to application manifests before using. | No | +| `spec.notification` | DeploymentNotification | Additional configuration for sending notifications to external services. | No | +| `spec.eventWatcher` | []EventWatcherConfig | List of the configurations for the event watcher. | No | +| `spec.driftDetection` | [DriftDetection](#driftdetection) | Configuration for drift detection. | No | +| `spec.plugins` | map[string]any | List of the configurations for plugins. This field is plugin-specific. | No | + +*(Note: The `spec.plugins` structures depend on the value of the `pipecd.dev/platform` label. See the specific Plugin documentation for deeper fields).* + +## DriftDetection + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `ignoreFields` | []string | List of `apiVersion:kind:namespace:name#fieldPath` to ignore in diffs. | No | diff --git a/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md b/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md index 3814ca280f..896e628576 100644 --- a/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md +++ b/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md @@ -6,273 +6,128 @@ description: > Learn about all the configurable fields in the `piped` configuration file. --- ->**Note:** ->PipeCD v1 documentation is still a work in progress. We are updating this configuration reference. -> Until then, [see configurable fields for the piped configuration file for v0.55](../../../docs-v0.55.x/user-guide/managing-piped/configuration-reference.md), and if you have any questions, [reach out to us](../../../../../../README.md#community-and-development) using one of our communication channels. ->Happy PipeCDing! +This page describes all configurable fields for the Piped (`piped.config`) configuration file in PipeCD v1. - From 148acd7752227d1946e8773d3c1a0c68354e6bc1 Mon Sep 17 00:00:00 2001 From: Shivansh Sahu Date: Wed, 25 Mar 2026 19:15:45 +0000 Subject: [PATCH 2/2] docs(v1): add comprehensive config tables for app and piped configs per review Signed-off-by: Shivansh Sahu --- .../configuration-reference.md | 27 +++++++++++++++++++ .../managing-piped/configuration-reference.md | 21 ++++++++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md b/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md index 18bb15bf59..9f15fe8e1b 100644 --- a/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md +++ b/docs/content/en/docs-v1.0.x/user-guide/managing-application/configuration-reference.md @@ -53,3 +53,30 @@ spec: | Field | Type | Description | Required | | --- | --- | --- | --- | | `ignoreFields` | []string | List of `apiVersion:kind:namespace:name#fieldPath` to ignore in diffs. | No | + +## Planner + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `alwaysUsePipeline` | bool | Whether to always use the pipeline for deployment instead of a QuickSync. | No | +| `autoRollback` | bool | Whether to automatically rollback to the previous state when the deployment fails. | No | + +## Pipeline + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `stages` | []PipelineStage | List of stages to be executed sequentially during the deployment pipeline. | Yes | + +## Trigger + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `onCommit` | OnCommit | Configuration for triggering deployments upon new commits. | No | +| `onCommand` | OnCommand | Configuration for triggering deployments via manual command. | No | +| `onOutOfSync` | OnOutOfSync | Configuration for triggering deployments when drift is detected. | No | + +## PostSync + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `chain` | []PostSyncPlugin | List of plugins or tasks to execute after a successful synchronization. | Yes | diff --git a/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md b/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md index 896e628576..5d898f99f9 100644 --- a/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md +++ b/docs/content/en/docs-v1.0.x/user-guide/managing-piped/configuration-reference.md @@ -129,5 +129,24 @@ Defines the target environments where applications can be deployed. | `routes` | []NotificationRoute | List of notification routes. | No | | `receivers` | []NotificationReceiver | List of notification receivers. | No | -*(See the source or previous docs for full Notifications routing references).* +### NotificationRoute + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `name` | string | The name of the route. | Yes | +| `receiver` | string | The name of receiver who will receive all matched events. | Yes | +| `events` | []string | List of events that should be routed to the receiver. | No | +| `ignoreEvents` | []string | List of events that should be ignored. | No | +| `apps` | []string | List of applications where their events should be routed. | No | +| `ignoreApps` | []string | List of applications where their events should be ignored. | No | +| `labels` | map[string]string | List of labels where their events should be routed. | No | +| `ignoreLabels` | map[string]string | List of labels where their events should be ignored. | No | + +### NotificationReceiver + +| Field | Type | Description | Required | +| --- | --- | --- | --- | +| `name` | string | The name of the receiver. | Yes | +| `slack` | NotificationReceiverSlack | Configuration for slack receiver. | No | +| `webhook` | NotificationReceiverWebhook | Configuration for webhook receiver. | No |