# ex_storage_service v0.6.3 - Table of Contents

> Embeddable content-addressed object storage for Elixir applications

## Modules

- [ExStorageService](ExStorageService.md): ExStorageService - An S3-compatible object storage server.
- [ExStorageService.BlobStore](ExStorageService.BlobStore.md): Behaviour for durable, content-addressed blob storage.
- [ExStorageService.BlobStore.LocalCAS](ExStorageService.BlobStore.LocalCAS.md): Durable local content-addressed blob storage.
- [ExStorageService.BlobStore.ReadRepair](ExStorageService.BlobStore.ReadRepair.md): Bounded tee-to-local repair for full remote blob streams.
- [ExStorageService.BlobStore.ReadyBlob](ExStorageService.BlobStore.ReadyBlob.md): A durable local blob ready to be referenced by object metadata.

- [ExStorageService.BlobStore.Source](ExStorageService.BlobStore.Source.md): A servable blob source.
- [ExStorageService.BlobStore.StagedBlob](ExStorageService.BlobStore.StagedBlob.md): Bytes written to a temporary file but not yet published in the local CAS.

- [ExStorageService.BucketValidator](ExStorageService.BucketValidator.md): Validates S3 bucket names and filesystem path segments.
- [ExStorageService.CloudCache.Client](ExStorageService.CloudCache.Client.md): HTTP client for S3-compatible cloud storage (AWS S3, Cloudflare R2, MinIO, S3-compatible).
- [ExStorageService.CloudCache.Config](ExStorageService.CloudCache.Config.md): Per-bucket cloud cache configuration backed by Concord KV.
- [ExStorageService.CloudCache.LocalStore](ExStorageService.CloudCache.LocalStore.md): Local read-cache for cloud-backed buckets.
- [ExStorageService.Cluster.BlobDescriptor](ExStorageService.Cluster.BlobDescriptor.md): Immutable identity and desired durability for a content-addressed blob.

- [ExStorageService.Cluster.DataReadiness](ExStorageService.Cluster.DataReadiness.md): Verifies that a cluster data node can satisfy its configured write quorum.
- [ExStorageService.Cluster.Drain](ExStorageService.Cluster.Drain.md): Node-drain control and bounded, derived progress reporting.
- [ExStorageService.Cluster.Health](ExStorageService.Cluster.Health.md): Role-aware liveness and readiness checks.
- [ExStorageService.Cluster.Membership](ExStorageService.Cluster.Membership.md): Persistent cluster-node registration and exact configured membership reads.
- [ExStorageService.Cluster.Node](ExStorageService.Cluster.Node.md): Persistent control-plane identity for one configured cluster member.
- [ExStorageService.Cluster.NodeRegistrar](ExStorageService.Cluster.NodeRegistrar.md): Registers one persistent node generation after Concord becomes available.
- [ExStorageService.Cluster.Outbox.Dispatcher](ExStorageService.Cluster.Outbox.Dispatcher.md): Polls durable outbox pages and executes fenced jobs with bounded concurrency.
- [ExStorageService.Cluster.Outbox.Supervisor](ExStorageService.Cluster.Outbox.Supervisor.md): Supervises one instance's durable outbox dispatcher and bounded tasks.
- [ExStorageService.Cluster.Placement](ExStorageService.Cluster.Placement.md): Pure deterministic rendezvous placement for immutable blob hashes.

- [ExStorageService.Cluster.ReadCoordinator](ExStorageService.Cluster.ReadCoordinator.md): Selects a checksum-valid local or remote source for one committed blob.
- [ExStorageService.Cluster.Readiness](ExStorageService.Cluster.Readiness.md): Quorum-backed Concord readiness checks.
- [ExStorageService.Cluster.Repair.Handler](ExStorageService.Cluster.Repair.Handler.md): Idempotent execution for repair and excess-replica cleanup jobs.
- [ExStorageService.Cluster.Repair.Planner](ExStorageService.Cluster.Repair.Planner.md): Pure placement reconciliation plus bounded, deterministically owned scans.
- [ExStorageService.Cluster.ReplicaAck](ExStorageService.Cluster.ReplicaAck.md): Evidence that one node durably stored and verified a blob.

