* refactor (kms): add GetWrapperer for RewrapFn parameter
* tests (kms): add MockWrapper and MockGetWrapperer
Make it a bit easier to write unhappy path tests which depend on
a Wrapper or GetWrapperer
* Add Enos CI bootstrapping scenarios
* Add GitHub Actions workflow for CI bootstrapping
* Add service quotas limit increase request to Enos CI bootstrapping
* Onboard boundary to use new .release/VERSION file and reproducible actions-go-build
* Added automatic patch version bumps to end of release pipeline
* Added back VersionMetadata to internal directory
* Moved VERSION file to version/
* Update to current version
* Using prepare workflow for pre-stable channel workflow
* Test prepare workflow
* PR feedback: allow builds to run builds locally without setting BIN_PATH
* PR feedback: revert Enos changes
* PR Feedback
* Remove current branch from ci pipeline
* Run make fmt
Migration numbers need to be consistent between version upgrades.
The migrations for the key lifecycle management were merged
into v0.11.1 as number 56, but are currently 58 in main.
This reorders them down to 56, fixing an issue when
migrating from 0.11.1 to main.
* refact(e2e): Move cleanup steps into each test
The migration test needed to create some resources, but doesn't care about cleaning up because the test would take care of spinning down the docker container that it's using. To maintain flexibility going forward, we'll establish that tests are responsible for cleaning up (rather than the methods they use)
* refact(e2e): Use new env var for skip check
Currently, the e2e tests use the E2E_PASSWORD_AUTH_METHOD_ID environment variable to determine if the test should be skipped. However, the new migration test does not require a pre-existing boundary cluster and would not have this environment variable. As a result, we needed an alternative way to check if an e2e test should be skipped when running tests in ci.
* refact(e2e): Create more common boundary methods
* fix(e2e): Set to string value
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
* add custom ResponseWriter struct to inject custom response headers based on status code
* docs
* upgrade listenerutil
* fix config tests
* replace all instances of "data:*" with "data:" to reflect changes to listenerutil
* swapping strings.HasPrefix in favor of mux.Handler for ui request matching
* set ui path as const
* add custom response headers to changelog
* [SPE-6] Boundary vs. other software
* Minor edit for word choice
* Update navigation
* Change redundant word in nav
* Fix broken links
* Add anchor link
* Copy edits
* Nest navigation for What is Boundary? section
* Apply batch suggestions from code review
Co-authored-by: Adam Bouhmad <adbouhmad@gmail.com>
* Update intro sentence with new wording
* Split sections out into topics
* changes title of Introduction -> Overview to What is Boundary?
* adds redirects for use-cases and what-is-boundary
Co-authored-by: Adam Bouhmad <adbouhmad@gmail.com>
Co-authored-by: stellarsquall <stellarsquall@protonmail.ch>
* fix(worker): Verify contents of loaded session (#2629)
* fix(worker): Verify contents of loaded session
Previously, it was possible for an empty private key to be used
when the session had no user or project associated with it.
The new checks guarantee that we will fail gracefully in these
cases.
* Check against len instead of nil
* Add CHANGELOG
* fix(session): Always invoke all parts of session cancel trigger
The session cancelation trigger would not set the key_id to null
appropriately if another one of the fields on the session was
already null, since that case statement would be matched first.
The new structure matches all statements, in case any of them have
special logic (such as in the project case).