package nri.pkg.api.v1alpha1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service HostFunctions

api.proto:115

go:plugin type=host

service Plugin

api.proto:77

Plugin is the API NRI uses to interact with plugins. It is used to - configure a plugin and subscribe it for lifecycle events - synchronize the state of a plugin with that of the runtime - hook a plugin into the lifecycle events of its interest During configuration the plugin tells the runtime which lifecycle events it wishes to get hooked into. Once configured, the plugin is synchronized with the runtime by receiving the list of pods and containers known to the runtime. The plugin can request changes to any of the containers in response. After initial synchronization the plugin starts receiving the events it subscribed for as they occur in the runtime. For container creation, update, and stop events, the plugin can request changes, both to the container that triggered the event or any other existing container in the runtime. For a subset of the container lifecycle events, NRI defines an additional Post-variant of the event. These variants are defined for CreateContainer, StartContainer, and UpdateContainer. For creation and update, these events can be used by plugins to discover the full extent of changes applied to the container, including any changes made by other active plugins. go:plugin type=plugin version=1

service Runtime

api.proto:27

Runtime service is the public API runtimes expose for NRI plugins. On this interface RPC requests are initiated by the plugin. This only covers plugin registration and unsolicited container updates. The rest of the API is defined by the Plugin service.

message CDIDevice

api.proto:374

A CDI device reference.

Used in: ContainerAdjustment

message Container

api.proto:281

Container metadata that is considered relevant for a plugin.

Used in: CreateContainerRequest, StateChangeEvent, StopContainerRequest, SynchronizeRequest, UpdateContainerRequest

message ContainerAdjustment

api.proto:432

Requested adjustments to a container being created.

Used in: CreateContainerResponse

message ContainerEviction

api.proto:464

Request to evict (IOW unsolicitedly stop) a container.

Used in: CreateContainerResponse, UpdateContainerResponse, UpdateContainersRequest

enum ContainerState

api.proto:304

Possible container states.

Used in: Container

message ContainerUpdate

api.proto:452

Requested update to an already created container.

Used in: CreateContainerResponse, StopContainerResponse, SynchronizeResponse, UpdateContainerResponse, UpdateContainersRequest, UpdateContainersResponse

message Empty

api.proto:235

Empty response for those *Requests that are semantically events.

Used as request type in: Plugin.Shutdown

Used as response type in: HostFunctions.Log, Plugin.Shutdown, Plugin.StateChange, Runtime.RegisterPlugin

(message has no fields)

enum Event

api.proto:238

Events that plugins can subscribe to in ConfigureResponse.

Used in: StateChangeEvent

message Hook

api.proto:331

One OCI hook.

Used in: Hooks

message Hooks

api.proto:321

Container OCI hooks.

Used in: Container, ContainerAdjustment

message HugepageLimit

api.proto:414

Container huge page limit.

Used in: LinuxResources

message KeyValue

api.proto:472

KeyValue represents an environment variable.

Used in: ContainerAdjustment

message LinuxCPU

api.proto:403

CPU-related parts of (linux) resources.

Used in: LinuxResources

message LinuxContainer

api.proto:339

Container (linux) metadata.

Used in: Container

message LinuxContainerAdjustment

api.proto:444

Adjustments to (linux) resources.

Used in: ContainerAdjustment

message LinuxContainerUpdate

api.proto:459

Updates to (linux) resources.

Used in: ContainerUpdate

message LinuxDevice

api.proto:354

A container (linux) device.

Used in: LinuxContainer, LinuxContainerAdjustment

message LinuxDeviceCgroup

api.proto:365

A linux device cgroup controller rule.

Used in: LinuxResources

message LinuxMemory

api.proto:391

Memory-related parts of (linux) resources.

Used in: LinuxResources

message LinuxNamespace

api.proto:348

A linux namespace.

Used in: LinuxContainer, LinuxPodSandbox

message LinuxPids

api.proto:427

Pids-related parts of (linux) resources.

Used in: LinuxResources

message LinuxPodSandbox

api.proto:271

PodSandbox linux-specific metadata

Used in: PodSandbox

message LinuxResources

api.proto:379

Container (linux) resources.

Used in: LinuxContainer, LinuxContainerAdjustment, LinuxContainerUpdate, LinuxPodSandbox, UpdateContainerRequest, UpdatePodSandboxRequest

enum LogRequest.Level

api.proto:123

Used in: LogRequest

message Mount

api.proto:313

A container mount.

Used in: Container, ContainerAdjustment

message OptionalBool

api.proto:508

An optional boolean value.

Used in: LinuxMemory

message OptionalFileMode

api.proto:513

An optional value of file permissions.

Used in: LinuxDevice

message OptionalInt

api.proto:483

An optional signed integer value.

Used in: Hook, LinuxContainer, LinuxContainerAdjustment

message OptionalInt32

api.proto:488

An optional 32-bit signed integer value.

message OptionalInt64

api.proto:498

An optional 64-bit signed integer value.

Used in: LinuxCPU, LinuxDeviceCgroup, LinuxMemory

message OptionalString

api.proto:478

An optional string value.

Used in: LinuxResources

message OptionalUInt32

api.proto:493

An optional 32-bit unsigned integer value.

Used in: LinuxDevice

message OptionalUInt64

api.proto:503

An optional 64-bit unsigned integer value.

Used in: LinuxCPU, LinuxMemory

message POSIXRlimit

api.proto:420

Container rlimits

Used in: Container, ContainerAdjustment

message PodSandbox

api.proto:257

Pod metadata that is considered relevant for a plugin.

Used in: CreateContainerRequest, StateChangeEvent, StopContainerRequest, SynchronizeRequest, UpdateContainerRequest, UpdatePodSandboxRequest