terraform-provider-coder
commandmoduleThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
README¶
terraform-provider-coder
Terraform provider forCoder.
Developing
Prerequisites
We recommend usingnix
to manage your development environment. If you havenix
installed, you can runnix develop
to enter a shell with all the necessary dependencies.
Alternatively, you can install the dependencies manually.
Building
Follow the instructions outlined in theTerraform documentationto setup your local Terraform to use your local version rather than the registry version.
Create a file named
.terraformrc
in your$HOME
directoryAdd the following content:
provider_installation { # Override the coder/coder provider to use your local version dev_overrides { "coder/coder" = "/path/to/terraform-provider-coder" } # For all other providers, install them directly from their origin provider # registries as normal. If you omit this, Terraform will _only_ use # the dev_overrides block, and so no other providers will be available. direct {} }
(optional, but recommended) Validate your configuration:
- Create a new
main.tf
file and include:
terraform { required_providers { coder = { source = "coder/coder" } }}
- Run
terraform init
and observe a warning likeWarning: Provider development overrides are in effect
- Create a new
Run
go build -o terraform-provider-coder
to build the provider binary, which Terraform will try locate and executeAll local Terraform runs will now use your local provider!
NOTE: we vendor in this provider into
github.com/coder/coder
, so if you're testing with a local clone then you should also rungo mod edit -replace github.com/coder/terraform-provider-coder=/path/to/terraform-provider-coder
in your clone.
Terraform Acceptance Tests
To run Terraform acceptance tests, runmake testacc
. This will test the provider against the locally installed version of Terraform.
Note: ourCI workflow runs a test matrix against multiple Terraform versions.
Integration Tests
The tests under the./integration
directory perform the following steps:
- Build the local version of the provider,
- Run an in-memory Coder instance with a specified version,
- Validate the behaviour of the local provider against that specific version of Coder.
To run these integration tests locally:
Pull the version of the Coder image you wish to test:
docker pull ghcr.io/coder/coder:main-x.y.z-devel-abcd1234
Run
CODER_VERSION=main-x.y.z-devel-abcd1234 make test-integration
.
Note: you can specify
CODER_IMAGE
if the Coder image you wish to test is hosted somewhere other thanghcr.io/coder/coder
.For example,CODER_IMAGE=example.com/repo/coder CODER_VERSION=foobar make test-integration
.
Documentation¶
There is no documentation for this package.