MCPcopy Index your code
hub / github.com/devcontainers/cli / createDockerParams

Function createDockerParams

src/spec-node/devContainers.ts:105–261  ·  view source on GitHub ↗
(options: ProvisionOptions, disposables: (() => Promise<unknown> | undefined)[])

Source from the content-addressed store, hash-verified

103}
104
105export async function createDockerParams(options: ProvisionOptions, disposables: (() => Promise<unknown> | undefined)[]): Promise<DockerResolverParameters> {
106 const { persistedFolder, additionalMounts, updateRemoteUserUIDDefault, containerDataFolder, containerSystemDataFolder, workspaceMountConsistency, gpuAvailability, mountWorkspaceGitRoot, mountGitWorktreeCommonDir, remoteEnv, noLockfile, frozenLockfile, omitLoggerHeader, secretsP } = options;
107 let parsedAuthority: DevContainerAuthority | undefined;
108 if (options.workspaceFolder) {
109 parsedAuthority = { hostPath: options.workspaceFolder } as DevContainerAuthority;
110 }
111 const extensionPath = path.join(__dirname, '..', '..');
112 const sessionStart = new Date();
113 const pkg = getPackageConfig();
114 const output = createLog(options, pkg, sessionStart, disposables, omitLoggerHeader, secretsP ? await secretsP : undefined);
115
116 const appRoot = undefined;
117 const cwd = options.workspaceFolder || process.cwd();
118 const allowInheritTTY = options.logFormat === 'text';
119 const cliHost = await getCLIHost(cwd, loadNativeModule, allowInheritTTY);
120 const sessionId = crypto.randomUUID();
121
122 const common: ResolverParameters = {
123 prebuild: options.prebuild,
124 computeExtensionHostEnv: false,
125 package: pkg,
126 containerDataFolder,
127 containerSystemDataFolder,
128 appRoot,
129 extensionPath, // TODO: rename to packagePath
130 sessionId,
131 sessionStart,
132 cliHost,
133 env: cliHost.env,
134 cwd,
135 isLocalContainer: false,
136 progress: () => { },
137 output,
138 allowSystemConfigChange: true,
139 defaultUserEnvProbe: options.defaultUserEnvProbe,
140 lifecycleHook: createNullLifecycleHook(options.postCreateEnabled, options.skipNonBlocking, output),
141 getLogLevel: () => options.logLevel,
142 onDidChangeLogLevel: () => ({ dispose() { } }),
143 loadNativeModule,
144 allowInheritTTY,
145 shutdowns: [],
146 backgroundTasks: [],
147 persistedFolder: persistedFolder || await getCacheFolder(cliHost), // Fallback to tmp folder, even though that isn't 'persistent'
148 remoteEnv,
149 secretsP,
150 buildxPlatform: options.buildxPlatform,
151 buildxPush: options.buildxPush,
152 buildxOutput: options.buildxOutput,
153 buildxCacheTo: options.buildxCacheTo,
154 skipFeatureAutoMapping: options.skipFeatureAutoMapping,
155 skipPostAttach: options.skipPostAttach,
156 containerSessionDataFolder: options.containerSessionDataFolder,
157 skipPersistingCustomizationsFromFeatures: options.skipPersistingCustomizationsFromFeatures,
158 omitConfigRemotEnvFromMetadata: options.omitConfigRemotEnvFromMetadata,
159 dotfilesConfiguration: {
160 repository: options.dotfiles.repository,
161 installCommand: options.dotfiles.installCommand,
162 targetPath: options.dotfiles.targetPath || '~/dotfiles',

Callers 6

doSetUpFunction · 0.90
doBuildFunction · 0.90
doRunUserCommandsFunction · 0.90
doExecFunction · 0.90
generateDockerParamsFunction · 0.90
launchFunction · 0.85

Calls 11

getPackageConfigFunction · 0.90
createNullLifecycleHookFunction · 0.90
getCacheFolderFunction · 0.90
dockerComposeCLIConfigFunction · 0.90
mapNodeOSToGOOSFunction · 0.90
dockerBuildKitVersionFunction · 0.90
lookupCLIVariantFunction · 0.90
dockerEngineVersionFunction · 0.90
createLogFunction · 0.85
getCLIHostFunction · 0.85

Tested by

no test coverage detected