Support IAM role credentials in slug-media #280

Merged
erik merged 1 commit from feat/task-2339b48c-iam-role-media-credentials into main 2026-08-26 18:57:21 -05:00
Owner

Summary

Allow @evcraddock/slug-media to use the AWS SDK default credential provider chain and regional S3 endpoints while preserving explicit S3-compatible configuration.

Task

task-2339b48c

Changes

  • Make static credential pairs and custom endpoints optional with safe pair validation.
  • Omit credentials and endpoint from AWS SDK configuration when provider-chain mode is selected.
  • Preserve explicit endpoints, credentials, and path-style requests for Garage and compatible providers.
  • Update generated-site readiness, environment guidance, package metadata, and consumer upgrade documentation.
  • Prepare @evcraddock/slug-media@0.1.1 for publication after merge.

Testing

  • Unit and generated-site tests added/updated
  • Package release and pack dry runs
  • ./scripts/pre-pr.sh

Checklist

  • ./scripts/pre-pr.sh passes
  • Documentation updated
  • No credential values exposed
  • No unrelated changes included
## Summary Allow `@evcraddock/slug-media` to use the AWS SDK default credential provider chain and regional S3 endpoints while preserving explicit S3-compatible configuration. ## Task task-2339b48c ## Changes - Make static credential pairs and custom endpoints optional with safe pair validation. - Omit `credentials` and `endpoint` from AWS SDK configuration when provider-chain mode is selected. - Preserve explicit endpoints, credentials, and path-style requests for Garage and compatible providers. - Update generated-site readiness, environment guidance, package metadata, and consumer upgrade documentation. - Prepare `@evcraddock/slug-media@0.1.1` for publication after merge. ## Testing - [x] Unit and generated-site tests added/updated - [x] Package release and pack dry runs - [x] `./scripts/pre-pr.sh` ## Checklist - [x] `./scripts/pre-pr.sh` passes - [x] Documentation updated - [x] No credential values exposed - [x] No unrelated changes included
feat: support IAM role media credentials
All checks were successful
CI / build-lint-test (pull_request) Successful in 2m17s
5816add199
Task: #task-2339b48c
Author
Owner

Review summary

  • Verdict: warnings
  • Scope and quality: The package, generated-site wrappers, tests, version metadata, and documentation align with the task. Configuration errors do not include supplied credential values.
  • Verification: ./scripts/pre-pr.sh passed locally, package release/pack dry runs passed, and Forgejo CI run #461 completed successfully.

Acceptance criteria

  • Met: @evcraddock/slug-media constructs AWS storage without static credentials when a default-chain provider is available.
  • Met: S3Client options omit credentials, and tests resolve credentials through the AWS SDK default provider chain.
  • Met: Explicit credential pairs remain supported for Garage and custom S3-compatible endpoints.
  • Met: Partial credential pairs fail with a clear variable-name-only error and tests verify supplied values are absent from the error.
  • Met: AWS configuration omits the endpoint when a valid region is supplied, leaving regional endpoint resolution to the SDK.
  • Met: Explicit endpoints and configurable path-style requests remain supported.
  • Met: Package and generated-site tests cover credential and endpoint modes.
  • Met: Package, template, environment, and consumer-upgrade documentation explains IAM roles and explicit credentials.
  • [~] Partial: Version 0.1.1 is prepared and passes release dry runs, but npm publication intentionally remains a post-merge action.

Findings

  • Blocking issues: none.
  • Warning: @evcraddock/slug-media@0.1.1 must be published and verified after merge before the task can close.
### Review summary - Verdict: **warnings** - Scope and quality: The package, generated-site wrappers, tests, version metadata, and documentation align with the task. Configuration errors do not include supplied credential values. - Verification: `./scripts/pre-pr.sh` passed locally, package release/pack dry runs passed, and Forgejo CI run #461 completed successfully. ### Acceptance criteria - [x] **Met:** `@evcraddock/slug-media` constructs AWS storage without static credentials when a default-chain provider is available. - [x] **Met:** `S3Client` options omit `credentials`, and tests resolve credentials through the AWS SDK default provider chain. - [x] **Met:** Explicit credential pairs remain supported for Garage and custom S3-compatible endpoints. - [x] **Met:** Partial credential pairs fail with a clear variable-name-only error and tests verify supplied values are absent from the error. - [x] **Met:** AWS configuration omits the endpoint when a valid region is supplied, leaving regional endpoint resolution to the SDK. - [x] **Met:** Explicit endpoints and configurable path-style requests remain supported. - [x] **Met:** Package and generated-site tests cover credential and endpoint modes. - [x] **Met:** Package, template, environment, and consumer-upgrade documentation explains IAM roles and explicit credentials. - [~] **Partial:** Version `0.1.1` is prepared and passes release dry runs, but npm publication intentionally remains a post-merge action. ### Findings - Blocking issues: none. - Warning: `@evcraddock/slug-media@0.1.1` must be published and verified after merge before the task can close.
erik merged commit 6e7d119098 into main 2026-08-26 18:57:21 -05:00
erik deleted branch feat/task-2339b48c-iam-role-media-credentials 2026-08-26 18:57:21 -05:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/slugkit!280
No description provided.