Adds skillhub.storage.s3.disable-chunked-encoding (env:
SKILLHUB_STORAGE_S3_DISABLE_CHUNKED_ENCODING, default false) so
operators can turn off aws-chunked encoding when the S3 backend is
Aliyun OSS, which rejects it with 'InvalidArgument: aws-chunked
encoding is not supported'.
Closes#365
When access-key / secret-key are left blank, fall back to the AWS
DefaultCredentialsProvider chain so that deployments on EC2, ECS,
and EKS can authenticate via instance profile, task role, or IRSA
without static credentials.
- Extract buildCredentialsProvider() in S3StorageService
- Add sts dependency for Web Identity Token (EKS) support
- Add unit tests for credential provider selection
- Update storage-spi docs (zh + en) and env example
* fix(storage): defer S3 bucket verification until first access
* test(storage): cover deferred S3 bucket verification
* fix(runtime): widen backend container healthcheck window
* fix(runtime): widen backend container healthcheck window
* fix(test): use ddl-auto=create to prevent cross-context table drops
Multiple @SpringBootTest classes with different @MockBean configs
cause separate Spring contexts sharing the same H2 in-memory database.
With create-drop, one context's shutdown drops tables needed by another,
causing "Table not found (this database is empty)" errors.
* fix(test): widen awaitIndexedDocument timeout to 15s
CI runners are resource-constrained and async search indexing may not
complete within the previous 5-second window, causing flaky failures.
- add shared package safety policy for path normalization and size limits
- stream zip extraction for cli check and publish flows to reject traversal and oversized entries
- confine local storage keys to the configured base path and add regression coverage