17834 Commits

Author SHA1 Message Date
Steven Clark
e3b3c7a8de
Fix OpenAPI spec definitions for PKI EAB APIs (#21458)
* Fix OpenAPI spec definitions for PKI EAB APIs

 - Do not generate duplicate operation ids for the various new-eab apis
 - Fill out proper operation verb for eab delete call
 - Pluralize operation verb for list-eab-keys api
 - Fill out proper response data for new-eab and list-eab-keys

* Add cl
2023-06-27 08:44:21 -04:00
Ryan Cragun
aed2783658
enos: use on-demand targets (#21459)
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>
2023-06-26 16:06:03 -06:00
Rachel Culpepper
049b205527
update env vars to use wrapper constants (#21456) 2023-06-26 17:38:04 +00:00
Anton Averchenkov
df304012f3
openapi: Fix response schema for PKI Issue requests (#21449)
* openapi: Fix response schema for PKI Issue requests

* tests

* changelog

* another expiration for generate/rotate root

* more type fixes from @stevendpclark
2023-06-26 13:31:56 -04:00
Alexander Scheel
f381fba4a6
Document multiple changelog entries in one file (#21442)
Related: #20903
See also: #20864

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-06-26 13:23:52 -04:00
Max Bowsher
5ebda5d8f4
Add a new log message, reporting collisions between OpenAPI paths (#20873)
Vault API endpoints are defined using regexes in instances of the SDK's
framework.Path structure. However, OpenAPI does not use regexes, so a
translation is performed. It is technically possible that this
translation produces colliding OpenAPI paths from multiple
framework.Path structures. When this happens, there has formerly been no
diagnostic, and one result silently overwrites the other in a map.

As a result of this, several operations are currently accidentally
missing from the Vault OpenAPI, which is also the trigger for
https://github.com/hashicorp/vault-client-go/issues/180.

This PR adds a log message, to help catch such accidents so that they
can be fixed. Much of the PR is propagating a logger to the point where
it is needed, and adjusting tests for the API change.

With current Vault, this will result in the following being logged each
time a request is made which triggers OpenAPI generation:
```
[WARN]  secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method
[WARN]  secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/totp
[WARN]  secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/okta
[WARN]  secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/duo
[WARN]  secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/pingid
```

I will submit a further PR to fix the issue - this one is just to add
the diagnostic.
2023-06-23 13:36:11 -04:00
Max Bowsher
43ae739971
Refactor identity/mfa/method/* endpoints to fix bad OpenAPI (#20879)
* Refactor `identity/mfa/method/*` endpoints to fix bad OpenAPI

There is a problem with how the `identity/mfa/method/*` endpoints are
defined, resulting in incorrect OpenAPI generation.

I raised hashicorp/vault-client-go#180 to track a consequence, and
opened #20873 which explains the problem and adds a log message to
detect it.

This PR is now the fix.

It's actually quite an interesting problem, that has come about through
some particular implementation choices, in Vault's first/only case where
REST API objects are created by writing to the collection URL, and have
their ID allocated by the server, instead of the client.

The triggering cause of the malfunction was trying to have a single
framework.Path struct instance which optionally includes or excludes the
method_id path parameter, and also another framework.Path struct
instance handling list operations.

The fix is to simplify the path regexes, and have one framework.Path
which handles the method_id being present, and one that handles it being
absent.

The diff is somewhat large, because the affected code had been
copy/pasted four times (TOTP, Okta, Duo, PingID) - so I took the
opportunity to fix the duplication, creating appropriate helper methods
so that the quadruplicated code could be re-unified.

* Revise documentation

This update refactors how the documentation presents these endpoints to
users, both for clarity, and to align with the new structure of the
code.

From a user perspective, it clears up some unclear presentation of when
the `method_id` parameter should and should not be present, adds
a missing description of the response to create requests, and changes
the `method_id` parameter name to be used consistently (rather than `id`
in some cases, unlike the actual code/OpenAPI).

* Fix incorrect acronym (review fix)

* Accept suggestion of tweaked grammar in documentation

Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>

* Add changelog

---------

Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
2023-06-23 13:32:41 -04:00
Jason O'Donnell
a71cdb6165
Add known issue about update_primary_addrs panic (#21443)
* add known issue about update_primary_addrs panic

* Fix partial

* Fix render
2023-06-23 11:51:35 -04:00
Meggie
b24a048a1a
Fix some changelog bullet formatting (#21431) 2023-06-22 19:25:14 -04:00
Ryan Cragun
5de6af6076
enos: use linux/amd64 for consul storage backend (#21436)
We seem to hit occasional capacity issues when attempting to launch spot
fleets with arm64 instance types. After checking pricing in the regions
that we use, it appears that current and older generation amd64 t2 and
t3 instance types are running at quite a discount whereas t4 arm64
instances are barely under on-demand price, suggesting limited capacity
for arm64 spot instances at this time. We'll change our default backend
instance architecture to amd64 to bid for the cheaper t2 and t3
instances and increase our `max_price` globally to that of a RHEL
machine running on-demand with a t3.medium.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2023-06-22 22:28:52 +00:00
Shubham P
e3dad5b6da
add loopback4-vault in node.js client libraries (#21008) 2023-06-22 13:23:01 -07:00
Doug Knight
5d13092b03
docs: clarify external auth method considerations (#21301)
Signed-off-by: Doug Knight <doug.knight@karmix.org>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2023-06-22 19:31:20 +00:00
Ryan Cragun
8d22142a3e
[QT-572][VAULT-17391] enos: use ec2 fleets for consul storage scenarios (#21400)
Begin the process of migrating away from the "strongly encouraged not to
use"[0] Ec2 spot fleet API to the more modern `ec2:CreateFleet`.
Unfortuantely the `instant` type fleet does not guarantee fulfillment
with either on-demand or spot types. We'll need to add a feature similar
to `wait_for_fulfillment` on the `spot_fleet_request` resource[1] to
`ec2_fleet` before we can rely on it.

We also update the existing target fleets to support provisioning generic
targets. This has allowed us to remove our usage of `terraform-enos-aws-consul`
and replace it with a smaller `backend_consul` module in-repo.

We also remove `terraform-enos-aws-infra` and replace it with two smaller
in-repo modules `ec2_info` and `create_vpc`. This has allowed us to simplify
the vpc resources we use for each scneario, which in turn allows us to
not rely on flaky resources.

As part of this refactor we've also made it possible to provision
targets using different distro versions.

[0] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use
[1] https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/spot_fleet_request#wait_for_fulfillment

* enos/consul: add `backend_consul` module that accepts target hosts.
* enos/target_ec2_spot_fleet: add support for consul networking.
* enos/target_ec2_spot_fleet: add support for customizing cluster tag
  key.
* enos/scenarios: create `target_ec2_fleet` which uses a more modern
  `ec2_fleet` API.
* enos/create_vpc: replace `terraform-enos-aws-infra` with smaller and
  simplified version. Flatten the networking to a single route on the
  default route table and a single subnet.
* enos/ec2_info: add a new module to give us useful ec2 information
  including AMI id's for various arch/distro/version combinations.
* enos/ci: update service user role to allow for managing ec2 fleets.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2023-06-22 12:42:21 -06:00
Rowan Smith
c7db2d61b0
[Docs] ldap auth add VAULT_LDAP_PASSWORD environment variable (#21407)
Add VAULT_LDAP_PASSWORD environment variable
2023-06-22 11:31:26 -07:00
Rowan Smith
21bd774c67
Fix incorrect ordering in api-docs-nav-data.json (#21404)
https://github.com/hashicorp/vault/pull/20595/files#diff-9c9c146a6465b0deafac528d60a94bee5f609ac37c203005bd3b5cda6c190882 was a contrib which added a new endpoint, however the ref to the page in api-docs-nav-data.json was incorrectly added and thus appears out of order in the left sidebar, i.e. https://developer.hashicorp.com/vault/api-docs/system/decode-token
2023-06-22 11:05:26 -07:00
Violet Hynes
8e40823fe1
Some small KV API docs improvements (#21395) 2023-06-22 13:39:47 -04:00
Meggie
416dff8765
Update upgrade-to-1.14.x.mdx (#21389)
Add information about Docker retirement.
2023-06-22 17:25:06 +00:00
Christopher Swenson
cf48236a3c
Move database connections map out to separate package (#21207)
The upcoming event main plugin will use a very similar pattern
as the database plugin map, so it makes sense to refactor this and move
this map out. It also cleans up the database plugin backend so that
it does not have to keep track of the lock.

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
2023-06-22 10:20:13 -07:00
Yoko Hyakuna
58b6cb1c42
[Docs] Add cross-links to related tutorials (#21405)
* Add cross-links to related tutorials

* Add additional tutorial links
2023-06-22 08:27:00 -07:00
Angel Garbarino
4fd4a0693d
Remove readOnly attrs from Clients Count Config Serializer (#21391)
* octanify and add serialize false to readonly attrs

* alphabetize

* stuff

* adds back payload.data check in normalizeResponse method of clients config serializer

* test things

* fix

* clean up

* Update ui/app/serializers/clients/config.js

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>

---------

Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
2023-06-22 01:28:59 +00:00
Raymond Ho
5b41148bfc
normalize LDAP auth HTTP responses (#21282) 2023-06-21 15:32:00 -07:00
claire bontempo
8df34b0871
add changelog (#21399) 2023-06-21 14:47:53 -07:00
Rachel Culpepper
254d8f8356
Vault-11623: OSS changes for seal config and env vars (#21116)
* add config changes for name and priority fields in seal stanza

* change env vars and fix tests

* add header and fix func call

* tweak limits on seals

* fix missing import

* add docstrings
2023-06-21 16:30:59 -05:00
Alexander Scheel
15aee2e0ba
Fix re-migration of existing CA bundles (#21316)
* Fix re-migration of existing version 1 storage bundles

Related: VAULT-17307

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add test for v1->v2 migration post-issuer deletion

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add changelog entry

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Add known-issue about PKI double migration

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Update website/content/partials/pki-double-migration-bug.mdx

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

* Update website/content/partials/pki-double-migration-bug.mdx

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

* Update website/content/partials/pki-double-migration-bug.mdx

* Additional clarity around known issue

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

---------

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2023-06-21 20:34:51 +00:00
Steven Clark
eb634e9326
Remove bump_version from transit import docs (#21393)
- The argument was removed along the development path, but the
   documentation was not updated.
2023-06-21 15:36:52 -04:00
claire bontempo
76e742ba32
ui: HDS adoption replace <AlertBanner> component (#21375)
* UI: HDS adoption replace AlertBanner part 1 (#21163)

* rename test selector

* replace db banner

* add class

* replace db role edit

* db creds

* generate creds

* simpler class

* license banner component

* oidc callback plash

* raft

* aws

* secret create or update

* change to compact alert for form field

* change back to inline

* combine alert banners

* wrap in conditional

* remove references to message class

* UI: HDS adoption replace AlertBanner part 2 (#21243)

* token expire warning

* delete css

* edit form

* item details distribute mfa step 2 transit verify

* back to secondary

* distribute

* oidc lease error

* sign

* kv obj and repl dash

* more repl

* update test selector

* show, creds

* shamir

* pki csr

* pki banners

* add hds library to ember engines

* woops comma

* fix k8 test

* update message error component for last!

* hold off MessageError changes until next pr

* revert test selectors

* update pki tests

* UI: part 3 remove alert banner (#21334)

* final component swap

* and actual final of MessageError

* update MessageError selectors

* delete alert-banner and remove references

* update next step alerts to highlight color

* finishing touches, auth form test and client dashboard inline link

* fix more selectors

* fix shamir flow test

* ui: part 4 final cleanup (#21365)

* replace AlertPopup

* add test tag

* move tag

* one more message error tag

* delete alert popup

* final css cleanup

* move preformatted flash into <p> tag

* ui: address comments for sidebranch  (#21388)

* add periods, move link to trailing

* more periods and typo fix
2023-06-21 11:37:11 -07:00
claire bontempo
772ca6e1bb
ui: remove old references to pki and old adapter (#21376)
* remove old references to pki and old adapter

* remove after model hook from list

* remove references to isEngine

* add test

* update test

* delete test

* fix test
2023-06-21 11:36:38 -07:00
Cinthia Conti
f7b96b4443
Update CHANGELOG.md for 1.14.0, 1.13.4, 1.12.8 and 1.11.12 (#21380)
* Update CHANGELOG.md for 1.14.0, 1.13.4, 1.12.8 and 1.11.12

Update CHANGELOG.md for 1.14.0, 1.13.4, 1.12.8 and 1.11.12

* Update CHANGELOG.md 1.14 generated with changelog-build

-last-release c9b7ca7f369f8a8ab0b71ff45fffbd15126abf01
-this-release 81c88fc5890eb19dffed6cac53e09e23a3ee537e

* Update CHANGELOG.md **OCI Auto-Auth**
2023-06-21 12:01:04 -04:00
miagilepner
d8b811d8da
Add additional reporting versions to the documentation (#21304)
* add additional versions to the documentation

* pr fixes

* pr fixes
2023-06-21 17:42:23 +02:00
Sarah Chavis
3ad87e4b9a
Updates for GA (#21374) 2023-06-21 07:44:50 -07:00
Paul Banks
fbcd92dd88
Remove drift from Ent repo (#21379) 2023-06-21 13:22:07 +00:00
Violet Hynes
99cf3836b6
Update logging completed requests docs (#21368) 2023-06-21 09:18:04 -04:00
Peter Wilson
cf8cf84db9
fix to prevent extra CI running when docs label is added (#21378) 2023-06-21 11:20:55 +00:00
Adrian Todorov
c1e6fa36e1
Update faq.mdx to remove dead link (#21377) 2023-06-21 11:12:06 +00:00
Josh Black
17d63abdb1
bump lib/pq to 1.10.9 (#20594)
* bump lib/pq to 1.10.9

* bump jackc/pgx/v4 also
2023-06-20 13:50:24 -07:00
Violet Hynes
3a46ecc389
Replace all remaining time.ParseDurations with parseutil.ParseDurationSeconds (#21357)
* Replace all time.ParseDurations with testutil.ParseDurationSeconds

* Changelog

* Import formatting

* Import formatting

* Import formatting

* Import formatting

* Semgrep rule that runs as part of CI
2023-06-20 14:37:46 -04:00
Alexander Scheel
4eed18cf49
Add ACME consideration about entity templating (#21356)
These don't do anything but reject requests:

> The server will not issue certificates for the identifier:
> role (something) will not issue certificate for name
> xps15.local.cipherboy.com

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-06-20 14:53:47 +00:00
Nick Cabatoff
67927a1e9f
Make sure that main upgrading page contains the guidelines for replicated cluster upgrades (#21351) 2023-06-20 08:37:43 -04:00
Anton Averchenkov
e31ead37ba
[docs] Add Agent & Proxy to related tools (#21352) 2023-06-19 14:15:03 -04:00
Andy Assareh
6ebb61cc35
correct spelling error - Compatability to Compatibility (#21333) 2023-06-19 12:38:07 -04:00
Nick Cabatoff
f12c128559
Don't exit just because we think there was a possible deadlock (#21342) 2023-06-19 15:08:34 +00:00
Sarah Chavis
8af6780325
[DOCS] 1.14.0 draft release notes (#21296)
Push initial draft of layout and text
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
2023-06-16 17:08:51 -07:00
Anton Averchenkov
3908ec9dc4
agent: Fix agent generate-config to accept namespace (#21297) 2023-06-16 16:04:15 -04:00
cui fliter
8b30657ddc
fix function name in comment (#21214)
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-06-16 16:03:07 -04:00
Violet Hynes
d76424cb53
Miscellaneous docs cleanups (#21327) 2023-06-16 15:38:58 -04:00
Alexander Scheel
3347e5d56b
Fix naming of enable_templating parameter (#21319)
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2023-06-16 17:04:37 +00:00
miagilepner
30aac443d0
Fix verify test packages GOPRIVATE (#21318) 2023-06-16 16:54:58 +00:00
claire bontempo
9290d5f188
add waitUntil (#21299) 2023-06-16 08:29:18 -07:00
Nick Cabatoff
a1fdf105b3
Setup Go before calling the test package test script (#21308) 2023-06-16 13:57:33 +00:00
Violet Hynes
41f392c43f
Fix some broken links/clarify some things in the Vault Proxy docs (#21262)
* Fix some broken links/clarify some things

* More docs fixes

* More docs fixes
2023-06-16 08:47:29 -04:00