Pulumi
Modern IaC platform using familiar programming languages (TypeScript, Python, Go, C#) instead of DSL.
Pulumi is a modern Infrastructure as Code platform that lets you define cloud infrastructure using general-purpose programming languages like TypeScript, Python, Go, and C# instead of a domain-specific language. This enables using loops, functions, and existing package ecosystems within infrastructure code. Pulumi supports all major cloud providers, offers state management, secrets handling, and automation API for embedding infrastructure provisioning in applications.
Features
Drift Detection
Detect and report manual changes outside of IaC
Pulumi refresh and drift detection via preview
Kubernetes-Native
Built on Kubernetes CRDs for native K8s experience
Not K8s-native, but strong K8s provider support
Module/Package Registry
Reusable infrastructure components managed via registry
Pulumi Registry with packages for each language
Multi-Cloud Support
Provision infrastructure across AWS, Azure, GCP and others
AWS, Azure, GCP, Kubernetes, and 100+ providers
Policy as Code
Define and enforce infrastructure policies programmatically
CrossGuard policy as code with policy packs
Preview/Plan
Preview infrastructure changes before applying them
pulumi preview with detailed diff output
Programming Languages
Use general-purpose languages instead of DSL
TypeScript, Python, Go, C#, Java, YAML
Secret Management
Handle sensitive values like passwords and API keys
Encrypted configuration with Pulumi ESC
State Management
Track and manage infrastructure state over time
Managed (Pulumi Cloud) or self-managed state
Team Collaboration
Multi-user support with RBAC and audit logs
Pulumi Cloud with stacks, RBAC, team collaboration