Allow buildkite-agent
to run a job when JWK is unavailable but failure behaviour is set to warn
#2945
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.
Context
Recently, while working on an agent migration plan, I noticed that the agent without JWK configuration is not compatible with an agent with JWK, even when the failure behaviour is set to
warn
.Because the agent that started with the JWK configuration adds a job signature to the pipeline's job when it uploads, a requested job can fail if it lands on the agent that doesn't have a JWK key configuration.
Changes
This PR updates a job runner not to reject a signed job when JWK is not configured and
verification-failure-behaviour
is set towarn
. It also adds a new error,SignalReasonUnableToVerifySignature
, to the job runner so the misconfiguration can be monitored.Testing
go test ./...
). Buildkite employees may check this if the pipeline has run automatically.go fmt ./...
)