Skip to content

Commit 01c650c

Browse files
authored
enableNetwork per env (#1346)
1 parent 01b6f9f commit 01c650c

3 files changed

Lines changed: 10 additions & 8 deletions

File tree

src/@types/C2D/C2D.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ export interface ComputeEnvironmentBaseConfig {
120120
access: ComputeAccessList
121121
free?: ComputeEnvironmentFreeOptions
122122
platform: RunningPlatform
123+
enableNetwork?: boolean // whether network is enabled for algorithm containers
123124
}
124125

125126
export interface ComputeRuntimes {
@@ -152,6 +153,7 @@ export interface C2DEnvironmentConfig {
152153
access?: ComputeAccessList
153154
free?: ComputeEnvironmentFreeOptions
154155
resources?: ComputeResource[]
156+
enableNetwork?: boolean // whether network is enabled for algorithm containers
155157
}
156158

157159
export interface C2DDockerConfig {
@@ -168,7 +170,6 @@ export interface C2DDockerConfig {
168170
scanImages?: boolean
169171
scanImageDBUpdateInterval?: number // Default: 12 hours
170172
environments: C2DEnvironmentConfig[]
171-
enableNetwork?: boolean // whether network is enabled for algorithm containers
172173
}
173174

174175
export type ComputeResultType =

src/components/c2d/compute_engine_docker.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ export class C2DEngineDocker extends C2DEngine {
9191
private trivyCachePath: string
9292
private cpuAllocations: Map<string, number[]> = new Map()
9393
private envCpuCoresMap: Map<string, number[]> = new Map()
94-
private enableNetwork: boolean
9594

9695
public constructor(
9796
clusterConfig: C2DClusterInfo,
@@ -115,7 +114,7 @@ export class C2DEngineDocker extends C2DEngine {
115114
this.paymentClaimInterval = clusterConfig.connection.paymentClaimInterval || 3600 // 1 hour
116115
this.scanImages = clusterConfig.connection.scanImages || false // default is not to scan images for now, until it's prod ready
117116
this.scanImageDBUpdateInterval = clusterConfig.connection.scanImageDBUpdateInterval
118-
this.enableNetwork = clusterConfig.connection.enableNetwork ?? false
117+
119118
if (
120119
clusterConfig.connection.protocol &&
121120
clusterConfig.connection.host &&
@@ -236,7 +235,8 @@ export class C2DEngineDocker extends C2DEngine {
236235
{ [BASE_CHAIN_ID]: [getAddress('0xcb7Db55Ca9Aa9C3b25F5Bc266da63317fa02086a')] }
237236
]
238237
},
239-
fees: benchmarkFees
238+
fees: benchmarkFees,
239+
enableNetwork: true
240240
}
241241

242242
envConfig.environments.push(benchmarkEnv)
@@ -367,7 +367,8 @@ export class C2DEngineDocker extends C2DEngine {
367367
queMaxWaitTime: 0,
368368
queMaxWaitTimeFree: 0,
369369
runMaxWaitTime: 0,
370-
runMaxWaitTimeFree: 0
370+
runMaxWaitTimeFree: 0,
371+
enableNetwork: envDef.enableNetwork
371372
}
372373

373374
if (envDef.storageExpiry !== undefined) env.storageExpiry = envDef.storageExpiry
@@ -1836,7 +1837,7 @@ export class C2DEngineDocker extends C2DEngine {
18361837
}
18371838
]
18381839
}
1839-
if (!this.enableNetwork) {
1840+
if (!env.enableNetwork) {
18401841
hostConfig.NetworkMode = 'none' // no network inside the container
18411842
}
18421843
// disk

src/utils/config/schemas.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,8 @@ export const C2DEnvironmentConfigSchema = z
235235
})
236236
.optional(),
237237
free: ComputeEnvironmentFreeOptionsSchema.optional(),
238-
resources: z.array(ComputeResourceSchema).optional()
238+
resources: z.array(ComputeResourceSchema).optional(),
239+
enableNetwork: z.boolean().optional().default(false)
239240
})
240241
.refine(
241242
(data) =>
@@ -270,7 +271,6 @@ export const C2DDockerConfigSchema = z.array(
270271
imageCleanupInterval: z.number().int().min(3600).optional().default(86400), // min 1 hour, default 24 hours
271272
scanImages: z.boolean().optional().default(false),
272273
scanImageDBUpdateInterval: z.number().int().min(3600).optional().default(43200), // default 43200 (12 hours)
273-
enableNetwork: z.boolean().optional().default(false),
274274
environments: z.array(C2DEnvironmentConfigSchema).min(1)
275275
})
276276
)

0 commit comments

Comments
 (0)