mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-16 20:02:55 +00:00
Disable intervals in saas
This commit is contained in:
@@ -4,8 +4,12 @@ import { cleanUpOldLogs as cleanUpOldActionLogs } from "#dynamic/middlewares/log
|
|||||||
import { cleanUpOldLogs as cleanUpOldRequestLogs } from "@server/routers/badger/logRequestAudit";
|
import { cleanUpOldLogs as cleanUpOldRequestLogs } from "@server/routers/badger/logRequestAudit";
|
||||||
import { gt, or } from "drizzle-orm";
|
import { gt, or } from "drizzle-orm";
|
||||||
import { cleanUpOldFingerprintSnapshots } from "@server/routers/olm/fingerprintingUtils";
|
import { cleanUpOldFingerprintSnapshots } from "@server/routers/olm/fingerprintingUtils";
|
||||||
|
import { build } from "@server/build";
|
||||||
|
|
||||||
export function initLogCleanupInterval() {
|
export function initLogCleanupInterval() {
|
||||||
|
if (build == "saas") { // skip log cleanup for saas builds
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return setInterval(
|
return setInterval(
|
||||||
async () => {
|
async () => {
|
||||||
const orgsToClean = await db
|
const orgsToClean = await db
|
||||||
|
|||||||
@@ -17,10 +17,13 @@ import {
|
|||||||
startRemoteExitNodeOfflineChecker
|
startRemoteExitNodeOfflineChecker
|
||||||
} from "#private/routers/remoteExitNode";
|
} from "#private/routers/remoteExitNode";
|
||||||
import { MessageHandler } from "@server/routers/ws";
|
import { MessageHandler } from "@server/routers/ws";
|
||||||
|
import { build } from "@server/build";
|
||||||
|
|
||||||
export const messageHandlers: Record<string, MessageHandler> = {
|
export const messageHandlers: Record<string, MessageHandler> = {
|
||||||
"remoteExitNode/register": handleRemoteExitNodeRegisterMessage,
|
"remoteExitNode/register": handleRemoteExitNodeRegisterMessage,
|
||||||
"remoteExitNode/ping": handleRemoteExitNodePingMessage
|
"remoteExitNode/ping": handleRemoteExitNodePingMessage
|
||||||
};
|
};
|
||||||
|
|
||||||
startRemoteExitNodeOfflineChecker(); // this is to handle the offline check for remote exit nodes
|
if (build != "saas") {
|
||||||
|
startRemoteExitNodeOfflineChecker(); // this is to handle the offline check for remote exit nodes
|
||||||
|
}
|
||||||
|
|||||||
34
server/routers/newt/handleNewtDisconnectingMessage.ts
Normal file
34
server/routers/newt/handleNewtDisconnectingMessage.ts
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
import { MessageHandler } from "@server/routers/ws";
|
||||||
|
import { db, Newt, sites } from "@server/db";
|
||||||
|
import { eq } from "drizzle-orm";
|
||||||
|
import logger from "@server/logger";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles disconnecting messages from sites to show disconnected in the ui
|
||||||
|
*/
|
||||||
|
export const handleNewtDisconnectingMessage: MessageHandler = async (context) => {
|
||||||
|
const { message, client: c, sendToClient } = context;
|
||||||
|
const newt = c as Newt;
|
||||||
|
|
||||||
|
if (!newt) {
|
||||||
|
logger.warn("Newt not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!newt.siteId) {
|
||||||
|
logger.warn("Newt has no client ID!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Update the client's last ping timestamp
|
||||||
|
await db
|
||||||
|
.update(sites)
|
||||||
|
.set({
|
||||||
|
online: false
|
||||||
|
})
|
||||||
|
.where(eq(sites.siteId, sites.siteId));
|
||||||
|
} catch (error) {
|
||||||
|
logger.error("Error handling disconnecting message", { error });
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -7,3 +7,4 @@ export * from "./handleSocketMessages";
|
|||||||
export * from "./handleNewtPingRequestMessage";
|
export * from "./handleNewtPingRequestMessage";
|
||||||
export * from "./handleApplyBlueprintMessage";
|
export * from "./handleApplyBlueprintMessage";
|
||||||
export * from "./handleNewtPingMessage";
|
export * from "./handleNewtPingMessage";
|
||||||
|
export * from "./handleNewtDisconnectingMessage";
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import logger from "@server/logger";
|
|||||||
/**
|
/**
|
||||||
* Handles disconnecting messages from clients to show disconnected in the ui
|
* Handles disconnecting messages from clients to show disconnected in the ui
|
||||||
*/
|
*/
|
||||||
export const handleOlmDisconnecingMessage: MessageHandler = async (context) => {
|
export const handleOlmDisconnectingMessage: MessageHandler = async (context) => {
|
||||||
const { message, client: c, sendToClient } = context;
|
const { message, client: c, sendToClient } = context;
|
||||||
const olm = c as Olm;
|
const olm = c as Olm;
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { build } from "@server/build";
|
||||||
import {
|
import {
|
||||||
handleNewtRegisterMessage,
|
handleNewtRegisterMessage,
|
||||||
handleReceiveBandwidthMessage,
|
handleReceiveBandwidthMessage,
|
||||||
@@ -7,7 +8,8 @@ import {
|
|||||||
handleNewtPingRequestMessage,
|
handleNewtPingRequestMessage,
|
||||||
handleApplyBlueprintMessage,
|
handleApplyBlueprintMessage,
|
||||||
handleNewtPingMessage,
|
handleNewtPingMessage,
|
||||||
startNewtOfflineChecker
|
startNewtOfflineChecker,
|
||||||
|
handleNewtDisconnectingMessage
|
||||||
} from "../newt";
|
} from "../newt";
|
||||||
import {
|
import {
|
||||||
handleOlmRegisterMessage,
|
handleOlmRegisterMessage,
|
||||||
@@ -16,7 +18,7 @@ import {
|
|||||||
startOlmOfflineChecker,
|
startOlmOfflineChecker,
|
||||||
handleOlmServerPeerAddMessage,
|
handleOlmServerPeerAddMessage,
|
||||||
handleOlmUnRelayMessage,
|
handleOlmUnRelayMessage,
|
||||||
handleOlmDisconnecingMessage,
|
handleOlmDisconnectingMessage,
|
||||||
handleOlmServerInitAddPeerHandshake
|
handleOlmServerInitAddPeerHandshake
|
||||||
} from "../olm";
|
} from "../olm";
|
||||||
import { handleHealthcheckStatusMessage } from "../target";
|
import { handleHealthcheckStatusMessage } from "../target";
|
||||||
@@ -30,7 +32,8 @@ export const messageHandlers: Record<string, MessageHandler> = {
|
|||||||
"olm/wg/relay": handleOlmRelayMessage,
|
"olm/wg/relay": handleOlmRelayMessage,
|
||||||
"olm/wg/unrelay": handleOlmUnRelayMessage,
|
"olm/wg/unrelay": handleOlmUnRelayMessage,
|
||||||
"olm/ping": handleOlmPingMessage,
|
"olm/ping": handleOlmPingMessage,
|
||||||
"olm/disconnecting": handleOlmDisconnecingMessage,
|
"olm/disconnecting": handleOlmDisconnectingMessage,
|
||||||
|
"newt/disconnecting": handleNewtDisconnectingMessage,
|
||||||
"newt/ping": handleNewtPingMessage,
|
"newt/ping": handleNewtPingMessage,
|
||||||
"newt/wg/register": handleNewtRegisterMessage,
|
"newt/wg/register": handleNewtRegisterMessage,
|
||||||
"newt/wg/get-config": handleGetConfigMessage,
|
"newt/wg/get-config": handleGetConfigMessage,
|
||||||
@@ -43,5 +46,7 @@ export const messageHandlers: Record<string, MessageHandler> = {
|
|||||||
"ws/round-trip/complete": handleRoundTripMessage
|
"ws/round-trip/complete": handleRoundTripMessage
|
||||||
};
|
};
|
||||||
|
|
||||||
startOlmOfflineChecker(); // this is to handle the offline check for olms
|
if (build != "saas") {
|
||||||
startNewtOfflineChecker(); // this is to handle the offline check for newts
|
startOlmOfflineChecker(); // this is to handle the offline check for olms
|
||||||
|
startNewtOfflineChecker(); // this is to handle the offline check for newts
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user