# `Opsmaru.Incus.OCI`
[🔗](https://github.com/upmaru/opsmaru-incus/blob/v0.1.0/lib/opsmaru/incus/oci.ex#L1)

Portable pinned OCI image semantics through an explicit host-owned adapter.

`new!/5` is passive. `resolve/3` inspects an alias and returns native alias/image
models plus a new immutable cache value; `image/2` reads that cache. No global
cache, command runner, filesystem state or credential generation is involved.
`image_file/3` delivers converted binary metadata/rootfs to acknowledged sinks.
Registry authentication and installed conversion remain host acceptance gates.

# `t`

```elixir
@type t() :: %Opsmaru.Incus.OCI{
  adapter: term(),
  cache: term(),
  certificate: term(),
  config: term(),
  connection: term(),
  context: term()
}
```

# `alias_architectures`

Native OCI alias architecture mapping; the host explicitly supplies its local architecture.

# `connection_info`

Passive native OCI origin metadata; the explicit HTTPS connection is not inferred from adapter config.

# `disconnect`

Native no-op disconnect; no persistent connection or host conversion is owned by this value.

# `http_client`

Passive bounded HTTP handle on the explicitly supplied verified HTTPS origin; no conversion adapter call.

# `http_request`

# `image`

Read a previously resolved image; the original client cache remains unchanged.

# `image_file`

Convert through the host adapter; both native output sinks are explicit. The
request carries the pinned `metadata.yaml` bytes the adapter packs beside
`config.json`. As natively, an unknown fingerprint is reported before the sinks.

# `new!`

Passive construction. `certificate:` is the registry certificate PEM, Go's
`TLSServerCert`: connection info reports it and copies or instance pulls hand it
to the target. It does not change how this connection verifies the registry.

# `resolve`

Resolve a container alias; native OCI rejects virtual-machine image types.

# `unsupported`

Native unsupported OCI methods, without probing a registry or a host tool.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
