• Stars
    star
    476
  • Rank 92,280 (Top 2 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

RFCs for the AWS CDK

AWS CDK RFCs

This repo is a place to propose and track major upcoming changes to AWS CDK, jsii, and other related projects. It also is a great place to learn about the current and future state of the libraries and to discover projects for contribution.

Jump to: What is an RFC? | When to submit? | RFC Process | RFC Life Cycle

# Title Owner Status
52 Support resource import ๐Ÿ‘ท implementing
77 CloudFormation Registry Support ๐Ÿ‘ท implementing
340 Kinesis Data Firehose Delivery Stream L2 @BenChaimberg ๐Ÿ‘ท implementing
431 SageMaker Model Hosting L2 Constructs ๐Ÿ‘ท implementing
456 L2 ElastiCache support ๐Ÿ‘ท implementing
460 Reduce aws-cdk-lib package size ๐Ÿ‘ท implementing
474 EventBridge Scheduler L2 Construct ๐Ÿ‘ท implementing
457 Create fluent-assertions library to improve consumer test readability ๐Ÿ“† planning
507 Full control over VPC and subnet configuration @otaviomacedo ๐Ÿ‘ approved
510 DyanmoDB Global Table L2 Construct @vinayak-kukreja ๐Ÿ‘ approved
8 Project Structure Guidelines @rix0rrr โœ๏ธ review
175 AppSync Mapping Template Object Model @MrArnoldPalmer โœ๏ธ review
317 CDK third-party dependencies management โœ๏ธ review
362 Construct Library for Contributor Insights Rules โœ๏ธ review
419 CDK environment setup for platform/system administrators โœ๏ธ review
2 Support for CloudFormation Resource Imports ๐Ÿ’ก proposed
4 CDK Testing Toolkit @nija-at ๐Ÿ’ก proposed
5 Security-restricted environments ๐Ÿ’ก proposed
9 Master developer guide sources in main repo ๐Ÿ’ก proposed
10 New workshop modules ๐Ÿ’ก proposed
13 Improvements to Reference docs ๐Ÿ’ก proposed
14 Toolchain 2.0 ๐Ÿ’ก proposed
15 Scaffolding ๐Ÿ’ก proposed
17 CLI support for multiple-environments ๐Ÿ’ก proposed
18 Open Context Providers @ddneilson ๐Ÿ’ก proposed
19 Introspection API ๐Ÿ’ก proposed
20 Security posture summary ๐Ÿ’ก proposed
21 CDK Explorer Roadmap ๐Ÿ’ก proposed
22 Cost calculator ๐Ÿ’ก proposed
23 Stateful resource support ๐Ÿ’ก proposed
24 Resource imports ๐Ÿ’ก proposed
25 Defaults & configuration policy ๐Ÿ’ก proposed
26 Monitoring packs ๐Ÿ’ก proposed
27 200 resource limit tools & guidance ๐Ÿ’ก proposed
30 Improve synthesized template output ๐Ÿ’ก proposed
31 Integration tests ๐Ÿ’ก proposed
32 App-centric operational experience ๐Ÿ’ก proposed
39 Release public artifacts (lambda layers for custom resources, docker images) ๐Ÿ’ก proposed
40 Stack traces across language boundaries ๐Ÿ’ก proposed
48 Faster builds ๐Ÿ’ก proposed
51 Standardize security groups ๐Ÿ’ก proposed
58 Improved ergonomics for stack default environment ๐Ÿ’ก proposed
63 CDK in Secure Environments ๐Ÿ’ก proposed
64 Garbage Collection for Assets @kaizencc ๐Ÿ’ก proposed
65 CDK Code Generation from AWS Console ๐Ÿ’ก proposed
66 StackSets Support ๐Ÿ’ก proposed
67 Monitoring Packs ๐Ÿ’ก proposed
69 One-off "job" Stacks ("auto destruct") ๐Ÿ’ก proposed
70 Cost Estimation Tools ๐Ÿ’ก proposed
72 Stack Policy ๐Ÿ’ก proposed
73 AWS Resource Model ๐Ÿ’ก proposed
74 Common API for Resources with Web Addresses ๐Ÿ’ก proposed
78 Feature proposal: Workspaces ๐Ÿ’ก proposed
81 AWS Landing Zone CDK pattern request ๐Ÿ’ก proposed
82 Weak references ๐Ÿ’ก proposed
83 Global Name Prefix ๐Ÿ’ก proposed
86 AWS Account Alias Resource ๐Ÿ’ก proposed
127 CDK to directly reference/import/update an existing stack ๐Ÿ’ก proposed
139 "fromLookup" for additional resources ๐Ÿ’ก proposed
158 Implement Custom Resources in the AWS Construct Library as CFN Registry Resource Types ๐Ÿ’ก proposed
159 Cross-App Resource Sharing ๐Ÿ’ก proposed
161 Cross-Region/Account References ๐Ÿ’ก proposed
162 CDK Refactoring Tools ๐Ÿ’ก proposed
180 CustomResources: Allow usage across accounts ๐Ÿ’ก proposed
193 Fixing of type unions @RomainMuller ๐Ÿ’ก proposed
201 Construct scope relocation ๐Ÿ’ก proposed
217 Alternative Infrastructure Providers @ccfife ๐Ÿ’ก proposed
219 ECS Patterns Service Builder ๐Ÿ’ก proposed
223 Improvements to Lambda Development Experience ๐Ÿ’ก proposed
228 CDK CLI Triggers ๐Ÿ’ก proposed
229 Construct library pattern for metrics ๐Ÿ’ก proposed
230 Construct library pattern for grants ๐Ÿ’ก proposed
231 Construct library pattern for resources that use a VPC ๐Ÿ’ก proposed
232 Construct library pattern for resources that need IAM roles ๐Ÿ’ก proposed
242 Bootstrap stacks as CDK apps ๐Ÿ’ก proposed
244 Migration path for EKS Developer Preview ๐Ÿ’ก proposed
247 CDK Common Stored Data Type Model ๐Ÿ’ก proposed
248 Standardized context key for "cheap mode" ๐Ÿ’ก proposed
256 ReactCDK: Add JSX/TSX Support ๐Ÿ’ก proposed
275 route53-patterns for cross account DNS delegation ๐Ÿ’ก proposed
277 cdk logs ๐Ÿ’ก proposed
294 Policy Definition and Enforcement ๐Ÿ’ก proposed
300 Programmatic access of AWS CDK CLI ๐Ÿ’ก proposed
305 support code signing of assets ๐Ÿ’ก proposed
309 Parameter Store for cross stack references ๐Ÿ’ก proposed
313 Questions on the Go Bindings RFC ๐Ÿ’ก proposed
348 CloudFormationController - refactor CloudFormation stacks ๐Ÿ’ก proposed
370 CLI deploy with change set review confirmation ๐Ÿ’ก proposed
375 Support Encode Properties for CloudFormation CustomResource ๐Ÿ’ก proposed
380 Remove Node.js as an installed pre-requisite for the jsii runtime ๐Ÿ’ก proposed
394 WAF v2 L2 Construct ๐Ÿ’ก proposed
399 SSM Document as Objects ๐Ÿ’ก proposed
400 RUM AppMonitor L2 Construct ๐Ÿ’ก proposed
402 Glue DataBrew L2 Construct ๐Ÿ’ก proposed
418 CDK Operator CLI ๐Ÿ’ก proposed
423 IoT Sitewise L2 Construct ๐Ÿ’ก proposed
426 AppConfig L2 Construct ๐Ÿ’ก proposed
428 Amazon CloudWatch Evidently L2 Constructs ๐Ÿ’ก proposed
434 AWS Ground Station L2 Constructs ๐Ÿ’ก proposed
437 CDK post-deployment experience ๐Ÿ’ก proposed
441 Add Sagemaker endpoint L2 construct ๐Ÿ’ก proposed
446 Network Firewall L2 Constructs ๐Ÿ’ก proposed
448 AWS Compute Optimizer Constructs ๐Ÿ’ก proposed
450 AWS CDK public roadmap ๐Ÿ’ก proposed
458 Service Catalog ProductStack Asset Support ๐Ÿ’ก proposed
463 Glue View L2 Construct ๐Ÿ’ก proposed
465 AWS Organizations L2 Construct @Naumel ๐Ÿ’ก proposed
467 Add L2 constructs for Amaxon FSx Windows ๐Ÿ’ก proposed
469 AWS Lambda for .NET Support ๐Ÿ’ก proposed
470 Amazon Aurora Serverless v2 support ๐Ÿ’ก proposed
471 Amazon Managed Grafana L2 Constructs ๐Ÿ’ก proposed
473 EventBridge Pipes L2 Construct @mrgrain ๐Ÿ’ก proposed
481 Add L2 constructs for Amazon Redshift Serverless ๐Ÿ’ก proposed
483 AppFlow L2 Constructs @iliapolo ๐Ÿ’ก proposed
487 New L2 Construct for Step Functions Map State in Distributed Mode ๐Ÿ’ก proposed
489 Add API to register and execute code before or after CDK App lifecycle events ๐Ÿ’ก proposed
491 CloudFront Origin Access Control L2 ๐Ÿ’ก proposed
492 Amazon OpenSearch Serverless L2 Construct ๐Ÿ’ก proposed
495 AWS IAM Identity Store L2 construct ๐Ÿ’ก proposed
497 AWS Glue L2 CDK Construct @TheRealAmazonKendra ๐Ÿ’ก proposed
499 AppConfig L2 Constructs ๐Ÿ’ก proposed
501 L2 Constructs for Lattice Service ๐Ÿ’ก proposed
502 Amazon VPC Lattice L2 Construct ๐Ÿ’ก proposed
509 Add Step Functions SageMaker CreateProcessingJob task construct ๐Ÿ’ก proposed
512 Thumbprint L2 Construct for use with IAM OIDC Provider ๐Ÿ’ก proposed
513 Application Specific Staging Resources ๐Ÿ’ก proposed
1 CDK Watch โœ… done
6 Monolithic Packaging โœ… done
7 Lambda Bundles โœ… done
16 RFC Process @MrArnoldPalmer โœ… done
34 Third-party construct ecosystem โœ… done
35 Publish construct library guidelines โœ… done
36 Constructs Programming Model โœ… done
37 Release from a "release" branch @MrArnoldPalmer โœ… done
49 CI/CD for CDK apps @rix0rrr โœ… done
55 Feature Flags โœ… done
71 Deployment Triggers โœ… done
79 CDK v2.0 โœ… done
92 CI/CD Asset Publishing @rix0rrr โœ… done
95 Cognito Construct Library @nija-at โœ… done
107 Publish a Construct Library Module Lifecycle document @ccfife โœ… done
110 CLI Compatibility Strategy @iliapolo โœ… done
116 Easier identification of experimental modules โœ… done
171 CloudFront Module Redesign โœ… done
192 Removal of the "constructs" compatibility layer (v2.0) @eladb โœ… done
204 JSII Go Support @MrArnoldPalmer โœ… done
249 Experimental Code in CDK v2 @ericzbeard โœ… done
253 CDK Metadata v2 โœ… done
282 CDK Pipelines security posture change approvals โœ… done
287 Deprecated API Warnings โœ… done
308 CLI notices โœ… done
322 CDK Pipelines Updated API โœ… done
324 Construct Hub @RomainMuller โœ… done
328 polyglot assert library @nija-at โœ… done
353 Constructs for all public CloudFormation resources and modules โœ… done
359 Construct Hub Deny List โœ… done
374 The jsii compiler to follow TypeScript versioning โœ… done
388 CLI Banners โœ… done
477 Add policy validation to CDK @otaviomacedo โœ… done
60 Bazel Build System ๐Ÿ‘Ž rejected
164 Construct Library Segments @nija-at ๐Ÿ‘Ž rejected
272 CI/CD to Cloudfront Deploy ๐Ÿ‘Ž rejected
436 Amazon GameLift L2 Constructs โ“unknown
485 AWS Batch L2 โ“unknown

What is an RFC?

An RFC is a document that proposes a change to one of the projects led by the CDK team at AWS. Request for Comments means a request for discussion and oversight about the future of the project from maintainers, contributors and users.

When should I write an RFC? The CDK team proactively decides to write RFCs on major features or complex changes that we feel require that extra vetting. However, the process is designed to be as lightweight as needed and can be used to request feedback on any change. Quite often, even changes that seem obvious and simple at first sight can be significantly improved once a wider group of interested and experienced people have a chance to weigh in.

Who should submit an RFC? An RFC can be submitted by anyone. In most cases, RFCs are authored by CDK maintainers, but contributors are more than welcome to submit RFCs.

If you are a contributor and you wish to write an RFC, please contact the core team at the #aws-cdk-rfcs to make sure someone from the core team can sponsor your work. Otherwise, there is a good chance we won't have bandwidth to help.

RFC Process

To start an RFC process, create a new tracking issue and follow the instructions in the issue template. It includes a checklist of the various stages an RFC goes through.

This section describes each stage in detail, so you can refer to it for guidance.

1. Tracking Issue

Each RFC has a GitHub issue which tracks it from start to finish. The issue is the hub for conversations, community signal (+1s) and the issue number is used as the unique identifier of this RFC.

Before creating a tracking issue, please search for similar or related ideas in the RFC table above or in the issue list of this repo. If there is a relevant RFC, collaborate on that existing RFC, based on its current stage.

Our tracking issue template includes a checklist of all the steps an RFC goes through and it's the driver's responsibility to update the checklist and assign the correct label to on the RFC throughout the process.

When the issue is created, it is required to fill in the following information:

  1. Title: the name of the feature or change - think changelog entry.
  2. Description: a short description of feature, as if it was already implemented.
  3. Proposed by: fill in the GitHub alias of the person who proposed the idea under "Proposed by".

2. API Bar Raiser

Reach us via #aws-cdk-rfcs to get an "API Bar Raiser" assigned to your RFC.

For each RFC, CDK leadership will assign an API Bar Raiser who reviews and approves the public API of the feature. API Bar Raisers have veto rights on API-related design decisions, such as naming, structure, options, CLI commands and others.

The public API of a feature represents the surface through which users interact with it, and we want to make sure these APIs are consistent, ergonomic and designed based on the intent and the mental model of our users. Additionally, once we announce that a feature is "stable" (1.0, GA, etc) any breaking change to its public API will require releasing a new major version, so we like think of API decisions as "one way doors".

API Bar Raisers will be assigned using a tiering model which is generally based on the size of the user base that will likely get exposed to the feature. As a general rule, the more "significant" the feature is, we will assign a bar raiser with a wider and longer-term context of the project.

To merge an RFC, a sign-off from the bar raiser is required on the public API of the feature, so we encourage to engage with them early in the process to make sure you are aligned on how the API should be designed.

NOTE: The technical solution proposed in an RFC does not require approval beyond the normal pull request approval model (e.g. a core team member needs to approve the RFC PR and any subsequent changes to it).

3. Kick-off

Before diving into writing the RFC, it is highly recommended to organize a kick-off meeting that includes the API Bar Raiser and any stakeholders that might be interested in this RFC or can contribute ideas and direction. The goal of the meeting is to discuss the feature, its scope and general direction for implementation.

If you are not part of the CDK team at Amazon, reach out to us via #aws-cdk-rfcs and we will help to organize the kick-off meeting.

Our experience shows that such a meeting can save a lot of time and energy.

You can use the tracking issue to record some initial API and design ideas and collect early feedback and use cases as a preparation for the kick-off meeting and RFC document itself. You can start the meeting by letting participants obtaining context from the tracking issue.

At the end of the meeting, record any ideas and decisions in the tracking issue and update the checklist to indicate that the kick-off meeting has happened.

4. RFC Document

The next step is to write the first revision of the RFC document itself.

Create a file under text/NNNN-name.md based off of the template under 0000-template.md (where NNNN is your tracking issue number). Follow the template. It includes useful guidance and tips on how to write a good RFC.

What should be included in an RFC? The purpose of an RFC is to reduce ambiguity and risk and get approval for public-facing interfaces (APIs), which are "one-way doors" after the feature is released. Another way to think about it is that the goal and contents of the document should allow us to create a high-confidence implementation plan for a feature or a change.

In many cases, it is useful to develop a prototype or even start coding the actual implementation while you are writing the RFC document. Take into account that you may need to throw your code away or refactor it substantially, but our experience shows that good RFCs are the ones who dive into the details. A prototype is great way to make sure your design "holds water".

5. Feedback

Once you have an initial version of your RFC document (it is completely fine to submit an unfinished RFC to get initial feedback), submit it as a pull request against this repo and start collecting feedback.

Contact the CDK core team at #aws-cdk-rfcs (or via email/Slack if you are part of the core team) and reach out to the public and Amazon internal communities via various Slack channels in cdk.dev, Twitter and any other relevant forum.

This is the likely going to be the longest part of your RFC process, and where most of the feedback is collected. Some RFCs resolve quickly and some can take months (!!). Take into account at least 1-2 weeks to allow community and stakeholders to provide their feedback.

A few tips:

  • If you decide to resolve a comment without addressing it, take the time to explain.
  • Try to understand where people are coming from. If a comment seems off, ask folks to elaborate and describe their use case or provide concrete examples.
  • Work with your API bar raiser: if there are disagreements, @mention them in a comment and ask them to provide their opinion.
  • Be patient: it sometimes takes time for an RFC to converge. Our experience shows that some ideas need to "bake" and solutions oftentimes emerge via a healthy debate. We've had RFCs that took months to resolve.
  • Not everything must be resolved in the first revision. It is okay to leave some things to resolve later. Make sure to capture them clearly and have an agreement about that. We oftentimes update an RFC doc a few times during the implementation.

6. API Sign-off

Before you can merge your RFC, you will need the API Bar Raiser to sign-off on the public API of your feature. This is will normally be described under the Working Backwards section of your RFC.

To sign-off, the API bar raiser will add the api-approved label to the RFC pull request.

Once the API was signed-off, update your RFC document and add a [x] the relevant location in the RFC document. For example:

[x] Signed-off by API Bar Raiser @foobar

7. Final Comments Period

At some point, you've reached consensus about most issues that were brought up during the review period, and you are ready to merge. To allow "last call" on feedback, the author can announce that the RFC enters "final comments period", which means that within a ~week, if no major concerns are raised, the RFC will be approved and merged.

Add a comment on the RFC pull request, tracking issue (and possibly slack/email if relevant) that the RFC entered this stage so that all relevant stakeholders will be notified.

Once the final comments period is over, seek an approval of one of the core team members, and you can merge your PR to the main branch. This will move your RFC to the "approved" state.

8. Implementation

For large changes, we highly recommend creating an implementation plan which lists all the tasks required. In many cases, large implementation should be broken down and released via multiple iterations. Devising a concrete plan to break down the break can be very helpful.

The implementation plan should be submitted through a PR that adds an addendum to the RFC document and seeks the approval of any relevant stakeholders.

Throughout this process, update the tracking issue:

  • Add the alias of the "implementation lead"
  • Execution plan submitted (label: status/planning)
  • Plan approved and merged (label: status/implementing)
  • Implementation complete (label: status/done)

State Diagram

The following state diagram describes the RFC process:

rfc-states

  1. Proposed - A tracking issue has been created with a basic outline of the proposal.
  2. Review - An RFC document has been written with a detailed design and a PR is under review. At this point the PR will be assigned a shepherd from the core team.
  3. Final Comment Period - The shepherd has approved the RFC PR, and announces that the RFC enters a period for final comments before it will be approved (~1wk). At this stage, if major issues are raised, the RFC may return to Review.
  4. Approved - The RFC PR is approved and merged to master, and the RFC is now ready to be implemented.
  5. Planning - A PR is created with the Implementation Plan section of the RFC.
  6. Implementing - Implemetation plan is approved and merged and the RFC is actively being implemented.
  7. Done - Implementation is complete and merged across appropriate repositories.
  8. Rejected - During the review period, the RFC may be rejected and then it will be marked as such.

AWS CDK's RFC process owes its inspiration to the Yarn RFC process, Rust RFC process, React RFC process, and Ember RFC process

More Repositories

1

aws-cli

Universal Command Line Interface for Amazon Web Services
Python
14,304
star
2

chalice

Python Serverless Microframework for AWS
Python
10,654
star
3

aws-cdk

The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code
JavaScript
10,440
star
4

amazon-sagemaker-examples

Example ๐Ÿ““ Jupyter notebooks that demonstrate how to build, train, and deploy machine learning models using ๐Ÿง  Amazon SageMaker.
Jupyter Notebook
9,542
star
5

serverless-application-model

The AWS Serverless Application Model (AWS SAM) transform is a AWS CloudFormation macro that transforms SAM templates into CloudFormation templates.
Python
9,342
star
6

aws-sdk-js

AWS SDK for JavaScript in the browser and Node.js
JavaScript
7,476
star
7

aws-sam-cli

CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
Python
6,506
star
8

aws-sdk-php

Official repository of the AWS SDK for PHP (@awsforphp)
PHP
5,886
star
9

containers-roadmap

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
Shell
5,164
star
10

karpenter

Karpenter is a Kubernetes Node Autoscaler built for flexibility, performance, and simplicity.
Go
4,615
star
11

s2n-tls

An implementation of the TLS/SSL protocols
C
4,465
star
12

aws-sdk-java

The official AWS SDK for Java 1.x. The AWS SDK for Java 2.x is available here: https://github.com/aws/aws-sdk-java-v2/
Java
4,117
star
13

aws-lambda-go

Libraries, samples and tools to help Go developers develop AWS Lambda functions.
Go
3,624
star
14

aws-sdk-pandas

pandas on AWS - Easy integration with Athena, Glue, Redshift, Timestream, Neptune, OpenSearch, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretManager, PostgreSQL, MySQL, SQLServer and S3 (Parquet, CSV, JSON and EXCEL).
Python
3,537
star
15

copilot-cli

The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner or Amazon ECS on AWS Fargate.
Go
3,488
star
16

aws-sdk-ruby

The official AWS SDK for Ruby.
Ruby
3,462
star
17

amazon-freertos

DEPRECATED - See README.md
C
2,535
star
18

aws-sdk-go-v2

AWS SDK for the Go programming language.
Go
2,518
star
19

aws-sdk-js-v3

Modularized AWS SDK for JavaScript.
TypeScript
2,476
star
20

jsii

jsii allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the AWS Cloud Development Kit to deliver polyglot libraries from a single codebase!
TypeScript
2,371
star
21

sagemaker-python-sdk

A library for training and deploying machine learning models on Amazon SageMaker
Python
2,095
star
22

amazon-vpc-cni-k8s

Networking plugin repository for pod networking in Kubernetes using Elastic Network Interfaces on AWS
Go
2,071
star
23

aws-eks-best-practices

A best practices guide for day 2 operations, including operational excellence, security, reliability, performance efficiency, and cost optimization.
Python
2,022
star
24

amazon-ecs-agent

Amazon Elastic Container Service Agent
Go
2,005
star
25

lumberyard

Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch โ€“ with full source.
C++
1,965
star
26

aws-sdk-net

The official AWS SDK for .NET. For more information on the AWS SDK for .NET, see our web site:
1,945
star
27

eks-anywhere

Run Amazon EKS on your own infrastructure ๐Ÿš€
Go
1,899
star
28

aws-sdk-java-v2

The official AWS SDK for Java - Version 2
Java
1,822
star
29

aws-sdk-cpp

AWS SDK for C++
1,779
star
30

amazon-ecs-cli

The Amazon ECS CLI enables users to run their applications on ECS/Fargate using the Docker Compose file format, quickly provision resources, push/pull images in ECR, and monitor running applications on ECS/Fargate.
Go
1,725
star
31

aws-sdk-php-laravel

A Laravel 5+ (and 4) service provider for the AWS SDK for PHP
PHP
1,589
star
32

serverless-java-container

A Java wrapper to run Spring, Spring Boot, Jersey, and other apps inside AWS Lambda.
Java
1,483
star
33

aws-node-termination-handler

Gracefully handle EC2 instance shutdown within Kubernetes
Go
1,443
star
34

aws-lambda-dotnet

Libraries, samples and tools to help .NET Core developers develop AWS Lambda functions.
C#
1,430
star
35

aws-fpga

Official repository of the AWS EC2 FPGA Hardware and Software Development Kit
VHDL
1,380
star
36

eks-distro

Amazon EKS Distro (EKS-D) is a Kubernetes distribution based on and used by Amazon Elastic Kubernetes Service (EKS) to create reliable and secure Kubernetes clusters.
Shell
1,263
star
37

eks-charts

Amazon EKS Helm chart repository
Mustache
1,184
star
38

s2n-quic

An implementation of the IETF QUIC protocol
Rust
1,152
star
39

aws-toolkit-vscode

CodeWhisperer, CodeCatalyst, Local Lambda debug, SAM/CFN syntax, ECS Terminal, AWS resources
TypeScript
1,150
star
40

opsworks-cookbooks

Chef Cookbooks for the AWS OpsWorks Service
Ruby
1,058
star
41

aws-codebuild-docker-images

Official AWS CodeBuild repository for managed Docker images http://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref.html
Dockerfile
1,032
star
42

amazon-ssm-agent

An agent to enable remote management of your EC2 instances, on-premises servers, or virtual machines (VMs).
Go
975
star
43

aws-iot-device-sdk-js

SDK for connecting to AWS IoT from a device using JavaScript/Node.js
JavaScript
957
star
44

aws-iot-device-sdk-embedded-C

SDK for connecting to AWS IoT from a device using embedded C.
C
926
star
45

aws-health-tools

The samples provided in AWS Health Tools can help users to build automation and customized alerting in response to AWS Health events.
Python
887
star
46

aws-graviton-getting-started

Helping developers to use AWS Graviton2, Graviton3, and Graviton4 processors which power the 6th, 7th, and 8th generation of Amazon EC2 instances (C6g[d], M6g[d], R6g[d], T4g, X2gd, C6gn, I4g, Im4gn, Is4gen, G5g, C7g[d][n], M7g[d], R7g[d], R8g).
Python
850
star
47

aws-app-mesh-examples

AWS App Mesh is a service mesh that you can use with your microservices to manage service to service communication.
Shell
844
star
48

deep-learning-containers

AWS Deep Learning Containers (DLCs) are a set of Docker images for training and serving models in TensorFlow, TensorFlow 2, PyTorch, and MXNet.
Python
800
star
49

aws-parallelcluster

AWS ParallelCluster is an AWS supported Open Source cluster management tool to deploy and manage HPC clusters in the AWS cloud.
Python
782
star
50

aws-lambda-runtime-interface-emulator

Go
771
star
51

aws-toolkit-jetbrains

AWS Toolkit for JetBrains - a plugin for interacting with AWS from JetBrains IDEs
Kotlin
735
star
52

graph-notebook

Library extending Jupyter notebooks to integrate with Apache TinkerPop, openCypher, and RDF SPARQL.
Jupyter Notebook
706
star
53

aws-iot-device-sdk-python

SDK for connecting to AWS IoT from a device using Python.
Python
670
star
54

amazon-chime-sdk-js

A JavaScript client library for integrating multi-party communications powered by the Amazon Chime service.
TypeScript
655
star
55

amazon-ec2-instance-selector

A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory
Go
642
star
56

studio-lab-examples

Example notebooks for working with SageMaker Studio Lab. Sign up for an account at the link below!
Jupyter Notebook
625
star
57

aws-secretsmanager-agent

The AWS Secrets Manager Agent is a local HTTP service that you can install and use in your compute environments to read secrets from Secrets Manager and cache them in memory.
Rust
584
star
58

event-ruler

Event Ruler is a Java library that allows matching many thousands of Events per second to any number of expressive and sophisticated rules.
Java
564
star
59

aws-sdk-rails

Official repository for the aws-sdk-rails gem, which integrates the AWS SDK for Ruby with Ruby on Rails.
Ruby
554
star
60

aws-mwaa-local-runner

This repository provides a command line interface (CLI) utility that replicates an Amazon Managed Workflows for Apache Airflow (MWAA) environment locally.
Shell
553
star
61

amazon-eks-pod-identity-webhook

Amazon EKS Pod Identity Webhook
Go
534
star
62

aws-lambda-java-libs

Official mirror for interface definitions and helper classes for Java code running on the AWS Lambda platform.
C++
518
star
63

aws-lambda-base-images

506
star
64

aws-appsync-community

The AWS AppSync community
HTML
495
star
65

sagemaker-training-toolkit

Train machine learning models within a ๐Ÿณ Docker container using ๐Ÿง  Amazon SageMaker.
Python
493
star
66

dotnet

GitHub home for .NET development on AWS
487
star
67

aws-sam-cli-app-templates

Python
472
star
68

aws-elastic-beanstalk-cli-setup

Simplified EB CLI installation mechanism.
Python
453
star
69

amazon-cloudwatch-agent

CloudWatch Agent enables you to collect and export host-level metrics and logs on instances running Linux or Windows server.
Go
403
star
70

secrets-store-csi-driver-provider-aws

The AWS provider for the Secrets Store CSI Driver allows you to fetch secrets from AWS Secrets Manager and AWS Systems Manager Parameter Store, and mount them into Kubernetes pods.
Go
393
star
71

amazon-braket-examples

Example notebooks that show how to apply quantum computing in Amazon Braket.
Python
376
star
72

aws-for-fluent-bit

The source of the amazon/aws-for-fluent-bit container image
Shell
375
star
73

aws-pdk

The AWS PDK provides building blocks for common patterns together with development tools to manage and build your projects.
TypeScript
361
star
74

aws-extensions-for-dotnet-cli

Extensions to the dotnet CLI to simplify the process of building and publishing .NET Core applications to AWS services
C#
346
star
75

aws-sdk-php-symfony

PHP
346
star
76

aws-app-mesh-roadmap

AWS App Mesh is a service mesh that you can use with your microservices to manage service to service communication
344
star
77

aws-lambda-builders

Python library to compile, build & package AWS Lambda functions for several runtimes & framework
Python
337
star
78

aws-iot-device-sdk-python-v2

Next generation AWS IoT Client SDK for Python using the AWS Common Runtime
Python
335
star
79

constructs

Define composable configuration models through code
TypeScript
332
star
80

pg_tle

Framework for building trusted language extensions for PostgreSQL
C
329
star
81

graph-explorer

React-based web application that enables users to visualize both property graph and RDF data and explore connections between data without having to write graph queries.
TypeScript
321
star
82

aws-codedeploy-agent

Host Agent for AWS CodeDeploy
Ruby
316
star
83

aws-sdk-ruby-record

Official repository for the aws-record gem, an abstraction for Amazon DynamoDB.
Ruby
313
star
84

aws-ops-wheel

The AWS Ops Wheel is a randomizer that biases for options that havenโ€™t come up recently; you can also outright cheat and specify the next result to be generated.
JavaScript
308
star
85

aws-xray-sdk-python

AWS X-Ray SDK for the Python programming language
Python
304
star
86

sagemaker-inference-toolkit

Serve machine learning models within a ๐Ÿณ Docker container using ๐Ÿง  Amazon SageMaker.
Python
303
star
87

efs-utils

Utilities for Amazon Elastic File System (EFS)
Python
286
star
88

amazon-ivs-react-native-player

A React Native wrapper for the Amazon IVS iOS and Android player SDKs.
TypeScript
286
star
89

sagemaker-spark

A Spark library for Amazon SageMaker.
Scala
282
star
90

apprunner-roadmap

This is the public roadmap for AWS App Runner.
280
star
91

aws-xray-sdk-go

AWS X-Ray SDK for the Go programming language.
Go
274
star
92

aws-toolkit-eclipse

(End of life: May 31, 2023) AWS Toolkit for Eclipse
Java
273
star
93

elastic-beanstalk-roadmap

AWS Elastic Beanstalk roadmap
272
star
94

aws-logging-dotnet

.NET Libraries for integrating Amazon CloudWatch Logs with popular .NET logging libraries
C#
271
star
95

sagemaker-tensorflow-training-toolkit

Toolkit for running TensorFlow training scripts on SageMaker. Dockerfiles used for building SageMaker TensorFlow Containers are at https://github.com/aws/deep-learning-containers.
Python
270
star
96

aws-lc-rs

aws-lc-rs is a cryptographic library using AWS-LC for its cryptographic operations. The library strives to be API-compatible with the popular Rust library named ring.
Rust
263
star
97

elastic-load-balancing-tools

AWS Elastic Load Balancing Tools
Java
262
star
98

aws-step-functions-data-science-sdk-python

Step Functions Data Science SDK for building machine learning (ML) workflows and pipelines on AWS
Python
261
star
99

amazon-braket-sdk-python

A Python SDK for interacting with quantum devices on Amazon Braket
Python
254
star
100

aws-xray-sdk-node

The official AWS X-Ray SDK for Node.js.
JavaScript
248
star