Commit Graph
2053 Commits
Author SHA1 Message Date
Jim 1ed0a13004 refact (kms): convert to the new stdlib slices pkg (#3836) 2023-10-11 20:45:50 -04:00
Devon Anderson 2180ad4241 Bump UI commit (#3804) 2023-10-06 08:12:14 -05: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
Devon Anderson 642ddc53c7 Bump UI commit (#3790) 2023-10-02 17:20:16 -05:00
Devon Anderson d2265a2ff3 Bump UI commit (#3787) 2023-10-02 09:36:43 -05:00
Devon Anderson 12b6f5faef Bump UI commitsh and update changelog (#3784) 2023-09-28 15:09:54 -04:00
Devon Anderson 75a103fc47 Bump UI commit (#3783) 2023-09-28 08:47:56 -04:00
Devon Anderson 790013a0cd Bump UI Commit (#3778) 2023-09-26 11:58:29 -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
Devon Anderson 32a036556b Bump UI Commit (#3774) 2023-09-25 12:21:01 -04:00
Jim 4ed675be16 feat (db): add Writer.IsTx(...) (#3770) 2023-09-25 04:35:40 -04:00
April Ayres f13a23eab7 fix (telemetry): ignore fields without public class 2023-09-22 14:15:23 -07:00
daniandDanielle Miu 9413837b6a pass storage an empty context so it can close cleanly (#3653)
Co-authored-by: Danielle Miu <29378233+DanielleMiu@users.noreply.github.com>
2023-09-22 16:00:10 -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 14b3237a69 fix (telemetry): filtering events: fix default deny filter behavior 2023-09-22 11:31:42 -04:00
Sepehr 167161448b Add write observation interceptors, add validation check, fix default deny filter 2023-09-22 11:31:42 -04:00
April Ayres 0216c51ffc (telemetry_filter): handle map / slice traversals of proto structs 2023-09-22 11:31:42 -04:00
April Ayres ee7c17d2dc (event_observation): use consts for request/response, code cleanup 2023-09-22 11:31:42 -04:00
April Ayres c7cd6eabf3 (telemetry_filter): handle core proto types atomically 2023-09-22 11:31:42 -04:00
Sepehr 41c1e79cad observation(event): add workers list test 2023-09-22 11:31:42 -04:00
April Ayres 49a1563f6a observation(event): refine telemetry filter, and WithTelemetry() 2023-09-22 11:31:42 -04:00
Sepehr fcb29ed919 observation(event): add req/resp to observations and recursively scan observation tags 2023-09-22 11:31:42 -04:00
Sepehr e278964422 observability(events): Adding telemetry flag and and telemetry sink event type with tests 2023-09-22 11:31:42 -04:00
Sepehr 16d86d601a Add additional observation tags, remove from version and authorized_action 2023-09-22 11:31:42 -04:00
April Ayres 23c969ed39 Add observability tags to plugin protobuf. 2023-09-22 11:31:42 -04:00
Sepehr 14af8e8cd7 observation tags proto messages 2023-09-22 11:31:42 -04:00
Jeff Mitchell b64eadedbf Fix flaky TestServer_ReloadInitialUpstreams (#3758)
With the KMS changes this should never have worked at all (because the
different databases means the credentials conveyed after the KMS-based
authentication would never be valid). However, it was sometimes passing
because of a race condition: the worker could be found in the database
before the new credentials were returned to the worker, causing the
worker to start at the KMS step with the second controller.

This changes the test to use the same database for two controllers, but
to only ever have one running at a time, and uses a sequence of two
changed (or unchanged, depending) status updates from the worker to
ensure that the reload was successful.
2023-09-21 14:25:53 -04:00
Irena Rindos 8a0b8d84d8 feat(event): remove node on pipeline failure (#3736) 2023-09-20 10:19:26 -04:00
Johan Brandhorst-Satzkorn 2e0587bff0 credential: fix lint errors (#3746)
The existing pattern was subject to a bug whereby a lock
value was copied every time the value was passed around.
This was happening because of the use of an embedded
protobuf type. To avoid copying a mutex, use a pointer
type in the embedding.

Also fixes a few linter warnings complaining about the use
of unkeyed literals.
2023-09-19 09:17:42 -07:00
Jim 0d19892e03 fix (events): convert multierror to stdlib error (#3743)
* fix (events): convert multierror to stdlib error

multierror errors will be converted to a stdlib error (because
multierror doesn't support json marshaling).

* refact (errors): convert from multierror to stdlib errors.Join(...)

* refact: convert from pkg/errors to stdlib error wrapping
2023-09-17 19:35:43 -04:00
Irena Rindos bf595f8599 feat(events): add deregister pipeline (#3729)
* feat(events): add deregister pipeline
2023-09-14 16:06:10 -04:00
Damian Debkowski e3e848d847 feat(event): new storage event type (#3719) 2023-09-14 10:31:01 -07:00
Irena Rindos 6161635f65 feat(event): add register pipeline (#3714) 2023-09-13 13:08:16 -04: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
Irena Rindos 6f10a0ac87 chore: update go-eventlogger (#3707)
* chore: update go-eventlogger
2023-09-12 11:03:18 -04:00
Irena Rindos 9733a250fa refact(event): move observability/event to event (#3704) 2023-09-12 08:15:34 -04:00
Jim 8ee4f6ead0 feat (auth/ldap): add support for new fields to CLI (#3685)
Added support for new flags for: max-page-size and deref-aliases
2023-09-07 19:23:20 -04:00
Elim Tsiagbey d271025863 fix: Flakey upstream connection test (#3689)
The connectivity state changes for `upstream_connection_state` health field is causing the test to be flakey. Commenting out the field during assertions. `upstream_connection_state` health field is tested in other tests
2023-09-07 15:48:53 -04:00
Johan Brandhorst-Satzkorn f89515a19c all: avoid mutating global state in parallel tests (#3687)
The SetupSuiteTargetFilters globally mutates the function used for logic
inside the target handler service. This means that we could get
inconsistent logical behavior in certain tests that were run in parallel,
since the logic can change at runtime. Ensure tests that make use
of this function are never run in parallel with other tests.
2023-09-07 11:52:00 -07:00
Johan Brandhorst-Satzkorn 4789c00177 ui: bump UI commit (#3688)
The old commit artifact has expired.
2023-09-07 11:02:14 -07:00
Michael Gaffney 0af36d3d8a refactor(sql): Consolidate changes to oplog_entry into one migration 2023-09-06 20:05:50 -04:00
Michael Gaffney 3befccffd7 refactor(sql): Reorder and rename oplog kms migrations 2023-09-06 19:55:33 -04:00
Michael Gaffney d8393e5793 style(sql): fix indenting and remove trailing whitespace 2023-09-06 19:11:05 -04:00
Jim a16033b73a fix (kms): move oplog DEK into its own internal kms (#3665)
* fix (auth/ldap): fix which DEK is used for oplog during authenticate

* chore: update go-kms-wrapping dep for new extras/kms changes

The latest version supports setting a table name prefix for a kms
which is needed to fix our oplog DEK problem

* chore: update extras/kms dep

This latest version supports an optional TableNamePrefix which is
required to fix our existing oplog DEK issue.

* fix (oplog): schema oplog DEK fix

These changes will allow use to store the oplog DEK in it's own
set of tables, so they won't get deleted when a scope is deleted

* fix (kms): move oplog DEK into its own internal kms

* tests: update tests to be compatible with oplog fix

* tests: remove migration tests which are incompatible with oplog fix

These tests no longer work because they are missing the required
schema changes for the oplog fix
2023-09-06 18:25:49 -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
Johan Brandhorst-Satzkorn a73db844fe internal/perms: Fix grant parser bugs (#3660)
* internal/perms: Fix grant parser bugs

This fixes two bugs in the grant parser:

1. The parser would accept "," as an output field when parsing from JSON.
  This would then make it into the canonical string,
  which would make it look like we had a trailing comma.
  Disallow the use of a comma as an output field.
2. The parser would accept empty IDs when parsing from JSON.
  Make this behavior consistent with the text behavior.

* internal/perms: also handle empty IDs in text form

* internal/perms: disallow any commas

Commas anywhere in ids or output fields corrupt
the canonical output string.

* internal/perms: disallow any reserved characters

id, ids and actions could all contain one of the
reserved characters ",", "=" or ";" when used with
JSON.
2023-09-06 09:11:56 -07:00
Jim d5411a26f6 chore: update protobuf dep (#3669) 2023-09-05 13:10:03 -04:00
Elim Tsiagbey fabd4093de feat: Worker Connectivity Health Check (#3650)
* feat: Worker Connectivity Health Check

Add worker upstream connection state. API calls to the worker's ops `/heath?worker_info=1` endpoint should now return a new filed called `upstream_connection_state`

```
{
   "worker_process_info":{
      "state":"active",
      "active_session_count":0,
      "upstream_connection_state":"READY"
   }
}
```

The states returned will be GRPC connection states: https://grpc.github.io/grpc/core/md_doc_connectivity-semantics-and-api.html

There could be multiple upstream addresses but GRPC manual resolver determines the state of the connection.
2023-09-01 13:42:41 -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
Louis Ruch 2235a50a2a feat(ssh): Add support for ssh to run command on remote host (#3633) 2023-08-29 08:45:10 -07:00