Skip to content

Commit

Permalink
backport of commit f295c45
Browse files Browse the repository at this point in the history
  • Loading branch information
dannyjknights authored Oct 9, 2024
1 parent a0a21f8 commit 431b8de
Show file tree
Hide file tree
Showing 224 changed files with 12,801 additions and 4,581 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:
repository: boundary
version: ${{ needs.set-product-version.outputs.product-version }}
product: ${{ env.PKG_NAME }}
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: metadata.json
path: ${{ steps.generate-metadata-file.outputs.filepath }}
Expand Down Expand Up @@ -279,12 +279,12 @@ jobs:
echo "RPM_PACKAGE=$(basename out/*.rpm)" >> "$GITHUB_ENV"
echo "DEB_PACKAGE=$(basename out/*.deb)" >> "$GITHUB_ENV"
- name: Upload RPM package
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: ${{ env.RPM_PACKAGE }}
path: out/${{ env.RPM_PACKAGE }}
- name: Upload DEB package
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: ${{ env.DEB_PACKAGE }}
path: out/${{ env.DEB_PACKAGE }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/enos-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ jobs:
SCENARIO=$(echo "${{ matrix.filter }}" | cut -d' ' -f1)
echo fragment="${SCENARIO}" >> "$GITHUB_OUTPUT"
- name: Upload e2e tests output
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: test-${{ steps.split.outputs.fragment }}
path: enos/*.log
Expand All @@ -279,7 +279,7 @@ jobs:
docker logs database
- name: Upload e2e UI tests debug info
if: contains(matrix.filter, 'e2e_ui') && steps.run.outcome == 'failure'
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: test-e2e-ui-debug
path: enos/support/src/boundary-ui/ui/admin/tests/e2e/artifacts/test-failures
Expand All @@ -292,7 +292,7 @@ jobs:
enos scenario launch --timeout 60m0s --chdir ./enos ${{ matrix.filter }}
- name: Upload Debug Data
if: ${{ always() && steps.run_retry.outcome == 'failure' }}
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
# The name of the artifact is the same as the matrix scenario name with the spaces replaced with underscores and colons replaced by equals.
name: ${{ steps.prepare_scenario.outputs.debug_data_artifact_name }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
run: go test ./internal/perms -fuzz=FuzzParse -fuzztime=30s
- name: Upload fuzz failure seed corpus as run artifact
if: failure()
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: fuzz-corpus
path: ./internal/perms/testdata/fuzz
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/security-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ on:
jobs:
scan:
runs-on: ${{ fromJSON(vars.RUNNER_LARGE) }}
if: ${{ github.actor != 'dependabot[bot]' || github.actor != 'hc-github-team-secure-boundary' }}
if: |
! github.event.pull_request.head.repo.fork &&
github.actor != 'dependabot[bot]' &&
github.actor != 'hc-github-team-secure-boundary'
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

Expand Down Expand Up @@ -76,7 +79,7 @@ jobs:
repository: "$PWD"

- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@0e346f2c4a1b999b44f1ef93fe08bdb83dae63ab # codeql-bundle-v2.18.1
uses: github/codeql-action/upload-sarif@5c02493ebfd65b28fd3b082c65e5af2cd745d91f # codeql-bundle-v2.18.2
with:
sarif_file: results.sarif

138 changes: 107 additions & 31 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,107 @@

Canonical reference for changes, improvements, and bugfixes for Boundary.

## 0.17.0 (2024/07/17)
## Next

## 0.17.2 (2024/09/25)

### Changes

* The Go API properly uses the passed in value for `WithRecursive` and
`WithSkipCurlOutput` instead of always setting to true regardless of the
passed-in value. ([PR](https://github.com/hashicorp/boundary/pull/5066))

## 0.17.1 (2024/08/21)

### New and Improved

* SBC (Storage Bucket Credential): This release introduces, SBC, a resource that represents credentials for
authentication and authorization with an external object store. There are two SBC types, managed secret and environmental.
([PR](https://github.com/hashicorp/boundary/pull/4933)), ([PR](https://github.com/hashicorp/boundary-plugin-minio/pull/18)) and ([PR](https://github.com/hashicorp/boundary-plugin-aws/pull/46))
* SBC State: This release introduces, SBC State, which represents the ability for a worker to perform a specific action
using the storage bucket. SBC permission types (write, read, & delete) represent an action that is required for the
storage bucket to do as a routine task on an external object store. Each permission type has a permission state
(ok, error, unknown).
* SBC Worker Filtering: For protocol aware workers that require interaction with an external storage service, the
workers will be filtered by the SBC state depending on the action and permission required.
* ui: Add multiple grant scope support for roles ([PR](https://github.com/hashicorp/boundary-ui/pull/2388))
* ui: Add API tags support for workers and improve worker filtering for targets ([PR](https://github.com/hashicorp/boundary-ui/pull/2393))
* Add `GetDownstreamWorkersTimeout` config option which represents the period of
time (as a duration) timeout for GetDownstreamWorkers call in
DownstreamWorkerTicker. This is currently not documented and considered
internal. ([PR](https://github.com/hashicorp/boundary/pull/5007))

### Bug Fixes

* Fixed issue where storage policies were not deleted when scopes are deleted
([PR](https://github.com/hashicorp/boundary/pull/5014))
* Contains Bug Fixes from 0.16.3

### Security

* Contains Security Fixes from 0.16.3

## 0.16.3 (2024/08/21)

### New and Improved

* Add `GetDownstreamWorkersTimeout` config option which represents the period of
time (as a duration) timeout for GetDownstreamWorkers call in
DownstreamWorkerTicker. This is currently not documented and considered
internal. ([PR](https://github.com/hashicorp/boundary/pull/5007))

### Bug Fixes

* Minio large file support: Disable multipart uploads via minio to fix an issue
where the file checksum is set incorrectly on each part of the upload, causing
it to fail. This change fixes file uploads larger than 16MB and limits upload
sizes to 5GB. ([PR](https://github.com/hashicorp/boundary/pull/5013)) and
([PR](https://github.com/hashicorp/boundary-plugin-minio/pull/21))
* Resolved an issue where session authorization was returning a `401` if the
alias is non-existent or the alias does not resolve to anything. A `404`
status code is now returned.
([PR](https://github.com/hashicorp/boundary/pull/5006)))

### Security

* curl (enterprise): The curl binary is no longer included in the published
Docker container images for Boundary Enterprise to address the CVE-2024-7264
vulnerability.
[CVE-2024-7264](https://github.com/advisories/GHSA-97c4-2w4v-c7r8)

## 0.17.0 (2024/07/17)

### New and Improved

* SBC (Storage Bucket Credential): This release introduces, SBC, a resource that
represents credentials for authentication and authorization with an external
object store. There are two SBC types, managed secret and environmental.
([PR](https://github.com/hashicorp/boundary/pull/4933)),
([PR](https://github.com/hashicorp/boundary-plugin-minio/pull/18)) and
([PR](https://github.com/hashicorp/boundary-plugin-aws/pull/46))
* SBC State: This release introduces, SBC State, which represents the ability
for a worker to perform a specific action using the storage bucket. SBC
permission types (write, read, & delete) represent an action that is required
for the storage bucket to do as a routine task on an external object store.
Each permission type has a permission state (ok, error, unknown).
* SBC Worker Filtering: For protocol aware workers that require interaction
with an external storage service, the workers will be filtered by the SBC
state depending on the action and permission required.
* ui: Add multiple grant scope support for roles
([PR](https://github.com/hashicorp/boundary-ui/pull/2388))
* ui: Add API tags support for workers and improve worker filtering for targets
([PR](https://github.com/hashicorp/boundary-ui/pull/2393))

## 0.16.2 (2024/06/10)

### New and Improved

* Updated Minio plugin to allow for potential use with other S3-compatible storage providers.
([PR](https://github.com/hashicorp/boundary-plugin-minio/pull/16)) and ([PR](https://github.com/hashicorp/boundary-plugin-minio/pull/17))
* Updated Minio plugin to allow for potential use with other S3-compatible
storage providers.
([PR](https://github.com/hashicorp/boundary-plugin-minio/pull/16)) and
([PR](https://github.com/hashicorp/boundary-plugin-minio/pull/17))

### Bug Fixes
* Fixed a bug where a worker credential rotation request suceeded on the controller but the response to the worker was lost.
This resulted in the controller using a separate set of credentials than the worker, causing the worker to be unable to connect
to the controller. The fix implements the new nodeenrollment library NodeIdLoader interface, which ensures that on store,
if worker NodeInformation has a previous key set, the worker will check and correct its stored credential set to match.
LodeNodeInformation was also updated to fix a bug where in this split credential scenario, the current credential key was
assumed to be the incoming worker key, which caused the wrong key information to be populated for the key id.

* Fixed a bug where a worker credential rotation request suceeded on the
controller but the response to the worker was lost. This resulted in the
controller using a separate set of credentials than the worker, causing the
worker to be unable to connect to the controller. The fix implements the new
nodeenrollment library NodeIdLoader interface, which ensures that on store, if
worker NodeInformation has a previous key set, the worker will check and correct
its stored credential set to match. LodeNodeInformation was also updated to fix
a bug where in this split credential scenario, the current credential key was
assumed to be the incoming worker key, which caused the wrong key information to
be populated for the key id.
([PR](https://github.com/hashicorp/boundary/pull/4870))

### New and Improved
Expand Down Expand Up @@ -94,17 +163,24 @@ assumed to be the incoming worker key, which caused the wrong key information to

### New and Improved

* Target aliases have been added: You can now create an alias for a target.
In most situations where you would use a target id, you can now instead use
the alias value. Create an alias with
`boundary aliases create target -value example.boundary -destination-id ttcp_1234567890`
and connect to a target using an alias using `boundary connect example.boundary`
* Worker local storage state: Self managed workers that are configured to be used for
session recordings will report the state of the its disk space. To learn more about this
new feature, refer to the [documentation](http://developer.hashicorp.com/boundary/docs/configuration/session-recording/create-storage-bucket#local-storage).
* MinIO storage plugin: You can now create a storage bucket that allows Boundary to interoperate
with a MinIO cluster for Session Recording storage. This includes some added functionality such
as credential rotation and credential management. To learn more about the plugin, refer to the [readme](https://github.com/hashicorp/boundary-plugin-minio?tab=readme-ov-file#minio-plugin-for-hashicorp-boundary). *Note:* Due to a library incompatibility, this release is not yet compatible with the `netbsd` operating system. Please refer to the following [documentation](http://developer.hashicorp.com/boundary/docs/configuration/session-recording/create-storage-bucket) to learn how to create a storage bucket.
* Target aliases have been added: You can now create an alias for a target. In
most situations where you would use a target id, you can now instead use the
alias value. Create an alias with `boundary aliases create target -value
example.boundary -destination-id ttcp_1234567890` and connect to a target
using an alias using `boundary connect example.boundary`
* Worker local storage state: Self managed workers that are configured to be
used for session recordings will report the state of the its disk space. To
learn more about this new feature, refer to the
[documentation](http://developer.hashicorp.com/boundary/docs/configuration/session-recording/create-storage-bucket#local-storage).
* MinIO storage plugin: You can now create a storage bucket that allows Boundary
to interoperate with a MinIO cluster for Session Recording storage. This
includes some added functionality such as credential rotation and credential
management. To learn more about the plugin, refer to the
[readme](https://github.com/hashicorp/boundary-plugin-minio?tab=readme-ov-file#minio-plugin-for-hashicorp-boundary).
*Note:* Due to a library incompatibility, this release is not yet compatible
with the `netbsd` operating system. Please refer to the following
[documentation](http://developer.hashicorp.com/boundary/docs/configuration/session-recording/create-storage-bucket)
to learn how to create a storage bucket.
* ui: Add UI support for filtering and pagination
([PR](https://github.com/hashicorp/boundary-ui/pull/2237))
* ui: Add UI support for MinIO (Enterprise and HCP Boundary only)
Expand Down
Loading

0 comments on commit 431b8de

Please sign in to comment.