Fix flaky TestDisposeStaleCryptoKeys caused by mock clock ticker handling - #7128
Merged
sorindumitru merged 2 commits intoJul 15, 2026
Merged
Conversation
…ling Signed-off-by: Agustín Martínez Fayó <amartinezfayo@gmail.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR stabilizes TestDisposeStaleCryptoKeys in the gcp_kms key manager plugin tests by making mock-clock/ticker synchronization deterministic, avoiding races and intermediate-time observations that could previously lead to hangs/timeouts.
Changes:
- Make test CryptoKeys already stale by setting
spire-last-updateolder thanmaxStaleDuration. - Drain the dispose task “initialized” notification before advancing the mock clock, fixing the ticker baseline race.
- Advance the mock clock exactly one ticker period at a time and remove the now-unneeded
maxDurationhelper.
Signed-off-by: Agustín Martínez Fayó <amartinezfayo@gmail.com>
amartinezfayo
marked this pull request as ready for review
July 8, 2026 14:57
amartinezfayo
requested review from
MarcosDY,
evan2645,
rturner3 and
sorindumitru
as code owners
July 8, 2026 14:57
sorindumitru
approved these changes
Jul 15, 2026
zzzz465
added a commit
to pubg/spire
that referenced
this pull request
Sep 2, 2026
* GORM migration: Move common code to a new package (#7114)
* Create a sqlcommon with shared funcions/structs between gormv1 and gormv2
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* PR changes
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* rename connstring.go to sqlite_connectionstring.go I do this way because build sqlite.go is //go:build cgo (it needs mattn/go-sqlite3 for the constraint check), but EmbellishSQLite3ConnString is cgo-independent and its test is untagged, so it must compile in both modes.
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
---------
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* Move JWTSVIDCache outside of the LRUCache (#7125)
* Move JWTSVIDCache outside of the LRUCache
There's no particular reason to keep these together and it makes it a bit weirder if we want to use the LRU cache for different SVID types (i.e. X509 and WIT)
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Use rlock/runlock
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* add tests for countjwtsvids
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
---------
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* feat: aws_iid support sourcing verify_organization account list from a file (#7092)
* feat: aws_iid support sourcing verify_organization account list from a file
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* feat: aws_iid support sourcing verify_organization account list from a file
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* feat: aws_iid support sourcing verify_organization account list from a file
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* feat: aws_iid support sourcing verify_organization account list from a file
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* feat: aws_iid support sourcing verify_organization account list from a file
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* handle pr review comments
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* handle pr review comments
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* address review comment
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* retrigger checks
Signed-off-by: Shubham Hibare <shubham@hibare.in>
---------
Signed-off-by: Shubham Hibare <shubham@hibare.in>
* build(deps): bump the minor-and-patch group with 12 updates (#7129)
Bumps the minor-and-patch group with 12 updates:
| Package | From | To |
| --- | --- | --- |
| [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) | `1.62.2` | `1.63.0` |
| [github.com/GoogleCloudPlatform/cloudsql-proxy](https://github.com/GoogleCloudPlatform/cloudsql-proxy) | `1.38.0` | `1.38.1` |
| [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) | `1.67.0` | `1.68.0` |
| [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.308.0` | `1.310.0` |
| [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) | `1.87.0` | `1.88.0` |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go) | `1.27.2` | `1.27.3` |
| [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) | `1.17.1` | `1.18.1` |
| [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) | `0.12.0` | `0.13.0` |
| [golang.org/x/sys](https://github.com/golang/sys) | `0.46.0` | `0.47.0` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.286.0` | `0.287.0` |
| [google.golang.org/genproto/googleapis/rpc](https://github.com/googleapis/go-genproto) | `0.0.0-20260610212136-7ab31c22f7ad` | `0.0.0-20260622175928-b703f567277d` |
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.81.1` | `1.82.0` |
Updates `cloud.google.com/go/storage` from 1.62.2 to 1.63.0
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/storage/v1.62.2...compute/v1.63.0)
Updates `github.com/GoogleCloudPlatform/cloudsql-proxy` from 1.38.0 to 1.38.1
- [Release notes](https://github.com/GoogleCloudPlatform/cloudsql-proxy/releases)
- [Changelog](https://github.com/GoogleCloudPlatform/cloud-sql-proxy/blob/v1.38.1/CHANGELOG.md)
- [Commits](https://github.com/GoogleCloudPlatform/cloudsql-proxy/compare/v1.38.0...v1.38.1)
Updates `github.com/aws/aws-sdk-go-v2/service/autoscaling` from 1.67.0 to 1.68.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.67.0...service/s3/v1.68.0)
Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.308.0 to 1.310.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.308.0...service/ec2/v1.310.0)
Updates `github.com/aws/aws-sdk-go-v2/service/eks` from 1.87.0 to 1.88.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.87.0...service/s3/v1.88.0)
Updates `github.com/aws/smithy-go` from 1.27.2 to 1.27.3
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/smithy-go/compare/v1.27.2...v1.27.3)
Updates `github.com/open-policy-agent/opa` from 1.17.1 to 1.18.1
- [Release notes](https://github.com/open-policy-agent/opa/releases)
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.17.1...v1.18.1)
Updates `github.com/pires/go-proxyproto` from 0.12.0 to 0.13.0
- [Release notes](https://github.com/pires/go-proxyproto/releases)
- [Commits](https://github.com/pires/go-proxyproto/compare/v0.12.0...v0.13.0)
Updates `golang.org/x/sys` from 0.46.0 to 0.47.0
- [Commits](https://github.com/golang/sys/compare/v0.46.0...v0.47.0)
Updates `google.golang.org/api` from 0.286.0 to 0.287.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.286.0...v0.287.0)
Updates `google.golang.org/genproto/googleapis/rpc` from 0.0.0-20260610212136-7ab31c22f7ad to 0.0.0-20260622175928-b703f567277d
- [Commits](https://github.com/googleapis/go-genproto/commits)
Updates `google.golang.org/grpc` from 1.81.1 to 1.82.0
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.81.1...v1.82.0)
---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
dependency-version: 1.63.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/GoogleCloudPlatform/cloudsql-proxy
dependency-version: 1.38.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
dependency-version: 1.68.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
dependency-version: 1.310.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/eks
dependency-version: 1.88.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/smithy-go
dependency-version: 1.27.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: github.com/open-policy-agent/opa
dependency-version: 1.18.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/pires/go-proxyproto
dependency-version: 0.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: golang.org/x/sys
dependency-version: 0.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: google.golang.org/api
dependency-version: 0.287.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: google.golang.org/genproto/googleapis/rpc
dependency-version: 0.0.0-20260622175928-b703f567277d
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: google.golang.org/grpc
dependency-version: 1.82.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump docker/setup-qemu-action from 4.1.0 to 4.2.0 in the minor-and-patch group (#7126)
build(deps): bump docker/setup-qemu-action in the minor-and-patch group
Bumps the minor-and-patch group with 1 update: [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action).
Updates `docker/setup-qemu-action` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/06116385d9baf250c9f4dcb4858b16962ea869c3...96fe6ef7f33517b61c61be40b68a1882f3264fb8)
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: 4.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Remove TaintJWTSVIDs from store cache (#7131)
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Add a nightly job to update AWS EC2 CAs (#6917)
* Add a parse of the AWS EC2 CA page for generating CA list
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Add nightly job to update list of CAs
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Fix regex to include all certs
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Use force-with-lease
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Add some progress prints
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Use a timeout for the GET request
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Move default cert to a separate file
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Add tests for parsing AWS CAs
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Rename test file
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Actually fix merge conflict
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* review comments
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Adjust 'generated' line
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
---------
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* feat: add namespace labels to k8s workload attestor (#7094)
* feat: add namespace labels to k8s workload attestor
Adds opt-in support for namespace labels as workload selectors.
When enable_namespace_labels is set, the plugin fetches namespace
metadata via the existing controller-runtime kube client and
produces ns-label:<key>:<value> selectors.
Namespace labels are cached for 5 minutes with expired-entry
pruning. If the fetch fails, attestation proceeds without
namespace label selectors.
Fixes #7010
Signed-off-by: Raushan Singh <rausingh@redhat.com>
* + address review comments and lint fixes
Signed-off-by: Raushan Singh <rausingh@redhat.com>
---------
Signed-off-by: Raushan Singh <rausingh@redhat.com>
* build(deps): bump regclient/actions/regctl-installer from 9a2d4216180dbb3e2dccfa60d2dd4afd98e42ec5 to 39bf30ced4be9d147faaabbde2682e9725fb8bd1 (#7127)
build(deps): bump regclient/actions/regctl-installer
Bumps [regclient/actions/regctl-installer](https://github.com/regclient/actions) from 9a2d4216180dbb3e2dccfa60d2dd4afd98e42ec5 to 39bf30ced4be9d147faaabbde2682e9725fb8bd1.
- [Release notes](https://github.com/regclient/actions/releases)
- [Changelog](https://github.com/regclient/actions/blob/main/RELEASE.md)
- [Commits](https://github.com/regclient/actions/compare/9a2d4216180dbb3e2dccfa60d2dd4afd98e42ec5...39bf30ced4be9d147faaabbde2682e9725fb8bd1)
---
updated-dependencies:
- dependency-name: regclient/actions/regctl-installer
dependency-version: 39bf30ced4be9d147faaabbde2682e9725fb8bd1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump SPIRE v1.15.3 (#7137)
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* Fix flaky TestDisposeStaleCryptoKeys caused by mock clock ticker handling (#7128)
* Fix flaky TestDisposeStaleCryptoKeys caused by mock clock ticker handling
Signed-off-by: Agustín Martínez Fayó <amartinezfayo@gmail.com>
* Address review comments
Signed-off-by: Agustín Martínez Fayó <amartinezfayo@gmail.com>
---------
Signed-off-by: Agustín Martínez Fayó <amartinezfayo@gmail.com>
* build(deps): bump the minor-and-patch group with 3 updates (#7144)
Bumps the minor-and-patch group with 3 updates: [docker/login-action](https://github.com/docker/login-action), [actions/setup-go](https://github.com/actions/setup-go) and [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action).
Updates `docker/login-action` from 4.2.0 to 4.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/650006c6eb7dba73a995cc03b0b2d7f5ca915bee...af1e73f918a031802d376d3c8bbc3fe56130a9b0)
Updates `actions/setup-go` from 6.4.0 to 6.5.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6.4.0...924ae3a1cded613372ab5595356fb5720e22ba16)
Updates `docker/setup-buildx-action` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c)
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: actions/setup-go
dependency-version: 6.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: docker/setup-buildx-action
dependency-version: 4.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/checkout from 6.0.2 to 7.0.0 (#7145)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6.0.2...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Introduce flags for disabling Workload and SDS APIs (#7122)
* Introduce flags for disabling Workload and SDS APIs
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* Address review comments
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
---------
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* Wire Broker listeners to healthchecks (#7141)
* Wire Broker listeners to healthchecks
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* Address review comments
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
---------
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* build(deps): bump the minor-and-patch group with 19 updates (#7147)
Bumps the minor-and-patch group with 19 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/service/acmpca](https://github.com/aws/aws-sdk-go-v2) | `1.47.0` | `1.48.0` |
| [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) | `1.68.0` | `1.69.0` |
| [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.310.0` | `1.313.0` |
| [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) | `1.88.0` | `1.89.0` |
| [github.com/aws/aws-sdk-go-v2/service/iam](https://github.com/aws/aws-sdk-go-v2) | `1.54.1` | `1.55.0` |
| [github.com/aws/aws-sdk-go-v2/service/kms](https://github.com/aws/aws-sdk-go-v2) | `1.53.1` | `1.54.0` |
| [github.com/aws/aws-sdk-go-v2/service/organizations](https://github.com/aws/aws-sdk-go-v2) | `1.51.1` | `1.52.0` |
| [github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi](https://github.com/aws/aws-sdk-go-v2) | `1.33.3` | `1.34.0` |
| [github.com/aws/aws-sdk-go-v2/service/rolesanywhere](https://github.com/aws/aws-sdk-go-v2) | `1.23.0` | `1.24.0` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `1.104.0` | `1.105.0` |
| [github.com/aws/aws-sdk-go-v2/service/secretsmanager](https://github.com/aws/aws-sdk-go-v2) | `1.42.0` | `1.43.0` |
| [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) | `1.43.0` | `1.44.0` |
| [github.com/googleapis/gax-go/v2](https://github.com/googleapis/gax-go) | `2.22.0` | `2.23.0` |
| [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) | `1.18.1` | `1.18.2` |
| [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) | `0.13.0` | `0.14.0` |
| [github.com/sigstore/rekor](https://github.com/sigstore/rekor) | `1.5.2` | `1.5.3` |
| [golang.org/x/sync](https://github.com/golang/sync) | `0.21.0` | `0.22.0` |
| [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.287.0` | `0.287.1` |
| [google.golang.org/genproto/googleapis/rpc](https://github.com/googleapis/go-genproto) | `0.0.0-20260622175928-b703f567277d` | `0.0.0-20260630182238-925bb5da69e7` |
Updates `github.com/aws/aws-sdk-go-v2/service/acmpca` from 1.47.0 to 1.48.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.47.0...service/s3/v1.48.0)
Updates `github.com/aws/aws-sdk-go-v2/service/autoscaling` from 1.68.0 to 1.69.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.68.0...service/s3/v1.69.0)
Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.310.0 to 1.313.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.310.0...service/ec2/v1.313.0)
Updates `github.com/aws/aws-sdk-go-v2/service/eks` from 1.88.0 to 1.89.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.88.0...service/s3/v1.89.0)
Updates `github.com/aws/aws-sdk-go-v2/service/iam` from 1.54.1 to 1.55.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.54.1...service/s3/v1.55.0)
Updates `github.com/aws/aws-sdk-go-v2/service/kms` from 1.53.1 to 1.54.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.53.1...service/s3/v1.54.0)
Updates `github.com/aws/aws-sdk-go-v2/service/organizations` from 1.51.1 to 1.52.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.51.1...service/s3/v1.52.0)
Updates `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi` from 1.33.3 to 1.34.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/efs/v1.33.3...v1.34.0)
Updates `github.com/aws/aws-sdk-go-v2/service/rolesanywhere` from 1.23.0 to 1.24.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.23.0...v1.24.0)
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.104.0 to 1.105.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.104.0...service/s3/v1.105.0)
Updates `github.com/aws/aws-sdk-go-v2/service/secretsmanager` from 1.42.0 to 1.43.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.42.0...service/s3/v1.43.0)
Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.43.0...service/s3/v1.44.0)
Updates `github.com/googleapis/gax-go/v2` from 2.22.0 to 2.23.0
- [Release notes](https://github.com/googleapis/gax-go/releases)
- [Commits](https://github.com/googleapis/gax-go/compare/v2.22.0...v2.23.0)
Updates `github.com/open-policy-agent/opa` from 1.18.1 to 1.18.2
- [Release notes](https://github.com/open-policy-agent/opa/releases)
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.18.1...v1.18.2)
Updates `github.com/pires/go-proxyproto` from 0.13.0 to 0.14.0
- [Release notes](https://github.com/pires/go-proxyproto/releases)
- [Commits](https://github.com/pires/go-proxyproto/compare/v0.13.0...v0.14.0)
Updates `github.com/sigstore/rekor` from 1.5.2 to 1.5.3
- [Release notes](https://github.com/sigstore/rekor/releases)
- [Changelog](https://github.com/sigstore/rekor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sigstore/rekor/compare/v1.5.2...v1.5.3)
Updates `golang.org/x/sync` from 0.21.0 to 0.22.0
- [Commits](https://github.com/golang/sync/compare/v0.21.0...v0.22.0)
Updates `google.golang.org/api` from 0.287.0 to 0.287.1
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.287.0...v0.287.1)
Updates `google.golang.org/genproto/googleapis/rpc` from 0.0.0-20260622175928-b703f567277d to 0.0.0-20260630182238-925bb5da69e7
- [Commits](https://github.com/googleapis/go-genproto/commits)
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/acmpca
dependency-version: 1.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
dependency-version: 1.69.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
dependency-version: 1.313.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/eks
dependency-version: 1.89.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/iam
dependency-version: 1.55.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/kms
dependency-version: 1.54.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/organizations
dependency-version: 1.52.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi
dependency-version: 1.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/rolesanywhere
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.105.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/secretsmanager
dependency-version: 1.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
dependency-version: 1.44.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/googleapis/gax-go/v2
dependency-version: 2.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/open-policy-agent/opa
dependency-version: 1.18.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: github.com/pires/go-proxyproto
dependency-version: 0.14.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/sigstore/rekor
dependency-version: 1.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: golang.org/x/sync
dependency-version: 0.22.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: google.golang.org/api
dependency-version: 0.287.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: google.golang.org/genproto/googleapis/rpc
dependency-version: 0.0.0-20260630182238-925bb5da69e7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix unrecognized parameters warnings (#7150)
Signed-off-by: Mario Weigel <mario.weigel@gmail.com>
* GORM migration: extract sqltest suite (#7120)
* Move sqltest to common
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* cleanup
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* resolve some issues
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* PR changes
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* REsolve flaky test on windows
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* Try to resolve failing test
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
---------
Signed-off-by: Marcos Yacob <marcosyacob@gmail.com>
* Introduce `disable_kubelet_client` for k8s workloadattestor (#7142)
* Introduce disable_kubelet_client for k8s workloadattestor
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* Fix linter error
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
---------
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* remove undocumented requirement for gcpkms key_identifier_values to be 36 characters (#7140)
* remove undocumented requirement for gcpkms key_identifier_values to be 36 characters
Signed-off-by: Daniel Schlatter <djschlatt@gmail.com>
* add validation of the gcp kms key name according to the official key name rules
Signed-off-by: Daniel Schlatter <djschlatt@gmail.com>
---------
Signed-off-by: Daniel Schlatter <djschlatt@gmail.com>
* Move the testing functionality out of the main DataStore interface (#7149)
Move thest testing functionality out of the main DataStore interface
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Don't log agent/server crashed on context canceled (#7154)
If you stop the agent/server while starting up you will get a log line 'Agent/Server crashed' even though the error is just context canceled.
There are still a bunch of other errors, but this can be somewhat misleading and might be nice to clean up
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Warn if memory keymanager is used with non-reattestable attestor (#7139)
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
* Added Azure bundle publisher (#7030)
Signed-off-by: Andrew Block <andy.block@gmail.com>
* Introduce flag in `k8s_psat` to use pod UIDs for agent IDs (#7123)
* Introduce flag in k8s_psat to use pod UIDs for agent IDs
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* Address review comments
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
---------
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
* build(deps): bump google.golang.org/grpc from 1.82.0 to 1.82.1 (#7162)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.82.0 to 1.82.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.82.0...v1.82.1)
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.82.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/stale from 10.3.0 to 10.4.0 in the minor-and-patch group (#7156)
build(deps): bump actions/stale in the minor-and-patch group
Bumps the minor-and-patch group with 1 update: [actions/stale](https://github.com/actions/stale).
Updates `actions/stale` from 10.3.0 to 10.4.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899...1e223db275d687790206a7acac4d1a11bd6fe629)
---
updated-dependencies:
- dependency-name: actions/stale
dependency-version: 10.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (#7157)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.5.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/924ae3a1cded613372ab5595356fb5720e22ba16...b7ad1dad31e06c5925ef5d2fc7ad053ef454303e)
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump regclient/actions/regctl-installer from 39bf30ced4be9d147faaabbde2682e9725fb8bd1 to c48159175b58fb90cccd0f98410927a81e04a166 (#7158)
build(deps): bump regclient/actions/regctl-installer
Bumps [regclient/actions/regctl-installer](https://github.com/regclient/actions) from 39bf30ced4be9d147faaabbde2682e9725fb8bd1 to c48159175b58fb90cccd0f98410927a81e04a166.
- [Release notes](https://github.com/regclient/actions/releases)
- [Changelog](https://github.com/regclient/actions/blob/main/RELEASE.md)
- [Commits](https://github.com/regclient/actions/compare/39bf30ced4be9d147faaabbde2682e9725fb8bd1...c48159175b58fb90cccd0f98410927a81e04a166)
---
updated-dependencies:
- dependency-name: regclient/actions/regctl-installer
dependency-version: c48159175b58fb90cccd0f98410927a81e04a166
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* oidc-discovery-provider: soften allow_insecure_scheme warning wording (#7165)
* oidc-discovery-provider: soften allow_insecure_scheme warning wording
Motivation:
allow_insecure_scheme logs a WARN on every startup stating the setting
"must only be used in development environments." This is inaccurate:
terminating TLS at a load balancer or reverse proxy and forwarding
plaintext to the provider over a private network is a legitimate
production topology, not just a dev-only pattern. The wording gave
operators no way to reconcile a correct, trusted-network production
deployment with a message that implies they're doing something wrong.
Approach:
Reword the WARN log message (and the matching README footnotes for
allow_insecure_scheme) to describe the actual safety condition instead
of asserting an environment: only enable this when the network path to
the provider is trusted end-to-end (e.g. TLS terminated at a trusted
reverse proxy or load balancer on a private network). This matches the
wording a SPIRE maintainer (sorindumitru) explicitly agreed to on the
issue. The log stays at WARN level and still fires on every startup
when the setting is enabled; only the message text changes. This is a
wording/documentation clarity fix, not a behavior change.
Validation:
- go build ./support/oidc-discovery-provider/...
- go test ./support/oidc-discovery-provider/... -> ok
Fixes #7155
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
* oidc-discovery-provider: address Copilot review nits on allow_insecure_scheme wording
Drop the trailing period from the startup warning to match this file's
other log messages, and fix the "for example, TLS terminated" fragment
to "for example, when TLS is terminated" in the warning and both README
footnotes.
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
---------
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
* build(deps): bump actions/setup-python from 6.3.0 to 7.0.0 (#7171)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/checkout from 7.0.0 to 7.0.1 in the minor-and-patch group (#7170)
build(deps): bump actions/checkout in the minor-and-patch group
Bumps the minor-and-patch group with 1 update: [actions/checkout](https://github.com/actions/checkout).
Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* k8s suite: replace k8sbundle notifier with k8s_configmap BundlePublisher (#7172)
The k8sbundle Notifier is being deprecated in favor of the k8s_configmap
BundlePublisher, so exercise the BundlePublisher in the k8s integration
suite in place of the Notifier.
The publisher targets the same spire:spire-bundle ConfigMap and bundle.crt
key that SPIRE agents mount to bootstrap trust, using the pem format, so
neither the agent configuration nor the server RBAC needs to change.
Part of #6127
Signed-off-by: samuraiXwandering <301416091+samuraixwandering@users.noreply.github.com>
* Start agent telemetry sinks before node attestation (#7166)
* Start agent telemetry sinks before node attestation
Restores the placement from #6164, which #6812 reverted while adding the
Prometheus TLS identity feature. Only the metrics half was undone; #6164's
health-check half survived via startHealthChecks, which is why an agent stuck
bootstrapping still serves health checks but not its exporter.
git log --oneline -S 'taskRunner.StartTasks(metrics.ListenAndServe)' \
-- pkg/agent/agent.go
9b83deff1 Add SPIRE-backed Prometheus TLS identity and SPIFFE allowlist (#6812)
1328bd896 Fix metrics/health checks when retry_bootstrap=true (#6164)
With metrics.ListenAndServe in the post-newManager task batch, every return
before StartTasks(tasks...) leaves the exporter unbound. That covers the whole
attestation retry loop, which backs off for up to
bootstrapBackoffMaxElapsedTime, or rebootstrapBackoffMaxElapsedTime when
rebootstrapping. Unscrapeable on those paths: spire_agent_started,
spire_agent_uptime, spire_agent_bootstrapped, spire_agent_bootstrap_seconds and
spire_agent_bootstrap_attempts. The InMem sink's signal handler is gated too,
since MetricsImpl.ListenAndServe drives every sink runner's run(), so both
telemetry escape hatches are unavailable in the same window.
The effect is that an agent which never attests successfully is
indistinguishable from one that is not running, which is the situation #6164
set out to fix.
Also synchronizes mgr. Starting the sinks early makes the exporter's handler
goroutines live before newManager assigns mgr, and the GetX509SVID and
GetX509BundleAuthorities callbacks close over it. An interface value is two
words, so an unsynchronized read against that write is a data race, not merely
a torn nil check, and go test -race would flag it for TLS-enabled exporters.
This is not a pre-existing condition #6164 accepted: before #6812 nothing
captured the manager, so the early start carried no race. The two changes only
conflict in combination, which is part of why the revert was easy to miss.
Reads after the assignment stay unlocked, being on the same goroutine as the
write, and nothing else ever writes mgr.
Signed-off-by: Rekha Nidoni <rnidoni@confluent.io>
* Add regression test for telemetry startup ordering
Asserts the exporter is already serving while node attestation is retrying,
which is what #6164 fixed and #6812 silently undid. There was no test covering
the ordering, which is why the revert went unnoticed for ten months.
The test points the agent at a closed port so attestation fails with a
retryable error and Run stays in its backoff loop, then scrapes /metrics and
requires spire_agent_started and spire_agent_bootstrap_attempts to be present.
Insecure bootstrap keeps it free of certificates and bundle files, and a join
token keeps the node attestor out of the catalog, so the only failure exercised
is the dial.
Verified both directions against this branch:
with the fix --- PASS (0.11s)
without the fix --- FAIL (30.08s)
"spire_agent_started" never became scrapeable ... connection refused
The failing case confirms the agent stays alive and retrying the whole time
while nothing is listening, rather than exiting early.
Signed-off-by: Rekha Nidoni <rnidoni@confluent.io>
* Address review: use require.Eventually and bound the scrape timeout
Two changes from Copilot review feedback on the regression test.
Replace the hand-rolled time.Sleep polling loop with require.Eventually, which
is the convention in this repo (15 call sites, e.g. manager_test.go:536). The
shared captures are mutex-guarded rather than relying on require.Eventually's
internal goroutine ordering, so the assertions stay race-free under -race.
Give the scrape an http.Client with a 2s Timeout instead of using http.Get,
which relies on http.DefaultClient and has no timeout. A stalled response now
fails that attempt rather than blocking until the outer deadline, matching the
pattern in pkg/server/endpoints/bundle/server_test.go.
Re-verified both directions after the rewrite:
with the fix --- PASS (0.11s)
without the fix --- FAIL (30.01s), "spire_agent_started" never became scrapeable
go vet and go test -race ./pkg/agent/... ./pkg/common/telemetry/... both clean
(51 ok, 0 races).
Signed-off-by: Rekha Nidoni <rnidoni@confluent.io>
* Fix lint and Windows unit test failures
Three CI failures, all in the new test.
gofmt: the third-party import group was mis-ordered after adding imports.
nolintlint: the `//nolint: gosec` on the scrape became unused once http.Get was
replaced with client.Get in the previous commit, so gosec no longer flags it.
Removed.
unit-test (windows): the test hardcoded the "unix" WorkloadAttestor, which
returns Unimplemented on Windows, so catalog.Load failed and Run returned before
anything could be scraped:
failed to configure plugin "unix": rpc error: code = Unimplemented
desc = plugin not supported in this platform
catalog.Load requires at least one WorkloadAttestor, and unix and windows are
mirror images that each return Unimplemented on the other platform, so the name
is now selected from runtime.GOOS.
Verified: golangci-lint v2.12.2 (the pinned version) reports 0 issues,
GOOS=windows go vet passes, and the red/green pair still holds with the test
cache defeated:
with the fix ok (2.1s)
without the fix --- FAIL (30.00s), "spire_agent_started" never became scrapeable
Signed-off-by: Rekha Nidoni <rnidoni@confluent.io>
* Pair setManager with getManager for the mgr handoff
No behaviour change; makes the locking self-describing. The assignment site was
a bare mgrMu.Lock()/assign/Unlock, which does not explain why the value is
computed into a local first, and reviewers reasonably ask.
The reason is that a.newManager retries Initialize for up to
bootstrapBackoffMaxElapsedTime, or rebootstrapBackoffMaxElapsedTime (24h) when
rebootstrapping. Holding mgrMu across that call would stall every /metrics
scrape for the same period, which would defeat the point of serving metrics
during bootstrap. So the value is computed with no lock held, then published in
one fast locked step.
setManager now mirrors getManager and carries that rationale, and the call site
reads as setManager(newMgr).
mgr is written in exactly one place (inside setManager). Cross-goroutine reads
go through getManager; the reads after publication are on the same goroutine
that published and need no locking, as nothing else writes it.
Verified: golangci-lint v2.12.2 clean, gofmt clean, 51 ok / 0 races, and the
red/green pair still holds (green 2.1s, red --- FAIL 30.00s).
Signed-off-by: Rekha Nidoni <rnidoni@confluent.io>
---------
Signed-off-by: Rekha Nidoni <rnidoni@confluent.io>
* Add trust_bundle_spiffe_workload_api support to the agent (#7148)
* Add trust_bundle_spiffe_workload_api support to the agent
Signed-off-by: Kevin Fox <Kevin.Fox@pnnl.gov>
* Incorperate feedback
Signed-off-by: Kevin Fox <Kevin.Fox@pnnl.gov>
---------
Signed-off-by: Kevin Fox <Kevin.Fox@pnnl.gov>
* integration: replace k8sbundle notifier with k8s_configmap BundlePublisher (#7179)
The k8sbundle Notifier is being deprecated in favor of the k8s_configmap
BundlePublisher, so exercise the BundlePublisher in the integration suites
in place of the Notifier rather than running both alongside each other.
The publisher targets the same spire:spire-bundle ConfigMap and bundle.crt
key the Notifier was writing, using the pem format, so neither the agent
configuration nor the server RBAC needs to change. The suites that deploy
an agent bootstrap trust from that ConfigMap, so they fail if the bundle is
not published correctly. The key-manager-vault and upstream-authority-vault
suites are server only, so the published ConfigMap was checked by hand there.
Covers the k8s-sigstore, broker-api-k8s, key-manager-vault and
upstream-authority-vault suites. The k8s suite was done separately in #7172.
Fixes #6127
Signed-off-by: samuraiXwandering <301416091+samuraixwandering@users.noreply.github.com>
* doc/telemetry: drop empty targets from the two status piecharts (#7178)
The SPIRE Agent GET JWT status and GET x509 status panels each carry a
second target with an empty expr. Grafana still sends it to Prometheus,
which rejects an empty query, so the panels render an error alongside
the real series.
The empty targets on row panels are left alone, rows do not query.
Signed-off-by: Arpit Jain <arpitjain099@gmail.com>
* build(deps): bump github.com/sigstore/sigstore-go from 1.2.0 to 1.2.1 (#7183)
Bumps [github.com/sigstore/sigstore-go](https://github.com/sigstore/sigstore-go) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/sigstore/sigstore-go/releases)
- [Commits](https://github.com/sigstore/sigstore-go/compare/v1.2.0...v1.2.1)
---
updated-dependencies:
- dependency-name: github.com/sigstore/sigstore-go
dependency-version: 1.2.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: fix nightly AWS CA certs push and limit to main repo (#7185)
fetch-depth: 0 so force-with-lease has a tracking ref for
bot/update-aws-ca-certs. Restrict the job to spiffe/spire so
forks do not run the updater.
Fixes #7184
Signed-off-by: samuraiXwandering <301416091+samuraixwandering@users.noreply.github.com>
* build(deps): bump the minor-and-patch group across 1 directory with 34 updates (#7186)
* build(deps): bump the minor-and-patch group across 1 directory with 34 updates
Bumps the minor-and-patch group with 29 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [cloud.google.com/go/iam](https://github.com/googleapis/google-cloud-go) | `1.11.0` | `1.12.0` |
| [cloud.google.com/go/kms](https://github.com/googleapis/google-cloud-go) | `1.31.0` | `1.33.0` |
| [cloud.google.com/go/secretmanager](https://github.com/googleapis/google-cloud-go) | `1.20.0` | `1.21.0` |
| [cloud.google.com/go/security](https://github.com/googleapis/google-cloud-go) | `1.25.0` | `1.26.0` |
| [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) | `1.63.0` | `1.64.0` |
| [github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go) | `1.7.0` | `1.8.0` |
| [github.com/GoogleCloudPlatform/cloudsql-proxy](https://github.com/GoogleCloudPlatform/cloudsql-proxy) | `1.38.1` | `1.38.2` |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.42.1` | `1.43.0` |
| [github.com/aws/aws-sdk-go-v2/service/acmpca](https://github.com/aws/aws-sdk-go-v2) | `1.48.0` | `1.49.0` |
| [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) | `1.69.0` | `1.70.0` |
| [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.313.0` | `1.317.0` |
| [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) | `1.89.0` | `1.90.0` |
| [github.com/aws/aws-sdk-go-v2/service/iam](https://github.com/aws/aws-sdk-go-v2) | `1.55.0` | `1.56.0` |
| [github.com/aws/aws-sdk-go-v2/service/kms](https://github.com/aws/aws-sdk-go-v2) | `1.54.0` | `1.55.0` |
| [github.com/aws/aws-sdk-go-v2/service/organizations](https://github.com/aws/aws-sdk-go-v2) | `1.52.0` | `1.53.0` |
| [github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi](https://github.com/aws/aws-sdk-go-v2) | `1.34.0` | `1.35.0` |
| [github.com/aws/aws-sdk-go-v2/service/rolesanywhere](https://github.com/aws/aws-sdk-go-v2) | `1.24.0` | `1.25.1` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `1.105.0` | `1.106.0` |
| [github.com/aws/aws-sdk-go-v2/service/secretsmanager](https://github.com/aws/aws-sdk-go-v2) | `1.43.0` | `1.44.0` |
| [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) | `1.44.0` | `1.45.0` |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go) | `1.27.3` | `1.27.4` |
| [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) | `1.14.47` | `1.14.48` |
| [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) | `0.14.0` | `0.15.0` |
| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.23.2` | `1.24.1` |
| [github.com/sigstore/cosign/v3](https://github.com/sigstore/cosign) | `3.1.1` | `3.1.2` |
| [github.com/smallstep/pkcs7](https://github.com/smallstep/pkcs7) | `0.2.1` | `0.2.2` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.36.2` | `0.36.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.36.2` | `0.36.3` |
| [k8s.io/kube-aggregator](https://github.com/kubernetes/kube-aggregator) | `0.36.2` | `0.36.3` |
Updates `cloud.google.com/go/iam` from 1.11.0 to 1.12.0
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/dlp/v1.11.0...kms/v1.12.0)
Updates `cloud.google.com/go/kms` from 1.31.0 to 1.33.0
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/kms/v1.31.0...kms/v1.33.0)
Updates `cloud.google.com/go/secretmanager` from 1.20.0 to 1.21.0
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/kms/v1.20.0...run/v1.21.0)
Updates `cloud.google.com/go/security` from 1.25.0 to 1.26.0
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/kms/v1.25.0...kms/v1.26.0)
Updates `cloud.google.com/go/storage` from 1.63.0 to 1.64.0
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/compute/v1.63.0...compute/v1.64.0)
Updates `github.com/Azure/azure-sdk-for-go/sdk/storage/azblob` from 1.7.0 to 1.8.0
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.7.0...sdk/azcore/v1.8.0)
Updates `github.com/GoogleCloudPlatform/cloudsql-proxy` from 1.38.1 to 1.38.2
- [Release notes](https://github.com/GoogleCloudPlatform/cloudsql-proxy/releases)
- [Changelog](https://github.com/GoogleCloudPlatform/cloud-sql-proxy/blob/v1.38.2/CHANGELOG.md)
- [Commits](https://github.com/GoogleCloudPlatform/cloudsql-proxy/compare/v1.38.1...v1.38.2)
Updates `github.com/aws/aws-sdk-go-v2` from 1.42.1 to 1.43.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.42.1...v1.43.0)
Updates `github.com/aws/aws-sdk-go-v2/service/acmpca` from 1.48.0 to 1.49.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.48.0...service/s3/v1.49.0)
Updates `github.com/aws/aws-sdk-go-v2/service/autoscaling` from 1.69.0 to 1.70.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.69.0...service/s3/v1.70.0)
Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.313.0 to 1.317.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.313.0...service/ec2/v1.317.0)
Updates `github.com/aws/aws-sdk-go-v2/service/eks` from 1.89.0 to 1.90.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.89.0...service/s3/v1.90.0)
Updates `github.com/aws/aws-sdk-go-v2/service/iam` from 1.55.0 to 1.56.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.55.0...service/s3/v1.56.0)
Updates `github.com/aws/aws-sdk-go-v2/service/kms` from 1.54.0 to 1.55.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.54.0...service/s3/v1.55.0)
Updates `github.com/aws/aws-sdk-go-v2/service/organizations` from 1.52.0 to 1.53.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.52.0...service/s3/v1.53.0)
Updates `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi` from 1.34.0 to 1.35.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.34.0...v1.35.0)
Updates `github.com/aws/aws-sdk-go-v2/service/rolesanywhere` from 1.24.0 to 1.25.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.24.0...v1.25.1)
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.105.0 to 1.106.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.105.0...service/s3/v1.106.0)
Updates `github.com/aws/aws-sdk-go-v2/service/secretsmanager` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.43.0...service/s3/v1.44.0)
Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.44.0 to 1.45.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.44.0...service/s3/v1.45.0)
Updates `github.com/aws/smithy-go` from 1.27.3 to 1.27.4
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/smithy-go/compare/v1.27.3...v1.27.4)
Updates `github.com/mattn/go-sqlite3` from 1.14.47 to 1.14.48
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.47...v1.14.48)
Updates `github.com/pires/go-proxyproto` from 0.14.0 to 0.15.0
- [Release notes](https://github.com/pires/go-proxyproto/releases)
- [Commits](https://github.com/pires/go-proxyproto/compare/v0.14.0...v0.15.0)
Updates `github.com/prometheus/client_golang` from 1.23.2 to 1.24.1
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.24.1/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.23.2...v1.24.1)
Updates `github.com/sigstore/cosign/v3` from 3.1.1 to 3.1.2
- [Release notes](https://github.com/sigstore/cosign/releases)
- [Changelog](https://github.com/sigstore/cosign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sigstore/cosign/compare/v3.1.1...v3.1.2)
Updates `github.com/smallstep/pkcs7` from 0.2.1 to 0.2.2
- [Release notes](https://github.com/smallstep/pkcs7/releases)
- [Commits](https://github.com/smallstep/pkcs7/compare/v0.2.1...v0.2.2)
Updates `golang.org/x/crypto` from 0.53.0 to 0.54.0
- [Commits](https://github.com/golang/crypto/compare/v0.53.0...v0.54.0)
Updates `golang.org/x/net` from 0.56.0 to 0.57.0
- [Commits](https://github.com/golang/net/compare/v0.56.0...v0.57.0)
Updates `google.golang.org/api` from 0.287.1 to 0.290.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.287.1...v0.290.0)
Updates `google.golang.org/genproto/googleapis/rpc` from 0.0.0-20260630182238-925bb5da69e7 to 0.0.0-20260723215102-3fe39f3c1018
- [Commits](https://github.com/googleapis/go-genproto/commits)
Updates `k8s.io/api` from 0.36.2 to 0.36.3
- [Commits](https://github.com/kubernetes/api/compare/v0.36.2...v0.36.3)
Updates `k8s.io/apimachinery` from 0.36.2 to 0.36.3
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.36.2...v0.36.3)
Updates `k8s.io/client-go` from 0.36.2 to 0.36.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.36.2...v0.36.3)
Updates `k8s.io/kube-aggregator` from 0.36.2 to 0.36.3
- [Commits](https://github.com/kubernetes/kube-aggregator/compare/v0.36.2...v0.36.3)
---
updated-dependencies:
- dependency-name: cloud.google.com/go/iam
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: cloud.google.com/go/kms
dependency-version: 1.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: cloud.google.com/go/secretmanager
dependency-version: 1.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: cloud.google.com/go/security
dependency-version: 1.26.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: cloud.google.com/go/storage
dependency-version: 1.64.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/GoogleCloudPlatform/cloudsql-proxy
dependency-version: 1.38.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2
dependency-version: 1.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/acmpca
dependency-version: 1.49.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
dependency-version: 1.70.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
dependency-version: 1.317.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/eks
dependency-version: 1.90.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/iam
dependency-version: 1.56.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/kms
dependency-version: 1.55.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/organizations
dependency-version: 1.53.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi
dependency-version: 1.35.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/rolesanywhere
dependency-version: 1.25.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.106.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/secretsmanager
dependency-version: 1.44.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
dependency-version: 1.45.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/aws/smithy-go
dependency-version: 1.27.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: github.com/mattn/go-sqlite3
dependency-version: 1.14.48
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: github.com/pires/go-proxyproto
dependency-version: 0.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/prometheus/client_golang
dependency-version: 1.24.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: github.com/sigstore/cosign/v3
dependency-version: 3.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: github.com/smallstep/pkcs7
dependency-version: 0.2.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: golang.org/x/crypto
dependency-version: 0.54.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: golang.org/x/net
dependency-version: 0.57.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: google.golang.org/api
dependency-version: 0.290.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: google.golang.org/genproto/googleapis/rpc
dependency-version: 0.0.0-20260723215102-3fe39f3c1018
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: k8s.io/api
dependency-version: 0.36.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: k8s.io/apimachinery
dependency-version: 0.36.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: k8s.io/client-go
dependency-version: 0.36.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: k8s.io/kube-aggregator
dependency-version: 0.36.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Use non-deprecated API from proxyproto
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sorin Dumitru <sorin@returnze.ro>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sorin Dumitru <sorin@returnze.ro>
* fixes or…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TestDisposeStaleCryptoKeysdrivesdisposeCryptoKeysTaskthrough the mock clock, but its correctness depended on goroutine scheduling in two ways, so it would occasionally hang until the test timed out.disposeCryptoKeysTaskcreates its ticker and only then emits an initialization notification, yet the test advanced the clock before draining that notification. When the task goroutine won the race and created its ticker at the starting time, the ticker's baseline was earlier than the test assumed. The first dispose run then executed while the CryptoKeys were not yet stale, and because the task blocks on the unbuffered notification channel after each run, that non-stale run's notification stalled the single task goroutine before it could reach the run that schedules destruction. The test then waited forever for a destroy notification that never arrived.The test also advanced the clock by many ticker periods at once.
github.com/andres-erbsen/clockadvances its notion of "now" incrementally as it fires each intermediate tick and yields between them, so a multi-period advance fires the ticker while "now" is still at an intermediate value. The dispose run could observe a not-yet-stale clock even though the advance targeted a stale time.This PR makes the handshake deterministic. The test drains the initialization notification before advancing the clock, so the ticker's baseline is fixed. The CryptoKeys start with a last-update timestamp older than
maxStaleDurationso they are already stale, and the clock is advanced exactly one ticker period at a time, which fires the ticker once with the clock already at the advanced time. Stale detection no longer depends on which intermediate clock value the running task happens to observe.This is a follow-up to #7081, which addressed the
Sleep-based retry loops in othergcp_kmstests but not the ticker handshake in this one.An example of a failure is here: https://github.com/spiffe/spire/actions/runs/28537752222/job/84603474025