fix(daemon): scope token drift warnings
This commit is contained in:
@@ -236,6 +236,7 @@ export async function runServiceRestart(params: {
|
||||
service: GatewayService;
|
||||
renderStartHints: () => string[];
|
||||
opts?: DaemonLifecycleOptions;
|
||||
checkTokenDrift?: boolean;
|
||||
}): Promise<boolean> {
|
||||
const json = Boolean(params.opts?.json);
|
||||
const { stdout, emit, fail } = createActionIO({ action: "restart", json });
|
||||
@@ -259,31 +260,33 @@ export async function runServiceRestart(params: {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check for token drift before restart (service token vs config token)
|
||||
const warnings: string[] = [];
|
||||
try {
|
||||
const command = await params.service.readCommand(process.env);
|
||||
const serviceToken = command?.environment?.OPENCLAW_GATEWAY_TOKEN;
|
||||
const cfg = loadConfig();
|
||||
const configToken =
|
||||
cfg.gateway?.auth?.token ||
|
||||
process.env.OPENCLAW_GATEWAY_TOKEN ||
|
||||
process.env.CLAWDBOT_GATEWAY_TOKEN;
|
||||
const driftIssue = checkTokenDrift({ serviceToken, configToken });
|
||||
if (driftIssue) {
|
||||
const warning = driftIssue.detail
|
||||
? `${driftIssue.message} ${driftIssue.detail}`
|
||||
: driftIssue.message;
|
||||
warnings.push(warning);
|
||||
if (!json) {
|
||||
defaultRuntime.log(`\n⚠️ ${driftIssue.message}`);
|
||||
if (driftIssue.detail) {
|
||||
defaultRuntime.log(` ${driftIssue.detail}\n`);
|
||||
if (params.checkTokenDrift) {
|
||||
// Check for token drift before restart (service token vs config token)
|
||||
try {
|
||||
const command = await params.service.readCommand(process.env);
|
||||
const serviceToken = command?.environment?.OPENCLAW_GATEWAY_TOKEN;
|
||||
const cfg = loadConfig();
|
||||
const configToken =
|
||||
cfg.gateway?.auth?.token ||
|
||||
process.env.OPENCLAW_GATEWAY_TOKEN ||
|
||||
process.env.CLAWDBOT_GATEWAY_TOKEN;
|
||||
const driftIssue = checkTokenDrift({ serviceToken, configToken });
|
||||
if (driftIssue) {
|
||||
const warning = driftIssue.detail
|
||||
? `${driftIssue.message} ${driftIssue.detail}`
|
||||
: driftIssue.message;
|
||||
warnings.push(warning);
|
||||
if (!json) {
|
||||
defaultRuntime.log(`\n⚠️ ${driftIssue.message}`);
|
||||
if (driftIssue.detail) {
|
||||
defaultRuntime.log(` ${driftIssue.detail}\n`);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
// Non-fatal: token drift check is best-effort
|
||||
}
|
||||
} catch {
|
||||
// Non-fatal: token drift check is best-effort
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user