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,7 +6,77 @@ 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 |

## 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 |
Loading
Loading