In our previous blog post we opened up our future plans in the form of a roadmap. We also promised to write more detailed posts on each item, and this post is the first.
What is a Stack Builder?
Diploi, our tool to run development & production environments, needs to know the infrastructure for each environment. Until now, someone needed to manually create a template with example code, HELM charts, and everything else Diploi required in order to work. This was quite hard if you had never worked on HELM or Kubernetes before. We want to make it easy for everyone to build a custom tech stack in seconds, without previous knowledge of Kubernetes or Diploi.
Enter the Stack Builder.
How it Works
When you open the builder, you'll get a list of official and community made stacks that are ready to use and include working example code. If you pick one of these pre-made stacks, you can still modify them with extra add-ons like databases and services.
If you need more control, you can switch to a custom stack, where you may pick all the components yourself.
For example, you could pick a stack with Node.js front-end and a Laravel backend with a PostgreSQL DB and a Redis cache. All pre-configured and ready to go with a few clicks.
After you have made your selection, Diploi will build a monorepo for your with all the required code to get you started. With one click, you have a ready-to-go remote code environment with the stack you just built.
How it Works on a Deeper Level
As you create your stack, we compose a diploi.yaml
file for you. This will include all the components and add-ons for your stack, and some neat configuration to import & export env values and so on. This file can be updated in your code editor, and your infrastructure will automatically adapt to the changes. This means that environments in Diploi are fully configured as code.
As we create the monorepo, we also include GitHub actions to build your components, HELM charts to run the internal Kubernetes cluster, setup the required packages for your development environment, and so on.
When Can You Test It?
We are currently working with a small internal testing group to iron out the experience. We aim to have a public beta up and running by the end of the year, so keep your eyes open!