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

FieldTypeDescriptionRequired
stateKeystringA randomly generated string used to sign oauth state.Yes
datastoreDataStoreStorage for storing application, deployment data.Yes
filestoreFileStoreFile storage for storing deployment logs and application states.Yes
cacheCacheInternal cache configuration.No
addressstringThe address to the control plane. This is required if SSO is enabled.No
sharedSSOConfigs[]SharedSSOConfigList of shared SSO configurations that can be used by any projects.No
projects[]ProjectList of debugging/quickstart projects. Please note that do not use this to configure the projects running in the production.No

DataStore

FieldTypeDescriptionRequired
typestringWhich type of data store should be used. Can be one of the following values
FIRESTORE, MYSQL.
Yes
configDataStoreConfigSpecific configuration for the datastore type. This must be one of these DataStoreConfig.Yes

DataStoreConfig

Must be one of the following objects:

DataStoreFireStoreConfig

FieldTypeDescriptionRequired
namespacestringThe root path element considered as a logical namespace, e.g. pipecd.Yes
environmentstringThe 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
collectionNamePrefixstringThe prefix for collection name. This can be used to avoid conflicts with existing collections in your Firestore database.No
projectstringThe name of GCP project hosting the Firestore.Yes
credentialsFilestringThe path to the service account file for accessing Firestores.No

DataStoreMySQLConfig

FieldTypeDescriptionRequired
urlstringThe 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
databasestringThe name of database.Yes
usernameFilestringPath to the file containing the username.No
passwordFilestringPath to the file containing the password.No

FileStore

FieldTypeDescriptionRequired
typestringWhich type of file store should be used. Can be one of the following values
GCS, S3, MINIO
Yes
configFileStoreConfigSpecific configuration for the filestore type. This must be one of these FileStoreConfig.Yes

FileStoreConfig

Must be one of the following objects:

FileStoreGCSConfig

FieldTypeDescriptionRequired
bucketstringThe bucket name.Yes
credentialsFilestringThe path to the service account file for accessing GCS.No

FileStoreS3Config

FieldTypeDescriptionRequired
bucketstringThe AWS S3 bucket name.Yes
regionstringThe AWS region name.Yes
profilestringThe AWS profile name. Default value is default.No
credentialsFilestringThe 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
roleARNstringThe IAM role arn to use when assuming an role. Requires only if you want to auth by WebIdentity pattern.No
tokenFilestringThe 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

FieldTypeDescriptionRequired
endpointstringThe address of Minio.Yes
bucketstringThe bucket name.Yes
accessKeyFilestringThe path to the access key file.No
secretKeyFilestringThe path to the secret key file.No
autoCreateBucketboolWhether the given bucket should be made automatically if not exists.No

Cache

FieldTypeDescriptionRequired
ttldurationThe time that in-memory cache items are stored before they are considered as stale.Yes

Project

FieldTypeDescriptionRequired
idstringThe unique identifier of the project.Yes
descstringThe description about the project.No
staticAdminProjectStaticUserStatic admin account of the project.Yes

ProjectStaticUser

FieldTypeDescriptionRequired
usernamestringThe username string.Yes
passwordHashstringThe bcrypt hashed value of the password string.Yes

SharedSSOConfig

FieldTypeDescriptionRequired
namestringThe unique name of the configuration.Yes
providerstringThe SSO service provider. Currently, only GITHUB is supported.Yes
githubSSOConfigGitHubGitHub sso configuration.No

SSOConfigGitHub

FieldTypeDescriptionRequired
clientIdstringThe client id string of GitHub oauth app.Yes
clientSecretstringThe client secret string of GitHub oauth app.Yes
baseUrlstringThe address of GitHub service. Required if enterprise.No
uploadUrlstringThe upload url of GitHub service.No
proxyUrlstringThe address of the proxy used while communicating with the GitHub service.No