# `Aker.MachineId`
[🔗](https://github.com/udin-io/aker/blob/v0.1.0/lib/aker/machine_id.ex#L1)

The host's identity a licence names: the SHA-256 of its machine id file,
lowercase hex.

On Linux that file is `/etc/machine-id`. Inside a container that path
holds the image's id, which every container of the image shares, so an
on-prem install bind-mounts the host's file into the container read-only
and passes its path here. The hostname changes on every recreate, and
`/sys/class/dmi/id/product_uuid` is readable by root alone, so neither
serves.

# `hash`

```elixir
@spec hash(Path.t()) :: {:ok, String.t()} | {:error, :machine_id_missing}
```

The hash of the machine id in the file at `path`.

---

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