Skip to content

Commit c260a5c

Browse files
committed
deterministic runner ids
1 parent 2fef889 commit c260a5c

File tree

4 files changed

+9
-11
lines changed

4 files changed

+9
-11
lines changed

apps/supervisor/src/util.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ export function getDockerHostDomain() {
44

55
return isMacOs || isWindows ? "host.docker.internal" : "localhost";
66
}
7+
8+
export function getRunnerId(runId: string) {
9+
return `runner-${runId.replace("run_", "")}`;
10+
}

apps/supervisor/src/workloadManager/docker.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import { SimpleStructuredLogger } from "@trigger.dev/core/v3/utils/structuredLogger";
2-
import { RunnerId } from "@trigger.dev/core/v3/isomorphic";
32
import {
43
type WorkloadManager,
54
type WorkloadManagerCreateOptions,
65
type WorkloadManagerOptions,
76
} from "./types.js";
87
import { x } from "tinyexec";
98
import { env } from "../env.js";
10-
import { getDockerHostDomain } from "../util.js";
9+
import { getDockerHostDomain, getRunnerId } from "../util.js";
1110

1211
export class DockerWorkloadManager implements WorkloadManager {
1312
private readonly logger = new SimpleStructuredLogger("docker-workload-provider");
@@ -23,7 +22,8 @@ export class DockerWorkloadManager implements WorkloadManager {
2322
async create(opts: WorkloadManagerCreateOptions) {
2423
this.logger.log("[DockerWorkloadProvider] Creating container", { opts });
2524

26-
const runnerId = RunnerId.generate();
25+
const runnerId = getRunnerId(opts.runFriendlyId);
26+
2727
const runArgs = [
2828
"run",
2929
"--detach",

apps/supervisor/src/workloadManager/kubernetes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import {
44
type WorkloadManagerCreateOptions,
55
type WorkloadManagerOptions,
66
} from "./types.js";
7-
import { RunnerId } from "@trigger.dev/core/v3/isomorphic";
87
import type { EnvironmentType, MachinePreset } from "@trigger.dev/core/v3";
98
import { env } from "../env.js";
109
import { type K8sApi, createK8sApi, type k8s } from "../clients/kubernetes.js";
10+
import { getRunnerId } from "../util.js";
1111

1212
type ResourceQuantities = {
1313
[K in "cpu" | "memory" | "ephemeral-storage"]?: string;
@@ -31,7 +31,7 @@ export class KubernetesWorkloadManager implements WorkloadManager {
3131
async create(opts: WorkloadManagerCreateOptions) {
3232
this.logger.log("[KubernetesWorkloadManager] Creating container", { opts });
3333

34-
const runnerId = RunnerId.generate().replace(/_/g, "-");
34+
const runnerId = getRunnerId(opts.runFriendlyId);
3535

3636
try {
3737
await this.k8s.core.createNamespacedPod({

packages/core/src/v3/isomorphic/friendlyId.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,3 @@ export class IdGenerator {
110110
return `${this.prefix}${customAlphabet(this.alphabet, this.length)()}`;
111111
}
112112
}
113-
114-
export const RunnerId = new IdGenerator({
115-
alphabet: "123456789abcdefghijkmnopqrstuvwxyz",
116-
length: 20,
117-
prefix: "runner_",
118-
});

0 commit comments

Comments
 (0)