GoSource Pulumi shared component library.
What is Pulumi?
Pulumi is an infrastructure as code SDK for defining/deploying infrastructure on any cloud, using your favorite languages.
Why use Pulumi?
- write Infrastructure-as-Code in the same programming language as your application-code.
- provision best-practice infrastructure quicker using component libraries.
- use Policy-as-Code (property-based testing) to enforce resource compliance to org policies.
npm install gs-pulumi-library
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! |
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. |