feat(control-plane): add libSQL Turso backend
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
|
||||
const path = require("node:path");
|
||||
|
||||
function buildControlPlaneTestEnv(dataRoot, baseEnv = process.env) {
|
||||
const backend = String(baseEnv.MNOTE_SMOKE_CONTROL_PLANE_BACKEND || "libsql-local").trim();
|
||||
if (!backend) {
|
||||
throw new Error("MNOTE_SMOKE_CONTROL_PLANE_BACKEND 不能为空");
|
||||
}
|
||||
|
||||
const env = {
|
||||
MNOTE_CONTROL_PLANE_BACKEND: backend,
|
||||
};
|
||||
|
||||
if (backend === "sqlite") {
|
||||
env.MNOTE_CONTROL_PLANE_DB_PATH =
|
||||
baseEnv.MNOTE_SMOKE_CONTROL_PLANE_DB_PATH || path.join(dataRoot, "control-plane.sqlite3");
|
||||
return env;
|
||||
}
|
||||
|
||||
if (backend === "libsql-local" || backend === "turso-local" || backend === "turso") {
|
||||
env.MNOTE_TURSO_LOCAL_PATH =
|
||||
baseEnv.MNOTE_SMOKE_TURSO_LOCAL_PATH || path.join(dataRoot, "control-plane-libsql.db");
|
||||
return env;
|
||||
}
|
||||
|
||||
if (backend === "turso-local-replica" || backend === "turso-remote-replica") {
|
||||
env.MNOTE_TURSO_LOCAL_REPLICA_PATH =
|
||||
baseEnv.MNOTE_SMOKE_TURSO_LOCAL_REPLICA_PATH
|
||||
|| baseEnv.MNOTE_TURSO_LOCAL_REPLICA_PATH
|
||||
|| path.join(dataRoot, "control-plane-replica.db");
|
||||
return env;
|
||||
}
|
||||
|
||||
if (backend === "turso-remote" || backend === "turso-synced") {
|
||||
return env;
|
||||
}
|
||||
|
||||
throw new Error(`Unsupported MNOTE_SMOKE_CONTROL_PLANE_BACKEND: ${backend}`);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
buildControlPlaneTestEnv,
|
||||
};
|
||||
Reference in New Issue
Block a user