handlers

package
v0.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2025 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	QueryLink   string = "/query/{{ENV}}/logs/{{NAME}}"
	StatusLink  string = "#status-logs"
	ResultsLink string = "#result-logs"
)

Variables

View Source
var (
	CarvesTargets = map[string]bool{
		"all":       true,
		"active":    true,
		"completed": true,
	}
)

Define targets to be used

View Source
var (
	LogTypes = map[string]bool{
		types.ResultLog: true,
		types.StatusLog: true,
	}
)

Define log types to be used

View Source
var (
	NodeTargets = map[string]bool{
		"all":      true,
		"active":   true,
		"inactive": true,
	}
)

Define targets to be used

Define targets to be used

View Source
var (
	StatsTargets = map[string]bool{
		"environment": true,
		"platform":    true,
	}
)

Define targets to be used

Functions

This section is empty.

Types

type AdminResponse

type AdminResponse struct {
	Message string `json:"message"`
}

AdminResponse to be returned to requests

type AsideLeftMetadata

type AsideLeftMetadata struct {
	EnvUUID      string
	ActiveNode   bool
	InactiveNode bool
	NodeUUID     string
	Query        bool
	QueryName    string
	Carve        bool
	CarveName    string
}

AsideLeftMetadata to pass metadata to the aside left menu

type CarveData

type CarveData map[string]string

CarveData to be used to hold query data

type CarveJSON

type CarveJSON struct {
	Checkbox string        `json:"checkbox"`
	Name     string        `json:"name"`
	Creator  string        `json:"creator"`
	Path     CarveData     `json:"path"`
	Created  CreationTimes `json:"created"`
	Status   string        `json:"status"`
	Progress CarveProgress `json:"progress"`
	Targets  []CarveTarget `json:"targets"`
}

CarveJSON to be used to populate JSON data for a carve

type CarveProgress

type CarveProgress map[string]int

CarveProgress to be used to show progress for a carve

type CarveTarget

type CarveTarget struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

CarveTarget to be returned with the JSON data for a carve

type CarvesDetailsTemplateData

