Upgrade to SpacesOps v1.0.1 and fix v1.0.1:1 startup on StartOS.

Bump the image to spacesops/spacesops:v1.0.1, always inject NODE_EXTRA_CA_CERTS from sdk.getSslCertificate so the upstream entrypoint no longer crashes on unset _SCRIPT_DIR, and document the same-host HTTPS behavior in the README.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-23 12:07:38 -04:00
co-authored by Cursor
parent 147f51d710
commit feb32a1456
12 changed files with 230 additions and 43 deletions
+23 -2
View File
@@ -20,13 +20,34 @@ export const SPACES_PACKAGE_ID = 'spaces'
export const SPACED_RPC_URL = 'http://spaces.startos:7225'
export const SPACED_WALLETLOAD_NAME = 'main'
// Admin Basic Auth is baked into the v1.0.0 image with NO env override. It
// Admin Basic Auth is baked into the v1.0.1 image with NO env override. It
// cannot be changed without rebuilding the image. Surfaced (with a warning)
// via the "Show Admin Credentials" action.
export const ADMIN_USER = 'admin'
export const ADMIN_PASSWORD = 'Whatever!'
// Optional-config defaults (see the "Configure Platform" action).
// Where StartOS writes the StartOS root CA for outbound *.startos HTTPS (see
// main.ts). Always injected as NODE_EXTRA_CA_CERTS — required on v1.0.1+ where
// the image entrypoint's setup-spacesops-env.sh references _SCRIPT_DIR without
// defining it under set -u.
export const nodeExtraCaCertVolumeSubpath = '.startos/startos-root-ca.crt'
export const nodeExtraCaCertContainerPath = `${dataDir}/.startos/startos-root-ca.crt`
// Legacy aliases (same file path after rename).
export const subsCaCertVolumeSubpath = nodeExtraCaCertVolumeSubpath
export const subsCaCertContainerPath = nodeExtraCaCertContainerPath
// Returns the hostname when url targets another StartOS service on this server
// (e.g. https://spaces.startos:7777), otherwise null.
export function startOsHostnameFromUrl(url: string): string | null {
try {
const hostname = new URL(url).hostname
return hostname.endsWith('.startos') ? hostname : null
} catch {
return null
}
}
export const DEFAULT_OPERATOR_RELAY = 'wss://relay.primal.net'
export const DEFAULT_PLATFORM_MODE = 'prod'
export const DEFAULT_COINGECKO_TOKEN_COINS = 'bitcoin'