@herdctl/core 2.0.1 → 2.1.0

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.
@@ -59,6 +59,47 @@ export class ContainerManager {
59
59
  */
60
60
  async createContainer(agentName, config, mounts, env) {
61
61
  const containerName = `herdctl-${agentName}-${Date.now()}`;
62
+ // Build port bindings for HostConfig
63
+ const portBindings = {};
64
+ const exposedPorts = {};
65
+ for (const port of config.ports) {
66
+ const containerPortKey = `${port.containerPort}/tcp`;
67
+ portBindings[containerPortKey] = [{ HostPort: String(port.hostPort) }];
68
+ exposedPorts[containerPortKey] = {};
69
+ }
70
+ // Build tmpfs mounts for HostConfig
71
+ const tmpfsMounts = {};
72
+ for (const tmpfs of config.tmpfs) {
73
+ tmpfsMounts[tmpfs.path] = tmpfs.options ?? "";
74
+ }
75
+ // Build our translated HostConfig
76
+ const translatedHostConfig = {
77
+ // Resource limits
78
+ Memory: config.memoryBytes,
79
+ MemorySwap: config.memoryBytes, // Same as Memory = no swap
80
+ CpuShares: config.cpuShares, // undefined = no limit (full CPU access)
81
+ CpuPeriod: config.cpuPeriod, // CPU period in microseconds
82
+ CpuQuota: config.cpuQuota, // CPU quota in microseconds per period
83
+ PidsLimit: config.pidsLimit, // Max processes (prevents fork bombs)
84
+ // Network isolation
85
+ NetworkMode: config.network,
86
+ // Port bindings
87
+ PortBindings: Object.keys(portBindings).length > 0 ? portBindings : undefined,
88
+ // Volume mounts
89
+ Binds: mounts.map((m) => `${m.hostPath}:${m.containerPath}:${m.mode}`),
90
+ // Tmpfs mounts
91
+ Tmpfs: Object.keys(tmpfsMounts).length > 0 ? tmpfsMounts : undefined,
92
+ // Security hardening
93
+ SecurityOpt: ["no-new-privileges:true"],
94
+ CapDrop: ["ALL"],
95
+ ReadonlyRootfs: false, // Claude needs to write temp files
96
+ // Cleanup
97
+ AutoRemove: config.ephemeral,
98
+ };
99
+ // Merge with hostConfigOverride - override values take precedence
100
+ const finalHostConfig = config.hostConfigOverride
101
+ ? { ...translatedHostConfig, ...config.hostConfigOverride }
102
+ : translatedHostConfig;
62
103
  const createOptions = {
63
104
  Image: config.image,
64
105
  name: containerName,
@@ -69,22 +110,11 @@ export class ContainerManager {
69
110
  Cmd: ["sleep", "infinity"],
70
111
  WorkingDir: "/workspace",
71
112
  Env: env,
72
- HostConfig: {
73
- // Resource limits
74
- Memory: config.memoryBytes,
75
- MemorySwap: config.memoryBytes, // Same as Memory = no swap
76
- CpuShares: config.cpuShares, // undefined = no limit (full CPU access)
77
- // Network isolation
78
- NetworkMode: config.network,
79
- // Volume mounts
80
- Binds: mounts.map((m) => `${m.hostPath}:${m.containerPath}:${m.mode}`),
81
- // Security hardening
82
- SecurityOpt: ["no-new-privileges:true"],
83
- CapDrop: ["ALL"],
84
- ReadonlyRootfs: false, // Claude needs to write temp files
85
- // Cleanup
86
- AutoRemove: config.ephemeral,
87
- },
113
+ // Exposed ports (required for port bindings)
114
+ ExposedPorts: Object.keys(exposedPorts).length > 0 ? exposedPorts : undefined,
115
+ // Container labels
116
+ Labels: Object.keys(config.labels).length > 0 ? config.labels : undefined,
117
+ HostConfig: finalHostConfig,
88
118
  // Non-root user
89
119
  User: config.user,
90
120
  };
@@ -1 +1 @@
1
- {"version":3,"file":"container-manager.js","sourceRoot":"","sources":["../../../src/runner/runtime/container-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-manager.js","sourceRoot":"","sources":["../../../src/runner/runtime/container-manager.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * This module provides TypeScript types for Docker container configuration
5
5
  * and utility functions for path mapping and container management.
6
6
  */
7
- import type { DockerInput } from "../../config/schema.js";
7
+ import type { HostConfig } from "dockerode";
8
+ import type { FleetDockerInput } from "../../config/schema.js";
8
9
  /**
9
10
  * Network isolation modes for Docker containers
10
11
  */
@@ -24,6 +25,24 @@ export interface PathMapping {
24
25
  /** Mount mode: read-only or read-write */
25
26
  mode: VolumeMode;
26
27
  }
28
+ /**
29
+ * Port binding configuration
30
+ */
31
+ export interface PortBinding {
32
+ /** Port on the host */
33
+ hostPort: number;
34
+ /** Port in the container */
35
+ containerPort: number;
36
+ }
37
+ /**
38
+ * Tmpfs mount configuration
39
+ */
40
+ export interface TmpfsMount {
41
+ /** Path inside the container */
42
+ path: string;
43
+ /** Mount options (e.g., "size=100m,mode=1777") */
44
+ options?: string;
45
+ }
27
46
  /**
28
47
  * Resolved Docker configuration with defaults applied
29
48
  */
@@ -40,6 +59,10 @@ export interface DockerConfig {
40
59
  memoryBytes: number;
41
60
  /** CPU shares (relative weight) */
42
61
  cpuShares?: number;
62
+ /** CPU period in microseconds (for hard CPU limits) */
63
+ cpuPeriod?: number;
64
+ /** CPU quota in microseconds per period (for hard CPU limits) */
65
+ cpuQuota?: number;
43
66
  /** Container user as "UID:GID" string */
44
67
  user: string;
45
68
  /** Maximum containers to keep per agent */
@@ -50,6 +73,16 @@ export interface DockerConfig {
50
73
  workspaceMode: VolumeMode;
51
74
  /** Environment variables to pass to the container */
52
75
  env: Record<string, string>;
76
+ /** Port bindings */
77
+ ports: PortBinding[];
78
+ /** Tmpfs mounts */
79
+ tmpfs: TmpfsMount[];
80
+ /** Maximum number of processes (PIDs) */
81
+ pidsLimit?: number;
82
+ /** Container labels */
83
+ labels: Record<string, string>;
84
+ /** Raw dockerode HostConfig passthrough (fleet-level only) */
85
+ hostConfigOverride?: HostConfig;
53
86
  }
54
87
  /**
55
88
  * Default Docker image for Claude Code containers
@@ -74,6 +107,22 @@ export declare const DEFAULT_MAX_CONTAINERS = 5;
74
107
  * @throws Error if format is invalid
75
108
  */
76
109
  export declare function parseMemoryToBytes(memory: string): number;
110
+ /**
111
+ * Parse port binding string to PortBinding
112
+ *
113
+ * @param port - Port string in format "hostPort:containerPort" or "containerPort"
114
+ * @returns PortBinding object
115
+ * @throws Error if format is invalid
116
+ */
117
+ export declare function parsePortBinding(port: string): PortBinding;
118
+ /**
119
+ * Parse tmpfs mount string to TmpfsMount
120
+ *
121
+ * @param tmpfs - Tmpfs string in format "/path" or "/path:options"
122
+ * @returns TmpfsMount object
123
+ * @throws Error if format is invalid
124
+ */
125
+ export declare function parseTmpfsMount(tmpfs: string): TmpfsMount;
77
126
  /**
78
127
  * Parse volume mount string to PathMapping
79
128
  *
@@ -89,12 +138,14 @@ export declare function parseVolumeMount(volume: string): PathMapping;
89
138
  */
90
139
  export declare function getHostUser(): string;
91
140
  /**
92
- * Resolve Docker config from agent configuration
141
+ * Resolve Docker config from fleet/agent configuration
93
142
  *
94
143
  * Applies defaults and parses string values to typed equivalents.
144
+ * After agent and fleet configs are merged, the result may include
145
+ * fleet-level options (image, network, volumes, etc.) and host_config.
95
146
  *
96
- * @param docker - Docker configuration from agent config (may be partial)
147
+ * @param docker - Docker configuration (merged agent + fleet config)
97
148
  * @returns Fully resolved DockerConfig
98
149
  */
99
- export declare function resolveDockerConfig(docker?: DockerInput): DockerConfig;
150
+ export declare function resolveDockerConfig(docker?: FleetDockerInput): DockerConfig;
100
151
  //# sourceMappingURL=docker-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docker-config.d.ts","sourceRoot":"","sources":["../../../src/runner/runtime/docker-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,2BAA2B;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBzD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAoB5D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY,CActE"}
1
+ {"version":3,"file":"docker-config.d.ts","sourceRoot":"","sources":["../../../src/runner/runtime/docker-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,2BAA2B;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,oBAAoB;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mBAAmB;IACnB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,UAAU,CAAC;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBzD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAkB1D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAYzD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAoB5D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAqB3E"}
@@ -42,6 +42,44 @@ export function parseMemoryToBytes(memory) {
42
42
  };
43
43
  return Math.floor(value * multipliers[unit]);
44
44
  }
45
+ /**
46
+ * Parse port binding string to PortBinding
47
+ *
48
+ * @param port - Port string in format "hostPort:containerPort" or "containerPort"
49
+ * @returns PortBinding object
50
+ * @throws Error if format is invalid
51
+ */
52
+ export function parsePortBinding(port) {
53
+ const parts = port.split(":");
54
+ if (parts.length === 1) {
55
+ // Just container port - use same port on host
56
+ const containerPort = parseInt(parts[0], 10);
57
+ return { hostPort: containerPort, containerPort };
58
+ }
59
+ if (parts.length === 2) {
60
+ const hostPort = parseInt(parts[0], 10);
61
+ const containerPort = parseInt(parts[1], 10);
62
+ return { hostPort, containerPort };
63
+ }
64
+ throw new Error(`Invalid port format: "${port}". Use "hostPort:containerPort" or "containerPort".`);
65
+ }
66
+ /**
67
+ * Parse tmpfs mount string to TmpfsMount
68
+ *
69
+ * @param tmpfs - Tmpfs string in format "/path" or "/path:options"
70
+ * @returns TmpfsMount object
71
+ * @throws Error if format is invalid
72
+ */
73
+ export function parseTmpfsMount(tmpfs) {
74
+ const colonIndex = tmpfs.indexOf(":");
75
+ if (colonIndex === -1) {
76
+ // Just path, no options
77
+ return { path: tmpfs };
78
+ }
79
+ const path = tmpfs.slice(0, colonIndex);
80
+ const options = tmpfs.slice(colonIndex + 1);
81
+ return { path, options };
82
+ }
45
83
  /**
46
84
  * Parse volume mount string to PathMapping
47
85
  *
@@ -73,11 +111,13 @@ export function getHostUser() {
73
111
  return `${uid}:${gid}`;
74
112
  }
75
113
  /**
76
- * Resolve Docker config from agent configuration
114
+ * Resolve Docker config from fleet/agent configuration
77
115
  *
78
116
  * Applies defaults and parses string values to typed equivalents.
117
+ * After agent and fleet configs are merged, the result may include
118
+ * fleet-level options (image, network, volumes, etc.) and host_config.
79
119
  *
80
- * @param docker - Docker configuration from agent config (may be partial)
120
+ * @param docker - Docker configuration (merged agent + fleet config)
81
121
  * @returns Fully resolved DockerConfig
82
122
  */
83
123
  export function resolveDockerConfig(docker) {
@@ -88,11 +128,18 @@ export function resolveDockerConfig(docker) {
88
128
  network: docker?.network ?? "bridge",
89
129
  memoryBytes: parseMemoryToBytes(docker?.memory ?? DEFAULT_MEMORY_LIMIT),
90
130
  cpuShares: docker?.cpu_shares,
131
+ cpuPeriod: docker?.cpu_period,
132
+ cpuQuota: docker?.cpu_quota,
91
133
  user: docker?.user ?? getHostUser(),
92
134
  maxContainers: docker?.max_containers ?? DEFAULT_MAX_CONTAINERS,
93
135
  volumes: docker?.volumes?.map(parseVolumeMount) ?? [],
94
136
  workspaceMode: docker?.workspace_mode ?? "rw",
95
137
  env: docker?.env ?? {},
138
+ ports: docker?.ports?.map(parsePortBinding) ?? [],
139
+ tmpfs: docker?.tmpfs?.map(parseTmpfsMount) ?? [],
140
+ pidsLimit: docker?.pids_limit,
141
+ labels: docker?.labels ?? {},
142
+ hostConfigOverride: docker?.host_config,
96
143
  };
97
144
  }
98
145
  //# sourceMappingURL=docker-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docker-config.js","sourceRoot":"","sources":["../../../src/runner/runtime/docker-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker-config.js","sourceRoot":"","sources":["../../../src/runner/runtime/docker-config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herdctl/core",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "Core library for herdctl fleet management",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -20,7 +20,7 @@
20
20
  "zod": "^3.22.0"
21
21
  },
22
22
  "peerDependencies": {
23
- "@herdctl/discord": "0.1.6"
23
+ "@herdctl/discord": "0.1.7"
24
24
  },
25
25
  "peerDependenciesMeta": {
26
26
  "@herdctl/discord": {