- [ExStorageService.Cluster.RequestId](ExStorageService.Cluster.RequestId.md): Generates and validates opaque request IDs for authenticated cluster traffic.
- [ExStorageService.Cluster.Scrubber](ExStorageService.Cluster.Scrubber.md): Streams one local blob representation through SHA-256 verification.
- [ExStorageService.Cluster.StaticDiscovery](ExStorageService.Cluster.StaticDiscovery.md): Maintains distributed Erlang connections to an explicit static seed list.
- [ExStorageService.Cluster.Status](ExStorageService.Cluster.Status.md): Sanitized cluster status boundary.
- [ExStorageService.Cluster.StatusProvider](ExStorageService.Cluster.StatusProvider.md): Aggregates topology-fenced repair-owner snapshots and durable maintenance jobs.
- [ExStorageService.Cluster.Topology](ExStorageService.Cluster.Topology.md): Builds the discovery children for the configured cluster topology.
- [ExStorageService.Cluster.Transport](ExStorageService.Cluster.Transport.md): Content-addressed transport contract for blob operations between cluster nodes.
- [ExStorageService.Cluster.WriteCoordinator](ExStorageService.Cluster.WriteCoordinator.md): Establishes durable blob quorum before object metadata becomes visible.
- [ExStorageService.Context](ExStorageService.Context.md): Immutable runtime context for one locally supervised storage instance.
- [ExStorageService.CrossClusterReplication.Config](ExStorageService.CrossClusterReplication.Config.md): Configuration for eventual external S3 disaster-recovery targets.
- [ExStorageService.CrossClusterReplication.Config.Replica](ExStorageService.CrossClusterReplication.Config.Replica.md): One eventual external replication target.
- [ExStorageService.CrossClusterReplication.Handler](ExStorageService.CrossClusterReplication.Handler.md): Idempotent handlers for eventual external-replication jobs.
- [ExStorageService.CrossClusterReplication.Hooks](ExStorageService.CrossClusterReplication.Hooks.md): Builds deterministic eventual-DR events for object metadata transactions.
- [ExStorageService.CrossClusterReplication.Sync](ExStorageService.CrossClusterReplication.Sync.md): Anti-entropy sync GenServer that periodically compares local objects with
remote replicas and reconciles differences.
- [ExStorageService.CrossClusterReplication.Worker](ExStorageService.CrossClusterReplication.Worker.md): Streams immutable object versions to external S3-compatible replicas.
- [ExStorageService.IAM.AccessKey](ExStorageService.IAM.AccessKey.md): IAM Access Key management backed by Concord key-value store.
- [ExStorageService.IAM.Audit](ExStorageService.IAM.Audit.md): IAM Audit logging backed by Concord key-value store.
- [ExStorageService.IAM.Policy](ExStorageService.IAM.Policy.md): IAM Policy engine backed by Concord key-value store.
- [ExStorageService.IAM.User](ExStorageService.IAM.User.md): IAM User management backed by Concord key-value store.
- [ExStorageService.InstanceConfig](ExStorageService.InstanceConfig.md): Validated configuration for one storage instance.
- [ExStorageService.InstanceSupervisor](ExStorageService.InstanceSupervisor.md): Supervises the local data-plane services for one storage instance.
- [ExStorageService.Metadata](ExStorageService.Metadata.md): Metadata operations backed by Concord key-value store.
- [ExStorageService.Metadata.Backend](ExStorageService.Metadata.Backend.md): Storage boundary used by atomic object metadata operations.
- [ExStorageService.Metadata.Backend.Concord](ExStorageService.Metadata.Backend.Concord.md): Concord implementation of the object metadata backend.
- [ExStorageService.Metadata.BlobCatalog](ExStorageService.Metadata.BlobCatalog.md): Bounded, typed access to v2 blob descriptors.
- [ExStorageService.Metadata.BlobLocations](ExStorageService.Metadata.BlobLocations.md): Strongly reads blob-location evidence and records read-path failures.
- [ExStorageService.Metadata.GCGuard](ExStorageService.Metadata.GCGuard.md): Fences local physical deletion against concurrent object publication.
- [ExStorageService.Metadata.JobStore](ExStorageService.Metadata.JobStore.md): Durable job persistence with atomic lease and fencing transitions.
- [ExStorageService.Metadata.Keys](ExStorageService.Metadata.Keys.md): Unambiguous version 2 metadata keys.
- [ExStorageService.Metadata.Migration](ExStorageService.Metadata.Migration.md): Non-destructive, resumable migration from legacy object metadata to v2.
- [ExStorageService.Metadata.Models.Blob](ExStorageService.Metadata.Models.Blob.md): Metadata descriptor for content-addressed object bytes.

- [ExStorageService.Metadata.Models.BlobLocation](ExStorageService.Metadata.Models.BlobLocation.md): Durable evidence that one node has a checksum-verified blob.

- [ExStorageService.Metadata.Models.ClusterNode](ExStorageService.Metadata.Models.ClusterNode.md): Persistent cluster control-plane record.
- [ExStorageService.Metadata.Models.Job](ExStorageService.Metadata.Models.Job.md): Typed boundary for one durable, fenced background job.
- [ExStorageService.Metadata.Models.ObjectHead](ExStorageService.Metadata.Models.ObjectHead.md): Mutable pointer to the latest immutable object version.

- [ExStorageService.Metadata.Models.ObjectVersion](ExStorageService.Metadata.Models.ObjectVersion.md): Immutable metadata for one logical object version.

- [ExStorageService.Metadata.Models.Operation](ExStorageService.Metadata.Models.Operation.md): Durable operation outcome used to resolve an ambiguous transaction timeout.

- [ExStorageService.Metadata.Models.OperationIntent](ExStorageService.Metadata.Models.OperationIntent.md): Durable protection for bytes that may be referenced by an unresolved write.
- [ExStorageService.Metadata.MultipartCommit](ExStorageService.Metadata.MultipartCommit.md): Atomic multipart-part publication for the cluster data plane.
- [ExStorageService.Metadata.ObjectCommit](ExStorageService.Metadata.ObjectCommit.md): Atomic v2 object metadata commits.
- [ExStorageService.Metadata.OperationIntents](ExStorageService.Metadata.OperationIntents.md): Atomic pre-commit intent and per-hash GC protection.
- [ExStorageService.Metadata.Outbox](ExStorageService.Metadata.Outbox.md): Materializes committed outbox events into durable, independently leased jobs.
- [ExStorageService.Metadata.Schema](ExStorageService.Metadata.Schema.md): Read-only inventory of legacy and v2 metadata records.
- [ExStorageService.Metrics](ExStorageService.Metrics.md): Prometheus-style metrics collection using ETS counters.
- [ExStorageService.Names](ExStorageService.Names.md): Stable local process names for storage instances.
- [ExStorageService.Notifications](ExStorageService.Notifications.md): Webhook-based bucket event notifications.
- [ExStorageService.ObjectService](ExStorageService.ObjectService.md): Coordinates object metadata with durable blob storage.
- [ExStorageService.Operations.Blob](ExStorageService.Operations.Blob.md): Read-only blob location and bounded durability audit operations.

- [ExStorageService.Operations.Cluster](ExStorageService.Operations.Cluster.md): Operator-facing cluster bootstrap and status operations.
- [ExStorageService.Operations.Node](ExStorageService.Operations.Node.md): Operator-facing node drain controls and bounded progress reads.

- [ExStorageService.Operations.Repair](ExStorageService.Operations.Repair.md): Bounded repair planning and durable repair-run operations.
- [ExStorageService.Replication.Config](ExStorageService.Replication.Config.md): Compatibility facade for external S3 disaster-recovery configuration.
- [ExStorageService.Replication.Config.Replica](ExStorageService.Replication.Config.Replica.md): Compatibility replica struct.
- [ExStorageService.Replication.Hooks](ExStorageService.Replication.Hooks.md): Compatibility facade for eventual cross-cluster replication hooks.
- [ExStorageService.Replication.JobQueue](ExStorageService.Replication.JobQueue.md): Compatibility facade over the fenced v2 durable outbox.
- [ExStorageService.Replication.JobQueue.Job](ExStorageService.Replication.JobQueue.Job.md): Compatibility view of a v2 durable job.
- [ExStorageService.Replication.Sync](ExStorageService.Replication.Sync.md): Compatibility facade for `ExStorageService.CrossClusterReplication.Sync`.

