Hello, this is the CAPI team's CI repo. It houses Concourse configuration settings for our CI environments.
Check it out! https://concourse.app-runtime-interfaces.ci.cloudfoundry.org/teams/capi-team/pipelines/capi
馃搶 This repository has gone through a complete overhaul. The old artifacts can still be found on the legacy branch.
See pipeline.yml for more details.
________________________________________________________________________
/ \ \
| | Elsa: biggest and most "real" environment |
\_ | 路 Long-lived |
| 路 HA / Multi-AZ |
| 路 Windows cell |
| 路 Encrypted database |
| 路 Clustered database |
| 路 Runtime CredHub (assisted mode) |
| 路 Database: MySQL |
| 路 Platform: GCP |
| 路 Blobstore: GCP blobstore |
| |
| Kiki: used for testing that db migrations are backwards compatible |
| 路 Short-lived |
| 路 Database: PostgreSQL |
| 路 Platform: GCP |
| 路 Blobstore: WebDAV |
| |
| Asha: used for testing CATS and CAPI-BARA tests on MySQL |
| 路 Short-lived |
| 路 Database: MySQL |
| 路 Platform: GCP |
| 路 Blobstore: WebDAV |
| |
| Olaf: used for running CATS and CAPI-BARA tests on AWS with MySQL |
| 路 Short-lived |
| 路 Database: MySQL |
| 路 Platform: AWS |
| 路 Blobstore: S3 |
| |
| Scar: used for testing CATS and CAPI-BARA tests on PostgreSQL |
| 路 Short-lived |
| 路 Database: PostgreSQL |
| 路 Platform: GCP |
| 路 Blobstore: WebDAV |
| ___________________________________________________________________|___
| / /
\_/______________________________________________________________________/
Kiki starts with an older version of cf-deployment. It then runs the new migrations, but keeps the old Cloud Controller code. This catches any backwards-incompatible migrations. This is important because Cloud Controller instances do rolling upgrades. For example: if you write a migration that drops a table, old CC instances that depend on that table existing will crash during the rolling deploy.
This pipeline is responsible for testing, building, and releasing capi-release.
This is where the majority of testing for capi-release components live.
- Runs unit tests for Cloud Controller and bridge components
- Builds capi-release release candidates and deploys to Elsa, Kiki, Asha, Olaf, and Scar
- Runs appropriate integration tests for each environment
- Bumps the
ci-passed
branch of capi-release - Updates release candidate in v3 docs every time
ci-passed
branch is updated.
Automatically bumps golang version for capi-release components every time a new golang-release is available. Also bumps Redis.
Jobs responsible for cutting a capi-release.
- Bump API versions
- Update API docs
- Release capi-release
Updates the bosh deployments for all the pipeline environments (using bbl up
).
Theoretically useful for destroying broken bosh deployments for all the pipeline environments. Often doesn't work because the directors are in such bad state. There are also jobs to manually release pool resources for the following environments: Elsa, Asha, and Scar.
Pipeline responsible for managing the development bosh-lite pool.
- Create new bosh-lites if there is room in the pool
- Delete released bosh-lites
There are a number of helpful scripts in capi-workspace for using the bosh-lite pool. Most notably, claim_bosh_lite
, unclaim_bosh_lite
, and print_env_info
. See the commands list for a full list of useful commands for interacting with the pool.