Commit Graph
199 Commits
Author SHA1 Message Date
Jeff Mitchell dcb15cffbd Add authorized actions output on resources (#870) 2021-01-20 10:53:01 -05:00
Todd Knight ec6151d174 Organize DB Schema Migration Code and DB Init Checks (#842)
Create Schema Manager and propagate contexts into the DB calls downstream.
Add checks at controller startup and database init for correct schema version and schema migration dirty bit being set.
2021-01-19 10:40:41 -07:00
Jeff Mitchell 27919ab11b Groundwork for returning authorized actions (#860)
This returns authorized actions on targets to users when they perform an operation on a target, including listing. It also prevents users from seeing values in listing targets on which they have no permissions.
2021-01-13 14:42:37 -05:00
Michael GaffneyandJeff Mitchell 94cb79bbdd See how Boundary would look with gofumpt applied (#853)
* See how Boundary would look with https://github.com/mvdan/gofumpt applied

Results of running `gofumpt -w -s .`

* Update tools file and Makefile for gofumpt

Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
2021-01-07 10:02:32 -05:00
Louis Ruch dbc796759b ICU-934/Verify controller config block (#851)
* Verify controller config block

* update changelog
2021-01-06 10:41:38 -08:00
Jeff Mitchell 5b5602969f Update go-keyring to use forked version (#846)
This may help with #830.
2021-01-04 21:05:42 -05:00
Jeff Mitchell 6580d85388 Remove erronious IsGlobalUnicast check. (#845)
Fixes the issue raised at https://www.boundaryproject.io/docs/configuration/worker#complete-configuration-example
2021-01-02 19:49:39 -05:00
Jeff Mitchell e6c98f1454 Add logic to error on certain invalid listener configs (#838)
This adds logic to error on certain invalid listener config:

* If an address in the worker's "controller" set is unspecified or
multicast or global unicast, error
* If the controller's cluster address is unspecified, ensure
public_cluster_addr is set

This has been a source of some confusing behavior on some GitHub tickets
and even on the team, so preventing it is probably a good idea.

It also relaxes the restriction around controller address matching cluster address in single-server mode when using DNS names.
2020-12-18 12:12:25 -05:00
Jeff Mitchell 16f7dc1c96 Update connect unauthorized message to give a bit more detail 2020-12-17 11:06:01 -05:00
Jeff Mitchell a6cca576a3 Attempt canceling sessions by the client (#831)
* Attempt canceling sessions by the client

In some circumstances (like a Ctrl-C), the client knows it's shutting
down and the TOFU token will be lost. In this case it makes sense to
cancel the session rather than have it time out. This introduces a
command enum to the handshake message which can be used for the client
to send commands to the worker -- in this case the only specified
command is to cancel the session. It doesn't occur if the session is
already timed out or if we can't authorize connections as this generally
means the session is already invalid.
2020-12-16 17:14:47 -05:00
Jeff Mitchell b809d3f12a Add kube connect subcommand (#816) 2020-12-14 16:52:11 -05:00
Jeff Mitchell 9a84e50493 Minor linting 2020-12-09 17:05:16 -05:00
Jeff Mitchell 833f29e352 Switch connection limit for default target to -1 (#814)
This makes the initial testing workflow less confusing for users
2020-12-09 16:05:48 -05:00
Jeff Mitchell d4a6efb363 Pass endpoint to the client (#811)
This allows us to automatically set TLS parameters, useful for `boundary
connect http` and some other features to come.
2020-12-09 14:45:53 -05:00
Todd Knight aa4157639c Change Format of API Error (#784)
This is a wire breaking change for json errors since we have removed and renamed a few fields, and changed part of the structure of the returned json error.

* Remove redundant fields in Status, details.error_id, details.TraceId and details.request_id from API errors.

* Added wrapped errors and "ops" field to indicate the internal operation of the errors returned by the API.

* Added error cli error reporting of Op and wrapped errors.
2020-12-07 14:25:16 -07:00
Jeff Mitchell 589c79831f Create internal capability for json errors for connect (#809)
* Create internal capability for json errors for connect

* Update error codes
2020-12-07 09:02:02 -05:00
Todd Knight f6e50006fc Generate postgres.gen.go using schema version directory structure (#808)
* Reorganize the db migration .sql scripts into individual schema version directories and generate the sql httpfs fakeFile accordingly.

* Created a /dev schema version directory to hold db schema updates that have not been finalized.

* Add an 'allow-development-migrations' flag to allow `boundary database init` to be executed even when there are schema updates in /dev.
2020-12-04 21:32:27 -07:00
Jeff Malnick af2d9dfe90 fix: do not print info in output that could be JSON or YAML format (#799)
* fix: print err msg for no credentials found to stderr
2020-11-20 09:27:44 -08:00
Jeff MalnickandJeff Mitchell 11c7c8dbe8 feat: make auth token staleness and duration configurable (#777)
* feat: make auth token time to live and staleness configurable

* docs: add configuration docs for auth token TTL and staleness

Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
2020-11-16 10:39:18 -08:00
Jeff MalnickandJeff Mitchell a7fca44809 Fix authz flag (#787)
* Fix authz flag

* add changelog bug fix for authz flag

Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
2020-11-13 10:06:37 -05:00
Jim af6ef1b687 Refactor existing sentinel errors (#774) 2020-11-05 16:54:03 -05:00
Jeff Mitchell 6d59ac1eda Update synopsis for Connect command so it doesn't wrap on most terminals 2020-11-02 09:45:33 -05:00
Jeff Mitchell e2e4631929 Add ability to set public cluster address (#761) 2020-10-30 16:54:53 -04:00
Jeff Mitchell f063b8601c Fix IPv4-only check when no port is specified (#752)
We have behavior that causes "0.0.0.0" to only listen on IPv4, however,
it also assumed there was a port suffixed. This changes it so that it
also works with a port-less address.
2020-10-27 10:43:50 -04:00
Jeff Mitchell 813d21565f Allow authorize-session to be invoked with target name (#737) 2020-10-22 08:40:00 -04:00
Jeff Mitchell 09b865ab28 Add pass cred storage support (#731)
* Add `pass` cred storage support

Make it the default on non-Windows/macOS

Document the token storage behavior
2020-10-21 09:00:17 -04:00
Jim 547ae7c802 Fix database init when locale isn't english (#736)
* use IsMissingTableError(error)

* update changelog
2020-10-20 21:13:01 -04:00
Jeff Mitchell 1f48d97327 Support for Unix domain socket listeners (#705)
The client already supports protocol-agnostic transport so handles
unix:/// schemes.
2020-10-16 13:45:47 -04:00
Jeff Mitchell 97e8613eb7 Fix hyphenation of resource subcommand output (#689)
* Fix hyphenation of resource subcommand output

Fixes #686
2020-10-15 19:29:33 -04:00
Jeff Mitchell f454fa9ef2 Don't return error code 1 if saving the value to the keyring (#668) 2020-10-13 17:13:31 -04:00
Sam Salisbury bcfd9d038f version command: fix version string (#662) 2020-10-13 12:21:45 -07:00
Jeff Mitchell ef16b6177c Update configuration docs (#661)
* Update configuration docs

* Fix public addr example
2020-10-13 12:21:09 -07:00
Jeff Mitchell f7bd5e18f9 Fix spacing for scope output in account command 2020-10-13 11:49:50 -04:00
Jeff Mitchell 437f874d44 Fix spacing before Attributes when printing auth method 2020-10-13 11:08:10 -04:00
Jeff Mitchell 868a65ac3d Don't show "Version v" on startup if empty (#653)
We'll still show the SHA in this case
2020-10-13 10:47:14 -04:00
Jeff Mitchell 95404b2a56 Separate out protocol-specific functions (#610)
Placing them into separate files slims down the main connect file and
makes it more obvious where things need to be handled for future
integrations.
2020-10-10 16:12:04 -04:00
Jeff Mitchell a982fc9437 Remove proxy proto documentation for now (#606)
We haven't tested it with the new lib yet. We can add this back whenever
we get to testing it.
2020-10-10 13:42:04 -04:00
Jeff Mitchell 603b0582d7 Fix CLI help output and make more consistent (#605) 2020-10-09 20:26:48 -04:00
Jeff Mitchell bd271b707d Add version command (#604) 2020-10-09 19:35:04 -04:00
Jeff Mitchell 4833fbba23 Simplify worker->controller connection (#601)
Go's TLS stack doesn't need a separate CA cert and in fact for sessions
we don't use this. So simplify the worker connection to remove an
unnecessary extra key generation.
2020-10-09 16:49:36 -04:00
Todd Knight abe5e9b950 Add Termination Reason (#573) 2020-10-07 21:37:30 -04:00
Jeff Mitchell ae3a9e32cf Remove proxy command
You can now use -authz-token in `boundary connect` which also allows
using the connect subcommands when you already have a token.
2020-10-07 21:30:44 -04:00
Jeff Mitchell 1cb66c69e7 Add workaround to allow autocomplete install/uninstall via a normal command (#576) 2020-10-07 20:42:45 -04:00
Todd Knight 83314b7750 Accounts can update login-name. Fix help text for subtype resource update and creates. (#575) 2020-10-07 16:33:04 -07:00
Jeff Mitchell 0be34df6cd Minor typo fix 2020-10-07 11:32:10 -04:00
Todd Knight 6c6fb7a4d0 Format errors better for CLI (#552)
* Start making errors easier to read for Table based CLI UI.

* Add TODO about reporting "update_mask" related errors.
2020-10-06 14:08:49 -07:00
Jeff Mitchell 73872c5a7e Switch default RDP client at runtime based on OS, support macOS (#551)
* Add "open" support for RDP

* Use mstsc.exe on Windows and as default as that also works natively via wsl2

* Add flags to not fork
2020-10-06 13:18:31 -04:00
Jeff Mitchell 9f11d12f6d Fix a missing authorize rename 2020-10-05 13:32:37 -04:00
Jeff Mitchell 9237d6f787 Rename authorize to authorize-session (#531)
As pointed out by Rob, this makes it clearer what the action actually
is. We were sort of torn on it before, but I've definitely come around
to it.
2020-10-05 11:02:23 -04:00
Jeff Mitchell f8a2100603 Add various env vars to CLI (#528)
* Add auth method ID env var

* Add env var for host catalogs
2020-10-02 19:20:30 -04:00