Skip to content

Kubernetes with TypeScript instead of YAML

Build Kubernetes infrastructure with runtime dependencies in clean TypeScript that compiles to Kubernetes Resource Orchestrator (KRO) YAML.

⚠️ BETA - Not for production

Why TypeKro?

Because nobody likes YAML and Kubernetes dependencies are hard. TypeKro provides runtime intelligence through Kubernetes Resource Orchestrator (KRO), enabling resources to reference each other's live cluster state with CEL expressions. Here's what you get compared to other tools:

FeatureTypeKroPulumiCDK8sHelmKustomizeCrossplane
Type Safety✅ Full TypeScript✅ Multi-language✅ TypeScript❌ Templates❌ YAML❌ YAML
GitOps Ready✅ Deterministic YAML❌ State backend✅ YAML output✅ Charts✅ YAML✅ YAML
Runtime Dependencies✅ KRO + CEL expressions❌ Deploy-time only❌ Static❌ Templates❌ Static✅ Compositions
IDE Support✅ Full autocomplete✅ Language support✅ TypeScript❌ Limited❌ Limited❌ Limited
Learning Curve🟢 Just TypeScript🔴 New concepts🟡 TypeScript + K8s🔴 Templates🔴 YAML hell🔴 Complex
Kubernetes Native✅ Pure K8s resources❌ Abstraction layer✅ Pure K8s✅ K8s resources✅ K8s resources✅ K8s + CRDs
Cross-Resource Refs✅ Runtime resolution❌ Deploy-time❌ Manual❌ Manual❌ Manual✅ Built-in
Multi-Cloud🟡 Via Alchemy✅ Native❌ K8s only❌ K8s only❌ K8s only✅ Native
State Management✅ Stateless❌ State backend✅ Stateless✅ Stateless✅ Stateless✅ Controller

What is KRO?

Kubernetes Resource Orchestrator (KRO) is an open-source project by AWS Labs, with contributions from Google, Microsoft, and the broader Kubernetes community. KRO enables advanced resource orchestration with runtime dependencies and CEL expressions. TypeKro builds on KRO to provide:

  • 🔄 Runtime Intelligence: Resources can reference each other's runtime state (like IP addresses, status conditions)
  • 📋 Custom Resource Types: Define your own Kubernetes resource types with TypeScript schemas
  • 🎯 CEL Expressions: Use Google's Common Expression Language for dynamic resource configuration
  • 🔧 GitOps Native: Generates standard Kubernetes YAML that works with any GitOps workflow

TypeKro works in Direct Mode (no KRO required) for simple deployments, or KRO Mode for advanced orchestration with runtime dependencies.

Learn more: KRO Documentation →

Ready to Get Started?

Released under the Apache 2.0 License.