@cloudflare/containers 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/container.d.ts +113 -1
- package/dist/lib/container.js +340 -2
- package/dist/lib/container.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -5,6 +5,7 @@ A class for interacting with Containers on Cloudflare Workers.
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
- HTTP request proxying and WebSocket forwarding
|
|
8
|
+
- Outbound request interception by host or catch-all handler
|
|
8
9
|
- Simple container lifecycle management (starting and stopping containers)
|
|
9
10
|
- Event hooks for container lifecycle events (onStart, onStop, onError)
|
|
10
11
|
- Configurable sleep timeout that renews on requests
|
|
@@ -110,7 +111,6 @@ See [this example](#http-example-with-lifecycle-hooks).
|
|
|
110
111
|
- `onStart()`
|
|
111
112
|
|
|
112
113
|
Called when container starts successfully.
|
|
113
|
-
|
|
114
114
|
- called when states transition from `stopped` -> `running`, `running` -> `healthy`
|
|
115
115
|
|
|
116
116
|
- `onStop()`
|
|
@@ -150,7 +150,6 @@ See [this example](#http-example-with-lifecycle-hooks).
|
|
|
150
150
|
Note: `containerFetch` does not work with websockets.
|
|
151
151
|
|
|
152
152
|
Sends an HTTP request to the container. Supports both standard fetch API signatures:
|
|
153
|
-
|
|
154
153
|
- `containerFetch(request, port?)`: Traditional signature with Request object
|
|
155
154
|
- `containerFetch(url, init?, port?)`: Standard fetch-like signature with URL string/object and RequestInit options
|
|
156
155
|
|
|
@@ -188,7 +187,6 @@ See [this example](#http-example-with-lifecycle-hooks).
|
|
|
188
187
|
Starts the container, without waiting for any ports to be ready.
|
|
189
188
|
|
|
190
189
|
You might want to use this instead of `startAndWaitForPorts` if you want to:
|
|
191
|
-
|
|
192
190
|
- Start a container without blocking until a port is available
|
|
193
191
|
- Initialize a container that doesn't expose ports
|
|
194
192
|
- Perform custom port availability checks separately
|
|
@@ -249,10 +247,52 @@ See [this example](#http-example-with-lifecycle-hooks).
|
|
|
249
247
|
|
|
250
248
|
Manually renews the container activity timeout (extends container lifetime).
|
|
251
249
|
|
|
250
|
+
##### Outbound Interception
|
|
251
|
+
|
|
252
|
+
Use outbound interception when you want to control what the container can reach, or proxy outbound requests through Worker code.
|
|
253
|
+
|
|
254
|
+
- `setOutboundByHost(host: string, method: string): Promise<void>`
|
|
255
|
+
|
|
256
|
+
Routes a specific hostname to a named handler from `static outboundHandlers`.
|
|
257
|
+
|
|
258
|
+
- `setOutboundByHosts(handlers: Record<string, string>): Promise<void>`
|
|
259
|
+
|
|
260
|
+
Replaces all runtime host-specific overrides at once.
|
|
261
|
+
|
|
262
|
+
- `removeOutboundByHost(host: string): Promise<void>`
|
|
263
|
+
|
|
264
|
+
Removes a runtime host-specific override.
|
|
265
|
+
|
|
266
|
+
- `setOutboundHandler(method: string): Promise<void>`
|
|
267
|
+
|
|
268
|
+
Sets the catch-all outbound handler to a named handler from `static outboundHandlers`.
|
|
269
|
+
|
|
270
|
+
To configure interception on the class itself:
|
|
271
|
+
|
|
272
|
+
- `static outbound = (req, env, ctx) => Response`
|
|
273
|
+
|
|
274
|
+
Catch-all handler for outbound requests.
|
|
275
|
+
|
|
276
|
+
- `static outboundByHost = { [host]: handler }`
|
|
277
|
+
|
|
278
|
+
Per-host handlers for exact hostname matches such as `google.com` or an IP address.
|
|
279
|
+
|
|
280
|
+
- `static outboundHandlers = { [name]: handler }`
|
|
281
|
+
|
|
282
|
+
Named handlers that can be selected at runtime with `setOutboundHandler` and `setOutboundByHost`.
|
|
283
|
+
|
|
284
|
+
Matching order is:
|
|
285
|
+
|
|
286
|
+
1. Runtime `setOutboundByHost` override
|
|
287
|
+
2. Static `outboundByHost`
|
|
288
|
+
3. Runtime `setOutboundHandler` catch-all
|
|
289
|
+
4. Static `outbound`
|
|
290
|
+
|
|
291
|
+
If nothing matches, the request goes out normally when `enableInternet` is `true`, and is blocked when `enableInternet` is `false`.
|
|
292
|
+
|
|
252
293
|
- `schedule<T = string>(when: Date | number, callback: string, payload?: T): Promise<Schedule<T>>`
|
|
253
294
|
|
|
254
295
|
Options:
|
|
255
|
-
|
|
256
296
|
- `when`: When to execute the task (Date object or number of seconds delay)
|
|
257
297
|
- `callback`: Name of the function to call as a string
|
|
258
298
|
- `payload`: Data to pass to the callback
|
|
@@ -371,6 +411,45 @@ export class ConfiguredContainer extends Container {
|
|
|
371
411
|
|
|
372
412
|
You can also set these on a per-instance basis with `start` or `startAndWaitForPorts`
|
|
373
413
|
|
|
414
|
+
### Outbound Interception
|
|
415
|
+
|
|
416
|
+
This lets you intercept requests the container makes to the outside world.
|
|
417
|
+
|
|
418
|
+
```typescript
|
|
419
|
+
import { Container, OutboundHandlerContext } from '@cloudflare/containers';
|
|
420
|
+
|
|
421
|
+
export class MyContainer extends Container {
|
|
422
|
+
defaultPort = 8080;
|
|
423
|
+
enableInternet = false;
|
|
424
|
+
|
|
425
|
+
static outboundByHost = {
|
|
426
|
+
'google.com': (_req: Request, _env: unknown, ctx: OutboundHandlerContext) => {
|
|
427
|
+
return new Response('hi ' + ctx.containerId + ' i am google');
|
|
428
|
+
},
|
|
429
|
+
};
|
|
430
|
+
|
|
431
|
+
static outboundHandlers = {
|
|
432
|
+
async github(_req: Request, _env: unknown, _ctx: OutboundHandlerContext) {
|
|
433
|
+
return new Response('i am github');
|
|
434
|
+
},
|
|
435
|
+
};
|
|
436
|
+
|
|
437
|
+
static outbound = (req: Request) => {
|
|
438
|
+
return new Response(`Hi ${req.url}, I can't handle you`);
|
|
439
|
+
};
|
|
440
|
+
|
|
441
|
+
async routeGithubThroughHandler(): Promise<void> {
|
|
442
|
+
await this.setOutboundByHost('github.com', 'github');
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
async makeEverythingUseGithubHandler(): Promise<void> {
|
|
446
|
+
await this.setOutboundHandler('github');
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Use `outboundByHost` for fixed host rules, `outbound` for a default catch-all, and `outboundHandlers` for reusable named handlers you want to switch on at runtime.
|
|
452
|
+
|
|
374
453
|
### Multiple Ports and Custom Routing
|
|
375
454
|
|
|
376
455
|
You can create a container that doesn't use a default port and instead routes traffic to different ports based on request path or other factors:
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { Container } from './lib/container';
|
|
1
|
+
export { Container, ContainerProxy, outboundParams } from './lib/container';
|
|
2
|
+
export type { OutboundHandler, OutboundHandlerContext, OutboundHandlerParams, OutboundHandlerParamsOf, OutboundHandlers, } from './lib/container';
|
|
2
3
|
export { getRandom, loadBalance, getContainer, switchPort } from './lib/utils';
|
|
3
4
|
export type { ContainerOptions, ContainerEventHandler, ContainerMessage, ContainerStartConfigOptions, StopParams, WaitOptions, State, } from './types';
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQ5E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/lib/container.d.ts
CHANGED
|
@@ -1,8 +1,59 @@
|
|
|
1
1
|
import type { ContainerOptions, ContainerStartOptions, ContainerStartConfigOptions, Schedule, StopParams, State, WaitOptions, CancellationOptions, StartAndWaitForPortsOptions } from '../types';
|
|
2
|
-
import { DurableObject } from 'cloudflare:workers';
|
|
2
|
+
import { DurableObject, WorkerEntrypoint } from 'cloudflare:workers';
|
|
3
|
+
export type OutboundHandlerContext<Params = unknown> = {
|
|
4
|
+
containerId: string;
|
|
5
|
+
className: string;
|
|
6
|
+
} & ([Params] extends [undefined] ? {
|
|
7
|
+
params?: undefined;
|
|
8
|
+
} : undefined extends Params ? {
|
|
9
|
+
params?: Params;
|
|
10
|
+
} : {
|
|
11
|
+
params: Params;
|
|
12
|
+
});
|
|
13
|
+
type OutboundParamsArg<Params> = [Params] extends [undefined] ? [] : undefined extends Params ? [params?: Params] : [params: Params];
|
|
14
|
+
export type OutboundHandler<E = Cloudflare.Env, P = unknown> = {
|
|
15
|
+
bivarianceHack(req: Request, env: E, ctx: OutboundHandlerContext<P>): Promise<Response> | Response;
|
|
16
|
+
}['bivarianceHack'];
|
|
17
|
+
export type OutboundHandlerParams = Record<string, unknown>;
|
|
18
|
+
export type OutboundHandlerParamsOf<THandler> = THandler extends (req: Request, env: unknown, ctx: OutboundHandlerContext<infer Params>) => Promise<Response> | Response ? Params : never;
|
|
19
|
+
export declare function outboundParams<THandler extends OutboundHandler<unknown, unknown>>(_handler: THandler, params: OutboundHandlerParamsOf<THandler>): OutboundHandlerParamsOf<THandler>;
|
|
20
|
+
export type OutboundHandlers<ParamsByMethod extends OutboundHandlerParams, E = Cloudflare.Env> = {
|
|
21
|
+
[Method in keyof ParamsByMethod]?: OutboundHandler<E, ParamsByMethod[Method]>;
|
|
22
|
+
};
|
|
23
|
+
type OutboundHandlerOverride<Params = unknown> = {
|
|
24
|
+
method: string;
|
|
25
|
+
} & ([Params] extends [undefined] ? {
|
|
26
|
+
params?: undefined;
|
|
27
|
+
} : undefined extends Params ? {
|
|
28
|
+
params?: Params;
|
|
29
|
+
} : {
|
|
30
|
+
params: Params;
|
|
31
|
+
});
|
|
32
|
+
type OutboundByHostOverrides = Record<string, OutboundHandlerOverride>;
|
|
33
|
+
type OutboundByHostOverrideInput<Params = unknown> = Record<string, string | OutboundHandlerOverride<Params>>;
|
|
3
34
|
export type Signal = 'SIGKILL' | 'SIGINT' | 'SIGTERM';
|
|
4
35
|
export type SignalInteger = number;
|
|
36
|
+
type ContainerProxyOptions = {
|
|
37
|
+
enableInternet?: boolean;
|
|
38
|
+
containerId: string;
|
|
39
|
+
className: string;
|
|
40
|
+
outboundByHostOverrides?: OutboundByHostOverrides;
|
|
41
|
+
outboundHandlerOverride?: OutboundHandlerOverride;
|
|
42
|
+
};
|
|
43
|
+
export declare class ContainerProxy extends WorkerEntrypoint<Cloudflare.Env, ContainerProxyOptions> {
|
|
44
|
+
fetch(request: Request): Promise<Response>;
|
|
45
|
+
}
|
|
5
46
|
export declare class Container<Env = Cloudflare.Env> extends DurableObject<Env> {
|
|
47
|
+
static get outboundByHost(): Record<string, OutboundHandler> | undefined;
|
|
48
|
+
static set outboundByHost(handlers: Record<string, OutboundHandler>);
|
|
49
|
+
static get outboundHandlers(): Record<string, OutboundHandler> | undefined;
|
|
50
|
+
static set outboundHandlers(handlers: Record<string, OutboundHandler>);
|
|
51
|
+
static get outbound(): OutboundHandler | undefined;
|
|
52
|
+
static set outbound(handler: OutboundHandler);
|
|
53
|
+
static get outboundProxies(): Record<string, OutboundHandler> | undefined;
|
|
54
|
+
static set outboundProxies(handlers: Record<string, OutboundHandler>);
|
|
55
|
+
static get outboundProxy(): OutboundHandler | undefined;
|
|
56
|
+
static set outboundProxy(handler: OutboundHandler);
|
|
6
57
|
defaultPort?: number;
|
|
7
58
|
requiredPorts?: number[];
|
|
8
59
|
sleepAfter: string | number;
|
|
@@ -10,12 +61,49 @@ export declare class Container<Env = Cloudflare.Env> extends DurableObject<Env>
|
|
|
10
61
|
entrypoint: ContainerStartOptions['entrypoint'];
|
|
11
62
|
enableInternet: ContainerStartOptions['enableInternet'];
|
|
12
63
|
pingEndpoint: string;
|
|
64
|
+
applyOutboundInterceptionPromise: Promise<void>;
|
|
65
|
+
usingInterception: boolean;
|
|
13
66
|
constructor(ctx: DurableObject['ctx'], env: Env, options?: ContainerOptions);
|
|
14
67
|
/**
|
|
15
68
|
* Gets the current state of the container
|
|
16
69
|
* @returns Promise<State>
|
|
17
70
|
*/
|
|
18
71
|
getState(): Promise<State>;
|
|
72
|
+
/**
|
|
73
|
+
* Set the catch-all outbound handler to a named method from `outboundHandlers`.
|
|
74
|
+
* Overrides the default `outbound` at runtime via ContainerProxy props.
|
|
75
|
+
*
|
|
76
|
+
* @param methodName - Name of a method defined in `static outboundHandlers`
|
|
77
|
+
* @param params - Optional params passed to the handler as `ctx.params`
|
|
78
|
+
* @throws Error if the method name is not found in `outboundHandlers`
|
|
79
|
+
*/
|
|
80
|
+
setOutboundHandler<Params = unknown>(methodName: string, ...paramsArg: OutboundParamsArg<Params>): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Add or override a hostname-specific outbound handler at runtime,
|
|
83
|
+
* referencing a named method from `outboundHandlers`.
|
|
84
|
+
* Overrides any matching entry in `static outboundByHost` for this hostname.
|
|
85
|
+
*
|
|
86
|
+
* @param hostname - The hostname or ip:port to intercept (e.g. `'google.com'`)
|
|
87
|
+
* @param methodName - Name of a method defined in `static outboundHandlers`
|
|
88
|
+
* @param params - Optional params passed to the handler as `ctx.params`
|
|
89
|
+
* @throws Error if the method name is not found in `outboundHandlers`
|
|
90
|
+
*/
|
|
91
|
+
setOutboundByHost<Params = unknown>(hostname: string, methodName: string, ...paramsArg: OutboundParamsArg<Params>): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Remove a runtime hostname override added via `setOutboundByHost`.
|
|
94
|
+
* The default handler from `static outboundByHost` (if any) will be used again.
|
|
95
|
+
*
|
|
96
|
+
* @param hostname - The hostname or ip:port to stop overriding
|
|
97
|
+
*/
|
|
98
|
+
removeOutboundByHost(hostname: string): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Replace all runtime hostname overrides at once.
|
|
101
|
+
* Each value may be either a method name or an object with `method` and `params`.
|
|
102
|
+
*
|
|
103
|
+
* @param handlers - Record mapping hostnames to handler configs in `outboundHandlers`
|
|
104
|
+
* @throws Error if any method name is not found in `outboundHandlers`
|
|
105
|
+
*/
|
|
106
|
+
setOutboundByHosts<Params = unknown>(handlers: OutboundByHostOverrideInput<Params>): Promise<void>;
|
|
19
107
|
/**
|
|
20
108
|
* Start the container if it's not running and set up monitoring and lifecycle hooks,
|
|
21
109
|
* without waiting for ports to be ready.
|
|
@@ -105,6 +193,12 @@ export declare class Container<Env = Cloudflare.Env> extends DurableObject<Env>
|
|
|
105
193
|
* Call this method whenever there is activity on the container
|
|
106
194
|
*/
|
|
107
195
|
renewActivityTimeout(): void;
|
|
196
|
+
/**
|
|
197
|
+
* Decrement the inflight request counter.
|
|
198
|
+
* When the counter transitions to 0, renew the activity timeout so the
|
|
199
|
+
* inactivity window starts fresh from the moment the last request completes.
|
|
200
|
+
*/
|
|
201
|
+
private decrementInflight;
|
|
108
202
|
/**
|
|
109
203
|
* Schedule a task to be executed in the future.
|
|
110
204
|
*
|
|
@@ -148,6 +242,23 @@ export declare class Container<Env = Cloudflare.Env> extends DurableObject<Env>
|
|
|
148
242
|
private monitor;
|
|
149
243
|
private monitorSetup;
|
|
150
244
|
private sleepAfterMs;
|
|
245
|
+
private inflightRequests;
|
|
246
|
+
private outboundByHostOverrides;
|
|
247
|
+
private outboundHandlerOverride?;
|
|
248
|
+
/**
|
|
249
|
+
* Validates that a method name exists in the outboundHandlers registry for this class.
|
|
250
|
+
* @throws Error if the method name is not found
|
|
251
|
+
*/
|
|
252
|
+
private validateOutboundHandlerMethodName;
|
|
253
|
+
private getOutboundConfiguration;
|
|
254
|
+
private persistOutboundConfiguration;
|
|
255
|
+
private restoreOutboundConfiguration;
|
|
256
|
+
private refreshOutboundInterception;
|
|
257
|
+
/**
|
|
258
|
+
* Applies (or re-applies) outbound HTTP interception with the current
|
|
259
|
+
* default registries + runtime overrides passed through ContainerProxy props.
|
|
260
|
+
*/
|
|
261
|
+
private applyOutboundInterception;
|
|
151
262
|
/**
|
|
152
263
|
* Execute SQL queries against the Container's database
|
|
153
264
|
*/
|
|
@@ -196,3 +307,4 @@ export declare class Container<Env = Cloudflare.Env> extends DurableObject<Env>
|
|
|
196
307
|
getSchedule<T = string>(id: string): Promise<Schedule<T> | undefined>;
|
|
197
308
|
private isActivityExpired;
|
|
198
309
|
}
|
|
310
|
+
export {};
|
package/dist/lib/container.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { generateId, parseTimeExpression } from './helpers';
|
|
2
|
-
import { DurableObject } from 'cloudflare:workers';
|
|
2
|
+
import { DurableObject, WorkerEntrypoint } from 'cloudflare:workers';
|
|
3
3
|
// ====================
|
|
4
4
|
// ====================
|
|
5
5
|
// CONSTANTS
|
|
@@ -10,6 +10,7 @@ const RUNTIME_SIGNALLED_ERROR = 'runtime signalled the container to exit:';
|
|
|
10
10
|
const UNEXPECTED_EXIT_ERROR = 'container exited with unexpected exit code:';
|
|
11
11
|
const NOT_LISTENING_ERROR = 'the container is not listening';
|
|
12
12
|
const CONTAINER_STATE_KEY = '__CF_CONTAINER_STATE';
|
|
13
|
+
const OUTBOUND_CONFIGURATION_KEY = 'OUTBOUND_CONFIGURATION';
|
|
13
14
|
// maxRetries before scheduling next alarm is purposely set to 3,
|
|
14
15
|
// as according to DO docs at https://developers.cloudflare.com/durable-objects/api/alarms/
|
|
15
16
|
// the maximum amount for alarm retries is 6.
|
|
@@ -28,6 +29,15 @@ const TIMEOUT_TO_GET_PORTS_MS = 20_000;
|
|
|
28
29
|
// If user has specified no ports and we need to check one
|
|
29
30
|
// to see if the container is up at all.
|
|
30
31
|
const FALLBACK_PORT_TO_CHECK = 33;
|
|
32
|
+
export function outboundParams(_handler, params) {
|
|
33
|
+
return params;
|
|
34
|
+
}
|
|
35
|
+
// class name to named outbound handlers (includes the default outbound handler)
|
|
36
|
+
const outboundHandlersRegistry = new Map();
|
|
37
|
+
// class name to default catch-all outbound handler method name in outboundHandlersRegistry
|
|
38
|
+
const defaultOutboundHandlerNameRegistry = new Map();
|
|
39
|
+
// class name to hostname to default outbound handler function
|
|
40
|
+
const outboundByHostRegistry = new Map();
|
|
31
41
|
const signalToNumbers = {
|
|
32
42
|
SIGINT: 2,
|
|
33
43
|
SIGTERM: 15,
|
|
@@ -143,12 +153,88 @@ class ContainerState {
|
|
|
143
153
|
await this.storage.put(CONTAINER_STATE_KEY, this.status);
|
|
144
154
|
}
|
|
145
155
|
}
|
|
156
|
+
export class ContainerProxy extends WorkerEntrypoint {
|
|
157
|
+
async fetch(request) {
|
|
158
|
+
const url = new URL(request.url);
|
|
159
|
+
const { className, containerId, outboundByHostOverrides, outboundHandlerOverride, enableInternet, } = this.ctx.props;
|
|
160
|
+
const handlers = outboundHandlersRegistry.get(className);
|
|
161
|
+
const baseCtx = { containerId, className };
|
|
162
|
+
// Runtime handler override takes priority over static outboundByHost
|
|
163
|
+
const outboundByHostOverride = outboundByHostOverrides?.[url.hostname];
|
|
164
|
+
if (outboundByHostOverride && handlers?.[outboundByHostOverride.method]) {
|
|
165
|
+
return handlers[outboundByHostOverride.method](request, this.env, {
|
|
166
|
+
...baseCtx,
|
|
167
|
+
params: outboundByHostOverride.params,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
// Static outboundByHost
|
|
171
|
+
const handlersByHost = outboundByHostRegistry.get(className);
|
|
172
|
+
if (handlersByHost && url.hostname in handlersByHost) {
|
|
173
|
+
return handlersByHost[url.hostname](request, this.env, baseCtx);
|
|
174
|
+
}
|
|
175
|
+
// Runtime catch-all handler override
|
|
176
|
+
if (outboundHandlerOverride && handlers?.[outboundHandlerOverride.method]) {
|
|
177
|
+
return handlers[outboundHandlerOverride.method](request, this.env, {
|
|
178
|
+
...baseCtx,
|
|
179
|
+
params: outboundHandlerOverride.params,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
// Default catch-all handler (static outbound)
|
|
183
|
+
const defaultOutboundHandlerName = defaultOutboundHandlerNameRegistry.get(className);
|
|
184
|
+
if (defaultOutboundHandlerName && handlers?.[defaultOutboundHandlerName]) {
|
|
185
|
+
return handlers[defaultOutboundHandlerName](request, this.env, baseCtx);
|
|
186
|
+
}
|
|
187
|
+
// enableInternet fallback
|
|
188
|
+
if (enableInternet) {
|
|
189
|
+
return fetch(request);
|
|
190
|
+
}
|
|
191
|
+
return new Response('Origin is disallowed', { status: 520 });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
146
194
|
// ===============================
|
|
147
195
|
// ===============================
|
|
148
196
|
// MAIN CONTAINER CLASS
|
|
149
197
|
// ===============================
|
|
150
198
|
// ===============================
|
|
199
|
+
//
|
|
151
200
|
export class Container extends DurableObject {
|
|
201
|
+
static get outboundByHost() {
|
|
202
|
+
return outboundByHostRegistry.get(this.name);
|
|
203
|
+
}
|
|
204
|
+
static set outboundByHost(handlers) {
|
|
205
|
+
outboundByHostRegistry.set(this.name, handlers);
|
|
206
|
+
}
|
|
207
|
+
static get outboundHandlers() {
|
|
208
|
+
return outboundHandlersRegistry.get(this.name);
|
|
209
|
+
}
|
|
210
|
+
static set outboundHandlers(handlers) {
|
|
211
|
+
const existing = outboundHandlersRegistry.get(this.name) ?? {};
|
|
212
|
+
outboundHandlersRegistry.set(this.name, { ...existing, ...handlers });
|
|
213
|
+
}
|
|
214
|
+
static get outbound() {
|
|
215
|
+
const handlerName = defaultOutboundHandlerNameRegistry.get(this.name);
|
|
216
|
+
if (!handlerName)
|
|
217
|
+
return undefined;
|
|
218
|
+
return outboundHandlersRegistry.get(this.name)?.[handlerName];
|
|
219
|
+
}
|
|
220
|
+
static set outbound(handler) {
|
|
221
|
+
const key = '__outbound__';
|
|
222
|
+
const existing = outboundHandlersRegistry.get(this.name) ?? {};
|
|
223
|
+
outboundHandlersRegistry.set(this.name, { ...existing, [key]: handler });
|
|
224
|
+
defaultOutboundHandlerNameRegistry.set(this.name, key);
|
|
225
|
+
}
|
|
226
|
+
static get outboundProxies() {
|
|
227
|
+
return this.outboundHandlers;
|
|
228
|
+
}
|
|
229
|
+
static set outboundProxies(handlers) {
|
|
230
|
+
this.outboundHandlers = handlers;
|
|
231
|
+
}
|
|
232
|
+
static get outboundProxy() {
|
|
233
|
+
return this.outbound;
|
|
234
|
+
}
|
|
235
|
+
static set outboundProxy(handler) {
|
|
236
|
+
this.outbound = handler;
|
|
237
|
+
}
|
|
152
238
|
// =========================
|
|
153
239
|
// Public Attributes
|
|
154
240
|
// =========================
|
|
@@ -173,6 +259,8 @@ export class Container extends DurableObject {
|
|
|
173
259
|
// but it's still useful if you want to control the path that
|
|
174
260
|
// the Container class uses to send HTTP requests to.
|
|
175
261
|
pingEndpoint = 'ping';
|
|
262
|
+
applyOutboundInterceptionPromise = Promise.resolve();
|
|
263
|
+
usingInterception = false;
|
|
176
264
|
// =========================
|
|
177
265
|
// PUBLIC INTERFACE
|
|
178
266
|
// =========================
|
|
@@ -188,6 +276,15 @@ export class Container extends DurableObject {
|
|
|
188
276
|
await this.scheduleNextAlarm();
|
|
189
277
|
});
|
|
190
278
|
this.container = ctx.container;
|
|
279
|
+
const persistedOutboundConfiguration = this.restoreOutboundConfiguration();
|
|
280
|
+
const ctor = this.constructor;
|
|
281
|
+
if (persistedOutboundConfiguration !== undefined ||
|
|
282
|
+
ctor.outboundByHost !== undefined ||
|
|
283
|
+
ctor.outbound !== undefined ||
|
|
284
|
+
ctor.outboundHandlers !== undefined) {
|
|
285
|
+
this.usingInterception = true;
|
|
286
|
+
this.applyOutboundInterceptionPromise = this.applyOutboundInterception();
|
|
287
|
+
}
|
|
191
288
|
// Apply options if provided
|
|
192
289
|
if (options) {
|
|
193
290
|
if (options.defaultPort !== undefined)
|
|
@@ -219,6 +316,71 @@ export class Container extends DurableObject {
|
|
|
219
316
|
async getState() {
|
|
220
317
|
return { ...(await this.state.getState()) };
|
|
221
318
|
}
|
|
319
|
+
// ====================================
|
|
320
|
+
// OUTBOUND INTERCEPTION CONFIG
|
|
321
|
+
// ====================================
|
|
322
|
+
/**
|
|
323
|
+
* Set the catch-all outbound handler to a named method from `outboundHandlers`.
|
|
324
|
+
* Overrides the default `outbound` at runtime via ContainerProxy props.
|
|
325
|
+
*
|
|
326
|
+
* @param methodName - Name of a method defined in `static outboundHandlers`
|
|
327
|
+
* @param params - Optional params passed to the handler as `ctx.params`
|
|
328
|
+
* @throws Error if the method name is not found in `outboundHandlers`
|
|
329
|
+
*/
|
|
330
|
+
async setOutboundHandler(methodName, ...paramsArg) {
|
|
331
|
+
this.validateOutboundHandlerMethodName(methodName);
|
|
332
|
+
this.outboundHandlerOverride =
|
|
333
|
+
paramsArg.length === 0
|
|
334
|
+
? { method: methodName }
|
|
335
|
+
: { method: methodName, params: paramsArg[0] };
|
|
336
|
+
await this.refreshOutboundInterception();
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Add or override a hostname-specific outbound handler at runtime,
|
|
340
|
+
* referencing a named method from `outboundHandlers`.
|
|
341
|
+
* Overrides any matching entry in `static outboundByHost` for this hostname.
|
|
342
|
+
*
|
|
343
|
+
* @param hostname - The hostname or ip:port to intercept (e.g. `'google.com'`)
|
|
344
|
+
* @param methodName - Name of a method defined in `static outboundHandlers`
|
|
345
|
+
* @param params - Optional params passed to the handler as `ctx.params`
|
|
346
|
+
* @throws Error if the method name is not found in `outboundHandlers`
|
|
347
|
+
*/
|
|
348
|
+
async setOutboundByHost(hostname, methodName, ...paramsArg) {
|
|
349
|
+
this.validateOutboundHandlerMethodName(methodName);
|
|
350
|
+
this.outboundByHostOverrides[hostname] =
|
|
351
|
+
paramsArg.length === 0
|
|
352
|
+
? { method: methodName }
|
|
353
|
+
: { method: methodName, params: paramsArg[0] };
|
|
354
|
+
await this.refreshOutboundInterception();
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Remove a runtime hostname override added via `setOutboundByHost`.
|
|
358
|
+
* The default handler from `static outboundByHost` (if any) will be used again.
|
|
359
|
+
*
|
|
360
|
+
* @param hostname - The hostname or ip:port to stop overriding
|
|
361
|
+
*/
|
|
362
|
+
async removeOutboundByHost(hostname) {
|
|
363
|
+
delete this.outboundByHostOverrides[hostname];
|
|
364
|
+
await this.refreshOutboundInterception();
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Replace all runtime hostname overrides at once.
|
|
368
|
+
* Each value may be either a method name or an object with `method` and `params`.
|
|
369
|
+
*
|
|
370
|
+
* @param handlers - Record mapping hostnames to handler configs in `outboundHandlers`
|
|
371
|
+
* @throws Error if any method name is not found in `outboundHandlers`
|
|
372
|
+
*/
|
|
373
|
+
async setOutboundByHosts(handlers) {
|
|
374
|
+
for (const handler of Object.values(handlers)) {
|
|
375
|
+
const methodName = typeof handler === 'string' ? handler : handler.method;
|
|
376
|
+
this.validateOutboundHandlerMethodName(methodName);
|
|
377
|
+
}
|
|
378
|
+
this.outboundByHostOverrides = Object.fromEntries(Object.entries(handlers).map(([hostname, handler]) => [
|
|
379
|
+
hostname,
|
|
380
|
+
typeof handler === 'string' ? { method: handler } : handler,
|
|
381
|
+
]));
|
|
382
|
+
await this.refreshOutboundInterception();
|
|
383
|
+
}
|
|
222
384
|
// ==========================
|
|
223
385
|
// CONTAINER STARTING
|
|
224
386
|
// ==========================
|
|
@@ -362,7 +524,7 @@ export class Container extends DurableObject {
|
|
|
362
524
|
}
|
|
363
525
|
// Wait a bit before trying again
|
|
364
526
|
await Promise.any([
|
|
365
|
-
new Promise(resolve => setTimeout(resolve,
|
|
527
|
+
new Promise(resolve => setTimeout(resolve, pollInterval)),
|
|
366
528
|
abortedSignal,
|
|
367
529
|
]);
|
|
368
530
|
if (waitOptions.signal?.aborted) {
|
|
@@ -415,6 +577,7 @@ export class Container extends DurableObject {
|
|
|
415
577
|
* By default, this method calls `this.stop()`
|
|
416
578
|
*/
|
|
417
579
|
async onActivityExpired() {
|
|
580
|
+
console.log('Activity expired, signalling container to stop');
|
|
418
581
|
if (!this.container.running) {
|
|
419
582
|
return;
|
|
420
583
|
}
|
|
@@ -439,6 +602,17 @@ export class Container extends DurableObject {
|
|
|
439
602
|
const timeoutInMs = parseTimeExpression(this.sleepAfter) * 1000;
|
|
440
603
|
this.sleepAfterMs = Date.now() + timeoutInMs;
|
|
441
604
|
}
|
|
605
|
+
/**
|
|
606
|
+
* Decrement the inflight request counter.
|
|
607
|
+
* When the counter transitions to 0, renew the activity timeout so the
|
|
608
|
+
* inactivity window starts fresh from the moment the last request completes.
|
|
609
|
+
*/
|
|
610
|
+
decrementInflight() {
|
|
611
|
+
this.inflightRequests = Math.max(0, this.inflightRequests - 1);
|
|
612
|
+
if (this.inflightRequests === 0) {
|
|
613
|
+
this.renewActivityTimeout();
|
|
614
|
+
}
|
|
615
|
+
}
|
|
442
616
|
// ==================
|
|
443
617
|
// SCHEDULING
|
|
444
618
|
// ==================
|
|
@@ -538,13 +712,84 @@ export class Container extends DurableObject {
|
|
|
538
712
|
const tcpPort = this.container.getTcpPort(port);
|
|
539
713
|
// Create URL for the container request
|
|
540
714
|
const containerUrl = request.url.replace('https:', 'http:');
|
|
715
|
+
this.inflightRequests++;
|
|
541
716
|
try {
|
|
542
717
|
// Renew the activity timeout whenever a request is proxied
|
|
543
718
|
this.renewActivityTimeout();
|
|
544
719
|
const res = await tcpPort.fetch(containerUrl, request);
|
|
720
|
+
if (res.webSocket !== null) {
|
|
721
|
+
// WebSocket response: proxy by accepting both sides and forwarding messages
|
|
722
|
+
const containerWs = res.webSocket;
|
|
723
|
+
const [client, server] = Object.values(new WebSocketPair());
|
|
724
|
+
// Guard to ensure we only decrement inflight once per WebSocket,
|
|
725
|
+
// since both close and error events can fire.
|
|
726
|
+
let settled = false;
|
|
727
|
+
const settleInflight = () => {
|
|
728
|
+
if (!settled) {
|
|
729
|
+
settled = true;
|
|
730
|
+
this.decrementInflight();
|
|
731
|
+
}
|
|
732
|
+
};
|
|
733
|
+
// Accept both WebSocket ends
|
|
734
|
+
containerWs.accept();
|
|
735
|
+
server.accept();
|
|
736
|
+
// Forward messages from client to container
|
|
737
|
+
server.addEventListener('message', (event) => {
|
|
738
|
+
this.renewActivityTimeout();
|
|
739
|
+
try {
|
|
740
|
+
containerWs.send(event.data);
|
|
741
|
+
}
|
|
742
|
+
catch {
|
|
743
|
+
server.close(1011, 'Failed to forward message to container');
|
|
744
|
+
}
|
|
745
|
+
});
|
|
746
|
+
// Forward messages from container to client
|
|
747
|
+
containerWs.addEventListener('message', (event) => {
|
|
748
|
+
this.renewActivityTimeout();
|
|
749
|
+
try {
|
|
750
|
+
server.send(event.data);
|
|
751
|
+
}
|
|
752
|
+
catch {
|
|
753
|
+
containerWs.close(1011, 'Failed to forward message to client');
|
|
754
|
+
}
|
|
755
|
+
});
|
|
756
|
+
// Forward close from client to container
|
|
757
|
+
server.addEventListener('close', (event) => {
|
|
758
|
+
settleInflight();
|
|
759
|
+
// Codes 1005 (No Status Received) and 1006 (Abnormal Closure) are
|
|
760
|
+
// reserved and cannot be sent in a close frame — fall back to 1000.
|
|
761
|
+
const code = event.code === 1005 || event.code === 1006 ? 1000 : event.code;
|
|
762
|
+
containerWs.close(code, event.reason);
|
|
763
|
+
});
|
|
764
|
+
// Forward close from container to client
|
|
765
|
+
containerWs.addEventListener('close', (event) => {
|
|
766
|
+
settleInflight();
|
|
767
|
+
const code = event.code === 1005 || event.code === 1006 ? 1000 : event.code;
|
|
768
|
+
server.close(code, event.reason);
|
|
769
|
+
});
|
|
770
|
+
// Forward errors
|
|
771
|
+
server.addEventListener('error', () => {
|
|
772
|
+
settleInflight();
|
|
773
|
+
containerWs.close(1011, 'Client WebSocket error');
|
|
774
|
+
});
|
|
775
|
+
containerWs.addEventListener('error', () => {
|
|
776
|
+
settleInflight();
|
|
777
|
+
server.close(1011, 'Container WebSocket error');
|
|
778
|
+
});
|
|
779
|
+
return new Response(null, { status: 101, webSocket: client });
|
|
780
|
+
}
|
|
781
|
+
if (res.body !== undefined) {
|
|
782
|
+
let { readable, writable } = new TransformStream();
|
|
783
|
+
res.body?.pipeTo(writable).finally(() => {
|
|
784
|
+
this.decrementInflight();
|
|
785
|
+
});
|
|
786
|
+
return new Response(readable, res);
|
|
787
|
+
}
|
|
788
|
+
this.decrementInflight();
|
|
545
789
|
return res;
|
|
546
790
|
}
|
|
547
791
|
catch (e) {
|
|
792
|
+
this.decrementInflight();
|
|
548
793
|
if (!(e instanceof Error)) {
|
|
549
794
|
throw e;
|
|
550
795
|
}
|
|
@@ -595,9 +840,96 @@ export class Container extends DurableObject {
|
|
|
595
840
|
monitor;
|
|
596
841
|
monitorSetup = false;
|
|
597
842
|
sleepAfterMs = 0;
|
|
843
|
+
inflightRequests = 0;
|
|
844
|
+
// Outbound interception runtime overrides (passed through ContainerProxy props)
|
|
845
|
+
outboundByHostOverrides = {};
|
|
846
|
+
outboundHandlerOverride;
|
|
598
847
|
// ==========================
|
|
599
848
|
// GENERAL HELPERS
|
|
600
849
|
// ==========================
|
|
850
|
+
/**
|
|
851
|
+
* Validates that a method name exists in the outboundHandlers registry for this class.
|
|
852
|
+
* @throws Error if the method name is not found
|
|
853
|
+
*/
|
|
854
|
+
validateOutboundHandlerMethodName(methodName) {
|
|
855
|
+
const handlers = outboundHandlersRegistry.get(this.constructor.name);
|
|
856
|
+
if (!handlers || !(methodName in handlers)) {
|
|
857
|
+
throw new Error(`Outbound handler method '${methodName}' not found in outboundHandlers for ${this.constructor.name}`);
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
getOutboundConfiguration() {
|
|
861
|
+
return {
|
|
862
|
+
enableInternet: this.enableInternet,
|
|
863
|
+
outboundByHostOverrides: Object.keys(this.outboundByHostOverrides).length > 0
|
|
864
|
+
? this.outboundByHostOverrides
|
|
865
|
+
: undefined,
|
|
866
|
+
outboundHandlerOverride: this.outboundHandlerOverride,
|
|
867
|
+
};
|
|
868
|
+
}
|
|
869
|
+
persistOutboundConfiguration(configuration) {
|
|
870
|
+
this.ctx.storage.kv.put(OUTBOUND_CONFIGURATION_KEY, configuration);
|
|
871
|
+
}
|
|
872
|
+
restoreOutboundConfiguration() {
|
|
873
|
+
const configuration = this.ctx.storage.kv.get(OUTBOUND_CONFIGURATION_KEY);
|
|
874
|
+
if (!configuration) {
|
|
875
|
+
return undefined;
|
|
876
|
+
}
|
|
877
|
+
if (configuration.enableInternet !== undefined) {
|
|
878
|
+
this.enableInternet = configuration.enableInternet;
|
|
879
|
+
}
|
|
880
|
+
this.outboundHandlerOverride = undefined;
|
|
881
|
+
if (configuration.outboundHandlerOverride !== undefined) {
|
|
882
|
+
try {
|
|
883
|
+
this.validateOutboundHandlerMethodName(configuration.outboundHandlerOverride.method);
|
|
884
|
+
this.outboundHandlerOverride = configuration.outboundHandlerOverride;
|
|
885
|
+
}
|
|
886
|
+
catch (error) {
|
|
887
|
+
console.warn('Ignoring invalid persisted outbound handler override:', error);
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
this.outboundByHostOverrides = {};
|
|
891
|
+
for (const [hostname, override] of Object.entries(configuration.outboundByHostOverrides ?? {})) {
|
|
892
|
+
try {
|
|
893
|
+
this.validateOutboundHandlerMethodName(override.method);
|
|
894
|
+
this.outboundByHostOverrides[hostname] = override;
|
|
895
|
+
}
|
|
896
|
+
catch (error) {
|
|
897
|
+
console.warn(`Ignoring invalid persisted outbound override for ${hostname}:`, error);
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
return this.getOutboundConfiguration();
|
|
901
|
+
}
|
|
902
|
+
async refreshOutboundInterception() {
|
|
903
|
+
if (!this.usingInterception) {
|
|
904
|
+
return;
|
|
905
|
+
}
|
|
906
|
+
this.applyOutboundInterceptionPromise = this.applyOutboundInterception();
|
|
907
|
+
await this.applyOutboundInterceptionPromise;
|
|
908
|
+
}
|
|
909
|
+
/**
|
|
910
|
+
* Applies (or re-applies) outbound HTTP interception with the current
|
|
911
|
+
* default registries + runtime overrides passed through ContainerProxy props.
|
|
912
|
+
*/
|
|
913
|
+
async applyOutboundInterception() {
|
|
914
|
+
const ctx = this.ctx;
|
|
915
|
+
if (ctx.exports === undefined) {
|
|
916
|
+
throw new Error('ctx.exports is undefined, please try to update your compatibility date or export ContainerProxy from the containers package in your worker entrypoint');
|
|
917
|
+
}
|
|
918
|
+
if (ctx.exports.ContainerProxy === undefined) {
|
|
919
|
+
throw new Error('ctx.exports.ContainerProxy is undefined, export ContainerProxy from the containers package in your worker entrypoint');
|
|
920
|
+
}
|
|
921
|
+
const outboundConfiguration = this.getOutboundConfiguration();
|
|
922
|
+
this.persistOutboundConfiguration(outboundConfiguration);
|
|
923
|
+
await this.container.interceptAllOutboundHttp(ctx.exports.ContainerProxy({
|
|
924
|
+
props: {
|
|
925
|
+
enableInternet: outboundConfiguration.enableInternet,
|
|
926
|
+
containerId: this.ctx.id.toString(),
|
|
927
|
+
className: this.constructor.name,
|
|
928
|
+
outboundByHostOverrides: outboundConfiguration.outboundByHostOverrides,
|
|
929
|
+
outboundHandlerOverride: outboundConfiguration.outboundHandlerOverride,
|
|
930
|
+
},
|
|
931
|
+
}));
|
|
932
|
+
}
|
|
601
933
|
/**
|
|
602
934
|
* Execute SQL queries against the Container's database
|
|
603
935
|
*/
|
|
@@ -689,6 +1021,8 @@ export class Container extends DurableObject {
|
|
|
689
1021
|
const envVars = options?.envVars ?? this.envVars;
|
|
690
1022
|
const entrypoint = options?.entrypoint ?? this.entrypoint;
|
|
691
1023
|
const enableInternet = options?.enableInternet ?? this.enableInternet;
|
|
1024
|
+
// TODO: hopefully, enableInternet can be false in a future where we enable DNS
|
|
1025
|
+
// and TLS paths.
|
|
692
1026
|
// Only include properties that are defined
|
|
693
1027
|
const startConfig = {
|
|
694
1028
|
enableInternet,
|
|
@@ -721,6 +1055,7 @@ export class Container extends DurableObject {
|
|
|
721
1055
|
}
|
|
722
1056
|
await this.scheduleNextAlarm();
|
|
723
1057
|
if (!this.container.running) {
|
|
1058
|
+
await this.refreshOutboundInterception();
|
|
724
1059
|
this.container.start(startConfig);
|
|
725
1060
|
this.monitor = this.container.monitor();
|
|
726
1061
|
}
|
|
@@ -1000,6 +1335,9 @@ export class Container extends DurableObject {
|
|
|
1000
1335
|
return this.toSchedule(schedule);
|
|
1001
1336
|
}
|
|
1002
1337
|
isActivityExpired() {
|
|
1338
|
+
if (this.inflightRequests > 0) {
|
|
1339
|
+
return false;
|
|
1340
|
+
}
|
|
1003
1341
|
return this.sleepAfterMs <= Date.now();
|
|
1004
1342
|
}
|
|
1005
1343
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/lib/container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/lib/container.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudflare/containers",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Helper class for container-enabled Durable Objects",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"license": "ISC",
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@changesets/cli": "^2.29.6",
|
|
43
|
-
"@cloudflare/workers-types": "^4.
|
|
43
|
+
"@cloudflare/workers-types": "^4.20260228.1",
|
|
44
44
|
"@types/jest": "^29.5.14",
|
|
45
45
|
"@types/node": "^22.15.3",
|
|
46
46
|
"@typescript-eslint/eslint-plugin": "^8.31.1",
|