diff --git a/docs/content/en/docs/concepts/_index.md b/docs/content/en/docs/concepts/_index.md index a154e78117..d61de3d6ce 100644 --- a/docs/content/en/docs/concepts/_index.md +++ b/docs/content/en/docs/concepts/_index.md @@ -36,17 +36,17 @@ PipeCD supports multiple kinds of applications such as `KUBERNETES`, `TERRAFORM` ### Environment An environment is a logical group of applications of a project. A project can have multiple environments. -Each application/piped must belong to one and only one enviroment. +Each application must belong to one and only one enviroment. While each piped must belong to at least one environment. ### Deployment -Deployment is a process that does transition from the current state (running state) to the desired state (specified state in Git) of a specific application. +A deployment is a process that does transition from the current state (running state) to the desired state (specified state in Git) of a specific application. When the deployment is success, it means the running state is synced with the desired state specified in the target commit. ### Deployment Configuration A `.pipe.yaml` yaml file that contains configuration data to define how to deploy the application. -Each application has one deployment configuration file in Git repository at application directory. +Each application requires one deployment configuration file at application directory in the Git repository. ### Application Configuration Directory @@ -55,11 +55,15 @@ Each application must has one application configuration directory. ### Quick Sync -Quick sync is a fast way to sync application to the state specified in a Git commit without any progressive strategy or manual approving. Its pipeline contains just only one `SYNC` stage. For examples: +Quick sync is a fast way to sync application to the state specified in a Git commit without any progressive strategy or manual approving. Its pipeline contains just only one predefined `SYNC` stage. For examples: - quick sync a Kubernetes application is just applying all manifests - quick sync a Terraform application is automatically applying all detected changes - quick sync a CloudRun/Lambda application is rolling out the new version and routing all traffic to it +### Pipeline + +A list of stages specified by user in the deployment configuration file that tells `piped` how the application should be deployed. When the pipeline was not specified, the application will be deployed by Quick Sync way. + ### Stage A temporary middle state between current state and desired state of a deployment process. diff --git a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun.md new file mode 100644 index 0000000000..b97cb298eb --- /dev/null +++ b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun.md @@ -0,0 +1,27 @@ +--- +title: "CloudRun" +linkTitle: "CloudRun" +weight: 3 +description: > + Specific guide for configuring CloudRun applications. +--- + +> TBA + +## Quick Sync + +> TBA + +## Sync with Specified Pipeline + +### Canary + +> TBA + +### BlueGreen + +> TBA + +## Reference + +Checkout [Configuration Reference](/docs/user-guide/configuration-reference/#cloudrun-application) to see full configuration. diff --git a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/_index.md deleted file mode 100644 index 643f01c7ef..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "CloudRun" -linkTitle: "CloudRun" -weight: 4 -description: > - Specific guides for CloudRun applications. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/bluegreen.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/bluegreen.md deleted file mode 100644 index 907589446c..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/bluegreen.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "BlueGreen Deployment" -linkTitle: "BlueGreen" -weight: 3 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/canary.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/canary.md deleted file mode 100644 index 28438fc111..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/canary.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Canary Deployment" -linkTitle: "Canary" -weight: 2 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/simple.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/simple.md deleted file mode 100644 index c3ca22476c..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/simple.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Simple" -linkTitle: "Simple" -weight: 1 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes.md new file mode 100644 index 0000000000..070fdc96f1 --- /dev/null +++ b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes.md @@ -0,0 +1,91 @@ +--- +title: "Kubernetes" +linkTitle: "Kubernetes" +weight: 1 +description: > + Specific guide for configuring Kubernetes applications. +--- + +> TBA + +## Quick Sync + +``` yaml +apiVersion: pipecd.dev/v1beta1 +kind: Kubernetes +spec: + input: + helmChart: + repository: pipecd + name: helloworld + version: v0.3.0 +``` + +## Sync with Specified Pipeline + +Each Kubernetes application can has 3 variants: primary (aka stable), baseline, canary. +- `primary` runs the current version of code and configuration. +- `baseline` runs the same version of code and configuration as the primary variant. (Creating a brand new baseline workload ensures that the metrics produced are free of any effects caused by long-running processes.) +- `canary` runs the proposed changed of code or configuration. + + +Kubernetes Stages: + +- `K8S_PRIMARY_ROLLOUT` +- `K8S_CANARY_ROLLOUT` +- `K8S_CANARY_CLEAN` +- `K8S_BASELINE_ROLLOUT` +- `K8S_BASELINE_CLEAN` +- `K8S_TRAFFIC_ROUTING` + +Common Stages: +- `WAIT` +- `WAIT_APPROVAL` +- `ANALYSIS` + + +### Canary + +> TBA + +Canary deployment for a non-mesh Kubernetes application is done by manipulating pod selector in the Service resource. + +### Canary with Istio + +> TBA + +### Canary with SMI + +> TBA + +### BlueGreen + +> TBA + +### BlueGreen with Istio + +> TBA + +### BlueGreen with SMI + +> TBA + +## Manifest Templating + +> TBA + +### Plain YAML + +> TBA + +### Helm + +> TBA + +### Kustomize + +> TBA + +## Reference + +Go to [Configuration Reference](/docs/user-guide/configuration-reference/#kubernetes-application) to see the full configuration. diff --git a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/_index.md deleted file mode 100644 index 332e85be54..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/_index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Kubernetes" -linkTitle: "Kubernetes" -weight: 2 -description: > - Specific guides for Kubernetes applications. ---- - -> TBA - -### Kubernetes Application Variant - -Each Kubernetes application can has 3 variants: primary (aka stable), baseline, canary. -- `primary` runs the current version of code and configuration. -- `baseline` runs the same version of code and configuration as the primary variant. (Creating a brand new baseline workload ensures that the metrics produced are free of any effects caused by long-running processes.) -- `canary` runs the proposed changed of code or configuration. - - -Kubernetes Stages: - -- `K8S_PRIMARY_ROLLOUT` -- `K8S_CANARY_ROLLOUT` -- `K8S_CANARY_CLEAN` -- `K8S_BASELINE_ROLLOUT` -- `K8S_BASELINE_CLEAN` -- `K8S_TRAFFIC_ROUTING` - -Common Stages: -- `WAIT` -- `WAIT_APPROVAL` -- `ANALYSIS` diff --git a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/bluegreen.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/bluegreen.md deleted file mode 100644 index b5818428e0..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/bluegreen.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "BlueGreen Deployment" -linkTitle: "BlueGreen" -weight: 4 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/canary.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/canary.md deleted file mode 100644 index e05d31fefe..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/canary.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Canary Deployment" -linkTitle: "Canary" -weight: 3 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/manifest-templating.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/manifest-templating.md deleted file mode 100644 index cb4a0df74b..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/manifest-templating.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Manifest Templating" -linkTitle: "Manifest Templating" -weight: 2 -description: > - This page describes all supported templating methods such as Helm, Kustomize. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/simple.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/simple.md deleted file mode 100644 index c3ca22476c..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/simple.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Simple" -linkTitle: "Simple" -weight: 1 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/lambda/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/_index.md deleted file mode 100644 index d832dd4b69..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/lambda/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Lambda" -linkTitle: "Lambda" -weight: 5 -description: > - Specific guides for Lambda applications. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/lambda/bluegreen.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/bluegreen.md deleted file mode 100644 index 907589446c..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/lambda/bluegreen.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "BlueGreen Deployment" -linkTitle: "BlueGreen" -weight: 3 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/lambda/canary.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/canary.md deleted file mode 100644 index 28438fc111..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/lambda/canary.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Canary Deployment" -linkTitle: "Canary" -weight: 2 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/lambda/simple.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/simple.md deleted file mode 100644 index c3ca22476c..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/lambda/simple.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Simple" -linkTitle: "Simple" -weight: 1 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/configuring-an-application/lamda.md b/docs/content/en/docs/user-guide/configuring-an-application/lamda.md new file mode 100644 index 0000000000..af22bdc4ba --- /dev/null +++ b/docs/content/en/docs/user-guide/configuring-an-application/lamda.md @@ -0,0 +1,27 @@ +--- +title: "Lambda" +linkTitle: "Lambda" +weight: 4 +description: > + Specific guide for configuring Lambda applications. +--- + +> TBA + +## Quick Sync + +> TBA + +## Sync with Specified Pipeline + +### Canary + +> TBA + +### BlueGreen + +> TBA + +## Reference + +Checkout [Configuration Reference](/docs/user-guide/configuration-reference/#lambda-application) to see full configuration. diff --git a/docs/content/en/docs/user-guide/configuring-an-application/terraform.md b/docs/content/en/docs/user-guide/configuring-an-application/terraform.md new file mode 100644 index 0000000000..6012877af4 --- /dev/null +++ b/docs/content/en/docs/user-guide/configuring-an-application/terraform.md @@ -0,0 +1,23 @@ +--- +title: "Terraform" +linkTitle: "Terraform" +weight: 2 +description: > + Specific guide for configurating Terraform applications. +--- + +> TBA + +## Quick Sync + +> TBA + +## Sync with Specified Pipeline + +> TBA + +## Chart location + +## Reference + +Go to [Configuration Reference](/docs/user-guide/configuration-reference/#terraform-application) to see the full configuration. diff --git a/docs/content/en/docs/user-guide/configuring-an-application/terraform/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/terraform/_index.md deleted file mode 100644 index 9b1fc1b551..0000000000 --- a/docs/content/en/docs/user-guide/configuring-an-application/terraform/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Terraform" -linkTitle: "Terraform" -weight: 3 -description: > - Specific guides for Terraform applications. ---- - -> TBA