Documentation ¶
Index ¶
- func RegisterConfigAPI(r *shttp.Server)
- func RegisterPcapAPI(r *shttp.Server, store storage.Storage)
- func RegisterStatusAPI(s *shttp.Server, r StatusReporter)
- func RegisterTopologyAPI(r *shttp.Server, g *graph.Graph, parser *traversal.GremlinTraversalParser)
- type AlertAPIHandler
- type AlertResourceHandler
- type BasicAPIHandler
- func (h *BasicAPIHandler) AsyncWatch(f WatcherCallback) StoppableWatcher
- func (h *BasicAPIHandler) Create(resource types.Resource) error
- func (h *BasicAPIHandler) Decorate(resource types.Resource)
- func (h *BasicAPIHandler) Delete(id string) error
- func (h *BasicAPIHandler) Get(id string) (types.Resource, bool)
- func (h *BasicAPIHandler) Index() map[string]types.Resource
- func (h *BasicAPIHandler) Name() string
- func (h *BasicAPIHandler) New() types.Resource
- func (h *BasicAPIHandler) Unmarshal(b []byte) (resource types.Resource, err error)
- func (h *BasicAPIHandler) Update(id string, resource types.Resource) error
- type BasicStoppableWatcher
- type CaptureAPIHandler
- type CaptureResourceHandler
- type Handler
- type HandlerFunc
- type Info
- type PacketInjectorAPI
- type PacketInjectorResourceHandler
- type PcapAPI
- type ResourceHandler
- type ResourceWatcher
- type Server
- type StatusReporter
- type StoppableWatcher
- type TopologyAPI
- type UserMetadataAPIHandler
- type UserMetadataResourceHandler
- type WatcherCallback
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterConfigAPI ¶
RegisterConfigAPI registers a configuration endpoint (read only) in API server
func RegisterPcapAPI ¶
RegisterPcapAPI registers a new pcap injector API
func RegisterStatusAPI ¶
func RegisterStatusAPI(s *shttp.Server, r StatusReporter)
RegisterStatus registers the status endpoint
func RegisterTopologyAPI ¶
RegisterTopologyAPI registers a new topology query API
Types ¶
type AlertAPIHandler ¶
type AlertAPIHandler struct {
BasicAPIHandler
}
AlertAPIHandler aims to exposes the Alert API.
func RegisterAlertAPI ¶
func RegisterAlertAPI(apiServer *Server) (*AlertAPIHandler, error)
RegisterAlertAPI registers an Alert's API to a designated API Server
type AlertResourceHandler ¶
type AlertResourceHandler struct {
ResourceHandler
}
AlertResourceHandler aims to creates and manage a new Alert.
func (*AlertResourceHandler) Name ¶
func (a *AlertResourceHandler) Name() string
Name returns resource name "alert"
func (*AlertResourceHandler) New ¶
func (a *AlertResourceHandler) New() types.Resource
New creates a new alert
type BasicAPIHandler ¶
type BasicAPIHandler struct { ResourceHandler ResourceHandler EtcdKeyAPI etcd.KeysAPI }
BasicAPIHandler basic implementation of an Handler, should be used as embedded struct for the most part of the resource
func (*BasicAPIHandler) AsyncWatch ¶
func (h *BasicAPIHandler) AsyncWatch(f WatcherCallback) StoppableWatcher
AsyncWatch registers a new resource watcher
func (*BasicAPIHandler) Create ¶
func (h *BasicAPIHandler) Create(resource types.Resource) error
Create a new resource in Etcd
func (*BasicAPIHandler) Decorate ¶
func (h *BasicAPIHandler) Decorate(resource types.Resource)
Decorate the resource
func (*BasicAPIHandler) Delete ¶
func (h *BasicAPIHandler) Delete(id string) error
Delete a resource
func (*BasicAPIHandler) Get ¶
func (h *BasicAPIHandler) Get(id string) (types.Resource, bool)
Get a specific resource
func (*BasicAPIHandler) Index ¶
func (h *BasicAPIHandler) Index() map[string]types.Resource
Index returns the list of resource available in Etcd
func (*BasicAPIHandler) Name ¶
func (h *BasicAPIHandler) Name() string
Name returns the resource name
func (*BasicAPIHandler) New ¶
func (h *BasicAPIHandler) New() types.Resource
New creates a new resource
type BasicStoppableWatcher ¶
type BasicStoppableWatcher struct { StoppableWatcher // contains filtered or unexported fields }
BasicStoppableWatcher basic implementation of a resource watcher
func (*BasicStoppableWatcher) Stop ¶
func (s *BasicStoppableWatcher) Stop()
Stop the resource watcher
type CaptureAPIHandler ¶
type CaptureAPIHandler struct { BasicAPIHandler Graph *graph.Graph }
CaptureAPIHandler based on BasicAPIHandler
func RegisterCaptureAPI ¶
func RegisterCaptureAPI(apiServer *Server, g *graph.Graph) (*CaptureAPIHandler, error)
RegisterCaptureAPI registers an new resource, capture
func (*CaptureAPIHandler) Create ¶
func (c *CaptureAPIHandler) Create(r types.Resource) error
Create tests that resource GremlinQuery does not exists already
func (*CaptureAPIHandler) Decorate ¶
func (c *CaptureAPIHandler) Decorate(resource types.Resource)
Decorate populates the capture resource
type CaptureResourceHandler ¶
type CaptureResourceHandler struct {
ResourceHandler
}
CaptureResourceHandler describes a capture ressouce handler
func (*CaptureResourceHandler) Name ¶
func (c *CaptureResourceHandler) Name() string
Name returns "capture"
func (*CaptureResourceHandler) New ¶
func (c *CaptureResourceHandler) New() types.Resource
New creates a new capture resource
type Handler ¶
type Handler interface { Name() string New() types.Resource Index() map[string]types.Resource Get(id string) (types.Resource, bool) Decorate(resource types.Resource) Create(resource types.Resource) error Delete(id string) error AsyncWatch(f WatcherCallback) StoppableWatcher }
Handler describes resources for each API
type HandlerFunc ¶
type HandlerFunc func(w http.ResponseWriter, r *http.Request)
HandlerFunc describes an http(s) router handler callback function
type PacketInjectorAPI ¶
type PacketInjectorAPI struct { BasicAPIHandler Graph *graph.Graph TrackingId chan string }
PacketInjectorAPI exposes the packet injector API
func RegisterPacketInjectorAPI ¶
func RegisterPacketInjectorAPI(g *graph.Graph, apiServer *Server) (*PacketInjectorAPI, error)
RegisterPacketInjectorAPI registers a new packet injector resource in the API
type PacketInjectorResourceHandler ¶
type PacketInjectorResourceHandler struct {
ResourceHandler
}
PacketInjectorResourceHandler describes a packet injector resource handler
func (*PacketInjectorResourceHandler) Name ¶
func (pirh *PacketInjectorResourceHandler) Name() string
func (*PacketInjectorResourceHandler) New ¶
func (pirh *PacketInjectorResourceHandler) New() types.Resource
type ResourceHandler ¶
types.ResourceHandler aims to creates new resource of an API
type ResourceWatcher ¶
type ResourceWatcher interface {
AsyncWatch(f WatcherCallback) StoppableWatcher
}
types.ResourceWatcher asynchronous interface
type Server ¶
type Server struct { HTTPServer *shttp.Server EtcdKeyAPI etcd.KeysAPI ServiceType common.ServiceType // contains filtered or unexported fields }
Server object are created once for each ServiceType (agent or analyzer)
func NewAPI ¶
func NewAPI(server *shttp.Server, kapi etcd.KeysAPI, serviceType common.ServiceType) (*Server, error)
NewAPI creates a new API server based on http
func (*Server) GetHandler ¶
GetHandler returns the hander named hname
func (*Server) RegisterAPIHandler ¶
RegisterAPIHandler registers a new handler for an API
type StatusReporter ¶
type StatusReporter interface {
GetStatus() interface{}
}
WSSpeaker is the interface to report the status of a service
type TopologyAPI ¶
type TopologyAPI struct {
// contains filtered or unexported fields
}
TopologyAPI exposes the topology query API
type UserMetadataAPIHandler ¶
type UserMetadataAPIHandler struct { BasicAPIHandler Graph *graph.Graph }
UserMetadataAPIHandler based on BasicAPIHandler
func RegisterUserMetadataAPI ¶
func RegisterUserMetadataAPI(apiServer *Server, g *graph.Graph) (*UserMetadataAPIHandler, error)
RegisterUserMetadataAPI registers a new user metadata api handler
type UserMetadataResourceHandler ¶
type UserMetadataResourceHandler struct { }
UserMetadataResourceHandler describes a user metadata resource handler
func (*UserMetadataResourceHandler) Name ¶
func (m *UserMetadataResourceHandler) Name() string
Name return "usermetadata"
func (*UserMetadataResourceHandler) New ¶
func (m *UserMetadataResourceHandler) New() types.Resource
New creates a new user metadata resource