At Spacelift, we have historically been focused on providing sophisticated tools for advanced engineers to deploy mission-critical infrastructure to the cloud. We’ve seen some pretty complex deployments and have worked hard to ensure they always go off without a hitch.
As we’ve grown, we’ve had several engineers request to make it easier for other engineers, developers, and people who aren’t quite as involved in the infrastructure process as they are. Essentially, these engineers hope to provide a more self-service deployment mechanism to these other engineers, and Spacelift has heeded the call! Enter Blueprints by Spacelift!
Blueprints are templates for environments that let the administrators configure all defaults, guardrails, and other settings to make it easier for anyone who needs infrastructure to deploy that infrastructure. This could be developers, managers, or other administrators. Any setting available when configuring a stack can be configured as a default value or within certain parameters in Blueprints.
Let’s take a quick look:
As you can see, there are two Blueprints. One of those Blueprints is a draft, and the other is published.
When a Blueprint is first created, it is set as a draft. When you are ready to publish, it’s as simple as clicking a button in the UI or switching a value in the Spacelift Terraform Provider.
Check out this short video with the Blueprints introduction:
Creating a new Blueprint from the UI is a simple process. Of course, since Spacelift is an IaC-first product, you can create them using our Terraform provider. Just head to the Blueprints pane and click on “Create Blueprint,” fill out the necessary fields, and “Create Blueprint Draft”:
Once you have created the draft, you will be presented with your new Blueprint with some uncommented fields and a whole lot of fields that you can use to customize the Blueprint for your users:
Everything that can be customized in a stack can be customized in a Blueprint. You will also notice the robust templating system, input variables, functions, etc. All of these are well documented.
There is even a Command Palette that can be accessed using F1
or right-clicking in the editor window and selecting it:
In the following image, I have configured the Blueprint to hardcode the repository so that it can’t be modified, provided a list of possible Spaces to use, and added the ability to pass the chosen instance size into the code as a variable:
Creating a stack from a Blueprint is easy! Click “Create stack” next to the Blueprint you’d like to use, fill in the necessary information, and click “Create stack” again.
As you can see here, I have named the stack with my name, provided a list of Spaces to choose from, and can choose the size of the instance I’d like to use.
This, of course, would be passed in as a variable to the underlying infrastructure code.
Your stack is now ready to go with all of the defaults you configured:
The Blueprints feature is available now for Spacelift Enterprise accounts!
The Most Flexible CI/CD Automation Tool
Spacelift is an alternative to using homegrown solutions on top of a generic CI solution. It allows you to automate, audit, secure, and continuously deliver your infrastructure.