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
Daniel Weiße
724ee44466
ci: Terraform provider e2e tests ( #2712 )
...
* Refactor selfManagedInfra input to clusterCreation in e2e tests
* Run e2e test using terraform provider
* Allow insecure measurement fetching in Terraform provider
* Run Terraform provider test instead of module test in weekly runs
---------
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2023-12-15 10:37:29 +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
Adrian Stobbe
37580009fe
terraform-provider: cleanup and improve docs ( #2685 )
...
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2023-12-14 15:47:55 +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
Moritz Sanft
c15e4efef6
terraform: Azure Marketplace image support ( #2651 )
...
* terraform: add Azure marketplace variable
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* config: add Azure marketplace variable
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* cli: use Terraform variables from config
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: pass down marketplace variable
* image: pad Azure images to 1GiB
* terraform: add version attribute to marketplace image
* semver: allow versions to be exported without prefix
* cli: boolean var to use marketplace images
* config: remove dive key
* dev-docs: add instructions on how to use marketplace images
* terraform: fix unit test
* terraform: only fetch image for non-marketplace images
* mpimage: refactor image selection
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* [remove] increase minor version for image build
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* terraform: ignore changes to source_image_reference on upgrade
* operator: add support for parsing Azure marketplace images
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* upgrade: fix imagefetcher call
* docs: add info about azure marketplace
* image: ensure more than 1GiB in size
* image: test to pad to 2GiB
* version: change back to v2.14.0-pre
* image: GPT-conformant image size padding
* [remove] increase version
* mpimage: inline prefix func
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* ci: add marketplace image e2e test
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
* [remove] register workflow
* ci: fix workflow name
* ci: only allow azure test
* cli: add marketplace image input to interface
* cli: fix argument passing
* version: roll back to v2.14.0
* ci: add force-flag support
* Update docs/docs/overview/license.md
* Update dev-docs/workflows/marketplace-images.md
Co-authored-by: Moritz Eckert <m1gh7ym0@gmail.com>
---------
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: Moritz Eckert <m1gh7ym0@gmail.com>
Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2023-12-08 14:40:31 +01:00
Adrian Stobbe
c07c333d3d
terraform-provider: data skeleton for cluster resource ( #2678 )
2023-12-05 16:16:50 +01:00
Adrian Stobbe
a2de1d23ec
terraform-provider: add attestation data source ( #2640 )
...
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2023-11-28 17:30:11 +01:00
Moritz Sanft
34bf3ad296
terraform-provider: add image datasource ( #2642 )
...
* 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>
* 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
* terraform-provider: clean up old files
* terraform-provider: update provider resource
* terraform-provider: add image data source
* dev-docs: remove unnecessary init
* bazel: adhere to Terraform naming expectations
* terraform-provider: fix expected data type
* terraform-provider: generate docs
* terraform-provider: improve errors
* terraform-provider: add acceptance tests for data source
* terraform-provider: fix dependencies
* bazel: quote var reference
* terraform-provider: make region optional
* terraform-provider: bind imagefetcher to data source
* bazel: tidy
* terraform-provider: remove unused parameter
* terraform-provider: remove unused parameter
* terraform-provider: extend acceptance tests
* terraform-provider: allow tests to be ran without Bazel
* dev-docs: document testing
* terraform-provider: set binary path accordingly
* dev-docs: document docgen process for the provider
* bazel: run acceptance test in writable environment
* bazel: try to write to `$TMPDIR`
* terraform-provider: style nits
* terraform-provider: leave TODO
* bazel: tidy
* terraform-provider: regenerate docs
* terraform-provider: fix comment
---------
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2023-11-27 09:00:08 +01:00
Moritz Sanft
9a62657b80
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>
2023-11-24 15:58:21 +01:00