feat: add OIDC workload identity federation to secret provider plugins#636
feat: add OIDC workload identity federation to secret provider plugins#636theoephraim wants to merge 2 commits intomainfrom
Conversation
…r plugins Enable deployed environments (Vercel, GitHub Actions, Fly.io, GCP Cloud Run, GitLab CI) to authenticate with secret providers using short-lived OIDC tokens instead of long-lived credentials. Adds a shared OIDC token acquisition utility that auto-detects the deployment platform, and integrates OIDC as an auth option in 6 plugins: AWS (STS AssumeRoleWithWebIdentity), Azure (federated credential), GCP (Workload Identity Federation), HashiCorp Vault (JWT auth), Infisical (OIDC machine identity), and Akeyless (OIDC access type). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Add a shared OIDC guide at guides/oidc.mdx covering platform setup (Vercel, GitHub Actions, GitLab CI, Fly.io, GCP Cloud Run) and provider-specific configuration for all 6 supported plugins. Update each plugin README with OIDC auth section, updated auth priority order, and new parameter documentation. All READMEs link to the shared guide for platform-side setup details. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
varlock-website | 346c87e | Commit Preview URL Branch Preview URL |
Apr 21 2026, 06:05 AM |
| # @initAws(region=us-east-1, oidcRoleArn="arn:aws:iam::123:role/my-role", oidcToken=$MY_OIDC_TOKEN) | ||
| ``` | ||
|
|
||
| ## Plugin-specific setup |
There was a problem hiding this comment.
do we need this repetition from each of the plugins? Maybe we just have a rolled up list and link out the their respective OIDC sections?
Summary
packages/utils/src/oidc-tokens.ts) that auto-detects 5 deployment platforms (Vercel, GitHub Actions, GitLab CI, Fly.io, GCP Cloud Run)AssumeRoleWithWebIdentityvia newoidcRoleArnparamtenantId+clientIdprovided withoutclientSecretworkloadIdentityProviderparamjwtRoleparamidentityIdparam (alternative to Universal Auth)oidcAccessIdparamoidcTokenparam for custom OIDC providersThis enables deployed environments to authenticate with secret providers using short-lived OIDC tokens instead of long-lived credentials — no secrets needed to fetch secrets.
Test plan
bun run lint:fix)id-token: writepermission🤖 Generated with Claude Code