⚠️ NOTE: Because the provider as it stands covers all of our current use cases, we will not be dedicating much time and effort to supporting it. We will, however, gladly accept pull requests. We will try to review and release those in a timely manner. Pull requests with included tests and documentation will be prioritized.
I recommend using tfvm to manage Terraform versions. The Makefile
assumes that tfvm
is installed to use the correct version of Terraform when running tests.
terraform {
required_version = "~> 1.5"
required_providers {
mssql = {
versions = "~> 0.2"
source = "betr-io/mssql"
}
}
}
provider "mssql" {}
Clone the repository
git clone [email protected]:betr-io/terraform-provider-mssql
Enter the provider directory and build the provider
cd terraform-provider-mssql
make build
To build and install the provider locally
make install
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.21+).
To compile the provider, run make build
. This will build the provider.
To run the unit test, you can simply run make test
.
To run acceptance tests against a local SQL Server running in Docker, you must have Docker installed. You can then run the following commands
make docker-start
TESTARGS=-count=1 make testacc-local
make docker-stop
This will spin up a SQL server running in a container on your local machine, run the tests that can run against a SQL Server, and destroy the container.
In order to run the full suite of acceptance tests, run make testacc
. Again, to spin up a local SQL Server container in docker, and corresponding resources in Azure, modify test-fixtures/all/terraform.tfvars
to match your environment and run
make azure-create
TESTARGS=-count=1 make testacc
make azure-destroy
NOTE: This will create resources in Azure and will incur costs.
Note to self: Remember to set current IP address in
test-fixtures/all/terraform.tfvars
, and activateGlobal Administrator
in PIM to run Azure tests.
To create a release, do:
- Update
CHANGELOG.md
. - Update
VERSION
inMakefile
(only used for installing the provider when developing). - Push a new valid version tag (e.g.
v1.2.3
) to GitHub. - See also Publishing Providers.