From 3e2cfd865e4abe3d3c7da8e61878029108b029dc Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Thu, 14 Sep 2023 17:42:35 +0200 Subject: [PATCH] Document DemultiplexingBlobAccess more extensively Instead of refering users to the scheduler demultiplexing, just document it in a similar way. That way it's harder to overlook. --- .../configuration/bb_storage/bb_storage.proto | 6 +++--- .../configuration/blobstore/blobstore.proto | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/pkg/proto/configuration/bb_storage/bb_storage.proto b/pkg/proto/configuration/bb_storage/bb_storage.proto index 3a842080..efec2e03 100644 --- a/pkg/proto/configuration/bb_storage/bb_storage.proto +++ b/pkg/proto/configuration/bb_storage/bb_storage.proto @@ -26,9 +26,9 @@ message ApplicationConfiguration { repeated buildbarn.configuration.grpc.ServerConfiguration grpc_servers = 4; // Map of schedulers available capable of running build actions, where - // the key corresponds to the instance name prefix. In case of - // multiple matches, the scheduler with the longest matching prefix is - // used. The matching prefix is removed from the resulting instance + // the key corresponds to the instance name prefix to match. In case + // of multiple matches, the scheduler with the longest matching prefix + // is used. The matching prefix is removed from the resulting instance // name. // // For example, if schedulers for instance name prefixes "acmecorp" diff --git a/pkg/proto/configuration/blobstore/blobstore.proto b/pkg/proto/configuration/blobstore/blobstore.proto index 181bbb6a..8c277469 100644 --- a/pkg/proto/configuration/blobstore/blobstore.proto +++ b/pkg/proto/configuration/blobstore/blobstore.proto @@ -115,8 +115,7 @@ message BlobAccessConfiguration { // // The logic for matching incoming requests and mutating the // instance name in outgoing requests is identical to bb_storage's - // 'schedulers' configuration option. Please refer to that - // configuration option for more details. + // 'schedulers' configuration option. DemultiplexingBlobAccessConfiguration demultiplexing = 20; // Read objects using instance names in a hierarchical fashion. This @@ -897,7 +896,19 @@ message ConcurrencyLimitingBlobReplicatorConfiguration { } message DemultiplexingBlobAccessConfiguration { - // The instance name prefixes for which requests are forwarded. + // Map of storage backends, where the key corresponds to the instance + // name prefix to match. In case of multiple matches, the storage + // backend with the longest matching prefix is used. The matching + // prefix is removed from the resulting instance name. + // + // For example, if storage backends for instance name prefixes + // "acmecorp" and "acmecorp/rockets" are declared, requests for + // instance name "acmecorp/rockets/mars" will be forwarded to the + // latter. This storage backend will receive requests with instance + // name "mars". + // + // The empty string can be used to match all instance names, thereby + // causing all requests to be forwarded to a single storage backend. map instance_name_prefixes = 1; }