diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index be9d3f5658..888bc1639c 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -305,20 +305,6 @@ export type DatabaseManagerOptions = { logger?: LoggerService; }; -// @public -export interface DockerAuthentication { - // (undocumented) - auth?: string; - // (undocumented) - email?: string; - // (undocumented) - password?: string; - // (undocumented) - serveraddress?: string; - // (undocumented) - username?: string; -} - // @public export class DockerContainerRunner implements ContainerRunner { constructor(options: { dockerClient: Docker }); @@ -656,6 +642,21 @@ export { PluginDatabaseManager }; export { PluginEndpointDiscovery }; +// @public +export interface PullOptions { + // (undocumented) + [key: string]: unknown; + // (undocumented) + authconfig?: { + username?: string; + password?: string; + auth?: string; + email?: string; + serveraddress?: string; + [key: string]: unknown; + }; +} + // @public export type ReaderFactory = (options: { config: Config; @@ -754,7 +755,7 @@ export type RunContainerOptions = { envVars?: Record; pullImage?: boolean; defaultUser?: boolean; - authentication?: DockerAuthentication; + pullOptions?: PullOptions; }; export { SearchOptions }; diff --git a/packages/backend-common/src/util/ContainerRunner.ts b/packages/backend-common/src/util/ContainerRunner.ts index 11d75bcd8d..351a5da613 100644 --- a/packages/backend-common/src/util/ContainerRunner.ts +++ b/packages/backend-common/src/util/ContainerRunner.ts @@ -23,12 +23,16 @@ import { Writable } from 'stream'; * * @public */ -export interface DockerAuthentication { - username?: string; - password?: string; - auth?: string; - email?: string; - serveraddress?: string; +export interface PullOptions { + authconfig?: { + username?: string; + password?: string; + auth?: string; + email?: string; + serveraddress?: string; + [key: string]: unknown; + }; + [key: string]: unknown; } /** @@ -46,7 +50,7 @@ export type RunContainerOptions = { envVars?: Record; pullImage?: boolean; defaultUser?: boolean; - authentication?: DockerAuthentication; + pullOptions?: PullOptions; }; /** diff --git a/packages/backend-common/src/util/DockerContainerRunner.test.ts b/packages/backend-common/src/util/DockerContainerRunner.test.ts index dde4e48113..f5d0e18480 100644 --- a/packages/backend-common/src/util/DockerContainerRunner.test.ts +++ b/packages/backend-common/src/util/DockerContainerRunner.test.ts @@ -87,8 +87,10 @@ describe('DockerContainerRunner', () => { await containerTaskApi.runContainer({ imageName, args, - authentication: { - auth: 'aaaaaaaaa', + pullOptions: { + authconfig: { + auth: 'aaaaaaaaa', + }, }, }); diff --git a/packages/backend-common/src/util/DockerContainerRunner.ts b/packages/backend-common/src/util/DockerContainerRunner.ts index 675b618cab..89a17fff51 100644 --- a/packages/backend-common/src/util/DockerContainerRunner.ts +++ b/packages/backend-common/src/util/DockerContainerRunner.ts @@ -47,7 +47,7 @@ export class DockerContainerRunner implements ContainerRunner { envVars = {}, pullImage = true, defaultUser = false, - authentication, + pullOptions = {}, } = options; // Show a better error message when Docker is unavailable. @@ -62,17 +62,13 @@ export class DockerContainerRunner implements ContainerRunner { if (pullImage) { await new Promise((resolve, reject) => { - this.dockerClient.pull( - imageName, - { authconfig: authentication }, - (err, stream) => { - if (err) return reject(err); - stream.pipe(logStream, { end: false }); - stream.on('end', () => resolve()); - stream.on('error', (error: Error) => reject(error)); - return undefined; - }, - ); + this.dockerClient.pull(imageName, pullOptions, (err, stream) => { + if (err) return reject(err); + stream.pipe(logStream, { end: false }); + stream.on('end', () => resolve()); + stream.on('error', (error: Error) => reject(error)); + return undefined; + }); }); } diff --git a/packages/backend-common/src/util/index.ts b/packages/backend-common/src/util/index.ts index 5767653253..39bade08be 100644 --- a/packages/backend-common/src/util/index.ts +++ b/packages/backend-common/src/util/index.ts @@ -17,7 +17,7 @@ export type { ContainerRunner, RunContainerOptions, - DockerAuthentication, + PullOptions, } from './ContainerRunner'; export { DockerContainerRunner } from './DockerContainerRunner'; export type {