codeintel: The lifecycle configuration is broken for MinIO
Created by: efritz
Newer versions of MinIO break against AWS SDK v1, and AWS SDK v2 is broken on our current version of MinIO. Fixing this issue will unblock https://github.com/sourcegraph/sourcegraph/pull/19155.
MinIO does not accept the bucket lifecycle configuration. I'm unsure if it's ever actually clean up the data in the way it's meant to (and Cloud uses GCS so we don't know about our own production environment). We need to either
- Upstream support for bucket lifecycle configurations to MinIO, or
- Remove the bucket lifecycle management from Sourcegraph and replace it with a janitor process that will periodically remove old files.
Option 2 seems like the lowest effort. We can also make a configuration option to disable this janitor when an external object storage service is configured.
Edit: MinIO does not accept the bucket lifecycle configuration with abort multipart upload rules