
If you run infrastructure in environments that can't be reached from the public internet, this one is for you. Starting today, Scalr can execute runs inside your own networks using installable, self-hosted agents.
By default, Scalr executes Terraform runs on a pool of shared agents that we maintain. This suffices for the majority of use cases, but sometimes, due to security, compliance, or network requirements, you need the runs to be executed within a special network inaccessible from the outside so that Terraform can make its API calls to various services.
There aren't many workarounds to this: either forgo using Scalr for those workloads, or deploy Scalr on your own premises and forgo the convenience and security of SaaS.
Self-hosted agents close that gap.
These agents run in pools deployed on your own infrastructure and are fully encrypted. They only need network access back to Scalr to pull jobs and push run results.
Each self-hosted agent can execute up to 5 concurrent runs — a cap we set to avoid overloading the host machine — and your account's overall concurrency scales by +5 for every additional agent you deploy. This is a direct consequence of Scalr's usage-based pricing model: because we charge per run rather than using the concurrency-based pricing used by some alternatives — which sell fixed parallel run slots — you can scale out concurrency simply by deploying more agents, with no per-slot fee.

Once a pool of self-hosted agents has been created, workspaces can be configured to use them for runs.
The mechanics are straightforward. Instead of Scalr pushing work to the agent, each agent pulls job info from the Scalr service and runs it from inside your network, so it only needs outbound internet access. Each workspace can then be set to use these agents, or default to the Scalr service.
Self-hosted agents are available on every plan, including Free. Grab the install command from Scalr and deploy one. After that, your workspaces will have the option of using it for run execution.

Scalr provides copy-pastable commands to facilitate setup.
We even made a step by step guide for you here.
