Skip to content

Bump minio version

David Fernandez requested to merge 10io-bump-minio-version into master

🍉 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

  1. Have a GDK setup ready with versions managed by asdf and Object Storage enabled.
  2. Checkout this MR.
  3. Within the rails project, run $ asdf install. This will install the bumped version of minio.
  4. On the GDK folder:
    1. gdk stop minio (GDK will use the old version until this MR is merged).
    2. cd into the rails project.
    3. 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)
    4. (Optional) The previous command should dump the console address. Note it.
  5. (Optional) Open the minio console. Defaults values for username / password are: minio / gdk-minio
    1. In Monitoring > Trace you can start tracing calls to the S3 API.
  6. You can test the different uploads from the previous section.
  7. (Optional) If you have tracing enabled, you can see the S3 API calls:
    • Screenshot_2022-07-18_at_12.07.04

🚥 MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by David Fernandez

Merge request reports