0.1.0:2 - remove '<spark-user>' default everywhere (it's Alice's username, not factory)

Per user correction: '<spark-user>' is not the DGX Spark factory default. Generic-ize:
- configureSparks: no default user; placeholder 'your SSH username'
- sparkConfig schema: empty string defaults
- main.ts env fallback: empty
- showPublicKey: drop the '<spark-user>' fallback; skip Spark if user not configured
- Update feedback memory with the correction
This commit is contained in:
Grant
2026-05-12 10:39:57 -05:00
parent 0ddab99468
commit 51804b2e5e
5 changed files with 15 additions and 13 deletions
+5 -5
View File
@@ -16,10 +16,10 @@ const inputSpec = InputSpec.of({
spark1_user: Value.text({ spark1_user: Value.text({
name: 'Spark 1 SSH user', name: 'Spark 1 SSH user',
description: description:
'The user account on Spark 1 to SSH in as. DGX Sparks ship with "<spark-user>" as the default user — change only if you customized yours.', 'The user account on Spark 1 to SSH in as — whatever you log in as when you ssh into it manually.',
required: true, required: true,
default: '<spark-user>', default: null,
placeholder: '<spark-user>', placeholder: 'your SSH username',
masked: false, masked: false,
}), }),
spark2_host: Value.text({ spark2_host: Value.text({
@@ -36,8 +36,8 @@ const inputSpec = InputSpec.of({
description: description:
'The user account on Spark 2 to SSH in as. Usually the same as Spark 1.', 'The user account on Spark 2 to SSH in as. Usually the same as Spark 1.',
required: true, required: true,
default: '<spark-user>', default: null,
placeholder: '<spark-user>', placeholder: 'your SSH username',
masked: false, masked: false,
}), }),
}) })
+4 -2
View File
@@ -38,8 +38,10 @@ export const showPublicKey = sdk.Action.withoutInput(
const cfg = await sparkConfigYaml.read().once() const cfg = await sparkConfigYaml.read().once()
const hosts: Array<{ user: string; host: string }> = [] const hosts: Array<{ user: string; host: string }> = []
if (cfg) { if (cfg) {
if (cfg.spark1_host) hosts.push({ user: cfg.spark1_user || '<spark-user>', host: cfg.spark1_host }) if (cfg.spark1_host && cfg.spark1_user)
if (cfg.spark2_host) hosts.push({ user: cfg.spark2_user || '<spark-user>', host: cfg.spark2_host }) hosts.push({ user: cfg.spark1_user, host: cfg.spark1_host })
if (cfg.spark2_host && cfg.spark2_user)
hosts.push({ user: cfg.spark2_user, host: cfg.spark2_host })
} }
let message: string let message: string
@@ -4,9 +4,9 @@ import { sdk } from '../sdk'
export const sparkConfigSchema = z.object({ export const sparkConfigSchema = z.object({
spark1_host: z.string().catch(''), spark1_host: z.string().catch(''),
spark1_user: z.string().catch('<spark-user>'), spark1_user: z.string().catch(''),
spark2_host: z.string().catch(''), spark2_host: z.string().catch(''),
spark2_user: z.string().catch('<spark-user>'), spark2_user: z.string().catch(''),
}) })
export type SparkConfig = z.infer<typeof sparkConfigSchema> export type SparkConfig = z.infer<typeof sparkConfigSchema>
+2 -2
View File
@@ -10,9 +10,9 @@ export const main = sdk.setupMain(async ({ effects }) => {
// Changing this file via the "Configure Sparks" action restarts the daemon. // Changing this file via the "Configure Sparks" action restarts the daemon.
const cfg = (await sparkConfigYaml.read().const(effects)) ?? { const cfg = (await sparkConfigYaml.read().const(effects)) ?? {
spark1_host: '', spark1_host: '',
spark1_user: '<spark-user>', spark1_user: '',
spark2_host: '', spark2_host: '',
spark2_user: '<spark-user>', spark2_user: '',
} }
return sdk.Daemons.of(effects).addDaemon('primary', { return sdk.Daemons.of(effects).addDaemon('primary', {
+2 -2
View File
@@ -1,10 +1,10 @@
import { VersionInfo, IMPOSSIBLE } from '@start9labs/start-sdk' import { VersionInfo, IMPOSSIBLE } from '@start9labs/start-sdk'
export const v0_1_0 = VersionInfo.of({ export const v0_1_0 = VersionInfo.of({
version: '0.1.0:1', version: '0.1.0:2',
releaseNotes: { releaseNotes: {
en_US: en_US:
'Generic placeholders in Configure Sparks; Show Public Key emits a ready-to-paste install command; dashboard shows the OpenAI-compatible base URL + current model ID with one-click copy and a curl example.', 'Fully generic SSH user fields (no suggested default); generic host placeholders in Configure Sparks; Show Public Key emits a ready-to-paste install command using your configured hostnames; dashboard shows the OpenAI-compatible base URL + current model ID with one-click copy and a curl example.',
}, },
migrations: { migrations: {
up: async ({ effects }) => {}, up: async ({ effects }) => {},