GitHub - pulumi/pulumi: Pulumi - Infrastructure as Code in any programming language πŸš€

Open the original

Short summary

Pulumi is an open source tool for provisioning cloud infrastructure by writing ordinary code in languages like TypeScript, Python, Go, or C# instead of YAML. This README covers the CLI, install steps, a sample serverless deploy, and the list of supported languages and providers.

  • You define AWS, Azure, Google Cloud, or Kubernetes resources with normal language features like loops, functions, and classes, so creating three web servers is a short for-loop.
  • It supports six languages (JavaScript, TypeScript, Python, Go, .NET, Java) plus YAML, and over 300 providers.
  • Running pulumi up computes a minimal diff against what's already deployed, so later changes only touch what actually changed.

Full summary

Pulumi is an infrastructure-as-code tool that lets you define cloud resources in ordinary programming languages instead of YAML or a domain-specific config language. The README pitches it as supporting AWS, Azure, Google Cloud, Kubernetes, and over 300 providers, with SDKs for JavaScript, TypeScript, Python, Go, .NET, Java, and YAML. The practical appeal is that loops, functions, classes, and package managers work the way you already know them. The two examples show this: one spins up three EC2 web servers in a `for` loop attached to a shared security group, and the other sets up a DynamoDB table plus a CloudWatch cron job that snapshots Hacker News every morning at 8:30. Both are short enough to read in a minute, which is the point. The workflow is compact. You install the CLI with a curl script, run `pulumi new serverless-aws-typescript` to scaffold a project, then `pulumi up` to provision everything. Subsequent `pulumi up` runs compute a minimal diff, so you only touch what changed. There's also `pulumi logs -f` for unified logging across containers and functions, and `pulumi destroy -y` to tear it all down. The README points to the Automation API for embedding Pulumi inside other programs, and to Pulumi ESC for secrets and configuration management across clouds and apps. Those two features are probably where the tool's value grows past simple provisioning. For a read-later queue, this is a solid reference rather than a narrative piece. It's mostly the repo front page: a pitch, two code samples, install steps, links to examples, docs, the registry, and community channels, plus a language support matrix. The license is Apache 2.0, and the core CLI, SDKs, and engine live in this repo while individual provider libraries have their own repos. Save it if you're evaluating IaC tools or want a quick look at Pulumi's programming model. If you already know Pulumi, the docs and registry links are what you'd actually return to.

Ask about this article