]> go.fuhry.dev Git - osquery.git/commitdiff
support verbose, timeout and interval flags for compat with fleet-orbit
authorDan Fuhry <dan@fuhry.com>
Tue, 8 Jul 2025 04:02:12 +0000 (00:02 -0400)
committerDan Fuhry <dan@fuhry.com>
Tue, 8 Jul 2025 04:02:12 +0000 (00:02 -0400)
extcommon/extcommon.go

index 8d82a01f5613017d505c2db98950fb27a181f992..c8b55009ae3140d0e3c57a50bae351a8f41fb64f 100644 (file)
@@ -4,6 +4,8 @@ import (
        "context"
        "flag"
        "log"
+       "strconv"
+       "time"
 
        "github.com/osquery/osquery-go"
        "github.com/osquery/osquery-go/plugin/table"
@@ -20,8 +22,28 @@ func Main(name string, s SchemaFunc, g GenerateFunc) {
        MainMulti(name, Tables{name: {s, g}})
 }
 
+var Verbose *bool
+var Timeout, Interval time.Duration
+
+func durationParser(out *time.Duration) func(string) error {
+       return func(v string) error {
+               if i, e := strconv.Atoi(v); e == nil {
+                       *out = time.Duration(i) * time.Second
+                       return nil
+               }
+               t, err := time.ParseDuration(v)
+               if err == nil {
+                       *out = t
+               }
+               return err
+       }
+}
+
 func MainMulti(pluginName string, t Tables) {
        socket := flag.String("socket", "/opt/fleet-orbit/orbit-osquery.em", "path to osquery extensions socket")
+       Verbose = flag.Bool("verbose", false, "enable extra debug logging")
+       flag.Func("timeout", "timeout for operations and queries", durationParser(&Timeout))
+       flag.Func("interval", "interval for operations and queries", durationParser(&Interval))
        flag.Parse()
 
        if *socket == "" {