/awesome-cdk

A collection of awesome things related to the AWS Cloud Development Kit (CDK)

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome CDK Awesome CDK

Curated list of awesome AWS Cloud Development Kit (AWS CDK) open-source projects, guides, blogs and other resources.

The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework for defining cloud infrastructure in code.

Contents

Construct Libraries

This section includes code libraries in various programming languages which vend constructs that can be used in CDK apps.

APIs

  • cdk-chalice - AWS CDK construct for AWS Chalice (Python Serverless Microframework for AWS).
  • auto-cdk - Automatically generate api-gateway/lambda integrations with the filesystem (beta).

Databases

Static Websites

  • cdk-static-website - CDK component that creates a static website using S3, configures CloudFront (CDN) and maps a custom domain via Route53 (DNS).
  • ness - CDK powered CLI tool for deploying static sites to your AWS account.

Security

  • cdk-passwordless - Construct for having passwordless authentication using userpool.
  • cdk-iam-generator - Construct to generate IAM Managed Policies and IAM Roles using JSON Configuration.
  • c3 - Enables compliancy with privacy and security best practices.
  • cdk-iam-floyd - IAM policy statement generator with fluent interface.
  • k9-cdk - Construct to generate secure S3 bucket policies easily.
  • cdk-cloudfront-authorization - CloudFront with Cognito authentication using Lambda@Edge.

Ops

  • cdk-instanceStopRule - CDK component which creates an instance with a CloudWatch rule to stop it at the end of the day.
  • cdk-time-bomb - CDK Construct that implodes your AWS CDK Stack after a set amount of time.

Queue

  • cdk-tweet-queue - Fills up an SQS queue with tweets from a tweeter search query.
  • cdk-ses-template-mailer - Constructs to create AWS SES email templates + microservice to send templated emails with AWS SES.
  • cdk-sqs-monitored - SQS Construct with dead letter queue and configured alarms.

CI/CD

Monitoring

Workflows

Multi-accounts setup

  • aws-bootstrap-kit - Creates a multi-account set-up with AWS Organization, AWS SSO, DNS, and AWS CodePipeline.

High-Level Frameworks

  • punchcard - TypeScript framework to unify infrastructure and runtime code for the CDK, so you can declare constructs and implement runtime logic within the context of one Node.js application.
  • aws-cdk-pure - A toolkit to develop purely functional and high-order cloud components with AWS CDK.
  • cdk-stepfunctions-patterns - A set of Step Functions high-level resiliency patterns.

Scaffolding

  • ReactJS + Cognito + CDK Starter - Starter project for ReactJS + Amazon Cognito + Amazon Amplify Framework with AWS CDK support.
  • cra-template-aws-cdk - Create React App template using AWS CDK for out of the box, simple provisioning of serverless React apps.
  • create-cdk-app - Create CDK apps from templates.
  • awscdk-jsii-template - A GitHub template repository to generate a ready environment to build, test and publish your JSII construct lib for AWS CDK.

Language Support

Library Publishing

Training Materials and Sample Code

Blog Posts & Talks

Related Projects

  • jsii - JavaScript interop interface, the technology that CDK uses to create language bindings (currently supports .NET, Java and Python).
  • cdk8s - Define Kubernetes native apps and abstractions using object-oriented programming.
  • cdktf - Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform.

Tips & Tricks

Contributing

Contributions welcome! Read the contribution guidelines first.