Bump minio version
🍉 Context
GDK optionaly manages tools versions using asdf
.
Instead of having a giant list of versions needed for a GitLab setup, each sub project (such as gitlab or workhorse) maintains its own list of tools versions. GDK will simply "aggregate" the final list and send it to asdf
.
The rails backend relies on Minio: an object storage backend that exposes an S3 like API.
The current version is 2021-04-06T23-11-00Z
which is a year+ old.
Newest versions have some additional bells and whistles such as the minio console: a dashboard to inspect and monitor the minio backend.
Among other things we can trace the network requests received on the S3 like API endpoints which is very valuable to debug interactions between GitLab rails and object storage.
🤔 What does this MR do and why?
- Bump the minio version to
2022-07-15T03-44-22Z
This change has 0 impact on gitlab.com as this minio backend is primiraly used for dev environments. On production systems, object storage is provided by GCP, S3 or Azure blob storage depending on the configuration.
🖥 Screenshots or screen recordings
The risk of having an issue is low as minio strictly adheres to the S3 like API.
Having said that, let's check a few uploads:
Scenario | Upload |
---|---|
NuGet package | |
Maven package | |
GraphQL | |
CI artifact | |
User avatar | |
git LFS |
⚙ How to set up and validate locally
- Have a GDK setup ready with versions managed by
asdf
and Object Storage enabled. - Checkout this MR.
- Within the rails project, run
$ asdf install
. This will install the bumped version of minio. - On the GDK folder:
-
gdk stop minio
(GDK will use the old version until this MR is merged). - cd into the rails project.
- Start minio manually:
exec /usr/bin/env MINIO_REGION=gdk MINIO_ACCESS_KEY=minio MINIO_SECRET_KEY=gdk-minio minio server -C ../minio/config --address "172.16.123.1:9000" --compat ../minio/data
(adjust with the IP/port you use) - (Optional) The previous command should dump the console address. Note it.
-
- (Optional) Open the minio console. Defaults values for username / password are:
minio
/gdk-minio
- In Monitoring > Trace you can start tracing calls to the S3 API.
- You can test the different uploads from the previous section.
- (Optional) If you have tracing enabled, you can see the S3 API calls:
🚥 MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.