Awesome Cdk Overview
A collection of awesome things related to the AWS Cloud Development Kit (CDK)
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 kalaiser/awesome-cdk · ⭐ 1.6K · 🏷️ Back-End Development
Awesome CDK
Curated list of awesome AWS Cloud Development Kit (⭐9.4k) (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
- 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 (⭐37) - AWS CDK construct for AWS Chalice (Python Serverless Microframework for AWS).
- auto-cdk (⭐22) - Automatically generate api-gateway/lambda integrations with the filesystem (beta).
- crow-api (⭐6) - Create a serverless API with routes based on your file structure.
Databases
- aws-cdk-dynamodb-seeder (⭐31) - A simple CDK seeder for DynamoDB.
- cdk-tweet-sentiment - Identify sentiments in tweets and log them into an Amazon DynamoDB table.
- cdk-dynamo-table-viewer (⭐97) - Exposes the contents of an Amazon DynamoDB table through a public HTML page.
- cdk-postgresql (⭐20) - AWS CDK Constructs for PostgreSQL.
- cdk-sqlserver-seeder (⭐5) - CDK construct that executes custom SQL scripts against SQL Server database.
Static Websites
- cdk-static-website (⭐526) - CDK component that creates a static website using S3, configures CloudFront (CDN) and maps a custom domain via Route53 (DNS).
- ness (⭐631) - CDK powered CLI tool for deploying static sites to your AWS account.
Security
- cdk-passwordless (⭐16) - Construct for having passwordless authentication using userpool.
- cdk-iam-generator (⭐16) - Construct to generate IAM Managed Policies and IAM Roles using JSON Configuration.
- c3 (⭐26) - Enables compliancy with privacy and security best practices.
- cdk-iam-floyd (⭐449) - IAM policy statement generator with fluent interface.
- k9-cdk (⭐6) - Construct to generate secure S3 bucket policies easily.
- cdk-cloudfront-authorization (⭐526) - CloudFront with Cognito authentication using Lambda@Edge.
- aws-firewall-factory (⭐74) - Deploy, update, and stage your WAFs while managing them centrally via FMS.
Ops
- cdk-instanceStopRule (⭐0) - CDK component which creates an instance with a CloudWatch rule to stop it at the end of the day.
- cdk-time-bomb (⭐34) - 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 (⭐12) - Constructs to create AWS SES email templates + microservice to send templated emails with AWS SES.
- cdk-sqs-monitored (⭐11) - SQS Construct with dead letter queue and configured alarms.
CI/CD
- aws-delivlib (⭐318) - Synthesizes CI/CD pipelines for multi-language software delivery (used by the CDK itself).
- cdk-blue-green-container-deployment (⭐526) - Blue/Green container deployment with CodeDeploy.
Monitoring
- cdk-watchful (⭐449) - Automatic dashboards and alarms for CDK apps.
- aws-cdk-billing-alarm (⭐19) - Construct that sets up email alerts for exceeding an amount on your AWS bill.
- cdk-monitoring-constructs (⭐173) - Use high-level APIs to create monitoring for your AWS apps. Generates dashboards automatically.
Workflows
- cdk-pull-request-check (⭐526) - CDK component that automatically check pull requests.
- cdk-github-webhook (⭐526) - CDK component that provisions GitHub webhooks.
- cdk-codepipeline-slack (⭐526) - CDK component that provisions a #slack approval workflow.
- cdk-codecommit-backup (⭐526) - Backup CodeCommit repositories to S3.
- Alexa Deployment Pipeline (⭐35) - Construct which creates a CodePipeline to deploy Alexa Skills to Lambda and to the Developer console using AWS SAM and DeployToAlexa action.
- cdk-developer-tools-notifications (⭐526) - Slack / Microsoft Teams / Email notifications for developer tools: CodeCommit, CodeBuild, CodeDeploy, CodePipeline.
- aws-pdf-textract-pipeline (⭐126) - ETL pipeline for crawling PDFs from the Web using Puppeteer and transforming their contents into structured data using AWS Textract and storing the results in DynamoDB.
Multi-accounts setup
- aws-bootstrap-kit (⭐87) - Creates a multi-account set-up with AWS Organization, AWS SSO, DNS, and AWS CodePipeline.
- cdk-organizations (⭐91) - CDK constructs that helps to provision AWS Organization, Organizational Units (OU), Accounts and Policies.
High-Level Frameworks
- punchcard (⭐474) - 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 (⭐83) - A toolkit to develop purely functional and high-order cloud components with AWS CDK.
- cdk-stepfunctions-patterns (⭐46) - A set of Step Functions high-level resiliency patterns.
- Orkestra (⭐41) - An event-driven alternative to Airflow built on the AWS CDK and Step Functions.
- SST (⭐9.3k) - 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 (⭐96) - Build and deploy a serverless data pipeline or machine learning pipeline on AWS with no effort.
Scaffolding
- ReactJS + Cognito + CDK Starter (⭐171) - Starter project for ReactJS + Amazon Cognito + Amazon Amplify Framework with AWS CDK support.
- cra-template-aws-cdk (⭐16) - Create React App template using AWS CDK for out of the box, simple provisioning of serverless React apps.
- create-cdk-app (⭐14) - Create CDK apps from templates.
- awscdk-jsii-template (⭐18) - A GitHub template repository to generate a ready environment to build, test and publish your JSII construct lib for AWS CDK.
Language Support
- AWS-CDK-Kotlin-DSL (⭐13) - A Wrapper library of AWS CDK Java. CI automatically generates code and deploys it by daily.
- aws-cdk-maven-plugin (⭐10) - A plugin to define and deploy your AWS CDK applications using Java and Maven.
- aws-lambda-nodejs-webpack (⭐31) - Alternative Node.js lambda CDK construct, using webpack.
- aws-lambda-nodejs-esbuild (⭐58) - Alternative Node.js lambda CDK construct, using esbuild (⭐34k).
Library Publishing
- GitHub Action - GitHub Action for AWS CDK.
- jsii-publish (⭐17) - A Docker image and GitHub action to build and publish CDK constructs created via JSII (⭐2.1k).
Tools
- CDK-Dia (⭐571) - Automatic infrastructure diagrams for AWS CDK.
Training Materials and Sample Code
- Official CDK Examples (⭐3.6k) - A set of example projects for the AWS CDK.
- CDK Serverless Workshop - A workshop that guides you through the process of creating and deploying CDK application.
- Build an App with AWS Cloud Development Kit course on egghead.io
- Infrastructure is Code with the AWS CDK - Recording of re:Invent 2018 session.
- GitHub Changelog Crawler (⭐234) - A fully fledged CDK app written by Nathan Peck which uses Fargate, API Gateway, Lambda, CloudFront, S3, ElastiCache, and Dynamodb.
- ECS with CI/CD (⭐41) - Demo of deploying ECS application using CDK.
- Example templates for aws cdk (⭐113) - Working TypeScript snippets from several AWS projects.
- Lambda packaging asset - CDK asset which builds lambda function and produces a ZIP file with dependencies.
- Open CDK Guide (⭐738) - Open source guide on CDK and best practices.
- Colorteller Example (⭐3) - Great example project using Fargate and Appmesh.
- CDK Patterns (⭐1.9k) - An opensource collection of serverless architecture patterns built with CDK.
- Create a CI/CD pipeline using CodePipeline and CodeBuild - The cra-pipeline (⭐39) project on GitHub shows an AWS CodePipeline with AWS CodeBuild to deploy a static React application.
- React SPA with server-side rendering on AWS Lambda - The cra-serverless (⭐157) project is a serverless architecture to add pre-rendering to a React website created with create-react-app.
- Mini Tutorial: Setup AWS Lambda + ACM + API Gateway with AWS Cloud Development Kit (⭐8) - Deploy a functional public API that receives an HTML form (e.g. /contact_us.html) POST request and delivers its data to Pushover notification service.
- Example of REST API built with CDK (⭐13) - Source code that powers REST APIs at https://api.l3x.in/.
- dilbert-feed (⭐26) - A serverless application written in Go that allows you to enjoy Dilbert in your RSS feed reader without any ads.
- django-postgres-vue-gitlab-ecs - An example Django + Vue.js web app deployed with CDK using GitLab CI.
- nextjs-vercel-aws-cdk-example (⭐66) - A PostgreSQL (RDS), EventBridge (crons) and SNS (background jobs) example along with a Next.js application.
- Create and Publish CDK Constructs Using projen and jsii (⭐28) - A step-by-step guide with sample code to create a new CDK construct using projen (⭐1.7k) and
jsii
and publish it to npm, Maven Central, PyPi and NuGet.
Blog Posts & Talks
- Introduction to how and why CDK - By Leo Lapworth.
- How to Build a CDK Construct Library - By Philipp Garbe.
- CDK All The Things: A Whirlwind Tour - By Kevin S Lin.
- AWS CDK Developer Preview Announcement - The first AWS CDK Developer Preview announced on on 27 August 2018.
- Contributing to the AWS Cloud Development Kit - By Mike Cowgill from Intuit.
- First look into AWS Cloud Development Kit - By Philipp Garbe.
- Boost your AWS Infrastructure with the CDK - SlideShare by Philipp Garbe.
- Getting started with AWS CDK for Amazon ECS - By Nathan Peck.
- AWS re:Invent 2018, best of show: CDK - Aller Media Tech Blog.
- AWS Cloud Development Kit introduction with Live Demos - AWS User Group Finland Meetup January 2019.
- AWS CDK — a glimpse into the future - By Nordcloud Engineering.
- AWS Infrastructure as Code with CDK - By Ross Rhodes.
- Callbacks with AWS Step Functions - By Ross Rhodes.
- Using the CDK for CodePipelines Setup - By Stefan Freitag.
- Using the CDK for AWS MSK Setup - By Stefan Freitag.
- Serverless Dotnet - E01: Intro to AWS CDK - By Jake Scott.
- GitHub repository (⭐6) - By Jake Scott.
- Infrastructure is Code with the AWS CDK - AWS Tech Talk Webinar.
- tecRacer Amazon AWS Blog - Several Blog Posts from aws-blog.de by Gernot Glawe.
- Using CDK to build a UDP NLB Logging Service - By ClouderDex.
- GitHub Repo (⭐2) - By ClouderDex.
- Purely Functional Cloud Components with AWS CDK - Bu fogfish.
- Using the CDK to probe multiple accounts (sfn/lambda/sqs/sechub) - Blog post from fudless.xyz.
- Scheduled Lambda Functions and CI/CD pipeline with AWS CDK - By Maarten Thoelen.
- GitHub Repo (⭐4) - By Maarten Thoelen.
- AWS Client VPN with mutual TLS - By Kirill Merkushev.
- CDK Step Functions - By Matt Morgan.
- Loading DynamoDB with Custom Resources - By Matt Morgan.
- Loading DynamoDB with Provider Framework - By Matt Morgan.
- German: React SPA und server-side rendering (SSR) mit AWS Lambda und CloudFront - By superluminar GmbH.
- Introducing AWS CDK with a real life Lambda and API gateway example - By Alexander Fortin.
- CloudWatch Dashboards as Code (the Right Way) Using AWS CDK - By Simon-Pierre Gingras.
- Coding the Jamstack missing parts: databases, crons & background jobs - By Vincent Voyer.
- AWS CDK Continuous Integration and Delivery Using Travis CI - By Thomas Poignant.
- Custom Resources with AWS CDK - By Roy Ben-Yosef.
- Recommended AWS CDK project structure for Python applications - By Alex Pulver.
Related Projects
- jsii (⭐2.1k) - JavaScript interop interface, the technology that CDK uses to create language bindings (currently supports .NET, Java and Python).
- cdk8s (⭐3.2k) - Define Kubernetes native apps and abstractions using object-oriented programming.
- cdktf (⭐4k) - Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform.
- cdktg (⭐9) - Agile Threat Modeling as Code.
Tips & Tricks
- Reflect on the CDK Type System - Explore the CDK's type system.
- Testing Your Construct Library CodeBuild Configuration Locally (⭐933) - With the
jsii/superchain:latest
Docker Image.
Contributing
Contributions welcome! Read the contribution guidelines first.