Commit Graph
4212 Commits
Author SHA1 Message Date
Michael Li 333b9e855d chore(e2e): Use public version of enos (#4872)
* chore(e2e): Use public version of enos

* chore(e2e): Move vault module to this repo

terraform-enos-aws-vault is no longer supported
2024-06-10 11:13:09 -04:00
Michael Li d408f65519 test(e2e): Add support for dynamic credentials (#4878)
These changes are necessary to enable testing of dynamic credentials when creating storage buckets.
2024-06-07 12:05:11 -04:00
029ab627e2 Rab update filtering managed groups (#4821)
* renames managed groups filtering page, adds LDAP support

* updates managed groups filtering links and tutorials links

* Update website/content/docs/concepts/filtering/managed-groups.mdx

Co-authored-by: Jim <jlambert@hashicorp.com>

* docs: Edits

---------

Co-authored-by: Jim <jlambert@hashicorp.com>
Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>
2024-06-06 13:15:42 -06: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
Robin Beck 84ae33994a changes sync_interval_seconds default to 600 (#4823) 2024-06-05 13:54:57 -04:00
Daniel GreeningerandDan Heath 4f3c109eb5 docs: multi-hop error message linked to duplicate controller names (#4874)
* multi-hop error message linked to duplicate controller names

* docs: Minor edits

---------

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>
2024-06-04 15:25:42 -04:00
Michael Li 3da1615ddb test(e2e): Add check for ldap account attribute mapping (#4867) 2024-06-04 14:24:15 -04:00
Michael Li 61db074b1e chore(e2e): Clean up UI docker scenario (#4843)
* chore(e2e): Remove unused worker token

* chore(e2e): Remove unused variable
2024-06-04 13:03:41 -04:00
Rowan Smith d161124ba2 update script to not print null values (#4871)
Added a `select(.value != "")` entry to the jq statement to avoid it printing null values. This is to make life easier when copy/pasting the output from the script.

This solves the problem of people overwriting existing values they may have set, namely `VAULT_ADDR` and `VAULT_TOKEN`.

before:

```
➜  enos git:(main) ✗ bash scripts/test_e2e_env.sh               
export BOUNDARY_ADDR='http://some-address:9200'
export BOUNDARY_LICENSE=''
export E2E_AWS_ACCESS_KEY_ID=''
export E2E_AWS_BUCKET_NAME=''
export E2E_AWS_HOST_SET_FILTER=''
export E2E_AWS_HOST_SET_FILTER2=''
export E2E_AWS_HOST_SET_IPS='[""]'
export E2E_AWS_HOST_SET_IPS2='[""]'
export E2E_AWS_REGION=''
export E2E_AWS_SECRET_ACCESS_KEY=''
export E2E_MAX_PAGE_SIZE='10'
export E2E_PASSWORD_ADMIN_LOGIN_NAME='admin'
export E2E_PASSWORD_ADMIN_PASSWORD='xdBht'
export E2E_PASSWORD_AUTH_METHOD_ID='ampw_UI0wkZdCfJ'
export E2E_SSH_CA_KEY=''
export E2E_SSH_KEY_PATH='/Users/something.pem'
export E2E_SSH_USER='ubuntu'
export E2E_TARGET_ADDRESS='10.13.1.254'
export E2E_TARGET_PORT='22'
export E2E_TESTS='true'
export E2E_VAULT_ADDR=''
export E2E_WORKER_ADDRESS=''
export E2E_WORKER_TAG_EGRESS=''
export E2E_WORKER_TAG_INGRESS=''
export VAULT_ADDR=''
export VAULT_TOKEN=''
```

after:

```
➜  enos git:(main) ✗ bash scripts/test_e2e_env.sh               
export BOUNDARY_ADDR='http://some-address:9200'
export E2E_AWS_HOST_SET_IPS='[""]'
export E2E_AWS_HOST_SET_IPS2='[""]'
export E2E_MAX_PAGE_SIZE='10'
export E2E_PASSWORD_ADMIN_LOGIN_NAME='admin'
export E2E_PASSWORD_ADMIN_PASSWORD='xdBht'
export E2E_PASSWORD_AUTH_METHOD_ID='ampw_UI0wkZdCfJ'
export E2E_SSH_CA_KEY=''
export E2E_SSH_KEY_PATH='/Users/something.pem'
export E2E_SSH_USER='ubuntu'
export E2E_TARGET_ADDRESS='10.13.1.254'
export E2E_TARGET_PORT='22'
export E2E_TESTS='true'
```
2024-06-04 09:43:34 -04:00
Dan Heath 2541a3c398 docs: Revise requirements for SSH targets (#4866)
* docs: Revise requirements for SSH targets

* docs: Minor edit
2024-06-03 14:09:25 -04:00
Dan Heath 97d749fa26 docs: Clarify credentials and SSH targets (#4863)
* docs: Clarify credentials and SSH targets

* Trigger build
2024-06-03 12:08:37 -04:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] 1a2127a0e4 Result of tsccr-helper -log-level=info gha update -latest . (#4858)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2024-06-03 10:47:37 -04: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
ToddandJohan Brandhorst-Satzkorn 5ff3216565 Instead of relying on termination reason use status (#4852)
* Instead of relying on termination reason use status

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2024-05-31 08:12:31 -07:00
Todd 98b5e3fa52 Close proxy listener if session is no longer active (#4850)
* Close proxy listener if session is no longer active
2024-05-30 16:12:17 -07:00
Dan Heath 4fd49f00f6 docs: Update release notes for 0.16.1 (#4838)
* docs: Update release notes for 0.16.1

* docs: Specify fix is for self-managed versions

* docs: Minor rewrites for clarity and style

* docs: Minor rewrites for sentence length
2024-05-30 16:14:07 -04:00
Elim Tsiagbey 93aae23895 chore: update change log (#4845) 2024-05-30 15:26:54 -04:00
Dan HeathandSepehr 68712fbef8 docs: Add new telemetry to changelog (#4839)
* docs: Add new telemetry to changelog

* Update CHANGELOG.md

Co-authored-by: Sepehr <46660996+sepehrfrgh@users.noreply.github.com>

* docs: Add PR for session recording proto

---------

Co-authored-by: Sepehr <46660996+sepehrfrgh@users.noreply.github.com>
2024-05-30 11:59:13 -04:00
Michael Li 8dd419ab85 chore(e2e): Add minio variables to UI test module (#4840) 2024-05-29 17:11:37 -04:00
Todd 6cb7c74336 point to new api taged version (#4836) 2024-05-29 12:05:59 -07:00
Todd 6c378e7723 Create an option to set the session teardown timeout (#4834) 2024-05-29 10:23:23 -07:00
Michael Li c986d20cef test(e2e): Rename daemon command to cache (#4833) 2024-05-29 12:02:26 -04:00
Michael Li d519759c53 chore(e2e): Add aws region to UI tests (#4831) 2024-05-28 17:32:31 -04:00
Michael Li a22f031ce0 chore(e2e): Use region specified in variable (#4814) 2024-05-28 09:46:01 -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
Michael Li 69dfeacc55 chore(e2e): Remove call to tparse (#4817) 2024-05-23 09:54:27 -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
Johan Brandhorst-Satzkorn be7d72d690 Merge pull request #4809 from hashicorp/jbrandhorst-rename-ferry
internal/cmd: rename ferry to client-agent
2024-05-22 09:59:24 -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
dani d87a4bab8b bump minio plugin to v0.1.2 (#4801) 2024-05-21 12:43:29 -04:00
dani 7714e68a41 Merge pull request #4798 from hashicorp/dmiu_remove-macos-runners
remove macos runners for darwin builds in favor of linux
2024-05-20 12:20:37 -04: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
Michael Li 6eded679bc chore: Update to use Node20 version of Actions (#4787)
* chore: Update to use Node20 version of Actions

* CR: Add additional triggers to milestone checker

* CR: Remove use of third-party action
2024-05-17 13:01:54 -04: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
Michael Li 7954ad42fd chore(bats): Fix unzip error (#4806)
The workflow started breaking when there was a competing file in /usr/local/bin/LICENSE.txt (from a packer install). The added flag forces unzip to overwrite any files.
2024-05-17 09:47:37 -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 590182cf72 Updated the expected status code for unimplemented api errors. (#4802)
* Updated the expected status code for unimplemented api errors.
2024-05-15 12:48:09 -07:00
Todd e675aed978 Add the unimplemented api error. (#4799) 2024-05-14 15:03:36 -07:00
Danielle Miu a99788233d remove macos runners for darwin builds in favor of linux 2024-05-14 13:43:00 -04:00