diff --git a/package/startos/actions/configureSparks.ts b/package/startos/actions/configureSparks.ts index 8f046fd..113f549 100644 --- a/package/startos/actions/configureSparks.ts +++ b/package/startos/actions/configureSparks.ts @@ -16,10 +16,10 @@ const inputSpec = InputSpec.of({ spark1_user: Value.text({ name: 'Spark 1 SSH user', description: - 'The user account on Spark 1 to SSH in as. DGX Sparks ship with "" 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, - default: '', - placeholder: '', + default: null, + placeholder: 'your SSH username', masked: false, }), spark2_host: Value.text({ @@ -36,8 +36,8 @@ const inputSpec = InputSpec.of({ description: 'The user account on Spark 2 to SSH in as. Usually the same as Spark 1.', required: true, - default: '', - placeholder: '', + default: null, + placeholder: 'your SSH username', masked: false, }), }) diff --git a/package/startos/actions/showPublicKey.ts b/package/startos/actions/showPublicKey.ts index 10dbc74..dfd77aa 100644 --- a/package/startos/actions/showPublicKey.ts +++ b/package/startos/actions/showPublicKey.ts @@ -38,8 +38,10 @@ export const showPublicKey = sdk.Action.withoutInput( const cfg = await sparkConfigYaml.read().once() const hosts: Array<{ user: string; host: string }> = [] if (cfg) { - if (cfg.spark1_host) hosts.push({ user: cfg.spark1_user || '', host: cfg.spark1_host }) - if (cfg.spark2_host) hosts.push({ user: cfg.spark2_user || '', host: cfg.spark2_host }) + if (cfg.spark1_host && cfg.spark1_user) + 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 diff --git a/package/startos/fileModels/sparkConfig.yaml.ts b/package/startos/fileModels/sparkConfig.yaml.ts index 3b7a6e6..1cd38ea 100644 --- a/package/startos/fileModels/sparkConfig.yaml.ts +++ b/package/startos/fileModels/sparkConfig.yaml.ts @@ -4,9 +4,9 @@ import { sdk } from '../sdk' export const sparkConfigSchema = z.object({ spark1_host: z.string().catch(''), - spark1_user: z.string().catch(''), + spark1_user: z.string().catch(''), spark2_host: z.string().catch(''), - spark2_user: z.string().catch(''), + spark2_user: z.string().catch(''), }) export type SparkConfig = z.infer diff --git a/package/startos/main.ts b/package/startos/main.ts index e9f7bdd..e785b33 100644 --- a/package/startos/main.ts +++ b/package/startos/main.ts @@ -10,9 +10,9 @@ export const main = sdk.setupMain(async ({ effects }) => { // Changing this file via the "Configure Sparks" action restarts the daemon. const cfg = (await sparkConfigYaml.read().const(effects)) ?? { spark1_host: '', - spark1_user: '', + spark1_user: '', spark2_host: '', - spark2_user: '', + spark2_user: '', } return sdk.Daemons.of(effects).addDaemon('primary', { diff --git a/package/startos/versions/v0_1_0.ts b/package/startos/versions/v0_1_0.ts index d8bf50a..4164f07 100644 --- a/package/startos/versions/v0_1_0.ts +++ b/package/startos/versions/v0_1_0.ts @@ -1,10 +1,10 @@ import { VersionInfo, IMPOSSIBLE } from '@start9labs/start-sdk' export const v0_1_0 = VersionInfo.of({ - version: '0.1.0:1', + version: '0.1.0:2', releaseNotes: { 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: { up: async ({ effects }) => {},