diff --git a/osquery/launcher_info.go b/osquery/launcher_info.go new file mode 100644 index 000000000..d1ca4652e --- /dev/null +++ b/osquery/launcher_info.go @@ -0,0 +1,38 @@ +package osquery + +import ( + "context" + + "github.com/kolide/kit/version" + "github.com/kolide/osquery-go" + "github.com/kolide/osquery-go/plugin/table" +) + +func LauncherInfo(client *osquery.ExtensionManagerClient) *table.Plugin { + columns := []table.ColumnDefinition{ + table.TextColumn("version"), + table.TextColumn("go_version"), + table.TextColumn("branch"), + table.TextColumn("revision"), + table.TextColumn("build_date"), + table.TextColumn("build_user"), + } + return table.NewPlugin("kolide_launcher_info", columns, generateLauncherInfo(client)) +} + +func generateLauncherInfo(client *osquery.ExtensionManagerClient) table.GenerateFunc { + return func(ctx context.Context, queryContext table.QueryContext) ([]map[string]string, error) { + results := []map[string]string{ + map[string]string{ + "version": version.Version().Version, + "go_version": version.Version().GoVersion, + "branch": version.Version().Branch, + "revision": version.Version().Revision, + "build_date": version.Version().BuildDate, + "build_user": version.Version().BuildUser, + }, + } + + return results, nil + } +} diff --git a/osquery/platform_tables.go b/osquery/platform_tables.go index 34925ddde..d715b562d 100644 --- a/osquery/platform_tables.go +++ b/osquery/platform_tables.go @@ -9,6 +9,7 @@ import ( func platformTables(client *osquery.ExtensionManagerClient) []*table.Plugin { return []*table.Plugin{ + LauncherInfo(client), BestPractices(client), EmailAddresses(client), } diff --git a/osquery/platform_tables_darwin.go b/osquery/platform_tables_darwin.go index aba9ece18..b02791431 100644 --- a/osquery/platform_tables_darwin.go +++ b/osquery/platform_tables_darwin.go @@ -9,6 +9,7 @@ import ( func platformTables(client *osquery.ExtensionManagerClient) []*table.Plugin { return []*table.Plugin{ + LauncherInfo(client), BestPractices(client), EmailAddresses(client), Spotlight(),