Skip to content

Commit 6202130

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/ecr-support
2 parents 512d682 + b7134dd commit 6202130

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+2067
-559
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"trigger.dev": patch
3+
---
4+
5+
experimental processKeepAlive

.changeset/wet-dragons-boil.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"trigger.dev": patch
3+
---
4+
5+
Serialize metadata to prevent invalid metadata from breaking run completions

apps/supervisor/src/util.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import { isMacOS, isWindows } from "std-env";
22

3+
export function normalizeDockerHostUrl(url: string) {
4+
const $url = new URL(url);
5+
6+
if ($url.hostname === "localhost") {
7+
$url.hostname = getDockerHostDomain();
8+
}
9+
10+
return $url.toString();
11+
}
12+
313
export function getDockerHostDomain() {
414
return isMacOS || isWindows ? "host.docker.internal" : "localhost";
515
}

apps/supervisor/src/workloadManager/docker.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
type WorkloadManagerOptions,
66
} from "./types.js";
77
import { env } from "../env.js";
8-
import { getDockerHostDomain, getRunnerId } from "../util.js";
8+
import { getDockerHostDomain, getRunnerId, normalizeDockerHostUrl } from "../util.js";
99
import Docker from "dockerode";
1010
import { tryCatch } from "@trigger.dev/core";
1111

@@ -78,7 +78,7 @@ export class DockerWorkloadManager implements WorkloadManager {
7878
];
7979

8080
if (this.opts.warmStartUrl) {
81-
envVars.push(`TRIGGER_WARM_START_URL=${this.opts.warmStartUrl}`);
81+
envVars.push(`TRIGGER_WARM_START_URL=${normalizeDockerHostUrl(this.opts.warmStartUrl)}`);
8282
}
8383

