Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workload Identity: workload-identity-jwt #51027

Merged
merged 8 commits into from
Jan 17, 2025

Conversation

strideynet
Copy link
Contributor

@strideynet strideynet commented Jan 14, 2025

Closes #48814

Closes #49986

As per RFD191: #49133

Depends on #50859

Adds the final new service, workload-identity-jwt. No change-log as this will be published when the feature flag is removed.

  - type: workload-identity-jwt
    destination:
      type: directory
      path: /Users/noah/code/gravitational/teleport-scratch/tbot-new-workload-id/jwt-svid-out
    selector:
      name: workload-identity
    audiences:
      - boing
      - bash

@strideynet strideynet force-pushed the strideynet/tbot-workload-api-new-ux branch from 65cd987 to b426d09 Compare January 15, 2025 14:06
@strideynet strideynet force-pushed the strideynet/tbot-workload-identity-jwt-output branch from 2e13610 to 11507a7 Compare January 15, 2025 15:05
@strideynet strideynet added no-changelog Indicates that a PR does not require a changelog entry backport/branch/v16 backport/branch/v17 labels Jan 16, 2025
@strideynet strideynet marked this pull request as ready for review January 16, 2025 14:18
Copy link
Contributor

@timothyb89 timothyb89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Working well on my machine, and the JWTs decode as expected:

$ tbot start workload-identity-jwt --join-method=token --token=foo --proxy-server=example.teleport.sh:443 --name-selector my-workload-identity --storage=./tbot-storage --destination=./tbot-user --audience=foo --audience="bar" --oneshot; cat ./tbot-user/jwt_svid | jwt decode -
[...snip...]
Token claims
------------
{
  "aud": [
    "foo",
    "bar"
  ],
  "exp": 1737087066,
  "iat": 1737083466,
  "iss": "https://example.teleport.sh/workload-identity",
  "jti": "b0d215ad510516abefd057889a6420a9",
  "sub": "spiffe://example.teleport.sh/my/awesome/identity"
}

lib/tbot/cli/start_workload_identity_jwt.go Outdated Show resolved Hide resolved
Base automatically changed from strideynet/tbot-workload-api-new-ux to master January 17, 2025 11:02
@strideynet strideynet force-pushed the strideynet/tbot-workload-identity-jwt-output branch from 3828eaa to f8d8ab4 Compare January 17, 2025 11:16
@strideynet strideynet enabled auto-merge January 17, 2025 11:32
@strideynet strideynet added this pull request to the merge queue Jan 17, 2025
Merged via the queue into master with commit d887f90 Jan 17, 2025
44 checks passed
@strideynet strideynet deleted the strideynet/tbot-workload-identity-jwt-output branch January 17, 2025 11:55
@public-teleport-github-review-bot

@strideynet See the table below for backport results.

Branch Result
branch/v16 Failed
branch/v17 Create PR

strideynet added a commit that referenced this pull request Jan 17, 2025
* Add config.WorkloadIdentityJWTService

* Add tsests for WorkloadIdentityJWTService

* Add CLI setup for `workload-identity-jwt` svc

* Start work on svc implementation

* Add TestBotWorkloadIdentityJWT

* Correct log message

* Firm up TestBotWorkloadIdentityX509 test

* Fix param names in errors
github-merge-queue bot pushed a commit that referenced this pull request Jan 17, 2025
* Workload Identity: `workload-identity-jwt` (#51027)

* Add config.WorkloadIdentityJWTService

* Add tsests for WorkloadIdentityJWTService

* Add CLI setup for `workload-identity-jwt` svc

* Start work on svc implementation

* Add TestBotWorkloadIdentityJWT

* Correct log message

* Firm up TestBotWorkloadIdentityX509 test

* Fix param names in errors

* Fix jitter in backport
mvbrock pushed a commit that referenced this pull request Jan 18, 2025
* Add config.WorkloadIdentityJWTService

* Add tsests for WorkloadIdentityJWTService

* Add CLI setup for `workload-identity-jwt` svc

* Start work on svc implementation

* Add TestBotWorkloadIdentityJWT

* Correct log message

* Firm up TestBotWorkloadIdentityX509 test

* Fix param names in errors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants