blob: cdb3f0d8c8dd831270cc376c5733c1b9f40cc493 [file] [log] [blame]
* Garage
S3-compatible object storage for GitLab (replaces the bundled MinIO,
which was removed in GitLab chart 10).
** Installation
The Helm chart is not published to a repository; check out the
Garage source tree (tag =v2.3.0=) and install from there:
#+BEGIN_SRC shell-script
helm -n garage upgrade --install garage garage/script/helm/garage -f values.yaml --create-namespace
#+END_SRC
** Layout, buckets and key
#+BEGIN_SRC shell-script
kubectl -n garage exec garage-0 -- /garage layout assign -z dc1 -c 20G <node-id>
kubectl -n garage exec garage-0 -- /garage layout apply --version 1
kubectl -n garage exec garage-0 -- /garage key create gitlab-app-key
for b in git-lfs gitlab-agent-plan-content gitlab-artifacts gitlab-backups gitlab-ci-secure-files \
gitlab-dependency-proxy gitlab-mr-diffs gitlab-packages gitlab-pages gitlab-terraform-state \
gitlab-uploads registry runner-cache tmp; do
kubectl -n garage exec garage-0 -- /garage bucket create $b
kubectl -n garage exec garage-0 -- /garage bucket allow --read --write --owner $b --key gitlab-app-key
done
#+END_SRC
The key goes into the secrets =gitlab-object-storage=,
=gitlab-object-storage-s3cmd= and =gitlab-registry-storage=
(namespace =gitlab-system=, key =config=), as described in
https://docs.gitlab.com/charts/installation/migration/bundled_chart_migration/