- [ExStorageService.Replication.Worker](ExStorageService.Replication.Worker.md): Compatibility facade for external S3 replication.
- [ExStorageService.Storage.CAS](ExStorageService.Storage.CAS.md): Global content-addressable blob store under the reserved `cas/` root.
- [ExStorageService.Storage.CasGC](ExStorageService.Storage.CasGC.md): Garbage collector for the global content-addressable store.
- [ExStorageService.Storage.ContentGC](ExStorageService.Storage.ContentGC.md): Background process that periodically scans for unreferenced content files
and removes them to reclaim disk space.
- [ExStorageService.Storage.Engine](ExStorageService.Storage.Engine.md): Storage engine facade over the global content-addressable store
(`ExStorageService.Storage.CAS`).
- [ExStorageService.Storage.Lifecycle](ExStorageService.Storage.Lifecycle.md): GenServer that periodically evaluates lifecycle rules for buckets.
- [ExStorageService.Storage.Manifest](ExStorageService.Storage.Manifest.md): Immutable, content-addressed manifests describing multipart objects.
- [ExStorageService.Storage.Migration](ExStorageService.Storage.Migration.md): One-shot migration of legacy bucket-local content files
(`{data_root}/{bucket}/objects/...`) into the global CAS
(`{data_root}/cas/objects/sha256/...`).
- [ExStorageService.Storage.Multipart](ExStorageService.Storage.Multipart.md): Multipart upload storage operations.
- [ExStorageService.Storage.MultipartGC](ExStorageService.Storage.MultipartGC.md): Garbage collector for stale multipart uploads.
- [ExStorageService.Storage.Pack](ExStorageService.Storage.Pack.md): Immutable, content-addressed pack files for cold blobs.
- [ExStorageService.Storage.Packer](ExStorageService.Storage.Packer.md): Cold-storage policy for the global CAS (PRD §20 Phase 6).
- [ExStorageService.Storage.Versioning](ExStorageService.Storage.Versioning.md): Compatibility facade for bucket versioning.
- [ExStorageService.Telemetry](ExStorageService.Telemetry.md): Telemetry event definitions and helpers for S3 and cluster operations.

## Mix Tasks

- [mix ess.blob.audit](Mix.Tasks.Ess.Blob.Audit.md): Audits one bounded page of cluster blob durability metadata without writing
- [mix ess.blob.locate](Mix.Tasks.Ess.Blob.Locate.md): Shows the immutable descriptor and recorded locations for a SHA-256 hash
- [mix ess.cluster.bootstrap](Mix.Tasks.Ess.Cluster.Bootstrap.md): Waits for Concord readiness and persistently registers the configured node
- [mix ess.cluster.status](Mix.Tasks.Ess.Cluster.Status.md): Shows sanitized Concord, configured membership, and durability status
- [mix ess.metadata.migrate_v2](Mix.Tasks.Ess.Metadata.MigrateV2.md): Migrates legacy object metadata without deleting or modifying v1 records
- [mix ess.metadata.schema_status](Mix.Tasks.Ess.Metadata.SchemaStatus.md): Prints a read-only, paginated inventory of legacy and v2 metadata
- [mix ess.migrate_cas](Mix.Tasks.Ess.MigrateCas.md): Moves all content files referenced by object metadata from the legacy
bucket-local layout into the global CAS. Run with the service stopped
or in maintenance mode
- [mix ess.node.drain](Mix.Tasks.Ess.Node.Drain.md): Persistently marks a data node as draining
- [mix ess.node.status](Mix.Tasks.Ess.Node.Status.md): Shows one bounded page of node-drain progress
- [mix ess.repair.plan](Mix.Tasks.Ess.Repair.Plan.md): Previews one locally owned repair-shard page without enqueueing work
- [mix ess.repair.run](Mix.Tasks.Ess.Repair.Run.md): Enqueues one locally owned repair-shard page through the durable outbox

