⚠️ BETA - Not for production

Kubernetes with TypeScript

A control plane aware framework for orchestrating kubernetes resources like a programmer

⭐ Star on GitHub
🔒

Type-Safe Infrastructure

Write Kubernetes resources in TypeScript with full IDE support. Catch configuration errors at compile time, not runtime.

🔗

Control Plane Aware

Resources reference each other's runtime state using CEL expressions. Built on Kubernetes Resource Orchestrator (KRO) for dynamic infrastructure.

🚀

Deploy Anywhere

Same code deploys directly to clusters, generates GitOps YAML, or runs with KRO orchestration. Choose your strategy without rewriting.

Using TypeKro

Step 1 of 6

Write Kubernetes in Pure TypeScript

Full IDE support, type safety, and refactoring - no YAML in sight

This is what modern Kubernetes configuration should feel like. Write infrastructure code naturally with imperative composition - resources auto-register when created, and you return status using familiar JavaScript expressions that are automatically converted to CEL.

Why TypeKro?

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

What is KRO?

Kubernetes Resource Orchestrator (KRO) is a powerful orchestration engine that enables dynamic, stateful resource management. TypeKro builds on KRO to provide type-safe infrastructure as code with runtime state awareness.

Dynamic Resources

Create resources that adapt based on runtime state

State Awareness

Reference other resource states in your definitions

CEL Integration

Use Common Expression Language for complex logic

Ready to Get Started?