Release v0.1.1:3 with Configure Subspaces, monitor CLI, and spaces v0.0.9x.
Build Service / BuildPackage (push) Has been cancelled

Adds a user toggle for SUBS_PUBLISH_REQUIRE_FINALIZED, copies the certrelay monitor binary to /data/bin for terminal use, and bumps the spaced image to horologger/spaces:v0.0.9x.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-16 18:53:22 -04:00
co-authored by Cursor
parent ad64a47d42
commit 1fa9674d49
11 changed files with 127 additions and 51 deletions
+11 -3
View File
@@ -16,6 +16,8 @@ import {
CERTRELAY_DIR,
CERTRELAY_FABRIC_BIN,
CERTRELAY_FABRIC_DEST,
CERTRELAY_MONITOR_BIN,
CERTRELAY_MONITOR_DEST,
CERTRELAY_PORT,
CERTRELAY_REMOTE_IP_HEADER,
dataDir,
@@ -147,6 +149,8 @@ export const main = sdk.setupMain(async ({ effects }) => {
SUBS_SPACED_RPC_PASSWORD: spacedAuth.password,
SUBS_PROVER_ENDPOINT: `http://127.0.0.1:${SUBSPACES_PROVER_PORT}`,
SUBS_REGISTRY_ENDPOINT: `http://127.0.0.1:${SUBSPACES_REGISTRY_PORT}`,
SUBS_PUBLISH_REQUIRE_FINALIZED:
store.subsPublishRequireFinalized === true ? 'true' : 'false',
HOME: SUBSPACES_DATA_DIR,
RUST_LOG: 'subs=info,subs_prover=info,registry_server=info',
...subsAuthEnv,
@@ -256,7 +260,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
'spaced is managed by StartOS — do not run it manually.',
'Use the `spaces` alias to call space-cli, e.g.',
' spaces getserverinfo',
'`fabric` resolves handles against the local certrelay.',
'`fabric` resolves handles; `monitor` is on PATH (copy-only, not auto-started).',
'Docs: https://docs.spacesprotocol.org/',
]),
'',
@@ -265,8 +269,9 @@ export const main = sdk.setupMain(async ({ effects }) => {
// Appends the always-on certrelay chain (setup oneshot + certrelay daemon) to
// any existing chain. certrelay serves cryptographic proofs binding handles to
// owner keys anchored to Bitcoin. The `fabric` CLI is copied onto /data/bin so
// the gotty terminal (which has /data/bin on PATH) can resolve handles.
// owner keys anchored to Bitcoin. The certrelay-setup oneshot copies `fabric`
// and `monitor` onto /data/bin for the gotty terminal (PATH includes /data/bin).
// Only the certrelay server is started as a daemon — monitor is a CLI file only.
const withCertrelay = (chain: any): any =>
chain
.addOneshot('certrelay-setup', {
@@ -280,6 +285,9 @@ export const main = sdk.setupMain(async ({ effects }) => {
echo "certrelay-setup: installing fabric CLI to ${CERTRELAY_FABRIC_DEST}..."; \
cp -f ${CERTRELAY_FABRIC_BIN} ${CERTRELAY_FABRIC_DEST}; \
chmod +x ${CERTRELAY_FABRIC_DEST}; \
echo "certrelay-setup: installing monitor CLI to ${CERTRELAY_MONITOR_DEST}..."; \
cp -f ${CERTRELAY_MONITOR_BIN} ${CERTRELAY_MONITOR_DEST}; \
chmod +x ${CERTRELAY_MONITOR_DEST}; \
echo "certrelay-setup: done."`,
],
user: 'root',