- Go 97.8%
- HTML 0.9%
- Shell 0.6%
- HCL 0.5%
- Makefile 0.2%
* Add muxed framework provider - introduce a protocol v6 mux server combining the current SDKv2 provider with a new framework provider - keep existing SDKv2 resources/data sources unchanged - reuse SDKv2 provider metadata from the framework provider so the framework resource can use the already-configured Nomad client instead of duplicating provider configuration logic - align provider schema sensitivity between SDKv2 and framework definitions for secret-bearing fields - add focused mux tests for merged metadata/schema and an SDK data source through the muxed provider * test: migrate SDKv2 testing helper packages to terraform-plugin-testing and add intro token acceptance test * fix nomad_job drift handling * fix quota import verify and scheduler refresh behaviour * fix plugin-testing semantics in quota and scheduler tests * use t.context() for test scoped context passing * refactor: keep mux scaffolding without intro token feature * remove check for node_intro_token in mux_test * update changelog entry |
||
|---|---|---|
| .github | ||
| .release | ||
| internal | ||
| nomad | ||
| scripts | ||
| version | ||
| website | ||
| .copywrite.hcl | ||
| .gitignore | ||
| .go-version | ||
| CHANGELOG.md | ||
| CODEOWNERS | ||
| GNUmakefile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| terraform-registry-manifest.json | ||
Nomad Terraform Provider
Maintainers
This provider plugin is maintained by the Nomad team at HashiCorp.
Requirements
Building The Provider
Clone repository to: $GOPATH/src/github.com/hashicorp/terraform-provider-nomad
$ mkdir -p $GOPATH/src/github.com/hashicorp; cd $GOPATH/src/github.com/hashicorp
$ git clone git@github.com:hashicorp/terraform-provider-nomad
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/hashicorp/terraform-provider-nomad
$ make build
Using the provider
To use a released provider in your Terraform environment, run
terraform init and
Terraform will automatically install the provider. To specify a particular
provider version when installing released providers, see the Terraform
documentation on provider versioning.
Refer to the section below for instructions on how to to use a custom-built version of the provider.
For either installation method, documentation about the provider specific configuration options can be found on the provider's website.
Developing the Provider
If you wish to work on the provider, you'll first need
Go installed on your machine (version 1.20+ 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-nomad
...
To use the provider binary in a local configuration, create a file called
.terraformrc in your home directory and specify a development
override for the nomad provider.
provider_installation {
dev_overrides {
"hashicorp/nomad" = "<ABSOLUTE PATH TO YOUR GOPATH>/bin/"
}
}
In order to test the provider, you can simply run make test.
$ make test
In order to run the full suite of Acceptance tests:
- setup test environment
nomad agent -dev -acl-enabled
- obtain a management token
nomad acl bootstrap
- set nomad agent address (if differs from
http://localhost:4646) and token secret ID and run tests
NOMAD_TOKEN=<output of nomad acl bootstrap's Secret ID> NOMAD_ADDR=http://<host>:<port> make testacc
Acceptance tests expect fresh instance of nomad agent, so all steps must be performed every time tests are executed.
Note: Acceptance tests create real resources, and may cost money to run.