| Matthias Andreas Benkard | 9557bc4 | 2026-10-23 16:21:40 +0200 | [diff] [blame] | 1 | * Garage |
| 2 | |
| 3 | S3-compatible object storage for GitLab (replaces the bundled MinIO, |
| 4 | which was removed in GitLab chart 10). |
| 5 | |
| 6 | ** Installation |
| 7 | The Helm chart is not published to a repository; check out the |
| 8 | Garage source tree (tag =v2.3.0=) and install from there: |
| 9 | |
| 10 | #+BEGIN_SRC shell-script |
| 11 | helm -n garage upgrade --install garage garage/script/helm/garage -f values.yaml --create-namespace |
| 12 | #+END_SRC |
| 13 | |
| 14 | ** Layout, buckets and key |
| 15 | #+BEGIN_SRC shell-script |
| 16 | kubectl -n garage exec garage-0 -- /garage layout assign -z dc1 -c 20G <node-id> |
| 17 | kubectl -n garage exec garage-0 -- /garage layout apply --version 1 |
| 18 | kubectl -n garage exec garage-0 -- /garage key create gitlab-app-key |
| 19 | for b in git-lfs gitlab-agent-plan-content gitlab-artifacts gitlab-backups gitlab-ci-secure-files \ |
| 20 | gitlab-dependency-proxy gitlab-mr-diffs gitlab-packages gitlab-pages gitlab-terraform-state \ |
| 21 | gitlab-uploads registry runner-cache tmp; do |
| 22 | kubectl -n garage exec garage-0 -- /garage bucket create $b |
| 23 | kubectl -n garage exec garage-0 -- /garage bucket allow --read --write --owner $b --key gitlab-app-key |
| 24 | done |
| 25 | #+END_SRC |
| 26 | |
| 27 | The key goes into the secrets =gitlab-object-storage=, |
| 28 | =gitlab-object-storage-s3cmd= and =gitlab-registry-storage= |
| 29 | (namespace =gitlab-system=, key =config=), as described in |
| 30 | https://docs.gitlab.com/charts/installation/migration/bundled_chart_migration/ |