diff --git a/app/server/headscale/config-loader.ts b/app/server/headscale/config-loader.ts index 151dfbf..e06058c 100644 --- a/app/server/headscale/config-loader.ts +++ b/app/server/headscale/config-loader.ts @@ -332,7 +332,6 @@ function augmentUnstrictConfig(loaded: Partial) { tls_letsencrypt_challenge_type: loaded.tls_letsencrypt_challenge_type ?? "HTTP-01", grpc_listen_addr: loaded.grpc_listen_addr ?? ":50443", grpc_allow_insecure: loaded.grpc_allow_insecure ?? false, - randomize_client_port: loaded.randomize_client_port ?? false, unix_socket: loaded.unix_socket ?? "/var/run/headscale/headscale.sock", unix_socket_permission: loaded.unix_socket_permission ?? "0770", diff --git a/app/server/headscale/config-schema.ts b/app/server/headscale/config-schema.ts index 6701a47..2381f87 100644 --- a/app/server/headscale/config-schema.ts +++ b/app/server/headscale/config-schema.ts @@ -79,7 +79,19 @@ export const headscaleConfig = type({ }, disable_check_updates: goBool.default(false), - ephemeral_node_inactivity_timeout: goDuration.default("30m"), + "ephemeral_node_inactivity_timeout?": goDuration, + "node?": { + expiry: goDuration.default("0"), + "ephemeral?": { + inactivity_timeout: goDuration.default("30m"), + }, + "routes?": { + "ha?": { + probe_interval: goDuration.default("10s"), + probe_timeout: goDuration.default("5s"), + }, + }, + }, database: databaseConfig, acme_url: 'string = "https://acme-v02.api.letsencrypt.org/directory"', @@ -147,5 +159,8 @@ export const headscaleConfig = type({ enabled: goBool.default(false), }, - randomize_client_port: goBool.default(false), + "randomize_client_port?": goBool, + "auto_update?": { + enabled: goBool.default(false), + }, }); diff --git a/tests/integration/api/versions.test.ts b/tests/integration/api/versions.test.ts index b7335e8..8c8ed46 100644 --- a/tests/integration/api/versions.test.ts +++ b/tests/integration/api/versions.test.ts @@ -26,7 +26,7 @@ describe.for(HS_VERSIONS)("Headscale %s: Runtime Client", (version) => { expect(bootstrapper.capabilities.nodeOwnerIsImmutable).toBe(gte(v, "0.28.0")); // If a future version is added to HS_VERSIONS before this test is // updated, surface that explicitly rather than passing silently. - const known: Version[] = ["0.27.0", "0.27.1", "0.28.0"]; + const known: Version[] = ["0.27.0", "0.27.1", "0.28.0", "0.29.0", "0.29.1"]; if (!known.includes(version)) { context.skip(); } diff --git a/tests/integration/platform/proc.test.ts b/tests/integration/platform/proc.test.ts index 6873931..16c172c 100644 --- a/tests/integration/platform/proc.test.ts +++ b/tests/integration/platform/proc.test.ts @@ -10,6 +10,7 @@ import { afterAll, beforeAll, describe, expect, test } from "vitest"; // This is a little shim file that we use to execute the real proc-helper that // is bundled through Vite in order to test against a real Linux /proc FS. const testRunner = ` +process.env.NODE_ENV = "test"; const { findHeadscaleServe } = require("./proc-helper.js"); async function main() { diff --git a/tests/integration/setup/config.yaml b/tests/integration/setup/config.yaml index d06d210..0a059fe 100644 --- a/tests/integration/setup/config.yaml +++ b/tests/integration/setup/config.yaml @@ -71,4 +71,3 @@ unix_socket: /var/run/headscale/headscale.sock unix_socket_permission: "0770" logtail: enabled: false -randomize_client_port: false diff --git a/tests/integration/setup/env.ts b/tests/integration/setup/env.ts index 578e2c9..26554ad 100644 --- a/tests/integration/setup/env.ts +++ b/tests/integration/setup/env.ts @@ -6,7 +6,7 @@ import { startTailscaleNode, TailscaleNodeEnv } from "./start-tailscale"; // The set of Headscale versions integration tests run against. Listed // explicitly (rather than derived from a generated manifest) so the // supported version matrix lives next to the code that uses it. -export const HS_VERSIONS = ["0.27.0", "0.27.1", "0.28.0"] as const; +export const HS_VERSIONS = ["0.27.0", "0.27.1", "0.28.0", "0.29.0", "0.29.1"] as const; export type Version = (typeof HS_VERSIONS)[number]; interface VersionStateEntry { diff --git a/vitest.config.ts b/vitest.config.ts index 8cd8a52..68b06a4 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -33,7 +33,7 @@ export default defineConfig({ name: "integration:api", include: ["tests/integration/api/**/*.test.ts"], setupFiles: ["tests/integration/setup/vitest-hook.ts"], - testTimeout: 15_000, + testTimeout: 60_000, }, }, {