minio/minio
Systems
The MinIO server is a single binary that contains many subsystems. This section covers the major internal building blocks. They are organised here as "systems" because most of them live inside cmd/ and don't map cleanly to either an external package boundary or a deployable unit.
The runtime is the only deployable: there is one minio binary that can run as a single-node server or as one node in a distributed cluster. The "applications" lens is therefore not used; instead, the systems below describe the moving parts inside that binary.
At a glance
graph TD
HTTP[HTTP / API surface] --> OBJ[Object layer]
OBJ --> EC[Erasure coding]
OBJ --> META[Metacache & listing]
OBJ --> LCK[Locking & DSync]
OBJ --> SCAN[Data scanner]
OBJ --> HEAL[Healing & MRF]
OBJ --> REPL[Replication]
OBJ --> ILM[Lifecycle / Tiering]
HTTP --> IAM[IAM / STS]
HTTP --> KMS[KMS / encryption]
HTTP --> EVT[Events / Notifications]
HTTP --> METRICS[Metrics & audit]
OBJ --> NET[Peer / Storage RPC]
NET --> GRID[Grid RPC]Subsystems
| Subsystem | Brief | Dedicated page |
|---|---|---|
| Object API & HTTP | The S3 routing surface, request middleware, and response helpers. | object-api-and-http |
| Erasure coding | Server pools, sets, encode/decode, xl.meta, on-disk format. | erasure |
| Distributed locking | Namespace lock, DSync, lock REST. | distributed-locking |
| Healing | Per-object heal, background heal, MRF, new-disks heal. | healing |
| Data scanner | Background sweep that drives quotas, ILM, and heal hints. | data-scanner |
| IAM and STS | Users, groups, policies, identity providers, temporary credentials. | iam |
| KMS and encryption | SSE-S3, SSE-KMS, SSE-C wiring; KES integration. | kms |
| Bucket replication | Async per-bucket replication to S3-compatible targets. | replication |
| Site replication | Cluster-to-cluster mirror of buckets, IAM, lifecycle, encryption. | site-replication |
| Lifecycle & tiering | Bucket ILM, transitions to warm backends. | lifecycle-and-tiering |
| Metacache & listing | Streaming list-objects cache. | metacache |
| Notifications | Bucket event delivery to Kafka, NATS, MQTT, Webhook, ES, etc. | notifications |
| Metrics, audit, and tracing | Prometheus v2/v3, audit log, request tracing. | metrics-and-audit |
| Batch jobs | Bulk replicate / expire / key-rotate jobs run by the cluster. | batch-jobs |
| FTP and SFTP | Embedded FTP/FTPS and SFTP servers. | ftp-and-sftp |
| Object Lambda | Request-time transforms via external functions. | object-lambda |
| Admin API | Cluster admin REST surface used by mc admin. |
admin-api |
| Peer & Storage RPC | Inter-node RPC layers (storage REST, peer REST, grid). | peer-and-storage-rpc |
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.