The Concourse Genesis Kit deploys a Concourse CI/CD system. It supports full Concourses, which contain all of the components (web, database, and workers), as well as workers-only Concourses, for remote satellite sites.
This manual serves as an overview of the kit functionality with links to more detailed documentation.
- Quick Reference
- Deployment Types
- Feature Flags
- Authentication Options
- Integration Options
- Advanced Configuration
- Available Addons
- Detailed Documentation
- Example Deployments
| Parameter | Description | Default |
|---|---|---|
external_domain |
FQDN for Concourse web UI | Required for full deployments |
workers |
Number of worker VMs to deploy | 3 |
container_runtime |
Container backend (containerd, guardian, houdini) |
containerd |
stemcell_os |
The OS to deploy Concourse on | ubuntu-bionic |
tsa_host_env |
Target environment for worker-only deployments | Required for workers-only |
For a complete list of parameters, see the Parameters Reference.
The Concourse Genesis Kit supports three primary deployment types:
-
Full Deployment: All components (web UI, API, database, and workers)
- Enable with the
fullfeature flag - Requires
external_domainparameter
- Enable with the
-
Small Footprint: Reduced resource requirements (web/DB combined)
- Enable with the
small-footprintfeature flag - Still requires
external_domainparameter
- Enable with the
-
Workers-Only: Remote workers that connect to a separate Concourse
- Enable with the
workersfeature flag - Requires
tsa_host_envparameter
- Enable with the
For details, see the Deployment Types Documentation.
| Feature Flag | Description |
|---|---|
full |
Deploy a complete Concourse system |
small-footprint |
Deploy a smaller Concourse with web/DB on one VM |
workers |
Deploy only worker nodes for a remote Concourse |
| Feature Flag | Description |
|---|---|
github-oauth |
Enable GitHub OAuth authentication |
github-enterprise-oauth |
Enable GitHub Enterprise OAuth authentication |
cf-oauth |
Enable Cloud Foundry UAA OAuth authentication |
okta |
Enable SAML authentication via Okta |
| Feature Flag | Description |
|---|---|
self-signed-cert |
Generate and use a self-signed TLS certificate |
provided-cert |
Use a provided TLS certificate |
no-tls |
Don't use TLS (not recommended for production) |
| Feature Flag | Description |
|---|---|
vault |
Enable Vault integration for pipeline secrets |
vault-approle |
Use Vault AppRole instead of tokens |
prometheus |
Enable Prometheus metrics endpoint |
external-db |
Use an external PostgreSQL database |
ocfp |
Deploy as part of an OCFP architecture |
For a complete list of feature flags, see the Features Reference.
The Concourse Genesis Kit supports multiple authentication methods:
-
Basic Authentication (default)
- Simple username/password for the
mainteam - Password stored in Vault at
secret/$env/concourse/webui
- Simple username/password for the
-
GitHub OAuth
- Enable with
github-oauthfeature - Set
authz_allowed_orgsorgithub_authzparameters
- Enable with
-
CF OAuth
- Enable with
cf-oauthfeature - Set
cf_api_uriandcf_spacesparameters
- Enable with
-
SAML/Okta
- Enable with
oktafeature - Configure via Vault settings
- Enable with
For details, see the Authentication Documentation.
Enable Vault integration for pipeline secrets:
features:
- vaultFor details, see the Vault Integration Documentation.
Enable Prometheus metrics:
features:
- prometheusFor details, see the Prometheus Integration Documentation.
Use an external PostgreSQL database:
features:
- external-db
params:
external_db_host: postgres.example.comFor details, see the External Database Documentation.
Concourse uses a team-based security model. The main team is configured through the deployment manifest, while other teams are managed using the fly CLI.
For details, see the Team Management Documentation.
Configure the container runtime used by worker nodes:
params:
container_runtime: containerd # Options: containerd, guardian, houdiniFor details, see the Container Runtime Documentation.
Deploy Concourse as part of an OCFP architecture:
features:
- ocfpFor details, see the OCFP Documentation.
The Concourse Genesis Kit provides several helpful addons:
visit- Opens the Concourse web UI in your browserdownload-fly- Downloads the matchingflyCLIlogin- Authenticates yourflyCLIlogout- Logs out from Concoursefly- Runs fly commands against your Concoursesetup-approle- Configures Vault AppRole for Concourse
Example usage:
genesis do my-env -- login
genesis do my-env -- fly pipelinesFor details, see the Addons Documentation.
For more detailed documentation, see:
- Parameters Reference
- Features Reference
- Authentication Methods
- Integrations
- IaaS-Specific Guides
- Troubleshooting Guide
- Upgrade Guide
---
kit:
name: concourse
version: 3.13.0
features:
- full
- self-signed-cert
params:
env: prod
external_domain: concourse.example.com
workers: 3---
kit:
name: concourse
version: 3.13.0
features:
- small-footprint
- self-signed-cert
- github-oauth
params:
env: dev
external_domain: concourse-dev.example.com
authz_allowed_orgs: my-github-org---
kit:
name: concourse
version: 3.13.0
features:
- workers
params:
env: workers
tsa_host_env: prod
workers: 5
tags: [remote, high-cpu]For more examples, see the Example Deployments.