mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-08-02 20:16:15 -04:00
terraform-provider: init provider scaffolding (#2632)
* 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>
This commit is contained in:
parent
2b199fd9b1
commit
9a62657b80
31 changed files with 1350 additions and 29 deletions
32
dev-docs/workflows/terraform-provider.md
Normal file
32
dev-docs/workflows/terraform-provider.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Constellation Terraform Provider
|
||||
|
||||
This document explains the basic ways of working with the [Constellation Terraform Provider](../../terraform-provider-constellation/).
|
||||
|
||||
## Building the Terraform Provider
|
||||
|
||||
The Constellation Terraform provider can be built through Bazel, either via the [`devbuild` target](./build-develop-deploy.md) (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:
|
||||
|
||||
```bash
|
||||
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](https://developer.hashicorp.com/terraform/cli/config/config-file#development-overrides-for-provider-developers),
|
||||
so that the registry path to the provider is replaced with the path to the locally built provider. If using the [`devbuild` target](./build-develop-deploy.md), 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:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
TF_CLI_CONFIG_FILE=config.tfrc terraform init
|
||||
TF_CLI_CONFIG_FILE=config.tfrc terraform apply
|
||||
...
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue