Portable native Incus client for Elixir, used by Macus and central Opsmaru.
- Pure library. OTP application
:opsmaru_incus, modulesOpsmaru.Incus.*,Opsmaru.Incus.ContextandOpsmaru.Incus.ClientSupervisor. There is no application callback: depending on it starts no process, listener, state or backend connection. - Explicit connections. Hosts pass immutable Unix-socket or verified HTTPS connection values and a trusted host context on every call. There is no global current remote.
- Native semantics. Native routes, queries, ETags, error envelopes, operation identities and streaming/upgrade protocols are preserved. Possibly accepted mutations are never replayed automatically.
- Embeddable gateway.
Opsmaru.Incus.Gatewayrelays native Incus HTTP, WebSockets and SFTP/NBD through a host's own Plug/Cowboy listener under host policy;plugandcowboyare optional. See docs/gateway.md. - Traceable coverage.
priv/incus/coverage.jsonmaps every declaration of the pinned Incus v7.0.1 Go client to implementation and test evidence. This is not yet a complete client port (complete_port=false); see docs/task-3-9-closure.md.
Usage
{:opsmaru_incus, "~> 0.1.0"}Published on Hex; releases are listed in CHANGELOG.md.
See docs/embedding.md for host context and connection setup, docs/incus-client.md for the public API and docs/incus-operations.md for the shared agent operations and docs/gateway.md for mounting the gateway.
Development
mise trust && mise install
mix deps.get
mise run check # format, compile, strict Credo, fixtures, OpenSpec
mise run check:reference # Go inventory/schema verifier and constants
mise run check:consumer # build the Hex package and verify it in fresh consumers
Real Incus acceptance is an explicit opt-in against an isolated backend; see docs/real-incus-acceptance.md.
Planning lives in openspec/. Incus reference material is Apache-2.0; see priv/notices.
History
The client was developed inside upmaru/opsmaru and extracted with its history
on 2026-10-13 (source revision a00805d). Earlier evidence and CI runs are
recorded in docs/foundation-validation.md.