feat(upstream): Add dynamic per-request upstream provider and integrate into registries
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
|
||||
import type * as plugins from '../plugins.js';
|
||||
import type { IProtocolUpstreamConfig } from '../upstream/interfaces.upstream.js';
|
||||
import type { IUpstreamProvider } from '../upstream/interfaces.upstream.js';
|
||||
import type { IAuthProvider } from './interfaces.auth.js';
|
||||
import type { IStorageHooks } from './interfaces.storage.js';
|
||||
|
||||
@@ -89,8 +89,6 @@ export interface IProtocolConfig {
|
||||
enabled: boolean;
|
||||
basePath: string;
|
||||
features?: Record<string, boolean>;
|
||||
/** Upstream registry configuration for proxying/caching */
|
||||
upstream?: IProtocolUpstreamConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -113,6 +111,13 @@ export interface IRegistryConfig {
|
||||
*/
|
||||
storageHooks?: IStorageHooks;
|
||||
|
||||
/**
|
||||
* Dynamic upstream configuration provider.
|
||||
* Called per-request to resolve which upstream registries to use.
|
||||
* Use StaticUpstreamProvider for simple static configurations.
|
||||
*/
|
||||
upstreamProvider?: IUpstreamProvider;
|
||||
|
||||
oci?: IProtocolConfig;
|
||||
npm?: IProtocolConfig;
|
||||
maven?: IProtocolConfig;
|
||||
|
||||
Reference in New Issue
Block a user