Commit Graph
3681 Commits
Author SHA1 Message Date
Johan Brandhorst-Satzkorn 6c9bc84790 testing/e2e: add credential store pagination test 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 0259f2f26b internal/handlers: add credential store pagination 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn a7ebb7a3ef internal/credential: add store pagination logic 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 3197ab763f internal/credential/static: add store pagination logic 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 7efb43ac03 internal/credential/vault: add store pagination logic 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 7b27d7d20f internal/target: fix some test typos 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 576e25bd27 internal/session: fix some test typos 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn dc0b8cfc62 internal/credential: fix some test typos 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn cb109da5b2 internal/pagination: add generic ListPlugins functions
These new methods can be used in places where the caller wants
to automatically paginate over a resource that is returned
together with a slice of plugins, such as host catalogs.
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 97ba8b3bad internal/pagination: add generic ListPlugin functions
These new methods can be used in places where the caller wants
to automatically paginate over a resource that is returned
together with a plugin, such as plugin hosts, host sets and storage buckets.
2024-01-05 07:43:20 -08:00
Michael Milton 335ccbfdaf Session pagination e2e tests (#4134)
* Tests session pagination over CLI

* session pagination tests

* Add cleanup and fix api test
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 1411eeafff testing/e2e: add credential library pagination test 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 9047d5b22a testing/e2e: add credential store API helper 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 3558589c90 Return and consume InvalidListToken error code (#4141)
* Return and consume InvalidListToken error code
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 7dce5396f5 testing/e2e: add API helper for u/pw credentials 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 0b1217fdb6 testing/e2e: check returned targets in pagination 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn d9edd9dda6 testing/e2e: add credential pagination test 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 a1bc2be136 Remove accidentally re-added refresh token files 2024-01-05 07:43:20 -08:00
Todd 9025e126fb Fix dependency that got reverted to older version 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
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 48e8d454a4 internal/credential: use correct resource in tests (#4128) 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 6b03363eb8 internal/handlers: add credential library pagination 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn c6e80dbe32 internal/credential: add library pagination logic 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 1337a57674 internal/credential/vault: add pagination logic 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 a9e0d6693d internal/credential/static: simplify list parsing (#4112)
Using a struct for the list parsing simplifies the
logic and makes the mapping between the result and
the Go type safer.
2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 6b2f5fe29f internal/credential: fix comment (#4106) 2024-01-05 07:43:20 -08:00
Johan Brandhorst-Satzkorn 9f6ac602ee internal/handlers: add credential pagination support 2024-01-05 07:43:20 -08:00