Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Categorize examples in top-level readme #49

Merged
merged 3 commits into from
May 11, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 25 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
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](https://github.com/pulumi/pulumi-aws)), `azure` (for [Microsoft
Azure](https://github.com/pulumi/pulumi-azure)), `gcp` (for [Google Cloud
Platform](https://github.com/pulumi/pulumi-gcp)), `kubernetes` (for
[Kubernetes](https://github.com/pulumi/pulumi-kubernetes)), or `cloud` (for
[Pulumi's cross-cloud programming framework](https://github.com/pulumi/pulumi-cloud)).
The cloud is one of `aws` for [Amazon Web Services](https://github.com/pulumi/pulumi-aws), `azure` for [Microsoft
Azure](https://github.com/pulumi/pulumi-azure), `gcp` for [Google Cloud
Platform](https://github.com/pulumi/pulumi-gcp), `kubernetes` for
[Kubernetes](https://github.com/pulumi/pulumi-kubernetes), or `cloud` for
[Pulumi's cross-cloud programming framework](https://github.com/pulumi/pulumi-cloud).

See the [Pulumi documentation](https://docs.pulumi.com) for more details on getting started with Pulumi.

### Web Server
### Cloud Infrastructure

#### Web Server

This is one of our most basic examples, showing how to provision a simple Linux webserver serving traffic on port 80.
This example is available in multiple flavors:
Expand All @@ -24,7 +26,19 @@ This example is available in multiple flavors:
An [extension of this example](aws-js-webserver-component/) demonstrates creating a minimal component that encapsulates
creating EC2 instances, highlighting one of the benefits of using general purpose languages for managing infrastructure.

### [Cloud-Agnostic URL Shortener](cloud-ts-url-shortener/)
#### [Static Website on AWS S3](aws-js-s3-folder/)

This example deploys a static website to AWS S3, demonstrating how to combine infrastructure code and content in the same application.

An [extension of this sample](aws-js-s3-folder-component/) shows how to create your own component for reusable infrastructure.

### Cloud Applications

#### [Serverless REST API](cloud-js-httpendpoint)

This example shows how to build a simple REST API to count the number of times a route has been hit. It shows how easy it is to create a simple application that uses AWS Lambda, API Gateway, and Dynamo DB.

#### [Cloud-Agnostic Serverless URL Shortener](cloud-ts-url-shortener/)

This example demonstrates a complete URL shortener web application using high-level `cloud.Table` and
`cloud.HttpEndpoint` components, highlighting the ability to combine deployment time and runtime code, and the simple,
Expand All @@ -35,13 +49,13 @@ An [extension of this example](cloud-ts-url-shortener-cache/) adds a reusable ca
using `cloud.Service` to run a containerized Redis image. This shows that you can create your own `cloud.*`-like
abstractions for your own use, your team's, or to share with the community using your language's package manager.

### [AWS Video Thumbnailer](cloud-js-thumbnailer/)
#### [AWS Video Thumbnailer](cloud-js-thumbnailer/)

This example features an end-to-end pipeline for generating keyframe thumbnails from videos uploaded to a bucket using
containerized [FFmpeg](https://www.ffmpeg.org/). It combines containers, serverless functions, and cloud storage into
a single 40-line application using `@pulumi/cloud-aws`.

### [Raw AWS Serverless](aws-ts-serverless-raw/)
#### [Raw AWS Serverless](aws-ts-serverless-raw/)

This example deploys a complete serverless C# application using raw `aws.apigateway.RestAPI`, `aws.lambda.Function` and
`aws.dynamodb.Table` resources from `@pulumi/aws`. Although this doesn't feature any of the higher-level abstractions
Expand All @@ -51,16 +65,12 @@ to accomplish all of the same things this higher-level package offers.
The deployed Lambda function is a simple C# application, highlighting the ability to manage existing application code
in a Pulumi application, even if your Pulumi code is written in a different language like JavaScript or Python.

### [Kubernetes Guestbook](kubernetes-ts-guestbook/)
#### [Kubernetes Guestbook](kubernetes-ts-guestbook/)

This examples shows a version of the [Kubernetes
Guestbook](https://kubernetes.io/docs/tutorials/stateless-application/guestbook/) app using Pulumi and
`@pulumi/kubernetes`.

### [Static Website on AWS S3](aws-js-s3-folder/)

This example deploys a static website to AWS S3, demonstrating how to combine infrastructure code and content in the same application.

### [Voting App with Containers](cloud-ts-voting-app/)
#### [AWS Voting App with Containers](cloud-ts-voting-app/)

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`.