8407e1074b
Add our initial Enos integration tests to Vault. The Enos scenario workflow will automatically be run on branches that are created from the `hashicorp/vault` repository. See the README.md in ./enos a full description of how to compose and execute scenarios locally. * Simplify the metadata build workflow jobs * Automatically determine the Go version from go.mod * Add formatting check for Enos integration scenarios * Add Enos smoke and upgrade integration scenarios * Add Consul backend matrix support * Add Ubuntu and RHEL distro support * Add Vault edition support * Add Vault architecture support * Add Vault builder support * Add Vault Shamir and awskms auto-unseal support * Add Raft storage support * Add Raft auto-join voter verification * Add Vault version verification * Add Vault seal verification * Add in-place upgrade support for all variants * Add four scenario variants to CI. These test a maximal distribution of the aforementioned variants with the `linux/amd64` Vault install bundle. Signed-off-by: Ryan Cragun <me@ryan.ec> Co-authored-by: Rebecca Willett <rwillett@hashicorp.com> Co-authored-by: Jaymala <jaymalasinha@gmail.com>
97 lines
2.4 KiB
HCL
97 lines
2.4 KiB
HCL
module "autopilot_upgrade_storageconfig" {
|
|
source = "./modules/autopilot_upgrade_storageconfig"
|
|
}
|
|
|
|
module "az_finder" {
|
|
source = "./modules/az_finder"
|
|
}
|
|
|
|
module "backend_consul" {
|
|
source = "app.terraform.io/hashicorp-qti/aws-consul/enos"
|
|
|
|
project_name = var.project_name
|
|
environment = "ci"
|
|
common_tags = var.tags
|
|
ssh_aws_keypair = var.aws_ssh_keypair_name
|
|
|
|
# Set this to a real license vault if using an Enterprise edition of Consul
|
|
consul_license = var.backend_license_path == null ? "none" : file(abspath(var.backend_license_path))
|
|
}
|
|
|
|
module "backend_raft" {
|
|
source = "./modules/backend_raft"
|
|
}
|
|
|
|
module "build_crt" {
|
|
source = "./modules/build_crt"
|
|
}
|
|
|
|
module "build_local" {
|
|
source = "./modules/build_local"
|
|
}
|
|
|
|
module "create_vpc" {
|
|
source = "app.terraform.io/hashicorp-qti/aws-infra/enos"
|
|
|
|
project_name = var.project_name
|
|
environment = "ci"
|
|
common_tags = var.tags
|
|
ami_architectures = ["amd64", "arm64"]
|
|
}
|
|
|
|
module "get_local_version_from_make" {
|
|
source = "./modules/get_local_version_from_make"
|
|
}
|
|
|
|
module "read_license" {
|
|
source = "./modules/read_license"
|
|
}
|
|
|
|
module "vault_cluster" {
|
|
source = "app.terraform.io/hashicorp-qti/aws-vault/enos"
|
|
# source = "../../terraform-enos-aws-vault"
|
|
|
|
common_tags = var.tags
|
|
environment = "ci"
|
|
instance_count = var.vault_instance_count
|
|
project_name = var.project_name
|
|
ssh_aws_keypair = var.aws_ssh_keypair_name
|
|
vault_install_dir = var.vault_install_dir
|
|
}
|
|
|
|
module "vault_upgrade" {
|
|
source = "./modules/vault_upgrade"
|
|
|
|
vault_install_dir = var.vault_install_dir
|
|
vault_instance_count = var.vault_instance_count
|
|
}
|
|
|
|
module "vault_verify_autopilot" {
|
|
source = "./modules/vault_verify_autopilot"
|
|
|
|
vault_autopilot_upgrade_status = "await-server-removal"
|
|
vault_install_dir = var.vault_install_dir
|
|
vault_instance_count = var.vault_instance_count
|
|
}
|
|
|
|
module "vault_verify_raft_auto_join_voter" {
|
|
source = "./modules/vault_verify_raft_auto_join_voter"
|
|
|
|
vault_install_dir = var.vault_install_dir
|
|
vault_instance_count = var.vault_instance_count
|
|
}
|
|
|
|
module "vault_verify_unsealed" {
|
|
source = "./modules/vault_verify_unsealed"
|
|
|
|
vault_install_dir = var.vault_install_dir
|
|
vault_instance_count = var.vault_instance_count
|
|
}
|
|
|
|
module "vault_verify_version" {
|
|
source = "./modules/vault_verify_version"
|
|
|
|
vault_install_dir = var.vault_install_dir
|
|
vault_instance_count = var.vault_instance_count
|
|
}
|