CenturyLinkCloud ===================== .. versionadded:: 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: .. envvar:: CLC_USERNAME .. envvar:: CLC_PASSWORD .. envvar:: CLC_ACCOUNT Or conversely, via provider config: .. code-block:: json ... variable ssh_key { default = "~/.ssh/id_rsa.pub" } provider "clc" { username = "" password = "" account = "" } 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``. Provisioning ------------ 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 :doc:`getting started ` to install Mantl on your new cluster.