Tangentially this is lamenting at the lack of choice
Last night I tried to set up BackBlaze (S3 'compatible') behind Mattermost.
This doesn't go very far when clients use/rely on headers that specifically mention vendorization
BackBlaze won't work with clients that try to send x-amz-sdk-checksum-algorithm, Mattermost taught me this
TLDR: S3 isn't always S3