
Terraform is a flexible way to manage infrastructure, but it does require writing code in HCL. Not everyone on your team will pick up Terraform as fast as you might like, and most organizations don't need many Terraform experts anyway. What you need is a core group who can write reusable modules. Everyone else can consume them. That's the gap Scalr "no code" workspaces fill.
A no code workspace lets any user deploy a Scalr workspace and run Terraform without writing any code themselves. It works in two steps: a module team publishes modules, then end users deploy them.
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.

Screenshot of Module publication in Scalr
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.
version="v2"
root-modules = ["modules/**", "!modules/system"]See more examples here.
Consuming a published module takes a few clicks. As an end user, you go to the module registry within your environment, click the module you want, and select create workspace. You'll then see the workspace settings, with the module and version already filled in for you:

Screenshot of Workspace creation
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:

Screenshot of Prompt to add variables
Once the values are added, you can then execute the run, which will deploy your resources through Terraform.
That's the whole flow. With a few clicks, we deployed a Terraform workspace and ran it without writing any code.
After your initial deployment, the module your workspace was built from will change. You don't have to tear down the workspace and rebuild it. Go to the settings and select the new version:

Screenshot of updating the module in Scalr.
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.
