Todd
dbbcdb72bf
Add match test for hashicorp and go 1.20 multi errors
2023-05-31 12:18:14 +00:00
irenarindos
e29b844131
feat(bsr): improve error handling
2023-05-31 12:18:14 +00:00
Michael Gaffney
4488f5f8cd
refactor(sql): Move and rename history table migrations
...
This moves and renames the history table migration files into the
correct migration directory.
2023-05-31 12:18:14 +00:00
Michael Gaffney
463f1e36af
feat(sql): Add history table for iam_user
...
This adds a history table for `iam_user`.
2023-05-31 12:18:14 +00:00
Michael Gaffney
8ae658a570
feat(sql): Add history table and triggers for iam_scope
...
This adds a history table for `iam_scope`. It also includes reusable
triggers to maintain the included history table and future history
tables.
This also includes a test suite that runs on any table ending in `_hst`.
2023-05-31 12:18:14 +00:00
Michael Gaffney
327d950a1e
feat(sql): Add function to generate a URL safe ID
...
This adds a SQL function that generates a secure random ID of at least
14 characters suitable for use as a public or private ID. IDs generated
with the function will only contain characters from the unreserved
character set defined in RFC 3986 Section 2.3 making them safe for use
in a URL.
2023-05-31 12:18:14 +00:00
Michael Gaffney
94f77d36b3
feat(sql): Add a domain type for URL safe IDs
...
This creates a new domain in SQL that constrains the characters of an ID
to the unreserved character set defined RFC 3986 Section 2.3.
2023-05-31 12:18:13 +00:00
Michael Gaffney
647cf0d33d
feat(sql): Add URL safe base64 encoding function
...
This adds a SQL function to encode binary data into the URL safe base64
encoding defined in RFC 4648.
2023-05-31 12:18:13 +00:00
Danielle Miu
a4a14fc7fc
merged commit for plugin rework, storage bucket sql and proto, storage bucket secret rewrapping, storage bucket repository
2023-05-31 12:18:13 +00:00
Louis Ruch
38723f8112
feat(storage): Add RemoteFs to storage interface
2023-05-31 12:18:13 +00:00
Johan Brandhorst-Satzkorn
ad62df6b36
cluster: pass controller ext to authorize conn
...
Make the controller extension availalbe to the protocol
context constructor.
2023-05-31 12:18:13 +00:00
Johan Brandhorst-Satzkorn
5837d6f387
target: add PostSessionAuthorization callback
...
The callback is called for any steps that need to be performed
after a successful authorization but before returning to the user.
2023-05-31 12:18:13 +00:00
Johan Brandhorst-Satzkorn
13e1196797
target: add error handling to authorize session
...
Attempt to undo operations if there are failures during
session authorization.
2023-05-31 12:18:13 +00:00
Johan Brandhorst-Satzkorn
517fc91ebf
target: return selected worker when authorizing
2023-05-31 12:18:13 +00:00
Johan Brandhorst-Satzkorn
6d219bd5d1
target: add controller extension to service handler
...
The controller extension can be used to access types unavailable
in OSS.
2023-05-31 12:18:13 +00:00
irenarindos
47477e8fd6
feat(bsr): add BSR playback/conversion interfaces
2023-05-31 12:18:13 +00:00
irenarindos
444af9151c
feat(bsr): Sync BSR keys
2023-05-31 12:18:13 +00:00
Timothy Messier
51e6e64d09
fix(bsr/checksum): Close after calling Stat
2023-05-31 12:18:12 +00:00
Timothy Messier
96f3c71cda
test(bsr): Properly handle closed state for test fs implementation
...
The test implementation will now correctly mimic a real fs's Close
behavior. It will prevent reads and writes to a closed file or
container.
2023-05-31 12:18:12 +00:00
Louis Ruch
34942e001b
feat(loopback): Create directories in object key
2023-05-31 12:18:12 +00:00
Todd
bc48f2d0e0
Add monitor session job proto and controller changes
...
This adds a new Job type that is for generic session state monitoring. Monitoring sessions does not include any information about specific connections.
2023-05-31 12:18:12 +00:00
Jim
4d60f42210
feat(bsr): add bsr kms support in config, dev and tests
2023-05-31 12:18:12 +00:00
Jim
6cc984e4e4
feat (errors): add WorkerFoundForRequest error code
2023-05-31 12:18:12 +00:00
Jim
6f78889947
refact: add servers.ListWorkers(...)
...
refactor servers.(repository).ListWorkers(...) into just
servers.ListWorkers(...) used independently of the repo. The method
func is refactor to use the new bits as well.
2023-05-31 12:18:12 +00:00
irenarindos
b43830e66e
feat(bsr): add protocol to sessionMeta
2023-05-31 12:18:12 +00:00
Louis Ruch
798a1f952a
feat(storage): Add support for storage plugins
2023-05-31 12:18:12 +00:00
Damian Debkowski
9ef94892f4
test(plugin): Support storage service in loopback plugin
2023-05-31 12:18:12 +00:00
Louis Ruch
351444f1bd
refact(plugin): Move host loopback plugin into internal/plugin/loopback
2023-05-31 12:18:12 +00:00
Todd
4c801cca18
update the recording msg type enums
2023-05-31 12:18:12 +00:00
Todd
e2a681a66a
stop exporting registerUpstreamMessageTypeSpecifier
2023-05-31 12:18:11 +00:00
Todd
dbe3473874
Add CreateChannel enum for upstream message handler
2023-05-31 12:18:11 +00:00
Jim
8cd0e8595f
refact: split UpstreamMessageHandler into two interfaces
...
Originally, UpstreamMessageHandler was used by
controllerUpstreamMessageServiceServer.UpstreamMessage to process
(aka handle) an upstream message and by SendUpstreamMessage to
send an upstream msg.
We split UpstreamMessageHandler into two interfaces so we can
register handlers independently of a senders.
2023-05-31 12:18:11 +00:00
irenarindos
431b9d25a2
feat(bsr): use go 1.20 multierror
2023-05-31 12:18:11 +00:00
Jim
3995f2e6ae
feat: add proper audit events for UpstreamMessage
...
The upstream messages all basically looked the same; regardless
of which message was sent. This PR adds DetailsUpstreamMessage to
audit events emitted by UpstreamMessage requests/response
2023-05-31 12:18:11 +00:00
Jim
7161569955
feat (events): new test helpers: CloudEventFromFile, CloudEventFromBuf
2023-05-31 12:18:11 +00:00
Jim
c4b31313a6
feat (controller): define a ControllerExtension
2023-05-31 12:18:11 +00:00
Todd
68dc4da50e
Add CloseConnectionRecording enums to the upstream message service
2023-05-31 12:18:11 +00:00
irenarindos
ba476ca73b
feat(bsr/ssh): Add SSH Request type chunks
2023-05-31 12:18:11 +00:00
Timothy Messier
26bd86fb07
feat(bsr): Add chunk encoder
2023-05-31 12:18:11 +00:00
Timothy Messier and Irena Rindos
2a31ddd881
feat(bsr): Define container and the required fs interfaces
...
Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com >
2023-05-31 12:18:11 +00:00
Timothy Messier
9302705d1b
chore: Update go-kms-wrapping dep
...
This is necessary to get the SigInfoSigner.
2023-05-31 12:18:10 +00:00
Timothy Messier
897b70f090
feat(storage): Make Option fields exported
...
This makes it possible to have external packages implement the
storage.FS, storage.Container, and storage.File interfaces and correctly
inspect the various options.
2023-05-31 12:18:10 +00:00
Johan Brandhorst-Satzkorn
7632143861
add session recording API definitions
2023-05-31 12:18:10 +00:00
Johan Brandhorst-Satzkorn
7bb44b46f5
internal/db: add session recording tables
...
Add the following new tables used for storing session recordings:
* recording_session
* recording_connection
* recording_channel
* recording_channel_ssh
* storage_bucket
2023-05-31 12:18:10 +00:00
Jim
f9b45ca5b7
refact: extend registerControllerUpstreamMessageService to reg hdrs
...
Extend registerControllerUpstreamMessageService to register upstream
message handlers
2023-05-31 12:18:10 +00:00
Jim
9f01e1b3c1
refact: RegisterUpstreamMessageHandler stop returning dup err
...
Stop returning an error if RegisterUpstreamMessageHandler is called
multiple times, since it provides little/no value and creates
invalid errors when more than one test controller is started across
all the unit tests.
2023-05-31 12:18:10 +00:00
Jim
ff9b3b0873
fix(bsr/kms): VerifySignatureWithBsrKey: handle invalid signature
2023-05-31 12:18:10 +00:00
Jim
9543af8765
feature (bsr/kms): add VerifySignatureWithBsrKey(...)
2023-05-31 12:18:10 +00:00
Jim
410bec1e00
feature(worker/controller): register UpstreamMessageServiceServer
2023-05-31 12:18:10 +00:00
Jim
20cf521cc0
feat(bsr): add bsr kms support in config, dev and tests
2023-05-31 12:18:10 +00:00