New in version 1.0.3.

Terraform can use CLC to provision hosts for your cluster. You can download Terraform from terraform.io.

Documentation on using the CLC driver with terraform is available here.

NOTE: The CLC driver may not yet be available in the main terraform distribution. See also https://github.com/CenturyLinkCloud/terraform-provider-clc if absent.

Configuring Terraform

From the project root, copy the template located at terraform/clc.sample.tf to ./clc.tf

In order to provision to CLC via terraform, login credentials are required. Trial accounts with free credits are available, sign-up here.

Account Setup

Be sure you have minimally set up you CLC account with the following:

  • A default network
  • Recommended: a dedicated user/pass for use in provisioning with terraform

Provider Settings

The driver accepts either via environment variables or credentials inlined as provider config.

By environment variables:


Or conversely, via provider config:

variable ssh_key { default = "~/.ssh/id_rsa.pub" }

provider "clc" {
  username = "<clc username goes here>"
  password = "<clc password goes here>"
  account  = "<clc account goes here>"

Basic Settings

location is the datacenter where your cluster will be deployed to. The clc_group.mantl server group will hold all the generated nodes.

{control|worker|edge}_count controls the number of nodes deployed to each role.

ssh_pass is the initial server password for root. It’s advised to test whatever password provided here before using it against terraform.

ssh_key is a public key that will be installed into root’s authorized_keys.

Additional settings are available for customization in ./terraform/clc/node.tf.


Once you’ve reviewed and/or modified the settings, terraform get will prepare your cluster, terraform plan can be reviewed to check the deployment, and terraform apply will provision the cluster. Afterwards, you can use the instructions in getting started to install Mantl on your new cluster.