Skip to content

Commit 9ed7a2d

Browse files
committed
chore: add back --db-dir for do-sqlite
1 parent b77c5b6 commit 9ed7a2d

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

packages/kettle/services/cli.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ async function main() {
6262
type: "boolean",
6363
description: "Include verbose logging",
6464
})
65+
.option("db-dir", {
66+
type: "string",
67+
description: "Directory for SQLite storage (default: random temp directory)",
68+
})
6569
},
6670
launcherCommand,
6771
)
@@ -81,6 +85,10 @@ async function main() {
8185
description: "Port for the worker HTTP server",
8286
default: 3001,
8387
})
88+
.option("db-dir", {
89+
type: "string",
90+
description: "Directory for SQLite storage (default: random temp directory)",
91+
})
8492
},
8593
startWorkerCommand,
8694
)

packages/kettle/services/launcher.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ export interface LauncherArgs {
187187
manifest: string
188188
port?: number
189189
verbose?: boolean
190+
dbDir?: string
190191
}
191192

192193
export async function launcherCommand(argv: LauncherArgs) {
@@ -250,6 +251,7 @@ export async function launcherCommand(argv: LauncherArgs) {
250251
workerPort: argv.port ?? 3001,
251252
quoteServicePort: await findFreePort(),
252253
bundleDir: bundleDir,
254+
dbDir: argv.dbDir,
253255
})
254256

255257
// Handle graceful shutdown

packages/kettle/services/startWorker.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export interface WorkerConfig {
2222
workerPort: number
2323
quoteServicePort: number
2424
bundleDir: string
25+
dbDir?: string
2526
}
2627

2728
export interface WorkerResult {
@@ -34,7 +35,7 @@ export interface WorkerResult {
3435
export async function startWorker(
3536
options: WorkerConfig,
3637
): Promise<WorkerResult> {
37-
const { workerPort, quoteServicePort, bundleDir } = options
38+
const { workerPort, quoteServicePort, bundleDir, dbDir } = options
3839
const quoteServiceUrl = `http://127.0.0.1:${quoteServicePort}`
3940

4041
const WORKER_JS = "worker.js"
@@ -54,8 +55,16 @@ export async function startWorker(
5455
mkdirSync(staticDir, { recursive: true })
5556
}
5657

57-
// Create temp directory for Durable Object SQLite storage
58-
const doStorageDir = mkdtempSync(join(tmpdir(), "kettle-do-storage-"))
58+
// Use provided db directory or create temp directory for Durable Object SQLite storage
59+
let doStorageDir: string
60+
if (dbDir) {
61+
doStorageDir = dbDir
62+
if (!existsSync(doStorageDir)) {
63+
mkdirSync(doStorageDir, { recursive: true })
64+
}
65+
} else {
66+
doStorageDir = mkdtempSync(join(tmpdir(), "kettle-do-storage-"))
67+
}
5968

6069
// Start quote service
6170
const quoteService = startQuoteService(quoteServicePort)
@@ -297,6 +306,7 @@ const config :Workerd.Config = (
297306
export interface StartWorkerArgs {
298307
file?: string
299308
port?: number
309+
dbDir?: string
300310
}
301311

302312
export async function startWorkerCommand(argv: StartWorkerArgs) {
@@ -323,6 +333,7 @@ export async function startWorkerCommand(argv: StartWorkerArgs) {
323333
workerPort: port,
324334
quoteServicePort: await findFreePort(),
325335
bundleDir: join(projectDir, "dist"),
336+
dbDir: argv.dbDir,
326337
})
327338

328339
process.on("SIGINT", () => stop())

0 commit comments

Comments
 (0)