make exit node name backwards compatible

This commit is contained in:
miloschwartz 2025-06-15 18:02:31 -04:00
parent b39708700d
commit 7bbb687047
No known key found for this signature in database
3 changed files with 21 additions and 11 deletions

View file

@ -161,7 +161,7 @@ export const configSchema = z
.default({}),
gerbil: z
.object({
exit_node_name: z.string().optional().default("default"),
exit_node_name: z.string().optional(),
start_port: portSchema
.optional()
.default(51820)

View file

@ -68,6 +68,10 @@ export async function getConfig(
subEndpoint = await getUniqueExitNodeEndpointName();
}
const exitNodeName =
config.getRawConfig().gerbil.exit_node_name ||
`Exit Node ${publicKey.slice(0, 8)}`;
// create a new exit node
exitNode = await db
.insert(exitNodes)
@ -77,7 +81,7 @@ export async function getConfig(
address,
listenPort,
reachableAt,
name: config.getRawConfig().gerbil.exit_node_name // defaults to "default"
name: exitNodeName
})
.returning()
.execute();

View file

@ -106,13 +106,19 @@ export async function copyInConfig() {
});
const exitNodeName = config.getRawConfig().gerbil.exit_node_name;
await db
.update(exitNodes)
.set({ endpoint })
.where(eq(exitNodes.name, exitNodeName));
await db
.update(exitNodes)
.set({ listenPort })
.where(eq(exitNodes.name, exitNodeName));
if (exitNodeName) {
await db
.update(exitNodes)
.set({ endpoint, listenPort })
.where(eq(exitNodes.name, exitNodeName));
} else {
await db
.update(exitNodes)
.set({ endpoint })
.where(ne(exitNodes.endpoint, endpoint));
await db
.update(exitNodes)
.set({ listenPort })
.where(ne(exitNodes.listenPort, listenPort));
}
}