20858 Commits

Author SHA1 Message Date
Brian Shumate
0c76cb83e1 Docs: API: update raft snapshot config (#29508)
- Ensure parameters are present for Ent backport
- Update heading
2025-02-05 13:17:32 -05:00
Paul Banks
6dc69291bf identity (CE): Persist conflict resolution after rename (#29471)
This PR introduces a test which exercises Vault's renameResolver and
asserts deterministic state after invalidation. To ensure that automatic
de-duplication is consistent across all nodes, we detect the node's
cluster status and persist renames IFF the node is active.

The PR includes some modifications to deterministic reload testing,
since they now have the side-effect of persistence on active nodes, as
well as tests for consistency in the face of storagePacker bucket
invalidation.

This commit introduces a random seed variable to be used with UUID
generation in Identity Store determinism tests. The seed is
automatically generated or passed during Environment Variable and
displayed during test failure. This allows for easy reproduction
of any test failures for later debugging.
2025-02-05 10:29:52 -05:00
Nick Cabatoff
38c3e15e1e Add support for reloading raft config (#29485) 2025-02-05 15:08:46 +00:00
Scott Miller
0c3449dacd Missed updating go-secure-stdlib in sdk :( (#29502) 2025-02-04 19:54:40 +00:00
Sai Aung Hlyan Htet
16438470f7 CLI: add an option for renew command fail on non-fullfillable request to allow command chaining (#29060)
Signed-off-by: saiaunghlyanhtet <saiaunghlyanhtet2003@gmail.com>
2025-02-04 16:04:26 -03:00
Scott Miller
7b40df7b64 Update go-secure-stdlib (#29501) 2025-02-04 12:58:31 -06:00
Scott Miller
5752e64d09 Update azure key vault wrapper (#29499)
* Update azure key vault wrapper

* changelog
2025-02-04 17:58:40 +00:00
Angel Garbarino
c0ece88d1b Clean up on Azure configuration (#29482)
* put in more options and make generic root password ttl

* small changes
2025-02-04 09:16:46 -07:00
Bianca
2928492d4a Fix group creation forwarding (#29483) 2025-02-04 10:49:42 +01:00
Thy Ton
6f8b5daa7d ignore database_ent.proto from buf linter (#29492) 2025-02-03 16:42:26 -08:00
John-Michael Faircloth
0df92739ca docs: fix include syntax in upgrade guides (#29487) 2025-02-03 14:34:22 -05:00
claire bontempo
5d91f7d9bc UI: Fix token renewal breaking policy checks (#29416)
* set namespace_path in renewal method

* add tests

* add changelog
2025-02-03 10:56:39 -08:00
Scott Miller
73a98ddd48 Update go-kms-wrapping wrapper dependencies, adding ParsePaths support for sensitive values. (#29402)
* Update go-kms-wrapping wrapper dependencies, adding ParsePaths support for sensitive values

* changelog

* document indirect value references, e.g ParsePath
2025-02-03 18:23:52 +00:00
Thy Ton
193796bfc9 refactor database plugin SDK (#29479)
* prepare for enterprise database plugin SDK development
2025-02-03 09:50:33 -07:00
Ryan Cragun
cda9ad3491 VAULT-33074: add github sub-command to pipeline (#29403)
* VAULT-33074: add `github` sub-command to `pipeline`

Investigating test workflow failures is common task that engineers on the
sustaining rotation perform. This task often requires quite a bit of
manual labor by manually inspecting all failed/cancelled workflows in
the Github UI on per repo/branch/workflow basis and performing root cause
analysis.

As we work to improve our pipeline discoverability this PR adds a new `github`
sub-command to the `pipeline` utility that allows querying for such workflows
and returning either machine readable or human readable summaries in a single
place. Eventually we plan to automate sending a summary of this data to
an OTEL collector automatically but for now sustaining engineers can
utilize it to query for workflows with lots of various criteria.

A common pattern for investigating build/enos test failure workflows would be:
```shell
export GITHUB_TOKEN="YOUR_TOKEN"
go run -race ./tools/pipeline/... github list-workflow-runs -o hashicorp -r vault -d '2025-01-13..2025-01-23' --branch main --status failure build
```

This will list `build` workflow runs in `hashicorp/vault` repo for the
`main` branch with the `status` or `conclusion` of `failure` within the date
range of `2025-01-13..2025-01-23`.

A sustaining engineer will likely do this for both `vault` and
`vault-enterprise` repositories along with `enos-release-testing-oss` and
`enos-release-testing-ent` workflows in addition to `build` in order to
get a full picture of the last weeks failures.

You can also use this utility to summarize workflows based on other
statuses, branches, HEAD SHA's, event triggers, github actors, etc. For
a full list of filter arguments you can pass `-h` to the sub-command.

> [!CAUTION]
> Be careful not to run this without setting strict filter arguments.
> Failing to do so could result in trying to summarize way too many
> workflows resulting in your API token being disabled for an hour.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-01-31 13:48:38 -07:00
Theron Voran
6a87419ab0 CE changes for VAULT-33018 (#29470) 2025-01-31 11:11:44 -08:00
Leland Ursu
20795f32a6 added the 1.18.4, 1.17.11, and 1.16.15 changelog entries (#29464)
* added the 1.18.4, 1.17.11, and 1.16.15 changelog entries

* added manual changelog entry

* Update CHANGELOG.md

Co-authored-by: Meggie <meggie@hashicorp.com>

* Update CHANGELOG.md

Co-authored-by: Meggie <meggie@hashicorp.com>

* moved the CL entry about a feature to improvement since we don't ship features in minor releases

* added more context to the dep change record

* updated an improvement to be inline with others

---------

Co-authored-by: lursu <leland.ursu@hashicorp.com>
Co-authored-by: Meggie <meggie@hashicorp.com>
2025-01-31 17:54:43 +00:00
claire bontempo
9d0a01036e UI: Adds serial_number_source to pki role form (#29469)
* add serial_number_source to pki role form

* update test
2025-01-31 09:16:54 -08:00
Sarah Chavis
1b5260d696 Suggested edits for identity doc updates (#29339)
* Identity dupe resolution guide first draft

* initial edits

* save progress

* save changes

* add script to find template policies

* save progress

* save work

* push latest updates

* missed one

* Update website/content/docs/upgrading/deduplication/entity-group.mdx

Co-authored-by: Paul Banks <pbanks@hashicorp.com>

* apply additional feedback

* apply feedback

---------

Co-authored-by: Paul Banks <pbanks@hashicorp.com>
2025-01-31 08:53:06 -08:00
Bruno Oliveira de Souza
d127c4de93 VAULT-21474 Run oidcPeriodicFunc for each namespace id store (#29312)
* run oidcPeriodicFunc for each namespace id store

* remove unused noNamespace var

* properly check for errors getting namespace

not sure why I decided to ignore the NoNamespace error before
or not log the unexpected error, that doesn't make sense.

* add changelog

* improve changelog

* remove too many namespace warning for OIDC rotations

this was already in the ENT PR, I had already checked that the file didn't exist on CE before but somehow I missed it.
2025-01-31 13:04:04 -03:00
Mike Palmiotto
6d5759ecb3 identity: Introduce ActivationFunc for managing feature state (#29467)
* identity: Ensure state is changed on activation

This PR introduces some changes to the way activation flags are
processed in Vault.

Rather than reaching into subsystems and modifying
state from the activationflags package, each plugin can now register its
own ActivationFunc. Updates to activation flags now trigger the the
feature's ActivationFunc, which can encapsulate the associated
subsystem state.

We include a few bugfixes and minor cosmetic changes, like updates to
log lines and godocs.

* Check for nil system backend

* Move deduplication activation to common file

* Add identity dedup activation log lines

* Make interface methods clearer

* Clean up some comments

* More cleanups

* fixup! More cleanups

* fixup! More cleanups
2025-01-31 12:25:07 -03:00
Angel Garbarino
14082d08f1 Add GCP secret engine configuration Create/Edit views (#29423)
* gcp initial changes

* acceptance test coverage for gcp

* update config-wif component test so tests are passing

* specific gcp test coverage

* changelog

* comment clean up

* one more test

* comment things

* address pr comments
2025-01-30 13:37:20 -07:00
Nick Cabatoff
9c0f2fbfe5 Add docs for new iteration of ent operator import feature (#29406) 2025-01-30 15:31:43 -05:00
akshya96
39e7fae801 adding extra test (#29457) 2025-01-30 09:50:38 -08:00
John-Michael Faircloth
5e173b0355 docs: db and ldap secrets engine known issues (#29449) 2025-01-30 11:19:49 -06:00
Dan Rivera
3c5ec5d3b4 UI: Fix text overflow for long Secret and Auth names (#29430)
* adding overflow class to link text

* adding separate class to fix overflow text on list & card views

* adding class to search list items to handle overflow

* adding ellipsis instead of just hidden for visual indicator

* added changelog

* updating styling to use helper classes, added child class to global style, updated changelog

* added test checks for oveflow classes
2025-01-30 11:21:49 -05:00
Bianca
d75ae97bd1 Add testonly endpoints for Identity testing (#29461) 2025-01-30 09:28:58 -05:00
miagilepner
46ee2d0024 Fix log level when starting a raft node (#29459) 2025-01-30 11:46:55 +01:00
Sarah Chavis
39bce9fde3 [DOCS] SEO updates for docs under /enterprise (#29456)
* save progress

* SEO updates for docs under /enterprise
2025-01-29 17:47:51 -08:00
Violet Hynes
c090d31aaa Fix tech preview typo (#29455) 2025-01-29 16:52:26 -08:00
Sarah Chavis
e38052d1ec [main] Fix reference to "vault policies" command (#29453) 2025-01-29 12:55:22 -08:00
Kit Haines
371ffc4bd4 Move all pki-verification calls from sdk-Verify() to pki-specific (#29342)
* Move all pki-verification calls from sdk-Verify() to pki-specific
VerifyCertifcate(...); update sdk-Verify to allow multiple chains,
but validate that at least one of those chains is valid.

* Updates to Validate on Parse PEMBlock, so that a single cert or a single key parses (test fixes).

* Add changelog.

* Make test certificate expire in a while, not at linux epoch.

* Remove duplicate code.

* Fix header file + go mod tidy.

* Updates based on review.
2025-01-29 11:05:55 -05:00
Steven Clark
fbd28dff23 Document new serial_number_source PKI role field (#29438) 2025-01-29 09:42:04 -05:00
Victor Rodriguez
f4fab41e7e Fix missing permitted_dns_domains parameter when signing certificates (#29436)
* Use PermittedDNSDomains parameter when signing certificates.

* Add missing name constraints extension docs for PKI root/generate.
2025-01-28 14:54:20 -08:00
vinay-gopalan
838a38443f Update Rotation Manager OSS Stubs and SDK methods (#29401) 2025-01-28 14:24:44 -06:00
aphorise
4fcc547eba Docs: GCP Project code missing from docs. (#29391) 2025-01-28 12:16:47 -08:00
akshya96
87d6876c6c Deleted namespace client counts is now shown when queried from admin namespace CE changes (#29432)
* adding ce changes from vault-33413-ent

* add changelog
2025-01-27 13:43:25 -08:00
Ryan Cragun
012cd5a42a VAULT-33008: ipv6: always display RFC-5952 §4 conformant addresses (#29228)
USGv6[0] requires implementing §4.1.1 of the NISTv6-r1 profile[1] for
IPv6-Only capabilities. This section requires that whenever Vault
displays IPv6 addresses (including CLI output, Web UI, logs, etc.) that
_all_ IPv6 addresses must conform to RFC-5952 §4 text representation
recommendations[2].

These recommendations do not prevent us from accepting RFC-4241[3] IPv6
addresses, however, whenever these same addresses are displayed they
must conform to the strict RFC-5952 §4 guidelines.

This PR implements handling of IPv6 address conformance in our
`vault server` routine. We handle conformance normalization for all
server, http_proxy, listener, seal, storage and telemetry
configuration where an input could contain an IPv6 address, whether
configured via an HCL file or via corresponding environment variables.

The approach I've taken is to handle conformance normalization at
parse time to ensure that all log output and subsequent usage
inside of Vaults various subsystems always reference a conformant
address, that way we don't need concern ourselves with conformance
later. This approach ought to be backwards compatible to prior loose
address configuration requirements, with the understanding that
going forward all IPv6 representation will be strict regardless of
what has been configured.

In many cases I've updated our various parser functions to call the
new `configutil.NormalizeAddr()` to apply conformance normalization.
Others required no changes because they rely on standard library URL
string output, which always displays IPv6 URLs in a conformant way.

Not included in this changes is any other vault exec mode other than
server. Client, operator commands, agent mode, proxy mode, etc. will
be included in subsequent changes if necessary.

[0]: https://www.nist.gov/publications/usgv6-profile
[1]: https://www.nist.gov/publications/nist-ipv6-profile
[2]: https://www.rfc-editor.org/rfc/rfc5952.html#section-4
[3]: https://www.rfc-editor.org/rfc/rfc4291

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-01-27 14:14:28 -07:00
Steven Clark
9456671f04 Prepare code base for Go 1.24 update. (#29412)
* Fix "t.Fatal from a non-test goroutine" errors in cache_test.go

 - t.Fatal(f) should not be called within a Go routine based on it's documentation and only from the main test's thread.
 - In 1.24 this seems to cause build failures

* Address all "non-constant format string errors" from go vet

 - Within 1.24 these now cause test builds to fail

…" from go vet
2025-01-27 14:34:07 -05:00
Violet Hynes
5ff8a3d6f1 Fix SDK net and crypto versions on main (#29429) 2025-01-27 14:13:59 -05:00
Angel Garbarino
53d2ae2a4d add serialNumberSource to get backend test change but not show visually until design input (#29424) 2025-01-27 10:48:43 -07:00
Violet Hynes
32d61c3893 Update go/x/net and go/x/crypto to latest versions throughout (#29422) 2025-01-27 10:47:40 -05:00
devon-mar
a401afe824 Add serial_number_source option to PKI role (#29369)
* Add `serial_number_source` option to PKI role

* Add changelog for #29369

---------

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-01-27 08:51:26 -05:00
Bruno Oliveira de Souza
e0d60e91d1 add docs for missing accessor flag in token renew command (#29347) 2025-01-27 10:49:29 -03:00
John-Michael Faircloth
04e75372fb database/mssql: set default root rotation stmt for contained db (#29399)
* database/mssql: set default root rotation stmt for contained db

* changelog

* add rotate root test

* fix test

* update passwords to make mssql happy

* create admin user

* update contained user create query

* remove test
2025-01-24 15:42:27 -05:00
claire bontempo
9d31bb8586 add enableSamaccountnameLogin param (#29410) 2025-01-24 20:09:47 +00:00
Ryan Cragun
b239a71934 actions: pin to the latest approved workflows (#29321)
The genesis of this PR is updating our cache action due to older actions
being shut down[0]. While not mentioned in the changelog, the migration
guide does call out versions <3.4.0 or <4.2.0 as too old.[1]

Since I was updating cache I went ahead and updated minor versions of
all our actions.

[0]: https://github.blog/changelog/2024-12-05-notice-of-upcoming-releases-and-breaking-changes-for-github-actions/#actions-cache-v1-v2-and-actions-toolkit-cache-package-closing-down
[1]: https://github.com/actions/cache/discussions/1510

Signed-off-by: Ryan Cragun <me@ryan.ec>
2025-01-24 20:08:01 +00:00
John-Michael Faircloth
28b2746545 db: return success response on static role create/update (#29407) 2025-01-24 11:02:38 -08:00
Equus quagga
19adf7c6cc Adds an option to enable sAMAccountname logins when upndomain is set (#29118)
* Adds an option to enable sAMAccountname logins when upndomain is set

* Adds an option to enable sAMAccountname logins when upndomain is set

* Updated changelog entry

* Update 29118.txt

* Updated cap/ldap version due to needed dependency

* Updated cap/ldap version due to needed dependency

* Restart CI

* Updated LDAP api-docs and docs describing the enable_samaccountname_login option

* Added missing comma in config_test.go

* Update enables_samaccountname

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

* Update enable_samaccountname_login feature documentation

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

---------

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2025-01-24 12:08:18 -06:00
Angel Garbarino
088bb4b6b9 One WIF configuration component (#29367)
* make one component and make one test file for that component. remove the two components and associated files the new component replaces

* make access type subtext dynamic based on model type

* clean up

* clean up

* remove model attr for display purposes

* split out lease to another second config model type and make is-wif-engine helper

* welp missed the old controller

* small removal of overkill comment

* pr feedback

* save lease config if only thing changed

* error handling in acceptance test

* test fix

* replace notOk with throw

* move back error message

* clean up focused largely on wif component test

* replace ok with true
2025-01-24 11:05:00 -07:00