* terraform-provider: init Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * terraform-provider: add basic docgen Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * terraform-provider: fix build steps Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * terraform-provider: extend build process and docgen Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * dev-docs: document provider usage Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * bazel: upload aspect lib mirror Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * bazel: add docstring to fix linter Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * terraform-provider: don't try to create lockfiles Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * bazel: fix shellcheck issues * bazel: separate paths to check * bazel: explain what updating lockfiles means Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> * terraform-provider: fix linter checks Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com> --------- Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
1.7 KiB
Constellation Terraform Provider
This document explains the basic ways of working with the Constellation Terraform Provider.
Building the Terraform Provider
The Constellation Terraform provider can be built through Bazel, either via the devbuild
target (recommended), which will create a terraform
directory
with the provider binary and some utility files in the current working directory, or explicitly via this command:
bazel build //terraform-provider-constellation:tf_provider
Using the Terraform Provider
The Terraform provider binary can be used with the normal Terraform CLI, by setting a development override,
so that the registry path to the provider is replaced with the path to the locally built provider. If using the devbuild
target, a config.tfrc
file with the override set to the path
of the built binary is placed automatically in the terraform
directory in the current working directory. Otherwise, the file can be also built and copied to the current working directory explicitly via this command:
bazel build //terraform-provider-constellation:terraform_rc
cp bazel-bin/terraform-provider-constellation/config.tfrc .
sed -i "s|@@TERRAFORM_PROVIDER_PATH@@|$(realpath bazel-bin/terraform-provider-constellation/tf_provider_/tf_provider)|g" config.tfrc
Afterwards, all Terraform commands that should use the local provider build should be prefixed with TF_CLI_CONFIG_FILE=config.tfrc
like so:
TF_CLI_CONFIG_FILE=config.tfrc terraform init
TF_CLI_CONFIG_FILE=config.tfrc terraform apply
...