Series

Crossplane Python Functions

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

Part 1 Why Python for Crossplane Compositions?

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

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

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

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

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

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

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

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

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

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