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