Skip to content

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

Notifications You must be signed in to change notification settings

Shyam-Chen/Pulumi-Starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Pulumi Starter

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

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

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

Table of Contents

Getting Started

Prerequisites:

  • Node.js v20
  • PNPM v9
  • Docker v4
  • Pulumi v3
  • Azure v2

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:

  • ---------- Essentials ----------
  • Pulumi - Infrastructure as Code and Secrets Management
  • ---------- Tools ----------
  • TypeScript - JavaScript with Syntax for Types
  • Biome - Formatter and Linter
  • Vitest - Test Runner
  • ---------- Environments ----------
  • Node.js - JavaScript Runtime Environment
  • PNPM - Package Manager
  • Docker - Containerized Application Development
  • GitHub Actions - Continuous Integration and Delivery
  • Azure Container Apps - Serverless Containers

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published