Skip to main content

Welcome to the Crossplane workshop ⏱️ 5m

Over the next three hours you will install Crossplane, use it to compose your own Kubernetes API, and add a Provider that can manage software outside Kubernetes' own kinds. You'll walk away with a working mental model of Crossplane's core objects — XRD, Composition, XR, and Provider — and a cluster you can keep experimenting in afterwards.

The problem Crossplane solves, in two sentences: kubectl apply is great for one team's manifests, but every real platform fans out into dozens of low-level objects (Deployments, Services, cloud resources, Helm releases) that someone has to coordinate for "an app" or "a database". Crossplane lets you publish your team's own API — a single XApplication kind — that quietly creates all those low-level pieces, so other teams consume your platform with one YAML file instead of dozens. The Cheatsheet's big picture goes a layer deeper.

How the workshop is structured

The sidebar on the left lists the modules in reading order. The Crossplane 101 group is the guided spine — every pair walks through it. The 2XX / 3XX / 4XX groups and the Choose your own adventure group are optional tracks for after 101 and aren't covered in the live workshop.

SectionModuleKind⏱️
Introductioncontent5m
Cheatsheetreference
Connect to your clustertask10m
Crossplane 101Install Crossplanetask15m
Crossplane 101Your first Compositiontask12m
Crossplane 101Define an Applicationtask30m
Crossplane 101Modify your Applicationtask20m
Crossplane 101Add a Providertask17m
Wrap-upcontent5m

The task modules (Connect to your cluster, plus everything in Crossplane 101) follow the same rhythm: a short framing, then hands-on steps, then a validation check. The Introduction, Cheatsheet, and Wrap-up are content modules: read and move on.

The Cheatsheet is a reference page. Keep it open in a second tab — it's the fastest way to look up what an XRD or a Composition is without leaving your current module. It also has a short §1.1 "Controllers and the operator pattern" subsection worth reading once before module 3, especially if "controller" and "reconciliation loop" are new vocabulary.

If you're running this on your own laptop outside the live workshop, jump to Solo local setup (k3d) first.

How validation works

Each task module ends with a check button. Clicking it asks the workshop's validator to inspect your cluster and confirm the step worked. Green means you're good to move on; red comes with a diagnostic message so you know what to fix.

You're working in a pair. Enter your pair ID — the phrase your instructor handed you, like fancy-lemon — once, and every check on every module will use it:

Your pair:

Your pair ID is saved in your browser, so you can close this tab and come back. To switch, click change above.

Running solo locally?

Your pair ID is automatically local. The widget above will accept it; no instructor handoff needed. Continue.

Try it now

The button below runs your first check. It asks the validator to list namespaces in your workshop cluster — a smoke test that confirms your pair ID matches a live cluster and that the workshop infrastructure can reach it.

If the tile turns green, you're ready for Connect to your cluster. If it turns red, re-check the pair ID your instructor gave you and ask them to verify your cluster is up before you move on.

Ready?

Open the Cheatsheet in a second tab (you'll come back to it often) and then head to Connect to your cluster.