Enterprise-CMCS / macpro-quickstart-serverless

Other
18 stars 14 forks source link

Enhancement: Break Plugins Out Into Their Own Repositories #288

Closed macrael closed 3 years ago

macrael commented 3 years ago

Type of Issue:

Issue Creator Checklist

Background

As part of https://github.com/CMSgov/macpro-quickstart-serverless/issues/233 and https://github.com/CMSgov/macpro-quickstart-serverless/issues/257 the serverless plugins serverless-iam-helper, serverless-idempotency-helper, and serverless-s3-bucket-helper were created. These plugins are used by other services to make our deploys faster and our S3 buckets encrypted. They currently reside in the quickstart repo in their own directory and the recommended method for adopting them is to copy them into your own project.

Proposed Approach

I propose that we pull those plugins out into NPM modules so that they can be versioned and imported like other dependencies.

Value

The quickstart has been a superb starting point for several projects now. The only rough edge for us has been in adopting changes that were merged to the quickstart after we forked it. Reading diffs line by line and copying the applicable changes into our repo has been error prone. These plugins are completely stand alone and breaking them out into their own repos could help us establish a pattern where some code that is being shared by all these teams can be managed in a way where they can be imported directly without any copypasta.

Our new usage of dependabot will also pair well with this, if there are updates pushed to one of the plugins then depnedabot will make a PR to take those changes on automatically, mediated by the package.json's version requirements.

AC:

mdial89f commented 3 years ago

Closed by #306