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
+22 -22
View File
@@ -2,7 +2,7 @@ import { i18n } from './i18n'
import { sdk } from './sdk'
import {
CERTRELAY_PORT,
EXPLORER_PORT,
NACHO_PORT,
spacedRpcPort,
SUBSPACES_PROVER_PORT,
SUBSPACES_REGISTRY_PORT,
@@ -31,26 +31,6 @@ export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
const uiReceipt = await uiMultiOrigin.export([ui])
const explorerMulti = sdk.MultiHost.of(effects, 'explorer-multi')
const explorerMultiOrigin = await explorerMulti.bindPort(EXPLORER_PORT, {
protocol: 'http',
})
const explorer = sdk.createInterface(effects, {
name: i18n('Explorer Web UI'),
id: 'explorer',
description: i18n(
'SvelteKit explorer for the Spaces protocol. Reads from the embedded PostgreSQL populated by the indexer. Only useful while the embedded explorer is enabled.',
),
type: 'ui',
masked: false,
schemeOverride: null,
username: null,
path: '',
query: {},
})
const explorerReceipt = await explorerMultiOrigin.export([explorer])
const subspacesMulti = sdk.MultiHost.of(effects, 'subspaces-multi')
const subspacesMultiOrigin = await subspacesMulti.bindPort(SUBSPACES_UI_PORT, {
protocol: 'http',
@@ -172,13 +152,33 @@ export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
const spacedApiReceipt = await spacedMultiOrigin.export([spacedApi])
const nachoMulti = sdk.MultiHost.of(effects, 'nacho-multi')
const nachoMultiOrigin = await nachoMulti.bindPort(NACHO_PORT, {
protocol: 'http',
})
const nacho = sdk.createInterface(effects, {
name: i18n('Nacho'),
id: 'nacho',
description: i18n(
'Nacho Expo dev server. Configure the EXPO_PUBLIC_IGNORE_NAMES list via the "Configure Nacho" action. EXPO_PUBLIC_API_BASE_URL is derived dynamically from the Subs API StartOS interface (the .local URL is preferred).',
),
type: 'ui',
masked: false,
schemeOverride: null,
username: null,
path: '',
query: {},
})
const nachoReceipt = await nachoMultiOrigin.export([nacho])
return [
uiReceipt,
explorerReceipt,
subspacesReceipt,
proverReceipt,
registryReceipt,
certrelayReceipt,
spacedApiReceipt,
nachoReceipt,
]
})