Events¶
Introduction¶
Events are messages about actions that have occurred over Incus. Using the API endpoint /1.0/events directly or via
incus monitor will connect to a WebSocket through which logs and life-cycle messages will be streamed.
Event types¶
Incus Currently supports three event types.
logging: Shows all logging messages regardless of the server logging level.operation: Shows all ongoing operations from creation to completion (including updates to their state and progress metadata).lifecycle: Shows an audit trail for specific actions occurring over Incus.
Event ordering¶
Events are delivered to each listener in the order that Incus generated them.
A listener that cannot keep up with the stream is disconnected rather than having events silently skipped. After reconnecting, anything being tracked from the event stream should be re-fetched, as the events that occurred while disconnected are not resent.
When using the Go client, handlers registered through AddHandler are called concurrently and may therefore observe
events out of order. Use AddChannel instead to receive the events on a channel, which delivers them one at a time and
in the order they arrived, and is closed once the listener ends. Its size argument sets how far behind the reader may
fall before the listener is dropped.
Event structure¶
Example¶
location: cluster_name
metadata:
action: network-updated
requestor:
protocol: unix
username: root
source: /1.0/networks/incusbr0
timestamp: "2021-03-14T00:00:00Z"
type: lifecycle
location: The cluster member name (if clustered).timestamp: Time that the event occurred in RFC3339 format.type: The type of event this is (one oflogging,operation, orlifecycle).metadata: Information about the specific event type.
Logging event structure¶
message: The log message.level: The log-level of the log.context: Additional information included in the event.
Operation event structure¶
id: The UUID of the operation.class: The type of operation (task,token, orwebsocket).description: A description of the operation.created_at: The operation’s creation date.updated_at: The operation’s date of last change.status: The current state of the operation.status_code: The operation status code.resources: Resources affected by this operation.metadata: Operation specific metadata.may_cancel: Whether the operation may be canceled.err: Error message of the operation.location: The cluster member name (if clustered).
Life-cycle event structure¶
action: The life-cycle action that occurred.requestor: Information about who is making the request (if applicable).source: Path to what is being acted upon.context: Additional information included in the event.
Supported life-cycle events¶
Name |
Description |
Additional Information |
|---|---|---|
|
A new certificate has been added to the server trust store. |
|
|
The certificate has been deleted from the trust store. |
|
|
The certificate’s configuration has been updated. |
|
|
The certificate for the whole cluster has changed. |
|
|
Clustering has been disabled for this machine. |
|
|
Clustering has been enabled for this machine. |
|
|
A new cluster group has been created. |
|
|
A cluster group has been deleted. |
|
|
A cluster group has been renamed. |
|
|
A cluster group has been updated. |
|
|
A new machine has joined the cluster. |
|
|
The cluster member has been removed from the cluster. |
|
|
The cluster member has been renamed. |
|
|
The cluster member’s configuration been edited. |
|
|
A join token for adding a cluster member has been created. |
|
|
The server configuration has changed. |
|
|
An alias has been created for an existing image. |
|
|
An alias has been deleted for an existing image. |
|
|
The alias for an existing image has been renamed. |
|
|
The configuration for an image alias has changed. |
|
|
The instance agent has connected to the host. |
|
|
The instance agent has disconnected from the host. |
|
|
A new image has been added to the image store. |
|
|
The image has been deleted from the image store. |
|
|
The local image copy has updated to the current source image version. |
|
|
The raw image file has been downloaded from the server. |
|
|
A one-time key to fetch this image has been created. |
|
|
The image’s configuration has changed. |
|
|
A backup of the instance has been created. |
|
|
The instance backup has been deleted. |
|
|
The instance backup has been renamed. |
|
|
The raw instance backup file has been downloaded. |
|
|
Connected to the console of the instance. |
|
|
The console buffer has been reset. |
|
|
The console log has been downloaded. |
|
|
A new instance has been created. |
|
|
The instance has been deleted. |
|
|
A command has been executed on the instance. |
|
|
A file on the instance has been deleted. |
|
|
The file has been pushed to the instance. |
|
|
The file has been downloaded from the instance. |
|
|
The instance’s specified log file has been deleted. |
|
|
The instance’s specified log file has been downloaded. |
|
|
The instance’s image metadata has been downloaded. |
|
|
A new image template file for the instance has been created. |
|
|
The image template file for the instance has been deleted. |
|
|
The image template file for the instance has been downloaded. |
|
|
The instance’s image metadata has changed. |
|
|
The instance has been migrated. |
|
|
The instance has been put in a paused state. |
|
|
The instance is ready. |
|
|
The instance has been renamed. |
|
|
The instance has restarted. |
|
|
The instance has been restored from a snapshot. |
|
|
The instance has resumed after being paused. |
|
|
The instance has shut down. |
|
|
A snapshot of the instance has been created. |
|
|
The instance snapshot has been deleted. |
|
|
The instance snapshot has been renamed. |
|
|
The instance snapshot’s configuration has changed. |
|
|
The instance has started. |
|
|
The instance has stopped. |
|
|
The instance’s configuration has changed. |
|
|
A new network ACL has been created. |
|
|
The network ACL has been deleted. |
|
|
The network ACL has been renamed. |
|
|
The network ACL configuration has changed. |
|
|
A network device has been created. |
|
|
The network device has been deleted. |
|
|
A new network forward has been created. |
|
|
The network forward has been deleted. |
|
|
The network forward has been updated. |
|
|
A new network peer has been created. |
|
|
The network peer has been deleted. |
|
|
The network peer has been updated. |
|
|
The network device has been renamed. |
|
|
The network device’s configuration has changed. |
|
|
A new network zone has been created. |
|
|
The network zone has been deleted. |
|
|
A new network zone record has been created. |
|
|
The network zone record has been deleted. |
|
|
The network zone record has been updated. |
|
|
The network zone has been updated. |
|
|
The operation has been canceled. |
|
|
A new profile has been created. |
|
|
The profile has been deleted. |
|
|
The profile has been renamed . |
|
|
The profile’s configuration has changed. |
|
|
A new project has been created. |
|
|
The project has been deleted. |
|
|
The project has been renamed. |
|
|
The project’s configuration has changed. |
|
|
A new storage pool has been created. |
|
|
The storage pool has been deleted. |
|
|
The storage pool’s configuration has changed. |
|
|
A new backup for the storage volume has been created. |
|
|
The storage volume’s backup has been deleted. |
|
|
The storage volume’s backup has been renamed. |
|
|
The storage volume’s backup has been downloaded. |
|
|
A new storage volume has been created. |
|
|
The storage volume has been deleted. |
|
|
The storage volume has been renamed. |
|
|
The storage volume has been restored from a snapshot. |
|
|
A new storage volume snapshot has been created. |
|
|
The storage volume’s snapshot has been deleted. |
|
|
The storage volume’s snapshot has been renamed. |
|
|
The configuration for the storage volume’s snapshot has changed. |
|
|
The storage volume’s configuration has changed. |
|
|
The warning’s status has been set to “acknowledged”. |
|
|
The warning has been deleted. |
|
|
The warning’s status has been set to “new”. |