diff --git a/docs/config.toml b/docs/config.toml index 08202ae0f3..cafd53fa98 100644 --- a/docs/config.toml +++ b/docs/config.toml @@ -50,7 +50,7 @@ anchor = "smart" [services] [services.googleAnalytics] # Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. -id = "UA-00000000-0" +#id = "UA-00000000-0" # Language configuration @@ -131,7 +131,7 @@ no = 'Sorry to hear that. Please }} - diff --git a/docs/content/en/docs/contributor-guide/architectual-overview.md b/docs/content/en/docs/contributor-guide/architectual-overview.md index 195d1e7c5e..4412868b55 100644 --- a/docs/content/en/docs/contributor-guide/architectual-overview.md +++ b/docs/content/en/docs/contributor-guide/architectual-overview.md @@ -1,6 +1,6 @@ --- -title: "Architectual Overview" -linkTitle: "Architectual Overview" +title: "Architectual overview" +linkTitle: "Architectual overview" weight: 3 description: > This page describes the architecture of PipeCD. @@ -9,6 +9,9 @@ description: > > TBA ![](/images/architecture-overview.png) +

+Component Architecture +

### Piped @@ -23,5 +26,7 @@ authentication, showing deployment list/details, application list/details, deliv Control Plane contains the following components: - `api`: A service to provide api for external service like web and hook requests. -- `cache`: A redis cache service for caching internal data. - `web`: A service for serving static files for web. +- `cache`: A redis cache service for caching internal data. +- `datastore`: Data storage for storing deployment, application data. This can be a fully-managed service such as `Firestore`, `DynamoDB`... or a self-managed such as `MongoDB`. +- `filestore`: File storage for storing logs, application states. This can a fully-managed service such as `GCS`, `S3`... or a self-managed service such as `Minio`. diff --git a/docs/content/en/docs/contributor-guide/contributing.md b/docs/content/en/docs/contributor-guide/contributing.md index c070ef4481..b7ec6127b0 100644 --- a/docs/content/en/docs/contributor-guide/contributing.md +++ b/docs/content/en/docs/contributor-guide/contributing.md @@ -3,7 +3,7 @@ title: "Contributing" linkTitle: "Contributing" weight: 1 description: > - This page guides how to contribute to PipeCD. + This page describes how to contribute to PipeCD. --- PipeCD is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! diff --git a/docs/content/en/docs/contributor-guide/control-plane-development.md b/docs/content/en/docs/contributor-guide/control-plane-development.md index 65490919d0..0dd9ee2e28 100644 --- a/docs/content/en/docs/contributor-guide/control-plane-development.md +++ b/docs/content/en/docs/contributor-guide/control-plane-development.md @@ -1,6 +1,6 @@ --- -title: "Control Plane Development" -linkTitle: "Control Plane Development" +title: "Control plane development" +linkTitle: "Control plane development" weight: 5 description: > This page describes where to find control-plane source code and how to run it locally for debugging. @@ -8,13 +8,13 @@ description: > ## Source code structure -- [pkg/app/api](https://github.com/pipe-cd/pipe/tree/master/pkg/app/api): Contains source code for control-plane api. -- [cmd/api](https://github.com/pipe-cd/pipe/tree/master/cmd/api): Entrypoint for binary of control-plane api. +- [pkg/app/api](https://github.com/pipe-cd/pipe/tree/master/pkg/app/api): contains source code for control-plane api. +- [cmd/api](https://github.com/pipe-cd/pipe/tree/master/cmd/api): entrypoint for binary of control-plane api. -- [pkg/app/web](https://github.com/pipe-cd/pipe/tree/master/pkg/app/web): Contains source code for control-plane web. -- [cmd/web](https://github.com/pipe-cd/pipe/tree/master/cmd/web): Entrypoint for binary of control-plane web. +- [pkg/app/web](https://github.com/pipe-cd/pipe/tree/master/pkg/app/web): contains source code for control-plane web. +- [cmd/web](https://github.com/pipe-cd/pipe/tree/master/cmd/web): entrypoint for binary of control-plane web. -- [pkg](https://github.com/pipe-cd/pipe/tree/master/pkg): Contains shared source code for all components of both `piped` and `control-plane`. +- [pkg](https://github.com/pipe-cd/pipe/tree/master/pkg): contains shared source code for all components of both `piped` and `control-plane`. ## How to run API locally diff --git a/docs/content/en/docs/contributor-guide/piped-development.md b/docs/content/en/docs/contributor-guide/piped-development.md index 99bb80d860..8abbe376da 100644 --- a/docs/content/en/docs/contributor-guide/piped-development.md +++ b/docs/content/en/docs/contributor-guide/piped-development.md @@ -1,6 +1,6 @@ --- -title: "Piped Development" -linkTitle: "Piped Development" +title: "Piped development" +linkTitle: "Piped development" weight: 4 description: > This page describes where to find piped source code and how to run it locally for debugging. @@ -8,9 +8,9 @@ description: > ## Source code structure -- [pkg/app/piped](https://github.com/pipe-cd/pipe/tree/master/pkg/app/piped): Contains source code for only `piped`. -- [cmd/piped](https://github.com/pipe-cd/pipe/tree/master/cmd/piped): Entrypoint for `piped` binary. -- [pkg](https://github.com/pipe-cd/pipe/tree/master/pkg): Contains shared source code for all components of both `piped` and `control-plane`. +- [pkg/app/piped](https://github.com/pipe-cd/pipe/tree/master/pkg/app/piped): contains source code for only `piped`. +- [cmd/piped](https://github.com/pipe-cd/pipe/tree/master/cmd/piped): entrypoint for `piped` binary. +- [pkg](https://github.com/pipe-cd/pipe/tree/master/pkg): contains shared source code for all components of both `piped` and `control-plane`. ## How to run it locally diff --git a/docs/content/en/docs/faq/_index.md b/docs/content/en/docs/faq/_index.md index c78ca09d74..a136825760 100644 --- a/docs/content/en/docs/faq/_index.md +++ b/docs/content/en/docs/faq/_index.md @@ -18,4 +18,4 @@ Currently, PipeCD is supporting `Helm` and `Kustomize` as templating method for ### 3. Istio is supported now? -Yes, you can use PipeCD for both mesh (Istio) applications and non-mesh applications. +Yes, you can use PipeCD for both mesh (Istio, SMI) applications and non-mesh applications. diff --git a/docs/content/en/docs/operator-manual/control-plane/adding-a-project.md b/docs/content/en/docs/operator-manual/control-plane/adding-a-project.md index 448a18eaaa..ac9682c4c3 100644 --- a/docs/content/en/docs/operator-manual/control-plane/adding-a-project.md +++ b/docs/content/en/docs/operator-manual/control-plane/adding-a-project.md @@ -1,6 +1,6 @@ --- -title: "Adding a Project" -linkTitle: "Adding a Project" +title: "Adding a project" +linkTitle: "Adding a project" weight: 2 description: > This page describes how to set up a new project. diff --git a/docs/content/en/docs/operator-manual/control-plane/architecture-overview.md b/docs/content/en/docs/operator-manual/control-plane/architecture-overview.md index 06de69621d..de7c9922d7 100644 --- a/docs/content/en/docs/operator-manual/control-plane/architecture-overview.md +++ b/docs/content/en/docs/operator-manual/control-plane/architecture-overview.md @@ -1,6 +1,6 @@ --- -title: "Architecture Overview" -linkTitle: "Architecture Overview" +title: "Architecture overview" +linkTitle: "Architecture overview" weight: 1 description: > This page describes the architecture of PipeCD. diff --git a/docs/content/en/docs/operator-manual/control-plane/auth.md b/docs/content/en/docs/operator-manual/control-plane/auth.md index c872965db1..e2301bc516 100644 --- a/docs/content/en/docs/operator-manual/control-plane/auth.md +++ b/docs/content/en/docs/operator-manual/control-plane/auth.md @@ -1,6 +1,6 @@ --- -title: "Authentication and Authorization" -linkTitle: "Authentication and Authorization" +title: "Authentication and authorization" +linkTitle: "Authentication and authorization" weight: 4 description: > This page describes about PipeCD Authentication and Authorization. diff --git a/docs/content/en/docs/operator-manual/control-plane/configuration-reference.md b/docs/content/en/docs/operator-manual/control-plane/configuration-reference.md new file mode 100644 index 0000000000..27c7dc11a3 --- /dev/null +++ b/docs/content/en/docs/operator-manual/control-plane/configuration-reference.md @@ -0,0 +1,50 @@ +--- +title: "Configuration reference" +linkTitle: "Configuration reference" +weight: 6 +description: > + This page describes all configurable fields in the control-plane configuration. +--- + +> TBA + +``` yaml +apiVersion: pipecd.dev/v1beta1 +kind: ControlPlane +spec: +``` + +### Control Plane Configuration + +| Field | Type | Description | Required | +|-|-|-|-| +| apiURL | string | The address of control-plane api | Yes | +| stateKey | string | A randomly generated string used to sign oauth state | Yes | +| dataStore | [DataStore](/docs/operator-manual/control-plane/configuration-reference/#datastore) | Storage for storing application, deployment data | Yes | +| fileStore | [FileStore](/docs/operator-manual/control-plane/configuration-reference/#filestore) | File storage for storing deployment logs and application states | Yes | +| cache | [Cache](/docs/operator-manual/control-plane/configuration-reference/#cache) | List of cloud providers can be used by this piped | No | +| projects | [][Project](/docs/operator-manual/control-plane/configuration-reference/#project) | List of debugging/quickstart projects | No | + +### DataStore + +| Field | Type | Description | Required | +|-|-|-|-| +| type | string | Which type of data store should be used. Can be one of the following values
`FIRESTORE`, `DYNAMODB`, `MONGODB` | Yes | + +### FileStore + +| Field | Type | Description | Required | +|-|-|-|-| +| type | string | Which type of file store should be used. Can be one of the following values
`GCS`, `S3`, `MINIO` | Yes | + +### Cache + +| Field | Type | Description | Required | +|-|-|-|-| +| ttl | duration | The name of the chart repository | Yes | + +### Project + +| Field | Type | Description | Required | +|-|-|-|-| +| id | string | The unique identifier of the project | Yes | diff --git a/docs/content/en/docs/operator-manual/control-plane/persisting-control-plane-data.md b/docs/content/en/docs/operator-manual/control-plane/persisting-control-plane-data.md index 502f1a4065..8653b0e258 100644 --- a/docs/content/en/docs/operator-manual/control-plane/persisting-control-plane-data.md +++ b/docs/content/en/docs/operator-manual/control-plane/persisting-control-plane-data.md @@ -1,6 +1,6 @@ --- -title: "Persisting Control Plane Data" -linkTitle: "Persisting Control Plane Data" +title: "Persisting control plane data" +linkTitle: "Persisting control plane data" weight: 3 description: > This page describes how to set up control plane to persist its data. diff --git a/docs/content/en/docs/operator-manual/piped/adding-a-cloudrun-cloud-provider.md b/docs/content/en/docs/operator-manual/piped/adding-a-cloudrun-cloud-provider.md index 028bf4c0e3..c1303b6420 100644 --- a/docs/content/en/docs/operator-manual/piped/adding-a-cloudrun-cloud-provider.md +++ b/docs/content/en/docs/operator-manual/piped/adding-a-cloudrun-cloud-provider.md @@ -1,6 +1,6 @@ --- -title: "Adding a CloudRun Cloud Provider" -linkTitle: "Adding a CloudRun Cloud Provider" +title: "Adding a CloudRun cloud provider" +linkTitle: "Adding a CloudRun cloud provider" weight: 5 description: > This page describes how to add a CloudRun cloud provider to enable CloudRun applications. diff --git a/docs/content/en/docs/operator-manual/piped/adding-a-git-repository.md b/docs/content/en/docs/operator-manual/piped/adding-a-git-repository.md index 18077d0d3d..3efdf3b452 100644 --- a/docs/content/en/docs/operator-manual/piped/adding-a-git-repository.md +++ b/docs/content/en/docs/operator-manual/piped/adding-a-git-repository.md @@ -1,6 +1,6 @@ --- -title: "Adding a Git Repository" -linkTitle: "Adding a Git Repository" +title: "Adding a Git repository" +linkTitle: "Adding a Git repository" weight: 2 description: > This page describes how to add a new git repository. diff --git a/docs/content/en/docs/operator-manual/piped/adding-a-kubernetes-cloud-provider.md b/docs/content/en/docs/operator-manual/piped/adding-a-kubernetes-cloud-provider.md index 9e694e5baa..2a2c426b1e 100644 --- a/docs/content/en/docs/operator-manual/piped/adding-a-kubernetes-cloud-provider.md +++ b/docs/content/en/docs/operator-manual/piped/adding-a-kubernetes-cloud-provider.md @@ -1,6 +1,6 @@ --- -title: "Adding a Kubernetes Cloud Provider" -linkTitle: "Adding a Kubernetes Cloud Provider" +title: "Adding a Kubernetes cloud provider" +linkTitle: "Adding a Kubernetes cloud provider" weight: 3 description: > This page describes how to add a Kubernetes cloud provider to enable Kubernetes applications. diff --git a/docs/content/en/docs/operator-manual/piped/adding-a-lambda-cloud-provider.md b/docs/content/en/docs/operator-manual/piped/adding-a-lambda-cloud-provider.md index 18f9ece497..bef9847553 100644 --- a/docs/content/en/docs/operator-manual/piped/adding-a-lambda-cloud-provider.md +++ b/docs/content/en/docs/operator-manual/piped/adding-a-lambda-cloud-provider.md @@ -1,6 +1,6 @@ --- -title: "Adding a Lambda Cloud Provider" -linkTitle: "Adding a Lambda Cloud Provider" +title: "Adding a Lambda cloud provider" +linkTitle: "Adding a Lambda cloud provider" weight: 6 description: > This page describes how to add a Lambda cloud provider to enable Lambda applications. diff --git a/docs/content/en/docs/operator-manual/piped/adding-a-terraform-cloud-provider.md b/docs/content/en/docs/operator-manual/piped/adding-a-terraform-cloud-provider.md index 43734a2a8c..b746c82398 100644 --- a/docs/content/en/docs/operator-manual/piped/adding-a-terraform-cloud-provider.md +++ b/docs/content/en/docs/operator-manual/piped/adding-a-terraform-cloud-provider.md @@ -1,6 +1,6 @@ --- -title: "Adding a Terraform Cloud Provider" -linkTitle: "Adding a Terraform Cloud Provider" +title: "Adding a Terraform cloud provider" +linkTitle: "Adding a Terraform cloud provider" weight: 4 description: > This page describes how to add a Terraform cloud provider to enable Terraform applications. diff --git a/docs/content/en/docs/operator-manual/piped/adding-an-analysis-provider.md b/docs/content/en/docs/operator-manual/piped/adding-an-analysis-provider.md index 052c3653bd..10ebaff17d 100644 --- a/docs/content/en/docs/operator-manual/piped/adding-an-analysis-provider.md +++ b/docs/content/en/docs/operator-manual/piped/adding-an-analysis-provider.md @@ -1,6 +1,6 @@ --- -title: "Adding an Analysis Provider" -linkTitle: "Adding an Analysis Provider" +title: "Adding an analysis provider" +linkTitle: "Adding an analysis provider" weight: 7 description: > This page describes how to add an analysis provider for doing deployment analysis. diff --git a/docs/content/en/docs/operator-manual/piped/adding-an-image-provider.md b/docs/content/en/docs/operator-manual/piped/adding-an-image-provider.md new file mode 100644 index 0000000000..e43c0f4fbe --- /dev/null +++ b/docs/content/en/docs/operator-manual/piped/adding-an-image-provider.md @@ -0,0 +1,9 @@ +--- +title: "Adding an image provider" +linkTitle: "Adding an image provider" +weight: 9 +description: > + This page describes how to add a new container image provider. +--- + +> TBA diff --git a/docs/content/en/docs/operator-manual/piped/adding-helm-chart-repository.md b/docs/content/en/docs/operator-manual/piped/adding-helm-chart-repository.md index 9b65f92420..b299894f88 100644 --- a/docs/content/en/docs/operator-manual/piped/adding-helm-chart-repository.md +++ b/docs/content/en/docs/operator-manual/piped/adding-helm-chart-repository.md @@ -1,6 +1,6 @@ --- -title: "Adding a Helm Chart Repository" -linkTitle: "Adding a Helm Chart Repository" +title: "Adding a helm chart repository" +linkTitle: "Adding a helm chart repository" weight: 8 description: > This page describes how to add a new Helm chart repository. diff --git a/docs/content/en/docs/operator-manual/piped/configuration-reference.md b/docs/content/en/docs/operator-manual/piped/configuration-reference.md new file mode 100644 index 0000000000..bfadaf2d7e --- /dev/null +++ b/docs/content/en/docs/operator-manual/piped/configuration-reference.md @@ -0,0 +1,76 @@ +--- +title: "Configuration reference" +linkTitle: "Configuration reference" +weight: 11 +description: > + This page describes all configurable fields in the piped configuration. +--- + +> TBA + +``` yaml +apiVersion: pipecd.dev/v1beta1 +kind: Piped +spec: + projectID: ... + pipedID: ... + ... +``` + +### Piped Configuration + +| Field | Type | Description | Required | +|-|-|-|-| +| projectID | string | The project ID this piped belongs to | Yes | +| pipedID | string | The generated ID for this piped | Yes | +| pipedKeyFile | string | The path to the file containing generated Key for this piped | Yes | +| webURL | string | The URL address of PipeCD web | Yes | +| syncInterval | duration | How offten to check whether an application should be synced. Default is `1m` | No | +| git | [Git](/docs/operator-manual/piped/configuration-reference/#git) | Git configuration needed for Git commands | No | +| repositories | [][Repository](/docs/operator-manual/piped/configuration-reference/#repository) | List of Git repositories this piped will handle | No | +| chartRepositories | [][ChartRepository](/docs/operator-manual/piped/configuration-reference/#chartrepository) | List of Helm chart repositories that should be added while starting up | No | +| cloudProviders | [][CloudProvider](/docs/operator-manual/piped/configuration-reference/#cloudprovider) | List of cloud providers can be used by this piped | No | +| analysisProviders | [][CloudProvider](/docs/operator-manual/piped/configuration-reference/#analysisprovider) | List of analysis providers can be used by this piped | No | +| notifications | [Notifications](/docs/operator-manual/piped/configuration-reference/#notifications) | Notification to Slack, Webhook... | No | + +### Git + +| Field | Type | Description | Required | +|-|-|-|-| +| Username | string | The username that will be configured to `git` | No | + +### Repository + +| Field | Type | Description | Required | +|-|-|-|-| +| repoID | string | Unique identifier to the repository. This must be unique in the piped scope | Yes | + +### ChartRepository + +| Field | Type | Description | Required | +|-|-|-|-| +| name | string | The name of the chart repository | Yes | + +### CLoudProvider + +| Field | Type | Description | Required | +|-|-|-|-| +| Name | string | The name of the cloud provider | Yes | + +### AnalysisProvider + +| Field | Type | Description | Required | +|-|-|-|-| +| Name | string | The name of the analysis provider | Yes | + +### Notifications + +| Field | Type | Description | Required | +|-|-|-|-| +| routes | [][Notification.Route](/docs/operator-manual/piped/configuration-reference/#notificationroute) | List of notification routes | No | + +### Notification.Route + +| Field | Type | Description | Required | +|-|-|-|-| +| Name | string | The name of the analysis provider | Yes | diff --git a/docs/content/en/docs/operator-manual/piped/configuring-notifications.md b/docs/content/en/docs/operator-manual/piped/configuring-notifications.md index 0d6176da32..f3519205fd 100644 --- a/docs/content/en/docs/operator-manual/piped/configuring-notifications.md +++ b/docs/content/en/docs/operator-manual/piped/configuring-notifications.md @@ -1,9 +1,56 @@ --- -title: "Configuring Notifications" -linkTitle: "Configuring Notifications" -weight: 9 +title: "Configuring notifications" +linkTitle: "Configuring notifications" +weight: 10 description: > This page describes how to configure piped to send notications to external services. --- > TBA + + +![](/images/notification-slack-deployment-planned.png) +

