Commit Graph
2555 Commits
Author SHA1 Message Date
Damian Debkowski 00e4c5448b feat: workers filtered by sbc state 2024-07-17 14:23:11 -04:00
Elim Tsiagbey 130010a2ca feat(testing): add loopback plugin support for overriding the error state with SBC State 2024-07-17 14:23:11 -04:00
Damian Debkowski 9bc5e492f6 feat(sbc): add upsert worker storage bucket job 2024-07-17 14:23:11 -04:00
Elim TsiagbeyandDamian Debkowski 670a43ca22 feat(worker): set storage bucket states for worker status
Co-authored-by: Damian Debkowski <damian.debkowski@hashicorp.com>
2024-07-17 14:23:11 -04:00
Damian Debkowski 162a857a29 feat(sbc): Add domain changes for SBC 2024-07-17 14:23:11 -04:00
Damian Debkowski 7a3c484147 feat(storage): add UpsertStorageBucket & GetStorageBucketStates methods 2024-07-17 14:23:11 -04:00
Elim Tsiagbey 012ec400f0 feat: Update StorageBucketSecret to StorageBucketCredentialManagedSecret
Update domain code to replace references of `StorageBucketSecret` to `StorageBucketCredentialManagedSecret`
2024-07-17 14:23:11 -04:00
Damian Debkowski 88c67e4eea feat(proto): define storage bucket state in worker status 2024-07-17 14:23:11 -04:00
Damian Debkowski dc21e714a5 feat(db): tracking storage bucket by worker 2024-07-17 14:23:11 -04:00
Lisbet Alvarez 488c4ea44e bump ui commit (#4936) 2024-07-17 08:57:41 -07:00
Jeff MitchellandJohan Brandhorst-Satzkorn 4e0c2d79ac Add grant scope IDs to role list (#4893)
This adds grant_scope_ids in the output of role listing. The lookup for grant scope IDs was changed to allow taking in a set of roles instead of just a single role, and the results are collated afterwards.

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2024-06-25 13:05:52 -04:00
Michael Li e2872275dc chore: Update UI version (#4897) 2024-06-20 11:11:51 -04:00
Johan Brandhorst-SatzkornandJeff Mitchell c6f3c375f3 api: remove deprecated grant_scope_id field (#4886)
* api: remove deprecated grant_scope_id field

The grant_scope_id field was deprecated in 0.15.0, so we can remove
it for 0.17.0.

* Fix tests

* Fix more tests

* Remove an option and some related code that stuck around

* Fix bats tests

---------

Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
2024-06-17 12:09:33 -07:00
Jeff Mitchell d547e0d459 Add test ability to reinitialize worker auth roots on startup (#4895) 2024-06-17 12:26:55 -04:00
Irena Rindos b54608b9f2 worker auth: use new previous pkix field (#4894)
* worker auth: use new previous pkix field
2024-06-14 13:20:50 -04:00
Irena RindosandDanielle Miu 61e7ab4738 Allow descriptions to contain newlines and other whitespace (#2599)
* Allow names and descriptions to contain newlines and other whitespace

* separate validate name from validate description

* update changelog

---------

Co-authored-by: Danielle Miu <29378233+DanielleMiu@users.noreply.github.com>
2024-06-06 13:03:42 -04:00
Irena Rindos 08f391c5d6 workerauth: satisfy NodeIdLoader interface (#4870)
* workerauth: satisfy NodeIdLoader interface
2024-06-06 13:03:05 -04:00
David Bond 0c25dbad13 Use appropriate gRPC error codes for OIDC (#4877)
This commit makes modifications to the OIDC request handlers to return appropriate gRPC
status codes on errors. Before this change, boundary presents the internal error codes to
clients. This causes problems for reverse proxies, as these status codes are mapped to
non-standard HTTP response codes which are ultimately all turned into 500 responses when
4xx status codes are more appropriate and descriptive of the error returned.

Some modifications in this commit include calls to `event.WriteError` so that the
internal error is written to the controller log for visibility. Comments about
potential duplicate logs are now removed as `event.WriteError` is not called when using
functions from the `handlers` package.

Signed-off-by: David Bond <davidsbond93@gmail.com>
2024-06-06 14:59:43 +01:00
Michael Li 2467f9107a test(db): Fix skip command (#4860) 2024-06-03 10:02:32 -04:00
Michael Li e18e3ab783 test: Fix tests due to time (#4855)
* test(billing): Calculate time deltas from a fixed time

Some time calculations are impacted when using the current day vs. the start of the month.

* test(db): Conditionally skip tests at end of month

Certain tests fail when run on the last day of the month because of edge cases in the setup of test data (for example, if today is May 31 and NZ time is June 1). This adds conditional logic to skip those tests when run on the last day of a month.

* CR: typo
2024-05-31 17:08:57 -04:00
Todd e0a7c9acdd Document the deprecation of include_terminated (#4602)
* Document the deprecation of include_terminated

* Update the changelog
2024-05-24 12:04:08 -07:00
Sepehr 1f48ba5d1a Telemetry: storage bucket proto (#4824)
* oss:feat(storage): add observation tag in proto for telemetry

* oss:feat(storage): add observation tag in proto service

* oss:feat(storage): generate proto files with changes

* oss:feat(storage): add storage bucket id to target proto
2024-05-24 10:34:15 -07:00
Uruemu S Aganbi 1aa8c2e1d7 Add observation tags for Session Recording Service (#4825)
* Add observation tags to session_recording.proto

* remove scope_info observation tags

* Remove quotes and add tag to storage_bucket_id

* Add tags for session recording service

* Update proto definitions

- Remove gotags on messages
- Remove quotes
2024-05-24 11:30:48 -04:00
Johan Brandhorst-Satzkorn ec289420d3 clientagentcmd: use "localhost" to call client agent (#4816)
The client agent serves on "localhost:9300" by default. It appears
on some systems this resolves to ::1:9300 and on some systems
127.0.0.1:9300. We should use the same address on the client
as the server to avoid any incompatibilities between systems.
2024-05-22 14:17:30 -07:00
Johan Brandhorst-Satzkorn a1391db090 internal/cmd: rename ferry files to client_agent (#4815)
This was missed in the big rename PR
2024-05-22 13:49:06 -07:00
Johan Brandhorst-SatzkornandRobin Beck e64443c66f Rename daemon CLI command to cache (#4808)
* internal/cmd/wrapper: add deprecation wrapper

The deprecation wrapper can be used to display a warning to callers
when a command is deprecated.

* all: rename daemon to cache

Rename the boundary daemon command to boundary cache. This
avoids confusion with future client/daemons.

* changes daemon to cache in nav

---------

Co-authored-by: Robin Beck <stellarsquall@protonmail.ch>
2024-05-22 11:11:48 -07:00
Todd 6936a5448c update status cli to optionally return some fields (#4810) 2024-05-22 09:51:58 -07:00
Johan Brandhorst-Satzkorn 8ff18f6c3c internal/cmd: rename ferry to client-agent
Renames the ferry command and related flags and env vars to
client-agent following the new naming decision.
2024-05-22 09:51:58 -07:00
Hugo 9b44974524 docs: Add CHANGELOG entry 2024-05-20 16:06:35 +01:00
Hugo 2983f80eaa fix(cmd): Support account attribute maps 2024-05-20 16:06:35 +01:00
Hugo 61e2056ef4 fix(auth/ldap): Take user attrs into account when authenticating 2024-05-20 16:06:35 +01:00
Timothy Messier a2c529b9d1 fix(controller): Use max request duration cluster listener (#4805)
The cluster listener supports a `max_request_duration` option, and
defaults to 90 seconds. However, this configuration was not being use
when processing grpc requests from the listener. This meant that
requests from worker to controller could hang indefinitely and
contributed to the recently fixed issue with database connections being
stuck in `idle in transaction`.

This commit adds a grpc interceptor that ensures each request has a
deadline set to the max request duration for the listener.

Refs: 29cd7bc9d6
2024-05-17 11:59:50 -04:00
Timothy Messier 29cd7bc9d6 fix(session): Move encryption/decryption out of database transactions (#4803)
Several session.Repository methods need to encrypt or decrypt fields
when persisting or retrieving a Session. These encrypt/decrypt
operations where being performed while within a database transaction.

The first step in the encrypt/decrypt operation is to retrieve the
kms.Wrapper. While the wrappers get cached in memory, the retrieval
still results in a database query to check that the kms collection
version has not changed. This query happens with a separate db.Reader,
and therefore uses a separate database connection from the transaction
being used by the session.Repository.

If the controllers are configured with a relatively low
`max_open_connections`, and be under sufficient load interactive with
sessions, the controller can consume all of the available database
connections, and get stuck with open transactions while waiting for a
database connection to execute the kms related queries. This can be see
by checking pg_stat_activity and seeing transactions stuck in `idle in
transaction` with a wait_event of ClientRead.

This commit changes all of the Repository methods the perform any
encryption or decryption operations, including the retrieval of the
kms.Wrapper, outside of a database transaction. An alternative approach
would be to unsure that the kms.Wrapper retrieval happens within the
same database transaction. However, it seems preferable to avoid doing
these relatively expensive operations within a transaction when it is
not necessary.

As part of this fix, it also eliminates some logic that is no longer
needed. During previous would with KMS wrapping, the method of how
sessions were encrypted was changed, and some logic to lazily re-encrypt
sessions was introduced. However, given that terminated sessions are
deleted, and the KMS changes was introduced several versions ago
(0.13.0), this lazy re-encrypt logic should no longer be necessary.

Refs: edd323b73a
See:
    https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW
    https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT
    https://developer.hashicorp.com/boundary/docs/configuration/controller#max_open_connections
2024-05-16 08:45:45 -04:00
Johan Brandhorst-Satzkorn 111b8fbecf internal/cmd/ferry: add sessions command (#4800) 2024-05-15 13:10:18 -07:00
Todd 5a06e4fe66 Auto generate the permissions pages. (#4786)
* Auto generate the permissions pages.

* Add add- set- remove- auto descriptions. Hide scope line when no scope provided

* Document the resource info struct
2024-05-10 12:49:48 -07:00
Todd c3f9fde5d7 Wait to select tokens until we know we need to (#4794)
AuthToken selection involves checking to seeing if the one we are picking has been canceled or expired on the boundary controller. If we are only searching locally and not performing a refresh, there is no need to check if the tokens have expired or not.
2024-05-10 09:38:30 -07:00
Irena Rindos 6f09819e9f chore: fix workers tag cmd help strings (#4780) 2024-05-08 11:52:16 -04:00
Irena Rindos 325949c23a chore: removed commented out time.sleep calls (#4770) 2024-05-07 12:22:15 -04:00
Michael Milton f7e59d5d04 Add hidden ferry pause and resume commands (#4771)
* Add hidden ferry pause and resume functions

* add check for 200 status

* include pause/resume status in ferry status, fix output

* put error string back to previous state
2024-05-06 17:54:27 -04:00
Irena Rindos 52f53a149c bug: test fails on end of month (#4748) 2024-05-06 09:03:01 -04:00
Kerim Satirli e54519975b adds missing space in mlock warning (#4286) 2024-05-02 17:36:45 -04:00
Stan Ryzhov 99f7e470f2 test(bats): Verify alias can be created with host id 2024-05-02 10:59:08 -04:00
Stan Ryzhov 60706a49e5 test(bats): Verify invalid inputs for aliases 2024-05-02 10:58:30 -04:00
Cameron Perera e0306293be chore: bump ui commit to dd92321 (#4745) 2024-04-29 14:13:57 -05:00
Lisbet Alvarez 5876b29758 bump ui commit (#4740) 2024-04-29 07:30:40 -07:00
Todd 3cae272c27 Hide ferry specific flags (#4737) 2024-04-26 13:48:56 -07:00
Zhihe Li 3b66f0651c chore: bump ui commit (#4734) 2024-04-26 14:08:42 -04:00
Irena Rindos 16d23fa55f bug(scopes): scopes list returns 500 without perms (#4731) 2024-04-26 11:55:30 -04:00
Todd 7ccc099807 Use the default retry limit across client cache (#4727) 2024-04-25 15:18:23 -07:00
Cameron Perera e792dd0ea5 chore: bump ui commit to dccf06c (#4724) 2024-04-25 11:57:18 -05:00