type CarvesDetailsTemplateData struct {
	Title        string
	EnvUUID      string
	Environments []environments.TLSEnvironment
	Platforms    []string
	Query        queries.DistributedQuery
	QueryTargets []queries.DistributedQueryTarget
	Carves       []carves.CarvedFile
	CarveBlocks  map[string][]carves.CarvedBlock
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

CarvesDetailsTemplateData for passing data to the carves details

type CarvesRunTemplateData

type CarvesRunTemplateData QueryRunTemplateData

CarvesRunTemplateData for passing data to the carves run template

type CarvesTableTemplateData

type CarvesTableTemplateData GenericTableTemplateData

CarvesTableTemplateData for passing data to the carves template

type ConfTemplateData

type ConfTemplateData struct {
	Title        string
	Environment  environments.TLSEnvironment
	Environments []environments.TLSEnvironment
	Platforms    []string
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

ConfTemplateData for passing data to the conf template

type ConfigurationRequest

type ConfigurationRequest struct {
	CSRFToken        string `json:"csrftoken"`
	ConfigurationB64 string `json:"configuration"`
	OptionsB64       string `json:"options"`
	ScheduleB64      string `json:"schedule"`
	PacksB64         string `json:"packs"`
	DecoratorsB64    string `json:"decorators"`
	ATCB64           string `json:"atc"`
}

ConfigurationRequest to receive changes to configuration

type CreationTimes

type CreationTimes struct {
	Display   string `json:"display"`
	Timestamp string `json:"timestamp"`
}

CreationTimes to hold creation times

type DashboardTemplateData

type DashboardTemplateData struct {
	Title        string
	Environments []environments.TLSEnvironment
	Platforms    []string
	CurrentUser  users.AdminUser
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

DashboardTemplateData for passing data to the dashboard template

type DistributedCarveRequest

type DistributedCarveRequest struct {
	CSRFToken    string   `json:"csrftoken"`
	Environments []string `json:"environment_list"`
	Platforms    []string `json:"platform_list"`
	UUIDs        []string `json:"uuid_list"`
	Hosts        []string `json:"host_list"`
	Path         string   `json:"path"`
	ExpHours     int      `json:"exp_hours"`
}

DistributedCarveRequest to receive carve requests

type DistributedCarvesActionRequest

type DistributedCarvesActionRequest struct {
	CSRFToken string   `json:"csrftoken"`
	IDs       []string `json:"ids"`
	Action    string   `json:"action"`
}

DistributedCarvesActionRequest to receive carves requests

type DistributedQueryActionRequest

type DistributedQueryActionRequest struct {
	CSRFToken string   `json:"csrftoken"`
	Names     []string `json:"names"`
	Action    string   `json:"action"`
}

DistributedQueryActionRequest to receive query requests

type DistributedQueryRequest

type DistributedQueryRequest struct {
	CSRFToken    string   `json:"csrftoken"`
	Environments []string `json:"environment_list"`
	Platforms    []string `json:"platform_list"`
	UUIDs        []string `json:"uuid_list"`
	Hosts        []string `json:"host_list"`
	Save         bool     `json:"save"`
	Name         string   `json:"name"`
	Query        string   `json:"query"`
	ExpHours     int      `json:"exp_hours"`
}

DistributedQueryRequest to receive query requests

type EnrollRequest

type EnrollRequest struct {
	CSRFToken      string `json:"csrftoken"`
	Action         string `json:"action"`
	CertificateB64 string `json:"certificate"`
	PackageURL     string `json:"packageurl"`
}

EnrollRequest to receive changes to enroll certificates

type EnrollTemplateData

type EnrollTemplateData struct {
	Title                 string
	EnvName               string
	EnvUUID               string
	OnelinerExpiration    bool
	EnrollExpiry          string
	EnrollExpired         bool
	DisplayPackages       bool
	DebPackage            string
	DebPackageURL         string
	RpmPackage            string
	RpmPackageURL         string
	MsiPackage            string
	MsiPackageURL         string
	PkgPackage            string
	PkgPackageURL         string
	RemoveExpiry          string
	RemoveExpired         bool
	QuickAddShell         string
	QuickRemoveShell      string
	QuickAddPowershell    string
	QuickRemovePowershell string
	Secret                string
	Flags                 string
	Certificate           string
	Environments          []environments.TLSEnvironment
	Platforms             []string
	Metadata              TemplateMetadata
	LeftMetadata          AsideLeftMetadata
}

EnrollTemplateData for passing data to the conf template

type EnvironmentsRequest

type EnvironmentsRequest struct {
	CSRFToken string `json:"csrftoken"`
	Action    string `json:"action"`
	UUID      string `json:"uuid"`
	Name      string `json:"name"`
	Hostname  string `json:"hostname"`
	Type      string `json:"type"`
	Icon      string `json:"icon"`
	DebugHTTP bool   `json:"debughttp"`
}

EnvironmentsRequest to receive changes to environments

type EnvironmentsTemplateData

type EnvironmentsTemplateData struct {
	Title        string
	Environments []environments.TLSEnvironment
	Platforms    []string
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

EnvironmentsTemplateData for passing data to the environments template

type ExpirationRequest

type ExpirationRequest struct {
	CSRFToken string `json:"csrftoken"`
	Action    string `json:"action"`
	Type      string `json:"type"`
}

ExpirationRequest to receive expiration changes to enroll/remove nodes

type GenericTableTemplateData

type GenericTableTemplateData struct {
	Title        string
	EnvUUID      string
	Environments []environments.TLSEnvironment
	Platforms    []string
	Target       string
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

GenericTableTemplateData for passing data to a table template

type HandlersAdmin

type HandlersAdmin struct {
	DB              *gorm.DB
	Users           *users.UserManager
	Tags            *tags.TagManager
	Envs            *environments.Environment
	Nodes           *nodes.NodeManager
	Queries         *queries.Queries
	Carves          *carves.Carves
	Settings        *settings.Settings
	Metrics         *metrics.Metrics
	RedisCache      *cache.RedisManager
	Sessions        *sessions.SessionManager
	ServiceVersion  string
	OsqueryVersion  string
	TemplatesFolder string
	StaticLocation  string
	CarvesFolder    string
	OsqueryTables   []types.OsqueryTable
	AdminConfig     *types.JSONConfigurationAdmin
	DBLogger        *logging.LoggerDB
}

HandlersAdmin to keep all handlers for TLS

func CreateHandlersAdmin

func CreateHandlersAdmin(opts ...HandlersOption) *HandlersAdmin

CreateHandlersAdmin to initialize the Admin handlers struct

func (*HandlersAdmin) CarvesActionsPOSTHandler

func (h *HandlersAdmin) CarvesActionsPOSTHandler(w http.ResponseWriter, r *http.Request)

CarvesActionsPOSTHandler - Handler for POST requests to carves

func (*HandlersAdmin) CarvesDetailsHandler

func (h *HandlersAdmin) CarvesDetailsHandler(w http.ResponseWriter, r *http.Request)

CarvesDetailsHandler for GET requests to see carves details by name

func (*HandlersAdmin) CarvesDownloadHandler

func (h *HandlersAdmin) CarvesDownloadHandler(w http.ResponseWriter, r *http.Request)

CarvesDownloadHandler for GET requests to download carves

func (*HandlersAdmin) CarvesListGETHandler

func (h *HandlersAdmin) CarvesListGETHandler(w http.ResponseWriter, r *http.Request)

CarvesListGETHandler for GET requests to carves

func (*HandlersAdmin) CarvesRunGETHandler

func (h *HandlersAdmin) CarvesRunGETHandler(w http.ResponseWriter, r *http.Request)

CarvesRunGETHandler for GET requests to run file carves

func (*HandlersAdmin) CarvesRunPOSTHandler

func (h *HandlersAdmin) CarvesRunPOSTHandler(w http.ResponseWriter, r *http.Request)

CarvesRunPOSTHandler for POST requests to run file carves

func (*HandlersAdmin) ConfGETHandler

func (h *HandlersAdmin) ConfGETHandler(w http.ResponseWriter, r *http.Request)

ConfGETHandler for GET requests for /conf

func (*HandlersAdmin) ConfPOSTHandler

func (h *HandlersAdmin) ConfPOSTHandler(w http.ResponseWriter, r *http.Request)

ConfPOSTHandler for POST requests for saving configuration

func (*HandlersAdmin) DashboardGETHandler

func (h *HandlersAdmin) DashboardGETHandler(w http.ResponseWriter, r *http.Request)

DashboardGETHandler for dashboard page

func (*HandlersAdmin) EditProfileGETHandler

func (h *HandlersAdmin) EditProfileGETHandler(w http.ResponseWriter, r *http.Request)

EditProfileGETHandler for user profile edit

func (*HandlersAdmin) EditProfilePOSTHandler

func (h *HandlersAdmin) EditProfilePOSTHandler(w http.ResponseWriter, r *http.Request)

EditProfilePOSTHandler for POST requests to edit profile

func (*HandlersAdmin) EnrollDownloadHandler

func (h *HandlersAdmin) EnrollDownloadHandler(w http.ResponseWriter, r *http.Request)

EnrollGETHandler for GET requests for /enroll

func (*HandlersAdmin) EnrollGETHandler

func (h *HandlersAdmin) EnrollGETHandler(w http.ResponseWriter, r *http.Request)

EnrollGETHandler for GET requests for /enroll

func (*HandlersAdmin) EnrollPOSTHandler

func (h *HandlersAdmin) EnrollPOSTHandler(w http.ResponseWriter, r *http.Request)

EnrollPOSTHandler for POST requests enroll data

func (*HandlersAdmin) EnvironmentHandler

func (h *HandlersAdmin) EnvironmentHandler(w http.ResponseWriter, r *http.Request)

EnvironmentHandler for environment view of the table

func (*HandlersAdmin) EnvsGETHandler

func (h *HandlersAdmin) EnvsGETHandler(w http.ResponseWriter, r *http.Request)

EnvsGETHandler for GET requests for /env

func (*HandlersAdmin) EnvsPOSTHandler

func (h *HandlersAdmin) EnvsPOSTHandler(w http.ResponseWriter, r *http.Request)

EnvsPOSTHandler for POST request for /environments

func (*HandlersAdmin) ErrorHandler

func (h *HandlersAdmin) ErrorHandler(w http.ResponseWriter, r *http.Request)

ErrorHandler for error requests

func (*HandlersAdmin) ExpirationPOSTHandler

func (h *HandlersAdmin) ExpirationPOSTHandler(w http.ResponseWriter, r *http.Request)

ExpirationPOSTHandler for POST requests for expiring enroll links

func (*HandlersAdmin) FaviconHandler

func (h *HandlersAdmin) FaviconHandler(w http.ResponseWriter, r *http.Request)

FaviconHandler for the favicon

func (*HandlersAdmin) ForbiddenHandler

func (h *HandlersAdmin) ForbiddenHandler(w http.ResponseWriter, r *http.Request)

ForbiddenHandler for forbidden error requests

func (*HandlersAdmin) HealthHandler

func (h *HandlersAdmin) HealthHandler(w http.ResponseWriter, r *http.Request)

HealthHandler for health requests

func (*HandlersAdmin) Inc

func (h *HandlersAdmin) Inc(name string)

Inc - Helper to send metrics if it is enabled

func (*HandlersAdmin) IntervalsPOSTHandler

func (h *HandlersAdmin) IntervalsPOSTHandler(w http.ResponseWriter, r *http.Request)

IntervalsPOSTHandler for POST requests for saving intervals

func (*HandlersAdmin) JSONCarvesHandler

func (h *HandlersAdmin) JSONCarvesHandler(w http.ResponseWriter, r *http.Request)

JSONCarvesHandler for JSON carves by target

func (*HandlersAdmin) JSONEnvironmentHandler

func (h *HandlersAdmin) JSONEnvironmentHandler(w http.ResponseWriter, r *http.Request)

JSONEnvironmentHandler - Handler for JSON endpoints by environment

func (*HandlersAdmin) JSONLogsHandler

func (h *HandlersAdmin) JSONLogsHandler(w http.ResponseWriter, r *http.Request)

JSONLogsHandler GET requests for JSON status/result logs by node and environment

func (*HandlersAdmin) JSONPlatformHandler

func (h *HandlersAdmin) JSONPlatformHandler(w http.ResponseWriter, r *http.Request)

JSONPlatformHandler - Handler for JSON endpoints by platform

func (*HandlersAdmin) JSONQueryHandler

func (h *HandlersAdmin) JSONQueryHandler(w http.ResponseWriter, r *http.Request)

JSONQueryHandler - Handler for JSON queries by target

func (*HandlersAdmin) JSONQueryJSON

func (h *HandlersAdmin) JSONQueryJSON(q queries.DistributedQuery, env string) QueryJSON

JSONQueryJSON - Helper to convert saved distributed queries to serialized JSON

func (*HandlersAdmin) JSONQueryLogsHandler

func (h *HandlersAdmin) JSONQueryLogsHandler(w http.ResponseWriter, r *http.Request)

JSONQueryLogsHandler for JSON query logs by query name

func (*HandlersAdmin) JSONSavedJSON

func (h *HandlersAdmin) JSONSavedJSON(q queries.SavedQuery) SavedJSON

JSONSavedJSON - Helper to convert saved queries to serialized JSON

func (*HandlersAdmin) JSONStatsHandler

func (h *HandlersAdmin) JSONStatsHandler(w http.ResponseWriter, r *http.Request)

JSONStatsHandler for platform/environment stats in JSON

func (*HandlersAdmin) JSONTagsHandler

func (h *HandlersAdmin) JSONTagsHandler(w http.ResponseWriter, r *http.Request)

JSONTagsHandler for platform/environment stats in JSON

func (*HandlersAdmin) LoginHandler

func (h *HandlersAdmin) LoginHandler(w http.ResponseWriter, r *http.Request)

LoginHandler for login page for GET requests

func (*HandlersAdmin) LoginPOSTHandler

func (h *HandlersAdmin) LoginPOSTHandler(w http.ResponseWriter, r *http.Request)

LoginPOSTHandler for login page for POST requests

func (*HandlersAdmin) LogoutPOSTHandler

func (h *HandlersAdmin) LogoutPOSTHandler(w http.ResponseWriter, r *http.Request)

LogoutPOSTHandler for POST requests to logout

func (*HandlersAdmin) NewTemplateFiles

func (h *HandlersAdmin) NewTemplateFiles(base string, layoutFilename string) *TemplateFiles

NewTemplateFiles defines based on layout and default static pages

func (*HandlersAdmin) NodeActionsPOSTHandler

func (h *HandlersAdmin) NodeActionsPOSTHandler(w http.ResponseWriter, r *http.Request)

NodeActionsPOSTHandler for POST requests for multi node action

func (*HandlersAdmin) NodeHandler

func (h *HandlersAdmin) NodeHandler(w http.ResponseWriter, r *http.Request)

NodeHandler for node view

func (*HandlersAdmin) PermissionsGETHandler

func (h *HandlersAdmin) PermissionsGETHandler(w http.ResponseWriter, r *http.Request)

PermissionsGETHandler for platform/environment stats in JSON

func (*HandlersAdmin) PermissionsPOSTHandler

func (h *HandlersAdmin) PermissionsPOSTHandler(w http.ResponseWriter, r *http.Request)

PermissionsPOSTHandler for POST request for /users/permissions

func (*HandlersAdmin) PlatformHandler

func (h *HandlersAdmin) PlatformHandler(w http.ResponseWriter, r *http.Request)

PlatformHandler for platform view of the table

func (*HandlersAdmin) QueryActionsPOSTHandler

func (h *HandlersAdmin) QueryActionsPOSTHandler(w http.ResponseWriter, r *http.Request)

QueryActionsPOSTHandler for POST requests to queries

func (*HandlersAdmin) QueryListGETHandler

func (h *HandlersAdmin) QueryListGETHandler(w http.ResponseWriter, r *http.Request)

QueryListGETHandler for GET requests to queries

func (*HandlersAdmin) QueryLogsHandler

func (h *HandlersAdmin) QueryLogsHandler(w http.ResponseWriter, r *http.Request)

QueryLogsHandler for GET requests to see query results by name

func (*HandlersAdmin) QueryRunGETHandler

func (h *HandlersAdmin) QueryRunGETHandler(w http.ResponseWriter, r *http.Request)

QueryRunGETHandler for GET requests to run queries

func (*HandlersAdmin) QueryRunPOSTHandler

func (h *HandlersAdmin) QueryRunPOSTHandler(w http.ResponseWriter, r *http.Request)

QueryRunPOSTHandler for POST requests to run queries

func (*HandlersAdmin) RootHandler

func (h *HandlersAdmin) RootHandler(w http.ResponseWriter, r *http.Request)

RootHandler - Handler for the root path

func (*HandlersAdmin) SavedQueriesGETHandler

func (h *HandlersAdmin) SavedQueriesGETHandler(w http.ResponseWriter, r *http.Request)

SavedQueriesGETHandler for GET requests to queries

func (*HandlersAdmin) SavedQueriesPOSTHandler

func (h *HandlersAdmin) SavedQueriesPOSTHandler(w http.ResponseWriter, r *http.Request)

SavedQueriesPOSTHandler for POST requests to save queries

func (*HandlersAdmin) SettingsGETHandler

func (h *HandlersAdmin) SettingsGETHandler(w http.ResponseWriter, r *http.Request)

SettingsGETHandler for GET requests for /settings

func (*HandlersAdmin) SettingsPOSTHandler

func (h *HandlersAdmin) SettingsPOSTHandler(w http.ResponseWriter, r *http.Request)

SettingsPOSTHandler for POST request for /settings

func (*HandlersAdmin) TagNodesPOSTHandler

func (h *HandlersAdmin) TagNodesPOSTHandler(w http.ResponseWriter, r *http.Request)

TagNodesPOSTHandler for POST request for /tags/nodes

func (*HandlersAdmin) TagsGETHandler

func (h *HandlersAdmin) TagsGETHandler(w http.ResponseWriter, r *http.Request)

TagsGETHandler for GET requests for /tags

func (*HandlersAdmin) TagsPOSTHandler

func (h *HandlersAdmin) TagsPOSTHandler(w http.ResponseWriter, r *http.Request)

TagsPOSTHandler for POST request for /tags

func (*HandlersAdmin) TemplateMetadata

func (h *HandlersAdmin) TemplateMetadata(ctx sessions.ContextValue, version string) TemplateMetadata

TemplateMetadata - Helper to prepare template metadata TODO until a better implementation, all users are admin

func (*HandlersAdmin) TokensGETHandler

func (h *HandlersAdmin) TokensGETHandler(w http.ResponseWriter, r *http.Request)

TokensGETHandler for GET requests for /tokens/{username}

func (*HandlersAdmin) TokensPOSTHandler

func (h *HandlersAdmin) TokensPOSTHandler(w http.ResponseWriter, r *http.Request)

TokensPOSTHandler for POST request for /tokens/{username}/refresh

func (*HandlersAdmin) UsersGETHandler

func (h *HandlersAdmin) UsersGETHandler(w http.ResponseWriter, r *http.Request)

UsersGETHandler for GET requests for /users

func (*HandlersAdmin) UsersPOSTHandler

func (h *HandlersAdmin) UsersPOSTHandler(w http.ResponseWriter, r *http.Request)

UsersPOSTHandler for POST request for /users

type HandlersOption

type HandlersOption func(*HandlersAdmin)

func WithAdminConfig

func WithAdminConfig(config *types.JSONConfigurationAdmin) HandlersOption

func WithCache

func WithCache(rds *cache.RedisManager) HandlersOption

func WithCarves

func WithCarves(carves *carves.Carves) HandlersOption

func WithCarvesFolder

func WithCarvesFolder(carves string) HandlersOption

func WithDB

func WithDB(db *gorm.DB) HandlersOption

func WithDBLogger

func WithDBLogger(dbfile string, config *backend.JSONConfigurationDB) HandlersOption

func WithEnvs

func WithEnvs(envs *environments.Environment) HandlersOption

func WithMetrics

func WithMetrics(metrics *metrics.Metrics) HandlersOption

func WithNodes

func WithNodes(nodes *nodes.NodeManager) HandlersOption

func WithOsqueryTables

func WithOsqueryTables(tables []types.OsqueryTable) HandlersOption

func WithOsqueryVersion

func WithOsqueryVersion(version string) HandlersOption

func WithQueries

func WithQueries(queries *queries.Queries) HandlersOption

func WithSessions

func WithSessions(sessions *sessions.SessionManager) HandlersOption

func WithSettings

func WithSettings(settings *settings.Settings) HandlersOption

func WithStaticLocation

func WithStaticLocation(offline bool) HandlersOption

func WithTags

func WithTags(tags *tags.TagManager) HandlersOption

func WithTemplates

func WithTemplates(templates string) HandlersOption

func WithUsers

func WithUsers(users *users.UserManager) HandlersOption

func WithVersion

func WithVersion(version string) HandlersOption

type IntervalsRequest

type IntervalsRequest struct {
	CSRFToken      string `json:"csrftoken"`
	ConfigInterval int    `json:"config"`
	LogInterval    int    `json:"log"`
	QueryInterval  int    `json:"query"`
}

IntervalsRequest to receive changes to intervals

type LogJSON

type LogJSON struct {
	Created CreationTimes `json:"created"`
	First   string        `json:"first"`
	Second  string        `json:"second"`
}

LogJSON to be used to populate JSON data for a status/result log

type LoginRequest

type LoginRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

LoginRequest to receive login credentials

type LoginTemplateData

type LoginTemplateData struct {
	Title   string
	Project string
}

LoginTemplateData for passing data to the login template

type LogoutRequest

type LogoutRequest struct {
	CSRFToken string `json:"csrftoken"`
}

LogoutRequest to receive logout requests

type NodeJSON

type NodeJSON struct {
	Checkbox  string        `json:"checkbox"`
	UUID      string        `json:"uuid"`
	Username  string        `json:"username"`
	Localname string        `json:"localname"`
	IP        string        `json:"ip"`
	Platform  string        `json:"platform"`
	Version   string        `json:"version"`
	Osquery   string        `json:"osquery"`
	LastSeen  CreationTimes `json:"lastseen"`
	FirstSeen CreationTimes `json:"firstseen"`
}

NodeJSON to be used to populate JSON data for a node

type NodeMultiActionRequest

type NodeMultiActionRequest struct {
	CSRFToken string   `json:"csrftoken"`
	Action    string   `json:"action"`
	UUIDs     []string `json:"uuids"`
}

NodeMultiActionRequest to receive node action requests

type NodeTemplateData

type NodeTemplateData struct {
	Title         string
	EnvUUID       string
	Node          nodes.OsqueryNode
	NodeTags      []tags.AdminTag
	TagsForNode   []tags.AdminTagForNode
	Environments  []environments.TLSEnvironment
	Platforms     []string
	Metadata      TemplateMetadata
	LeftMetadata  AsideLeftMetadata
	Dashboard     bool
	Schedule      environments.ScheduleConf
	Packs         environments.PacksEntries
	ServiceConfig types.JSONConfigurationAdmin
}

NodeTemplateData for passing data to the query template

type PermissionsRequest

type PermissionsRequest struct {
	CSRFToken   string `json:"csrftoken"`
	Environment string `json:"environment"`
	Read        bool   `json:"read"`
	Query       bool   `json:"query"`
	Carve       bool   `json:"carve"`
	Admin       bool   `json:"admin"`
}

PermissionsRequest to receive user permissions changes requests

type ProfileRequest

type ProfileRequest struct {
	CSRFToken string `json:"csrftoken"`
	Username  string `json:"username"`
}

ProfileRequest to receive user profile changes requests

type ProfileTemplateData

type ProfileTemplateData struct {
	Title        string
	Environments []environments.TLSEnvironment
	Platforms    []string
	CurrentUser  users.AdminUser
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

ProfileTemplateData for passing data to the users profile template

type QueryData

type QueryData map[string]string

QueryData to be used to hold query data

type QueryJSON

type QueryJSON struct {
	Checkbox string        `json:"checkbox"`
	Name     string        `json:"name"`
	Creator  string        `json:"creator"`
	Query    QueryData     `json:"query"`
	Created  CreationTimes `json:"created"`
	Status   string        `json:"status"`
	Progress QueryProgress `json:"progress"`
	Targets  []QueryTarget `json:"targets"`
}

QueryJSON to be used to populate JSON data for a distributed query

type QueryLogJSON

type QueryLogJSON struct {
	Created CreationTimes   `json:"created"`
	Target  QueryTargetNode `json:"target"`
	Data    string          `json:"data"`
}

QueryLogJSON to be used to populate JSON data for a query log

type QueryLogsTemplateData

type QueryLogsTemplateData struct {
	Title         string
	EnvUUID       string
	Environments  []environments.TLSEnvironment
	Platforms     []string
	Query         queries.DistributedQuery
	QueryTargets  []queries.DistributedQueryTarget
	Metadata      TemplateMetadata
	LeftMetadata  AsideLeftMetadata
	ServiceConfig types.JSONConfigurationAdmin
}

QueryLogsTemplateData for passing data to the query template

type QueryProgress

type QueryProgress map[string]int

QueryProgress to be used to show progress for a query

type QueryRunTemplateData

type QueryRunTemplateData struct {
	Title         string
	EnvUUID       string
	Environments  []environments.TLSEnvironment
	Platforms     []string
	UUIDs         []string
	Hosts         []string
	Tables        []types.OsqueryTable
	TablesVersion string
	Metadata      TemplateMetadata
	LeftMetadata  AsideLeftMetadata
}

QueryRunTemplateData for passing data to the query run template

type QueryTableTemplateData

type QueryTableTemplateData GenericTableTemplateData

QueryTableTemplateData for passing data to the query template

type QueryTarget

type QueryTarget struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

QueryTarget to be returned with the JSON data for a query

type QueryTargetNode

type QueryTargetNode struct {
	UUID string `json:"uuid"`
	Name string `json:"name"`
}

QueryTargetNode to return the target of a on-demand query

type ReturnedCarves

type ReturnedCarves struct {
	Data []CarveJSON `json:"data"`
}

ReturnedCarves to return a JSON with carves

type ReturnedLogs

type ReturnedLogs struct {
	Data []LogJSON `json:"data"`
}

ReturnedLogs to return a JSON with status/result logs

type ReturnedNodes

type ReturnedNodes struct {
	Data []NodeJSON `json:"data"`
}

ReturnedNodes to return a JSON with nodes

type ReturnedQueries

type ReturnedQueries struct {
	Data []QueryJSON `json:"data"`
}

ReturnedQueries to return a JSON with distributed queries

type ReturnedQueryLogs

type ReturnedQueryLogs struct {
	Data []QueryLogJSON `json:"data"`
}

ReturnedQueryLogs to return a JSON with query logs

type ReturnedSaved

type ReturnedSaved struct {
	Data []SavedJSON `json:"data"`
}

ReturnedSaved to return a JSON with saved queries

type SavedJSON

type SavedJSON struct {
	Checkbox string        `json:"checkbox"`
	Name     string        `json:"name"`
	Creator  string        `json:"creator"`
	Query    string        `json:"query"`
	Created  CreationTimes `json:"created"`
}

SavedJSON to be used to populate JSON data for a saved query

type SavedQueriesTemplateData

type SavedQueriesTemplateData GenericTableTemplateData

SavedQueriesTemplateData for passing data to the saved queries

type SavedQueryRequest

type SavedQueryRequest struct {
	CSRFToken string `json:"csrftoken"`
	Action    string `json:"action"`
	Name      string `json:"name"`
	Query     string `json:"query"`
}

SavedQueryRequest to receive saved query requests

type SettingsRequest

type SettingsRequest struct {
	CSRFToken string `json:"csrftoken"`
	Action    string `json:"action"`
	Boolean   bool   `json:"boolean"`
	Type      string `json:"type"`
	Name      string `json:"name"`
	Value     string `json:"value"`
}

SettingsRequest to receive changes to settings

type SettingsTemplateData

type SettingsTemplateData struct {
	Title           string
	Service         string
	Environments    []environments.TLSEnvironment
	Platforms       []string
	CurrentSettings []settings.SettingValue
	ServiceConfig   types.JSONConfigurationAdmin
	Metadata        TemplateMetadata
	LeftMetadata    AsideLeftMetadata
}

SettingsTemplateData for passing data to the settings template

type TableTemplateData

type TableTemplateData struct {
	Title        string
	EnvUUID      string
	Selector     string
	SelectorName string
	Target       string
	Tags         []tags.AdminTag
	Environments []environments.TLSEnvironment
	Platforms    []string
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

TableTemplateData for passing data to the table template

type TagNodesRequest

type TagNodesRequest struct {
	CSRFToken  string   `json:"csrftoken"`
	UUIDs      []string `json:"uuids"`
	TagsAdd    []string `json:"tagsadd"`
	TagsRemove []string `json:"tagsremove"`
}

TagNodesRequest to receive a tag for nodes

type TagsRequest

type TagsRequest struct {
	CSRFToken   string `json:"csrftoken"`
	Action      string `json:"action"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Color       string `json:"color"`
	Icon        string `json:"icon"`
	Environment string `json:"environment"`
	TagType     uint   `json:"tagtype"`
}

TagsRequest to receive tag action requests

type TagsTemplateData

type TagsTemplateData struct {
	Title        string
	Environments []environments.TLSEnvironment
	Platforms    []string
	Tags         []tags.AdminTag
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

TagsTemplateData for passing data to the tags template

type TemplateFiles

type TemplateFiles struct {
	// contains filtered or unexported fields
}

TemplateFiles for building UI layout

type TemplateMetadata

type TemplateMetadata struct {
	Username       string
	Level          string
	Service        string
	Version        string
	TLSDebug       bool
	AdminDebug     bool
	APIDebug       bool
	AdminDebugHTTP bool
	APIDebugHTTP   bool
	CSRFToken      string
}

TemplateMetadata to pass some metadata to templates

type TokenJSON

type TokenJSON struct {
	Token     string `json:"token"`
	Expires   string `json:"expires"`
	ExpiresTS string `json:"expires_ts"`
}

TokenJSON to be used to populate a JSON token

type TokenRequest

type TokenRequest struct {
	CSRFToken string `json:"csrftoken"`
	Username  string `json:"username"`
	ExpHours  int    `json:"exp_hours"`
}

TokenRequest to receive API token related requests

type TokenResponse

type TokenResponse struct {
	Token        string `json:"token"`
	Expiration   string `json:"expiration"`
	ExpirationTS string `json:"exp_ts"`
}

TokenResponse to be returned to API token requests

type UsersRequest

type UsersRequest struct {
	CSRFToken    string   `json:"csrftoken"`
	Action       string   `json:"action"`
	Username     string   `json:"username"`
	Email        string   `json:"email"`
	Fullname     string   `json:"fullname"`
	OldPassword  string   `json:"old_password"`
	NewPassword  string   `json:"new_password"`
	Token        bool     `json:"token"`
	Admin        bool     `json:"admin"`
	Environments []string `json:"environments"`
}

UsersRequest to receive user action requests

type UsersTemplateData

type UsersTemplateData struct {
	Title        string
	Environments []environments.TLSEnvironment
	Platforms    []string
	CurrentUsers []users.AdminUser
	Metadata     TemplateMetadata
	LeftMetadata AsideLeftMetadata
}

UsersTemplateData for passing data to the users template

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