# `Hyper.Cfg.Img`
[🔗](https://github.com/harmont-dev/hyper/blob/main/lib/hyper/cfg/img.ex#L1)

This node's image storage configuration: the device-mapper geometry behind the
read-only layer chain (dm-snapshot) and the per-VM writable layers (dm-thin).

  * `chunk_sectors` - dm-snapshot exception-store chunk size.
  * `thin_block_sectors` - dm-thin pool allocation block size.
  * `thin_pool_data_size` / `thin_pool_meta_size` - sparse sizes of the node's
    dm-thin pool backing devices.
  * `store` - absolute path to the read-only layer store.

# `chunk_sectors`

```elixir
@spec chunk_sectors() :: pos_integer()
```

dm-snapshot exception-store chunk size, in 512-byte sectors (8 = 4 KiB).
Standardised repo-wide; deltas must be created with this chunk size.

# `store`

```elixir
@spec store() :: Path.t()
```

Absolute path to the read-only layer store. config.exs (`store:`) > `[img] store`
toml > `<work_dir>/layers`.

# `thin_block_sectors`

```elixir
@spec thin_block_sectors() :: pos_integer()
```

dm-thin pool data block size, in 512-byte sectors (128 = 64 KiB).

# `thin_pool_data_size`

```elixir
@spec thin_pool_data_size() :: Unit.Information.t()
```

Sparse size of the node's dm-thin pool data device.

# `thin_pool_meta_size`

```elixir
@spec thin_pool_meta_size() :: Unit.Information.t()
```

Sparse size of the node's dm-thin pool metadata device.

---

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