Skip to content
Simple, local and docker-based Concourse setup
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.service-db.shrc
.service-s3.shrc
.service-vault.shrc
.service-web.shrc
.service-worker.shrc
README.md
manage.sh

README.md

Docker-based Concourse deployment

A very simple set of script to easily deploy a Concourse sandbox instance with Vault and S3 (Minio) integration.

Tool rely on Traefik to expose Web UIs through *.dev.localhost (see below for more details). All main ports are randomly exposed on Docker host. Use docker port <container> to get host port numbers.

Usage

Use ./manage.sh start script to create and initialize containers. --clear and --pull options can be used respectively to remove pre-existing data/container and update Docker image. A list of services can also be provided but all are started by default.

Note: All created Docker objects are tagged with label project=concourse to easily identify them.

start

Start requested services (all by default) and (re-)create and initialized all needed objects.

Note: create Docker custom network if it not already exist, but don't reinitiliazed it when --clear flag is used.

status

Print status of container of requested services (all by default).

clear

Try to remove all services (and associated data), then Docker custom network.

get-fly

Download Concourse CLI (fly) to provided path (./fly by default).

vault

Execute the provided vault command (inside Vault container).

help

Print a summary of available commands.

Docker objects

Network

concourse

Custom dedicated network to have embedded DNS to link containers (especially for worker Garden).

Volumes

concourse-vault-config

Configuration files for Vault server

concourse-vault-file

Data files generated by Vault server

concourse-vault-logs

Log files generated by Vault server

concourse-web-keys

SSH configuration used by TSA to register workers

concourse-worker-keys

SSH configuration used by worker to connect to TSA.

Containers

concourse-vault

Service: vault Network alias: vault.concourse.local Ports: 8200 Token: vault-root-token

Vault instance to store Concourse secrets at /concourse.

concourse-s3

Service: s3 Network alias: s3.concourse.local Ports: 9000 Access key: minio-access-key Secret key: minio-secret-key

S3 (Minio) instance to store files generated by pipelines into concourse bucket.

concourse-postgres

Service: db Network alias: db.concourse.local Ports: none Database: concourse User: concourse Password: changeme

PostgreSQL instance which serves as Concourse database to store pipelines, states and logs.

concourse

Service: web Network alias: web.concourse.local Ports: 80 Team: main User: admin Password: admin

Main Concourse component (ATC and TSA)

concourse-worker

Service: worker Network alias: worker.concourse.local Ports: none

Concourse Worker instance which will create containers that execute pipeline. Sometimes called agent in other CI/CD tools.

You can’t perform that action at this time.