2.3 KiB
2.3 KiB
adapter:outbound:objectstorage — module rules
Registered identity
- Module ID:
adapter-outbound-objectstorage - Gradle path:
:adapter:outbound:objectstorage - Focused test:
./gradlew :adapter:outbound:objectstorage:test --console=plain - Runtime baseline: Java 21; repository framework baseline: Spring Boot 4.0.0.
- Registry SSOT:
src/config/architecture/modules.json.
Package root: dev.caskeleton.adapter.outbound.objectstorage. Design rationale and truthful
readiness live in README.md and
docs/registries/object-storage-readiness.yaml.
Responsibility
- Implement application-core semantic object publication, read, retirement, and operation resolution ports behind provider-neutral bounded streaming and strict durable control records.
- Compile disabled-by-default
app.object-storagesettings into exact immutable provider/destination/route/policy bindings before constructing selected resources. - Provide
filesystem-local-devas an R1-only development provider. - Keep scanner maintenance, privileged purge, and direct-grant composition separate; unsupported capabilities contribute no bean.
- Isolate the deprecated whole-
byte[]ObjectStoragePortand oldca-skeleton.objectstorage.*alias as explicit migration-only behavior.
Allowed
- Project dependencies are exactly those allowed by the
adapter-outbound-objectstorageentry insrc/config/architecture/modules.json; currently application-core and shared-contract. - Provider SDK/configuration types stay within this leaf.
- Provider contributions may describe support without side effects and may construct resources only after exact selection.
Forbidden
- Inbound adapters, sibling outbound adapters, persistence, app-bootstrap, or sample-portfolio dependencies.
- Provider keys, paths, locators, SDK types, Spring types, or control-record types leaking into application-core.
- A default provider/destination/namespace, local-dev in production, or startup mutation when the capability is disabled.
- Normal routing types implementing scanner maintenance or privileged purge ports.
- Claims above the exact rows in
docs/registries/object-storage-readiness.yaml. - Adapting new semantic operations back to legacy caller-keyed overwrite semantics.
Test
cd src
./gradlew :adapter:outbound:objectstorage:check --console=plain