From 9e49d5e7a648f00e26f2246f4dc28e6b07f8c84a Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Wed, 15 Oct 2025 10:18:39 -0700 Subject: [PATCH] update README.md and other docs to point to source only releases --- .github/ISSUE_TEMPLATE/bug_report.md | 11 +- .github/ISSUE_TEMPLATE/config.yml | 6 +- .github/ISSUE_TEMPLATE/feature_request.md | 20 --- README.md | 33 +++-- docs/chroot/README.md | 14 +- docs/hotfixes.md | 137 -------------------- docs/orchestration/docker-compose/README.md | 2 +- 7 files changed, 45 insertions(+), 178 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 docs/hotfixes.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 807c83e4c..cd3f41530 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,14 +1,19 @@ --- name: Bug report -about: Create a report to help us improve +about: Report a bug in MinIO (community edition is source-only) title: '' labels: community, triage assignees: '' --- -## NOTE -If this case is urgent, please subscribe to [Subnet](https://min.io/pricing) so that our 24/7 support team may help you faster. +## 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. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 95238236d..28ed32af2 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,7 +2,7 @@ blank_issues_enabled: false contact_links: - name: MinIO Community Support url: https://slack.min.io - about: Join here for Community Support - - name: MinIO SUBNET Support + about: Community support via Slack - for questions and discussions + - name: MinIO Enterprise Support (SUBNET) url: https://min.io/pricing - about: Join here for Enterprise Support + about: Enterprise support with SLA - for production deployments and feature requests diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 4a7b218c9..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -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/README.md b/README.md index 4c184c89f..46929f90a 100644 --- a/README.md +++ b/README.md @@ -16,28 +16,35 @@ Use the [MinIO Documentation](https://github.com/minio/docs) project to build an ## 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. +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. +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). +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). -## Legacy Releases +## Source-Only Distribution -MinIO has no planned or scheduled releases for this repository. -While a new release may be cut at any time, there is no timeline for when a subsequent release may occur. -All existing releases remain accessible through Github or at https://dl.min.io/server/minio/release/ . +**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. -The following sections provide instructions for building against the `master` branch for deployments that require access to the latest changes: +### Installing Latest MinIO Community Edition -- [Install from Source](#install-from-source) -- [Build Docker Image](#build-docker-image) +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 diff --git a/docs/chroot/README.md b/docs/chroot/README.md index e2d2c3381..1adb019f9 100644 --- a/docs/chroot/README.md +++ b/docs/chroot/README.md @@ -9,12 +9,24 @@ Chroot allows user based namespace isolation on many standard Linux deployments. ## 2. Install MinIO in Chroot +> **Note:** MinIO community edition is now distributed as source code only. Pre-compiled binaries are no longer provided for new releases. + +Build MinIO from source and install it in the chroot directory: + ```sh +# Build MinIO from source +go install github.com/minio/minio@latest + +# Create the bin directory in your chroot mkdir -p /mnt/export/${USER}/bin -wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /mnt/export/${USER}/bin/minio + +# Copy the built binary to the chroot directory +cp $(go env GOPATH)/bin/minio /mnt/export/${USER}/bin/minio chmod +x /mnt/export/${USER}/bin/minio ``` +Alternatively, if you have an existing legacy binary, you can still use it, but note that it will not receive updates. + Bind your `proc` mount to the target chroot directory ``` diff --git a/docs/hotfixes.md b/docs/hotfixes.md deleted file mode 100644 index 96f4508fb..000000000 --- a/docs/hotfixes.md +++ /dev/null @@ -1,137 +0,0 @@ -# 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/orchestration/docker-compose/README.md b/docs/orchestration/docker-compose/README.md index 93fc4aa34..2e1965141 100644 --- a/docs/orchestration/docker-compose/README.md +++ b/docs/orchestration/docker-compose/README.md @@ -11,7 +11,7 @@ With Compose, you use a Compose file to configure MinIO services. Then, using a ## 2. Run Distributed MinIO on Docker Compose -To deploy Distributed MinIO on Docker Compose, please download [docker-compose.yaml](https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/docker-compose.yaml?raw=true) and [nginx.conf](https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/nginx.conf?raw=true) to your current working directory. Note that Docker Compose pulls the MinIO Docker image, so there is no need to explicitly download MinIO binary. Then run one of the below commands +To deploy Distributed MinIO on Docker Compose, please download [docker-compose.yaml](https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/docker-compose.yaml?raw=true) and [nginx.conf](https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/nginx.conf?raw=true) to your current working directory. Note that Docker Compose pulls the MinIO Docker image, so there is no need to build MinIO from source when using Docker. For non-Docker deployments, MinIO community edition is now source-only and can be installed via `go install github.com/minio/minio@latest`. Then run one of the below commands ### GNU/Linux and macOS