cmd/tailscale, ipn/ipnlocal: add debug command to write to StateStore for dev

Not for end users (unless directed by support). Mostly for ease of
development for some upcoming webserver work.

Change-Id: I43acfed217514567acb3312367b24d620e739f88
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2022-11-07 13:04:10 -08:00
committed by Brad Fitzpatrick
parent bf2d3cd074
commit 5bb7e0307c
4 changed files with 67 additions and 0 deletions
+24
View File
@@ -144,6 +144,16 @@ var debugCmd = &ffcli.Command{
return fs
})(),
},
{
Name: "dev-store-set",
Exec: runDevStoreSet,
ShortHelp: "set a key/value pair during development",
FlagSet: (func() *flag.FlagSet {
fs := newFlagSet("store-set")
fs.BoolVar(&devStoreSetArgs.danger, "danger", false, "accept danger")
return fs
})(),
},
},
}
@@ -546,3 +556,17 @@ func runDebugComponentLogs(ctx context.Context, args []string) error {
}
return nil
}
var devStoreSetArgs struct {
danger bool
}
func runDevStoreSet(ctx context.Context, args []string) error {
if len(args) != 2 {
return errors.New("usage: dev-store-set --danger <key> <value>")
}
if !devStoreSetArgs.danger {
return errors.New("this command is dangerous; use --danger to proceed")
}
return localClient.SetDevStoreKeyValue(ctx, args[0], args[1])
}