MCPcopy
hub / github.com/concourse/concourse

github.com/concourse/concourse @v8.2.4 sqlite

repository ↗ · DeepWiki ↗ · release v8.2.4 ↗
16,879 symbols 59,201 edges 1,825 files 822 documented · 5%
README

Concourse: the continuous thing-doer

Discord Unit Tests Contributors Help Wanted

Concourse is an automation system written in Go. It is most commonly used for CI/CD, and is built to scale to any kind of automation pipeline, from simple to complex.

registry-image pipeline

Concourse is very opinionated about a few things: idempotency, immutability, declarative config, stateless workers, and reproducible builds.

Installation

Concourse is distributed as a single concourse binary, available on the Releases page.

If you want to just kick the tires, jump ahead to the Quick Start.

In addition to the concourse binary, there are a few other supported formats. Consult their GitHub repos for more information:

Quick Start

$ wget https://concourse-ci.org/docker-compose.yml
$ docker-compose up -d
Creating docs_concourse-db_1 ... done
Creating docs_concourse_1    ... done

Concourse will be running at http://localhost:8080. You can log in with the username/password as test/test.

Next, install fly by downloading it from the web UI at http://localhost:8080/download-fly and target your local Concourse as the test user:

$ fly -t ci login -c http://localhost:8080 -u test -p test
logging in to team 'main'

target saved

You can follow our Getting Started Tutorial to learn how to write Concourse pipelines.

Configuring a Pipeline

Concourse has no GUI for configuration. Instead, pipelines are defined in declarative YAML files:

resources:
- name: examples
  type: git
  source:
    uri: https://github.com/concourse/examples

jobs:
- name: hello-world
  plan:
  - get: examples
    trigger: true
  - task: hello
    file: examples/tasks/hello-world.yml

Most operations are done via the accompanying fly CLI. If you've got Concourse installed, try saving the above example as hello-world.yml, target your Concourse instance, and then run:

fly -t ci set-pipeline -p hello-world -c hello-world.yml

These pipeline files are self-contained, making them easily portable between Concourse instances.

Learn More

Contributing

Our user base is basically everyone that develops software (and wants it to work).

It's a lot of work, and we need your help! If you're interested, check out our contributing docs.

Extension points exported contracts — how you extend this code

Killer (Interface)
counterfeiter:generate . Killer Killer terminates tasks. [6 implementers]
worker/runtime/killer.go
Variables (Interface)
go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate counterfeiter:generate . Variables [9 implementers]
vars/variables.go
Event (Interface)
Event represents an event emitted by a build. They are interpreted as a stream to render the build's output. [59 implementers]
atc/event.go
StepConfig (Interface)
StepConfig is implemented by all step types. [17 implementers]
atc/steps.go
BuildPlanner (Interface)
counterfeiter:generate . BuildPlanner [18 implementers]
atc/scheduler/buildstarter.go
Agent (Interface)
counterfeiter:generate . Agent Agent should be implemented by policy agents. [9 implementers]
atc/policy/checker.go
Drainable (Interface)
Drainable is an optional interface which component runners can implement in order to perform something on shutdown. [7 …
atc/component/drainable.go
RateLimiter (Interface)
counterfeiter:generate . RateLimiter [18 implementers]
atc/engine/check_delegate.go

Core symbols most depended-on inside this repo

Unlock
called by 5203
worker/baggageclaim/volume/locker.go
Lock
called by 5202
worker/baggageclaim/volume/locker.go
Error
called by 1095
atc/api/containerserver/hijack.go
ID
called by 1026
atc/db/job.go
Name
called by 680
atc/db/job.go
Start
called by 583
atc/db/build.go
Run
called by 557
atc/exec/step.go
WriteHeader
called by 545
atc/api/auth/web_auth_handler.go

Shape

Method 12,457
Function 2,468
Struct 1,495
Interface 247
TypeAlias 148
Class 42
FuncType 22

Languages

Go93%
TypeScript7%

Modules by API surface

web/public/d3.v7.min.js839 symbols
atc/db/dbfakes/fake_build.go368 symbols
go-concourse/concourse/concoursefakes/fake_team.go357 symbols
web/public/graphviz.min.js289 symbols
atc/db/dbfakes/fake_pipeline.go282 symbols
atc/db/dbfakes/fake_job.go263 symbols
atc/db/dbfakes/fake_resource.go246 symbols
atc/db/dbfakes/fake_team.go185 symbols
atc/db/dbfakes/fake_build_for_api.go185 symbols
go-concourse/concourse/concoursefakes/fake_client.go170 symbols
atc/db/build.go159 symbols
atc/worker/gardenruntime/gclient/connection/connectionfakes/fake_connection.go157 symbols

Dependencies from manifests, versioned

charm.land/bubbles/v2v2.1.0 · 1×
charm.land/bubbletea/v2v2.0.6 · 1×
charm.land/lipgloss/v2v2.0.3 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/loggingv1.13.1 · 1×
cloud.google.com/go/longrunningv0.7.0 · 1×
cloud.google.com/go/monitoringv1.24.3 · 1×
cloud.google.com/go/tracev1.15.0 · 1×
code.cloudfoundry.org/clockv1.68.0 · 1×
code.cloudfoundry.org/credhub-cliv0.0.0-2026042713013 · 1×

Datastores touched

atcDatabase · 1 repos

For agents

$ claude mcp add concourse \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact