bonny v0.4.2 Bonny.Server.Watcher behaviour
Continuously watch a list Operation
for add
, modify
, and delete
events.
Link to this section Summary
Functions
Dispatches an ADDED
, MODIFIED
, and DELETED
events to an controller
Link to this section Functions
Dispatches an ADDED
, MODIFIED
, and DELETED
events to an controller
Link to this function
process_line(line, current_rv, module)
Link to this function
process_lines(lines, rv, module)
Link to this section Callbacks
K8s.Operation
to watch.
Examples
Log all pod lifecycle events
defmodule PodLifecycleLogger do
use Bonny.Server.Watcher
@impl true
def watch_operation() do
K8s.Client.list("v1", :pods, namespace: :all)
end
@impl true
def add(pod) do
log_event(:add, pod)
end
@impl true
def modify(pod) do
log_event(:modify, pod)
end
@impl true
def delete(pod) do
log_event(:delete, pod)
end
@spec log_event(atom, map) :: :ok
def log_event(type, pod) do
name = get_in(pod, ["metadata", "name"])
namespace = get_in(pod, ["metadata", "namepace"]) || "default"
# log type,name,namespace here
end
end