Commit Graph
329 Commits
Author SHA1 Message Date
b6df5693b5 Add generic read/update/delete commands (#3992)
* Add generic read/update/delete commands

This adds three generic commands that use the resource prefix to
determine the subcommand to run and pass through args over to that
subcommand. Since this occurs very early on and to avoid loading
essentially every internal resource package, I moved subtype definitions
to globals.

This replaces #3967

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* De-duplicate Subtype code (#4031)

Co-authored-by: Timothy Messier <tim.messier@gmail.com>

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
Co-authored-by: Timothy Messier <tim.messier@gmail.com>
2023-11-15 19:55:46 -05:00
Jeff Mitchell a9e372930d Revert 0bf60996c5 (#3990)
Post-merge some issues were discovered with the ways typing is used for
proto reflection. This will be reworked without moving the subtypes
around.
2023-11-02 16:03:47 -04:00
Elim Tsiagbey 4239f6d4a9 Update changelog (#3944)
* chore: Update changelog for 0.14.2 release
2023-11-02 14:17:57 -04:00
Jeff MitchellandJohan Brandhorst-Satzkorn 0bf60996c5 Add generic read/update/delete commands (#3967)
* Add generic read/update/delete commands

This adds three generic commands that use the resource prefix to
determine the subcommand to run and pass through args over to that
subcommand. Since this occurs very early on and to avoid loading
essentially every internal resource package, I moved subtype definitions
to globals.

* Update main.go

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update changelog and remove another deprecated command

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2023-11-01 16:24:16 -04:00
Jim 9e6ebdddc6 chore: add changelog for ldap fix PR #3929 (#3934) 2023-10-26 12:21:56 -04:00
Elim Tsiagbey c95081dde9 chore: Update changelog for bug fix (#3904)
Update the changelog details for High CPU Utilization bug fix: https://github.com/hashicorp/boundary/pull/3884
2023-10-24 11:49:49 -04:00
Elim Tsiagbey 5741807b4a fix: monitorUpstreamConnectionState CPU consumption (#3884)
* fix: monitorUpstreamConnectionState CPU consumption

`monitorUpstreamConnectionState()` is a goroutine that listens for GRPC client connection changes using GRPC's `WaitForStateChange` method. `monitorUpstreamConnectionState()` was consuming the a lot of CPU. It was continuously running and not actually waiting for state changes. The `state` for `monitorUpstreamConnectionState()` was not getting correctly updated which caused the loop to continuously run instead of waiting for new state changes.

Update GRPC `WaitForStateChange` method to use the same `state` that gets updated.
2023-10-23 19:35:12 -04:00
Hugo 2afe33fb94 chore: Update CHANGELOG for v0.14.1 2023-10-17 15:58:17 +01:00
irenarindos ce0d5d7ce7 chore: update changelog to include Next 2023-10-11 08:16:37 -04:00
Timothy Messier 88bb253554 fix(cli): Remove websocket message size limit (#3808)
When the boundary client establishes a connection to the websocket used
to communicate with a worker, it was configured with a max websocket
message size of 32KiB. This was the default behavior for v1.8.7 of
nhooyr/websocket. However, there are cases where the worker can send
messages to the client that are larger than 32KiB. When this happens the
client returns an error and terminates the connection.

Notably this seems to only currently impact sessions made to SSH
Targets, although it could theoretically impact any target type
depending on the details of how the worker performs the writing of the
messages. The issue can be reproduced by attempting to scp a large
enough file from an SSH Target to the client. In this case the
connection gets terminated and results in a partial transfer of the
file.

This message size limit appears to be unnecessary, and the default
behavior is changing in v1.8.8 of nhooyr/websocket to make the message
size unlimited. Since this version is not yet released, this commit
switches the dependency to a fork with a version that is v1.8.7 plus the
patch to disable the limit. Once v1.8.8 is release this dependency can
be set back.

See:
    https://github.com/nhooyr/websocket/pull/254
    https://github.com/nhooyr/websocket/pull/256
2023-10-06 11:45:29 -04:00
Jeff Mitchell 602bbcc43e Fix intermittent startup issues on slow systems (#3803)
With a suitably slow system -- say, if you're waiting on a Windows
Terminal to output text inside a virtual machine -- the expected order
of things can be thrown off. One specific way this can happen is that
the worker can attempt to dial and have its dial fail because of the
slowness causing the dial context to time out. If, because of the
slowness, we also haven't released the log gate yet, then the event with
the failure information will be queued, along with the context that was
used.

Unfortunately, in some of these error cases, the context that was used
was the dial context instead of the system base context. In many other
places in the function it was the system base context so this is just a
mismatch, probably from code written at different times.

Normally this wouldn't be a problem as we'd fall back to the underlying
logger, but when we release the log gate, things happen differently:
it's a synchronous function and on error it causes us to abandon
system startup entirely.

This commit fixes the issue with using the incorrect context. It's an
open question whether we should change the behavior around errors when
replaying queued events, falling back to the underlying logger instead
of erroring.
2023-10-05 20:34:57 -04:00
Jeff Mitchell fc0d43459c Bump password dep to fix issue entering password in Windows CLI (#3800) 2023-10-05 12:32:35 -04:00
Devon Anderson 12b6f5faef Bump UI commitsh and update changelog (#3784) 2023-09-28 15:09:54 -04:00
irenarindos 8ad9efdcf8 chore: update CHANGELOG 2023-09-27 15:41:33 -04:00
irenarindos 857be69f27 chore: update changelog for 0.14.0 2023-09-26 15:07:35 -04:00
Michael Li dc912e2a86 test: Update tests to account for deprecated features in 0.14.0 (#3776)
* chore: Fix comment typo

* test(e2e): Update to use new credential library type

* test(e2e): Update to use new field name

* test(bats): Remove tests that use deprecated subcommand

* chore: Update to 0.14.0

* test(credentiallibraries): Update to use new credential library type

* doc: Add deprecation notices for 0.14.0

* fixup! doc: Add deprecation notices for 0.14.0
2023-09-26 10:33:53 -04:00
irenarindos 2d8d992500 Revert "chore: update version and changelog"
This reverts commit cac7723e77.
2023-09-25 14:20:24 -04:00
irenarindos cac7723e77 chore: update version and changelog 2023-09-25 13:17:18 -04:00
daniandDanielle Miu a7c1876d7b remove deprecated option application-credential-source (#3728)
Co-authored-by: Danielle Miu <29378233+DanielleMiu@users.noreply.github.com>
2023-09-22 15:58:18 -04:00
Sepehr 605657174d chore (telemetry): CHANGELOG entry 2023-09-22 11:31:42 -04:00
Louis Ruch d158c1475b chore: Update changelog (#3643) 2023-09-20 11:56:21 -07:00
Irena Rindos 7bd2d2c913 feat(worker): allow hcp cluster id to be sourced from env var (#3709)
* feat(worker): allow hcp cluster id to be sourced from env var
2023-09-12 13:20:49 -04:00
Elim Tsiagbey 955f14d730 chore: update changelog with new worker upstream connection status (#3693)
Add missing changelog entry for https://github.com/hashicorp/boundary/pull/3650
2023-09-11 10:58:38 -04:00
Jim dc89ca28a1 feat: add API support for additional LDAP auth method fields. (#3679)
* feat (auth/ldap): add Repo support for max page size and deref aliases (#3670)

* chore: update cap/ldap dependency

This latest version of cap/ldap adds support for MaxPageSize and
DerefAliases

* feat (auth/ldap): add MaxPageSize and DerefAliases to storage proto

* feat (api/authmethods): add new ldap fields.

Add support for maximum_page_size and dereference_aliases

* feat (auth/ldap): schema changes to support new LDAP attributes

* feat (auth/ldap): add Repo support for max page size and deref aliases

* feat (handlers/ldap): add support for new fields (#3674)

Added API support for new ldap fields: MaximumPageSize and
DereferenceAliases

* chore: add CHANGELOG entry for new api auth ldap fields
2023-09-06 15:07:45 -04:00
Jeff Mitchell be8e9fc61c Fix address not returning on 10001+ list value (#3644)
Fixes ICU-10786
2023-08-30 13:40:43 -04:00
Jim f8ea8c9744 fix (ldap): support only updating the bind-dn and/or bind-password (#3511)
* fix (ldap): support only updating the bind-dn and/or bind-password

* chore: changelog entry for PR #3511
2023-07-27 15:41:37 -04:00
Irena Rindos c353206ca4 update changelog (#3467) 2023-07-18 09:39:36 -04:00
irenarindos 93e09c4888 Update changelog for 0.13.1 2023-07-10 16:03:41 -04:00
Irena Rindos a8e363888a bug(workerAuth): allow duplicate workerAuth inserts if records match (#3389)
* bug(workerAuth): allow duplicate workerAuth inserts if records match
2023-07-06 15:07:28 -04:00
Jim 474afe4671 fix: allow ldap managed grps to be set and removed as principals… (#3363) 2023-06-27 12:13:13 -04:00
Jim 84cc3a5988 fix(ldap managed grp): allow ldap managed grps to be added as principals (#3361) 2023-06-26 17:05:54 -04:00
Jim 723dbdfedf fix (boundary dev): make the LDAP auth method active-public (#3344) 2023-06-20 13:56:20 -04:00
Jeff Mitchell feb3aea38f Support multiple IDs in grants (#3263)
This allows specifying multiple IDs in grants via an `ids` field, which
will eventually become the normal way to specify IDs. Internally, each
grant with multiple IDs turns into multiple ACL grants each with a
single ID; to make this distinction clearer and allow for better
separation of concerns an AclGrant type has been introduced, so really
multiple IDs in a Grant turn into multiple AclGrants.

The nice thing about doing it this way is that it becomes purely a
parsing concern; no actual validation logic has changed.

For backwards compatibility with grants already stored in roles, we do
not error out if `id` is specified. However, eventually we will simply
not support grants with `id` coming via the API; they will fail API
validation, such that new grants will require the use of the updated
`ids` field.

A follow-on PR will plumb this through the service handlers/API/CLI, but
I decided to do it in separate chunks to make reviewing easier, given
that they are easily separable into the internal and external aspects of
the change.

* Add CLI/API checks around using ID in grants (#3264)

* Plumb through some contexts to remove a lot of deprecated errors (#3268)
2023-06-14 21:55:24 -04:00
Michael Gaffney f98167fd2a doc(changelog): Add 0.13 release 2023-06-13 00:53:40 -07:00
Louis Ruch 0a921beb42 chore: Add DHC changelog entry 2023-06-12 16:28:30 -07:00
Michael Gaffney fda1a0b572 doc(changelog): Add LDAP auth method 2023-06-12 17:53:39 -04:00
Michael Gaffney 531f7cf449 changelog: reorder sections 2023-06-12 17:01:03 -04:00
Cameron Perera 4ad2d5664e chore: update CHANGELOG with UI changes (#3307)
* chore: update CHANGELOG with UI changes

* chore: include UI bug fixes
2023-06-12 15:04:28 -05:00
Jeff Mitchell 8b7d063a6d Revert "Add multiple IDs in changelog"
This reverts commit c4f8a77ad8.
2023-06-12 14:11:30 -04:00
Jeff Mitchell c4f8a77ad8 Add multiple IDs in changelog 2023-06-12 14:03:11 -04:00
Timothy Messier 876f9bb07f fix(session): List performance with large number of session connections
As part of the performance improvements for listing sessions for v0.9.0,
the view used to retrieve sessions for listing was updated to no longer
include a join on session_connection. However, a later migration that
was adding additional columns to this view inadvertently re-added the
join and session_connection columns. This resulted in requests to list
sessions performing this join, and returning additional rows for each
connection in a session. The application would ignore this additional
data, since it is no longer returned via the API. This would be
particularly impactful in cases where there are a large number of
connections per session, as this would greatly increase the amount of
data returned by the database.

This fix removes the session_connection join from this view, which
should restore the original performance improvements even in cases where
there is a large number of session connections per session.

See: https://github.com/hashicorp/boundary/pull/2160
Ref: 32070678dc
Fixes: 1e3c941be1
2023-06-06 17:45:30 +00:00
Jim 330c5cca22 chore (CHANGELOG): add entry for resource listing fix PR #3278 (#3289) 2023-06-06 11:44:42 -04:00
Michael Gaffney 41bdfb4406 fix(db): Fix time zone consistency issues in monthly billing views
The hcp monthly billing views build a range of buckets using the
`generate_series` and the `now()` functions along with relative offsets
like `+ 1 month`. The calculated start and end times for these views can
vary depending on the time zone setting of the PostgreSQL server.

This adds 3 table functions that call their respective views with the
time zone set to UTC. Calling these functions instead of their
underlying views directly prevents the returned values from varying when
the server's time zone is not set to UTC.

This also drops support for PostgreSQL 11. The included tests use the
`date_trunc(field, source [, time_zone ])` function added in PostgreSQL
12.

Fixes: 41b1b5b4b7
2023-06-05 12:48:15 -04:00
Louis Ruch 07dbaaf052 chore(plugins): Update plugin deps (#3266)
* chore(plugins): Update plugin deps
2023-06-02 10:05:37 -07:00
Jeff Mitchell b73d4bd0d2 Add note about 0.12.3 not having an OSS tag 2023-05-30 21:40:02 -04:00
Jeff Mitchell 7bdbe8ab8e Update changelog (#3250) 2023-05-30 16:16:31 -04:00
Irena Rindos 6b00f69e58 chore: backport 0.12.2 release (#3220) 2023-05-15 13:05:18 -04:00
Jeff Mitchell 869310d7da Only create WithAutomaticVersioning if versioning is used (#3210)
This option did not respect whether or not versioning was enabled when
writing it out during generation.

This does mean that there is a breaking change for auth tokens, but as
it was a no-op anyways it's easy to fix and not something I want to /v2
about.
2023-05-09 11:12:03 -04:00
Jeff Mitchell 20391e3503 Add default client port to targets and use in connect command (#2767) 2023-04-21 06:50:53 -04:00
Jeff MitchellandIrena Rindos bdf7bf7702 Do not allow PKI-KMS workers to have names updated via API (#3143)
Do not allow PKI-KMS workers to have names updated via API

This would cause their public IDs to change, which we do not want.

Descriptions are also disallowed, since those come from the config file.

This also adds logic to allow upgrading from old KMS method to new, with
a test.

Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com>
2023-04-03 17:44:41 -04:00