@@ -13,6 +13,7 @@ import (
1313 "github.com/jmpsec/osctrl/pkg/nodes"
1414 "github.com/jmpsec/osctrl/pkg/settings"
1515 "github.com/jmpsec/osctrl/pkg/tags"
16+ "github.com/jmpsec/osctrl/pkg/types"
1617 "github.com/jmpsec/osctrl/pkg/users"
1718 "github.com/jmpsec/osctrl/pkg/utils"
1819 "github.com/rs/zerolog/log"
@@ -36,13 +37,15 @@ var validTarget = map[string]bool{
3637
3738// TemplateMetadata - Helper to prepare template metadata
3839// TODO until a better implementation, all users are admin
39- func (h * HandlersAdmin ) TemplateMetadata (ctx sessions.ContextValue , version string ) TemplateMetadata {
40+ func (h * HandlersAdmin ) TemplateMetadata (ctx sessions.ContextValue , metadata types. BuildMetadata ) TemplateMetadata {
4041 return TemplateMetadata {
4142 Username : ctx [sessions .CtxUser ],
4243 Level : "admin" ,
4344 CSRFToken : ctx [sessions .CtxCSRF ],
4445 Service : "osctrl-admin" ,
45- Version : version ,
46+ Version : metadata .Version ,
47+ Commit : metadata .Commit ,
48+ BuildDate : metadata .Date ,
4649 }
4750}
4851
@@ -147,7 +150,7 @@ func (h *HandlersAdmin) EnvironmentHandler(w http.ResponseWriter, r *http.Reques
147150 templateData := TableTemplateData {
148151 Title : "Nodes in " + env .Name ,
149152 EnvUUID : env .UUID ,
150- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
153+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
151154 Selector : "environment" ,
152155 SelectorName : env .Name ,
153156 Target : target ,
@@ -222,7 +225,7 @@ func (h *HandlersAdmin) PlatformHandler(w http.ResponseWriter, r *http.Request)
222225 // Prepare template data
223226 templateData := TableTemplateData {
224227 Title : "Nodes in " + platform ,
225- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
228+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
226229 Selector : "platform" ,
227230 SelectorName : platform ,
228231 Target : target ,
@@ -303,7 +306,7 @@ func (h *HandlersAdmin) QueryRunGETHandler(w http.ResponseWriter, r *http.Reques
303306 templateData := QueryRunTemplateData {
304307 Title : "Query osquery Nodes in <b>" + env .Name + "</b>" ,
305308 EnvUUID : env .UUID ,
306- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
309+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
307310 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
308311 Platforms : platforms ,
309312 UUIDs : uuids ,
@@ -365,7 +368,7 @@ func (h *HandlersAdmin) QueryListGETHandler(w http.ResponseWriter, r *http.Reque
365368 templateData := QueryTableTemplateData {
366369 Title : "All on-demand queries" ,
367370 EnvUUID : env .UUID ,
368- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
371+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
369372 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
370373 Platforms : platforms ,
371374 Target : "all" ,
@@ -424,7 +427,7 @@ func (h *HandlersAdmin) SavedQueriesGETHandler(w http.ResponseWriter, r *http.Re
424427 templateData := SavedQueriesTemplateData {
425428 Title : "Saved queries in <b>" + env .Name + "</b>" ,
426429 EnvUUID : env .UUID ,
427- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
430+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
428431 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
429432 Platforms : platforms ,
430433 Target : "saved" ,
@@ -496,7 +499,7 @@ func (h *HandlersAdmin) CarvesRunGETHandler(w http.ResponseWriter, r *http.Reque
496499 templateData := CarvesRunTemplateData {
497500 Title : "Query osquery Nodes in <b>" + env .Name + "</b>" ,
498501 EnvUUID : env .UUID ,
499- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
502+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
500503 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
501504 Platforms : platforms ,
502505 UUIDs : uuids ,
@@ -558,7 +561,7 @@ func (h *HandlersAdmin) CarvesListGETHandler(w http.ResponseWriter, r *http.Requ
558561 templateData := CarvesTableTemplateData {
559562 Title : "Carved files in <b>" + env .Name + "</b>" ,
560563 EnvUUID : env .UUID ,
561- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
564+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
562565 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
563566 Platforms : platforms ,
564567 Target : "all" ,
@@ -645,7 +648,7 @@ func (h *HandlersAdmin) QueryLogsHandler(w http.ResponseWriter, r *http.Request)
645648 templateData := QueryLogsTemplateData {
646649 Title : "Query logs " + query .Name ,
647650 EnvUUID : env .UUID ,
648- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
651+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
649652 LeftMetadata : leftMetadata ,
650653 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
651654 Platforms : platforms ,
@@ -750,7 +753,7 @@ func (h *HandlersAdmin) CarvesDetailsHandler(w http.ResponseWriter, r *http.Requ
750753 templateData := CarvesDetailsTemplateData {
751754 Title : "Carve details " + query .Name ,
752755 EnvUUID : env .UUID ,
753- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
756+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
754757 LeftMetadata : leftMetadata ,
755758 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
756759 Platforms : platforms ,
@@ -812,7 +815,7 @@ func (h *HandlersAdmin) ConfGETHandler(w http.ResponseWriter, r *http.Request) {
812815 // Prepare template data
813816 templateData := ConfTemplateData {
814817 Title : env .Name + " Configuration" ,
815- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
818+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
816819 Environment : env ,
817820 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
818821 Platforms : platforms ,
@@ -874,7 +877,7 @@ func (h *HandlersAdmin) EnrollGETHandler(w http.ResponseWriter, r *http.Request)
874877 powershellQuickRemove , _ := environments .QuickRemoveOneLinerPowershell ((env .Certificate != "" ), env )
875878 templateData := EnrollTemplateData {
876879 Title : env .Name + " Enroll" ,
877- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
880+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
878881 EnvName : env .Name ,
879882 EnvUUID : env .UUID ,
880883 OnelinerExpiration : h .Settings .OnelinerExpiration (settings .NoEnvironmentID ),
@@ -1079,7 +1082,7 @@ func (h *HandlersAdmin) NodeHandler(w http.ResponseWriter, r *http.Request) {
10791082 templateData := NodeTemplateData {
10801083 Title : "Node View " + node .Hostname ,
10811084 EnvUUID : env .UUID ,
1082- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
1085+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
10831086 LeftMetadata : leftMetadata ,
10841087 Node : node ,
10851088 NodeTags : nodeTags ,
@@ -1132,7 +1135,7 @@ func (h *HandlersAdmin) EnvsGETHandler(w http.ResponseWriter, r *http.Request) {
11321135 // Prepare template data
11331136 templateData := EnvironmentsTemplateData {
11341137 Title : "Manage environments" ,
1135- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
1138+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
11361139 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
11371140 Platforms : platforms ,
11381141 }
@@ -1199,7 +1202,7 @@ func (h *HandlersAdmin) SettingsGETHandler(w http.ResponseWriter, r *http.Reques
11991202 // Prepare template data
12001203 templateData := SettingsTemplateData {
12011204 Title : "Manage settings" ,
1202- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
1205+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
12031206 Service : serviceVar ,
12041207 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
12051208 Platforms : platforms ,
@@ -1264,7 +1267,7 @@ func (h *HandlersAdmin) UsersGETHandler(w http.ResponseWriter, r *http.Request)
12641267 // Prepare template data
12651268 templateData := UsersTemplateData {
12661269 Title : "Manage users" ,
1267- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
1270+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
12681271 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
12691272 Platforms : platforms ,
12701273 SystemUsers : systemUsers ,
@@ -1324,7 +1327,7 @@ func (h *HandlersAdmin) TagsGETHandler(w http.ResponseWriter, r *http.Request) {
13241327 // Prepare template data
13251328 templateData := TagsTemplateData {
13261329 Title : "Manage tags" ,
1327- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
1330+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
13281331 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
13291332 Platforms : platforms ,
13301333 Tags : tags ,
@@ -1380,7 +1383,7 @@ func (h *HandlersAdmin) EditProfileGETHandler(w http.ResponseWriter, r *http.Req
13801383 // Prepare template data
13811384 templateData := ProfileTemplateData {
13821385 Title : "Edit " + user .Username + " profile" ,
1383- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
1386+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
13841387 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
13851388 Platforms : platforms ,
13861389 CurrentUser : user ,
@@ -1436,7 +1439,7 @@ func (h *HandlersAdmin) DashboardGETHandler(w http.ResponseWriter, r *http.Reque
14361439 // Prepare template data
14371440 templateData := DashboardTemplateData {
14381441 Title : "Dashboard for " + user .Username ,
1439- Metadata : h .TemplateMetadata (ctx , h .ServiceVersion ),
1442+ Metadata : h .TemplateMetadata (ctx , h .ServiceMetadata ),
14401443 Environments : h .allowedEnvironments (ctx [sessions .CtxUser ], envAll ),
14411444 Platforms : platforms ,
14421445 CurrentUser : user ,
0 commit comments