minio/minio
Dependencies
go.mod declares ~80 direct dependencies. This is an annotated tour of the most important ones.
MinIO-internal modules
These are open-sourced spinoffs from the MinIO team that the server depends on.
| Module | Used for |
|---|---|
github.com/minio/cli |
Subcommand router (server, gateway-removed-but-spec-still-here, ...). |
github.com/minio/console |
The embedded web UI. |
github.com/minio/csvparser |
CSV parsing for S3 Select. |
github.com/minio/dnscache |
TTL-cached DNS resolver. |
github.com/minio/dperf |
Drive perf benchmark used by mc admin speedtest. |
github.com/minio/highwayhash |
HighwayHash for bitrot. |
github.com/minio/kms-go/{kes,kms} |
KES + AWS-style KMS clients. |
github.com/minio/madmin-go/v3 |
Admin API wire types. |
github.com/minio/minio-go/v7 |
S3 client used for replication and tier-S3 backends. |
github.com/minio/mux |
HTTP router fork. |
github.com/minio/pkg/v3 |
Shared helpers (env, certs, policy AST, set, wildcard, ...). |
github.com/minio/selfupdate |
In-place binary updates. |
github.com/minio/simdjson-go |
SIMD JSON parsing for S3 Select. |
github.com/minio/sio |
AEAD-on-fixed-segments encryption used by SSE. |
github.com/minio/xxml |
Faster XML decoder. |
github.com/minio/zipindex |
Zip index reader for cmd/s3-zip-handlers.go. |
Erasure and compression
| Module | Used for |
|---|---|
github.com/klauspost/reedsolomon |
The actual erasure-coding implementation. |
github.com/klauspost/compress |
gzip / zstd / s2 implementations. |
github.com/klauspost/pgzip |
parallel gzip. |
github.com/cosnicolaou/pbzip2 |
parallel bzip2. |
github.com/pierrec/lz4/v4 |
LZ4 compression. |
github.com/zeebo/xxh3, github.com/cespare/xxhash/v2 |
Fast hashing for content addressing. |
Crypto and TLS
| Module | Used for |
|---|---|
golang.org/x/crypto |
Standard extra crypto primitives. |
github.com/secure-io/sio-go |
Go-side crypto helpers. |
aead.dev/mtls, aead.dev/minisign, aead.dev/mem |
KES mTLS handshake + minisign for releases. |
github.com/golang-jwt/jwt/v4 (+ v5 indirect) |
JWT for console + STS. |
github.com/lestrrat-go/jwx/v2 |
JWK / JWE for OIDC validation. |
HTTP, routing, networking
| Module | Used for |
|---|---|
github.com/rs/cors |
CORS middleware. |
github.com/gobwas/ws |
Lightweight websocket library. |
github.com/miekg/dns |
DNS server when MinIO advertises bucket DNS. |
github.com/beevik/ntp |
NTP time check at startup. |
Storage SDKs (warm backends, replication)
| Module | Used for |
|---|---|
cloud.google.com/go/storage |
GCS warm backend. |
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob |
Azure Blob warm backend. |
github.com/Azure/azure-sdk-for-go/sdk/azidentity |
Azure auth. |
(For S3-compatible warm and replication targets, minio-go/v7 is reused.)
Identity providers
| Module | Used for |
|---|---|
github.com/coreos/go-oidc/v3 |
OpenID Connect validation. |
github.com/go-ldap/ldap/v3 |
LDAP IDP. |
golang.org/x/oauth2 |
OAuth2 flows. |
Notification targets
| Module | Target type |
|---|---|
github.com/IBM/sarama |
Kafka |
github.com/nats-io/nats.go, github.com/nats-io/stan.go, github.com/nats-io/nats-server/v2 |
NATS / STAN |
github.com/eclipse/paho.mqtt.golang |
MQTT |
github.com/rabbitmq/amqp091-go |
AMQP |
github.com/lib/pq |
PostgreSQL |
github.com/go-sql-driver/mysql |
MySQL |
github.com/gomodule/redigo |
Redis |
github.com/nsqio/go-nsq |
NSQ |
github.com/elastic/go-elasticsearch/v7 |
Elasticsearch |
File and protocol servers
| Module | Used for |
|---|---|
goftp.io/server/v2 |
Embedded FTP/FTPS server. |
github.com/pkg/sftp |
Embedded SFTP server. |
Codegen and serialisation
| Module | Used for |
|---|---|
github.com/tinylib/msgp (+ philhofer/fwd) |
MessagePack codegen. |
github.com/buger/jsonparser |
Fast JSON parsing in hot paths. |
github.com/json-iterator/go |
Faster JSON encoder. |
golang.org/x/tools/cmd/stringer |
stringer for enum string tables. |
Coordination
| Module | Used for |
|---|---|
go.etcd.io/etcd/client/v3 |
etcd backend for IAM and DNS. |
Metrics & observability
| Module | Used for |
|---|---|
github.com/prometheus/client_golang |
Prometheus collectors. |
github.com/felixge/fgprof |
Sampled profiler endpoint. |
github.com/shirou/gopsutil/v3 |
Cross-platform system stats. |
Performance and parsing helpers
| Module | Used for |
|---|---|
github.com/klauspost/cpuid/v2 |
CPU feature detection. |
github.com/klauspost/readahead |
Streaming read-ahead. |
github.com/klauspost/filepathx |
Glob expansion for endpoints. |
github.com/dustin/go-humanize |
Pretty sizes / durations in logs. |
github.com/dchest/siphash |
SipHash for cache shard selection. |
Utility
| Module | Used for |
|---|---|
github.com/google/uuid |
UUIDs. |
github.com/lithammer/shortuuid/v4 |
Short UUIDs for upload IDs. |
github.com/cheggaaa/pb |
CLI progress bars. |
github.com/fatih/color |
Coloured terminal output (with internal/color). |
github.com/mitchellh/go-homedir |
~ expansion. |
github.com/inconshreveable/mousetrap |
Detect Windows double-click run. |
gopkg.in/yaml.v2, gopkg.in/yaml.v3 |
YAML config parsing. |
golang.org/x/sync, golang.org/x/time, golang.org/x/sys, golang.org/x/term |
Standard extras. |
License notes
CREDITS (1.8 MB) is regenerated by update-credits.sh and lists every transitive dependency's licence text. Most are MIT or Apache-2.0; MinIO itself is AGPLv3.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.