Skip to content

Shared component library for Pulumi Infrastructure-as-Code

Notifications You must be signed in to change notification settings

gs-gs/pulumi-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

gs-gs/pulumi-library

GoSource Pulumi shared component library.

Overview of Pulumi

What is Pulumi?

Pulumi is an infrastructure as code SDK for defining/deploying infrastructure on any cloud, using your favorite languages.

Why use Pulumi?

  1. write Infrastructure-as-Code in the same programming language as your application-code.
  2. provision best-practice infrastructure quicker using component libraries.
  3. use Policy-as-Code (property-based testing) to enforce resource compliance to org policies.

Install 'pulumi-library'

npm install gs-pulumi-library

Usage

gs-pulumi-library contains: i) Pulumi resource components for provisioning common resources, and ii) Pulumi policy components to be used in your Pulumi Policypacks.

Pulumi Resource Components

The following components are currently configured:

Component Description Node.JS Python
aws:CloudFrontWebsite Cloudfront distribution with S3 origin, alias/cert and access logging ✔️ ⏳ Not yet!
aws:S3Bucket S3 bucket with default encryption and access logging ✔️ ⏳ Not yet!
aws:Vpc Multi-AZ VPC with public/private subnets, internet gateway and flow logs ✔️ ⏳ Not yet!

Pulumi Policy Components

The following components are currently configured:

Component Description Node.JS Python
aws:ApiGateway Resource compliance policies for aws:ApiGateway ✔️ ⏳ Not yet!
aws:Cloudfront Resource compliance policies for aws:Cloudfront ✔️ ⏳ Not yet!
aws:Kms Resource compliance policies for aws:KMS ✔️ ⏳ Not yet!
aws:Lambda Resource compliance policies for aws:Lambda ✔️ ⏳ Not yet!
aws:S3 Resource compliance policies for aws:S3 ✔️ ⏳ Not yet!
aws:Vpc Resource compliance policies for aws:Vpc ✔️ ⏳ Not yet!

Recommended Deployment Pattern

Pulumi state-file

Pulumi stores metadata about your infrastructure so that it can manage your cloud resources. This metadata is called state, and is stored as a JSON document.

We recommend you store your project state files in S3 or Azure Storage, in the same account as the resource you are privisioning.

Example deployment scripts

Deployment Description
State stored in S3 Bucket Demonstrates logging into S3 state backend and running Pulumi commands to provision infra.

About

Shared component library for Pulumi Infrastructure-as-Code

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •