From 95778208714287825dceac90ebc34942bfe06774 Mon Sep 17 00:00:00 2001 From: Gero Posmyk-Leinemann Date: Thu, 30 Jan 2025 20:27:14 +0000 Subject: [PATCH] [server] Add DOCKERD_PROXY_ENABLED if feature flag "dockerd_proxy_enabled" is true Tool: gitpod/catfood.gitpod.cloud --- .../server/src/workspace/workspace-starter.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/components/server/src/workspace/workspace-starter.ts b/components/server/src/workspace/workspace-starter.ts index ba58f253f6ebfd..ecdaa9252de663 100644 --- a/components/server/src/workspace/workspace-starter.ts +++ b/components/server/src/workspace/workspace-starter.ts @@ -632,7 +632,7 @@ export class WorkspaceStarter { } // build workspace image - const additionalAuth = await this.getAdditionalImageAuth(envVars); + const additionalAuth = this.getAdditionalImageAuth(envVars); instance = await this.buildWorkspaceImage( { span }, user, @@ -839,7 +839,7 @@ export class WorkspaceStarter { return undefined; } - private async getAdditionalImageAuth(envVars: ResolvedEnvVars): Promise> { + private getAdditionalImageAuth(envVars: ResolvedEnvVars): Map { const res = new Map(); const imageAuth = envVars.workspace.find((e) => e.name === EnvVar.GITPOD_IMAGE_AUTH_ENV_VAR_NAME); if (!imageAuth) { @@ -1493,6 +1493,18 @@ export class WorkspaceStarter { envvars.push(ev); })(); + const isDockerdProxyEnabled = await getExperimentsClientForBackend().getValueAsync( + "dockerd_proxy_enabled", + false, + { user, projectId: workspace.projectId, gitpodHost: this.config.hostUrl.url.toString() }, + ); + if (isDockerdProxyEnabled) { + const ev = new EnvironmentVariable(); + ev.setName("DOCKERD_PROXY_ENABLED"); + ev.setValue("true"); + envvars.push(ev); + } + const portIndex = new Set(); const ports = (workspace.config.ports || []) .map((p) => {