Skip to content

Cloud Wrappers

This library contains items that help run Digital Rebar manage machines on public clouds. It uses Terraform tasks to create/delete machines and Ansible tasks join the machine to install the Digital Rebar runner. Once the runners starts, it will collect cloud specific data if a Metadata API is available.

TL;DR: cloud-provision uses the v4.8 Resource Brokers to create and attach machines to Terraform accessible platform.

Requirements

Inbound Access

The Digital Rebar Server must be at a location that is accessible to the machines being provisioned. This is required because the machines must be able to download the join-up script from the server using port 8090.

Outbound Access

Is NOT required unless you are using a cloud provider that requires SSH into the newly created machines.

As of v4.8, none of the major cloud providers (AWS, Azure, Google, Linode, Digital Ocean) required SSH to join-up.

Catalog Items

The Cloud Wrapper requires Contexts because it uses Runner and Terraform. If SSH is required then the Ansible Context is used.

Setting Up Cloud Brokers

When you create a Cloud Broker, you must set Security credentials for each cloud.

The cloud-profiles script in the RackN provision-content repo can be used to create the

AWS

  • aws/access-secret
  • aws/access-key-id

Additional values, e.g. region, image and instance type, have safe defaults but should be reviewed.

Google

  • google/credential - this is a copy of contents from the JSON file Google provides

Additional values, e.g. region, image and instance type, have safe defaults but should be reviewed.

Libvirt

  • libvirt/uri

You can additionally provide libvirt/ssh-key if your libvirt instance is not local.

Linode

  • linode/token

Additional values, e.g. region, image and instance type, have safe defaults but should be reviewed.

Proxmox

See the Profile documentation for resource-proxmox-cloud for more detailed use of the Proxmox Resource Broker. Specifically; new clusters WILL fail with the default configuration, and the operator MUST set alternative values for broker/set-pipeline and broker/set-workflow on the Cluster.

The following are required Resource Broker Params for Proxmox use:

  • proxmox/node
  • proxmox/user
  • proxmox/password

Optional Values

When possible, the machine on the cloud provider is given the name of the machine in Digital Rebar.

The reference terraform plan will create tags on the cloud provider based on the assigned profiles. It also creates one called "digitalrebar." This can be handy to find or manage the machines on the cloud provider.