Commit Graph
47 Commits
Author SHA1 Message Date
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
Todd 3558589c90 Return and consume InvalidListToken error code (#4141)
* Return and consume InvalidListToken error code
2024-01-05 07:43:20 -08:00
Todd 2d18f82c9f Rename refresh token errors to list error (#4138) 2024-01-05 07:43:20 -08:00
Todd deab274ec0 make gen 2024-01-05 07:43:20 -08:00
Todd 97f800d396 Fix rebase issues 2024-01-05 07:43:20 -08:00
Todd c74579cead Allow forced refresh attempt when searching (#4077)
* Allow forced refresh attempt when searching
2024-01-05 07:43:20 -08:00
Todd cdc6fb0973 Refresh specific resources before searching when they are stale (#4046)
validate versions for all handlers. Refresh specific user before searching

Pass flags on to the background process

Allow the search refresh timeout to be configured
2024-01-05 07:43:20 -08:00
Todd b3d268eae5 Include terminated sessions in the client cache (#4051) 2024-01-05 07:43:20 -08:00
Todd 8974606dea Remove auth token when it is not found (#4050) 2024-01-05 07:43:20 -08:00
Todd 9aab26e91b clientcache commands now can output curl strings (#4042) 2024-01-05 07:43:20 -08:00
Todd b71d134e06 Create Client and update Errors for client daemon commands (#4011)
* Create a client cache daemon client

* Fix error formatting for the client cache cmds
2024-01-05 07:43:20 -08:00
Todd 8af20349e7 update mql and clean search flags (#4030) 2024-01-05 07:43:20 -08:00
Todd f6b9162953 consistently expect snake case json values in token handler (#4015) 2024-01-05 07:43:20 -08:00
Todd a077be691c Add scope id and target id as searchable fields (#4012) 2024-01-05 07:43:20 -08:00
Todd 9448fc931e Search uses base.Client's token to perform the search (#4006) 2024-01-05 07:43:20 -08:00
Todd ab4ab0e8f9 Handle log rotation (#3948)
* Handle log rotation
2024-01-05 07:43:20 -08:00
Todd 71b09222ae Add status command to the boundary client cache (#3871)
* Add status command to the boundary client cache
2024-01-05 07:43:20 -08:00
Todd 3a7ea64a31 Add skip daemon flag and send recently authed tokens to daemon (#3883)
* Add skip daemon flag and send recently authed tokens to daemon

* Rename flag skip-daemon to skip-cache-daemon

* adding option test

* move common.Options to base.Option

* SocketAddress returns *url.URL, fix search test
2024-01-05 07:43:20 -08:00
Todd 2f7459fa40 Add FullFetch to resource updating ticker (#3947)
* Add full fetch for controllers w/o refresh tokens
2024-01-05 07:43:20 -08:00
Todd b2fec2e4f0 Store and use refresh tokens in the client cache (#3857)
* Refresh resources using refresh tokens
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