Pulumi.yaml


Overview

`Pulumi.yaml` is a configuration file used by the Pulumi infrastructure as code (IaC) tool to define and describe a specific Pulumi project. This file provides metadata about the project such as its name, runtime environment, and description. Pulumi uses this file as the entry point to orchestrate infrastructure deployments written in various supported programming languages.

In this particular case, `Pulumi.yaml` defines a project named **thorchain-v1**, which uses the **Node.js** runtime, and is described as the "thorchain-v1 coin stack." This minimal configuration file enables Pulumi to recognize the project and run the appropriate code to provision and manage cloud infrastructure resources.


Detailed Explanation

File Structure and Fields

Field

Description

Example

`name`

The unique name of the Pulumi project. This is used to identify the project internally.

thorchain-v1

`runtime`

Specifies the programming language environment used for the Pulumi program.

`nodejs`

`description`

A short human-readable description of the project’s purpose or function.

thorchain-v1 coin stack


Usage

The `Pulumi.yaml` file is typically located in the root directory of a Pulumi project. Pulumi CLI commands such as `pulumi up`, `pulumi preview`, or `pulumi destroy` rely on this file to identify project settings before executing.

Example workflow for using this file:

# Preview infrastructure changes for the project
pulumi preview

# Deploy infrastructure as defined in the project's Node.js program
pulumi up

# Destroy all resources managed by the project
pulumi destroy

Important Implementation Details


Interaction with Other Parts of the System


Visual Diagram

The following flowchart illustrates the role of `Pulumi.yaml` within the Pulumi project workflow:

flowchart TD
    A[Pulumi CLI Command] --> B[Reads Pulumi.yaml]
    B --> C[Identifies Project Name & Runtime]
    C --> D[Loads Node.js Infrastructure Code]
    D --> E[Executes Infrastructure Deployment]
    E --> F[Manages Cloud Resources]
    E --> G[Updates Pulumi State Backend]
    F --> H[Cloud Provider APIs]

Summary


This minimal but essential configuration file ensures Pulumi can manage infrastructure deployments consistently across environments, matching the project’s intended runtime and identity.