MStore v0.4.0
Breaking
-
The admin API now requires administrator rights.
/mstore/api/v1/*,
/mstore/console/*and/minio/admin/*previously accepted any
authenticated caller. They now require root, or an identity explicitly
granteds3:AdminAllonarn:mstore:admin:::*:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:AdminAll", "Resource": "arn:mstore:admin:::*" } ] }The admin resource sits outside the
arn:aws:s3:::namespace on purpose, so
an ordinary "full S3 access" policy does not confer admin rights. If you have
non-root tooling calling the admin API, attach the policy above before
upgrading or it will start receiving403 AccessDenied. -
Bucket operations are now authorized.
CreateBucket,DeleteBucketand
HeadBucketwere never policy-checked; any authenticated identity could
create or delete any bucket. They now require the corresponding grant
(s3:CreateBucket,s3:DeleteBucket,s3:HeadBucket, ors3:*) on the
bucket in question. An IAM user with no policy that previously created and
deleted buckets freely will now be denied. -
ListBucketsis filtered per identity. It previously returned every
bucket on the server to any authenticated caller. It now returns only the
buckets the caller is allowed to list — root still sees everything, anonymous
sees only what a bucket policy opens up. This is a filter, not an error:
callers get a shorter list rather than a failure.
Fixed
-
The version reported by
/mstore/api/v1/versiontracked the crate version,
which had not been bumped since v0.3.0 — v0.3.1 reported itself as0.3.0.
The workspace version andCargo.lockare now in step with the release tag. -
installation.mdshowed an unsignedcurlagainst/mstore/api/v1/version
in its smoke-test block. That path has always rejected anonymous callers, so
the example never worked.
Internal
resolve_identity_policies/collect_user_policiesmoved from
mstore-object::enginetomstore-auth::iam, shared by the object layer and
the new admin check.- The release pipeline builds tags (it previously only built
main, so
scripts/release.shpushed a tag that never triggered a build).
Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | amd64 | mstore-linux-amd64.tar.gz |
| Windows | amd64 | mstore-windows-amd64.zip |
| Docker / Podman | amd64 | mstore-docker.tar.gz |
Installation
Linux (amd64):
tar xzf mstore-linux-amd64.tar.gz
sudo mv mstore-server mstore /usr/local/bin/
mstore-server /dataDocker:
docker load < mstore-docker.tar.gz
docker run -d --name mstore -p 9010:9010 -p 9011:9011 -v mstore-data:/data mstore:v0.4.0Ports
- 9010: S3 HTTP API (AWS SDK compatible)
- 9011: gRPC (MStore SDK, CLI, replication)