Installation reference
Example Manifests
The following are example manifests that contain the basic required parameters necessary to spin up the circleci-server Helm installation.
AWS
The below is an example manifest of the necessary parameters for an installation of circleci-server in an AWS environment. Note that this installation uses IAM roles for service accounts (IRSA), which is recommended. Fields with base64 encoding are marked as such.
global:
domainName: "<full-domain-name-of-your-install>"
license: '<license>'
container:
registry: cciserver.azurecr.io
org:
apiToken: "<circleci-api-token>"
sessionCookieKey: "<session-cookie-key>"
keyset:
signing: '<generated-signing-key>'
encryption: '<generated-encryption-key>'
nomad:
server:
gossip:
encryption:
key: "<nomad-gossip-encryption-key>"
rpc:
mTLS:
enabled: true
CACertificate: "<nomad-mtls-base64-ca>"
certificate: "<nomad-mtls-base64-cert>"
privateKey: "<nomad-mtls-base64-key>"
object_storage:
bucketName: '<s3-bucket-name>'
s3:
enabled: true
endpoint: "<aws-region-url>" # ex: https://s3.us-east-1.amazonaws.com
region: "<aws-region>"
irsaRole: "<arn-of-irsa-role>"
github:
clientId: "<generated-github-client-id>"
clientSecret: "<generated-github-client-secret>"
vm_service:
providers:
ec2:
enabled: true
region: "<aws-region>"
subnets:
- "<subnet-id>"
securityGroupId: "<security-group-id>"
irsaRole: "<arn-of-irsa-role>"
mongodb:
auth:
rootPassword: "<mongodb-root-password>"
password: "<mongodb-password>"
postgresql:
auth:
postgresPassword: "<postgres-password>"
pusher:
secret: "<pusher-secret>"
rabbitmq:
auth:
password: "<rabbitmq-password>"
erlangCookie: "<rabbitmq-erlang-cookie>"
GCP
The below is an example manifest of the necessary parameters for an installation of circleci-server in a GCP environment. Note that this installation uses Workload Identity, which is recommended. Fields with base64 encoding are marked as such.
global:
domainName: "<full-domain-name-of-your-install>"
license: '<license-for-circleci-server>'
container:
registry: cciserver.azurecr.io
org:
apiToken: "<circleci-api-token>"
sessionCookieKey: "<session-cookie-key>"
keyset:
signing: '<generated-signing-key>'
encryption: '<generated-encryption-key>'
github:
clientId: "<generated-github-client-id>"
clientSecret: "<generated-github-client-secret>"
object_storage:
bucketName: "<gcs-bucket-name>"
gcs:
enabled: true
workloadIdentity: "<service-account-email-with-gcs-access>"
mongodb:
auth:
rootPassword: "<mongodb-root-password>"
password: "<mongodb-password>"
vm_service:
providers:
gcp:
enabled: true
project_id: <gcp-project-id>
network_tags:
- <network-tag>
zone: <gcp-zone>
network: "<gcp-network>"
subnetwork: "" # leave blank for auto-subnetting
workloadIdentity: "<service-account-email-with-compute-access>"
pusher:
secret: "<pusher-secret>"
postgresql:
auth:
postgresPassword: "<postgres-password>"
rabbitmq:
auth:
password: "<rabbitmq-password>"
erlangCookie: "<rabbitmq-erlang-cookie>"
nomad:
server:
gossip:
encryption:
key: "<nomad-gossip-encryption-key>"
rpc:
mTLS:
enabled: true
CACertificate: "<nomad-mtls-base64-ca>"
certificate: "<nomad-mtls-base64-cert>"
privateKey: "<nomad-mtls-base64-key>"
All Helm values.yaml
options
Key | Type | Default | Description |
---|---|---|---|
| string |
| API token: Option 1: Set the value here and CircleCI will create the secret automatically. Option 2: Leave this blank, and create the secret yourself. CircleCI will assume it exists. |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the distributor-cleaner deployment. |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| int |
| Number of replicas to deploy for the |
| object | | VCS Configuration details (currently limited to GitHub Enterprise and GitHub). |
| string |
| Client ID for OAuth Login via Github: Option 1: Set the value here and CircleCI will create the Kubernetes Secret automatically. Option 2: Leave this blank, and create the Kubernetes Secret yourself. CircleCI will assume it exists. Create one by Navigating to Settings > Developer Settings > OAuth Apps. Your homepage should be set to |
| string |
| Client Secret for OAuth Login via Github: Option 1: Set the value here and CircleCI will create the Kubernetes Secret automatically. Option 2: Leave this blank, and create the secret yourself. CircleCI will assume it exists. Retrieved from the same location as specified in |
| string |
| Option 1: Set the value here and CircleCI will create the Kubernetes Secret automatically. Option 2: Leave this blank, and create the secret yourself. CircleCI will assume it exists. |
| bool |
| Set to |
| string |
| Required when it is not possible to directly |
| string |
| GitHub hostname. Ignored on GitHub.com. This is the hostname of your GitHub Enterprise installation. |
| string |
| One of 'http' or 'https'. Ignored on GitHub.com. Set to 'http' if your GitHub Enterprise installation is not using TLS. |
| bool |
| set to 'true' if GitHub is using a self-signed certificate. |
| bool |
| Disable SSL Verification in webhooks. This is not safe and should not be done in a production scenario. This is required if your GitHub installation does not trust the certificate authority that signed your CircleCI server certificates (for example, if they were self signed). |
| string |
| The registry organization to pull all images from, defaults to circleci. |
| string |
| The registry to pull all images from, defaults to dockerhub. |
| string |
| Domain name of your CircleCI installation. |
| string |
| |
| string |
| License for your CircleCI installation. |
| string |
| Scheme for your CircleCI installation. |
| string |
| |
| bool |
| |
| float |
| |
| int |
| Defaults to 3AM local server time. |
| int |
| Defaults to 35 minutes past the hour. |
| bool |
| Whether or not to enable the insights-service deployment. |
| int |
| Number of replicas to deploy for the insights-service deployment. |
| string |
| |
| object |
| Keysets used to encrypt and sign artifacts generated by CircleCI. You need these values to configure server. Option 1: Set the values Option 2: Leave this blank, and create the secret yourself. CircleCI will assume it exists. The secret must be named 'signing-keys' and have the keys: |
| string |
| Encryption Key. To generate an artifact ENCRYPTION key, run: |
| string |
| Signing Key. To generate an artifact SIGNING key, run: |
| string |
| |
| bool |
| This setting will fetch and renew Let’s Encrypt certs for you. It defaults to |
| string |
| Debug level for Kong. Available levels: |
| int |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| int |
| Number of replicas to deploy for the legacy-notifier deployment. |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| MongoDB host. This can be a comma-separated list of multiple hosts for shared instances. |
| string |
| |
| bool |
| Set to false if you want to use an externalized MongoDB instance. |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| bool |
| |
| bool |
| If using an SSL connection with custom CA or self-signed certs, set this to true. |
| bool |
| |
| string |
| |
| string |
| Use "nlb" for Network Load Balancer and "clb" for Classic Load Balancer see this AWS page for a feature comparison. |
| bool |
| ⚠️ WARNING: Enabling this will recreate frontend’s service which will recreate the load balancer. If you are updating your deployed settings, then you will need to route your frontend domain to the new loadbalancer. You will also need to add |
| string |
| Load Balancer IP To use a static IP for the provisioned load balancer with GCP, set to a reserved static IPv4 address. |
| bool |
| |
| int |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| AWS Authentication Config. Option 1: Set accessKey and secretKey here, and CircleCI will create the secret for you. Option 2: Leave accessKey and secretKey blank, and create the secret yourself. CircleCI will assume it exists. Option 3: Leave accessKey and secretKey blank, and set the irsaRole field (IAM roles for service accounts). |
| string |
| |
| bool |
| |
| string |
| |
| string |
| |
| string |
| |
| bool |
| |
| bool |
| |
| string |
| |
| string |
| |
| string |
| |
| object |
| GCP Authentication Config. Option 1: Set service_account with the service account JSON (raw JSON, not a string), and CircleCI will create the secret for you. Option 2: Leave the service_account field as its default, and create the secret yourself. CircleCI will assume it exists. Option 3: Leave the service_account field as its default, and set the workloadIdentity field with a service account email to use workload identities. |
| string |
| |
| string |
| |
| int |
| |
| int |
| |
| string |
| |
| string |
| |
| object |
| |
| bool |
| |
| string |
| |
| int |
| |
| object |
| mTLS is strongly suggested for RPC communication. It encrypts traffic but also authenticates clients to ensure no unauthenticated clients can join the cluster as workers. Base64 encoded PEM encoded certificates are expected here. |
| string |
| base64 encoded nomad mTLS certificate authority. |
| string |
| base64 encoded nomad mTLS certificate. |
| string |
| base64 encoded nomad mTLS private key. |
| bool |
| |
| object | | Object storage for build artifacts, audit logs, test results and more. One of |
| int |
| number of days after which artifacts will expire. |
| object |
| GCP Storage (GCS) authentication config. Option 1: Set service_account with the service account JSON (raw JSON, not a string), and CircleCI will create the secret for you. Option 2: Leave the service_account field as its default, and create the secret yourself. CircleCI will assume it exists. Option 3: Leave the |
| object |
| S3 Configuration for Object Storage. Authentication methods: AWS Access/Secret Key, and IRSA Role. |
| string |
| AWS Authentication Config. Option 1: Set accessKey and secretKey here, and CircleCI will create the secret for you. Option 2: Leave accessKey and secretKey blank, and create the secret yourself. CircleCI will assume it exists. Option 3: Leave accessKey and secretKey blank, set the irsaRole field (IAM roles for service accounts), and set region: |
| string |
| API endpoint for S3. If in AWS |
| int |
| Number of replicas to deploy for the orb-service deployment. |
| int |
| Number of replicas to deploy for the output-processor deployment. |
| int |
| Number of replicas to deploy for the permissions-service deployment. |
| string |
| |
| string |
| |
| string |
| Password for the "postgres" admin user. Ignored if |
| string |
| |
| string |
| |
| string |
| |
| bool |
| |
| string |
| |
| string |
| |
| string |
| |
| int |
| |
| string |
| |
| string |
| |
| bool |
| Enable TLS traffic support |
| bool |
| Generate self-signed TLS certificates automatically |
| bool |
| Enable TLS traffic support |
| bool |
| Certificate filename used in your |
| bool |
| Certificate key filename used in your |
| bool |
| CA Certificate filename used in your |
| bool |
| |
| bool |
| |
| string |
| |
| string |
| |
| string |
| |
| bool |
| |
| string |
| |
| string |
| |
| bool |
| |
| bool |
| If false, all proxy settings are ignored. |
| object |
| Proxy for HTTP requests. |
| object |
| Proxy for HTTPS requests. |
| list |
| List of hostnames, IP CIDR blocks exempt from proxying. Loopback and intra-service traffic is never proxied. |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| int |
| |
| string |
| |
| string |
| |
| bool |
| |
| int |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| bool |
| |
| int |
| Number of replicas to deploy for the schedulerer deployment. |
| bool |
| ⚠️ WARNING: Changing this to true will serve HTML artifacts instead of downloading them. This can allow specially-crafted artifacts to gain control of users' CircleCI accounts. |
| string |
| Session Cookie Key. NOTE: Must be exactly 16 bytes. Option 1: Set the value here and CircleCI will create the secret automatically. Option 2: Leave this blank, and create the secret yourself. CircleCI will assume it exists. |
| object |
| Email notification settings. |
| int |
| Outbound connections on port 25 are blocked on most cloud providers. Should you select this default port, be aware that your notifications may fail to send. |
| bool |
| StartTLS is used to encrypt mail by default. Only disable this if you can otherwise guarantee the confidentiality of traffic. |
| int |
| Number of replicas to deploy for the soketi deployment. |
| string |
| |
| string |
| |
| string |
| |
| bool |
| |
| bool |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| string |
| |
| bool |
| |
| bool |
| |
| bool |
| |
| string |
| |
| string |
| |
| int |
| Number of replicas to deploy for the test-results-service deployment. |
| bool |
| When enabled, Tink will be used instead of Vault for contexts encryption. |
| string |
| The keyset generated the Tink CLI to be used for contexts encryption |
| string |
| base64 encoded certificate, leave empty to use self-signed certificates. |
| string |
| base64 encoded private key, leave empty to use self-signed certificates. |
| object |
| External Services configuration. |
| bool |
| Disables this charts Internal Vault instance. |
| string |
| This token is required when |
| string |
| When |
| int |
| Number of replicas to deploy for the vm-gc deployment. |
| list |
| Configuration options for, and numbers of, prescaled instances. |
| int |
| Number of replicas to deploy for the vm-scaler deployment. |
| int |
| Number of days to keep DLC volumes before pruning them. |
| bool |
| |
| object |
| Provider configuration for the VM service. |
| string |
| EC2 Authentication Config. Option 1: Set accessKey and secretKey here, and CircleCI will create the secret for you. Option 2: Leave accessKey and secretKey blank, and create the secret yourself. CircleCI will assume it exists. Option 3: Leave accessKey and secretKey blank, and set the irsaRole field (IAM roles for service accounts). |
| bool |
| Set to enable EC2 as a virtual machine provider. |
| list |
| Subnets must be in the same availability zone. |
| bool |
| Set to enable GCP Compute as a VM provider. |
| object |
| GCP Compute Authentication Config. Option 1: Set service_account with the service account JSON (raw JSON, not a string), and CircleCI will create the secret for you. Option 2: Leave the service_account field as its default, and create the secret yourself. CircleCI will assume it exists. Option 3: Leave the |
| int |
| Number of replicas to deploy for the vm-service deployment. |
| int |
| Number of replicas to deploy for the web-ui deployment. |
| int |
| Number of replicas to deploy for the web-ui-404 deployment. |
| int |
| Number of replicas to deploy for the web-ui-insights deployment. |
| int |
| Number of replicas to deploy for the web-ui-onboarding deployment. |
| int |
| Number of replicas to deploy for the web-ui-org-settings deployment. |
| int |
| Number of replicas to deploy for the web-ui-project-settings deployment. |
| int |
| Number of replicas to deploy for the web-ui-server-admin deployment. |
| int |
| Number of replicas to deploy for the web-ui-user-settings deployment. |
| bool |
| |
| int |
| Number of replicas to deploy for the webhook-service deployment. |
| int |
| Number of replicas to deploy for the workflows-conductor-event-consumer deployment. |
| int |
| Number of replicas to deploy for the workflows-conductor-grpc deployment. |
Help make this document better
This guide, as well as the rest of our docs, are open source and available on GitHub. We welcome your contributions.
- Suggest an edit to this page (please read the contributing guide first).
- To report a problem in the documentation, or to submit feedback and comments, please open an issue on GitHub.
- CircleCI is always seeking ways to improve your experience with our platform. If you would like to share feedback, please join our research community.
Need support?
Our support engineers are available to help with service issues, billing, or account related questions, and can help troubleshoot build configurations. Contact our support engineers by opening a ticket.
You can also visit our support site to find support articles, community forums, and training resources.
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.