145 Commits

Author SHA1 Message Date
Ryan Cragun
78ae0ca5bc
enos(fips1403): simplify semver constraint to only consider currently mixed versions - upgrade scenario (#30995) (#31031)
Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2025-06-19 13:50:05 -06:00
Ryan Cragun
36aa49b9e6
enos(fips1403): simplify semver constraint to only consider currently mixed release versions (#30831)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-06-04 14:01:17 -04:00
Ryan Cragun
76df6560e2
enos(auth/ldap): update ldap auth config on random node in cluster (#30813)
Fix a potential race where we might attempt to update the auth before
we've initially configured it. Also, rather than update it on all nodes
we now choose a node in the cluster at random.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-06-02 14:45:52 -06:00
Tin Vo
d7bb0adfe0
VAULT-35642: Adding comments for Enos premade aws role and policy (#30731)
* adding comments for premade aws role and policy

* fixing comments
2025-05-23 12:40:00 -07:00
Tin Vo
58a4353d2c
adding kv policy writers to depends on (#30726) 2025-05-22 11:45:53 -07:00
Luis (LT) Carbonell
403720c1fd
Add non-leader test for enos (#30657)
* Add non-leader test for enos

* Make clearer comments
2025-05-22 11:25:19 -04:00
Luis (LT) Carbonell
ed52371b10
Upgrade FIPS 1402 -> 1403 (#30576)
* Upgrade FIPS 1402 -> 1403

* Clean up

* changelog
2025-05-12 15:01:30 -05:00
Luis (LT) Carbonell
87f1d18e51
Update ENOS to test upgrades from fips1402 -> fips1403 (#30577)
* Upgrade FIPS 1402 -> 1403

* Invert ternary
2025-05-12 12:03:45 -04:00
Ryan Cragun
025448109d
enos(rhel): remove references to 9.4 again (#30410)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-04-26 01:07:32 +00:00
Ryan Cragun
debca85240
enos(rhel): remove references to 9.4 (#30407)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-04-25 18:08:04 -06:00
Ryan Cragun
4d921f3152
enos(raft): fix vault_verify_removed_node source (#30400)
Fix a module import that was added in 3011c4328f88

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-04-25 15:19:14 -06:00
Ryan Cragun
f61bd3230c
enos(artifactory): unify dev and test scenario artifactory metadata into new module (#29891)
* enos(artifactory): unify dev and test scenario artifactory metadata into new module

There was previously a lot of shared logic between
`build_artifactory_artifact` and `build_artifactory_package` as it
regards to building an artifact name. When it comes down to it, both
modules are very similar and their only major difference is searching
for any artifact (released or not) by either a combination of
`revision`, `edition`, `version`, and `type` vs. searching for a
released artifact with a combination of `version`, `edition`, and
`type`.

Rather than bolt on new `s390x` and `fips1403` artifact metadata to
both, I factored their metadata for package names and such into a
unified and shared `artifact/metadata` module that is now called by
both.

This was tricky as dev and test scenarios currently differ in what
we pass in as the `vault_version`, but we hope to remove that
difference soon. We also add metadata support for the forthcoming
FIPS 140-3.

This commit was tested extensively, along with other test scenarios
in support for `s390x but will be useful immediately for FIPS 140-3
so I've extracted it out.

Signed-off-by: Ryan Cragun <me@ryan.ec>

* Fix artifactory metadata before merge

The initial pass of the artifactory metadata was largely untested and
extracted from a different branch. After testing, this commit fixes a
few issues with the metadata module.

In order to test this I also had to fix an issue where AWS secrets
engine testing became a requirement but is impossible unless you exectue
against a blessed AWS account that has required roles. Instead, we now
make those verification opt-in via a new variable.

We also make some improvements to the pki-verify-certificates script so
that it works reliably against all our supported distros.

We also update our dynamic configuration to use the updated versions in
samples.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-04-25 14:55:26 -06:00
Amir Aslamov
10495d77f3
Fix the exposure of sensitive data from inside logs by dropping the entered value inside schema validation function (#30388)
* drop the actual value of the secret entered by the user from printing inside field validation

* add changelog

* upgrade vault radar version to 0.24.0

* feedback

* remove changelog
2025-04-25 15:20:29 -04:00
Tin Vo
4c36d90281
VAULT-30187: Create Enos AWS Engine tests (#29566)
* Testing Enos AWS Engine tests

* Testing Enos AWS Engine tests

* Testing Enos AWS Engine tests

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine test

* testing enos aws engine

* testing enos aws engine

* updating test for enterprise

* updating test for enterprise

* updating test for enterprise

* removing testing output

* removing testing output

* removing testing github action

* fixing lint

* removing sensitive flag

* including sensitive flag due to terraform errors

* removing testing action workflow
2025-04-21 10:30:43 -07:00
Guy J Grigsby
08c5a52b02
disable_mlock must now be explicitly included in config (#29974)
* require explicit value for disable_mlock

* set disable_mlock back to true for all docker tests

* fix build error

* update test config files

* change explicit mlock check to apply to integrated storage only.

* formatting and typo fixes

* added test for raft

* remove erroneous test

* remove unecessary doc line

* remove unecessary var

* pr suggestions

* test compile fix

* add mlock config value to enos tests

* enos lint

* update enos tests to pass disable_mlock value

* move mlock error to runtime to check for env var

* fixed mlock config detection logic

* call out mlock on/off tradeoffs to docs

* rewording production hardening section on mlock for clarity

* update error message when missing disable_mlock value to help customers with the previous default

* fix config doc error and update production-hardening doc to align with existing recommendations.

* remove extra check for mlock config value

* fix docker recovery test

* Update changelog/29974.txt

Explicitly call out that Vault will not start without disable_mlock included in the config.

Co-authored-by: Kuba Wieczorek <kuba.wieczorek@hashicorp.com>

* more docker test experimentation.

* passing disable_mlock into test cluster

* add VAULT_DISABLE_MLOCK envvar to docker tests and pass through the value

* add missing envvar for docker env test

* upate additional docker test disable_mlock values

* Apply suggestions from code review

Use active voice.

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>

---------

Co-authored-by: Kuba Wieczorek <kuba.wieczorek@hashicorp.com>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2025-04-17 15:35:40 +02:00
Tin Vo
5151999ea4
VAULT-30187: updating aws-nuke version (#30187)
* testing cleanup dry run

* testing cleanup dry run

* testing cleanup dry run

* testing cleanup dry run
2025-04-14 10:16:48 -07:00
Tin Vo
3f65999d2b
VAULT-35305: fixing enos pki verification (#30223)
* testing enos pki verification

* testing enos pki verification

* fixing enos pki verification test

* fixing enos pki verification test
2025-04-09 16:30:45 -07:00
Tin Vo
76b8cbbf04
fixing enos pki verification issue (#30218) 2025-04-09 13:48:15 -07:00
miagilepner
3011c4328f
VAULT-33008: Enos tests for removed raft nodes (#29214)
* add test

* add as module

* more debugging of scenario

* fixes

* smoke test working

* autopilot test working

* revert local autopilot changes, cleanup comments and raft remove peer changes

* enos fmt

* modules fmt

* add vault_install_dir

* skip removal correctly for consul

* lint

* pr fixes

* passed run

* pr comments

* change step name everywhere

* fix

* check correct field

* remove cluster_name
2025-04-08 10:53:00 +02:00
Tin Vo
a4eea92b1f
adding aws vault ci permissions to destroy enos aws engine test resources (#30185) 2025-04-04 09:12:17 -07:00
Tin Vo
bf0a73b9e0
VAULT-35190: increasing timeout for aws-nuke clean up job (#30156)
* increasing timeout

* reverting aws-nuke back to rebuy/aws-nuke

* reverting aws-nuke version

* testing cleanup

* testing cleanup
2025-04-02 10:19:26 -07:00
Tin Vo
7bbd91b371
VAULT-34794: Updating aws-nuke version and adding filters (#29959)
* adding enos clean up ec2 instance

* updating aws-nuke

* updating aws-nuke

* updating aws-nuke version

* updating aws-nuke version

* removing --no-dry-run for testing

* testing pipeline

* testing pipeline

* testing pipeline

* testing aws-nuke

* testing clean up

* testing clean up

* undo cleanup schedule
2025-03-27 16:20:13 -07:00
Ryan Cragun
77e48e837e
enos(cloud-init): fix synchronize-repos (#30013)
`$?` in bash is wonky. When you evaluate an expression in an `if`
statement the `$?` variable is only set the actual value in blocks
scoped in the statement. Therefore, since we rely on it in
synchronize-repos we have to evaluate the rest of the function in a
scope of that statement.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-03-24 16:02:24 -06:00
Ryan Cragun
32f74c1016
enos(install_packages): handle cloud-init exit code 2 and subshells (#29979)
In the `synchronize-repos.sh` script we use `cloud-init status --wait`
to ensure that `cloud-init` is not running when we attempt to sync the
repositories. This is all fine and good except that modern versions of
`cloud-init` can exit with 2 if they encounter an error but recover.
Since we're running the script with `-e` and don't gate the exit with an
expression, the script will fail rather than recover.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-03-20 15:32:40 -06:00
Charles Nwokotubo
4cff78b728
[enos] SECVULN-18910: Enforce IMDSv2 on AWS instances (#29964)
* [enos] SECVULN-18910: Enforce IMDSv2 on AWS instances

* lint fix
2025-03-19 21:28:57 +00:00
Charles Nwokotubo
5a85639928
SECVULN-18432: Default to Encrypted Root Volumes (#29911) 2025-03-12 17:16:25 -04:00
Rebecca Willett
04bd44b047
[Enos] Update descriptions for dev scenarios (#29828)
* Update descriptions of dev scenarios

* Update docs URLs
2025-03-05 08:27:22 -08:00
Tin Vo
6960808238
VAULT-33601: fixing enos vault-radar failure (#29463)
* fixing vault-radar failure

* fixing seal_ha vault-radar error

* fixing seal_ha vault-radar error

* fixing seal_ha vault-radar error

* testing seal_ha

* testing seal_ha
2025-02-19 16:08:53 -08:00
Tin Vo
ac3bb7b2d4
VAULT-32188: Enos test for PKI certificates (#29007)
* updating pki test

* updating pki test

* updating pki test

* updating pki script

* resolving conflicts

* adding pki cert verifications

* resolving conflicts

* updating test

* removing comments

* addressing bash formatting

* updating test

* adding description

* fixing lint error

* fixing lint error

* fixing lint issue

* removing unneeded scenario

* resolving conflicts

* debugging pipeline error

* fixing pipeline tests'

* fixing pipeline tests'

* testing smoke test

* fixing pipeline error

* debugging pipeline error

* debugging pipeline error

* debugging pipeline error

* debugging agent test ci failure

* fixing ci errors

* uncomment token

* updating script

* updating hosts

* fixing lint

* fixing lint

* fixing lint

* adding revoked certificate

* undo kv.tf change

* updating cert issuing

* updating issuing certs to include issuer

* updating pki cert verification

* addressing comments

* fixing lint

* fixing lint

* fixing lint

* fixing lint

* updating verify_secrets_engine_read module

* fixing lint

* fixing lint

* fixing lint

* debugging lint

* testing pipeline

* adding verify variables for autopilot

* adding pki read variable for autopilot

* updating vault engine read variables

* addressing comments

* fixing lint

* update test for enterprise

* update pki tests to adapt to enterprise
2025-01-23 11:30:20 -08:00
Rebecca Willett
8cee664204
Add 'how to run' instructions to each Enos scenario (#29299)
* Add 'how to run' instructions for each scenario
2025-01-10 21:17:09 +00:00
Tin Vo
d5a7ac2680
adding logic to handle cloud-init error code 2 (#28598)
* adding logic to print failures and retry if there is an cloud-init error

* adding logic to print failures and retry if there is an cloud-init error

* fixing timeout error

* fixing timeout error

* fixing timeout error

* fixing timeout error

* fixing timeout error

* updating retry to 2

* updating cloud init status logic

* updating cloud init status logic

* addressing comments

* addressing comments

* fixing error from sync scriot
2024-11-22 12:06:32 -08:00
Ryan Cragun
3b31b3e939
VAULT-32206: verify audit log and systemd journal secret integrity (#28932)
Verify vault secret integrity in unauthenticated I/O streams (audit log, STDOUT/STDERR via the systemd journal) by scanning the text with Vault Radar. We search for both known and unknown secrets by using an index of KVV2 values and also by radar's built-in heuristics for credentials, secrets, and keys.

The verification has been added to many scenarios where a slight time increase is allowed, as we now have to install Vault Radar and scan the text. In practice this adds less than 10 seconds to the overall duration of a scenario.

In the in-place upgrade scenario we explicitly exclude this verification when upgrading from a version that we know will fail the check. We also make the verification opt-in so as to not require a Vault Radar license to run Enos scenarios, though it will always be enabled in CI.

As part of this we also update our enos workflow to utilize secret values from our self-hosted Vault when executing in the vault-enterprise repo context.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-11-22 11:14:01 -07:00
Ryan Cragun
ce5885279b
VAULT-31181: Add pipeline tool to Vault (#28536)
As the Vault pipeline and release processes evolve over time, so too must the tooling that drives them. Historically we've utilized a combination of CI features and shell scripts that are wrapped into make targets to drive our CI. While this 
approach has worked, it requires careful consideration of what features to use (bash in CI almost never matches bash in developer machines, etc.) and often requires a deep understanding of several CLI tools (jq, etc). `make` itself also has limitations in user experience, e.g. passing flags.

As we're all in on Github Actions as our pipeline coordinator, continuing to utilize and build CLI tools to perform our pipeline tasks makes sense. This PR adds a new CLI tool called `pipeline` which we can use to build new isolated tasks that we can string together in Github Actions. We intend to use this utility as the interface for future release automation work, see VAULT-27514.

For the first task in this new `pipeline` tool, I've chosen to build two small sub-commands:

* `pipeline releases list-versions` - Allows us to list Vault versions between a range. The range is configurable either by setting `--upper` and/or `--lower` bounds, or by using the `--nminus` to set the N-X to go back from the current branches version. As CE and ENT do not have version parity we also consider the `--edition`, as well as none-to-many `--skip` flags to exclude specific versions.

* `pipeline generate enos-dynamic-config` - Which creates dynamic enos configuration based on the branch and the current list of release versions. It takes largely the same flags as the `release list-versions` command, however it also expects a `--dir` for the enos directory and a `--file` where the dynamic configuration will be written. This allows us to dynamically update and feed the latest versions into our sampling algorithm to get coverage over all supported prior versions.

We then integrate these new tools into the pipeline itself and cache the dynamic config on a weekly basis. We also cache the pipeline tool itself as it will likely become a repository for pipeline specific tooling. The caching strategy for the `pipeline` tool itself will make most workflows that require it super fast.


Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-10-23 15:31:24 -06:00
Ryan Cragun
c8e6169d5d
VAULT-31402: Add verification for all container images (#28605)
* VAULT-31402: Add verification for all container images

Add verification for all container images that are generated as part of
the build. Before this change we only ever tested a limited subset of
"default" containers based on Alpine Linux that we publish via the
Docker hub and AWS ECR.

Now we support testing all Alpine and UBI based container images. We
also verify the repository and tag information embedded in each by
deploying them and verifying the repo and tag metadata match our
expectations.

This does change the k8s scenario interface quite a bit. We now take in
an archive image and set image/repo/tag information based on the
scenario variants.

To enable this I also needed to add `tar` to the UBI base image. It was
already available in the Alpine image and is used to copy utilities to
the image when deploying and configuring the cluster via Enos.

Since some images contain multiple tags we also add samples for each
image and randomly select which variant to test on a given PR.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-10-07 10:16:22 -06:00
Tin Vo
4836c83e5a
removing unused variable (#28537)
* removing unused variable

* testing pipeline

* testing pipeline
2024-10-02 12:06:26 -07:00
Ryan Cragun
c8c51b1b9d
VAULT-30819: verify DR secondary leader before unsealing followers (#28459)
* VAULT-30819: verify DR secondary leader before unsealing followers

After we've enabled DR replication on the secondary leader the existing
cluster followers will be resealed with the primary clusters encryption
keys. We have to unseal the followers to make them available. To ensure
that we absolutely take every precaution before attempting to unseal the
followers we now verify that the secondary leader is the cluster leader,
has a valid merkle tree, and is streaming wals from the primary cluster
before we attempt to unseal the secondary followers.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-09-24 09:13:40 -06:00
Ryan Cragun
b977fac936
VAULT-30819: DR replicatio: wait for seal rewrap before enabling DR (#28425)
Ensure that both clusters have completed their seal rewrap before
enabling DR on the secondary. We don't want the secondary to come back
up in an in-between state.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-09-18 10:29:03 -06:00
Ryan Cragun
1082629d1f
VAULT-30819: Fix two potential flakes in DR replication (#28409)
Fix two occasional flakes in the DR replication scenario:
* Always verify that all nodes in the cluster are unsealed before
  verifying test data. Previously we only verified seal status on
  followers.
* Fix an occasional timeout when waiting for the cluster to unseal by
  rewriting the module to retry for a set duration instead of
  exponential backoff.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-09-17 12:32:15 -06:00
Ryan Cragun
392412829b
[VAULT-30189] enos: verify identity and OIDC tokens (#28274)
* [VAULT-30189] enos: verify identity and OIDC tokens

Expand our baseline API and data verification by including the identity
and identity OIDC tokens secrets engines. We now create a test entity,
entity-alias, identity group, various policies, and associate them with
the entity. For the OIDC side, we now configure the OIDC issuer, create
and rotate named keys, create and associate roles with the named key,
and issue and introspect tokens.

During a second phase we also verify that the those some entities,
groups, keys, roles, config, etc all exist with the expected values.
This is useful to test durability after upgrades, migrations, etc.

This change also includes new updates our prior `auth/userpass` and `kv`
verification. We had two modules that were loosely coupled and
interdependent. This restructures those both into a singular module with
child modules and fixes the assumed values by requiring the read module
to verify against the created state.

Going forward we can continue to extend this secrets engine verification
module with additional create and read checks for new secrets engines.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-09-09 14:29:11 -06:00
Ryan Cragun
0764d7d177
enos: poweroff and terminate instances when shutting them down (#28316)
Previously our `shutdown_nodes` modules would halt the machine. While
this is useful for simulating a failure it makes cleaning up the halted
machines very slow in AWS.

Instead, we now poweroff the machines and utilize EC2's instance
poweroff handling to immediately terminate the instances.

I've test both scenarios locally utilizing the change and both still
work as expected. I also timed before and after and this change saves 5
MINUTES in total runtime (~40%) for the PR replication scenario. I assume
it yields similar results for autopilot.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-09-09 13:22:41 -06:00
Luis (LT) Carbonell
cdf3da4066
Add DR failover scenario to Enos (#28256)
* Add DR failover scenario to Enos

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-qualities.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-qualities.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-pr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* remove superuser

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

* Update enos/enos-scenario-dr-replication.hcl

Co-authored-by: Ryan Cragun <me@ryan.ec>

---------

Co-authored-by: Ryan Cragun <me@ryan.ec>
2024-09-05 21:33:53 +00:00
Ryan Cragun
b5d32b7bec
enos: add shfmt formatting to enos module scripts (#28142)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-08-23 13:45:30 -06:00
Ryan Cragun
10430fecba
enos: don't exit in verify-billing-start retry loop (#28132)
Previously we'd fail in the verify-billing-start.sh retry loop instead
of returning a 1. This fixes that and normalizes the script.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-08-20 17:36:09 -06:00
akshya96
76a49a5700
Auto-roll billing start enos test (#27981)
* auto-roll billing start enos test

* enos: don't expect curl available in docker image (#27984)

Signed-off-by: Ryan Cragun <me@ryan.ec>

* Update interoperability-matrix.mdx (#27977)

Updating the existing Vault/YubiHSM integration with a newer version of Vault as well as now supporting Managed Keys.

* Update hana db pkg (#27950)

* database/hana: use go-hdb v1.10.1

* docs/hana: quotes around password so dashes don't break it

* Clarify audit log failure telemetry docs. (#27969)

* Clarify audit log failure telemetry docs.

* Add the note about the misleading counts

* Auto-rolling billing start docs PR  (#27926)

* auto-roll docs changes

* addressing comments

* address comments

* Update website/content/api-docs/system/internal-counters.mdx

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>

* addressing some changes

* update docs

* update docs with common explanation file

* updated note info

* fix 1.18 upgrade doc

* fix content-check error

* Update website/content/partials/auto-roll-billing-start-example.mdx

Co-authored-by: miagilepner <mia.epner@hashicorp.com>

---------

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
Co-authored-by: miagilepner <mia.epner@hashicorp.com>

* docker: add upgrade notes for curl removal (#27995)

Signed-off-by: Ryan Cragun <me@ryan.ec>

* Update vault-plugin-auth-jwt to v0.21.1 (#27992)

* docs: fix upgrade 1.16.x (#27999)

Signed-off-by: Ryan Cragun <me@ryan.ec>

* UI: Add unsupportedCriticalCertExtensions to jwt config expected payload (#27996)

* Client Count Docs Updates/Cleanup (#27862)

* Docs changes

* More condensation of docs

* Added some clarity on date ranges

* Edited wording'

* Added estimation client count info

* Update website/content/api-docs/system/internal-counters.mdx

Co-authored-by: miagilepner <mia.epner@hashicorp.com>

---------

Co-authored-by: miagilepner <mia.epner@hashicorp.com>

* update(kubernetes.mdx): k8s-tokenreview URL (#27993)

Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>

* Update programmatic-management.mdx to clarify Terraform prereqs (#27548)

* UI: Replace getNewModel with hydrateModel when model exists (#27978)

* Replace getNewModel with hydrateModel when model exists

* Update getNewModel to only handle nonexistant model types

* Update test

* clarify test

* Fix auth-config models which need hydration not generation

* rename file to match service name

* cleanup + tests

* Add comment about helpUrl method

* Changelog for 1.17.3, 1.16.7 enterprise, 1.15.13 enterprise (#28018)

* changelog for 1.17.3, 1.16.7 enterprise, 1.15.13 enterprise

* Add spacing to match older changelogs

* Fix typo in variables.tf (#27693)

intialize -> initialize

Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>

* Update 1_15-auto-upgrade.mdx (#27675)

* Update 1_15-auto-upgrade.mdx

* Update known issue version numbers for AP issue

---------

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>

* Update 1_16-default-policy-needs-to-be-updated.mdx (#27157)

Made a few grammar changes plus updating term from Vault IU to Vault UI

* change instances variable to hosts

* for each hosts

* add cluster addr port

* Add ENVs using NewTestDockerCluster (#27457)

* Add ENVs using NewTestDockerCluster

Currently NewTestDockerCluster had no means for setting any
environment variables. This makes it tricky to create test
for functionality that require thems, like having to set
AWS environment variables.

DockerClusterOptions now exposes an option to pass extra
enviroment variables to the containers, which are appended
to the existing ones.

* adding changelog

* added test case for setting env variables to containers

* fix changelog typo; env name

* Update changelog/27457.txt

Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>

* adding the missing copyright

---------

Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>

* UI: Build KV v2 overview page (#28106)

* move date-from-now helper to addon

* make overview cards consistent across engines

* make kv-paths-card component

* remove overview margin all together

* small styling changes for paths card

* small selector additions

* add overview card test

* add overview page and test

* add default timestamp format

* cleanup paths test

* fix dateFromNow import

* fix selectors, cleanup pki selectors

* and more selector cleanup

* make deactivated state single arg

* fix template and remove @isDeleted and @isDestroyed

* add test and hide badge unless deactivated

* address failings from changing selectors

* oops, not ready to show overview tab just yet!

* add deletionTime to currentSecret metadata getter

* Bump actions/download-artifact from 4.1.7 to 4.1.8 (#27704)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.7 to 4.1.8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](65a9edc588...fa0a91b85d)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>

* Bump actions/setup-node from 4.0.2 to 4.0.3 (#27738)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](60edb5dd54...1e60f620b9)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>

* Add valid IP callout (#28112)

Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>

* Refactor SSH Configuration workflow (#28122)

* initial copy from other #28004

* pr feedback

* grr

* Bump browser-actions/setup-chrome from 1.7.1 to 1.7.2 (#28101)

Bumps [browser-actions/setup-chrome](https://github.com/browser-actions/setup-chrome) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/browser-actions/setup-chrome/releases)
- [Changelog](https://github.com/browser-actions/setup-chrome/blob/master/CHANGELOG.md)
- [Commits](db1b524c26...facf10a55b)

---
updated-dependencies:
- dependency-name: browser-actions/setup-chrome
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>

* Bump vault-gcp-secrets-plugin (#28089)

Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>

* docs: correct list syntax (#28119)

Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>

* add semgrepconstraint check in skip step

---------

Signed-off-by: Ryan Cragun <me@ryan.ec>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Adam Rowan <92474478+bear359@users.noreply.github.com>
Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
Co-authored-by: Paul Banks <pbanks@hashicorp.com>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
Co-authored-by: miagilepner <mia.epner@hashicorp.com>
Co-authored-by: Scott Miller <smiller@hashicorp.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>
Co-authored-by: Roman O'Brien <58272664+romanobrien@users.noreply.github.com>
Co-authored-by: Adrian Todorov <adrian.todorov@hashicorp.com>
Co-authored-by: VAL <val@hashicorp.com>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
Co-authored-by: Owen Zhang <86668876+owenzorrin@users.noreply.github.com>
Co-authored-by: gkoutsou <gkoutsou@users.noreply.github.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Frappier <92055993+jonathanfrappier@users.noreply.github.com>
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: Max Levine <max@maxlevine.co.uk>
Co-authored-by: Steffy Fort <steffyfort@gmail.com>
2024-08-20 13:47:20 -07:00
Ryan Cragun
339721e953
enos: renable undo logs verification (#27206)
After VAULT-20259 we did not enable the undo logs verification. This
reenables the check but modified to check the status of the primary and
follower nodes, as they should have different values.

While testing this I accidentally flubbed my version input and found the
diagnostic a bit confusing to read so I updated the error message on
version mismatch to be a bit easier to read.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-08-14 13:45:50 -06:00
Ryan Cragun
bf0e156496
enos: wait for both clusters to be healthy before configuring replication (#28049)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-08-09 16:28:28 -06:00
Ryan Cragun
74b6cc799a
VAULT-29583: Modernize default distributions in enos scenarios (#28012)
* VAULT-29583: Modernize default distributions in enos scenarios

Our scenarios have been running the last gen of distributions in CI.
This updates our default distributions as follows:
  - Amazon: 2023
  - Leap:   15.6
  - RHEL:   8.10, 9.4
  - SLES:   15.6
  - Ubuntu: 20.04, 24.04

With these changes we also unlock a few new variants combinations:
  - `distro:amzn seal:pkcs11`
  - `arch:arm64 distro:leap`

We also normalize our distro key for Amazon Linux to `amzn`, which
matches the uname output on both versions that we've supported.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-08-09 13:43:28 -06:00
Ryan Cragun
8c2548f8be
VAULT-29739: Wait for cluster unseal before checking version history (#28022)
Sometimes the replication scenario will race with other steps and
attempt to check the `v1/sys/version-history` API before the cluster is
ready. Eventually when it gets retried some of the original nodes are
down so it will fail. This makes the verification happen later, only
after we've ensured the cluster is unsealed and have gotten leader and
cluster IP addresses. We also make dependent steps require the version
verification so that if it does fail for some reason it will retry
before doing the rest of the scenario.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-08-09 13:43:11 -06:00
Ikko Eltociear Ashimine
b29f52d56e
Fix typo in variables.tf (#27693)
intialize -> initialize

Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>
2024-08-07 14:13:00 -07:00
Ryan Cragun
6366455922
enos: don't expect curl available in docker image (#27984)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2024-08-05 15:25:39 -06:00