From ebea84d0778ad5aef4eb6fa67948a2f10eb1caed Mon Sep 17 00:00:00 2001 From: Aarnav Tale Date: Sun, 4 May 2025 15:32:10 -0400 Subject: [PATCH] chore: tighten pid logic --- app/server/config/integration/cmdline.ts | 3 --- app/server/config/integration/proc.ts | 7 ++++--- 2 files changed, 4 insertions(+), 6 deletions(-) delete mode 100644 app/server/config/integration/cmdline.ts diff --git a/app/server/config/integration/cmdline.ts b/app/server/config/integration/cmdline.ts deleted file mode 100644 index e3f06cd..0000000 --- a/app/server/config/integration/cmdline.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function isHeadscaleServeCmd(cmdline: string): boolean { - return cmdline.includes('headscale') && cmdline.includes("serve"); -} diff --git a/app/server/config/integration/proc.ts b/app/server/config/integration/proc.ts index de6650c..a65cd08 100644 --- a/app/server/config/integration/proc.ts +++ b/app/server/config/integration/proc.ts @@ -7,7 +7,6 @@ import { ApiClient } from '~/server/headscale/api-client'; import log from '~/utils/log'; import { HeadplaneConfig } from '../schema'; import { Integration } from './abstract'; -import { isHeadscaleServeCmd } from './cmdline.ts'; type T = NonNullable['proc']; export default class ProcIntegration extends Integration { @@ -39,9 +38,11 @@ export default class ProcIntegration extends Integration { try { log.debug('config', 'Reading %s', path); const data = await readFile(path, 'utf8'); - if (isHeadscaleServeCmd(data)) { - return pid; + if (!data.includes('headscale') && !data.includes('serve')) { + throw new Error('Found PID without Headscale serve command'); } + + return pid; } catch (error) { log.error('config', 'Failed to read %s: %s', path, error); }