Skip to content

Conversation

@timothyb89
Copy link
Contributor

@timothyb89 timothyb89 commented Nov 26, 2025

Backport of #61130 to branch/v18

Re-tested this branch against CircleCI:

Legacy Server New Server
Legacy Client n/a
New Client

  • Port circleci join method to new join service

This ports the circleci join method to the new join service. The circleci package has been moved to lib/join with minimal changes, and a small compatibility shim has been added to reuse the same verification logic between the legacy and new entrypoints.

See also: RFD 27e

  • Fix imports

  • Whitelist circleci in the new joinclient

  • SSRF-harden issuerURL and remove unnecessary clock

  • Remove unnecessary circleci validator wrapper funciton

  • Move redefined errMockInvalid to spacelift for now

  • Fix issuerURL plumbing for tests

The change to remove template strings to harden against SSRF broke tests that depended on this functionality. This reintroduces a non-templated issuerURL, and leaves it to callers to call IssuerURL().

  • Don't export issuerURL

* Port `circleci` join method to new join service

This ports the `circleci` join method to the new join service. The
`circleci` package has been moved to `lib/join` with minimal changes,
and a small compatibility shim has been added to reuse the same
verification logic between the legacy and new entrypoints.

See also: [RFD 27e](https://github.com/gravitational/teleport.e/blob/master/rfd/0027e-auth-assigned-uuids.md)

* Fix imports

* Whitelist circleci in the new joinclient

* SSRF-harden issuerURL and remove unnecessary clock

* Remove unnecessary circleci validator wrapper funciton

* Move redefined errMockInvalid to spacelift for now

* Fix issuerURL plumbing for tests

The change to remove template strings to harden against SSRF broke
tests that depended on this functionality. This reintroduces a
non-templated issuerURL, and leaves it to callers to call
`IssuerURL()`.

* Don't export issuerURL
@timothyb89 timothyb89 added the no-changelog Indicates that a PR does not require a changelog entry label Nov 26, 2025
@timothyb89 timothyb89 changed the title Port circleci join method to new join service (#61130) [v18] Port circleci join method to new join service (#61130) Nov 26, 2025
@timothyb89 timothyb89 marked this pull request as ready for review November 26, 2025 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport no-changelog Indicates that a PR does not require a changelog entry size/md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants