awesome-cdk icon indicating copy to clipboard operation
awesome-cdk copied to clipboard

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

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
    • APIs
    • Databases
    • Static Websites
    • Security
    • Ops
    • Queue
    • CI/CD
    • Monitoring
    • Workflows
    • Multi-accounts setup
  • High-Level Frameworks
  • Scaffolding
  • Language Support
  • Library Publishing
  • Tools
  • Training Materials and Sample Code
  • Blog Posts & Talks
  • Related Projects
  • Tips & Tricks

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).
  • crow-api - Create a serverless API with routes based on your file structure.

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.
  • aws-firewall-factory - Deploy, update, and stage your WAFs while managing them centrally via FMS.

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.
  • cdk-organizations - CDK constructs that helps to provision AWS Organization, Organizational Units (OU), Accounts and Policies.

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.
  • Orkestra - An event-driven alternative to Airflow built on the AWS CDK and Step Functions.
  • SST - An open source framework for building serverless applications with CDK. It features a Live Lambda Development environment, to test and debug Lambda functions locally without having to redeploy them.
  • Datajob - Build and deploy a serverless data pipeline or machine learning pipeline on AWS with no effort.

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

Tools

  • CDK-Dia - Automatic infrastructure diagrams for AWS CDK.

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.