Contributing
We're so glad you're interested in Contributing to Scaffoldly or interested in learning more about our open source tooling.
If you'd like to contribute, Join the Slack Community and hop into the #contributing
channel.
You can also check out the various Open Source Tooling we provide, maintain, use, and contribute to below.
Open Source Components
Scaffoldly outfits a User or Organization with a lot of tooling. For transparency, we have open-sourced the tooling and components for full transparency of stacks we create and manage
Infrastructure
Terraform for AWS
When the scaffoldly-bootstrap
project is created, it's created using the Terraform AWS Archetype.
The scaffoldly-bootstrap
then configures an AWS account using the Terraform AWS Bootstrap Terraform Module, which is generally available in Terraform Registry, as well as the Additional Modules that are used. Links to the GitHub repositories can be found in each module within the Scaffoldly Project on GitHub.
Code Templates
When Scaffoldly creates Microservices, we've partnered with an open-source template rendering tool called Archetect. Scaffoldly has developed a GitHub Action for Archetect to render Archetypes on a repository, and all projects are created using the GitHub Template.
Serverless Express Microservices
When Microservices are created, they're creating using the Serverless Express REST API Archetype. Various different ways we customize options in the generated tempates build it can be found here.
CI/CD
Infrastructure
Scaffoldly provides a Bootstrap Action to execute terraform plan
and terraform apply
operations within GitHub. This is automatically added to the scaffoldly-bootstrap
repositories during Template Rendering.
Microservices
Scaffoldly provides a Bump Version Action to execute deploys to AWS for nonlive
and live
environments. This is automatically added to each Microservice during Template Rendering.
Libraries
TypeScript
For each Serverless Express REST API that is generated, the serverless-util NPM package is added to simplify interaction with various components in AWS, such as Getting/Fetching Secrets, interacting with DynamoDB, and much more.
Utilities
OpenAPI Generation
We've leveraged the OpenAPI Generator project to automatically generate OpenAPI/Swagger docs when the project is built. In TypeScript, it auto-generates the OpenAPI document using Tsoa.
We've written a Wrapper to the OpenAPI CLI to discover and auto-generate OpenAPI docs for each microservice in your project.
Dotenv
Each Microservice is outfitted with Dotenv. To standardize environment variable injection from multiple locations in your project, we've written the dotenv-out CLI to write multiple dotenv configurations to a single file in various formats.
Documentation
The documentation that you're reading now is Open Source and we welcome contributions to it. The documentation is hosted generously for free by GitBook.
Last updated