8484
if (this.opts.metadataUrl) {

apps/webapp/app/env.server.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { z } from "zod";
22
import { isValidDatabaseUrl } from "./utils/db";
33
import { isValidRegex } from "./utils/regex";
44
import { BoolEnv } from "./utils/boolEnv";
5+
import { OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT, OTEL_LINK_COUNT_LIMIT } from "@trigger.dev/core/v3";
56

67
const EnvironmentSchema = z.object({
78
NODE_ENV: z.union([z.literal("development"), z.literal("production"), z.literal("test")]),
@@ -282,6 +283,15 @@ const EnvironmentSchema = z.object({
282283
PROD_OTEL_LOG_EXPORT_TIMEOUT_MILLIS: z.string().default("30000"),
283284
PROD_OTEL_LOG_MAX_QUEUE_SIZE: z.string().default("512"),
284285

286+
TRIGGER_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT: z.string().default("256"),
287+
TRIGGER_OTEL_LOG_ATTRIBUTE_COUNT_LIMIT: z.string().default("256"),
288+
TRIGGER_OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT: z.string().default("131072"),
289+
TRIGGER_OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT: z.string().default("131072"),
290+
TRIGGER_OTEL_SPAN_EVENT_COUNT_LIMIT: z.string().default("10"),
291+
TRIGGER_OTEL_LINK_COUNT_LIMIT: z.string().default("2"),
292+
TRIGGER_OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT: z.string().default("10"),
293+
TRIGGER_OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT: z.string().default("10"),
294+
285295
CHECKPOINT_THRESHOLD_IN_MS: z.coerce.number().int().default(30000),
286296

287297
// Internal OTEL environment variables

apps/webapp/app/utils/timelineSpanEvents.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,6 @@ function getFriendlyNameForEvent(event: string, properties?: Record<string, any>
142142
return "Attempt created";
143143
}
144144
case "import": {
145-
if (properties && typeof properties.file === "string") {
146-
return `Importing ${properties.file}`;
147-
}
148145
return "Importing task file";
149146
}
150147
case "lazy_payload": {

apps/webapp/app/v3/environmentVariables/environmentVariablesRepository.server.ts

Lines changed: 90 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -810,6 +810,7 @@ export const RuntimeEnvironmentForEnvRepoPayload = {
810810
apiKey: true,
811811
organizationId: true,
812812
branchName: true,
813+
builtInEnvironmentVariableOverrides: true,
813814
},
814815
} as const;
815816

@@ -1025,5 +1026,93 @@ async function resolveBuiltInProdVariables(
10251026
async function resolveCommonBuiltInVariables(
10261027
runtimeEnvironment: RuntimeEnvironmentForEnvRepo
10271028
): Promise<Array<EnvironmentVariable>> {
1028-
return [];
1029+
return [
1030+
{
1031+
key: "TRIGGER_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT",
1032+
value: resolveBuiltInEnvironmentVariableOverrides(
1033+
"TRIGGER_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT",
1034+
runtimeEnvironment,
1035+
String(env.TRIGGER_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT)
1036+
),
1037+
},
1038+
{
1039+
key: "TRIGGER_OTEL_LOG_ATTRIBUTE_COUNT_LIMIT",
1040+
value: resolveBuiltInEnvironmentVariableOverrides(
1041+
"TRIGGER_OTEL_LOG_ATTRIBUTE_COUNT_LIMIT",
1042+
runtimeEnvironment,
1043+
String(env.TRIGGER_OTEL_LOG_ATTRIBUTE_COUNT_LIMIT)
1044+
),
1045+
},
1046+
{
1047+
key: "TRIGGER_OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT",
1048+
value: resolveBuiltInEnvironmentVariableOverrides(
1049+
"TRIGGER_OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT",
1050+
runtimeEnvironment,
1051+
String(env.TRIGGER_OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT)
1052+
),
1053+
},
1054+
{
1055+
key: "TRIGGER_OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT",
1056+
value: resolveBuiltInEnvironmentVariableOverrides(
1057+
"TRIGGER_OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT",
1058+
runtimeEnvironment,
1059+
String(env.TRIGGER_OTEL_LOG_ATTRIBUTE_VALUE_LENGTH_LIMIT)
1060+
),
1061+
},
1062+
{
1063+
key: "TRIGGER_OTEL_SPAN_EVENT_COUNT_LIMIT",
1064+
value: resolveBuiltInEnvironmentVariableOverrides(
1065+
"TRIGGER_OTEL_SPAN_EVENT_COUNT_LIMIT",
1066+
runtimeEnvironment,
1067+
String(env.TRIGGER_OTEL_SPAN_EVENT_COUNT_LIMIT)
1068+
),
1069+
},
1070+
{
1071+
key: "TRIGGER_OTEL_LINK_COUNT_LIMIT",
1072+
value: resolveBuiltInEnvironmentVariableOverrides(
1073+
"TRIGGER_OTEL_LINK_COUNT_LIMIT",
1074+
runtimeEnvironment,
1075+
String(env.TRIGGER_OTEL_LINK_COUNT_LIMIT)
1076+
),
1077+
},
1078+
{
1079+
key: "TRIGGER_OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT",
1080+
value: resolveBuiltInEnvironmentVariableOverrides(
1081+
"TRIGGER_OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT",
1082+
runtimeEnvironment,
1083+
String(env.TRIGGER_OTEL_ATTRIBUTE_PER_LINK_COUNT_LIMIT)
1084+
),
1085+
},
1086+
{
1087+
key: "TRIGGER_OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT",
1088+
value: resolveBuiltInEnvironmentVariableOverrides(
1089+
"TRIGGER_OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT",
1090+
runtimeEnvironment,
1091+
String(env.TRIGGER_OTEL_ATTRIBUTE_PER_EVENT_COUNT_LIMIT)
1092+
),
1093+
},
1094+
];
1095+
}
1096+
1097+
function resolveBuiltInEnvironmentVariableOverrides(
1098+
key: string,
1099+
runtimeEnvironment: RuntimeEnvironmentForEnvRepo,
1100+
defaultValue: string
1101+
) {
1102+
const overrides = runtimeEnvironment.builtInEnvironmentVariableOverrides;
1103+
1104+
if (!overrides) {
1105+
return defaultValue;
1106+
}
1107+
1108+
if (
1109+
!Array.isArray(overrides) &&
1110+
typeof overrides === "object" &&
1111+
key in overrides &&
1112+
typeof overrides[key] === "string"
1113+
) {
1114+
return overrides[key];
1115+
}
1116+
1117+
return defaultValue;
10291118
}

0 commit comments

Comments
 (0)