id = "minio"
name = "MinIO"
homepage = "https://github.com/minio/minio"
description = "MinIO is a high-performance, S3 compatible object storage."
executables = ["minio"]
[dotfiles]
paths = [
"~/.minio/certs/public.crt",
"~/.minio/certs/CAs/",
]
secret = ["~/.minio/certs/private.key"]
[commands]
format = 1
label = "MinIO"
description = "Start a MinIO object storage server. Only the server subcommand's address options are covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["server"]
label = "Start server"
description = "Run MinIO on one or more data directories. TLS, FTP/SFTP and timeouts are left out."
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://github.com/minio/minio/blob/master/README.md"
revision = "HEAD 2026-10-27"
evidence = """
Start MinIO by running `minio server PATH` where `PATH` is any empty folder on your local filesystem.
docker run -p 9000:9000 -p 9001:9001 myminio:minio server /tmp/minio --console-address :9001
MinIO runs console on random port by default, if you wish to choose a specific port use `--console-address` to pick a specific interface and port.
"""
[[commands.subcommand.source]]
id = "code"
kind = "help"
url = "https://github.com/minio/minio/blob/master/cmd/server-main.go"
revision = "HEAD 2026-10-27"
evidence = """
Name: "address", (flag --address)
Usage: "bind to a specific ADDRESS:PORT, ADDRESS can be an IP or hostname",
Name: "console-address",
Usage: "bind to a specific ADDRESS:PORT for embedded Console UI, ADDRESS can be an IP or hostname",
Name: "config", (flag --config)
Usage: "specify server configuration via YAML configuration",
"""
[[commands.subcommand.field]]
id = "paths"
label = "Data directories"
type = "path"
position = 0
multiple = true
min = 1
path = { kind = "directory", role = "output", must_exist = false }
sources = ["help"]
[[commands.subcommand.field]]
id = "address"
label = "API address"
description = "ADDRESS:PORT to bind, e.g. :9000."
type = "string"
option = ["--address"]
sources = ["code"]
[[commands.subcommand.field]]
id = "console_address"
label = "Console address"
description = "ADDRESS:PORT for the embedded Console UI, e.g. :9001."
type = "string"
option = ["--console-address"]
sources = ["help", "code"]
[[commands.subcommand.field]]
id = "config"
label = "YAML config file"
type = "path"
option = ["--config"]
path = { kind = "file", role = "input", must_exist = true }
sources = ["code"]
[[commands.subcommand.task]]
id = "local"
label = "Local server with console"
fields = ["paths", "address", "console_address"]
required = ["paths"]
set = { address = [":9000"], console_address = [":9001"] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["paths", "address", "console_address", "config"]