Commit graph

17911 commits

Author SHA1 Message Date
hc-github-team-secure-vault-core 1d9e560f0f
backport of commit 2f677665b37fcced51737cdef7abbebb4c719529 (#21527)
Co-authored-by: Max Bowsher <maxbowsher@gmail.com>
2023-07-06 20:01:33 +00:00
hc-github-team-secure-vault-core 2c4e40eaf6
backport of commit 8bb9cbbebaed39b290590f79a8857f5ba01fbf16 (#21627)
Co-authored-by: Peter Wilson <peter.wilson@hashicorp.com>
2023-07-06 18:46:13 +01:00
hc-github-team-secure-vault-core a3334cb526
backport of commit 6acd2921c5d78382b0a554674cd4f7c81a9a126a (#21622)
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
2023-07-06 16:15:50 +00:00
hc-github-team-secure-vault-core 7e8c0a1cae
backport of commit 4c1a7b53d362ee733707de2fa3280596e35d7f03 (#21609)
Co-authored-by: Bianca Moreira <48203644+biazmoreira@users.noreply.github.com>
2023-07-06 12:05:43 +02:00
Ryan Cragun d1e9b99233
[QT-576] Optimize build workflow (#21486) (#21601)
Improve our build workflow execution time by using custom runners,
improved caching and conditional Web UI builds.

Runners
-------
We improve our build times[0] by using larger custom runners[1] when
building the UI and Vault.

Caching
-------
We improve Vault caching by keeping a cache for each build job. This
strategy has the following properties which should result in faster
build times when `go.sum` hasn't been changed from prior builds, or
when a pull request is retried or updated after a prior successful
build:

* Builds will restore cached Go modules and Go build cache according to
  the Go version, platform, architecture, go tags, and hash of `go.sum`
  that relates to each individual build workflow. This reduces the
  amount of time it will take to download the cache on hits and upload
  the cache on misses.
* Parallel build workflows won't clobber each others build cache. This
  results in much faster compile times after cache hits because the Go
  compiler can reuse the platform, architecture, and tag specific build
  cache that it created on prior runs.
* Older modules and build cache will not be uploaded when creating a new
  cache. This should result in lean cache sizes on an ongoing basis.
* On cache misses we will have to upload our compressed module and build
  cache. This will slightly extend the build time for pull requests that
  modify `go.sum`.

Web UI
------
We no longer build the web UI in every build workflow. Instead we separate
the UI building into its own workflow and cache the resulting assets.
The same UI assets are restored from cache during build worklows. This
strategy has the following properties:

* If the `ui` directory has not changed from prior builds we'll restore
  `http/web_ui` from cache and skip building the UI for no reason.
* We continue to use the built-in `yarn` caching functionality in
  `action/setup-node`. The default mode saves the `yarn` global cache.
  to improve UI build times if the cache has not been modified.

Changes
-------
* Add per platform/archicture Go module and build caching
* Move UI building into a separate job and cache the result
* Restore UI cache during build
* Pin workflows

Notes
-----
[0] https://hashicorp.atlassian.net/browse/QT-578
[1] https://github.com/hashicorp/vault/actions/runs/5415830307/jobs/9844829929

Signed-off-by: Ryan Cragun <me@ryan.ec>
2023-07-05 15:19:49 -06:00
hc-github-team-secure-vault-core 917aeabbcf
backport of commit 8925dc22a0996d08af81f9c9883a66d0c21a88f8 (#21598)
Co-authored-by: Max Bowsher <maxbowsher@gmail.com>
2023-07-05 19:59:26 +00:00
hc-github-team-secure-vault-core 946329b29d
backport of commit e0472d4059decd4a5801e027c34d38b80e038a32 (#21590)
Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
2023-07-05 15:29:29 -04:00
hc-github-team-secure-vault-core df1fb2c868
backport of commit 5ce57dbd00b4d81602b07a82430365f770bf0870 (#21589)
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2023-07-05 18:46:58 +00:00
hc-github-team-secure-vault-core 7392a0f6ec
backport of commit 78a86b450830ecaf963480f17e5ec1c9c7ad2dfc (#21584)
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
2023-07-05 12:56:59 -05:00
hc-github-team-secure-vault-core 5a6be772eb
backport of commit 52baf01e5352968d623502a4f49dbda12a4dc322 (#21580)
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
2023-07-05 10:16:02 -06:00
hc-github-team-secure-vault-core 94213dacde
backport of commit c6ef0800a00f3634b869e1152cfbf5581753633f (#21576)
Co-authored-by: mickael-hc <86245626+mickael-hc@users.noreply.github.com>
2023-07-05 11:22:27 -04:00
hc-github-team-secure-vault-core ea7fce78f8
backport of commit 772cda4eb24360db53cb640c71cd32aec4aacfc1 (#21573)
Co-authored-by: Peter Wilson <peter.wilson@hashicorp.com>
2023-07-05 14:47:58 +01:00
hc-github-team-secure-vault-core a2b98398e1
backport of commit eecae3a827f523a25359068ad6714af8f28c6ced (#21550) (#21556)
Co-authored-by: miagilepner <mia.epner@hashicorp.com>
2023-07-04 17:07:05 +02:00
hc-github-team-secure-vault-core a2160e5551
backport of commit c9b18c43ea0ed3a06127ad22dec0a13d094ee06d (#21551)
Co-authored-by: Max Bowsher <maxbowsher@gmail.com>
2023-07-04 00:37:25 +00:00
hc-github-team-secure-vault-core cf7c8bc9dc
Backport of UI: VAULT-17699 Fix masked input bug into release/1.14.x (#21537)
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
2023-07-03 08:04:34 -07:00
hc-github-team-secure-vault-core eef9e493e3
backport of commit 1ffc56cb42af630f6d2d39d20cc7ce3e8a44a83d (#21530)
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
2023-06-30 20:12:37 +00:00
hc-github-team-secure-vault-core 96f1478944
backport of commit f1c6ab41fc6d90811d1a268465f4d9eb712a58b5 (#21535)
Co-authored-by: Rebecca Willett <47540675+rebwill@users.noreply.github.com>
2023-06-30 15:51:51 -04:00
hc-github-team-secure-vault-core d21351f245
backport of commit 325233ea7dba833e987909b21af547d0933751e3 (#21519)
Co-authored-by: Christophe Deliens <chris@deliens.be>
2023-06-30 17:48:20 +00:00
hc-github-team-secure-vault-core 303f940b96
backport of commit 282b4a07383d1e4bb483e1b91d43dd04a5632282 (#21502) 2023-06-29 18:50:46 +00:00
hc-github-team-secure-vault-core 9310e3acba
backport of commit 5b41148bfcfd305991c19998f6d04ca8880da137 (#21488) 2023-06-28 17:46:37 +00:00
hc-github-team-secure-vault-core c97ada6e49
backport of commit 81a5e2ee65944c656b8ee7b9e2ed2c374821eef0 (#21498)
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
2023-06-28 16:00:09 +00:00
hc-github-team-secure-vault-core 855754e434
backport of commit 9f741af66497e67d96f3b2f0748e7ff09b2fd43a (#21492)
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
2023-06-27 21:37:38 +00:00
hc-github-team-secure-vault-core aa7b7ad951
backport of commit c3741b0177056d9e999ff03a6542a4811508fa9a (#21485)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2023-06-27 15:54:28 -04:00
hc-github-team-secure-vault-core 0e8ded4936
backport of commit bcd7083d94532a143fb49f92621d2c7a448dcd71 (#21481)
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
2023-06-27 18:39:17 +00:00
hc-github-team-secure-vault-core 32beec61bc
backport of commit fd1683698bad3556d21e783a26ec1bca5d0de671 (#21477)
Co-authored-by: Ryan Cragun <me@ryan.ec>
2023-06-27 16:58:02 +00:00
hc-github-team-secure-vault-core 649715eeb4
backport of commit e3b3c7a8de6f7c3c240ecf798470bbb24c2aaf60 (#21468)
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2023-06-27 13:14:38 +00:00
hc-github-team-secure-vault-core 324557f57e
enos: use on-demand targets (#21459) (#21464)
Add an updated `target_ec2_instances` module that is capable of
dynamically splitting target instances over subnet/az's that are
compatible with the AMI architecture and the associated instance type
for the architecture. Use the `target_ec2_instances` module where
necessary. Ensure that `raft` storage scenarios don't provision
unnecessary infrastructure with a new `target_ec2_shim` module.

After a lot of trial, the state of Ec2 spot instance capacity, their
associated APIs, and current support for different fleet types in AWS
Terraform provider, have proven to make using spot instances for
scenario targets too unreliable.

The current state of each method:
* `target_ec2_fleet`: unusable due to the fact that the `instant` type
  does not guarantee fulfillment of either `spot` or `on-demand`
  instance request types. The module does support both `on-demand` and
  `spot` request types and is capable of bidding across a maximum of
  four availability zones, which makes it an attractive choice if the
  `instant` type would always fulfill requests. Perhaps a `request` type
  with `wait_for_fulfillment` option like `aws_spot_fleet_request` would
  make it more viable for future consideration.
* `target_ec2_spot_fleet`: more reliable if bidding for target instances
  that have capacity in the chosen zone. Issues in the AWS provider
  prevent us from bidding across multiple zones succesfully. Over the
  last 2-3 months target capacity for the instance types we'd prefer to
  use has dropped dramatically and the price is near-or-at on-demand.
  The volatility for nearly no cost savings means we should put this
  option on the shelf for now.
* `target_ec2_instances`: the most reliable method we've got. It is now
  capable of automatically determing which subnets and availability
  zones to provision targets in and has been updated to be usable for
  both Vault and Consul targets. By default we use the cheapest medium
  instance types that we've found are reliable to test vault.

* Update .gitignore
* enos/modules/create_vpc: create a subnet for every availability zone
* enos/modules/target_ec2_fleet: bid across the maximum of four
  availability zones for targets
* enos/modules/target_ec2_spot_fleet: attempt to make the spot fleet bid
  across more availability zones for targets
* enos/modules/target_ec2_instances: create module to use
  ec2:RunInstances for scenario targets
* enos/modules/target_ec2_shim: create shim module to satisfy the
  target module interface
* enos/scenarios: use target_ec2_shim for backend targets on raft
  storage scenarios
* enos/modules/az_finder: remove unsed module

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2023-06-26 16:54:39 -06:00
hc-github-team-secure-vault-core 45b8674d03
backport of commit df304012f3b3f4d7860b3bb3b58f844291495793 (#21457)
Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
2023-06-26 14:42:40 -04:00
hc-github-team-secure-vault-core 5d2320170c
backport of commit a71cdb616567fbcd05c257ba3535d1e2297a9647 (#21445)
Co-authored-by: Jason O'Donnell <2160810+jasonodonnell@users.noreply.github.com>
2023-06-23 15:55:15 +00:00
hc-github-team-secure-vault-core 58287739ec
backport of commit 5de6af60760dbcbefd8c8e4eb923f74a5720cf13 (#21440)
Co-authored-by: Ryan Cragun <me@ryan.ec>
2023-06-23 04:48:54 +00:00
hc-github-team-secure-vault-core be67c16299
backport of commit 8d22142a3e9d13435b1a65685317fefba7e2f5b3 (#21421)
Co-authored-by: Ryan Cragun <me@ryan.ec>
2023-06-22 22:14:22 +00:00
hc-github-team-secure-vault-core cdd842289a
backport of commit 9290d5f18843f35bbab60c4030faf302f1c7f511 (#21429)
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
2023-06-22 21:17:30 +00:00
hc-github-team-secure-vault-core 05abd2c888
backport of commit e3dad5b6da871c82d8688467fcc7279f484c24d4 (#21425)
Co-authored-by: Shubham P <shubham.prajapat@sourcefuse.com>
2023-06-22 20:40:19 +00:00
hc-github-team-secure-vault-core a3e069e3d9
backport of commit 5d13092b038397d5970dcaa411c43defe993ab3a (#21422)
Co-authored-by: Doug Knight <doug.knight@karmix.org>
2023-06-22 13:19:01 -07:00
hc-github-team-secure-vault-core df5284e6cf
backport of commit 67927a1e9f0a2145b5a5a1e1a8d6d542fe16b25e (#21355)
Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2023-06-22 19:25:48 +00:00
hc-github-team-secure-vault-core 5de4bea649
backport of commit e31ead37baadfd35f57bd9ef2ff4715e5bf5a46d (#21353)
Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2023-06-22 18:30:17 +00:00
hc-github-team-secure-vault-core 02e1163a14
backport of commit 416dff8765aa8e546517bf0cad46bf7f6772e0f2 (#21415)
Co-authored-by: Meggie <meggie@hashicorp.com>
2023-06-22 18:28:13 +00:00
hc-github-team-secure-vault-core 5d4ab6d820
backport of commit 21bd774c675bffd2cf4093de86765bc04dc1c6f5 (#21417)
Co-authored-by: Rowan Smith <86935689+rowansmithhc@users.noreply.github.com>
2023-06-22 18:23:24 +00:00
hc-github-team-secure-vault-core ec6011be33
backport of commit 8e40823fe1cf40cecb1e004be29fde5fdb875bdb (#21416)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2023-06-22 17:56:53 +00:00
hc-github-team-secure-vault-core e513a1355c
backport of commit 58b6cb1c42418d5eb2c5e0d3b1bc9d95b3e3a707 (#21410)
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
2023-06-22 15:29:46 +00:00
hc-github-team-secure-vault-core 69053efc00
backport of commit 6157b5ffcb6e0fcd1d0823e4929bf50ef1b00bc8 (#20837)
Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>
2023-06-21 22:56:07 +00:00
hc-github-team-secure-vault-core 0e266b7d03
backport of commit 774d75e63e2481f28f0890f2b4387303ac232755 (#21294)
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2023-06-21 22:22:01 +00:00
hc-github-team-secure-vault-core 6496f6674f
backport of commit 4eed18cf49535b9445c25a39c62f7190321764af (#21358)
Co-authored-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-06-21 21:23:03 +00:00
hc-github-team-secure-vault-core b0b2e07f86
backport of commit 15aee2e0babebaeb7ef3c49fc6221a2bc08cd8fa (#21398)
Co-authored-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-06-21 17:06:16 -04:00
hc-github-team-secure-vault-core 352865372e
backport of commit eb634e93266f411db0e1476e638daf02aab6d0ec (#21394)
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2023-06-21 19:39:16 +00:00
Sarah Chavis 32982d73d2
[DOCS] Backport release notes updates (#21386)
* Backport initial release notes drafting

* Updates for GA
2023-06-21 17:42:11 +00:00
hc-github-team-secure-vault-core 056c1b11a3
backport of commit d8b811d8da56589ad1de0396d8d09a07c88fdb10 (#21385)
Co-authored-by: miagilepner <mia.epner@hashicorp.com>
2023-06-21 16:00:35 +00:00
hc-github-team-secure-vault-core d7795738eb
backport of commit 99cf3836b69149d00e7f5e83c2e623a0155dc252 (#21382)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2023-06-21 10:14:05 -04:00
hc-github-team-secure-vault-core 36365ed7f4
backport of commit 3a46ecc389e9096ccea6c6f847b68ada7f8068d7 (#21362)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2023-06-21 14:01:13 +00:00
hc-github-team-secure-vault-core c1e932ed20
backport of commit 17d63abdb1a8c0e0c3aaf649b34b4645d28dc17b (#21371)
Co-authored-by: Josh Black <raskchanky@gmail.com>
2023-06-20 21:19:13 +00:00