🎄 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