-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[VAULT-30189] enos: verify identity and OIDC tokens #28274
Merged
Merged
+1,615
−351
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CI Results: |
Build Results: |
brewgator
requested changes
Sep 6, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some minor tweaks
f3ca7a9
to
7edb9d6
Compare
brewgator
approved these changes
Sep 9, 2024
2e9573d
to
536a695
Compare
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 interdependt. 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 <[email protected]>
Signed-off-by: Ryan Cragun <[email protected]>
Signed-off-by: Ryan Cragun <[email protected]>
Signed-off-by: Ryan Cragun <[email protected]>
Now that we are using a new module for secrets engines verification without retries we could run into a race: ``` ╷ │ Error: exit status 1 │ │ Error: Execution Error │ │ with module.verify_replicated_data_during_failover.enos_remote_exec.auth_login_testuser, │ on ../../modules/verify_secrets_engines/modules/read/auth.tf line 8, in resource "enos_remote_exec" "auth_login_testuser": │ 8: resource "enos_remote_exec" "auth_login_testuser" { │ │ failed to execute commands due to: running script: │ [/Users/ryan/code/hashi/vault/enos/modules/verify_secrets_engines/scripts/auth-userpass-login.sh] │ failed, due to: 1 error occurred: │ * executing script │ auth/userpass/login/testuser: Error making API request. │ │ URL: PUT http://[::1]:8200/v1/auth/userpass/login/testuser │ Code: 503. Errors: │ │ * Vault is sealed ``` We solve this by waiting for the cluster to be fully unsealed before attempting to login during the data read. Signed-off-by: Ryan Cragun <[email protected]>
536a695
to
ddf6527
Compare
6 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
backport/ent/1.16.x+ent
Changes are backported to 1.16.x+ent
hashicorp-contributed-pr
If the PR is HashiCorp (i.e. not-community) contributed
pr/no-changelog
pr/no-milestone
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
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 same 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
andkv
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.
TODO only if you're a HashiCorp employee
to N, N-1, and N-2, using the
backport/ent/x.x.x+ent
labels. If this PR is in the CE repo, you should only backport to N, using thebackport/x.x.x
label, not the enterprise labels.of a public function, even if that change is in a CE file, double check that
applying the patch for this PR to the ENT repo and running tests doesn't
break any tests. Sometimes ENT only tests rely on public functions in CE
files.
in the PR description, commit message, or branch name.
description. Also, make sure the changelog is in this PR, not in your ENT PR.