From 1e8c345126e647d93b71917720429b4f6bcf5797 Mon Sep 17 00:00:00 2001 From: dillanb-hashi Date: Wed, 7 May 2025 12:47:09 -0700 Subject: [PATCH] chore(e2e): Added support for boundary license to be an env for enos (#5704) * chore(e2e): Added support for boundary license to be an env for enos --- enos/enos-scenario-e2e-aws-base-with-vault.hcl | 1 + enos/enos-scenario-e2e-aws-base.hcl | 1 + enos/enos-scenario-e2e-aws.hcl | 1 + enos/enos-scenario-e2e-database.hcl | 1 + enos/enos-scenario-e2e-docker-base-plus.hcl | 1 + enos/enos-scenario-e2e-docker-base-with-gcp.hcl | 1 + enos/enos-scenario-e2e-docker-base-with-vault.hcl | 1 + enos/enos-scenario-e2e-docker-base-with-worker.hcl | 1 + enos/enos-scenario-e2e-docker-base.hcl | 1 + ...2e-docker-worker-registration-controller-led.hcl | 1 + ...io-e2e-docker-worker-registration-worker-led.hcl | 1 + enos/enos-scenario-e2e-ui-aws.hcl | 1 + enos/enos-scenario-e2e-ui-docker.hcl | 1 + enos/enos-variables.hcl | 6 ++++++ enos/enos.vars.hcl | 2 ++ enos/modules/read_license/main.tf | 13 +++++++++++-- 16 files changed, 32 insertions(+), 2 deletions(-) diff --git a/enos/enos-scenario-e2e-aws-base-with-vault.hcl b/enos/enos-scenario-e2e-aws-base-with-vault.hcl index 8a912a938..912efd68d 100644 --- a/enos/enos-scenario-e2e-aws-base-with-vault.hcl +++ b/enos/enos-scenario-e2e-aws-base-with-vault.hcl @@ -46,6 +46,7 @@ scenario "e2e_aws_base_with_vault" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-aws-base.hcl b/enos/enos-scenario-e2e-aws-base.hcl index 43741023f..67516508a 100644 --- a/enos/enos-scenario-e2e-aws-base.hcl +++ b/enos/enos-scenario-e2e-aws-base.hcl @@ -46,6 +46,7 @@ scenario "e2e_aws_base" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-aws.hcl b/enos/enos-scenario-e2e-aws.hcl index 35779d4c4..07b0140a5 100644 --- a/enos/enos-scenario-e2e-aws.hcl +++ b/enos/enos-scenario-e2e-aws.hcl @@ -51,6 +51,7 @@ scenario "e2e_aws" { variables { license_path = local.boundary_license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-database.hcl b/enos/enos-scenario-e2e-database.hcl index c66997d34..1ed374bbc 100644 --- a/enos/enos-scenario-e2e-database.hcl +++ b/enos/enos-scenario-e2e-database.hcl @@ -27,6 +27,7 @@ scenario "e2e_database" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-docker-base-plus.hcl b/enos/enos-scenario-e2e-docker-base-plus.hcl index 01a35da97..26413d646 100644 --- a/enos/enos-scenario-e2e-docker-base-plus.hcl +++ b/enos/enos-scenario-e2e-docker-base-plus.hcl @@ -69,6 +69,7 @@ scenario "e2e_docker_base_plus" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-docker-base-with-gcp.hcl b/enos/enos-scenario-e2e-docker-base-with-gcp.hcl index 91adb7f52..106f8590b 100644 --- a/enos/enos-scenario-e2e-docker-base-with-gcp.hcl +++ b/enos/enos-scenario-e2e-docker-base-with-gcp.hcl @@ -70,6 +70,7 @@ scenario "e2e_docker_base_with_gcp" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-docker-base-with-vault.hcl b/enos/enos-scenario-e2e-docker-base-with-vault.hcl index 637e06875..4e19859f4 100644 --- a/enos/enos-scenario-e2e-docker-base-with-vault.hcl +++ b/enos/enos-scenario-e2e-docker-base-with-vault.hcl @@ -71,6 +71,7 @@ scenario "e2e_docker_base_with_vault" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-docker-base-with-worker.hcl b/enos/enos-scenario-e2e-docker-base-with-worker.hcl index d4ccd13a3..0fda20cf2 100644 --- a/enos/enos-scenario-e2e-docker-base-with-worker.hcl +++ b/enos/enos-scenario-e2e-docker-base-with-worker.hcl @@ -86,6 +86,7 @@ scenario "e2e_docker_base_with_worker" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-docker-base.hcl b/enos/enos-scenario-e2e-docker-base.hcl index 885a0dab0..e4ae9cdeb 100644 --- a/enos/enos-scenario-e2e-docker-base.hcl +++ b/enos/enos-scenario-e2e-docker-base.hcl @@ -69,6 +69,7 @@ scenario "e2e_docker_base" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-docker-worker-registration-controller-led.hcl b/enos/enos-scenario-e2e-docker-worker-registration-controller-led.hcl index bf437060d..15dc01b90 100644 --- a/enos/enos-scenario-e2e-docker-worker-registration-controller-led.hcl +++ b/enos/enos-scenario-e2e-docker-worker-registration-controller-led.hcl @@ -86,6 +86,7 @@ scenario "e2e_docker_worker_registration_controller_led" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-docker-worker-registration-worker-led.hcl b/enos/enos-scenario-e2e-docker-worker-registration-worker-led.hcl index bfe13004d..93651ecbd 100644 --- a/enos/enos-scenario-e2e-docker-worker-registration-worker-led.hcl +++ b/enos/enos-scenario-e2e-docker-worker-registration-worker-led.hcl @@ -86,6 +86,7 @@ scenario "e2e_docker_worker_registration_worker_led" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-ui-aws.hcl b/enos/enos-scenario-e2e-ui-aws.hcl index af089748d..61c5238aa 100644 --- a/enos/enos-scenario-e2e-ui-aws.hcl +++ b/enos/enos-scenario-e2e-ui-aws.hcl @@ -47,6 +47,7 @@ scenario "e2e_ui_aws" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-scenario-e2e-ui-docker.hcl b/enos/enos-scenario-e2e-ui-docker.hcl index 290c90f03..7128afe10 100644 --- a/enos/enos-scenario-e2e-ui-docker.hcl +++ b/enos/enos-scenario-e2e-ui-docker.hcl @@ -69,6 +69,7 @@ scenario "e2e_ui_docker" { variables { license_path = local.license_path + license = var.boundary_license } } diff --git a/enos/enos-variables.hcl b/enos/enos-variables.hcl index 02c6a33b7..0a02560ad 100644 --- a/enos/enos-variables.hcl +++ b/enos/enos-variables.hcl @@ -175,6 +175,12 @@ variable "boundary_license_path" { default = null } +variable "boundary_license" { + description = "Boundary license" + type = string + default = null +} + variable "vault_license_path" { description = "Vault license path" type = string diff --git a/enos/enos.vars.hcl b/enos/enos.vars.hcl index c558af8cd..9d9f10944 100644 --- a/enos/enos.vars.hcl +++ b/enos/enos.vars.hcl @@ -39,6 +39,8 @@ // ENTERPRISE ONLY // Path to a license file // boundary_license_path = "./support/boundary.hclic" +// Directly set the boundary license. Overrides boundary license file. +// boundary_license = "" // ============================================================================== // OPTIONAL VARIABLES diff --git a/enos/modules/read_license/main.tf b/enos/modules/read_license/main.tf index 9ae9e0743..1166e4f72 100644 --- a/enos/modules/read_license/main.tf +++ b/enos/modules/read_license/main.tf @@ -1,8 +1,17 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: BUSL-1.1 -variable "license_path" {} + +# Loads boundary license from file or environment variable +# If license is null or not provided, then the license is returned from the file at license_path +variable "license_path" { + description = "Path to the boundary license file" +} +variable "license" { + description = "Boundary license" + default = null +} output "license" { - value = file(var.license_path) + value = var.license != null ? var.license : file(var.license_path) }