Documentation
¶
Index ¶
Constants ¶
const ( // Container - event is related to containers Container Type = "container" // Image - event is related to images Image Type = "image" // Network - event is related to networks Network Type = "network" // Pod - event is related to pods Pod Type = "pod" // System - event is related to Podman whole and not to any specific // container/pod/image/volume System Type = "system" // Volume - event is related to volumes Volume Type = "volume" // Machine - event is related to machine VM's Machine Type = "machine" // Attach ... Attach Status = "attach" // AutoUpdate ... AutoUpdate Status = "auto-update" // Build ... Build Status = "build" // Checkpoint ... Checkpoint Status = "checkpoint" // Cleanup ... Cleanup Status = "cleanup" // Commit ... Commit Status = "commit" // Copy ... Copy Status = "copy" // Create ... Create Status = "create" // Exec ... Exec Status = "exec" // ExecDied indicates that an exec session in a container died. ExecDied Status = "exec_died" // Exited indicates that a container's process died Exited Status = "died" // Export ... Export Status = "export" // HealthStatus ... HealthStatus Status = "health_status" // History ... History Status = "history" // Import ... Import Status = "import" // Init ... Init Status = "init" // Kill ... Kill Status = "kill" // LoadFromArchive ... LoadFromArchive Status = "loadfromarchive" // Mount ... Mount Status = "mount" // NetworkConnect NetworkConnect Status = "connect" // NetworkDisconnect NetworkDisconnect Status = "disconnect" // Pause ... Pause Status = "pause" // Prune ... Prune Status = "prune" // Pull ... Pull Status = "pull" // Push ... Push Status = "push" // Refresh indicates that the system refreshed the state after a // reboot. Refresh Status = "refresh" // Remove ... Remove Status = "remove" // Rename indicates that a container was renamed Rename Status = "rename" // Renumber indicates that lock numbers were reallocated at user // request. Renumber Status = "renumber" // Restart indicates that the target was restarted via an API call. Restart Status = "restart" // Restore ... Restore Status = "restore" // Rotate indicates that the log file was rotated Rotate Status = "log-rotation" // Save ... Save Status = "save" // Start ... Start Status = "start" // Stop ... Stop Status = "stop" // Sync ... Sync Status = "sync" // Tag ... Tag Status = "tag" // Unmount ... Unmount Status = "unmount" // Unpause ... Unpause Status = "unpause" // Untag ... Untag Status = "untag" )
When updating this list below please also update the shell completion list in cmd/podman/common/completion.go and the StringToXXX function in events.go.
const DefaultEventerType = LogFile
DefaultEventerType is logfile when systemd is not present
Variables ¶
var ( // ErrEventTypeBlank indicates the event log found something done by podman // but it isn't likely an event ErrEventTypeBlank = errors.New("event type blank") // ErrEventNotFound indicates that the event was not found in the event log ErrEventNotFound = errors.New("unable to find event") )
var ErrNoJournaldLogging = errors.New("no support for journald logging")
ErrNoJournaldLogging indicates that there is no journald logging supported (requires libsystemd)
Functions ¶
func IsValidEventer ¶
IsValidEventer checks if the given string is a valid eventer type.
Types ¶
type Details ¶
type Details struct {
// ID is the event ID
ID string
// ContainerInspectData includes the payload of the container's inspect
// data. Only set when events_container_create_inspect_data is set true
// in containers.conf.
ContainerInspectData string `json:",omitempty"`
// PodID is the ID of the pod associated with the container.
PodID string `json:",omitempty"`
// Attributes can be used to describe specifics about the event
// in the case of a container event, labels for example
Attributes map[string]string
}
Details describes specifics about certain events, specifically around container events
type Event ¶
type Event struct {
// ContainerExitCode is for storing the exit code of a container which can
// be used for "internal" event notification
ContainerExitCode *int `json:",omitempty"`
// ID can be for the container, image, volume, etc
ID string `json:",omitempty"`
// Image used where applicable
Image string `json:",omitempty"`
// Name where applicable
Name string `json:",omitempty"`
// Network is the network name in a network event
Network string `json:"network,omitempty"`
// Status describes the event that occurred
Status Status
// Time the event occurred
Time time.Time
// Type of event that occurred
Type Type
// Health status of the current container
HealthStatus string `json:"health_status,omitempty"`
Details
}
Event describes the attributes of a libpod event
func (*Event) ToHumanReadable ¶
ToHumanReadable returns human-readable event as a formatted string
func (*Event) ToJSONString ¶
ToJSONString returns the event as a json'ified string
type EventLogFile ¶
type EventLogFile struct {
// contains filtered or unexported fields
}
EventLogFile is the structure for event writing to a logfile. It contains the eventer options and the event itself. Methods for reading and writing are also defined from it.
func (EventLogFile) Read ¶
func (e EventLogFile) Read(ctx context.Context, options ReadOptions) error
Reads from the log file
func (EventLogFile) String ¶
func (e EventLogFile) String() string
String returns a string representation of the logger
type EventMemory ¶
type EventMemory struct {
// contains filtered or unexported fields
}
EventMemory is the structure for event writing to a channel. It contains the eventer options and the event itself. Methods for reading and writing are also defined from it.
func (EventMemory) Read ¶
func (e EventMemory) Read(ctx context.Context, options ReadOptions) (err error)
Read event(s) from memory queue
func (EventMemory) Write ¶
func (e EventMemory) Write(event Event) (err error)
Write event to memory queue
type EventToNull ¶
type EventToNull struct{}
EventToNull is an eventer type that does nothing. It is meant for unit tests only
func (EventToNull) Read ¶
func (e EventToNull) Read(ctx context.Context, options ReadOptions) error
Read does nothing and returns an error.
func (EventToNull) String ¶
func (e EventToNull) String() string
String returns a string representation of the logger
func (EventToNull) Write ¶
func (e EventToNull) Write(ee Event) error
Write eats the event and always returns nil
type Eventer ¶
type Eventer interface {
// Write an event to a backend
Write(event Event) error
// Read an event from the backend
Read(ctx context.Context, options ReadOptions) error
// String returns the type of event logger
String() string
}
Eventer is the interface for journald or file event logging
func NewEventer ¶
func NewEventer(options EventerOptions) (Eventer, error)
NewEventer creates an eventer based on the eventer type
func NewMemoryEventer ¶
func NewMemoryEventer() Eventer
NewMemoryEventer returns configured MemoryEventer
type EventerOptions ¶
type EventerOptions struct {
// EventerType describes whether to use journald, file or memory
EventerType string
// LogFilePath is the path to where the log file should reside if using
// the file logger
LogFilePath string
// LogFileMaxSize is the default limit used for rotating the log file
LogFileMaxSize uint64
}
EventerOptions describe options that need to be passed to create an eventer
type EventerType ¶
type EventerType int
EventerType ...
const ( // LogFile indicates the event logger will be a logfile LogFile EventerType = iota // Journald indicates journald should be used to log events Journald EventerType = iota // Null is a no-op events logger. It does not read or write events. Null EventerType = iota // Memory indicates the event logger will hold events in memory Memory EventerType = iota )
func (EventerType) String ¶
func (et EventerType) String() string
String returns a string representation of EventerType
type ReadOptions ¶
type ReadOptions struct {
// EventChannel is the comm path back to user
EventChannel chan *Event
// Filters are key/value pairs that describe to limit output
Filters []string
// FromStart means you start reading from the start of the logs
FromStart bool
// Since reads "since" the given time
Since string
// Stream is follow
Stream bool
// Until reads "until" the given time
Until string
}
ReadOptions describe the attributes needed to read event logs
type Status ¶
type Status string
Status describes the actual event action (stop, start, create, kill)
func StringToStatus ¶
StringToStatus converts a string to an Event Status