- Quickstart Guide: How to Provision a Vultr Cloud Server with Terraform and Cloud-Init
- Vultr Website: https://www.vultr.com
- Terraform Website: https://www.terraform.io
Clone repository to: $GOPATH/src/github.com/vultr/terraform-provider-vultr
$ mkdir -p $GOPATH/src/github.com/vultr; cd $GOPATH/src/github.com/vultr
$ git clone [email protected]:vultr/terraform-provider-vultr.git
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/vultr/terraform-provider-vultr
$ make build
See the Vultr Provider documentation to get started using the Vultr provider.
Please read about V2 changes from V1 for a list of new changes made to the Vultr Terraform Provider
In your terraform config, define vultr/vultr
in your required_providers
and set your API key:
terraform {
required_providers {
vultr = {
source = "vultr/vultr"
version = "2.22.1"
}
}
}
provider "vultr" {
api_key = "..."
}
After, run terraform init
to install the provider.
If you don't have internet access on the target machine or prefer to install the provider locally follow the steps for the relevant operating system and architecture.
-
Download and extract the binary for your system and architecture
-
Make the local plugins directory:
On linux
export VERSION=2.22.1 OS=linux ARCH=amd64
mkdir -p ~/.terraform.d/plugins/local/vultr/vultr/${VERSION}/${OS}_${ARCH}/'
On mac
export VERSION=2.22.1 OS=darwin ARCH=arm64
mkdir -p ~/.terraform.d/plugins/local/vultr/vultr/${VERSION}/${OS}_${ARCH}/'
- Rename and copy the binary into the local plugins directory:
mv terraform-provider-vultr_v${VERSION} ~/.terraform.d/plugins/local/vultr/vultr/${VERSION}/${OS}_${ARCH}/terraform-provider-vultr_v${VERSION}
- Add the local provider to your terraform
main.tf
config:
terraform {
required_providers {
vultr = {
source = "local/vultr/vultr"
version = "2.22.1"
}
}
}
provider "vultr" {
api_key = "..."
}
- Test everything by running
terraform init
in that same directory.
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-vultr
...
In order to test the provider, you can simply run make test
.
$ make test
In order to run the full suite of acceptance tests, run make testacc
.
Note: Acceptance tests create real resources, and often cost money to run.
$ make testacc
In order to run a specific acceptance test, use the TESTARGS
environment variable. For example, the following command will run TestAccVultrUser_base
acceptance test only:
$ make testacc TESTARGS='-run=TestAccVultrUser_base'