Bella.Server.Watcher behaviour (bella v0.0.1) View Source
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 Callbacks
Specs
add(map()) :: :ok | :error
Specs
delete(map()) :: :ok | :error
Specs
modify(map()) :: :ok | :error
Specs
watch_operation() :: K8s.Operation.t()
K8s.Operation
to watch.
Examples
Log all pod lifecycle events
defmodule PodLifecycleLogger do
use Bella.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
Link to this section Functions
Specs
Dispatches an ADDED
, MODIFIED
, and DELETED
events to an controller