Commit Graph
553 Commits
Author SHA1 Message Date
Johan Brandhorst-Satzkorn d9c6de4e8b deps: update runc dependency (#4349)
Fixes GHSA-xr7r-f8xq-vfvv
2024-02-01 13:19:24 -08:00
Jeff Mitchell 18f863514e Finish sqltests for multi grant scopes (#4320) 2024-01-30 11:04:05 -05:00
Jeff Mitchell 025fce6f95 Change error message and add beginnings of sql tests (#4319) 2024-01-29 16:02:16 -05:00
Johan Brandhorst-Satzkorn 133e928c6d internal/db/schema: update recording indexes (#4278)
The new index includes the new delete_time and
delete_after columns, which are used in the list query.
2024-01-25 08:56:15 -08:00
f5dd457b34 Multiple grant scope IDs (#4251)
Co-authored-by: Timothy Messier <tim.messier@gmail.com>
Co-authored-by: Todd <github@quaddi.com>
2024-01-23 14:33:09 -05:00
Louis Ruch fa69ddcb8a fix(db): Set max storage policy days (#4267) 2024-01-22 16:00:17 -08:00
Jim 6a37c93d77 fix: properly handle rows.Err() (#4261)
* fix (auth): properly handle rows.Err()

* fix (auth/ldap): properly handle rows.Err()

* fix (auth/oidc): properly handle rows.Err()

* fix (auth/password): properly handle rows.Err()

* fix (authtoken): properly handle rows.Err()

* fix (credential): properly handle rows.Err()

* fix (credential/static): properly handle rows.Err()

* fix (credential/vault): properly handle rows.Err()

* fix (db): properly handle rows.Err()

* fix (db/schema): properly handle rows.Err()

* fix (db/migrations): properly handle rows.Err()

* fix (host): properly handle rows.Err()

* fix (host/plugin): properly handle rows.Err()

* fix (host/static): properly handle rows.Err()

* fix (iam): properly handle rows.Err()

* fix (kms): properly handle rows.Err()

* fix (oplog): properly handle rows.Err()

* fix (pagination/purge): properly handle rows.Err()

* fix (plugin): properly handle rows.Err()

* fix (job/scheduler): properly handle rows.Err()

* fix (server): properly handle rows.Err()

* fix (session): properly handle rows.Err()

* fix (target): properly handle rows.Err()
2024-01-22 14:03:40 -05:00
Johan Brandhorst-Satzkorn b229ece914 internal/db: use more efficient index for host listing (#4256)
In tests, the index including the catalog_id performs significantly
better.
2024-01-19 10:59:18 -08:00
Louis Ruch d620dcbd4f feat(db): Update storage policy override default to false 2024-01-19 09:39:10 -08:00
Louis Ruch 5505833702 chore: reorder db migrations from llb 2024-01-16 15:47:12 -08:00
Danielle Miu e903947bef Create delete_session_recording job and associated infra 2024-01-16 15:47:09 -08:00
Damian Debkowski c27d12c189 fix(db): add target_org_id to session_recording_aggregate table 2024-01-16 13:53:44 -08:00
Johan Brandhorst-Satzkorn dc4ea67d6e internal/db: changes for pagination 2024-01-16 13:53:44 -08:00
Danielle Miu 39b3bb2d1d fix(db): allow session_recording_aggregate to return recordings correctly 2024-01-16 13:53:44 -08:00
Danielle Miu df02651bb5 feat(db): new cols for retain and delete session recordings, update structs, and tests 2024-01-16 13:53:44 -08:00
Hugo 978db86186 feat(internal/db): Storage policies implementation (#767)
This commit implements part of the storage policy's database model,
focusing specifically on the operational tables for this feature.
2024-01-16 13:20:11 -08:00
Johan Brandhorst-Satzkorn b6fe9824ab internal/db: optimize session list indexes 2024-01-11 09:44:44 -08:00
Johan Brandhorst-Satzkorn 69262c386c internal/db: renumber migrations (#4218) 2024-01-05 07:43:22 -08:00
Johan Brandhorst-Satzkorn 85ca909720 internal/db: add iam_scope indexes
These will help the iam_scope list queries
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn d4b60241db internal/db: storage bucket pagination migrations (#4213) 2024-01-05 07:43:21 -08:00
Michael Milton 52b1c1b4c7 Managed group list pagination (#4208)
* wip

* managed groups pagination

* address PR comments

* missed one change
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 44971b3559 internal/db: migrations for accounts pagination 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 0715003945 internal/db: renumber session recording migration 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn cce52a16e6 internal/db: db migrations for session recordings (#4200) 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn e9b90d9ce1 internal/db: add schema changes for host catalog pagination 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn f0dbddb9e3 internal/db: ensure new columns are not null (#4197)
Ensure the new create_time and update_time columns
are marked as not null after populating the data.
Also ensure that the data is populated safely with an
updated query pattern inspired by the auth method
pattern.
2024-01-05 07:43:21 -08:00
Todd 40d9c3fd1d Paginate iam groups (#4194) 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 8dc431fef5 internal/db: renumber auth methods migration (#4199) 2024-01-05 07:43:21 -08:00
Michael MiltonandMichael Gaffney 8d50a0913f Auth Method list pagination (#4165)
* wip

* implement list pagination for auth methods

* remove unused code

* update tests to fix sorting

* address PR comments

* simplify query, add token tests

* change test name

* wip sql testing

* add boolean column to indicate whether auth methods should be returned to unauthenticated users, remove secrets from api response

* is_active_public not null

* remove secrets and unwrapping

* move not null to immediately after data migration

* order public_id descending

* fix(db): Fix auth method migrations (#4193)

* wip

* fix db tests

* fix failing api tests

* reverse order of create time and update time in test

---------

Co-authored-by: Michael Gaffney <mike@gaffney.cc>
2024-01-05 07:43:21 -08:00
Todd 0fad770d8a Paginate iam user (#4185)
* paginate iam user
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn b3207d8e1c internal/host: sort public_id descending
The previous sort would run the risk of missing items which
collide on update or create times because of the compound
comparison using strictly less than for both the timestamp
and the public_id. Sorting both descending avoids this issue.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn d94a25bbd2 internal/host: sort public_id descending
The previous sort would run the risk of missing items which
collide on update or create times because of the compound
comparison using strictly less than for both the timestamp
and the public_id. Sorting both descending avoids thi issue.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn d4f5677858 internal/iam: sort public_id descending
The previous sort would run the risk of missing items which
collide on update or create times because of the compound
comparison using strictly less than for both the timestamp
and the public_id. Sorting both descending avoids thi issue.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn f9950a7e1c internal/authtoken: sort public_id descending
The previous sort would run the risk of missing items which
collide on update or create times because of the compound
comparison using strictly less than for both the timestamp
and the public_id. Sorting both descending avoids thi issue.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn d4d1efce93 internal/session: sort public_id descending
The previous sort would run the risk of missing items which
collide on update or create times because of the compound
comparison using strictly less than for both the timestamp
and the public_id. Sorting both descending avoids thi issue.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 6238a533b0 internal/credential: sort public_id descending
The previous sort would run the risk of missing items which
collide on update or create times because of the compound
comparison using strictly less than for both the timestamp
and the public_id. Sorting both descending avoids thi issue.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn fc9b26efa7 internal/target: sort public_id descending
The previous sort would run the risk of missing items which
collide on update or create times because of the compound
comparison using strictly less than for both the timestamp
and the public_id. Sorting both descending avoids thi issue.
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 27393a8227 internal/db: add host set indexes 2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 21c593ab71 internal/db: add host indexes 2024-01-05 07:43:21 -08:00
Todd 5aa560387c Add pagination for iam Roles (#4161)
* Add pagination for iam Roles
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn 77b76ae685 internal/db: reorder pagination schema files 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 22ce2b4468 internal/db: add cred store pagination schema changes
Add create time, update time columns to base table,
add indexes used by list queries.
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 780dfe20ad internal/db: move pagination migrations to same folder (#4142)
Since rebasing on main, we are no longer working in 79, but 80 instead.
2024-01-05 07:43:20 -08:00
Todd 5daef58f54 SQLite allows having 1 set to MaxOpenConnections (#3941)
* let sqlite have a single concurrent connection
2024-01-05 07:43:20 -08:00
Jim fba9d1cdf1 Add client daemon repo, server, and cmd
The commands added are:
boundary daemon start
boundary daemon stop
boundary daemon add-token
boundary daemon status
boundary search

If these actions are performed on a platform that doesn't support sqlite
natively in go an error is returned.

Besides some hooks into the cmd package all the significant logic
resides in internal/clientcache

feat (cmds/authenticate): output the token name when storing token

feat: update go-dbw which now uses pure go sqlite driver

refact (base.Command): export FlagOutputCurlString

Exporting FlagOutputCurlString allows other commands that embed
the base.Command to access the flag as needed

feat: add a cache Repository to manage cache storage

feat: add a "cache" CLI command

This new command will support both managing and searching the
local CLI cache daemon.

feat: start cache daemon as needed when issue CLI commands

Move files to new directories and add persona table (#3526)

* Add persona table and move files to new directories

Client daemon now uses unix sockets and update pathing (#3535)

* Add unix socket listen and dialers with file permissions applied

* Update the pathing to match RFC

Cache refreshing now uses all stored personas. (#3545)

Updating headers for LLB files

Decouple daemon and cache server (#3566)

* Separate daemon from server

* Add persona handler to daemon server (#3579)

Moved search to use mql and added tests for the search command (#3589)

* search uses hashicorp/mql

Windows support for client side daemon (#3618)

* exec.Command for background process

* Log to stderr when in foreground and file always

* Use pid files across platform for start and stop

Requests with version info must match the daemon's version (#3640)

* requests with version info must match daemons

Update dependencies and breakout cgo/pure go sqlite drivers  (#3657)

upgrade go-dbw deps and add cgo build tags

Enable graceful shutdown in windows (#3695)

* Enable graceful shutdown in windows

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

Targets delete when a persona changes address or user id (#3673)

* Handle cache refresh in repo

Add sessions to the client side cache (#3682)

* Add sessions to repository

* Search command supports sessions

* adding session related tests to db and refresh

Change cache schema from personas to tokens+users (#3737)

* Change from personas to tokens+users

* Separate keyring tokens from auth tokens

Add support for keyringless auth tokens (#3765)

* Add support for keyringless auth tokens

Remove expired auth tokens from cache (#3768)

* Remove expired auth tokens from cache

Complete the TODO of checking for inflight tx (#3779)

Delete tokens that the controller says are invalid (#3782)

fix search test with boundary token check (#3799)

Collect resource info in repository_<resource>s.go (#3769)

* Collect resource info in repository_<resource>s.go

* Move search logic into the domain (#3794)

Daemon and search restricted to supported platforms (#3801)

* Daemon and search restricted to supported platforms

Reorganize the clientcache packages (#3814)

* Refactor for self contained domain logic

* Put clientcache stuff under internal
2024-01-05 07:43:20 -08:00
Michael Milton 6ba3676c37 Auth token pagination (#4113)
* Add pagination support for auth tokens

* change analyze count estimate comment

* adjust queries for efficiency and security

* even more efficient queries
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn fcb47f3772 internal/db: add cred library pagination schema changes 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 497c158b9d internal/db: add migration for static credential table
The static credential table is used rather than the credential
table as all credentials returned by ListCredentials are static
at this time.
2024-01-05 07:43:20 -08:00
Michael Milton 9c3eb16046 Sessions list pagination (#4079)
* Session list pagination refactor

* address pr comments, add explanatory comments, clean up sql queries, move tests into proper files

* fix build error

* fix test error
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 6181f34497 internal/db: move new migrations to new folder 2024-01-05 07:43:20 -08:00