Skip to content

Add optional AWS web identity token for the worker - #39

Merged
MarceloRGonc merged 3 commits into
mg/OPS-4456from
mg/OPS-4267
Sep 16, 2026
Merged

MarceloRGonc merged 3 commits into
mg/OPS-4456from
mg/OPS-4267

Conversation

@MarceloRGonc

@MarceloRGonc MarceloRGonc commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Part of OPS-4267

Projects a Kubernetes service account token into the worker pod so it can
exchange it for AWS credentials, the way IRSA does on EKS. The cluster's OIDC
issuer signs the token and AWS verifies it, so nothing secret is stored.

Off by default, and only the worker gets it -- connection validation runs in
the engine and the blocks run there too, so the app has no need of it.

Pair with OPS_AWS_WEB_IDENTITY_TOKEN_FILE and OPS_AWS_FEDERATION_ROLE_ARN in
openopsEnv (openops-cloud/openops#2504). Leave disabled on EKS, where IRSA
injects its own token and the AWS SDK finds it unaided.

Part of OPS-4267.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@linear

linear Bot commented Sep 16, 2026

Copy link
Copy Markdown

OPS-4267

MarceloRGonc and others added 2 commits September 16, 2026 10:30
The projected serviceAccountToken source is self-describing; values.yaml
documents the feature for chart users.

Part of OPS-4267.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The mount path and OPS_AWS_WEB_IDENTITY_TOKEN_FILE had to be kept in agreement
by hand, in two different repos. Changing the mount left the app reading a path
that no longer existed, surfacing as an ENOENT inside a credential provider
rather than as the misconfiguration it was.

The chart now emits the variable from mountPath, so the two cannot disagree.
Values files supply only the role ARN. Placed before the openopsEnv block, so
an explicit override still wins.

Part of OPS-4267.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@MarceloRGonc
MarceloRGonc merged commit df841b2 into mg/OPS-4456 Sep 16, 2026
4 of 5 checks passed
@MarceloRGonc
MarceloRGonc deleted the mg/OPS-4267 branch September 16, 2026 11:42

This branch was successfully deployed

1 active deployment
release — edea3851 Deployed Sep 16, 2026 by MarceloRGonc via Package and publish Helm chart #52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants