Skip to content

Commit 56dbb67

Browse files
authored
add default envs to container-client (#4439)
1 parent ff5804e commit 56dbb67

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/workerd/server/container-client.c++

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,14 +271,19 @@ kj::Promise<void> ContainerClient::createContainer(
271271
}
272272
}
273273

274-
// Add environment variables if provided
274+
auto envSize = environment.map([](auto& env) { return env.size(); }).orDefault(0);
275+
auto jsonEnv = jsonRoot.initEnv(envSize + kj::size(defaultEnv));
276+
275277
KJ_IF_SOME(env, environment) {
276-
auto jsonEnv = jsonRoot.initEnv(env.size());
277278
for (uint32_t i: kj::zeroTo(env.size())) {
278279
jsonEnv.set(i, env[i]);
279280
}
280281
}
281282

283+
for (uint32_t i: kj::zeroTo(kj::size(defaultEnv))) {
284+
jsonEnv.set(envSize + i, defaultEnv[i]);
285+
}
286+
282287
auto hostConfig = jsonRoot.initHostConfig();
283288
// We need to publish all ports to properly get the mapped port number locally
284289
hostConfig.setPublishAllPorts(true);

src/workerd/server/container-client.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ class ContainerClient final: public rpc::Container::Server {
4949
kj::String imageName;
5050
kj::TaskSet& waitUntilTasks;
5151

52+
static constexpr kj::StringPtr defaultEnv[] = {"CLOUDFLARE_COUNTRY_A2=XX"_kj,
53+
"CLOUDFLARE_DEPLOYMENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"_kj,
54+
"CLOUDFLARE_LOCATION=loc01"_kj, "CLOUDFLARE_REGION=REGN"_kj,
55+
"CLOUDFLARE_APPLICATION_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"_kj,
56+
"CLOUDFLARE_DURABLE_OBJECT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"_kj};
57+
5258
// Docker-specific Port implementation
5359
class DockerPort;
5460

0 commit comments

Comments
 (0)