Framework 2.0 Decision Index

What this covers

Entry point for Framework 2.0 decisions. Links to persona solutions and individual ADRs that describe configuration language, orchestration, secrets, billing, maintenance, and testing.

TL;DR: Framework 2.0 Architecture

Framework 2.0 enables adding managed services (Redis, PostgreSQL, etc.) without writing Go code. Service Maintainers define services in KCL - a type-safe configuration language that includes parameter schemas, validation rules, and mappings from user parameters to Helm chart values. Crossplane orchestrates everything using a single generic composition function (written in Go) that loads the KCL configured manifests at runtime, merges it with user parameters, and generates Kubernetes resources - primarily HelmReleases that deploy the actual service charts.

KCL is the key: it separates service-specific logic from framework code. Framework Engineers maintain one composition function that works for all services, while Service Maintainers add new services by writing KCL configurations. Connection secrets flow through Crossplane’s native mechanism to user namespaces. Maintenance and upgrades use Kubernetes CronJobs that switch Crossplane composition revisions during maintenance windows for controlled rollouts.

Architecture

Follow how the architecture is evolving on Miro Board. Also a Proof of Concept is available to support the architecture

Persona Solutions

Documentation

  • Testing Strategy - Comprehensive five-layer testing approach for Framework 2.0