Skip to content
@pulumi

Pulumi

Welcome to Pulumi

Pulumi Logo (Dark) Pulumi Logo (Light)

Main Repo | Docs | Registry | Intro Video

Pulumi is infrastructure as code in any programming language. Define cloud infrastructure on any cloud -- including AWS, Azure, Google Cloud, Kubernetes, and more -- using the full richness of programming languages, and Pulumi will provision, version, and otherwise manage your cloud resources.

Benefits of Pulumi's approach

  • Any cloud: Pulumi supports 100s of providers, including public clouds (e.g., AWS, Azure, Google Cloud), private clouds (e.g., VMWare, OpenStack), cloud native (e.g., Kubernetes, Helm), and SaaS infrastructure providers (e.g., Cloudflare, MongoDB, Snowflake). Pulumi exposes the full surface area of these clouds with a consistent programming model and deployment model.

  • Rich programming languages: Pulumi uses general purpose, popular programming languages including Go, Java, JavaScript, .NET, Python, TypeScript, and YAML. This gives you access to rich constructs like for loops, if statements, functions, classes, and packages. It also delivers great editor experiences with statement completion, error detection, and inline documentation.

  • Declarative infrastructure as code: Despite offering the full richness of programming languages, Pulumi is declarative infrastructure as code at its core. This gives previews of changes before they are made, policy enforcement, a full history of who changed what infrastructure and when, and all the things that are standard with infrastructure provisioning tools.

  • Programmable infrastructure: Embed infrastructure as code into larger pieces of software using the Automation API, which is the ability to invoke Pulumi as a library in your chosen language.

  • Share and reuse patterns: Codify, share, and reuse standard infrastructure patterns with reusable components. This avoids copy and pasting and needing to reinvent the wheel over and over again.

  • Integrated configuration and secrets: Pulumi's projects and stacks model makes it easy to share code between many disparate environments. Each stack can be configured so that infrastructure can be deliberately different between these environments. Pulumi integrates secrets management directly so it's easy to configure infrastructure using sensitive information like keys and tokens.

  • Use engineering best practices: Thanks to the use of general purpose languages, standard engineering practices just work. For instance, you can lint and test your infrastructure as code, manage dependencies using true software versioning, you can easily refactor your codebase, and more.

  • Ship continuously: Pulumi integrates with over a dozen CI/CD systems, including Atlassian Bitbucket, CircleCI, Jenkins, GitHub Actions, GitLab Pipelines, and more. This enables you to preview deployments in the context of pull requests and perform them in response to merges and commits.

  • Enforce team policies: Pulumi includes a policy as code engine that lets you enforce security, compliance, and reliability best practices across your team. You can choose from off the shelf policy packs or write your own using a general purpose language or Open Policy Agent (OPA). Policies are enforced at deployment time to issues never make their way into production.

  • Collaborate securely and reliably: Pulumi works best with the Pulumi Cloud, an optional SaaS companion that store infrastructure state and metadata securely and reliably.

  • Open source: Pulumi is proudly open source and uses the Apache 2.0 license.

Get Started

To get started, install the open source SDK. From there, try one of our many tutorials.

We would love to welcome you to the community personally -- please join the conversation in our Community Slack and say hello 👋

Pinned Loading

  1. pulumi pulumi Public

    Pulumi - Infrastructure as Code in any programming language 🚀

    Go 21.8k 1.1k

  2. esc esc Public

    Pulumi ESC is a centralized, secure service for environments, secrets, and configuration management, optimized for multi-cloud infrastructures and applications.

    Go 221 8

  3. examples examples Public

    Infrastructure, containers, and serverless apps to AWS, Azure, GCP, and Kubernetes... all deployed with Pulumi

    TypeScript 2.4k 879

  4. docs docs Public

    All things Pulumi docs!

    HTML 128 221

Repositories

Showing 10 of 377 repositories
  • pulumi-harness Public

    A Pulumi provider for Harness

    pulumi/pulumi-harness’s past year of commit activity
    Go 4 Apache-2.0 3 1 2 Updated Nov 10, 2024
  • pulumi-pagerduty Public

    A PagerDuty Pulumi resource package, providing multi-language access to PagerDuty

    pulumi/pulumi-pagerduty’s past year of commit activity
    Go 8 Apache-2.0 2 6 2 Updated Nov 10, 2024
  • pulumi-datadog Public

    An Datadog Pulumi resource package, providing multi-language access to Datadog

    pulumi/pulumi-datadog’s past year of commit activity
    Go 19 Apache-2.0 8 11 2 Updated Nov 10, 2024
  • pulumi-aws Public

    An Amazon Web Services (AWS) Pulumi resource package, providing multi-language access to AWS

    pulumi/pulumi-aws’s past year of commit activity
    Go 460 Apache-2.0 155 349 11 Updated Nov 10, 2024
  • compliance-policies Public

    A library of policies for Pulumi's Policy as Code

    pulumi/compliance-policies’s past year of commit activity
    TypeScript 16 Apache-2.0 2 7 0 Updated Nov 10, 2024
  • pulumi-azure Public

    A Microsoft Azure Pulumi resource package, providing multi-language access to Azure

    pulumi/pulumi-azure’s past year of commit activity
    Go 134 Apache-2.0 51 76 5 Updated Nov 10, 2024
  • pulumi-gcp Public

    A Google Cloud Platform (GCP) Pulumi resource package, providing multi-language access to GCP

    pulumi/pulumi-gcp’s past year of commit activity
    Go 183 Apache-2.0 53 145 6 Updated Nov 10, 2024
  • pulumi-azuread Public

    A Microsoft Azure Active Directory (Azure AD) Pulumi resource package, providing multi-language access to Azure AD

    pulumi/pulumi-azuread’s past year of commit activity
    Go 18 Apache-2.0 8 18 1 Updated Nov 10, 2024
  • pulumi-random Public

    A Pulumi provider that safely enables randomness for resources

    pulumi/pulumi-random’s past year of commit activity
    Go 39 Apache-2.0 7 6 3 Updated Nov 10, 2024
  • pulumi Public

    Pulumi - Infrastructure as Code in any programming language 🚀

    pulumi/pulumi’s past year of commit activity
    Go 21,797 Apache-2.0 1,120 2,067 74 Updated Nov 10, 2024