feat: add witness start agent override
This commit is contained in:
@@ -15,8 +15,8 @@ import (
|
|||||||
|
|
||||||
// Witness command flags
|
// Witness command flags
|
||||||
var (
|
var (
|
||||||
witnessForeground bool
|
witnessForeground bool
|
||||||
witnessStatusJSON bool
|
witnessStatusJSON bool
|
||||||
witnessAgentOverride string
|
witnessAgentOverride string
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -42,6 +42,7 @@ states and takes action to keep work flowing.
|
|||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
gt witness start greenplace
|
gt witness start greenplace
|
||||||
|
gt witness start greenplace --agent codex
|
||||||
gt witness start greenplace --foreground`,
|
gt witness start greenplace --foreground`,
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
RunE: runWitnessStart,
|
RunE: runWitnessStart,
|
||||||
@@ -103,6 +104,7 @@ Examples:
|
|||||||
func init() {
|
func init() {
|
||||||
// Start flags
|
// Start flags
|
||||||
witnessStartCmd.Flags().BoolVar(&witnessForeground, "foreground", false, "Run in foreground (default: background)")
|
witnessStartCmd.Flags().BoolVar(&witnessForeground, "foreground", false, "Run in foreground (default: background)")
|
||||||
|
witnessStartCmd.Flags().StringVar(&witnessAgentOverride, "agent", "", "Agent alias to run the Witness with (overrides town default)")
|
||||||
|
|
||||||
// Status flags
|
// Status flags
|
||||||
witnessStatusCmd.Flags().BoolVar(&witnessStatusJSON, "json", false, "Output as JSON")
|
witnessStatusCmd.Flags().BoolVar(&witnessStatusJSON, "json", false, "Output as JSON")
|
||||||
@@ -141,7 +143,7 @@ func runWitnessStart(cmd *cobra.Command, args []string) error {
|
|||||||
|
|
||||||
fmt.Printf("Starting witness for %s...\n", rigName)
|
fmt.Printf("Starting witness for %s...\n", rigName)
|
||||||
|
|
||||||
if err := mgr.Start(witnessForeground, ""); err != nil {
|
if err := mgr.Start(witnessForeground, witnessAgentOverride); err != nil {
|
||||||
if err == witness.ErrAlreadyRunning {
|
if err == witness.ErrAlreadyRunning {
|
||||||
fmt.Printf("%s Witness is already running\n", style.Dim.Render("⚠"))
|
fmt.Printf("%s Witness is already running\n", style.Dim.Render("⚠"))
|
||||||
fmt.Printf(" %s\n", style.Dim.Render("Use 'gt witness attach' to connect"))
|
fmt.Printf(" %s\n", style.Dim.Render("Use 'gt witness attach' to connect"))
|
||||||
|
|||||||
@@ -17,3 +17,16 @@ func TestWitnessRestartAgentFlag(t *testing.T) {
|
|||||||
t.Errorf("expected --agent usage to mention overrides town default, got %q", flag.Usage)
|
t.Errorf("expected --agent usage to mention overrides town default, got %q", flag.Usage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestWitnessStartAgentFlag(t *testing.T) {
|
||||||
|
flag := witnessStartCmd.Flags().Lookup("agent")
|
||||||
|
if flag == nil {
|
||||||
|
t.Fatal("expected witness start to define --agent flag")
|
||||||
|
}
|
||||||
|
if flag.DefValue != "" {
|
||||||
|
t.Errorf("expected default agent override to be empty, got %q", flag.DefValue)
|
||||||
|
}
|
||||||
|
if !strings.Contains(flag.Usage, "overrides town default") {
|
||||||
|
t.Errorf("expected --agent usage to mention overrides town default, got %q", flag.Usage)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user