Container Image Info

Regardless of the workspace type, Terraform and OpenTofu runs occur within a Docker container (Linux amd64) that is running on the Scalr infrastructure. The default memory limit for each container spun up is 2GB. The container is based on standard Debian Linux and has the tools below installed already. If you need to execute runs outside of the Scalr infrastructure, you can do this through Self Hosted Agent Pools.

The following tools are already installed on the image:

NameDescription
AWS CLIUsed to interact with AWS.
Azure CLIUsed to interact with Azure. See setup instructions below.
Google CLIUsed to interact with Google Cloud. See setup instructions below.
pip3Pip is the package installer for Python.
PythonThe python version installed is 3.9.2.
kubectlKubectl can be used to manage Kubernetes in your Terraform code.

AWS CLI:

Nothing is needed as the AWS CLI can read the $AWS_ACCESS_KEY_ID and $AWS_SECRET_ACCESS_KEY shell variables that Scalr passes.

For the variables to be passed, ensure you check off the following setting in the provider configuration that is assigned to the workspace:

Azure CLI:

az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET --tenant $ARM_TENANT_ID
az account set --subscription=$ARM_SUBSCRIPTION_ID

Google CLI:

printenv GOOGLE_CREDENTIALS > key.json
gcloud auth activate-service-account --key-file=key.json --project=$GOOGLE_PROJECT
rm -f key.json