open-vault/enos/modules
Ryan Cragun a19f7dbda5
[QT-525] enos: use spot instances for Vault targets (#20037)
The previous strategy for provisioning infrastructure targets was to use
the cheapest instances that could reliably perform as Vault cluster
nodes. With this change we introduce a new model for target node
infrastructure. We've replaced on-demand instances for a spot
fleet. While the spot price fluctuates based on dynamic pricing, 
capacity, region, instance type, and platform, cost savings for our
most common combinations range between 20-70%.

This change only includes spot fleet targets for Vault clusters.
We'll be updating our Consul backend bidding in another PR.

* Create a new `vault_cluster` module that handles installation,
  configuration, initializing, and unsealing Vault clusters.
* Create a `target_ec2_instances` module that can provision a group of
  instances on-demand.
* Create a `target_ec2_spot_fleet` module that can bid on a fleet of
  spot instances.
* Extend every Enos scenario to utilize the spot fleet target acquisition
  strategy and the `vault_cluster` module.
* Update our Enos CI modules to handle both the `aws-nuke` permissions
  and also the privileges to provision spot fleets.
* Only use us-east-1 and us-west-2 in our scenario matrices as costs are
  lower than us-west-1.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2023-04-13 15:44:43 -04:00
..
autopilot_upgrade_storageconfig adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
az_finder adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
backend_raft adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
build_crt adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
build_local adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
generate_secondary_token adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
get_local_metadata adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_deploy_vault [QT-523] Remove copyright/license header from raft config used in the Docker/K8S integration test (#19584) 2023-03-16 17:39:59 -04:00
k8s_vault_verify_build_date adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_replication adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_ui adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_version adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_write_data adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
load_docker_image adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
local_kind_cluster adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
read_license adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
shutdown_multiple_nodes adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
shutdown_node adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
target_ec2_instances [QT-525] enos: use spot instances for Vault targets (#20037) 2023-04-13 15:44:43 -04:00
target_ec2_spot_fleet [QT-525] enos: use spot instances for Vault targets (#20037) 2023-04-13 15:44:43 -04:00
vault_agent adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_artifactory_artifact adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_cluster [QT-525] enos: use spot instances for Vault targets (#20037) 2023-04-13 15:44:43 -04:00
vault_get_cluster_ips adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_raft_remove_peer adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_setup_perf_primary adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_setup_perf_secondary adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_test_ui adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_unseal_nodes adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_upgrade adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_agent_output adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_autopilot adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_performance_replication adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_raft_auto_join_voter adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_read_data adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_replication adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_ui adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_undo_logs adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_unsealed adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_version adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_write_data adding copyright header (#19555) 2023-03-15 09:00:52 -07:00