This provider plugin was created by Liviu Constantinescu at Animal Logic, and open-sourced for maintenance & expansion by the Avere Systems team.
The current version is a beta, and under construction, so use at your own risk.
- Terraform 0.12.7+
- Go 1.11 (to build the provider plugin)
- Python 3 (to run vFXT)
- Avere vFXT (use
pip install vFXT
to install)
provider "avere" {
aws_access_key = (YOUR AWS ACCESS KEY)
aws_secret_key = (YOUR AWS SECRET KEY)
aws_deployment_region = (YOUR AWS REGION)
}
Install the requirements listed above. Ensure that vFXT.py
is in your $PATH
.
Clone repository to: $GOPATH/src/github.com/terraform-providers/terraform-provider-avere
$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone git@github.com:terraform-providers/terraform-provider-avere
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-avere
$ make build
Copy the resulting binary to ~yourhome/.terraform.d/plugins/terraform-provider-avere
.
The options of the avere_cluster
resource are equivalent to the deployment options of the Azure vFXT.py Script. See that repository for details on acceptable input values.
The following is an example config:
resource "avere_cluster" "test_cluster" {
cluster_name = random_pet.cluster_info.id
aws_subnet = random_pet.cluster_info.keepers.subnet_id
aws_instance_type = random_pet.cluster_info.keepers.instance_type
aws_security_group = random_pet.cluster_info.keepers.security_group_id
admin_password = random_pet.cluster_info.keepers.admin_password
node_count = random_pet.cluster_info.keepers.node_count
core_filer_key_path = "./path/to/core_filer.key"
use_ephemeral_storage = var.ephemeral_storage
use_ebs_optimisation = var.ebs_optimisation
use_at_rest_encryption = var.disk_encryption
cache_size = random_pet.cluster_info.keepers.cache_size
disk_iops = var.disk_iops
}
An example build is provided in the repository as avere_test.tf
.
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.11+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
To compile the provider, run make build
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
$ make build
...
$ $GOPATH/bin/terraform-provider-avere
...
At present, this provider only supports deploying to AWS. It is also unable to determine whether the Avere cluster is still online, nor can it create a core filer or make XMLRPC calls to configure/update an existing Avere cluster.
These features will be added in future builds.