diff --git a/libpod/events/default_journal.go b/libpod/events/default_journal.go new file mode 100644 index 0000000000..e1f1542a67 --- /dev/null +++ b/libpod/events/default_journal.go @@ -0,0 +1,6 @@ +//go:build systemd && linux + +package events + +// DefaultEventerType is journald when systemd is available. +const DefaultEventerType = Journald diff --git a/libpod/events/default_logfile.go b/libpod/events/default_logfile.go new file mode 100644 index 0000000000..6076deb17f --- /dev/null +++ b/libpod/events/default_logfile.go @@ -0,0 +1,7 @@ +//go:build !systemd || !linux + +package events + +// DefaultEventerType is logfile when systemd is not present +// or not supported. +const DefaultEventerType = LogFile diff --git a/libpod/events/events.go b/libpod/events/events.go index b237bca9ed..2b699b33c0 100644 --- a/libpod/events/events.go +++ b/libpod/events/events.go @@ -98,16 +98,6 @@ func (e *Event) ToHumanReadable(truncate bool) string { return humanFormat } -// newEventFromJSONString takes stringified json and converts -// it to an event -func newEventFromJSONString(event string) (*Event, error) { - e := new(Event) - if err := json.Unmarshal([]byte(event), e); err != nil { - return nil, err - } - return e, nil -} - // String converts a Type to a string func (t Type) String() string { return string(t) diff --git a/libpod/events/events_freebsd.go b/libpod/events/events_freebsd.go deleted file mode 100644 index 64528cfdf9..0000000000 --- a/libpod/events/events_freebsd.go +++ /dev/null @@ -1,21 +0,0 @@ -package events - -import ( - "fmt" - "strings" - - "github.com/sirupsen/logrus" -) - -// NewEventer creates an eventer based on the eventer type -func NewEventer(options EventerOptions) (Eventer, error) { - logrus.Debugf("Initializing event backend %s", options.EventerType) - switch EventerType(strings.ToLower(options.EventerType)) { - case LogFile: - return EventLogFile{options}, nil - case Null: - return newNullEventer(), nil - default: - return nil, fmt.Errorf("unknown event logger type: %s", strings.ToLower(options.EventerType)) - } -} diff --git a/libpod/events/events_linux.go b/libpod/events/events_supported.go similarity index 55% rename from libpod/events/events_linux.go rename to libpod/events/events_supported.go index 0b8d380a34..825c80a585 100644 --- a/libpod/events/events_linux.go +++ b/libpod/events/events_supported.go @@ -1,6 +1,9 @@ +//go:build linux || freebsd + package events import ( + "encoding/json" "fmt" "strings" @@ -21,3 +24,19 @@ func NewEventer(options EventerOptions) (Eventer, error) { return nil, fmt.Errorf("unknown event logger type: %s", strings.ToLower(options.EventerType)) } } + +// newEventFromJSONString takes stringified json and converts +// it to an event +func newEventFromJSONString(event string) (*Event, error) { + e := new(Event) + if err := json.Unmarshal([]byte(event), e); err != nil { + return nil, err + } + return e, nil +} + +// newNullEventer returns a new null eventer. You should only do this for +// the purposes of internal libpod testing. +func newNullEventer() Eventer { + return EventToNull{} +} diff --git a/libpod/events/filters.go b/libpod/events/filters.go index e502546be4..00bdd19ee5 100644 --- a/libpod/events/filters.go +++ b/libpod/events/filters.go @@ -1,3 +1,5 @@ +//go:build linux || freebsd + package events import ( diff --git a/libpod/events/journal_linux.go b/libpod/events/journal_linux.go index caee397c10..b239242dac 100644 --- a/libpod/events/journal_linux.go +++ b/libpod/events/journal_linux.go @@ -17,9 +17,6 @@ import ( "github.com/sirupsen/logrus" ) -// DefaultEventerType is journald when systemd is available -const DefaultEventerType = Journald - // EventJournalD is the journald implementation of an eventer type EventJournalD struct { options EventerOptions diff --git a/libpod/events/journal_unsupported.go b/libpod/events/journal_unsupported.go index 10fb00b716..07449e434e 100644 --- a/libpod/events/journal_unsupported.go +++ b/libpod/events/journal_unsupported.go @@ -1,10 +1,7 @@ -//go:build !systemd +//go:build (linux && !systemd) || freebsd package events -// DefaultEventerType is logfile when systemd is not present -const DefaultEventerType = LogFile - // newJournalDEventer always returns an error if libsystemd not found func newJournalDEventer(options EventerOptions) (Eventer, error) { return nil, ErrNoJournaldLogging diff --git a/libpod/events/nullout.go b/libpod/events/nullout.go index ff08c84ea4..369dd4a92c 100644 --- a/libpod/events/nullout.go +++ b/libpod/events/nullout.go @@ -19,12 +19,6 @@ func (e EventToNull) Read(ctx context.Context, options ReadOptions) error { return errors.New("cannot read events with the \"none\" backend") } -// newNullEventer returns a new null eventer. You should only do this for -// the purposes of internal libpod testing. -func newNullEventer() Eventer { - return EventToNull{} -} - // String returns a string representation of the logger func (e EventToNull) String() string { return "none"