The keycloak project ended with four open questions that design could not
settle. A two-VM lab was built to answer them by measurement, and this is
that material: 26 experiments, 125 raw command outputs, 22 browser captures.
Follows the import procedure in README.md.
source/ the originating repository verbatim — 78 documents, 28 SVGs,
8 manifests, plus .source-revision recording the commit
final/ the SSOT
document.md 729 lines written from the 29 experiment documents, not
concatenated: what was predicted, what was measured, and
where the measurement itself was wrong
evidence/raw 125 outputs, flattened to <experiment>__<file> because
the originals collided (01-baseline.txt appeared three
times) and the audit only globs the top level
evidence/meta one per raw file; command and exitCode are null and the
README says why rather than inventing them
evidence/browser 22 captures
assets/ three diagrams through techviz
.techviz/ their VizSpecs
A separate project rather than an addition to keycloak: the B-layer answers
that project's four questions, but the A, C and D layers are about cluster
failure, SSO and operations, and one document.md should hold one subject.
The four question records there can point here through 관계.
Recorded rather than papered over: only three of the 28 diagrams were
remade. The repository forbids hand-drawn SVG and forbids titles inside the
canvas; all 28 originals carry both, so converting them is redrawing, not
reformatting. They stay in source/ and the gap is written into the document.
verify-pipeline.py passes. audit-records.py reports no issues.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
287 lines
20 KiB
Plaintext
287 lines
20 KiB
Plaintext
Scope adapter-outbound-objectstorage - module inventory and denominator
|
|
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
generatedAt=2026-08-30T02:35:56+00:00
|
|
|
|
total tracked: 206
|
|
|
|
$ git ls-files 'adapter/outbound/objectstorage' | sed "s|^adapter/outbound/objectstorage/||" | awk -F/ '{print $1}' | sort | uniq -c | sort -rn
|
|
202 src
|
|
1 gradle.lockfile
|
|
1 build.gradle
|
|
1 README.md
|
|
1 CLAUDE.md
|
|
exit=0
|
|
|
|
$ git ls-files 'adapter/outbound/objectstorage/src' | sed "s|^adapter/outbound/objectstorage/src/||" | awk -F/ '{print $1}' | sort | uniq -c | sort -rn
|
|
147 main
|
|
49 test
|
|
2 objectStorageMinioFaultTest
|
|
2 objectStorageMinioContractTest
|
|
2 objectStorageAwsQualificationTest
|
|
exit=0
|
|
|
|
=== per source set ===
|
|
main: java=147 loc=14336 nonjava=0
|
|
objectStorageAwsQualificationTest: java=2 loc=51 nonjava=0
|
|
objectStorageMinioContractTest: java=2 loc=316 nonjava=0
|
|
objectStorageMinioFaultTest: java=2 loc=179 nonjava=0
|
|
test: java=48 loc=6753 nonjava=1
|
|
|
|
=== package map (main) ===
|
|
$ git ls-files 'adapter/outbound/objectstorage/src/main' | grep '\.java$' | sed 's|.*/java/||;s|/[^/]*\.java$||' | sort | uniq -c | sort -rn
|
|
26 dev/caskeleton/adapter/outbound/objectstorage/s3
|
|
24 dev/caskeleton/adapter/outbound/objectstorage/control
|
|
23 dev/caskeleton/adapter/outbound/objectstorage/kernel
|
|
19 dev/caskeleton/adapter/outbound/objectstorage/config
|
|
13 dev/caskeleton/adapter/outbound/objectstorage/direct
|
|
8 dev/caskeleton/adapter/outbound/objectstorage/readiness
|
|
8 dev/caskeleton/adapter/outbound/objectstorage/maintenance
|
|
7 dev/caskeleton/adapter/outbound/objectstorage/codec
|
|
6 dev/caskeleton/adapter/outbound/objectstorage/filesystem
|
|
5 dev/caskeleton/adapter/outbound/objectstorage/multipart
|
|
4 dev/caskeleton/adapter/outbound/objectstorage/provider
|
|
4 dev/caskeleton/adapter/outbound/objectstorage
|
|
exit=0
|
|
|
|
=== package map (test) ===
|
|
--- objectStorageAwsQualificationTest
|
|
2 dev/caskeleton/adapter/outbound/objectstorage/qualification
|
|
--- objectStorageMinioContractTest
|
|
2 dev/caskeleton/adapter/outbound/objectstorage/qualification
|
|
--- objectStorageMinioFaultTest
|
|
2 dev/caskeleton/adapter/outbound/objectstorage/qualification
|
|
--- test
|
|
14 dev/caskeleton/adapter/outbound/objectstorage/s3
|
|
7 dev/caskeleton/adapter/outbound/objectstorage/kernel
|
|
6 dev/caskeleton/adapter/outbound/objectstorage
|
|
5 dev/caskeleton/adapter/outbound/objectstorage/direct
|
|
5 dev/caskeleton/adapter/outbound/objectstorage/config
|
|
2 dev/caskeleton/adapter/outbound/objectstorage/multipart
|
|
2 dev/caskeleton/adapter/outbound/objectstorage/maintenance
|
|
2 dev/caskeleton/adapter/outbound/objectstorage/filesystem
|
|
2 dev/caskeleton/adapter/outbound/objectstorage/codec
|
|
1 dev/caskeleton/adapter/outbound/objectstorage/readiness
|
|
1 dev/caskeleton/adapter/outbound/objectstorage/control
|
|
1 dev/caskeleton/adapter/outbound/objectstorage/contract
|
|
|
|
$ git ls-files 'adapter/outbound/objectstorage' | grep -v '\.java$'
|
|
adapter/outbound/objectstorage/CLAUDE.md
|
|
adapter/outbound/objectstorage/README.md
|
|
adapter/outbound/objectstorage/build.gradle
|
|
adapter/outbound/objectstorage/gradle.lockfile
|
|
adapter/outbound/objectstorage/src/test/resources/object-storage/minio-provider-evidence.json
|
|
exit=0
|
|
|
|
=== main files by size ===
|
|
$ git ls-files 'adapter/outbound/objectstorage/src/main' | grep '\.java$' | xargs wc -l | sort -rn | head -40
|
|
14336 total
|
|
898 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/control/CanonicalJsonObjectControlRecordCodec.java
|
|
523 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/config/RoutingObjectMutationAdapter.java
|
|
509 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/direct/DirectMultipartCoordinator.java
|
|
416 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/kernel/StagedObjectPublicationKernel.java
|
|
367 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ClientPolicy.java
|
|
361 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ProviderBinding.java
|
|
342 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3AsyncResponseBodyBridge.java
|
|
335 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/direct/DirectTransferCoordinator.java
|
|
324 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3DirectMultipartProvider.java
|
|
281 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ManagedMultipartProvider.java
|
|
279 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ConditionalObjectControlStore.java
|
|
276 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/config/ObjectStorageBindingCompiler.java
|
|
270 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3AsyncRequestBodyBridge.java
|
|
213 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ManagedObjectProvider.java
|
|
210 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/control/ObjectOperationRecord.java
|
|
198 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/control/ObjectDirectMultipartSessionRecord.java
|
|
193 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/filesystem/LocalObjectStreamTransfer.java
|
|
190 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ObjectStorageProviderContribution.java
|
|
188 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/filesystem/LocalDevObjectDataStore.java
|
|
188 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/control/ObjectPublicationHandoffRecord.java
|
|
180 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/control/ObjectStagedObjectRecord.java
|
|
172 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/codec/ObjectControlKeyCodec.java
|
|
171 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/kernel/ObjectPublicationHandoffService.java
|
|
169 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/maintenance/LegacyAdoptionApprovalCodec.java
|
|
166 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/direct/DirectTransferSessionRecord.java
|
|
164 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/config/ObjectStorageCapabilityConfig.java
|
|
158 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/filesystem/LocalObjectPathGuard.java
|
|
150 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/kernel/ObjectOperationEpochRecord.java
|
|
147 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/config/RoutingObjectScanMaintenanceAdapter.java
|
|
147 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/config/RoutingObjectReadAdapter.java
|
|
144 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3DirectTransferProvider.java
|
|
144 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/control/CanonicalJsonReader.java
|
|
142 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/kernel/ObjectOperationStateMachine.java
|
|
132 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/config/ObjectStorageCapabilityAssembler.java
|
|
132 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/codec/ObjectRequestFingerprintCodec.java
|
|
129 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/S3ObjectStorageAdapter.java
|
|
127 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/kernel/ObjectOperationKernel.java
|
|
122 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/maintenance/LegacyObjectAdoptionService.java
|
|
120 adapter/outbound/objectstorage/src/main/java/dev/caskeleton/adapter/outbound/objectstorage/direct/DirectTransferPolicy.java
|
|
exit=0
|
|
|
|
=== test files by size ===
|
|
$ git ls-files 'adapter/outbound/objectstorage/src' | grep '\.java$' | grep -v '/main/' | xargs wc -l | sort -rn | head -30
|
|
7299 total
|
|
480 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/config/ObjectStorageCapabilityConfigTest.java
|
|
468 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ProviderBindingTest.java
|
|
339 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/control/ObjectControlRecordCodecTest.java
|
|
327 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/direct/DirectMultipartCoordinatorTest.java
|
|
291 adapter/outbound/objectstorage/src/objectStorageMinioContractTest/java/dev/caskeleton/adapter/outbound/objectstorage/qualification/MinioManagedObjectContractTest.java
|
|
255 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ManagedObjectProviderTest.java
|
|
251 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/direct/DirectTransferCoordinatorTest.java
|
|
247 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/contract/ObjectStorageProviderContract.java
|
|
197 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ProviderCompositionTest.java
|
|
196 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/readiness/ObjectStorageReadinessRegistryTest.java
|
|
179 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3AsyncClientFactoryTest.java
|
|
178 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/multipart/ManagedMultipartCoordinatorTest.java
|
|
177 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/codec/ObjectRequestFingerprintCodecTest.java
|
|
172 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ConditionalObjectControlStoreTest.java
|
|
167 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/config/ObjectStorageBindingCompilerTest.java
|
|
165 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3AsyncRequestBodyBridgeTest.java
|
|
154 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/config/RoutingObjectStorageAdapterTest.java
|
|
153 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/filesystem/LocalDevObjectStorageRecoveryTest.java
|
|
151 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ObjectOperationResolverTest.java
|
|
147 adapter/outbound/objectstorage/src/objectStorageMinioFaultTest/java/dev/caskeleton/adapter/outbound/objectstorage/qualification/MinioManagedObjectFaultTest.java
|
|
145 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/maintenance/LegacyAdoptionApprovalVerifierTest.java
|
|
134 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3ManagedMultipartProviderTest.java
|
|
133 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3AsyncResponseBodyBridgeTest.java
|
|
130 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/kernel/ObjectMutationResponseLossTest.java
|
|
124 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/kernel/ObjectOperationKernelTest.java
|
|
123 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3DirectTransferProviderTest.java
|
|
116 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/codec/ObjectNamespaceCodecTest.java
|
|
115 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/s3/S3SdkApiCharacterizationTest.java
|
|
109 adapter/outbound/objectstorage/src/test/java/dev/caskeleton/adapter/outbound/objectstorage/maintenance/LegacyObjectAdoptionServiceTest.java
|
|
exit=0
|
|
|
|
=== registry + consumers ===
|
|
$ python3 -c "
|
|
import json;d=json.load(open('config/architecture/modules.json'))
|
|
def f(o):
|
|
if isinstance(o,dict):
|
|
if o.get('id','')=='adapter-outbound-objectstorage': return o
|
|
for v in o.values():
|
|
r=f(v)
|
|
if r: return r
|
|
elif isinstance(o,list):
|
|
for v in o:
|
|
r=f(v)
|
|
if r: return r
|
|
print(json.dumps(f(d), ensure_ascii=False, indent=2))
|
|
"
|
|
{
|
|
"id": "adapter-outbound-objectstorage",
|
|
"gradle_path": ":adapter:outbound:objectstorage",
|
|
"source_path": "src/adapter/outbound/objectstorage",
|
|
"allowed_dependencies": [
|
|
"application-core",
|
|
"shared-contract"
|
|
],
|
|
"runtime_memberships": [
|
|
"sample-portfolio"
|
|
]
|
|
}
|
|
exit=0
|
|
|
|
$ git grep -rn ':adapter:outbound:objectstorage' -- . | grep -v "^adapter/outbound/objectstorage/" | head
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/ContractRegistrySchemaGovernanceTest.java:208: "# Semantic owner Gradle path: :adapter:outbound:objectstorage:test",
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/ContractRegistrySchemaGovernanceTest.java:219: .replace("# Semantic owner Gradle path: :adapter:outbound:objectstorage:test\n", "");
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/ContractRegistrySchemaGovernanceTest.java:228: # Semantic owner Gradle path: :adapter:outbound:objectstorage:test
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/ContractRegistrySchemaGovernanceTest.java:326: + "# Semantic owner Gradle path: :adapter:outbound:objectstorage:test\n";
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/RegistryGovernanceCatalog.java:32: "# Semantic owner Gradle path: :adapter:outbound:objectstorage:test");
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/RegistryGovernanceCatalog.java:230: if (!":adapter:outbound:objectstorage:test".equals(definition.ownerGradlePath())
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/RegistryGovernanceCatalog.java:260: ":adapter:outbound:objectstorage:test",
|
|
config/architecture/modules.json:103: "gradle_path": ":adapter:outbound:objectstorage",
|
|
sample-portfolio/build.gradle:41: runtimeOnly project(':adapter:outbound:objectstorage')
|
|
exit=0
|
|
|
|
$ git grep -rln 'dev.caskeleton.adapter.outbound.objectstorage' -- . | grep -v "^adapter/outbound/objectstorage/" | head -20
|
|
app-bootstrap/src/main/java/dev/caskeleton/bootstrap/CaSkeletonApplication.java
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/ContractRegistrySchemaGovernanceTest.java
|
|
app-bootstrap/src/test/java/dev/caskeleton/bootstrap/contract/RegistryGovernanceCatalog.java
|
|
exit=0
|
|
|
|
$ cat adapter/outbound/objectstorage/build.gradle
|
|
// Driven adapter: provider-neutral semantic object-storage ports plus a bounded local-development
|
|
// provider. Canonical app.object-storage activation is disabled by default. The old whole-byte[]
|
|
// filesystem/S3 adapters remain isolated, explicit legacy compatibility only.
|
|
//
|
|
// software.amazon.awssdk:* versions are NOT managed by the Spring Boot BOM, and this repo has no
|
|
// version catalog, so the AWS SDK v2 BOM platform is imported HERE (module scope) using the root
|
|
// `ext.awsSdkVersion` SSOT — this keeps the strict-locking blast radius to this module (the shared
|
|
// root dependencyManagement block stays awssdk-free), mirroring the grpc module's grpc-bom import.
|
|
description = 'Outbound adapter: object storage (S3/MinIO + local filesystem)'
|
|
|
|
|
|
strictTestLanes {
|
|
sourceSet('objectStorageMinioContractTest') { compilesAgainst 'main', 'test' }
|
|
sourceSet('objectStorageMinioFaultTest') { compilesAgainst 'main', 'test' }
|
|
sourceSet('objectStorageAwsQualificationTest') { compilesAgainst 'main', 'test' }
|
|
}
|
|
|
|
dependencyManagement {
|
|
imports {
|
|
mavenBom "software.amazon.awssdk:bom:${awsSdkVersion}"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':application-core')
|
|
implementation project(':shared-contract')
|
|
|
|
implementation 'org.springframework.boot:spring-boot-autoconfigure'
|
|
implementation 'org.slf4j:slf4j-api'
|
|
implementation 'software.amazon.awssdk:s3'
|
|
implementation 'software.amazon.awssdk:netty-nio-client'
|
|
|
|
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
|
|
|
|
// test-only: Testcontainers MinIO integration test for the S3 backend. Uses the core
|
|
// GenericContainer (no dedicated module) so the S3 round-trip runs against a real MinIO when
|
|
// Docker is available and is skipped (disabledWithoutDocker) otherwise.
|
|
testImplementation 'org.testcontainers:testcontainers'
|
|
testImplementation 'org.testcontainers:testcontainers-junit-jupiter'
|
|
testImplementation 'org.testcontainers:testcontainers-toxiproxy'
|
|
testImplementation 'com.tngtech.archunit:archunit-junit5:1.3.0'
|
|
testImplementation 'net.jqwik:jqwik:1.9.1'
|
|
}
|
|
|
|
def objectStorageReadinessRegistry = rootProject.projectDir.parentFile.toPath()
|
|
.resolve('docs/registries/object-storage-readiness.yaml').toFile()
|
|
tasks.named('test') {
|
|
inputs.file(objectStorageReadinessRegistry)
|
|
.withPathSensitivity(PathSensitivity.RELATIVE)
|
|
systemProperty 'objectstorage.readiness.registry', objectStorageReadinessRegistry.absolutePath
|
|
}
|
|
|
|
def objectStorageMinioContractQualification = registerStrictQualificationTest(
|
|
name: 'objectStorageMinioContractTest',
|
|
sourceSet: sourceSets.objectStorageMinioContractTest,
|
|
requiredClasses: [
|
|
'dev.caskeleton.adapter.outbound.objectstorage.qualification.MinioDirectTransferContractTest',
|
|
'dev.caskeleton.adapter.outbound.objectstorage.qualification.MinioManagedObjectContractTest'
|
|
],
|
|
description: 'Runs the non-skipping exact-release MinIO managed object contract.')
|
|
objectStorageMinioContractQualification.configure {
|
|
shouldRunAfter tasks.named('test')
|
|
}
|
|
|
|
def objectStorageMinioFaultQualification = registerStrictQualificationTest(
|
|
name: 'objectStorageMinioFaultTest',
|
|
sourceSet: sourceSets.objectStorageMinioFaultTest,
|
|
requiredClasses: [
|
|
'dev.caskeleton.adapter.outbound.objectstorage.qualification.MinioDirectTransferFaultTest',
|
|
'dev.caskeleton.adapter.outbound.objectstorage.qualification.MinioManagedObjectFaultTest'
|
|
],
|
|
description: 'Runs the non-skipping digest-pinned MinIO/Toxiproxy fault contract.')
|
|
objectStorageMinioFaultQualification.configure {
|
|
shouldRunAfter objectStorageMinioContractQualification
|
|
}
|
|
|
|
registerStrictQualificationTest(
|
|
name: 'objectStorageAwsQualificationTest',
|
|
sourceSet: sourceSets.objectStorageAwsQualificationTest,
|
|
requiredClasses: [
|
|
'dev.caskeleton.adapter.outbound.objectstorage.qualification.AwsS3DirectTransferQualificationTest',
|
|
'dev.caskeleton.adapter.outbound.objectstorage.qualification.AwsS3ManagedCommonSubsetQualificationTest'
|
|
],
|
|
description: 'Runs only with explicit protected AWS sandbox authority and exact inputs.')
|
|
exit=0
|
|
|