chore: tighten pid logic

This commit is contained in:
Aarnav Tale
2025-05-04 15:32:10 -04:00
parent 602e55a94d
commit f56d4e9d9f
2 changed files with 4 additions and 6 deletions
-3
View File
@@ -1,3 +0,0 @@
export function isHeadscaleServeCmd(cmdline: string): boolean {
return cmdline.includes('headscale') && cmdline.includes("serve");
}
+4 -3
View File
@@ -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<HeadplaneConfig['integration']>['proc'];
export default class ProcIntegration extends Integration<T> {
@@ -39,9 +38,11 @@ export default class ProcIntegration extends Integration<T> {
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);
}