-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add provider installation instructions to README (#535)
- Loading branch information
1 parent
bd81bd7
commit 4ccd6ca
Showing
1 changed file
with
70 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,21 +11,21 @@ Requirements | |
------------ | ||
|
||
- [Terraform](https://www.terraform.io/downloads.html) 0.12.x+ | ||
- [Go](https://golang.org/doc/install) 1.11 (to build the provider plugin) | ||
- [Go](https://golang.org/doc/install) 1.22.x+ (to build the provider plugin) | ||
|
||
Building The Provider | ||
--------------------- | ||
|
||
Clone repository to: `$GOPATH/src/github.com/vultr/terraform-provider-vultr` | ||
|
||
```sh | ||
``` sh | ||
$ 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 | ||
|
||
```sh | ||
``` sh | ||
$ cd $GOPATH/src/github.com/vultr/terraform-provider-vultr | ||
$ make build | ||
``` | ||
|
@@ -37,14 +37,77 @@ See the [Vultr Provider documentation](website/docs/index.html.markdown) to get | |
|
||
Please read about [V2 changes from V1](example/V2Changes.md) for a list of new changes made to the Vultr Terraform Provider | ||
|
||
### Installation | ||
In your terraform config, define `vultr/vultr` in your `required_providers` and set your API key: | ||
``` hcl | ||
terraform { | ||
required_providers { | ||
vultr = { | ||
source = "vultr/vultr" | ||
version = "2.22.1" | ||
} | ||
} | ||
} | ||
provider "vultr" { | ||
api_key = "..." | ||
} | ||
``` | ||
|
||
After, run `terraform init` to install the provider. | ||
|
||
#### Manual Installation | ||
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. | ||
|
||
1) [Download](https://github.com/vultr/terraform-provider-vultr/releases) and | ||
extract the binary for your system and architecture | ||
|
||
2) Make the local plugins directory: | ||
|
||
On linux | ||
``` sh | ||
export VERSION=2.22.1 OS=linux ARCH=amd64 | ||
mkdir -p ~/.terraform.d/plugins/local/vultr/vultr/${VERSION}/${OS}_${ARCH}/' | ||
``` | ||
On mac | ||
``` sh | ||
export VERSION=2.22.1 OS=darwin ARCH=arm64 | ||
mkdir -p ~/.terraform.d/plugins/local/vultr/vultr/${VERSION}/${OS}_${ARCH}/' | ||
``` | ||
|
||
3) Rename and copy the binary into the local plugins directory: | ||
``` sh | ||
mv terraform-provider-vultr_v${VERSION} ~/.terraform.d/plugins/local/vultr/vultr/${VERSION}/${OS}_${ARCH}/terraform-provider-vultr_v${VERSION} | ||
``` | ||
|
||
4) Add the local provider to your terraform `main.tf` config: | ||
``` hcl | ||
terraform { | ||
required_providers { | ||
vultr = { | ||
source = "local/vultr/vultr" | ||
version = "2.22.1" | ||
} | ||
} | ||
} | ||
provider "vultr" { | ||
api_key = "..." | ||
} | ||
``` | ||
|
||
5) Test everything by running `terraform init` in that same directory. | ||
|
||
Developing the Provider | ||
--------------------------- | ||
|
||
If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (version 1.11+ is *required*). You'll also need to correctly setup a [GOPATH](http://golang.org/doc/code.html#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. | ||
|
||
```sh | ||
``` sh | ||
$ make build | ||
... | ||
$ $GOPATH/bin/terraform-provider-vultr | ||
|
@@ -53,20 +116,20 @@ $ $GOPATH/bin/terraform-provider-vultr | |
|
||
In order to test the provider, you can simply run `make test`. | ||
|
||
```sh | ||
``` sh | ||
$ 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. | ||
|
||
```sh | ||
``` sh | ||
$ 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: | ||
|
||
```sh | ||
``` sh | ||
$ make testacc TESTARGS='-run=TestAccVultrUser_base' | ||
``` |