Home

Awesome

Pulumi Starter

šŸŽ„ A boilerplate for cloud applications with Pulumi and Azure using TypeScript on Vite.

:rainbow: View Demo: Live | Windows | macOS | Android | iOS

:octocat: Source Code: Web-side | Native-side | Server-side | Cloud-side

Table of Contents

Getting Started

Prerequisites:

Get started with Pulumi Starter.

# install dependencies
$ pnpm install

$ pulumi stack init dev
$ pulumi stack select dev
$ pulumi up

Or use barebones scaffolding for your new Pulumi app

$ pnpm dlx degit Shyam-Chen/Barebones-Templates/pulumi my-pulumi-app

Project Setup

Follow steps to execute this boilerplate.

Install dependencies

$ pnpm install

Initialize stacks

# development
$ pulumi stack init dev

# Test
$ pulumi stack init sit

# staging
$ pulumi stack init uat

# production
$ pulumi stack init prod

Select stacks

# development
$ pulumi stack select dev

# Test
$ pulumi stack select sit

# staging
$ pulumi stack select uat

# production
$ pulumi stack select prod

Create or update resources

$ pulumi up

Key Features

This seed repository provides the following features:

Configuration

Control the environment.

Environment Variables

$ pulumi stack select <ENV>
$ pulumi config set <KEY> <VALUE> [--secret]

Directory Structure

The structure follows the LIFT Guidelines.

.
ā”œā”€ā”€ .github/workflows
ā”‚   ā”œā”€ā”€ client.yaml
ā”‚   ā””ā”€ā”€ server.yaml
ā”œā”€ā”€ packages
ā”‚   ā”œā”€ā”€ client
ā”‚   ā”‚   ā”œā”€ā”€ src
ā”‚   ā”‚   ā”‚   ā””ā”€ā”€ index.ts
ā”‚   ā”‚   ā”œā”€ā”€ package.json
ā”‚   ā”‚   ā”œā”€ā”€ Pulumi.yaml
ā”‚   ā”‚   ā””ā”€ā”€ tsconfig.json
ā”‚   ā””ā”€ā”€ server
ā”‚       ā”œā”€ā”€ src
ā”‚       ā”‚   ā””ā”€ā”€ index.ts
ā”‚       ā”œā”€ā”€ package.json
ā”‚       ā”œā”€ā”€ Pulumi.yaml
ā”‚       ā””ā”€ā”€ tsconfig.json
ā”œā”€ā”€ .dockerignore
ā”œā”€ā”€ .editorconfig
ā”œā”€ā”€ .gitignore
ā”œā”€ā”€ biome.json
ā”œā”€ā”€ package.json
ā”œā”€ā”€ pnpm-lock.yaml
ā”œā”€ā”€ pnpm-workspace.yaml
ā””ā”€ā”€ README.md