diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index cd3f41530..6c86e9e58 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,20 +1,12 @@
---
name: Bug report
-about: Report a bug in MinIO (community edition is source-only)
+about: Create a report to help us improve
title: ''
labels: community, triage
assignees: ''
---
-## IMPORTANT NOTES
-
-**Community Edition**: MinIO community edition is now source-only. Install via `go install github.com/minio/minio@latest`
-
-**Feature Requests**: We are no longer accepting feature requests for the community edition. For feature requests and enterprise support, please subscribe to [MinIO Enterprise Support](https://min.io/pricing).
-
-**Urgent Issues**: If this case is urgent or affects production, please subscribe to [SUBNET](https://min.io/pricing) for 24/7 enterprise support.
-
## Expected Behavior
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 000000000..4a7b218c9
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: community, triage
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/.gitignore b/.gitignore
index 63925e6f8..4305e4473 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,9 @@ xl-meta
.goreleaser.yml
dist/
+
+
+.claude/
+.codex/
+_bmad/
+_bmad-output/
diff --git a/README.md b/README.md
index 481995aa9..37240d9df 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,17 @@
-# Maintenance Mode
-
-**This project is currently under maintenance and is not accepting new changes.**
-
-- The codebase is in a maintenance-only state
-- No new features, enhancements, or pull requests will be accepted
-- Critical security fixes may be evaluated on a case-by-case basis
-- Existing issues and pull requests will not be actively reviewed
-- Community support continues on a best-effort basis through [Slack](https://slack.min.io)
-
-For enterprise support and actively maintained versions, please see [MinIO AIStor](https://www.min.io/product/aistor).
-
----
+> [!IMPORTANT]
+> **This is a community-maintained fork of [minio/minio](https://github.com/minio/minio), maintained by [Pigsty](https://pigsty.io).**
+> This project is **not** affiliated with, endorsed by, or sponsored by MinIO, Inc.
+> "MinIO" is a trademark of MinIO, Inc., used here solely to identify the upstream project.
+>
+> Changes from upstream are minimal:
+> - Restored the embedded management console version reference
+> - Updated documentation links and Go module paths to point to this repository
+>
+> Distributed under the original [GNU AGPLv3](LICENSE) license.
# MinIO Quickstart Guide
-[](https://slack.min.io) [](https://hub.docker.com/r/minio/minio/) [](https://github.com/minio/minio/blob/master/LICENSE)
-
-[](https://min.io)
+[](https://pigsty.io) [](https://slack.min.io) [](https://github.com/pgsty/minio/blob/master/LICENSE)
MinIO is a high-performance, S3-compatible object storage solution released under the GNU AGPL v3.0 license.
Designed for speed and scalability, it powers AI/ML, analytics, and data-intensive workloads with industry-leading performance.
@@ -28,52 +23,20 @@ Designed for speed and scalability, it powers AI/ML, analytics, and data-intensi
This README provides instructions for building MinIO from source and deploying onto baremetal hardware.
Use the [MinIO Documentation](https://github.com/minio/docs) project to build and host a local copy of the documentation.
-## MinIO is Open Source Software
-
-We designed MinIO as Open Source software for the Open Source software community. We encourage the community to remix, redesign, and reshare MinIO under the terms of the AGPLv3 license.
-
-All usage of MinIO in your application stack requires validation against AGPLv3 obligations, which include but are not limited to the release of modified code to the community from which you have benefited. Any commercial/proprietary usage of the AGPLv3 software, including repackaging or reselling services/features, is done at your own risk.
-
-The AGPLv3 provides no obligation by any party to support, maintain, or warranty the original or any modified work.
-All support is provided on a best-effort basis through Github and our [Slack](https//slack.min.io) channel, and any member of the community is welcome to contribute and assist others in their usage of the software.
-
-MinIO [AIStor](https://www.min.io/product/aistor) includes enterprise-grade support and licensing for workloads which require commercial or proprietary usage and production-level SLA/SLO-backed support. For more information, [reach out for a quote](https://min.io/pricing).
-
-## Source-Only Distribution
-
-**Important:** The MinIO community edition is now distributed as source code only. We will no longer provide pre-compiled binary releases for the community version.
-
-### Installing Latest MinIO Community Edition
-
-To use MinIO community edition, you have two options:
-
-1. **Install from source** using `go install github.com/minio/minio@latest` (recommended)
-2. **Build a Docker image** from the provided Dockerfile
-
-See the sections below for detailed instructions on each method.
-
-### Legacy Binary Releases
-
-Historical pre-compiled binary releases remain available for reference but are no longer maintained:
-- GitHub Releases: https://github.com/minio/minio/releases
-- Direct downloads: https://dl.min.io/server/minio/release/
-
-**These legacy binaries will not receive updates.** We strongly recommend using source builds for access to the latest features, bug fixes, and security updates.
-
## Install from Source
Use the following commands to compile and run a standalone MinIO server from source.
If you do not have a working Golang environment, please follow [How to install Golang](https://golang.org/doc/install). Minimum version required is [go1.24](https://golang.org/dl/#stable)
```sh
-go install github.com/minio/minio@latest
+go install github.com/pgsty/minio@latest
```
You can alternatively run `go build` and use the `GOOS` and `GOARCH` environment variables to control the OS and architecture target.
For example:
```
-env GOOS=linux GOARCh=arm64 go build
+env GOOS=linux GOARCH=arm64 go build
```
Start MinIO by running `minio server PATH` where `PATH` is any empty folder on your local filesystem.
@@ -91,11 +54,7 @@ mc admin info local
```
See [Test using MinIO Client `mc`](#test-using-minio-client-mc) for more information on using the `mc` commandline tool.
-For application developers, see to view MinIO SDKs for supported languages.
-
-> [!NOTE]
-> Production environments using compiled-from-source MinIO binaries do so at their own risk.
-> The AGPLv3 license provides no warranties nor liabilites for any such usage.
+For application developers, see to view MinIO SDKs for supported languages.
## Build Docker Image
@@ -118,16 +77,13 @@ docker run -p 9000:9000 -p 9001:9001 myminio:minio server /tmp/minio --console-a
Complete documentation for building Docker containers, managing custom images, or loading images into orchestration platforms is out of scope for this documentation.
You can modify the `Dockerfile` and `dockerscripts/docker-entrypoint.sh` as-needed to reflect your specific image requirements.
-See the [MinIO Container](https://docs.min.io/community/minio-object-store/operations/deployments/baremetal-deploy-minio-as-a-container.html#deploy-minio-container) documentation for more guidance on running MinIO within a Container image.
-
## Install using Helm Charts
There are two paths for installing MinIO onto Kubernetes infrastructure:
- Use the [MinIO Operator](https://github.com/minio/operator)
-- Use the community-maintained [Helm charts](https://github.com/minio/minio/tree/master/helm/minio)
+- Use the community-maintained [Helm charts](https://github.com/pgsty/minio/tree/master/helm/minio)
-See the [MinIO Documentation](https://docs.min.io/community/minio-object-store/operations/deployments/kubernetes.html) for guidance on deploying using the Operator.
The Community Helm chart has instructions in the folder-level README.
## Test MinIO Connectivity
@@ -154,21 +110,21 @@ mc cp ~/Downloads/mydata data/
mc ls data/
```
-Follow the MinIO Client [Quickstart Guide](https://docs.min.io/community/minio-object-store/reference/minio-mc.html#quickstart) for further instructions.
+Follow the MinIO Client [Quickstart Guide](https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart) for further instructions.
## Explore Further
-- [The MinIO documentation website](https://docs.min.io/community/minio-object-store/index.html)
-- [MinIO Erasure Code Overview](https://docs.min.io/community/minio-object-store/operations/concepts/erasure-coding.html)
-- [Use `mc` with MinIO Server](https://docs.min.io/community/minio-object-store/reference/minio-mc.html)
-- [Use `minio-go` SDK with MinIO Server](https://docs.min.io/enterprise/aistor-object-store/developers/sdk/go/)
+- [MinIO Erasure Code Overview](https://min.io/docs/minio/linux/operations/concepts/erasure-coding.html)
+- [Use `mc` with MinIO Server](https://min.io/docs/minio/linux/reference/minio-mc.html)
+- [Use `minio-go` SDK with MinIO Server](https://min.io/docs/minio/linux/developers/go/minio-go.html)
+- [MinIO V3 Metrics Reference](docs/metrics/v3.md)
-## Contribute to MinIO Project
+## Contribute
Please follow MinIO [Contributor's Guide](https://github.com/minio/minio/blob/master/CONTRIBUTING.md) for guidance on making new contributions to the repository.
## License
-- MinIO source is licensed under the [GNU AGPLv3](https://github.com/minio/minio/blob/master/LICENSE).
-- MinIO [documentation](https://github.com/minio/minio/tree/master/docs) is licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
-- [License Compliance](https://github.com/minio/minio/blob/master/COMPLIANCE.md)
+- MinIO source is licensed under the [GNU AGPLv3](LICENSE).
+- MinIO [documentation](docs/) is licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
+- [License Compliance](COMPLIANCE.md)
diff --git a/docs/hotfixes.md b/docs/hotfixes.md
new file mode 100644
index 000000000..96f4508fb
--- /dev/null
+++ b/docs/hotfixes.md
@@ -0,0 +1,137 @@
+# Introduction
+
+This document outlines how to make hotfix binaries and containers for MinIO?. The main focus in this article is about how to backport patches to a specific branch and finally building binaries/containers.
+
+## Pre-pre requisite
+
+- A working knowledge of MinIO codebase and its various components.
+- A working knowledge of AWS S3 API behaviors and corner cases.
+
+## Pre-requisite for backporting any fixes
+
+Fixes that are allowed a backport must satisfy any of the following criteria's:
+
+- A fix must not be a feature, for example.
+
+```
+commit faf013ec84051b92ae0f420a658b8d35bb7bb000
+Author: Klaus Post
+Date: Thu Nov 18 12:15:22 2021 -0800
+
+ Improve performance on multiple versions (#13573)
+```
+
+- A fix must be a valid fix that was reproduced and seen in a customer environment, for example.
+
+```
+commit 886262e58af77ebc7c836ef587c08544e9a0c271
+Author: Harshavardhana
+Date: Wed Nov 17 15:49:12 2021 -0800
+
+ heal legacy objects when versioning is enabled after upgrade (#13671)
+```
+
+- A security fix must be backported if a customer is affected by it, we have a mechanism in SUBNET to send out notifications to affected customers in such situations, this is a mandatory requirement.
+
+```
+commit 99bf4d0c429f04dbd013ba98840d07b759ae1702 (tag: RELEASE.2019-06-15T23-07-18Z)
+Author: Harshavardhana
+Date: Sat Jun 15 11:27:17 2019 -0700
+
+ [security] Match ${aws:username} exactly instead of prefix match (#7791)
+
+ This PR fixes a security issue where an IAM user based
+ on his policy is granted more privileges than restricted
+ by the users IAM policy.
+
+ This is due to an issue of prefix based Matcher() function
+ which was incorrectly matching prefix based on resource
+ prefixes instead of exact match.
+```
+
+- There is always a possibility of a fix that is new, it is advised that the developer must make sure that the fix is sent upstream, reviewed and merged to the master branch.
+
+## Creating a hotfix branch
+
+Customers in MinIO are allowed LTS on any release they choose to standardize. Production setups seldom change and require maintenance. Hotfix branches are such maintenance branches that allow customers to operate a production cluster without drastic changes to their deployment.
+
+## Backporting a fix
+
+Developer is advised to clone the MinIO source and checkout the MinIO release tag customer is currently on.
+
+```
+λ git checkout RELEASE.2021-04-22T15-44-28Z
+```
+
+Create a branch and proceed to push the branch **upstream**
+> (upstream here points to git@github.com:minio/minio.git)
+
+```
+λ git branch -m RELEASE.2021-04-22T15-44-28Z.hotfix
+λ git push -u upstream RELEASE.2021-04-22T15-44-28Z.hotfix
+```
+
+Pick the relevant commit-id say for example commit-id from the master branch
+
+```
+commit 4f3317effea38c203c358af9cb5ce3c0e4173976
+Author: Klaus Post
+Date: Mon Nov 8 08:41:27 2021 -0800
+
+ Close stream on panic (#13605)
+
+ Always close streamHTTPResponse on panic on main thread to avoid
+ write/flush after response handler has returned.
+```
+
+```
+λ git cherry-pick 4f3317effea38c203c358af9cb5ce3c0e4173976
+```
+
+*A self contained **patch** usually applies fine on the hotfix branch during backports as long it is self contained. There are situations however this may lead to conflicts and the patch will not cleanly apply. Conflicts might be trivial which can be resolved easily, when conflicts seem to be non-trivial or touches the part of the code-base the developer is not confident - to get additional clarity reach out to #hack on MinIOHQ slack channel. Hasty changes must be avoided, minor fixes and logs may be added to hotfix branches but this should not be followed as practice.*
+
+Once the **patch** is successfully applied, developer must run tests to validate the fix that was backported by running following tests, locally.
+
+Unit tests
+
+```
+λ make test
+```
+
+Verify different type of MinIO deployments work
+
+```
+λ make verify
+```
+
+Verify if healing and replacing a drive works
+
+```
+λ make verify-healing
+```
+
+At this point in time the backport is ready to be submitted as a pull request to the relevant branch. A pull request is recommended to ensure [mint](http://github.com/minio/mint) tests are validated. Pull request also ensures code-reviews for the backports in case of any unforeseen regressions.
+
+### Building a hotfix binary and container
+
+To add a hotfix tag to the binary version and embed the relevant `commit-id` following build helpers are available
+
+#### Builds the hotfix binary and uploads to https;//dl.min.io
+
+```
+λ CRED_DIR=/media/builder/minio make hotfix-push
+```
+
+#### Builds the hotfix container and pushes to docker.io/minio/minio
+
+```
+λ CRED_DIR=/media/builder/minio make docker-hotfix-push
+```
+
+#### Builds the hotfix container and pushes to registry.min.dev//minio
+
+```
+λ REPO="registry.min.dev/" CRED_DIR=/media/builder/minio make docker-hotfix-push
+```
+
+Once this has been provided to the customer relevant binary will be uploaded from our *release server* securely, directly to
diff --git a/docs/metrics/v3.md b/docs/metrics/v3.md
new file mode 100644
index 000000000..5901b2e2f
--- /dev/null
+++ b/docs/metrics/v3.md
@@ -0,0 +1,417 @@
+# Metrics Version 3
+
+In metrics version 3, all metrics are available under the following base endpoint:
+
+```
+/minio/metrics/v3
+```
+
+To query metrics of a specific type, append the appropriate path to the base endpoint.
+Querying the base endpoint returns "404 Not Found."
+
+Metrics are organized into groups at paths **relative** to the top-level endpoint above.
+
+Metrics are also available using the [MinIO Admin Client](https://min.io/docs/minio/linux/reference/minio-mc-admin.html) and the `mc admin prometheus metrics` command. For more information, see [Metrics and Alerts](https://min.io/docs/minio/linux/operations/monitoring/metrics-and-alerts.html) in the MinIO Documentation.
+
+## Metrics Request Handling
+
+Each endpoint can be queried as needed via a scrape configuration in Prometheus or a compatible metrics collection tool. You should schedule scrape operations so a prior scrape completes before the next one begins.
+
+For ease of configuration, each (non-empty) parent of the path serves all the metric endpoints at its child paths. For example, to query all system metrics scrape `/minio/metrics/v3/system/`.
+
+Each metric endpoint may support multiple child endpoints. For example, the `/v3/system/` metric has multiple child groups as `/v3/system/`. Querying the parent endpoint returns metrics for all child groups. Querying a child group returns only metrics for that child.
+
+### Per-bucket Metrics
+
+Metrics with a `/bucket` component in the path return results for each specified bucket in the deployment. These endpoints **require** providing a list of buckets as a `bucket` query parameter. The endpoint then returns only metrics for the given buckets, with the bucket name in a `bucket` label.
+
+For example, to query API metrics for buckets `test1` and `test2`, make a scrape request to `/minio/metrics/v3/api/bucket?buckets=test1,test2`.
+
+### List Available Metrics
+
+Instead of a metrics scrape, you can list the metrics that would be returned by a path by adding a `list` query parameter. The MinIO server then lists all available metrics that could be returned. Note that during an actual metrics scrape only metrics with available _values_ are returned. Metrics with null values are omitted from the scrape results.
+
+To set the output format, set the request `Content-Type` to the desired format. Accepted values are `application/json` for JSON output or `text/plain` for a Markdown-formatted table. The default is Markdown.
+
+For example, the following returns a list of all available bucket metrics:
+```
+/minio/metrics/v3/api/bucket?list
+```
+
+## Metric Categories
+
+At a high level, metrics are grouped into categories as described in the following sections. The path in each of the tables is relative to the top-level endpoint. Note that the standard GoCollector metrics are not shown.
+
+### Request metrics
+
+Metrics about requests served by the current node.
+
+| Path | Description |
+|-----------------|-----------------------------------------------|
+| `/api/requests` | Metrics over all requests. |
+| `/bucket/api` | Metrics over all requests for a given bucket. |
+
+#### `/api/requests`
+
+| Name | Description | Labels |
+|------------------------------------------------|--------------------------------------------------------------------------------|----------------------------------------------|
+| `minio_api_requests_rejected_auth_total` | Total number of requests rejected for auth failure.
Type: counter | `type`, `pool_index`, `server` |
+| `minio_api_requests_rejected_header_total` | Total number of requests rejected for invalid header.
Type: counter | `type`, `pool_index`, `server` |
+| `minio_api_requests_rejected_timestamp_total` | Total number of requests rejected for invalid timestamp.
Type: counter | `type`, `pool_index`, `server` |
+| `minio_api_requests_rejected_invalid_total` | Total number of invalid requests.
Type: counter | `type`, `pool_index`, `server` |
+| `minio_api_requests_waiting_total` | Total number of requests in the waiting queue.
Type: gauge | `type`, `pool_index`, `server` |
+| `minio_api_requests_incoming_total` | Total number of incoming requests.
Type: gauge | `type`, `pool_index`, `server` |
+| `minio_api_requests_inflight_total` | Total number of requests currently in flight.
Type: gauge | `name`, `type`, `pool_index`, `server` |
+| `minio_api_requests_total` | Total number of requests.
Type: counter | `name`, `type`, `pool_index`, `server` |
+| `minio_api_requests_errors_total` | Total number of requests with 4xx or 5xx errors.
Type: counter | `name`, `type`, `pool_index`, `server` |
+| `minio_api_requests_5xx_errors_total` | Total number of requests with 5xx errors.
Type: counter | `name`, `type`, `pool_index`, `server` |
+| `minio_api_requests_4xx_errors_total` | Total number of requests with 4xx errors.
Type: counter | `name`, `type`, `pool_index`, `server` |
+| `minio_api_requests_canceled_total` | Total number of requests canceled by the client.
Type: counter | `name`, `type`, `pool_index`, `server` |
+| `minio_api_requests_ttfb_seconds_distribution` | Distribution of time to first byte across API calls.
Type: counter | `name`, `type`, `le`, `pool_index`, `server` |
+| `minio_api_requests_traffic_sent_bytes` | Total number of bytes sent.
Type: counter | `type`, `pool_index`, `server` |
+| `minio_api_requests_traffic_received_bytes` | Total number of bytes received.
Type: counter | `type`, `pool_index`, `server` |
+
+#### `/bucket/api`
+
+| Name | Description | Labels |
+|----------------------------------------------|-----------------------------------------------------------------------------------------|--------------------------------------------------------|
+| `minio_bucket_api_traffic_received_bytes` | Total number of bytes sent for a bucket.
Type: counter | `bucket`, `type`, `server`, `pool_index` |
+| `minio_bucket_api_traffic_sent_bytes` | Total number of bytes received for a bucket.
Type: counter | `bucket`, `type`, `server`, `pool_index` |
+| `minio_bucket_api_inflight_total` | Total number of requests currently in flight for a bucket.
Type: gauge | `bucket`, `name`, `type`, `server`, `pool_index` |
+| `minio_bucket_api_total` | Total number of requests for a bucket.
Type: counter | `bucket`, `name`, `type`, `server`, `pool_index` |
+| `minio_bucket_api_canceled_total` | Total number of requests canceled by the client for a bucket.
Type: counter | `bucket`, `name`, `type`, `server`, `pool_index` |
+| `minio_bucket_api_4xx_errors_total` | Total number of requests with 4xx errors for a bucket.
Type: counter | `bucket`, `name`, `type`, `server`, `pool_index` |
+| `minio_bucket_api_5xx_errors_total` | Total number of requests with 5xx errors for a bucket.
Type: counter | `bucket`, `name`, `type`, `server`, `pool_index` |
+| `minio_bucket_api_ttfb_seconds_distribution` | Distribution of time to first byte across API calls for a bucket.
Type: counter | `bucket`, `name`, `le`, `type`, `server`, `pool_index` |
+
+### Audit metrics
+
+Metrics about the MinIO audit functionality.
+
+| Path | Description |
+|----------|-----------------------------------------|
+| `/audit` | Metrics related to audit functionality. |
+
+#### `/audit`
+
+| Name | Description | Labels |
+|-----------------------------------|---------------------------------------------------------------------------------|-----------------------|
+| `minio_audit_failed_messages` | Total number of messages that failed to send since start.
Type: counter | `target_id`, `server` |
+| `minio_audit_target_queue_length` | Number of unsent messages in queue for target.
Type: gauge | `target_id`, `server` |
+| `minio_audit_total_messages` | Total number of messages sent since start.
Type: counter | `target_id`, `server` |
+
+### Cluster metrics
+
+Metrics about an entire MinIO cluster.
+
+| Path | Description |
+|--------------------------|--------------------------------|
+| `/cluster/config` | Cluster configuration metrics. |
+| `/cluster/erasure-set` | Erasure set metrics. |
+| `/cluster/health` | Cluster health metrics. |
+| `/cluster/iam` | Cluster iam metrics. |
+| `/cluster/usage/buckets` | Object statistics by bucket. |
+| `/cluster/usage/objects` | Object statistics. |
+
+#### `/cluster/config`
+
+| Name | Description | Labels |
+|----------------------------------------|--------------------------------------------------------------|--------|
+| `minio_cluster_config_rrs_parity` | Reduced redundancy storage class parity.
Type: gauge | |
+| `minio_cluster_config_standard_parity` | Standard storage class parity.
Type: gauge | |
+
+#### `/cluster/erasure-set`
+
+| Name | Description | Labels |
+|--------------------------------------------------|---------------------------------------------------------------------------------------------------------|---------------------|
+| `minio_cluster_erasure_set_overall_write_quorum` | Overall write quorum across pools and sets.
Type: gauge | |
+| `minio_cluster_erasure_set_overall_health` | Overall health across pools and sets (1=healthy, 0=unhealthy).
Type: gauge | |
+| `minio_cluster_erasure_set_read_quorum` | Read quorum for the erasure set in a pool.
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_write_quorum` | Write quorum for the erasure set in a pool.
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_online_drives_count` | Count of online drives in the erasure set in a pool.
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_healing_drives_count` | Count of healing drives in the erasure set in a pool.
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_health` | Health of the erasure set in a pool (1=healthy, 0=unhealthy).
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_read_tolerance` | Number of drive failures that can be tolerated without disrupting read operations.
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_write_tolerance` | Number of drive failures that can be tolerated without disrupting write operations.
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_read_health` | Health of the erasure set in a pool for read operations (1=healthy, 0=unhealthy).
Type: gauge | `pool_id`, `set_id` |
+| `minio_cluster_erasure_set_write_health` | Health of the erasure set in a pool for write operations (1=healthy, 0=unhealthy).
Type: gauge | `pool_id`, `set_id` |
+
+#### `/cluster/health`
+
+| Name | Description | Labels |
+|----------------------------------------------------|---------------------------------------------------------------------|--------|
+| `minio_cluster_health_drives_offline_count` | Count of offline drives in the cluster.
Type: gauge | |
+| `minio_cluster_health_drives_online_count` | Count of online drives in the cluster.
Type: gauge | |
+| `minio_cluster_health_drives_count` | Count of all drives in the cluster.
Type: gauge | |
+| `minio_cluster_health_nodes_offline_count` | Count of offline nodes in the cluster.
Type: gauge | |
+| `minio_cluster_health_nodes_online_count` | Count of online nodes in the cluster.
Type: gauge | |
+| `minio_cluster_health_capacity_raw_total_bytes` | Total cluster raw storage capacity in bytes.
Type: gauge | |
+| `minio_cluster_health_capacity_raw_free_bytes` | Total cluster raw storage free in bytes.
Type: gauge | |
+| `minio_cluster_health_capacity_usable_total_bytes` | Total cluster usable storage capacity in bytes.
Type: gauge | |
+| `minio_cluster_health_capacity_usable_free_bytes` | Total cluster usable storage free in bytes.
Type: gauge | |
+
+#### `/cluster/iam`
+
+| Name | Description | Labels |
+|-----------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|--------|
+| `minio_cluster_iam_last_sync_duration_millis` | Last successful IAM data sync duration in milliseconds.
Type: counter | |
+| `minio_cluster_iam_plugin_authn_service_failed_requests_minute` | When plugin authentication is configured, returns failed requests count in the last full minute.
Type: counter | |
+| `minio_cluster_iam_plugin_authn_service_last_fail_seconds` | When plugin authentication is configured, returns time (in seconds) since the last failed request to the service.
Type: counter | |
+| `minio_cluster_iam_plugin_authn_service_last_succ_seconds` | When plugin authentication is configured, returns time (in seconds) since the last successful request to the service.
Type: counter | |
+| `minio_cluster_iam_plugin_authn_service_succ_avg_rtt_ms_minute` | When plugin authentication is configured, returns average round-trip time of successful requests in the last full minute.
Type: counter | |
+| `minio_cluster_iam_plugin_authn_service_succ_max_rtt_ms_minute` | When plugin authentication is configured, returns maximum round-trip time of successful requests in the last full minute.
Type: counter | |
+| `minio_cluster_iam_plugin_authn_service_total_requests_minute` | When plugin authentication is configured, returns total requests count in the last full minute.
Type: counter | |
+| `minio_cluster_iam_since_last_sync_millis` | Time (in milliseconds) since last successful IAM data sync.
Type: counter | |
+| `minio_cluster_iam_sync_failures` | Number of failed IAM data syncs since server start.
Type: counter | |
+| `minio_cluster_iam_sync_successes` | Number of successful IAM data syncs since server start.
Type: counter | |
+
+#### `/cluster/usage/buckets`
+
+| Name | Description | Labels |
+|-----------------------------------------------------------------|--------------------------------------------------------------------------------------|-------------------|
+| `minio_cluster_usage_buckets_since_last_update_seconds` | Time since last update of usage metrics in seconds.
Type: gauge | |
+| `minio_cluster_usage_buckets_total_bytes` | Total bucket size in bytes.
Type: gauge | `bucket` |
+| `minio_cluster_usage_buckets_objects_count` | Total object count in bucket.
Type: gauge | `bucket` |
+| `minio_cluster_usage_buckets_versions_count` | Total object versions count in bucket, including delete markers.
Type: gauge | `bucket` |
+| `minio_cluster_usage_buckets_delete_markers_count` | Total delete markers count in bucket.
Type: gauge | `bucket` |
+| `minio_cluster_usage_buckets_quota_total_bytes` | Total bucket quota in bytes.
Type: gauge | `bucket` |
+| `minio_cluster_usage_buckets_object_size_distribution` | Bucket object size distribution.
Type: gauge | `range`, `bucket` |
+| `minio_cluster_usage_buckets_object_version_count_distribution` | Bucket object version count distribution.
Type: gauge | `range`, `bucket` |
+
+#### `/cluster/usage/objects`
+
+| Name | Description | Labels |
+|----------------------------------------------------------|------------------------------------------------------------------------------------|---------|
+| `minio_cluster_usage_objects_since_last_update_seconds` | Time since last update of usage metrics in seconds.
Type: gauge | |
+| `minio_cluster_usage_objects_total_bytes` | Total cluster usage in bytes.
Type: gauge | |
+| `minio_cluster_usage_objects_count` | Total cluster objects count.
Type: gauge | |
+| `minio_cluster_usage_objects_versions_count` | Total cluster object versions count, including delete markers.
Type: gauge | |
+| `minio_cluster_usage_objects_delete_markers_count` | Total cluster delete markers count.
Type: gauge | |
+| `minio_cluster_usage_objects_buckets_count` | Total cluster buckets count.
Type: gauge | |
+| `minio_cluster_usage_objects_size_distribution` | Cluster object size distribution.
Type: gauge | `range` |
+| `minio_cluster_usage_objects_version_count_distribution` | Cluster object version count distribution.
Type: gauge | `range` |
+
+### Debug metrics
+
+Standard Go runtime metrics from the [Prometheus Go Client base collector](https://github.com/prometheus/client_golang).
+
+| Path | Description |
+|-------------|---------------------|
+| `/debug/go` | Go runtime metrics. |
+
+### ILM metrics
+
+Metrics about the MinIO ILM functionality.
+
+| Path | Description |
+|--------|---------------------------------------|
+| `/ilm` | Metrics related to ILM functionality. |
+
+#### `/ilm`
+
+| Name | Description | Labels |
+|-------------------------------------------------------|---------------------------------------------------------------------------------------------------|----------|
+| `minio_cluster_ilm_expiry_pending_tasks` | Number of pending ILM expiry tasks in the queue.
Type: gauge | `server` |
+| `minio_cluster_ilm_transition_active_tasks` | Number of active ILM transition tasks.
Type: gauge | `server` |
+| `minio_cluster_ilm_transition_pending_tasks` | Number of pending ILM transition tasks in the queue.
Type: gauge | `server` |
+| `minio_cluster_ilm_transition_missed_immediate_tasks` | Number of missed immediate ILM transition tasks.
Type: counter | `server` |
+| `minio_cluster_ilm_versions_scanned` | Total number of object versions checked for ILM actions since server start.
Type: counter | `server` |
+
+### Logger webhook metrics
+
+Metrics about MinIO logger webhooks.
+
+| Path | Description |
+|-------------------|-------------------------------------|
+| `/logger/webhook` | Metrics related to logger webhooks. |
+
+#### `/logger/webhook`
+
+| Name | Description | Labels |
+|-----------------------------------------|---------------------------------------------------------------------|------------------------------|
+| `minio_logger_webhook_failed_messages` | Number of messages that failed to send.
Type: counter | `server`, `name`, `endpoint` |
+| `minio_logger_webhook_queue_length` | Webhook queue length.
Type: gauge | `server`, `name`, `endpoint` |
+| `minio_logger_webhook_total_message` | Total number of messages sent to this target.
Type: counter | `server`, `name`, `endpoint` |
+
+### Notification metrics
+
+Metrics about the MinIO notification functionality.
+
+| Path | Description |
+|-----------------|------------------------------------------------|
+| `/notification` | Metrics related to notification functionality. |
+
+#### `/notification`
+
+| Name | Description | Labels |
+|-----------------------------------------------|-------------------------------------------------------------------------------------------------------|----------|
+| `minio_notification_current_send_in_progress` | Number of concurrent async Send calls active to all targets.
Type: counter | `server` |
+| `minio_notification_events_errors_total` | Total number of events that failed to send to the targets.
Type: counter | `server` |
+| `minio_notification_events_sent_total` | Total number of events sent to the targets.
Type: counter | `server` |
+| `minio_notification_events_skipped_total` | Number of events not sent to the targets due to the in-memory queue being full.
Type: counter | `server` |
+
+### Replication metrics
+
+Metrics about MinIO site and bucket replication.
+
+| Path | Description |
+|-----------------------|----------------------------------------|
+| `/bucket/replication` | Metrics related to bucket replication. |
+| `/replication` | Metrics related to site replication. |
+
+#### `/replication`
+
+| Name | Description | Labels |
+|---------------------------------------------------|---------------------------------------------------------------------------------------------|----------|
+| `minio_replication_average_active_workers` | Average number of active replication workers.
Type: gauge | `server` |
+| `minio_replication_average_queued_bytes` | Average number of bytes queued for replication since server start.
Type: gauge | `server` |
+| `minio_replication_average_queued_count` | Average number of objects queued for replication since server start.
Type: gauge | `server` |
+| `minio_replication_average_data_transfer_rate` | Average replication data transfer rate in bytes/sec.
Type: gauge | `server` |
+| `minio_replication_current_active_workers` | Total number of active replication workers.
Type: gauge | `server` |
+| `minio_replication_current_data_transfer_rate` | Current replication data transfer rate in bytes/sec.
Type: gauge | `server` |
+| `minio_replication_last_minute_queued_bytes` | Number of bytes queued for replication in the last full minute.
Type: gauge | `server` |
+| `minio_replication_last_minute_queued_count` | Number of objects queued for replication in the last full minute.
Type: gauge | `server` |
+| `minio_replication_max_active_workers` | Maximum number of active replication workers seen since server start.
Type: gauge | `server` |
+| `minio_replication_max_queued_bytes` | Maximum number of bytes queued for replication since server start.
Type: gauge | `server` |
+| `minio_replication_max_queued_count` | Maximum number of objects queued for replication since server start.
Type: gauge | `server` |
+| `minio_replication_max_data_transfer_rate` | Maximum replication data transfer rate in bytes/sec since server start.
Type: gauge | `server` |
+| `minio_replication_recent_backlog_count` | Total number of objects seen in replication backlog in the last 5 minutes
Type: gauge | `server` |
+#### `/bucket/replication`
+
+| Name | Description | Labels |
+|---------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|
+| `minio_bucket_replication_last_hour_failed_bytes` | Total number of bytes on a bucket which failed to replicate at least once in the last hour.
Type: gauge | `bucket`, `server` |
+| `minio_bucket_replication_last_hour_failed_count` | Total number of objects on a bucket which failed to replicate in the last hour.
Type: gauge | `bucket`, `server` |
+| `minio_bucket_replication_last_minute_failed_bytes` | Total number of bytes on a bucket which failed at least once in the last full minute.
Type: gauge | `bucket`, `server` |
+| `minio_bucket_replication_last_minute_failed_count` | Total number of objects on a bucket which failed to replicate in the last full minute.
Type: gauge | `bucket`, `server` |
+| `minio_bucket_replication_latency_ms` | Replication latency on a bucket in milliseconds.
Type: gauge | `bucket`, `operation`, `range`, `targetArn`, `server` |
+| `minio_bucket_replication_proxied_delete_tagging_requests_total` | Number of DELETE tagging requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_get_requests_failures` | Number of failures in GET requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_get_requests_total` | Number of GET requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_get_tagging_requests_failures` | Number of failures in GET tagging requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_get_tagging_requests_total` | Number of GET tagging requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_head_requests_failures` | Number of failures in HEAD requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_head_requests_total` | Number of HEAD requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_put_tagging_requests_failures` | Number of failures in PUT tagging requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_put_tagging_requests_total` | Number of PUT tagging requests proxied to replication target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_sent_bytes` | Total number of bytes replicated to the target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_sent_count` | Total number of objects replicated to the target.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_total_failed_bytes` | Total number of bytes failed to replicate at least once since server start.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_total_failed_count` | Total number of objects that failed to replicate since server start.
Type: counter | `bucket`, `server` |
+| `minio_bucket_replication_proxied_delete_tagging_requests_failures` | Number of failures in DELETE tagging requests proxied to replication target.
Type: counter | `bucket`, `server` |
+
+### Scanner metrics
+
+Metrics about the MinIO scanner.
+
+| Path | Description |
+|------------|---------------------------------------|
+| `/scanner` | Metrics related to the MinIO scanner. |
+
+#### `/scanner`
+
+| Name | Description | Labels |
+|--------------------------------------------|-----------------------------------------------------------------------------------|----------|
+| `minio_scanner_bucket_scans_finished` | Total number of bucket scans completed since server start.
Type: counter | `server` |
+| `minio_scanner_bucket_scans_started` | Total number of bucket scans started since server start.
Type: counter | `server` |
+| `minio_scanner_directories_scanned` | Total number of directories scanned since server start.
Type: counter | `server` |
+| `minio_scanner_last_activity_seconds` | Time elapsed (in seconds) since last scan activity.
Type: gauge | `server` |
+| `minio_scanner_objects_scanned` | Total number of unique objects scanned since server start.
Type: counter | `server` |
+| `minio_scanner_versions_scanned` | Total number of object versions scanned since server start.
Type: counter | `server` |
+
+### System metrics
+
+Metrics about the MinIO process and the node.
+
+| Path | Description |
+|-----------------------------|----------------------------------------------------|
+| `/system/cpu` | Metrics about CPUs on the system. |
+| `/system/drive` | Metrics about drives on the system. |
+| `/system/network/internode` | Metrics about internode requests made by the node. |
+| `/system/memory` | Metrics about memory on the system. |
+| `/system/process` | Standard process metrics. |
+
+#### `/system/drive`
+
+| Name | Description | Labels |
+|------------------------------------------------|-----------------------------------------------------------------------------------------|--------------------------------------------------------------------|
+| `minio_system_drive_used_bytes` | Total storage used on a drive in bytes.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_free_bytes` | Total storage free on a drive in bytes.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_total_bytes` | Total storage available on a drive in bytes.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_used_inodes` | Total used inodes on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_free_inodes` | Total free inodes on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_total_inodes` | Total inodes available on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_timeout_errors_total` | Total timeout errors on a drive.
Type: counter | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_io_errors_total` | Total I/O errors on a drive.
Type: counter | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_availability_errors_total` | Total availability errors (I/O errors, timeouts) on a drive.
Type: counter | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_waiting_io` | Total waiting I/O operations on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_api_latency_micros` | Average last minute latency in µs for drive API storage operations.
Type: gauge | `drive`, `api`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_offline_count` | Count of offline drives.
Type: gauge | `pool_index`, `server` |
+| `minio_system_drive_online_count` | Count of online drives.
Type: gauge | `pool_index`, `server` |
+| `minio_system_drive_count` | Count of all drives.
Type: gauge | `pool_index`, `server` |
+| `minio_system_drive_health` | Drive health (0 = offline, 1 = healthy, 2 = healing).
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_reads_per_sec` | Reads per second on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_reads_kb_per_sec` | Kilobytes read per second on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_reads_await` | Average time for read requests served on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_writes_per_sec` | Writes per second on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_writes_kb_per_sec` | Kilobytes written per second on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_writes_await` | Average time for write requests served on a drive.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+| `minio_system_drive_perc_util` | Percentage of time the disk was busy.
Type: gauge | `drive`, `set_index`, `drive_index`, `pool_index`, `server` |
+
+#### `/system/memory`
+
+| Name | Description | Labels |
+|----------------------------------|---------------------------------------------------------|----------|
+| `minio_system_memory_used` | Used memory on the node.
Type: gauge | `server` |
+| `minio_system_memory_used_perc` | Used memory percentage on the node.
Type: gauge | `server` |
+| `minio_system_memory_free` | Free memory on the node.
Type: gauge | `server` |
+| `minio_system_memory_total` | Total memory on the node.
Type: gauge | `server` |
+| `minio_system_memory_buffers` | Buffers memory on the node.
Type: gauge | `server` |
+| `minio_system_memory_cache` | Cache memory on the node.
Type: gauge | `server` |
+| `minio_system_memory_shared` | Shared memory on the node.
Type: gauge | `server` |
+| `minio_system_memory_available` | Available memory on the node.
Type: gauge | `server` |
+
+#### `/system/cpu`
+
+| Name | Description | Labels |
+|-------------------------------|---------------------------------------------------------|----------|
+| `minio_system_cpu_avg_idle` | Average CPU idle time.
Type: gauge | `server` |
+| `minio_system_cpu_avg_iowait` | Average CPU IOWait time.
Type: gauge | `server` |
+| `minio_system_cpu_load` | CPU load average 1min.
Type: gauge | `server` |
+| `minio_system_cpu_load_perc` | CPU load average 1min (percentage).
Type: gauge | `server` |
+| `minio_system_cpu_nice` | CPU nice time.
Type: gauge | `server` |
+| `minio_system_cpu_steal` | CPU steal time.
Type: gauge | `server` |
+| `minio_system_cpu_system` | CPU system time.
Type: gauge | `server` |
+| `minio_system_cpu_user` | CPU user time.
Type: gauge | `server` |
+
+#### `/system/network/internode`
+
+| Name | Description | Labels |
+|------------------------------------------------------|-------------------------------------------------------------------------------|------------------------|
+| `minio_system_network_internode_errors_total` | Total number of failed internode calls.
Type: counter | `server`, `pool_index` |
+| `minio_system_network_internode_dial_errors_total` | Total number of internode TCP dial timeouts and errors.
Type: counter | `server`, `pool_index` |
+| `minio_system_network_internode_dial_avg_time_nanos` | Average dial time of internodes TCP calls in nanoseconds.
Type: gauge | `server`, `pool_index` |
+| `minio_system_network_internode_sent_bytes_total` | Total number of bytes sent to other peer nodes.
Type: counter | `server`, `pool_index` |
+| `minio_system_network_internode_recv_bytes_total` | Total number of bytes received from other peer nodes.
Type: counter | `server`, `pool_index` |
+
+#### `/system/process`
+
+| Name | Description | Labels |
+|----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|----------|
+| `minio_system_process_locks_read_total` | Number of current READ locks on this peer.
Type: gauge | `server` |
+| `minio_system_process_locks_write_total` | Number of current WRITE locks on this peer.
Type: gauge | `server` |
+| `minio_system_process_cpu_total_seconds` | Total user and system CPU time spent in seconds.
Type: counter | `server` |
+| `minio_system_process_go_routine_total` | Total number of go routines running.
Type: gauge | `server` |
+| `minio_system_process_io_rchar_bytes` | Total bytes read by the process from the underlying storage system including cache, /proc/[pid]/io rchar.
Type: counter | `server` |
+| `minio_system_process_io_read_bytes` | Total bytes read by the process from the underlying storage system, /proc/[pid]/io read_bytes.
Type: counter | `server` |
+| `minio_system_process_io_wchar_bytes` | Total bytes written by the process to the underlying storage system including page cache, /proc/[pid]/io wchar.
Type: counter | `server` |
+| `minio_system_process_io_write_bytes` | Total bytes written by the process to the underlying storage system, /proc/[pid]/io write_bytes.
Type: counter | `server` |
+| `minio_system_process_start_time_seconds` | Start time for MinIO process in seconds since Unix epoch.
Type: gauge | `server` |
+| `minio_system_process_uptime_seconds` | Uptime for MinIO process in seconds.
Type: gauge | `server` |
+| `minio_system_process_file_descriptor_limit_total` | Limit on total number of open file descriptors for the MinIO Server process.
Type: gauge | `server` |
+| `minio_system_process_file_descriptor_open_total` | Total number of open file descriptors by the MinIO Server process.
Type: gauge | `server` |
+| `minio_system_process_syscall_read_total` | Total read SysCalls to the kernel. /proc/[pid]/io syscr.
Type: counter | `server` |
+| `minio_system_process_syscall_write_total` | Total write SysCalls to the kernel. /proc/[pid]/io syscw.
Type: counter | `server` |
+| `minio_system_process_resident_memory_bytes` | Resident memory size in bytes.
Type: gauge | `server` |
+| `minio_system_process_virtual_memory_bytes` | Virtual memory size in bytes.
Type: gauge | `server` |
+| `minio_system_process_virtual_memory_max_bytes` | Maximum virtual memory size in bytes.
Type: gauge | `server` |
diff --git a/go.mod b/go.mod
index 8ed547e76..219b21b48 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module github.com/minio/minio
-go 1.25.5
+go 1.26.0
// Install tools using 'go install tool'.
tool (
@@ -49,7 +49,7 @@ require (
github.com/lithammer/shortuuid/v4 v4.2.0
github.com/miekg/dns v1.1.65
github.com/minio/cli v1.24.2
- github.com/minio/console v1.7.7-0.20250905210349-2017f33b26e1
+ github.com/minio/console v1.7.6
github.com/minio/csvparser v1.0.0
github.com/minio/dnscache v0.1.1
github.com/minio/dperf v0.6.3
diff --git a/go.sum b/go.sum
index 1ef381cff..d46e189a8 100644
--- a/go.sum
+++ b/go.sum
@@ -421,8 +421,8 @@ github.com/minio/cli v1.24.2 h1:J+fCUh9mhPLjN3Lj/YhklXvxj8mnyE/D6FpFduXJ2jg=
github.com/minio/cli v1.24.2/go.mod h1:bYxnK0uS629N3Bq+AOZZ+6lwF77Sodk4+UL9vNuXhOY=
github.com/minio/colorjson v1.0.8 h1:AS6gEQ1dTRYHmC4xuoodPDRILHP/9Wz5wYUGDQfPLpg=
github.com/minio/colorjson v1.0.8/go.mod h1:wrs39G/4kqNlGjwqHvPlAnXuc2tlPszo6JKdSBCLN8w=
-github.com/minio/console v1.7.7-0.20250905210349-2017f33b26e1 h1:jOW1ggtITn8sreTzUjcdYE/ZffxeVmWstXNlBLOE6j4=
-github.com/minio/console v1.7.7-0.20250905210349-2017f33b26e1/go.mod h1:hKNkzdKBKU84w5wXqMnkH74QocJGHW2zjvFtuGETDsc=
+github.com/minio/console v1.7.6 h1:E0jq9nYMeW7z4iJtJ6vDt2hk4Jin0zcyAzRcTlaUO44=
+github.com/minio/console v1.7.6/go.mod h1:gM4B3/7sqP17owJaoThmeDkfaDEQNZ1mjGU5DSwRReo=
github.com/minio/crc64nvme v1.0.1 h1:DHQPrYPdqK7jQG/Ls5CTBZWeex/2FMS3G5XGkycuFrY=
github.com/minio/crc64nvme v1.0.1/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg=
github.com/minio/csvparser v1.0.0 h1:xJEHcYK8ZAjeW4hNV9Zu30u+/2o4UyPnYgyjWp8b7ZU=