Upgrading
The version of record is one line: the image in docker-compose.yml. If the sample on this page
drifts from it, CI fails (scripts/check-doc-refs.sh calls scripts/check-pin.sh).
image: docker.io/chrislusf/seaweedfs:4.46- Change the version in
docker-compose.ymland in the sample on this page - Run
scripts/verify.sh. It checks the behaviours the consumers depend on one at a time, in throwaway containers that useetc/’s entrypoint as it stands — reading and writing with credentials, the shape of anonymous Read, a wrong secret key, presigned URLs, the key length limit (255 bytes), bucket isolation, and writing after the bucket has been emptied and the store restarted. The exit code is the number of reds - Tag it, and bump the submodule in each consumer. Recreate the dev store
sh scripts/verify.sh # the version docker-compose.yml pinssh scripts/verify.sh 4.23 # a version you nameverify.sh needs container (Apple Container), aws (AWS CLI v2) and curl. It publishes S3 on
127.0.0.1:18333 (VERIFY_PORT changes it), so it runs with other stacks up. When it is done —
including when it dies partway — it removes the container and the volume.
Do not go back below 4.27
Section titled “Do not go back below 4.27”On 4.26 and earlier, the startup check misreads a volume whose last record is a delete as corrupt
and loads it read-only (upstream #9563, fixed
in 4.27). On a stack with only one volume behind the bucket, emptying the bucket and restarting is
by itself enough to stop writes. sh scripts/verify.sh 4.23 goes red on that one line and nothing
else.