
Template Repositoriesįor each of our standard projects we started by making a GitHub Template Repository. We have two classes of GitHub repositories that we can create with this job Template Repositories or Blank Repositories. Here at FloQast we have chosen to use Jenkins Pipeline jobs for applying our Terraform. This workflow can also be set up independently of the forthcoming Slack slash command and can be triggered by any number of methods. With a bit of backronyming we settled on “(G)itHub (R)epository (A)utomation to (I)ncrease (L)egerity” or GRAIL.Īs with most projects, GRAIL started life as a white boarded sequence diagram:Īt the base of our stack is a set of Terraform scripts that is set up to run against the GitHub Terraform Provider. Our developers will then be able to iterate quicker without needing to worry about setting up any backend infrastructure.

The goal of this project is to be able to quickly create new GitHub repositories, based off of a set of templates, and do so in an automated fashion.


Since all of these React applications basically start life with a common set of attributes, we thought: “What if we could create a new React application without a developer needing to know about the infrastructure or our CI/CD pipeline Moreover, what if they could do this all from within Slack?” With this question, our GRAIL project was formed. One of the projects we are developing is a collection of React applications that is stored in an S3 bucket sitting behind a Cloudfront Content Delivery Network. Here at FloQast, we use a combination of GitHub, Jenkins, Terraform, and AWS for maintaining, deploying, building, and housing our infrastructure and software applications.
