While Terraform provides a powerful and flexible way to manage infrastructure, it does require writing code in HCL. At Scalr, we recognize that not everyone in your organization will be able to getup to speed on Terraform as quickly as you may like. Your organization also may not have the need to have many Terraform experts as long as there is a core group of individuals who can write reusable modules. This is where the Scalr “no code” workspaces are extremely useful.
The Scalr no code workspaces give any user the ability to deploy a Scalr workspace and execute Terraform code without having to write any themselves. There are two main steps to using no code workspaces: Publishing modules and deploying the workspace.
The publishing of the modules is likely going to be handled by the team that is creating and managing the Terraform code. After the module has been created, it can be pushed to the Scalr module registry, which makes it available to be used in a workspace.
Module administrators have the choice of limiting which modules can be deployed through a no code workspace by adding a scalr-module.hcl to the repository
Example: All modules in the modules/ directory are included, except for the system module.
See more examples here.
Consuming the published modules is very simple. As an end user, you simply have to go to the module registry within your environment, click on the module you want to deploy, and then select create workspace. Upon creating the workspace, you will be presented settings for the workspace, but the actual module and version will be pre-populated for you:
Once the workspace is created, Scalr will review the configuration file and if there are any required variables that have not been set, you will be prompted to fill in a value:
Once the values are added, you can then execute the run, which will deploy your resources through Terraform.
It’s as simple as that! With just a few clicks, we were able to deploy a Terraform workspace and run without having to write any code.
It's a certainty that after you make your initial deployment that there will be changes to the module your workspace was deployed from. Instead of tearing down the workspace and rebuilding it, Scalr makes it easy to upgrade the module in the workspace by going to the settings and selecting the version:
Just create a new run in the same workspace and your infrastructure will now use the new version of the module.
All of the features we talked about as part of the no-code provisioning are available on all plans, including the free plan. Sign up and try it out! Want to see it in action? Check out our video of it in action.