Skip to content

concourse-operator

Manage Concourse CI resources declaratively from Kubernetes.

concourse-operator is a Kubernetes operator that brings the full Concourse CI lifecycle under GitOps control. Instead of clicking through the Concourse UI or running fly commands, you declare your pipelines, teams, and workers as Kubernetes custom resources — and the operator keeps Concourse in sync.

  • 7 Custom Resource Definitions

    Cover every layer of Concourse: instances, teams, pipelines, jobs, builds, resources, and workers.

  • Config drift detection

    Pipeline configurations are SHA-256 hashed. The operator only calls the Concourse API when content changes.

  • Thread-safe client cache

    Authenticated Concourse clients are cached and evicted automatically when credentials rotate.

  • GitOps-ready

    All state lives in Kubernetes. Commit your CRs, push, and let the operator reconcile.

Quick install

# Install CRDs
kubectl apply -k github.com/jakobmoellerdev/concourse-operator/config/crd

# Deploy the operator
kubectl apply -k github.com/jakobmoellerdev/concourse-operator/config/default

Then create a Secret with your Concourse password and a Instance pointing at your server. See Getting Started for the full walkthrough.

Project status

Property Value
API version v1alpha1
Concourse compatibility v8.2.1+
Kubernetes v1.11.3+
Go 1.24.6+

Alpha API

All resources are v1alpha1. Field names and default values may change in future releases.