# `Stevedore.Transport.Static`
[🔗](https://github.com/oshlabs/stevedore/blob/v0.2.0/lib/stevedore/transport/static.ex#L1)

The `static:` transport — a Stevedore-native registry-v2 directory tree.

Writes a layout a dumb web server can serve as a read-only registry:
`v2/<name>/manifests/<tag|digest>` and `v2/<name>/blobs/<digest>`. Each manifest is written
both by tag and by digest, with a `.mediatype` sidecar recording its `Content-Type` (which a
static server can't infer); `Stevedore.Deploy` (Step 7) turns these into server headers.

`:name` is the repository (e.g. `library/alpine`); `Stevedore.copy/3` fills it from the source
when not set.

Spec: [Docker Registry HTTP API v2](https://distribution.github.io/distribution/spec/api/).

# `t`

```elixir
@type t() :: %Stevedore.Transport.Static{name: String.t() | nil, path: Path.t()}
```

# `delete_blob`

```elixir
@spec delete_blob(t(), Stevedore.Digest.t()) :: :ok
```

Deletes a blob by digest (idempotent).

# `list_manifest_refs`

```elixir
@spec list_manifest_refs(t()) :: [String.t()]
```

Lists every stored manifest reference (tags and digests), excluding sidecar files.

---

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