Skip to content

fix(provisioner): nest allowDirectSystemCredentials under storageSystemCredentials.aws#591

Merged
fuziontech merged 1 commit into
mainfrom
lakekeeper-system-creds-correct-path
May 20, 2026
Merged

fix(provisioner): nest allowDirectSystemCredentials under storageSystemCredentials.aws#591
fuziontech merged 1 commit into
mainfrom
lakekeeper-system-creds-correct-path

Conversation

@fuziontech
Copy link
Copy Markdown
Member

What

Corrects #590, which set the flag at the wrong path. The operator CRD nests the AWS credential flags under .aws (gated by enableAWS):

spec.server.storageSystemCredentials.aws.allowDirectSystemCredentials

#590 set spec.server.storageSystemCredentials.allowDirectSystemCredentials (no .aws). The API server prunes that as an unknown field, so #590 was effectively a no-op — the System identity credentials are disabled error would have persisted after its rebuild.

How found

Proactive audit of our warehouse storage-profile + CR server config against the operator CRD (StorageSystemCredentialsConfigAWSConfig) and Lakekeeper's S3-STS docs, to catch remaining required fields in one pass instead of one rebuild at a time.

Fix

spec.server.storageSystemCredentials:
  enableAWS: true
  aws:
    allowDirectSystemCredentials: true     # use Pod Identity creds for S3
    assumeRoleRequireExternalID: false     # same-account self-assume; no external-id needed

assumeRoleRequireExternalID: false is set explicitly to preempt the next blocker — we send no external-id in the storage-credential, so requiring one would fail the warehouse-create.

Build + -tags kubernetes provisioner tests green. Needs a CP rebuild.

🤖 Generated with Claude Code

…emCredentials.aws

#590 set spec.server.storageSystemCredentials.allowDirectSystemCredentials,
but the operator CRD nests the AWS flags under .aws (gated by enableAWS):
spec.server.storageSystemCredentials.aws.allowDirectSystemCredentials. The
wrong-path field is pruned by the API server as unknown, so #590 was a no-op
and the "System identity credentials are disabled" error would persist.

Found by auditing the warehouse storage profile + CR server config against
the operator CRD and Lakekeeper's S3-STS docs.

- enableAWS: true (activates the aws credential block)
- aws.allowDirectSystemCredentials: true (use Pod Identity creds for S3)
- aws.assumeRoleRequireExternalID: false (same-account self-assume needs no
  external id — preempts the next blocker, since we send no external-id in
  the storage-credential)

Build + provisioner tests green. Needs a CP rebuild to take effect.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@fuziontech fuziontech merged commit 067afcb into main May 20, 2026
22 checks passed
@fuziontech fuziontech deleted the lakekeeper-system-creds-correct-path branch May 20, 2026 21:42
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