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

Function writeFeaturesComposeOverrideFile

src/spec-node/dockerCompose.ts:469–502  ·  view source on GitHub ↗
(
	updatedImageName: string,
	originalImageName: string,
	mergedConfig: MergedDevContainerConfig,
	config: DevContainerFromDockerComposeConfig,
	versionPrefix: string,
	imageDetails: () => Promise<ImageDetails>,
	service: any,
	additionalLabels: string[],
	additionalMounts: Mount[],
	overrideFilePath: string,
	overrideFilePrefix: string,
	buildCLIHost: CLIHost,
	params: DockerResolverParameters,
	output: Log,
)

Source from the content-addressed store, hash-verified

467}
468
469async function writeFeaturesComposeOverrideFile(
470 updatedImageName: string,
471 originalImageName: string,
472 mergedConfig: MergedDevContainerConfig,
473 config: DevContainerFromDockerComposeConfig,
474 versionPrefix: string,
475 imageDetails: () => Promise<ImageDetails>,
476 service: any,
477 additionalLabels: string[],
478 additionalMounts: Mount[],
479 overrideFilePath: string,
480 overrideFilePrefix: string,
481 buildCLIHost: CLIHost,
482 params: DockerResolverParameters,
483 output: Log,
484) {
485 const composeOverrideContent = await generateFeaturesComposeOverrideContent(updatedImageName, originalImageName, mergedConfig, config, versionPrefix, imageDetails, service, additionalLabels, additionalMounts, params);
486 const overrideFileHasContents = !!composeOverrideContent && composeOverrideContent.length > 0 && composeOverrideContent.trim() !== '';
487 if (overrideFileHasContents) {
488 output.write(`Docker Compose override file for creating container:\n${composeOverrideContent}`);
489
490 const fileName = `${overrideFilePrefix}-${Date.now()}-${randomUUID()}.yml`;
491 const composeFolder = buildCLIHost.path.join(overrideFilePath, 'docker-compose');
492 const composeOverrideFile = buildCLIHost.path.join(composeFolder, fileName);
493 output.write(`Writing ${fileName} to ${composeFolder}`);
494 await buildCLIHost.mkdirp(composeFolder);
495 await buildCLIHost.writeFile(composeOverrideFile, Buffer.from(composeOverrideContent));
496
497 return composeOverrideFile;
498 } else {
499 output.write('Override file was generated, but was empty and thus not persisted or included in the docker-compose arguments.');
500 return undefined;
501 }
502}
503
504async function generateFeaturesComposeOverrideContent(
505 updatedImageName: string,

Callers 1

startContainerFunction · 0.85

Calls 4

writeMethod · 0.65
mkdirpMethod · 0.65
writeFileMethod · 0.65

Tested by

no test coverage detected