Series Index

Crossplane Python Functions

A ten-part series on building production-grade Crossplane composition functions in Python.

Part 1 Why Python for Crossplane Compositions?
part_01

Why Python for Crossplane Compositions?

If you've worked with Crossplane, you know the feeling: your compositions start clean, then requirements multiply. Conditional logic. Cloud-specific...

Read article
Part 2 Your First Python Composition Function
part_02

Your First Python Composition Function

In Part 1, we discussed why Python is an excellent choice for Crossplane composition functions. Now it's time to build one.

Read article
Part 3 Understanding Composition Function I/O
part_03

Understanding Composition Function I/O

In Part 2, we built a working function but treated the request and response as black boxes. To build sophisticated compositions, you need to understand...

Read article
Part 4 The 3-Layer Resource Pattern
part_04

The 3-Layer Resource Pattern

In Parts 2 and 3, we built a simple function that creates S3 buckets. But what if users need GCP Cloud Storage or Azure Blob Storage? Do we write separate...

Read article
Part 5 Dynamic Provider Discovery with Python Introspection
part_05

Dynamic Provider Discovery with Python Introspection

In Part 4, we saw how adddefinition() magically finds and loads the right cloud implementation. But how does it actually work?

Read article
Part 6 Configuration Management with EnvironmentConfigs
part_06

Configuration Management with EnvironmentConfigs

Hard-coded values don't scale. Your production cluster needs different machine types than development. Your GCP clusters need different defaults than AWS....

Read article
Part 7 Templating Helm Releases with Jinja2
part_07

Templating Helm Releases with Jinja2

Your clusters need applications: cert-manager, ingress controllers, monitoring stacks. Crossplane's Helm provider deploys these, but Helm values often need...

Read article
Part 8 CI/CD Pipelines for Crossplane Functions
part_08

CI/CD Pipelines for Crossplane Functions

You've built a Python composition function. It works locally. Now you need to deploy it reliably—build container images, run tests, and push to registries...

Read article
Part 9 Importing Existing Infrastructure
part_09

Importing Existing Infrastructure

Your organization has existing cloud infrastructure. GKE clusters created by Terraform. EKS clusters from CDK. Manual resources in the console. You want to...

Read article
Part 10 Building a Production Multi-Cloud Cluster Platform
part_10

Building a Production Multi-Cloud Cluster Platform

Throughout this series, we've learned individual techniques: the 3-layer pattern, dynamic provider discovery, environment configs, Jinja2 templating, CI/CD...

Read article