Release v0.1.1:2 with certrelay, nacho, and prebuilt subspaces.
Build Service / BuildPackage (push) Has been cancelled

Remove the embedded explorer/indexer stack, switch subspaces to prebuilt images, add certrelay and nacho as always-on services, expose Spaces and Subs APIs, and wire optional HTTP basic auth for subs and subs-prover with the correct SUBS_BASIC_AUTH_PASSWORD env var.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-23 12:06:16 -04:00
co-authored by Cursor
parent 931becd274
commit ad64a47d42
30 changed files with 1364 additions and 831 deletions
+2 -4
View File
@@ -6,9 +6,8 @@ import { sdk } from '../sdk'
import { versionGraph } from '../versions'
import { taskBtcAuth } from './taskBtcAuth'
import { taskSeedCertrelay } from './taskSeedCertrelay'
import { taskSeedDb } from './taskSeedDb'
import { taskSeedEnableExplorer } from './taskSeedEnableExplorer'
import { taskSeedEnableSubspaces } from './taskSeedEnableSubspaces'
import { taskSeedNacho } from './taskSeedNacho'
import { taskSeedSpacedAuth } from './taskSeedSpacedAuth'
import { taskSetPassword } from './taskSetPassword'
@@ -19,11 +18,10 @@ export const init = sdk.setupInit(
setDependencies,
actions,
taskBtcAuth,
taskSeedDb,
taskSeedSpacedAuth,
taskSeedEnableExplorer,
taskSeedEnableSubspaces,
taskSeedCertrelay,
taskSeedNacho,
taskSetPassword,
)
-20
View File
@@ -1,20 +0,0 @@
import { storeJson } from '../fileModels/storeJson'
import { sdk } from '../sdk'
import { POSTGRES_DB, POSTGRES_USER, randomPassword } from '../utils'
export const taskSeedDb = sdk.setupOnInit(async (effects) => {
const existing = await storeJson.read((s) => s.dbAuth).once()
if (existing) return
await storeJson.merge(
effects,
{
dbAuth: {
username: POSTGRES_USER,
password: randomPassword(),
database: POSTGRES_DB,
},
},
{ allowWriteAfterConst: true },
)
})
-13
View File
@@ -1,13 +0,0 @@
import { storeJson } from '../fileModels/storeJson'
import { sdk } from '../sdk'
export const taskSeedEnableExplorer = sdk.setupOnInit(async (effects) => {
const existing = await storeJson.read((s) => s.enableExplorer).once()
if (existing !== null && existing !== undefined) return
await storeJson.merge(
effects,
{ enableExplorer: false },
{ allowWriteAfterConst: true },
)
})
+21
View File
@@ -0,0 +1,21 @@
import { storeJson } from '../fileModels/storeJson'
import { sdk } from '../sdk'
import { NACHO_DEFAULT_WORKSHOP_PDF_LINK_TEXT } from '../utils'
// Note: the nacho Ignore Names list is NOT seeded here. It lives in
// /data/nacho/ignore_names.txt and is created with the default on first
// daemon start by the nacho-setup oneshot in main.ts.
export const taskSeedNacho = sdk.setupOnInit(async (effects) => {
const store = await storeJson.read().once()
if (
store?.nachoWorkshopPdfLinkText === null ||
store?.nachoWorkshopPdfLinkText === undefined
) {
await storeJson.merge(
effects,
{ nachoWorkshopPdfLinkText: NACHO_DEFAULT_WORKSHOP_PDF_LINK_TEXT },
{ allowWriteAfterConst: true },
)
}
})