diff --git a/command/agent/agent.go b/command/agent/agent.go index db67ce710..ac1e7c8ff 100644 --- a/command/agent/agent.go +++ b/command/agent/agent.go @@ -54,7 +54,7 @@ type Agent struct { configLock sync.Mutex logger log.InterceptLogger - eventer event.Eventer + eventer event.Auditor httpLogger log.Logger logOutput io.Writer diff --git a/command/agent/agent_oss.go b/command/agent/agent_oss.go index cadaf428e..63b255e42 100644 --- a/command/agent/agent_oss.go +++ b/command/agent/agent_oss.go @@ -10,28 +10,30 @@ import ( "github.com/hashicorp/nomad/nomad/structs/config" ) -type noOpEventer struct{} +type noOpAuditor struct{} -// Ensure noOpEventer is an Eventer -var _ event.Eventer = &noOpEventer{} +// Ensure noOpAuditor is an Eventer +var _ event.Auditor = &noOpAuditor{} -func (e *noOpEventer) Event(ctx context.Context, eventType string, payload interface{}) error { +func (e *noOpAuditor) Event(ctx context.Context, eventType string, payload interface{}) error { return nil } -func (e *noOpEventer) Enabled() bool { +func (e *noOpAuditor) Enabled() bool { return false } -func (e *noOpEventer) Reopen() error { +func (e *noOpAuditor) Reopen() error { return nil } -func (e *noOpEventer) SetEnabled(enabled bool) {} +func (e *noOpAuditor) SetEnabled(enabled bool) {} + +func (e *noOpAuditor) DeliveryEnforced() bool { return false } func (a *Agent) setupEnterpriseAgent(log hclog.Logger) error { // configure eventer - a.eventer = &noOpEventer{} + a.eventer = &noOpAuditor{} return nil } diff --git a/command/agent/event/event.go b/command/agent/event/event.go index 973bd6369..4cff3a2f5 100644 --- a/command/agent/event/event.go +++ b/command/agent/event/event.go @@ -4,16 +4,21 @@ import ( "context" ) -// Eventer describes the interface that must be implemented by an eventer. -type Eventer interface { - // Emit and event +// Auditor describes the interface that must be implemented by an eventer. +type Auditor interface { + // Emit an event to the auditor Event(ctx context.Context, eventType string, payload interface{}) error - // Specifies if the eventer is enabled or not + + // Specifies if the auditor is enabled or not Enabled() bool - // Reopen signals to eventer to reopen any files they have open. + // Reopen signals to auditor to reopen any files they have open. Reopen() error - // SetEnabled sets the eventer to enabled or disabled. + // SetEnabled sets the auditor to enabled or disabled. SetEnabled(enabled bool) + + // DeliveryEnforced returns whether or not delivery of an audit + // log must be enforced + DeliveryEnforced() bool }