π A boilerplate for cloud applications with Pulumi and Azure using TypeScript on Vite.
π View Demo: Live | Windows | macOS | Android | iOS
Source Code: Web-side | Native-side | Server-side | Cloud-side
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
Follow steps to execute this boilerplate.
$ pnpm install
# development
$ pulumi stack init dev
# Test
$ pulumi stack init sit
# staging
$ pulumi stack init uat
# production
$ pulumi stack init prod
# development
$ pulumi stack select dev
# Test
$ pulumi stack select sit
# staging
$ pulumi stack select uat
# production
$ pulumi stack select prod
$ pulumi up
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
Control the environment.
$ pulumi stack select <ENV>
$ pulumi config set <KEY> <VALUE> [--secret]
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