@forge/cli-shared
8.15.1-next.88.15.1-next.9
out/tunnel/docker-compose-lifecycle.js~
out/tunnel/docker-compose-lifecycle.jsModified+21−1
Index: package/out/tunnel/docker-compose-lifecycle.js
===================================================================
--- package/out/tunnel/docker-compose-lifecycle.js
+++ package/out/tunnel/docker-compose-lifecycle.js
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.stopDockerComposeStack = exports.startDockerComposeStack = exports.deleteDockerComposeFile = exports.generateContainersDockerComposeFile = exports.CannotUseBothImageAndBuildContextError = exports.MissingImageOrBuildContextError = exports.DockerUnableToStartError = exports.DockerUnableToPullProxySidecarImage = exports.InvalidContainerServicePort = exports.K8S_AUTH_TOKEN_FILENAME = exports.CONTAINER_SERVICE_ASSETS = exports.PROXY_SIDECAR_VOLUME_DIR = void 0;
+exports.processDockerAuthentication = exports.stopDockerComposeStack = exports.startDockerComposeStack = exports.deleteDockerComposeFile = exports.generateContainersDockerComposeFile = exports.DockerAuthenticationError = exports.CannotUseBothImageAndBuildContextError = exports.MissingImageOrBuildContextError = exports.DockerUnableToStartError = exports.DockerUnableToPullProxySidecarImage = exports.InvalidContainerServicePort = exports.K8S_AUTH_TOKEN_FILENAME = exports.CONTAINER_SERVICE_ASSETS = exports.PROXY_SIDECAR_VOLUME_DIR = void 0;
const tslib_1 = require("tslib");
const fs = tslib_1.__importStar(require("fs"));
const path = tslib_1.__importStar(require("path"));
const yaml = tslib_1.__importStar(require("yaml"));
@@ -43,8 +43,14 @@
super(text_1.Text.tunnel.cannotUseBothImageAndBuildContext(containerKey));
}
}
exports.CannotUseBothImageAndBuildContextError = CannotUseBothImageAndBuildContextError;
+class DockerAuthenticationError extends shared_1.UserError {
+ constructor(errCode) {
+ super(text_1.Text.tunnel.unableToAuthenticateDocker(errCode));
+ }
+}
+exports.DockerAuthenticationError = DockerAuthenticationError;
const generateContainersDockerComposeFile = async (services, appId, envId) => {
const filesGenerated = {};
for (const service of services) {
const { key: serviceKey, containers } = service;
@@ -193,8 +199,22 @@
}));
deleteContainerServiceAssetsDir();
};
exports.stopDockerComposeStack = stopDockerComposeStack;
+const processDockerAuthentication = async (childProcess) => {
+ await new Promise((resolve, reject) => {
+ childProcess.on('close', (code) => {
+ if (code === 0) {
+ resolve();
+ }
+ else {
+ reject(new DockerAuthenticationError(code?.toString() || 'unknown'));
+ }
+ });
+ childProcess.on('error', reject);
+ });
+};
+exports.processDockerAuthentication = processDockerAuthentication;
const deleteContainerServiceAssetsDir = () => {
const dirPath = path.join(process.cwd(), exports.CONTAINER_SERVICE_ASSETS);
if (fs.existsSync(dirPath)) {
const tokenFilePath = path.join(dirPath, exports.K8S_AUTH_TOKEN_FILENAME);