Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Constructs Programming Model #36

Closed
1 of 10 tasks
eladb opened this issue Dec 10, 2019 · 6 comments
Closed
1 of 10 tasks

Constructs Programming Model #36

eladb opened this issue Dec 10, 2019 · 6 comments
Labels
effort/medium Reasonable effort required for implementation status/done Implementation complete

Comments

@eladb
Copy link
Contributor

eladb commented Dec 10, 2019

PR Champion
#

Description

The AWS CDK demonstrates that leveraging general purpose programming languages
to define complex configuration modules brings value to users. At the heart of
the AWS CDK lies the "constructs programming model" which consists of a simple
pattern that enables composition and synthesis.

Recently, there were a few initiatives to build CDKs for other domains with
similar characteristics. Examples are Kubernetes, Terraform and GitHub Actions.

We wish to enable the creation of these "sister" CDK projects by extracting the
constructs programming model into an independent library, which can be leveraged
for any domain without taking a dependency on the AWS CDK.

In order to enable composition of constructs across domains (e.g. Kubernetes app
defined within an AWS CDK app), we will need to extract the Construct base
class from the @aws-cdk/core module and into a separate module and AWS CDK users
will need to take a dependency on this new module.

Note that this means that all CDK apps and libraries will also need to take a peer dependency on this new module.

Spaces:

  • Terraform
  • Kubernetes
  • F5

Progress

  • Tracking Issue Created
  • RFC PR Created
  • Core Team Member Assigned
  • Initial Approval / Final Comment Period
  • Ready For Implementation
    • implementation issue 1
  • Resolved
@skinny85
Copy link
Contributor

skinny85 commented Dec 10, 2019

GitHub Actions?

@MrArnoldPalmer MrArnoldPalmer added the status/proposed Newly proposed RFC label Jan 4, 2020
@eladb eladb changed the title Sister CDKs Constructs Programming Model Feb 3, 2020
@eladb eladb mentioned this issue Feb 4, 2020
@eladb eladb added status/done Implementation complete and removed status/proposed Newly proposed RFC labels Apr 7, 2020
@eladb eladb self-assigned this Apr 14, 2020
@eladb eladb added the effort/medium Reasonable effort required for implementation label Apr 16, 2020
@pgollucci
Copy link

I am interested in this. Dare I say it other Clouds? But no really, Kubernetes

@eladb
Copy link
Contributor Author

eladb commented Jun 4, 2020

We have released this as an independent library called constructs and also have an alpha version of https://cdk8s.io

@eladb eladb removed their assignment Feb 25, 2021
@pgollucci
Copy link

This seems done esp with 10.x. Can be closed?

@eladb
Copy link
Contributor Author

eladb commented May 5, 2021

Yes, done.

@eladb eladb closed this as completed May 5, 2021
@jjkavalam
Copy link

@eladb Where could i find an introduction to the Constructs Programming Model ? I can see that the idea is really effective; but i would like to get some guidance on using it. I am interested in applying it on a domain different from aws/k8s.

The readme at https://github.com/aws/constructs is unfortunately not quite helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/medium Reasonable effort required for implementation status/done Implementation complete
Projects
None yet
Development

No branches or pull requests

5 participants