Configuration reference
This page describes all configurable fields in the Control Plane configuration.
apiVersion: pipecd.dev/v1beta1
kind: ControlPlane
spec:
address: https://your-pipecd-address
...
Control Plane Configuration
| Field |
Type |
Description |
Required |
| stateKey |
string |
A randomly generated string used to sign oauth state. |
Yes |
| datastore |
DataStore |
Storage for storing application, deployment data. |
Yes |
| filestore |
FileStore |
File storage for storing deployment logs and application states. |
Yes |
| cache |
Cache |
Internal cache configuration. |
No |
| address |
string |
The address to the control plane. This is required if SSO is enabled. |
No |
| insightCollector |
InsightCollector |
Option to run collector of Insights feature. |
No |
| sharedSSOConfigs |
[]SharedSSOConfig |
List of shared SSO configurations that can be used by any projects. |
No |
| projects |
[]Project |
List of debugging/quickstart projects. Please note that do not use this to configure the projects running in the production. |
No |
DataStore
| Field |
Type |
Description |
Required |
| type |
string |
Which type of data store should be used. Can be one of the following values
FIRESTORE, MYSQL. |
Yes |
| config |
DataStoreConfig |
Specific configuration for the datastore type. This must be one of these DataStoreConfig. |
Yes |
DataStoreConfig
Must be one of the following objects:
DataStoreFireStoreConfig
| Field |
Type |
Description |
Required |
| namespace |
string |
The root path element considered as a logical namespace, e.g. pipecd. |
Yes |
| environment |
string |
The second path element considered as a logical environment, e.g. dev. All pipecd collections will have path formatted according to {namespace}/{environment}/{collection-name}. |
Yes |
| collectionNamePrefix |
string |
The prefix for collection name. This can be used to avoid conflicts with existing collections in your Firestore database. |
No |
| project |
string |
The name of GCP project hosting the Firestore. |
Yes |
| credentialsFile |
string |
The path to the service account file for accessing Firestores. |
No |
DataStoreMySQLConfig
| Field |
Type |
Description |
Required |
| url |
string |
The address to MySQL server. Should attach with the database port info as 127.0.0.1:3307 in case you want to use another port than the default value. |
Yes |
| database |
string |
The name of database. |
No (If you set it via URL) |
| usernameFile |
string |
Path to the file containing the username. |
No |
| passwordFile |
string |
Path to the file containing the password. |
No |
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 |
| config |
FileStoreConfig |
Specific configuration for the filestore type. This must be one of these FileStoreConfig. |
Yes |
FileStoreConfig
Must be one of the following objects:
FileStoreGCSConfig
| Field |
Type |
Description |
Required |
| bucket |
string |
The bucket name. |
Yes |
| credentialsFile |
string |
The path to the service account file for accessing GCS. |
No |
FileStoreS3Config
| Field |
Type |
Description |
Required |
| bucket |
string |
The AWS S3 bucket name. |
Yes |
| region |
string |
The AWS region name. |
Yes |
| profile |
string |
The AWS profile name. Default value is default. |
No |
| credentialsFile |
string |
The path to AWS credential file. Requires only if you want to auth by specified credential file, by default PipeCD will use $HOME/.aws/credentials file. |
No |
| roleARN |
string |
The IAM role arn to use when assuming an role. Requires only if you want to auth by WebIdentity pattern. |
No |
| tokenFile |
string |
The path to the WebIdentity token PipeCD should use to assume a role with. Requires only if you want to auth by WebIdentity pattern. |
No |
FileStoreMinioConfig
| Field |
Type |
Description |
Required |
| endpoint |
string |
The address of Minio. |
Yes |
| bucket |
string |
The bucket name. |
Yes |
| accessKeyFile |
string |
The path to the access key file. |
No |
| secretKeyFile |
string |
The path to the secret key file. |
No |
| autoCreateBucket |
bool |
Whether the given bucket should be made automatically if not exists. |
No |
Cache
| Field |
Type |
Description |
Required |
| ttl |
duration |
The time that in-memory cache items are stored before they are considered as stale. |
Yes |
Project
| Field |
Type |
Description |
Required |
| id |
string |
The unique identifier of the project. |
Yes |
| desc |
string |
The description about the project. |
No |
| staticAdmin |
ProjectStaticUser |
Static admin account of the project. |
Yes |
ProjectStaticUser
| Field |
Type |
Description |
Required |
| username |
string |
The username string. |
Yes |
| passwordHash |
string |
The bcrypt hashed value of the password string. |
Yes |
InsightCollector
InsightCollectorApplication
| Field |
Type |
Description |
Required |
| enabled |
bool |
Whether to enable. Default is true |
No |
| schedule |
string |
When collector will be executed. Default is 0 * * * * |
No |
InsightCollectorDeployment
| Field |
Type |
Description |
Required |
| enabled |
bool |
Whether to enable. Default is true |
No |
| schedule |
string |
When collector will be executed. Default is 30 * * * * |
No |
| chunkMaxCount |
int |
The maximum number of deployment items could be stored in a chunk. Default is 1000 |
No |
SharedSSOConfig
| Field |
Type |
Description |
Required |
| name |
string |
The unique name of the configuration. |
Yes |
| provider |
string |
The SSO service provider. Currently, only GITHUB and OIDC is supported. |
Yes |
| sessionTtl |
int |
The time to live of session for SSO login. Unit is hour. Default is 7 * 24 hours. |
No |
| github |
SSOConfigGitHub |
GitHub sso configuration. |
No |
| oidc |
SSOConfigOIDC |
OIDC sso configuration. |
No |
SSOConfigGitHub
| Field |
Type |
Description |
Required |
| clientId |
string |
The client id string of GitHub oauth app. |
Yes |
| clientSecret |
string |
The client secret string of GitHub oauth app. |
Yes |
| baseUrl |
string |
The address of GitHub service. Required if enterprise. |
No |
| uploadUrl |
string |
The upload url of GitHub service. |
No |
| proxyUrl |
string |
The address of the proxy used while communicating with the GitHub service. |
No |
SSOConfigOIDC
| Field |
Type |
Description |
Required |
| clientId |
string |
The client id string of OpenID Connect oauth app. |
Yes |
| clientSecret |
string |
The client secret string of OpenID Connect oauth app. |
Yes |
| issuer |
string |
The address of OpenID Connect service. |
Yes |
| redirectUri |
string |
The address of the redirect URI. |
Yes |
| authorizationEndpoint |
string |
The address of the authorization endpoint. |
No |
| tokenEndpoint |
string |
The address of the token endpoint. |
No |
| userInfoEndpoint |
string |
The address of the user info endpoint. |
No |
| proxyUrl |
string |
The address of the proxy used while communicating with the OpenID Connect service. |
No |
| scopes |
[]string |
Scopes to request from the OpenID Connect service. Default is openid. Some providers may require other scopes. |
No |