This repository contains examples of using Pulumi to build and deploy cloud applications and infrastructure.
Each example has a two-part prefix, <cloud>-<language>
, to indicate which <cloud>
and <language>
it pertains to.
The cloud is one of aws
for Amazon Web Services, azure
for Microsoft
Azure, gcp
for Google Cloud
Platform, kubernetes
for
Kubernetes, or cloud
for
Pulumi's cross-cloud programming framework.
See the Pulumi documentation for more details on getting started with Pulumi.
Example | Language | Cloud |
---|---|---|
AWS EC2 instance (JavaScript) Provision a simple Linux web server that serves traffic on port 80 |
JavaScript | AWS |
AWS EC2 instance (Python) Provision a simple Linux web server that serves traffic on port 80 |
Python | AWS |
Azure Virtual Machine (JavaScript) Provision a simple Linux web server that serves traffic on port 80 |
JavaScript | Azure |
GCP Virtual Machine (JavaScript) Provision a simple Linux web server that serves traffic on port 80 |
JavaScript | Google Cloud Platform |
Component for creating EC2 instances (JavaScript) A minimal component that encapsulates creating EC2 instances |
JavaScript | AWS |
Simple static website on AWS S3 (JavaScript) A simple program that uses S3's website support |
JavaScript | AWS |
Component for simple static website (JavaScript) A reusable component for hosting static websites on AWS S3 |
JavaScript | AWS |
Simple static website on AWS S3 (Go) A static website that uses S3's website support |
Go | AWS |
Production-ready static website on AWS (TypeScript) An end-to-end example for hosting a static website on AWS, using S3, CloudFront, Route53, and Amazon Certificate Manager |
TypeScript | AWS |
Jenkins on Kubernetes (JavaScript) A Jenkins container running on Kubernetes |
JavaScript | Kubernetes |
AWS RDS and Airflow (TypeScript) Deploys an RDS Postgres instance and containerized Airflow |
TypeScript | AWS |
CloudWatch Log Groups, Event Targets, Metric Alarms, IAM roles, and more! (TypeScript) An example that shows how to create a number of AWS resources, including cloudwatch.Dashboard , cloudwatch.EventRule , cloudwatch.LogGroup , sqs.Queue , and more. |
TypeScript | AWS |
Azure App Service with SQL Database and Application Insights Deploy Azure App Service along with SQL Database and Application Insights |
TypeScript | Azure |
Azure Functions A simple component for deploying inline code to Azure Functions |
TypeScript | Azure |
Example | Language | Cloud |
---|---|---|
Serverless REST API (JavaScript) A simple REST API to count the number of times a route has been hit |
JavaScript | AWS |
NGINX container on AWS ECS (JavaScript) In 15 lines of code, deploy an NGINX container to production |
JavaScript | AWS |
Serverless URL shortener (TypeScript) A complete URL shortener web application using high-level cloud.Table and cloud.HttpEndpoint components |
TypeScript | AWS |
Serverless URL shortener with cache (TypeScript) An extension of the URL shortener that adds a Redis cache |
TypeScript | AWS |
Serverless video thumbnailer with Lambda and Fargate (JavaScript) An end-to-end pipeline for generating keyframe thumbnails from videos uploaded to a bucket using containerized FFmpeg |
JavaScript | AWS |
Serverless video thumbnailer with machine learning (JavaScript) An extension of the video thumbnail example that uses AWS Rekognition video labels |
JavaScript | AWS |
Raw AWS Serverless (TypeScript and C#) A complete serverless C# application using that uses the raw resources aws.apigateway.RestAPI , aws.lambda.Function and aws.dynamodb.Table |
TypeScript | AWS |
Voting App with containers (TypeScript) A simple voting app that uses Redis for a data store and a Python Flask app for the frontend, demonstrating the high-level framework @pulumi/cloud . |
TypeScript | AWS |
Kubernetes Guestbook (TypeScript) A version of the Kubernetes Guestbook app using Pulumi and @pulumi/kubernetes |
TypeScript | Kubernetes |
Kubernetes Sock Shop (TypeScript) A version of the standard Sock Shop microservices reference app app using Pulumi and @pulumi/kubernetes |
TypeScript | Kubernetes |
AWS Athena Twitter Analyzer (JavaScript) An application that periodically queries Twitter for a search term, stores the results in S3, and configures an Athena query for data analysis |
JavaScript | AWS |
Serverless SQS to Slack (JavaScript) Uses a Lambda function to post SQS messages to a Slack channel |
JavaScript | AWS |
AWS Step Functions A basic example that demonstrates using AWS Step Functions with a Lambda function |
TypeScript | AWS |
Twilio SMS handler for API Gateway A sample component that makes it easy to connect AWS API Gateway and Twilio SMS |
TypeScript | AWS |