* fix: return error when listen port already in use
* add err handling for proxy start
* add listen port and DefaultClientPort tests
* add err handling for listen info
* feat: add MySQL command support
* Fix MySQL connection according to review feedback
* Update internal/cmd/commands/connect/mysql.go
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
* Update internal/cmd/commands/connect/mysql.go
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
* Update internal/cmd/commands/connect/mysql.go
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
* feat: add MySQL support to boundary connect
* docs: add MySQL to navigation menu
Fixes content check error by adding mysql.mdx to docs navigation.
MySQL page now appears in Commands > connect section alongside postgres.
* Update testing/internal/e2e/tests/base_plus/target_tcp_connect_mysql_test.go
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
* test: add containerized MySQL connection test for target functionality
* Remove MySQL environment variables from e2e test config
* test: move MySQL e2e test from base_plus to base folder
* Fix MySQL test to support both MySQL and MariaDB clients
* Fix MySQL test to support both MySQL and MariaDB clients
* lint cleanup
* adding error checks
* Make gen
* Test case testing
* Reverting bad comment
* cleaning up extra test file
* Add Mysql to runner (#5893)
* Adding back correct test file
* Removing base plus test file
* Removing base plus test file
* Revert "Removing base plus test file"
This reverts commit ace9cb3e90a028adc1f7c8ef55436ca843abfc15.
* forcing enos docker network name
* Revert "forcing enos docker network name"
This reverts commit 631bdb4a0ef87f5435e06456e8ec0a4573ab3e49.
* changing hosts to looks for sql container
* fix container name
* Adjusting for e2e tests and a bit of cleanup
* missed a commented string
* Bgajjala mysql e2etest v2 (#5900)
* Using Env Vars rather than parsing uri
* Comments fix
* spacing
* Update testing/internal/e2e/tests/base/target_tcp_connect_mysql_test.go
* Spacing
* Update internal/cmd/commands/connect/mysql.go
* adding error checks
* Make gen
* Update testing/internal/e2e/tests/base/target_tcp_connect_mysql_test.go
* Update internal/cmd/commands/connect/mysql.go
* Make gen
* derving target port from uri
* nit
* updating test to use url strings
* nit: spacing
* nit: code organization
* nit: code organization
Co-authored-by: Enbiya Göral
---------
Co-authored-by: Enbiya <menbiyagoral@gmail.com>
Co-authored-by: Enbiya Göral <100806254+enbiyagoral@users.noreply.github.com>
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
Co-authored-by: Ryan Derr <54389874+RyanDerr@users.noreply.github.com>
* internal/clientcache: restore user on login
A user that previously had its last auth token deleted
(for example, if they logged out), should be restored
again when they successfully authenticate again.
* internal/clientcache: delete keyringless expired auth tokens
Previously, we would only correctly delete auth tokens
that were expired (or deleted) if they were also in the
keyring.
* internal/clientcache: remove tautological condition
At this stage we already know that at is non-nil, because
the case above would have been true if it was nil.
* internal/clientcache: improve error handling
The previous error handling would have ignored API errors that were not ErrUnauthorized or ErrNotFound.
Handle all API errors the same as other unexpected errors.
* internal/clientcache: make errors distinct
These two error conditions are otherwise impossible
to tell apart.
* test(e2e): Update search test to catch bug (#5551)
---------
Co-authored-by: Michael Li <michael.li@hashicorp.com>
* test(e2e): Add test to check target's -session-max-seconds
* test(e2e): Add additional test to check new connections are rejected
* test(e2e): Fix test check
* testing/e2e: Use a separate config file for database init
The other config file contains templated parameters, which was causing
errors when loading the config file, even though the values were never
used.
* testing/e2e: add target pagination test
Exercises target pagination both over the CLI and the API. These tests
run in <10s on my machine, though they each involve creating 1000
targets (with current defaults).
---------
Co-authored-by: Michael Li <michael.li@hashicorp.com>
* test(e2e): Add test for LDAP
This adds the infrastructure and a test for an LDAP workflow
* test(e2e): Refactor test packages
This reduces the number of scenarios needed
* CR
* fixup! test(e2e): Add test for LDAP