Awesome
Awesome Projen
Curated list of awesome Projen open-source projects, guides, blogs and other resources.
Define and maintain complex project configuration through code.
Contents
- Training Materials and Sample Code
- Blog Posts & Talks
- Social Media
- Tips and Tricks
- External Project Types
- Projects using Projen
Training Materials and Sample Code
- Pahud Hsieh's YouTube Tutorial.
- Create and Publish CDK Constructs Using projen and jsii - A step-by-step guide with sample code to create a new CDK construct using
projen
andjsii
and publish it to npm, Maven Central, PyPi and NuGet.
Blog Posts & Talks
- Elad Ben-Israel's CDK Day 2020 Talk.
- Matthew Bonig's Blog.
- Ken Winner's Blog
- Philip M. Gollucci's Blog
Social Media
- #projen - Hash #projen tag on Twitter.
Tips and Tricks
- Philip M. Gollucci's ohmyzsh Plugin
External Project Types
- kcwinner/cdk-appsync-project - Projen for AppSync.
- terraform-cdk-providers/cdktf-provider-project - Projen for Terraform.
- guillaumemaka/of-node-projen - Open FaaS Node Project.
- neva-argueta/custom-awscdk-app-ts - Aws cdk project with a test stack and lambda function using webpack bundler and other features.
- taimos/taimos-projen - CDK App, CDK Construct, Ts Lib.
- p6m7g8/p6-projen-project-awesome-list - Projen for Awesome List per its standards, replaces
yeoman
.
Projects using Projen
Official
- aws/constructs - A programming model for composable configuration.
- aws/jsii-docgen - Generates api docs for jsii modules.
- aws/jsii-release - Release jsii modules to multiple package managers.
- aws/jsii-srcmak - Generate source code in multiple languages from typescript.
- aws/json2jsii - Generates jsii structs from JSON schemas.
- awslabs/cdk8s/packages/cdk8s-plus-17 - High level abstractions on top of cdk8s.
- awslabs/cdk8s/packages/cdk8s-cli - CLI for CDK8s.
- awslabs/cdk8s/packages/cdk8s - Cloud Development Kit for Kubernetes.
- aws-samples/aws-cdk-for-k3scluster - A JSII construct lib to deploy a K3s cluster on AWS with CDK.
- aws-samples/aws-fargate-fast-autoscaler - A JSII construct lib to build AWS Fargate Fast Autoscaler.
- aws-samples/cdk-serverless-lamp - A JSII construct lib to build AWS Serverless LAMP with AWS CDK.
- cdk-dev/link-scraper - Scrapes Links from sites used by cdk.dev website.
- construct-catalog/catalog/packages/catalog-search - Search application for the construct catalog.
- p6m7g8/awesome-projen - This awesome list.
NodeProject
- mmuller88/influxdb-s3-backup - A docker image based on InfluxDB and enhanced with awc cli + backupscripts which is runnable on arm64 (raspberries) as well.
JsiiProject
- ArmaanT/cdkactions/packages/cdkactions - Cloud Development Kit for GitHub Actions.
- eladb/cdk8s-dashboard - Kubernetes dashboard construct library for cdk8s.
- eladb/cdk8s-operator - CDK8s operator like pattern.
- eladb/cdk8s-redis - CKD8s Constructs for redis.
- eladb/cfunctions - Cloud Functions.
- iliapolo/aws-cdk-sdk - CDK for the AWS SDK.
- iliapolo/constructs-tokens-staging - Tokens system for the constructs programming model.
- mmuller88/alps-unified-ts - Convert an ALPS API spec to other API spec like openApi, Graph QL Schema.
- rayou/cdk-url-shortener - Deploy a URL shortener with custom domain support in just a few lines of code.
- skorfmann/cdktf-aws-ecr-asset - Terraform CDK - L2 - AWS ECR Asset.
- skorfmann/cdktf-github-constructs - Terraform CDK - L2 - GitHub Provider.
- toricls/cdk8s-debore - Run your apps on Kubernetes cluster without bored YAMLing.
TypeScriptProject
- eladb/cfn-resources - Prints the list of resource types and logical IDs from a CloudFormation template.
- eladb/markmac - Markdown macros - embed program outputs in markdown.
- mmuller88/alf-cdk-api-gw - Alfresco Backend.
- mmuller88/alf-cdk-cognito - Cognito User Pool for managing users.
- mmuller88/alf-cdk-ui/cdk - Alfresco Provisioner Frontend.
- mmuller88/alf-cdk - The Alfresco Provisioner.
- mmuller88/alfresco-ocr - Alfresco OCR.
- mmuller88/aws-cdk-stagging-pipeline
- skorfmann/cfn2tf - Converts CloudFormation resources to Terraform resources.
- wheatstalk/ecs-service-extension-listener-rules - Listener Rule Extension.
TypeScriptLibraryProject
- ArmaanT/cdkactions/packages/cdkactions-cli - CDK for GitHub Actions CLI.
AwsCdkTypeScriptApp
- OperationalFallacy/max-lambda-out - Pipelines, APIs, Lambdas.
- aws-samples/amazon-eks-refarch-cloudformation - Reference architecture of Amazon EKS cloudformation templates and AWS CDK samples.
- aws-samples/aws-lambda-layer-awscli - AWS Lambda Layer for AWS CLI.
- davidsung/ecs-kinesis-log-archiving-cdk - Architecture demonstrating ECS Secured Log Streaming using Kinesis Data Stream and Kinesis Data Firehose.
- davidsung/ecs-servicediscovery-cdk - A service discovery sample for Lambda and ECS architecture.
- elthrasher/circular-layer - Circular layer aws-lambda-nodejs.
- fsalamida/aws-report-signin - Sends email when console login without mfa.
- guan840912/aws-lambda-container-sample/cdk-lambda-container - This is Lambda Custom Container Sample repo.
- guan840912/cdk-okd-311-infra - Sample for One Master Node Infra node OKD 3.11 Cluster via AWS CDK.
- guan840912/cdk-sample-save/aws-cdk-typescript/centosInstance - CentOs instance w/ Docker.
- guan840912/cdk-sample-save/aws-cdk-typescript/eks-console-view - Eks viewable in console.
- guan840912/cdk-sample-save/aws-cdk-typescript/lambda-container - Lambda container.
- guan840912/cdk-sample-save/aws-cdk-typescript/lambda-s3-endpoint - Lambda S3 endpoint.
- guan840912/cdk8s-cdk-example - 2048 game.
- guan840912/ddt-techday-demo - DDT Tech Day Demo CDK Part.
- guan840912/rke2-eks-d-lab - rke2 featuring eks-d cdk sample project.
- kcwinner/advocacy/cubejs-serverless-demo - Cube.js Serverless Demo.
- kirkchen/cdk-jenkins-with-dynamic-workers - CDK - Jenkins with dynamic worker - Stateless Jenkins leader on AWS Fargate with on-demand Windows and Linux workers.
- martzcodes/blog-cdk-openapi - OpenAPI Specs from CDK Stack WITHOUT Deploying First.
- martzcodes/blog-ts-request-validation - How to Automatically Generate Request Models from TypeScript Interfaces.
- mbonig/cdk-published-listener - Listens for CDK publishing to an SNS topic and sends you an e-mail.
- mmuller88/aws-api-gw-petstore-example - A cool AWS API Gateway petstore example with a cdk staging pipeline.
- mmuller88/aws-cdk-todolist - An AWS CDK todolist backend using appsync and dynamodb.
- mmuller88/aws-cdk-todolist-ui - AWS Amplify React frontend for mmuller88/aws-cdk-todolist containing S3, Amplify, React and a CDK Pipeline.
- mmuller88/cdk-alps-constructs-demo - API Gateway and GraphQL generated out of the ALPS spec src/todo-alps.yaml.
- mmuller88/rasp4 - Remote control my Raspberry 4 via AWS CodeDeploy & AWS CDK.
- nikovirtala/cdk-preview-environments - Pull Request Preview Environments with AWS CDK and GitHub Actions.
- pahud/aws-cdk-eks-sample - Sample CDK application to create a sample Amazon EKS cluster.
- pahud/aws-cdk-fargate-sample - Sample CDK application to create a sample Fargate service with ALB.
- pahud/aws-cdk-serverless-sample - Sample AWS CDK app for Amazon API Gateway and AWS Lambda.
- pahud/aws-cdk-spotone-sample - Sample CDK application to create one durable spot instance with cdk-spot-one.
- pahud/cdk-cfn-module-securebucket - A "secure" S3 bucket.
- pahud/eks-cdk8s-refarch - Reference architecture for building load-balanced web services in Amazon EKS with AWS CDK and CDK8S.
- pahud/fargate-global - CDK app that provisions multi-regional AWS Application Load-balanced Fargate services with AWS Global Accelerator.
- pahud/fargate-service-single-task - Fargate single task.
- pahud/lambda-gin-refarch - Reference architecture for AWS Lambda with Golang(Gin HTTP Framework), Amazon API Gateway and AWS SAM deployment.
- pgarbe/cdk-stackset - Stackset example.
- pszabop/cdk-vpc-export-import-test - Export VPC from one stack, import to another.
- rogerchi/vns-pdf-gen - Generates pdf from vns in lambda.
- stefanfreitag/csv-to-heartbeat-yml/cdk - Converts CSV data to heartbeat yml files.
- stefanfreitag/helloWorldLambda - Hello World application using an AWS API Gateway and Lambda function.
- titanjer/cdk-lambda-edge - Validate app version in request user-agent using lambda@edge.
AwsCdkConstructLibrary
- EdwinRad/cdkfoldingathome - Never forget to shut off expensive instances. With built-in TTL for your stack, you just define the lifetime of your instances and the stack will be destroyed afterwards.
- JordanSinko/the-slack-pipeline-approval - CDK pipelines with approvals.
- SnapPetal/cdk-cloudfront-deploy - Simplify deploying a single-page website use CloudFront distributions.
- StErMi/cdk-website - AWS CDK construct to instantly deploy a static website on serverless infrastructure. Easy, fast, done.
- cerealcoder/aws-cdk-serverless-timer - Deploy a scalable periodic timer that invokes scalable a Lambda function. The timer service is controlled by an API Gateway REST API.
- clarencetw/cdk-sns-notify - CDK library to send line notify or discord webhook.
- clarencetw/cdk-wordpress - CDK construct library to deploy WordPress.
- co2zxc/aws-cdk-test - High level CDK construct to provision GitLab integrations with AWS.
- eladb/cdk-asset-publisher - Publish an asset to buckets in multiple regions (or all regions) via a pipeline.
- flyingImer/cdk-distributed-computing - A place holds distributed patterns using serverless power.
- guan840912/cdk-aurora-globaldatabase - AWS CDK construct library that allows you to create Amazon Aurora Global Databases with AWS CDK in Typescript or Python.
- guan840912/cdk-events-notify - Events Notify AWS Construct lib for AWS CDK.
- guan840912/cdk-gitlab-runner - Gitlab Runner JSII construct lib for AWS CDK.
- guan840912/cdk-s3bucket - AWS CDK construct library that provides a drop-in replacement for the Bucket construct with the capability to remove non-empty S3 buckets.
- guan840912/cdk-sample-save/aws-cdk-typescript/resource-overwrite-ecs-sample - ECS overwrite example.
- guan840912/secure-bucket - A "secure" bucket".
- hayao-k/cdk-ecr-image-scan-notify - AWS CDK construct library that notify the slack channel of Amazon ECR image scan results.
- jogold/cloudstructs - EcsServiceRoller EmailReceiver SlackEvents SlackTextract StateMachineCustomResourceProvider StaticWebsite UrlShortner.
- kcwinner/cdk-appsync-transformer - AppSync Transformer Construct for AWS CDK.
- kcwinner/cdk-bucket-deployment-expirator - Opinionated CDK Bucket Deployment object pruner for maintaining N old versions.
- kirkchen/cdk-image-builder-patterns - CDK Construct to build Windows images via Jenkins and Powershell.
- markusl/cdk-codepipeline-bitbucket-build-result-reporter - JSII construct lib for reporting AWS CodePipeline build statuses to a Bitbucket server instance.
- markusl/cdk-ecr-image-scan-handler - JSII construct for ECR image scan results processing and reporting via Email or Microsoft Teams webhook.
- mbonig/nightynight - CDK construct that will automatically stop a running EC2 instance at a given time.
- mbonig/sqs-redrive - Redrive construct to use with an SQS queue and it's dead letter queue.
- mbonig/wakeywakey - CDK construct that will automatically start a stopped EC2 instance at a given time.
- mikeyangyo/cdk-changelog-slack-notify - JSII construct lib to deploy a service to send new changes pushed to codecommit to slack channel.
- mmuller88/aws-cdk-ssm-parameter - AWS CDK Construct for get the value of an SSM parameter. If the parameter doesn't exist, it will be created. The implementation simply leverages AwsCustomResource as an SDK wrapper.
- mmuller88/cdk-alps-graph-ql - Generates an AWS Graph QL out of an ALPS API yaml file.
- mmuller88/cdk-alps-spec-rest-api - Generates an AWS API Gateway out of an ALPS API yaml.
- mmuller88/aws-cdk-build-badge - Thats is an AWS CDK custom construct for retrieving a CodeBuild project status.
- p6m7g8/p6-barrier - P6Barrier is an AWS CDK Construct that deploys a Custom Resource which will poll until AWS Lambda Function isReady returns true. Ideal for running code AFTER an RDS or EKS is ready.
- p6m7g8/p6-namer - Sets the AWS IAM Account Alias with a Custom Resource.
- pahud/awscdk-run - 1-Click AWS CDK Deploy like CloudFormation.
- pahud/cdk-apisix - CDK construct library to generate serverless Apache APISIX workload on AWS Fargate.
- pahud/cdk-efs-assets - Amazon EFS assets from GitHub repositories or S3 buckets.
- pahud/cdk-eks-spotblocks - Sample JSII construct lib for AWS CDK.
- pahud/cdk-fargate-express - Sample JSII construct lib for Express Apps in AWS Fargate.
- pahud/cdk-fargate-run-task - Define and run container tasks on AWS Fargate immediately or with schedule.
- pahud/cdk-gitlab - High level CDK construct to provision GitLab integrations with AWS.
- pahud/cdk-lambda-extensions - AWS CDK construct library that allows you to add any AWS Lambda extensions to the Lambda functions.
- pahud/cdk-remote-stack - Get outputs from cross-regional AWS CDK stacks.
- pahud/cdk-soca - AWS CDK construct library that allows you to create the Scale-Out Computing on AWS with AWS CDK in TypeScript or Python.
- pahud/cdk-spot-one - One spot instance with EIP and defined duration. No interruption.
- pahud/cdk-ssm-parameter-store - AWS CDK construct that allows you to get the latest Version of the AWS SSM Parameters.
- pgarbe/cdk-bitbucket-server - A CDK Construct library to work with BitBucket Server (Stash).
- pgarbe/cdk-ecr-sync - CDK Construct to synchronizes Docker images from Docker Hub to ECR.
- pszabop/cdk-vpc-export-import - Export VPC from one stack, import to another.
- stefanfreitag/cdk-budget-notifier - Simple AWS budget notifier.
- stefanfreitag/gradle_uploader - Uploads new Gradle versions to an S3 bucket.
- wheatstalk/cdk-ecs-website - Construct creates an ECS service following a shared ALB pattern.
- hariohmprasath/scaled-test-execution - Construct that creates scaling hub (scaled using fargate spot) with chrome and firefox nodes, that can help customers run integration and regression tests quicker and cheaper to improve the CI/CD process.
- hariohmprasath/ecs-event-driven-scaling - Construct that creates an autoscaling SQS consumer (Fargate based) deployed in container-based ecosystem using ECS.
CdktfProviderProject
- terraform-cdk-providers/cdktf-provider-aws - CDKTF AWS Provider.
- terraform-cdk-providers/cdktf-provider-azurerm - CDKTF Azurerm Provider.
- terraform-cdk-providers/cdktf-provider-docker - CDKTF Docker Provider.
- terraform-cdk-providers/cdktf-provider-github - CDKTF GitHub Provider.
- terraform-cdk-providers/cdktf-provider-google - CDKTF Google Provider.
- terraform-cdk-providers/cdktf-provider-kubernetes - CDKTF Kubernetes Provider.
- terraform-cdk-providers/cdktf-provider-null - CDKTF Null Provider.