Commit Graph
71 Commits
Author SHA1 Message Date
Irena Rindos 2945692bf4 Client cache API paging (#5107)
* internal/clientcache: add -force-reset-schema flag

* clientcache: stream list pages directly to DB

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
(cherry picked from commit ccea8a4ce53f7b0d1105c1c1e4875e443635d96a)
2024-09-24 14:18:53 +00:00
Jeff Mitchell 3a4ee032d9 Paginate targets in cache (#5101)
* Update Go API to support pagination
* Implement pagination of targets in cache

(cherry picked from commit cd25fad42f325fc050b7ea3bec3336780d2b5e16)
2024-09-24 14:18:53 +00:00
Jim 2a87dcad48 fix (cache/db): add indexes for desktop queries (#5091)
(cherry picked from commit bfdbae1f042c4eb1b05e0373e1aaf2db55c9bb3b)
2024-09-24 14:18:53 +00:00
Jim 85afd56266 fix (cache): support for DB debug logging (#5087)
(cherry picked from commit a7fe48b8d827d1bf68ff8eea205428dd5faae381)
2024-09-24 14:18:53 +00:00
Jim 863359aa26 test (cache/search): fix NewTestServer(...) storage (#5081)
Fix ensures that the TestServer returned uses the
correct directory for writing its sqlite files,
which was created via t.TempDir()

(cherry picked from commit 85f91043a164bdacc1c6738ae0e7c50077d55c79)
2024-09-24 14:18:53 +00:00
Jeff Mitchell 829ea02e6f Ensure only one refresh is running for a user/resource at a time (#5054)
This ensures we don't have competing update processes running. When doing the
inline RefreshForSearch, a specific error will be returned so we can hint in
the API that we're in the middle of a refresh.

(cherry picked from commit 54776091e32af2f2f110f2bf10d0617bd5677aba)
2024-09-24 14:18:53 +00:00
Jeff Mitchell b04de5ac4b Add implicit-scopes resource type to cache (#5053)
This allows getting a list of scope IDs known by the cache via cached
targets and sessions. It is not refreshed from the controller. The name
contains `implicit` in case we ever want e.g. `scopes`.

(cherry picked from commit c0a318c58367d8ec55365447f41cf007eab64ce3)
2024-09-24 14:18:53 +00:00
Jim 4d8a7dd39a feat (clientcache): use a persistent cache (#5051)
By default, we will use a persistent cache for the
client cache. This will allow us to keep the cache
across restarts of the server and it will also
reduce the amount of time it takes to start the
server while reducing the amount of memory used.

This change also includes a validation of the cache
schema version. If the schema version is different
from the one expected, the cache will be
reset/recreated.

(cherry picked from commit cf8a51f3834033b7f986a9a7e091ab31c4328415)
2024-09-24 14:18:53 +00:00
Jeff Mitchell 384fc332be Restrict cache results to 250 entries by default (#5049)
A query parameter `max_result_set_size` can be specified to set a
per-request limit, with `-1` meaning all values. If there were more
entries than the max size used for the request, an `incomplete` boolean
is set in the response.

(cherry picked from commit 3cdd07889be5e4e6f21d044cb60fad1face4be08)
2024-09-24 14:18:53 +00:00
Damian Debkowski 9576ed40dc test: improve test to ensure ipv6 compatability (#5113) 2024-09-19 08:55:27 -07:00
Jeff Mitchell b120a03f43 Fix tests (#5114) 2024-09-18 11:09:15 -04:00
Jim 28b465e4b8 refact: to use go-dbw CreateItems, DeleteItems (#4974)
* refact: to use go-dbw CreateItems, DeleteItems

Latest version of go-dbw updated the signature of
CreateItems(...) and DeleteItems(...) on a happy
note this latest version of go-dbw actually does
batch inserts and updates for this functions.

* all: regenerate protos with new protoc-gen-go version
2024-08-01 11:18:53 -04: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 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
Todd 7ccc099807 Use the default retry limit across client cache (#4727) 2024-04-25 15:18:23 -07:00
Todd 55cf055285 Fix build and test breakage. (#4659) 2024-04-17 14:02:31 -07:00
Todd adea8e0f14 Change aliases to resolvable aliases in client cache (#4656) 2024-04-17 12:37:42 -07:00
Todd 95c507fad5 Add hidden ferry commands and auto adding tokens to ferry daemon (#4572)
* Add boundary ferry command (#4462)

* Add boundary ferry status (#4463)

* Add sending auth token automatically to ferry daemon (#4465)

* Hide ferry cmds, background error msgs, and dont retry background add-token requests (#4571)
2024-03-25 15:04:13 -07:00
Todd 13d07e51fd Don't log resource staleness when no refresh token is recorded (#4503) 2024-03-08 15:48:18 -08:00
Todd d5ae3d8dc6 fixup! Add aliases to the client cache daemon and make them searchable (#4418) 2024-02-29 15:52:27 -08:00
Todd a2ea1f8f90 Add aliases to the client cache daemon and make them searchable (#4418)
* Add aliases to the client cache daemon and make them searchable
2024-02-29 15:52:27 -08:00
Todd 366d9e95aa Add Error logging and hclog.Logger debug logging throughout the daemon (#4384) (#4439)
* Save and assign hclogger throughout the client cache daemon

* Don't event for errors happening outside of the handlers or tickers.

* Hide and ignore -store-debug and expose the -log-level flag
2024-02-22 10:20:48 -08:00
Jeff MitchellandDamian Debkowski 014a5a7aae Vet/race fixes (#4421)
This addresses all found vet/race fixes in community edition.

---------

Co-authored-by: Damian Debkowski <damian.debkowski@hashicorp.com>
2024-02-21 16:32:26 -05:00
Jeff MitchellandDamian Debkowski 35cef97bd4 Linter fixes PR 3 (#4415)
* Linter fixes

* fix(bsr): update test to register TEST protocol once

---------

Co-authored-by: Damian Debkowski <damian.debkowski@hashicorp.com>
2024-02-16 08:30:16 -05:00
ToddandJim eb6d0dbd6a Use the intercepted token always. If the keyring matches, use it from there (#4355)
* Use the intercepted token if present, use it through the keyring if keyring contains it

* fixup! Use the intercepted token if present, use it through the keyring if keyring contains it

* Apply suggestions from code review

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

---------

Co-authored-by: Jim <jlambert@hashicorp.com>
2024-02-06 11:46:28 -08:00
Todd acabfd7f2c boundary daemon add-token to return returns 403 Forbidden when Boundary returns the same (#4345) 2024-02-02 12:24:14 -08:00
ToddandJohan Brandhorst-Satzkorn d6c9db968a Fix calculating uptime after system sleep (#4332)
* Fix calculating uptime after system sleep

* Update internal/clientcache/internal/daemon/status_handler.go

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2024-01-31 12:31:43 -08:00
Todd 7e7e6369ae pass on the max search refresh timeout to server (#4321) 2024-01-29 15:38:45 -08:00
Todd 0705ed4e68 Do not try to autodiscover tokens when doing token lookups using provided tokens. (#4316) 2024-01-29 10:23:23 -08:00
dde833e8cf Decrease number of flags shown for daemon/search (#4312)
* Decrease number of flags shown for daemon/search
* Update changelog
---------

Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2024-01-26 15:56:41 -08:00
Todd b734c43cda return error when creating table fails (#4305) 2024-01-26 10:46:29 -08:00
Todd e32a25f2a4 No longer enforce version matching between daemon and cli (#4271)
* No longer check version matching between daemon and cli

* Add Log Service Handler and report if the daemon is running in background mode
2024-01-24 16:26:15 -08:00
Todd d0eb670dcf s/Full Fetch/Recheck Support/ in logs and expose filter query param to search command (#4269)
* s/Full Fetch/Recheck Support/  and expose filter query param to command
2024-01-22 17:39:52 -08:00
Todd 0dac9005c1 Boundary auth without a keyring configured behaves like -keyring-type none (#4268) 2024-01-22 16:40:23 -08:00
Todd 30066c06f5 Add log location to the status output (#4260) 2024-01-22 08:42:19 -08:00
Todd b8f4e16ecf Fix flaky log rotation test (#4257)
* Fix flaky log rotation test
2024-01-18 14:44:53 -08:00
Todd 884a0cb1fc Fix daemon synopsis and command grouping (#4249) 2024-01-18 09:54:21 -08:00
Louis Ruch 957cd59d91 test(e2e): Update e2e timeout (#4241) 2024-01-17 09:45:34 -08:00
Todd fa2dc80e36 Close the logfile at test cleanup (#4224) 2024-01-08 10:20:43 -08:00
Todd 0823e395a6 Give more time for worker to start up (#4223) 2024-01-05 16:19:00 -08:00
Johan Brandhorst-Satzkorn 1303f7c363 Fix linter warnings (#4219) 2024-01-05 07:43:22 -08:00
Todd f49ba4662c Add more logged events (#4206) 2024-01-05 07:43:21 -08:00
Todd c94a933578 Manually build the socket url (#4205) 2024-01-05 07:43:21 -08:00
Todd 36a8c6e289 Client cache: Update the default values timing issues (#4203) 2024-01-05 07:43:21 -08:00
Michael Li 3a0c1b8e9f test(e2e): Add test for search (#4196)
* test(e2e): Add test for search

* CR

* CR
2024-01-05 07:43:21 -08:00
Todd e429e91bc4 Do not cache or allow searching for old controllers (#4136)
* Do not cache or allow searching for old controllers

* Identify resourceless responses as coming from supported or unsupported controllers

* Do not report refresh token status info for unsupported controllers
2024-01-05 07:43:21 -08:00
Todd d453a2a48a Check in client wrapper if cache daemon is already in use (#4172) 2024-01-05 07:43:21 -08:00
Todd 6f488d7c59 Evanulate if cache daemon should be skipped after the flags are parsed (#4168) 2024-01-05 07:43:21 -08:00
Todd 9ebb69f2a4 Add target type and session user_id as searchable (#4076)
* Add target type and session user_id to search
2024-01-05 07:43:21 -08:00
Johan Brandhorst-Satzkorn df93313b9a all: fix test failures after rebase
The stability of the authorized_actions have been removed in main,
so we need to add these sorts to all our new tests.
2024-01-05 07:43:21 -08:00