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

How do users get new versions of Control Broker? #32

Open
dnaphas-vri opened this issue Jun 18, 2022 · 4 comments · May be fixed by #34
Open

How do users get new versions of Control Broker? #32

dnaphas-vri opened this issue Jun 18, 2022 · 4 comments · May be fixed by #34
Assignees

Comments

@dnaphas-vri
Copy link
Contributor

dnaphas-vri commented Jun 18, 2022

After I deploy Control Broker in an account, I want to pull in changes from this repo that happened after I initially deployed.

I could pull in changes in Git, but I might have merge conflicts, since the policies for my account live in https://github.com/VerticalRelevance/control-broker/tree/main/supplementary_files/pac_frameworks/ in my repo. And I might have other downstream changes that conflict with upstream, especially since upstream might change the directory structure.

The README says Please note that this software is meant as a starting point and is therefore not production-ready, but this is also a versioned product, and practically speaking I want new features and bug fixes from upstream.

We could deploy Control Broker as a PYPI package and/or to CDK Construct Hub. That would make updates easier, but we would need to rethink how you supply the construct or package with the policies you want to enforce.

@dnaphas-vri dnaphas-vri self-assigned this Jun 20, 2022
@dnaphas-vri
Copy link
Contributor Author

dnaphas-vri commented Jun 21, 2022

If the stacks in the stacks directory were switched over to TypeScript, we could use the NPM registry and Construct Hub, though we would also have to conform to other Construct Hub requirements pertaining to things like file structure.

I think this is worth doing. I think we would have a better chance of seeing Control Broker adopted if we use the CDK ecosystem's tools for code reuse.

We wouldn't have to rewrite the Lambda Function code. Python code could still import and use Control Broker, since Construct Hub constructs are available across languages thanks to JSII.

@eppeters
Copy link
Contributor

From the Contributing page on the Construct Hub site, there are some APN specific benefits to doing this beyond compatibility with other languages:

AWS Partner Network (APN) badge. If you’re an AWS partner and you are publishing a library for your offering, please reach out to us and we will be happy to add a badge to your libraries with your company’s name.

The search page allows searching by Publisher, which appears to be available for APN partners:

image

One less related but potentially helpful thing we could do here is architect this repo to generate Control Broker in both Terraform and Cloudformation, since we have customers who want Terraform, and it would be good to start from a known implementation.

@dnaphas-vri
Copy link
Contributor Author

We're going to port Control Broker's CDK resources from Python to TypeScript, and publish Control Broker to NPM and the CDK Construct Hub, as part of this.

@eppeters
Copy link
Contributor

Creating branch https://github.com/VerticalRelevance/control-broker/tree/construct-hub to track this work.

eppeters pushed a commit that referenced this issue Jun 22, 2022
eppeters added a commit that referenced this issue Jun 22, 2022
This creates a blank CDK project in TypeScript instead of Python, for
eventual publication to Construct Hub.
eppeters added a commit that referenced this issue Jun 22, 2022
eppeters added a commit that referenced this issue Jun 29, 2022
This creates a blank CDK project in TypeScript instead of Python, for
eventual publication to Construct Hub.


Former-commit-id: 366facd
eppeters added a commit that referenced this issue Jun 29, 2022
eppeters added a commit that referenced this issue Jun 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants