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>
27 lines
3.8 KiB
Plaintext
27 lines
3.8 KiB
Plaintext
./grpc/grpc-client/src/test/java/dev/caskeleton/grpc/client/GrpcClientMetadataPolicyTest.java:6:import dev.caskeleton.grpc.context.GrpcMetadataBudget;
|
|
./grpc/grpc-client/src/test/java/dev/caskeleton/grpc/client/GrpcClientMetadataPolicyTest.java:33: GrpcMetadataBudget.standard(),
|
|
./grpc/grpc-client/src/test/java/dev/caskeleton/grpc/client/GrpcClientMetadataPolicyTest.java:51: GrpcMetadataBudget.standard(),
|
|
./grpc/grpc-client/src/test/java/dev/caskeleton/grpc/client/GrpcClientMetadataPolicyTest.java:73: Set.of(CORRELATION), Set.of(TENANT), GrpcMetadataBudget.standard(), true))
|
|
./grpc/grpc-client/src/test/java/dev/caskeleton/grpc/client/GrpcClientMetadataPolicyTest.java:93: Set.of(CORRELATION), Set.of(CORRELATION), new GrpcMetadataBudget(200, 40, 4), false);
|
|
./grpc/grpc-client/src/main/java/dev/caskeleton/grpc/client/GrpcClientMetadataPolicy.java:3:import dev.caskeleton.grpc.context.GrpcMetadataBudget;
|
|
./grpc/grpc-client/src/main/java/dev/caskeleton/grpc/client/GrpcClientMetadataPolicy.java:24: GrpcMetadataBudget budget,
|
|
./grpc/grpc-policy/src/test/java/dev/caskeleton/grpc/context/GrpcContextBinderTest.java:39: GrpcMetadataBudget.standard(),
|
|
./grpc/grpc-server/src/test/java/dev/caskeleton/grpc/server/GrpcServiceAdapterTest.java:7:import dev.caskeleton.grpc.context.GrpcMetadataBudget;
|
|
./grpc/grpc-server/src/test/java/dev/caskeleton/grpc/server/GrpcServiceAdapterTest.java:56: GrpcMetadataBudget.standard(),
|
|
./grpc/grpc-core-api/src/test/java/dev/caskeleton/grpc/context/GrpcMetadataBudgetTest.java:18:class GrpcMetadataBudgetTest {
|
|
./grpc/grpc-core-api/src/test/java/dev/caskeleton/grpc/context/GrpcMetadataBudgetTest.java:61: GrpcMetadataBudget standard = GrpcMetadataBudget.standard();
|
|
./grpc/grpc-core-api/src/test/java/dev/caskeleton/grpc/context/GrpcMetadataBudgetTest.java:64: assertThatThrownBy(() -> new GrpcMetadataBudget(1024, 2048, 8))
|
|
./grpc/grpc-core-api/src/test/java/dev/caskeleton/grpc/context/GrpcMetadataBudgetTest.java:72: GrpcMetadataBudget tight = new GrpcMetadataBudget(200, 40, 4);
|
|
./grpc/grpc-core-api/src/test/java/dev/caskeleton/grpc/context/GrpcMetadataBudgetTest.java:107: GrpcMetadataBudget.standard(),
|
|
./grpc/grpc-core-api/src/test/java/dev/caskeleton/grpc/context/GrpcMetadataBudgetTest.java:129: GrpcMetadataBudget.standard(),
|
|
./grpc/grpc-core-api/src/test/java/dev/caskeleton/grpc/context/GrpcMetadataBudgetTest.java:167: GrpcMetadataBudget.standard(),
|
|
./grpc/grpc-core-api/src/main/java/dev/caskeleton/grpc/context/GrpcMetadataBudget.java:15:public record GrpcMetadataBudget(int maxTotalBytes, int maxUserDefinedBytes, int maxEntries) {
|
|
./grpc/grpc-core-api/src/main/java/dev/caskeleton/grpc/context/GrpcMetadataBudget.java:18: public GrpcMetadataBudget {
|
|
./grpc/grpc-core-api/src/main/java/dev/caskeleton/grpc/context/GrpcMetadataBudget.java:32: public static GrpcMetadataBudget standard() {
|
|
./grpc/grpc-core-api/src/main/java/dev/caskeleton/grpc/context/GrpcMetadataBudget.java:33: return new GrpcMetadataBudget(8192, 4096, 32);
|
|
./grpc/grpc-core-api/src/main/java/dev/caskeleton/grpc/context/GrpcRequestContext.java:60: GrpcMetadataBudget budget,
|
|
./grpc-advanced/grpc-advanced-compat/src/test/java/dev/caskeleton/grpc/advanced/compat/GrpcReactorContextBridgeTest.java:10:import dev.caskeleton.grpc.context.GrpcMetadataBudget;
|
|
./grpc-advanced/grpc-advanced-compat/src/test/java/dev/caskeleton/grpc/advanced/compat/GrpcReactorContextBridgeTest.java:45: GrpcMetadataBudget.standard(),
|
|
./grpc-advanced/grpc-advanced-compat/src/test/java/dev/caskeleton/grpc/advanced/compat/GrpcIntegrationBridgePolicyTest.java:10:import dev.caskeleton.grpc.context.GrpcMetadataBudget;
|
|
./grpc-advanced/grpc-advanced-compat/src/test/java/dev/caskeleton/grpc/advanced/compat/GrpcIntegrationBridgePolicyTest.java:42: GrpcMetadataBudget.standard(),
|