Open-Source Wikis

/

MinIO

/

Reference

/

Dependencies

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.

Dependencies – MinIO wiki | Factory