Adrian Stobbe
f41ce43919
terraform-provider: require kubernetes and microservice version ( #2791 )
2024-01-04 16:25:24 +01:00
Adrian Stobbe
8730e72319
ci: e2e test for Terraform provider examples ( #2745 )
2024-01-04 10:00:21 +01:00
3u13r
2f10223682
terraform-provider: fix parsing api_server_cert_sans
( #2758 )
...
* tf: don't double quote cert sans
* tf: improve provider examples
2023-12-27 17:04:35 +01:00
Adrian Stobbe
436e7c6d3b
terraform-provider: validate image and microservice version ( #2766 )
2023-12-22 10:24:13 +01:00
Daniel Weiße
519efe637d
constellation-lib: run license check in Terraform provider and refactor code ( #2740 )
...
* Clean up license checker code
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
* Create license check depending on init/upgrade actions
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
* Run license check in Terraform provider
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
* fix license integration test action
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
* Run tests with enterprise tag
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
* Allow b64 encoding for license ID
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
* Update checker_enterprise.go
---------
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2023-12-22 10:16:36 +01:00
Moritz Sanft
82e2875927
terraform-provider: add input validation ( #2744 )
...
* terraform-provider: add validation for `constellation_image`
* terraform-provider: add validation for `constellation_cluster`
* image: accept short path versions
* terraform-provider: correct error statement
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
* terraform-provider: remove superfluous log statements
* terraform-provider: fix error assertion casing
* terraform-provider: remove superfluous semver check
* Update terraform-provider-constellation/internal/provider/shared_attributes.go
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
---------
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
2023-12-20 15:56:48 +01:00
Moritz Sanft
9414f29b51
terraform-provider: lock-step microservice version ( #2733 )
2023-12-18 14:21:19 +01:00
Moritz Sanft
7c5b95bbcc
terraform-provider: warn about microservice version changes ( #2730 )
...
* terraform-provider: update data source examples
* terraform-provider: warn about destructive microservice changes
* terraform-provider: use `name` variable
* terraform-provider: only perform pre-apply checks on upgrades
* terraform-provider: fix conditional
* terraform-provider: remove obsolete version checks
2023-12-18 13:55:44 +01:00
Moritz Sanft
af791bd221
terraform-provider: add usage examples ( #2713 )
...
* terraform-provider: add usage example for Azure
* terraform-provider: add usage example for AWS
* terraform-provider: add usage example for GCP
* terraform-provider: update usage example for Azure
* terraform-provider: update generated documentation
* docs: adjust creation on Azure and link to examples
* terraform-provider: unify image in-/output (#2725 )
* terraform-provider: check for returned error when converting microservices
* terraform-provider: use state values for outputs after creation
* terraform-provider: ignore invalid upgrades (#2728 )
---------
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2023-12-18 10:15:54 +01:00
Adrian Stobbe
9667dfff58
terraform: align infrastructure module attributes ( #2703 )
...
* all vars have snail_case
* make iam schema consistent
* infrastructure schema
* terraform: update AWS infrastructure module
* fix ci
* terraform: update AWS infrastructure module
* terraform: update AWS IAM module
* terraform: update Azure Infrastructure module inputs
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: update Azure IAM module
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: update GCP infrastructure module
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: update GCP IAM module
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: update OpenStack Infrastructure module
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: update QEMU Infrastructure module
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform-module: fix input name
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: tidy
* cli: ignore whitespace in Terraform variable tests
* terraform-module: fix AWS output names
* terraform-module: fix output references
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: rename `api_server_cert_sans`
* Update terraform/infrastructure/aws/modules/public_private_subnet/variables.tf
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
* fix self-managed
* terraform: revert AWS modules output file renaming
* terraform: remove duplicate varable declaration
* terraform: rename Azure location field
* ci: adjust output name in self-managed e2e test
* e2e: continuously print output in upgrade test
* e2e: write to output variables
* cli: migrate IAM variable names
* cli: make `location` field optional
---------
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
2023-12-15 10:36:58 +01:00
Moritz Sanft
367136add2
terraform-provider: support importing Constellation clusters ( #2702 )
...
* terraform-provider: support importing Constellation clusters
* bazel: shfmt exclusion for import script
* ci: fix godot check
* bazel: shellcheck exclusion for import script
* Update dev-docs/workflows/terraform-provider.md
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
* ci: fix Terraform lock exclude directories
---------
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
2023-12-12 16:00:03 +01:00
Moritz Sanft
60fc73e0e7
terraform-provider: implement constellation_cluster
resource ( #2691 )
...
* terraform: move module to legacy-directory
* constellation-lib: refactor service account marshalling
* terraform-provider: normalize Azure image URIs
* constellation-lib: refactor Kubeconfig endpoint rewriting
* terraform-provider: add conversion functions for AWS and GCP
* terraform-provider: implement `constellation_cluster` resource
* terraform-provider: refactor conversion
* terraform-provider: implement image and k8s upgrades
* terraform-provider: fix linter checks
* terraform-provider: refactor to bundle init & upgrade method
* constellation-lib: rewrite Kubeconfig endpoint in init
* terraform-provider: bind logger and dialer constructors to struct
* terraform-provider: move applier to function pointer
* terraform-provider: gcp conversion fixes
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform-provider: fix Azure UAMI input
* terraform-provider: rename Kubeconfig variable
* terraform-provider: tidy
* terraform-provider: regenerate docs
* constellation-lib: provide Kubeconfig in testing initserver
---------
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2023-12-11 15:55:44 +01:00
Adrian Stobbe
c07c333d3d
terraform-provider: data skeleton for cluster resource ( #2678 )
2023-12-05 16:16:50 +01:00