+Deployment was planned +

+ +![](/images/notification-slack-deployment-completed-successfully.png) +

+Deployment was completed successfully +

+ +![](/images/notification-slack-piped-started.png) +

+A piped has been started +

+ +``` yaml +apiVersion: pipecd.dev/v1beta1 +kind: Piped +spec: + notifications: + routes: + - name: dev-slack + envs: + - dev + receiver: dev-slack-channel + - name: prod-slack + events: + - DEPLOYMENT_STARTED + - DEPLOYMENT_COMPLETED + envs: + - dev + receiver: prod-slack-channel + - name: all-events-to-ci + receiver: ci-webhook + receivers: + - name: dev-slack-channel + slack: + hookURL: https://slack.com/dev + - name: prod-slack-channel + slack: + hookURL: https://slack.com/prod + - name: ci-webhook + webhook: + url: https://pipecd.dev/dev-hook +``` diff --git a/docs/content/en/docs/operator-manual/piped/installation.md b/docs/content/en/docs/operator-manual/piped/installation.md index d75ddbbd8b..835309bdd1 100644 --- a/docs/content/en/docs/operator-manual/piped/installation.md +++ b/docs/content/en/docs/operator-manual/piped/installation.md @@ -9,7 +9,7 @@ description: > ## Prerequisites ##### Registering piped -- Ensure that the `piped` has been registered from PipeCD web and you have copied its ID and Key strings. +- Ensure that the `piped` has been registered from PipeCD web UI and you have copied its ID and Key strings. - Please note that only project admin can register a new `piped` at Settings tab. ##### Preparing a SSH key @@ -20,7 +20,7 @@ description: > ### Installing on a Kubernetes cluster -- Adding `pipecd` Helm repository +- Adding `pipecd` helm chart repository ``` helm repo add pipecd https://pipecd-charts.storage.googleapis.com diff --git a/docs/content/en/docs/overview/_index.md b/docs/content/en/docs/overview/_index.md index 1704908bf3..2ba123e76e 100644 --- a/docs/content/en/docs/overview/_index.md +++ b/docs/content/en/docs/overview/_index.md @@ -13,6 +13,14 @@ PipeCD provides a Continuous Delivery solution for Declarative Kubernetes Applic > TBA: Introduce your project, including what it does or lets you do, why you would use it, and its primary goal (and how it achieves it). This should be similar to your README description, though you can go into a little more detail here if you want. ![](/images/architecture-overview.png) +

