feat(fleet): scaffold user-owned agent homes
This commit is contained in:
@@ -38,6 +38,10 @@ import {
|
||||
registerFleetAgentCrudCommands,
|
||||
type FleetAgentCrudCommandDeps,
|
||||
} from './fleet-agent-crud-command.js';
|
||||
import {
|
||||
registerFleetAgentScaffoldCommand,
|
||||
type FleetAgentScaffoldCommandDeps,
|
||||
} from './fleet-agent-scaffold-command.js';
|
||||
import {
|
||||
registerFleetMigrationCommand,
|
||||
type FleetMigrationCommandDeps,
|
||||
@@ -104,6 +108,8 @@ export interface FleetCommandDeps {
|
||||
*/
|
||||
isStdinTTY?: boolean;
|
||||
projectionApplier?: FleetAgentCrudCommandDeps['projectionApplier'];
|
||||
/** Test-only user-data root for `fleet agent new` (production: ~/.mosaic). */
|
||||
fleetDataHome?: FleetAgentScaffoldCommandDeps['fleetDataHome'];
|
||||
reconcileDeps?: FleetReconcilerCommandDeps['reconcileDeps'];
|
||||
migrationDeps?: Omit<FleetMigrationCommandDeps, 'mosaicHome'>;
|
||||
}
|
||||
@@ -2054,6 +2060,10 @@ export function registerFleetCommand(program: Command, deps: FleetCommandDeps =
|
||||
// profile. DRY-RUN by default; --write persists under the same --mosaic-home.
|
||||
registerFleetProvisionCommand(cmd, () => cmd.opts<{ mosaicHome: string }>().mosaicHome);
|
||||
|
||||
// `fleet agent new` owns user-data harness homes under ~/.mosaic. The
|
||||
// existing roster-v2 CRUD remains direct fleet control-plane CRUD, so there
|
||||
// is one `agent` namespace but deliberately separate state authorities.
|
||||
registerFleetAgentScaffoldCommand(cmd, { fleetDataHome: deps.fleetDataHome });
|
||||
// Roster-v2 desired-state mutations belong directly to the fleet control
|
||||
// plane; they do not share the root `mosaic agent` gateway-backed surface.
|
||||
registerFleetAgentCrudCommands(cmd, deps);
|
||||
|
||||
Reference in New Issue
Block a user