Skip to content

Document S3 environment credential resolution - #207

Open
fffinkel wants to merge 1 commit into
DependencyTrack:mainfrom
fffinkel:s3-ambient-aws-credentials
Open

Document S3 environment credential resolution#207
fffinkel wants to merge 1 commit into
DependencyTrack:mainfrom
fffinkel:s3-ambient-aws-credentials

Conversation

@fffinkel

@fffinkel fffinkel commented Aug 3, 2026

Copy link
Copy Markdown

What changed

The S3 provider section of docs/reference/configuration/file-storage.md showed static credentials as the only option:

dt.file-storage.s3.access-key=<access-key>
dt.file-storage.s3.secret-key=<secret-key>

Nothing told an AWS reader that omitting both properties makes the api server resolve credentials from its environment. This adds an "Authentication" subsection describing both credential modes, the resolution order, when resolution happens, and the fact that EKS Pod Identity is not supported.

Depends on

This documents behavior introduced by DependencyTrack/dependency-track#6851, which is not merged yet. Please do not merge this before that change lands, or the page will describe behavior the api server does not have.

Additional details

properties.md is deliberately untouched. The api server change also edits application.properties, so the generated property descriptions for dt.file-storage.s3.access-key and dt.file-storage.s3.secret-key are now stale. Per AGENTS.md I did not hand-edit a generated file, and the Update config docs workflow regenerates it once the api server change merges. Say the word if you would rather I run make generate-config-docs and include the result here.

Diataxis. This is a reference page, so the new section only describes. The reasoning for the change, and the argument for preferring roles over long-lived keys, is deliberately left out. That belongs in Concepts, or in the follow-up section of ADR-004 in the api server repo, where I recorded it.

Pod Identity exclusion. Worth stating explicitly rather than leaving readers to infer it from silence. The api server's S3 client does not read the token file the Pod Identity Agent provides, and it rejects the agent's endpoint because that address is not a loopback address.

Verification

  • make lint-markdown reports 0 errors across 106 files.
  • make lint-prose reports 0 errors for this page. Three warnings remain, all on pre-existing lines I did not touch (is selected, multiple, will). The passive-voice warnings my own additions triggered are fixed.
  • make build completes a strict build with no errors, and the new properties.md#... anchor links all resolve.

The S3 provider section only showed static credentials, so there was
no indication that omitting the access key and secret key makes the
api server resolve credentials from its environment instead.

Add an Authentication subsection describing both credential modes,
the resolution order, when resolution happens, and the fact that EKS
Pod Identity is not supported.

Signed-off-by: Matt Finkel <finkel.matt@gmail.com>
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.

1 participant