New in version 0.3.3.
As of Mantl 0.3.3 you can bring up SoftLayer servers using Terraform. Mantl uses Terraform to provision hosts.
As of now, the released version of Terraform doesn’t have SoftLayer support, but one can build a custom binary with SoftLayer provisioning.<https://github.com/hashicorp/terraform/pull/2554>.
Before we can build any servers using Terraform and Ansible, we need to configure authentication. We’ll be filling in the authentication variables for the template located at terraform/softlayer.sample.tf. It looks like this:
provider "softlayer" {
}
module "softlayer-keypair" {
source = "./terraform/softlayer/keypair"
public_key_filename = "~/.ssh/id_rsa.pub"
}
module "softlayer-hosts" {
source = "./terraform/softlayer/hosts"
ssh_key = "${module.softlayer-keypair.keypair_id}"
hourly_billing = true
region_name = "ams01"
domain = "example.com"
control_count = 3
worker_count = 4
edge_count = 2
}
Copy that file in it’s entirety to the root of the project to start customization. In the next sections, we’ll describe the settings that you need to configure.
You need to generate an API key for your SoftLayer account. This can be done in the control panel at http://softlayer.com<http://softlayer.com>.
This token, along with your username, must be put in your softlayer.tf file. Alternatively, if you don’t want to put credentials in the terraform file, you can set environment variables:
The SoftLayer username
The SoftLayer API key
Once you’re all set up with the provider, customize your modules (for control_count and worker_count), run terraform get to prepare Terraform to provision your cluster, terraform plan to see what will be created, and terraform apply to provision the cluster. Afterwards, you can use the instructions in getting started to install Mantl on your new cluster.