+Component Architecture +

+ +![](/images/deployment-details.png) +

+Deployment Details Screen +

## Why PipeCD? diff --git a/docs/content/en/docs/quickstart/_index.md b/docs/content/en/docs/quickstart/_index.md index 53e36e4ada..2d8772973a 100644 --- a/docs/content/en/docs/quickstart/_index.md +++ b/docs/content/en/docs/quickstart/_index.md @@ -3,16 +3,16 @@ title: "Quickstart" linkTitle: "Quickstart" weight: 3 description: > - This page describes how to quickly get started with PipeCD by installing and deploying a Kubernetes application. + This page describes how to quickly get started with PipeCD on Kubernetes. --- -This guides you to install PipeCD in your kubernetes and deploy a helloworld application to that Kubernetes cluster. +This guides you to install PipeCD in your kubernetes and deploy a `helloworld` application to that Kubernetes cluster. -### 1. Installing Control Plane +### 1. Installing control plane > TBA -### 2. Adding an Environment +### 2. Adding an environment Go to the `Environment` tab at `Settings` page and click on `Add` button to add a new environment to the project. @@ -22,10 +22,10 @@ Go to the `Environment` tab at `Settings` page and click on `Add` button to add > TBA -### 4. Creating an Application +### 4. Configuring a kubernetes application > TBA -### 5. Let's Deploy! +### 5. Let's deploy! > TBA diff --git a/docs/content/en/docs/user-guide/manual-approval.md b/docs/content/en/docs/user-guide/adding-a-manual-approval.md similarity index 54% rename from docs/content/en/docs/user-guide/manual-approval.md rename to docs/content/en/docs/user-guide/adding-a-manual-approval.md index 1e19dcbaf9..3e1c9268cd 100644 --- a/docs/content/en/docs/user-guide/manual-approval.md +++ b/docs/content/en/docs/user-guide/adding-a-manual-approval.md @@ -1,6 +1,6 @@ --- -title: "Adding a Manual Appoval Stage" -linkTitle: "Manual Approval Stage" +title: "Adding a manual appoval stage" +linkTitle: "Adding a manual approval stage" weight: 9 description: > This page describes how to add a manual approval stage. diff --git a/docs/content/en/docs/user-guide/wait-stage.md b/docs/content/en/docs/user-guide/adding-a-wait-stage.md similarity index 58% rename from docs/content/en/docs/user-guide/wait-stage.md rename to docs/content/en/docs/user-guide/adding-a-wait-stage.md index b27751f90c..f040041a7b 100644 --- a/docs/content/en/docs/user-guide/wait-stage.md +++ b/docs/content/en/docs/user-guide/adding-a-wait-stage.md @@ -1,6 +1,6 @@ --- -title: "Adding a Wait Stage" -linkTitle: "Wait Stage" +title: "Adding a wait stage" +linkTitle: "Adding a wait stage" weight: 10 description: > This page describes how to add a WAIT stage. diff --git a/docs/content/en/docs/user-guide/adding-application.md b/docs/content/en/docs/user-guide/adding-application.md deleted file mode 100644 index d764f1271b..0000000000 --- a/docs/content/en/docs/user-guide/adding-application.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Adding an Application" -linkTitle: "Adding an Application" -weight: 1 -description: > - This page describes how to add a new application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/live-state.md b/docs/content/en/docs/user-guide/application-live-state.md similarity index 56% rename from docs/content/en/docs/user-guide/live-state.md rename to docs/content/en/docs/user-guide/application-live-state.md index 36559c5e0f..00673366cb 100644 --- a/docs/content/en/docs/user-guide/live-state.md +++ b/docs/content/en/docs/user-guide/application-live-state.md @@ -1,6 +1,6 @@ --- -title: "Application Component and Health State" -linkTitle: "Application Live State" +title: "Application component and health state" +linkTitle: "Application live state" weight: 12 description: > The live states of application components as well as their health. diff --git a/docs/content/en/docs/user-guide/automated-deployment-analysis.md b/docs/content/en/docs/user-guide/automated-deployment-analysis.md new file mode 100644 index 0000000000..cff6446793 --- /dev/null +++ b/docs/content/en/docs/user-guide/automated-deployment-analysis.md @@ -0,0 +1,9 @@ +--- +title: "Automated deployment analysis" +linkTitle: "Automated deployment analysis" +weight: 11 +description: > + This page describes how to configure Automated Deployment Analysis feature. +--- + +> TBA diff --git a/docs/content/en/docs/user-guide/cancelling-a-deployment.md b/docs/content/en/docs/user-guide/cancelling-a-deployment.md index d9412ea9e7..fb6b519814 100644 --- a/docs/content/en/docs/user-guide/cancelling-a-deployment.md +++ b/docs/content/en/docs/user-guide/cancelling-a-deployment.md @@ -1,6 +1,6 @@ --- -title: "Cancelling a Deployment" -linkTitle: "Cancelling a Deployment" +title: "Cancelling a deployment" +linkTitle: "Cancelling a deployment" weight: 7 description: > This page describes how to manually and forcely sync an application. diff --git a/docs/content/en/docs/user-guide/configuration-drift-detection.md b/docs/content/en/docs/user-guide/configuration-drift-detection.md index 1ae4980877..6bb479cbd2 100644 --- a/docs/content/en/docs/user-guide/configuration-drift-detection.md +++ b/docs/content/en/docs/user-guide/configuration-drift-detection.md @@ -1,9 +1,9 @@ --- -title: "Configuration Drift Detection" -linkTitle: "Configuration Drift Detection" +title: "Configuration drift detection" +linkTitle: "Configuration drift detection" weight: 13 description: > - Overview about deploying Kubernetes application. + Automatically detecting the configuration drift. --- > TBA diff --git a/docs/content/en/docs/user-guide/configuration-reference.md b/docs/content/en/docs/user-guide/configuration-reference.md new file mode 100644 index 0000000000..0ad8dac901 --- /dev/null +++ b/docs/content/en/docs/user-guide/configuration-reference.md @@ -0,0 +1,88 @@ +--- +title: "Configuration reference" +linkTitle: "Configuration reference" +weight: 22 +description: > + This page describes all configurable fields in the deployment configuration and analysis template. +--- + +> TBA + +### Piped Configuration + +``` yaml +apiVersion: pipecd.dev/v1beta1 +kind: Piped +spec: + projectID: ... + pipedID: ... + ... +``` + +| Field | Type | Description | Required | +|-|-|-|-| +| projectID | string | The project ID this piped belongs to | Yes | +| pipedID | string | The generated ID for this piped | Yes | +| pipedKeyFile | string | The path to the file containing generated Key for this piped | Yes | +| webURL | string | The URL address of PipeCD web | Yes | +| syncInterval | duration | How offten to check whether an application should be synced. Default is `1m` | No | +| git | [Git](/docs/operator-manual/piped/configuration-reference/#git) | Git configuration needed for Git commands | No | +| repositories | [][Repository](/docs/operator-manual/piped/configuration-reference/#repository) | List of Git repositories this piped will handle | No | +| chartRepositories | [][ChartRepository](/docs/operator-manual/piped/configuration-reference/#chartrepository) | List of Helm chart repositories that should be added while starting up | No | +| cloudProviders | [][CloudProvider](/docs/operator-manual/piped/configuration-reference/#cloudprovider) | List of cloud providers can be used by this piped | No | +| analysisProviders | [][CloudProvider](/docs/operator-manual/piped/configuration-reference/#analysisprovider) | List of analysis providers can be used by this piped | No | +| notifications | [Notifications](/docs/operator-manual/piped/configuration-reference/#notifications) | Notification to Slack, Webhook... | No | + +### Analysis Template Configuration + +``` yaml +apiVersion: pipecd.dev/v1beta1 +kind: AnalysisTemplate +spec: + metrics: +``` + +| Field | Type | Description | Required | +|-|-|-|-| + +### Git + +| Field | Type | Description | Required | +|-|-|-|-| +| Username | string | The username that will be configured to `git` | No | + +### Repository + +| Field | Type | Description | Required | +|-|-|-|-| +| repoID | string | Unique identifier to the repository. This must be unique in the piped scope | Yes | + +### ChartRepository + +| Field | Type | Description | Required | +|-|-|-|-| +| name | string | The name of the chart repository | Yes | + +### CLoudProvider + +| Field | Type | Description | Required | +|-|-|-|-| +| Name | string | The name of the cloud provider | Yes | + +### AnalysisProvider + +| Field | Type | Description | Required | +|-|-|-|-| +| Name | string | The name of the analysis provider | Yes | + +### Notifications + +| Field | Type | Description | Required | +|-|-|-|-| +| routes | [][Notification.Route](/docs/operator-manual/piped/configuration-reference/#notificationroute) | List of notification routes | No | + +### Notification.Route + +| Field | Type | Description | Required | +|-|-|-|-| +| Name | string | The name of the analysis provider | Yes | diff --git a/docs/content/en/docs/user-guide/configuring-an-application/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/_index.md new file mode 100644 index 0000000000..b7983dd431 --- /dev/null +++ b/docs/content/en/docs/user-guide/configuring-an-application/_index.md @@ -0,0 +1,9 @@ +--- +title: "Configuring an application" +linkTitle: "Configuring an application" +weight: 1 +description: > + This page describes how to add and configure an application. +--- + +> TBA diff --git a/docs/content/en/docs/user-guide/cloudrun/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/_index.md similarity index 100% rename from docs/content/en/docs/user-guide/cloudrun/_index.md rename to docs/content/en/docs/user-guide/configuring-an-application/cloudrun/_index.md diff --git a/docs/content/en/docs/user-guide/cloudrun/bluegreen.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/bluegreen.md similarity index 100% rename from docs/content/en/docs/user-guide/cloudrun/bluegreen.md rename to docs/content/en/docs/user-guide/configuring-an-application/cloudrun/bluegreen.md diff --git a/docs/content/en/docs/user-guide/cloudrun/canary.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/canary.md similarity index 100% rename from docs/content/en/docs/user-guide/cloudrun/canary.md rename to docs/content/en/docs/user-guide/configuring-an-application/cloudrun/canary.md diff --git a/docs/content/en/docs/user-guide/cloudrun/overview.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/overview.md similarity index 100% rename from docs/content/en/docs/user-guide/cloudrun/overview.md rename to docs/content/en/docs/user-guide/configuring-an-application/cloudrun/overview.md diff --git a/docs/content/en/docs/user-guide/cloudrun/simple.md b/docs/content/en/docs/user-guide/configuring-an-application/cloudrun/simple.md similarity index 100% rename from docs/content/en/docs/user-guide/cloudrun/simple.md rename to docs/content/en/docs/user-guide/configuring-an-application/cloudrun/simple.md diff --git a/docs/content/en/docs/user-guide/kubernetes/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/_index.md similarity index 100% rename from docs/content/en/docs/user-guide/kubernetes/_index.md rename to docs/content/en/docs/user-guide/configuring-an-application/kubernetes/_index.md diff --git a/docs/content/en/docs/user-guide/kubernetes/bluegreen.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/bluegreen.md similarity index 100% rename from docs/content/en/docs/user-guide/kubernetes/bluegreen.md rename to docs/content/en/docs/user-guide/configuring-an-application/kubernetes/bluegreen.md diff --git a/docs/content/en/docs/user-guide/kubernetes/canary.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/canary.md similarity index 100% rename from docs/content/en/docs/user-guide/kubernetes/canary.md rename to docs/content/en/docs/user-guide/configuring-an-application/kubernetes/canary.md diff --git a/docs/content/en/docs/user-guide/kubernetes/manifest-templating.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/manifest-templating.md similarity index 100% rename from docs/content/en/docs/user-guide/kubernetes/manifest-templating.md rename to docs/content/en/docs/user-guide/configuring-an-application/kubernetes/manifest-templating.md diff --git a/docs/content/en/docs/user-guide/kubernetes/overview.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/overview.md similarity index 100% rename from docs/content/en/docs/user-guide/kubernetes/overview.md rename to docs/content/en/docs/user-guide/configuring-an-application/kubernetes/overview.md diff --git a/docs/content/en/docs/user-guide/kubernetes/simple.md b/docs/content/en/docs/user-guide/configuring-an-application/kubernetes/simple.md similarity index 100% rename from docs/content/en/docs/user-guide/kubernetes/simple.md rename to docs/content/en/docs/user-guide/configuring-an-application/kubernetes/simple.md diff --git a/docs/content/en/docs/user-guide/lambda/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/_index.md similarity index 100% rename from docs/content/en/docs/user-guide/lambda/_index.md rename to docs/content/en/docs/user-guide/configuring-an-application/lambda/_index.md diff --git a/docs/content/en/docs/user-guide/lambda/bluegreen.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/bluegreen.md similarity index 100% rename from docs/content/en/docs/user-guide/lambda/bluegreen.md rename to docs/content/en/docs/user-guide/configuring-an-application/lambda/bluegreen.md diff --git a/docs/content/en/docs/user-guide/lambda/canary.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/canary.md similarity index 100% rename from docs/content/en/docs/user-guide/lambda/canary.md rename to docs/content/en/docs/user-guide/configuring-an-application/lambda/canary.md diff --git a/docs/content/en/docs/user-guide/lambda/overview.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/overview.md similarity index 100% rename from docs/content/en/docs/user-guide/lambda/overview.md rename to docs/content/en/docs/user-guide/configuring-an-application/lambda/overview.md diff --git a/docs/content/en/docs/user-guide/lambda/simple.md b/docs/content/en/docs/user-guide/configuring-an-application/lambda/simple.md similarity index 100% rename from docs/content/en/docs/user-guide/lambda/simple.md rename to docs/content/en/docs/user-guide/configuring-an-application/lambda/simple.md diff --git a/docs/content/en/docs/user-guide/configuring-an-application/overview.md b/docs/content/en/docs/user-guide/configuring-an-application/overview.md new file mode 100644 index 0000000000..10d6cb7bf6 --- /dev/null +++ b/docs/content/en/docs/user-guide/configuring-an-application/overview.md @@ -0,0 +1,19 @@ +--- +title: "Overview" +linkTitle: "Overview" +weight: 1 +description: > + This page describes how to add a new application. +--- + +> TBA + +Before deploying an application, the application must be registered from web UI to configure what piped should handle the application or where to deploy it. An application must belong to exactly one environment and can be handled by one registered piped. Currently, PipeCD supports the following application kinds: + +- Kubernetes applicaiton +- Terraform application +- CloudRun application +- Lambda application + +1. Registering a new application from Web UI. +2. Adding a deployment configuration file (`.piped.yaml`) to application directory in Git. diff --git a/docs/content/en/docs/user-guide/terraform/_index.md b/docs/content/en/docs/user-guide/configuring-an-application/terraform/_index.md similarity index 100% rename from docs/content/en/docs/user-guide/terraform/_index.md rename to docs/content/en/docs/user-guide/configuring-an-application/terraform/_index.md diff --git a/docs/content/en/docs/user-guide/terraform/overview.md b/docs/content/en/docs/user-guide/configuring-an-application/terraform/overview.md similarity index 100% rename from docs/content/en/docs/user-guide/terraform/overview.md rename to docs/content/en/docs/user-guide/configuring-an-application/terraform/overview.md diff --git a/docs/content/en/docs/user-guide/deployment-analysis.md b/docs/content/en/docs/user-guide/deployment-analysis.md deleted file mode 100644 index e8439c0efd..0000000000 --- a/docs/content/en/docs/user-guide/deployment-analysis.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Deployment Analysis" -linkTitle: "Deployment Analysis" -weight: 11 -description: > - Overview about deploying Kubernetes application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/image-watcher.md b/docs/content/en/docs/user-guide/image-watcher.md new file mode 100644 index 0000000000..3f9db1a432 --- /dev/null +++ b/docs/content/en/docs/user-guide/image-watcher.md @@ -0,0 +1,9 @@ +--- +title: "Image watcher" +linkTitle: "Image watcher" +weight: 14 +description: > + Watching container image changes and automatically deploying the new images. +--- + +> TBA diff --git a/docs/content/en/docs/user-guide/manually-syncing-an-application.md b/docs/content/en/docs/user-guide/manually-syncing-an-application.md deleted file mode 100644 index 2f35e2399f..0000000000 --- a/docs/content/en/docs/user-guide/manually-syncing-an-application.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Manually Syncing an Application" -linkTitle: "Manually Syncing an Application" -weight: 6 -description: > - This page describes how to manually and forcely sync an application. ---- - -> TBA diff --git a/docs/content/en/docs/user-guide/rolling-back-a-deployment.md b/docs/content/en/docs/user-guide/rolling-back-a-deployment.md index 528687c1b9..d62eb91ad1 100644 --- a/docs/content/en/docs/user-guide/rolling-back-a-deployment.md +++ b/docs/content/en/docs/user-guide/rolling-back-a-deployment.md @@ -1,6 +1,6 @@ --- -title: "Rolling Back a Deployment" -linkTitle: "Rolling Back a Deployment" +title: "Rolling back a deployment" +linkTitle: "Rolling back a deployment" weight: 8 description: > Overview about deploying Kubernetes application. diff --git a/docs/content/en/docs/user-guide/triggering-a-deployment.md b/docs/content/en/docs/user-guide/triggering-a-deployment.md new file mode 100644 index 0000000000..4f684f006f --- /dev/null +++ b/docs/content/en/docs/user-guide/triggering-a-deployment.md @@ -0,0 +1,12 @@ +--- +title: "Triggering a deployment" +linkTitle: "Triggering a deployment" +weight: 6 +description: > + This page describes when a deployment is trigerred automatically and how to manually trigger a deployment. +--- + +> TBA + +- Automatically syncing by Git event. +- Manually syncing from Web UI. diff --git a/docs/static/images/application-details.png b/docs/static/images/application-details.png new file mode 100644 index 0000000000..b795f550ce Binary files /dev/null and b/docs/static/images/application-details.png differ diff --git a/docs/static/images/deployment-details.png b/docs/static/images/deployment-details.png new file mode 100644 index 0000000000..2ba383a52a Binary files /dev/null and b/docs/static/images/deployment-details.png differ diff --git a/docs/static/images/notification-slack-deployment-completed-successfully.png b/docs/static/images/notification-slack-deployment-completed-successfully.png new file mode 100644 index 0000000000..9e2891cd6b Binary files /dev/null and b/docs/static/images/notification-slack-deployment-completed-successfully.png differ diff --git a/docs/static/images/notification-slack-deployment-planned.png b/docs/static/images/notification-slack-deployment-planned.png new file mode 100644 index 0000000000..b432982bb2 Binary files /dev/null and b/docs/static/images/notification-slack-deployment-planned.png differ diff --git a/docs/static/images/notification-slack-piped-started.png b/docs/static/images/notification-slack-piped-started.png new file mode 100644 index 0000000000..531093270e Binary files /dev/null and b/docs/static/images/notification-slack-piped-started.png differ diff --git a/pkg/config/control_plane.go b/pkg/config/control_plane.go index a4e11c97d6..d1f799d75b 100644 --- a/pkg/config/control_plane.go +++ b/pkg/config/control_plane.go @@ -21,19 +21,19 @@ import ( ) type ControlPlaneSpec struct { + // The address to the API of PipeCD control plane. + APIURL string `json:"apiUrl"` + // The key to generate oauth state paramater. + StateKey string `json:"stateKey"` + // List of debugging/quickstart projects defined in Control Plane configuration. + // Please do not use this to configure the projects running the production mode. + Projects []ControlPlaneProject `json:"projects"` // The configuration of datastore for control plane. Datastore ControlPlaneDataStore `json:"datastore"` // The configuration of filestore for control plane. Filestore ControlPlaneFileStore `json:"filestore"` // The configuration of cache for control plane. Cache ControlPlaneCache `json:"cache"` - // List of debugging/quickstart projects defined in Control Plane configuration. - // Please do not use this to configure the projects running the production mode. - Projects []ControlPlaneProject `json:"projects"` - // The address to the API of PipeCD control plane. - APIURL string `json:"apiUrl"` - // The key to generate oauth state paramater. - StateKey string `json:"stateKey"` } func (s *ControlPlaneSpec) Validate() error {