Packages

Elixir-native host management with inspectable plans, package locks, systemd isolation, and remote bootstrap.

Current section

Files

Jump to
host_kit lib host_kit workspace agent client.ex
Raw

lib/host_kit/workspace/agent/client.ex

defmodule HostKit.Workspace.Agent.Client do
@moduledoc "Client boundary for communicating with workspace agents."
alias HostKit.Monitor
@callback status(String.t(), keyword()) :: {:ok, map()} | {:error, term()}
@callback exec(String.t(), [String.t()], keyword()) :: {:ok, map()} | {:error, term()}
@callback run_checks(String.t(), [Monitor.Check.t()], keyword()) ::
{:ok, [Monitor.Result.t()]} | {:error, term()}
end