Skip to content

Provide multiple git mount points

TODOS:

Phase 1:

Gitlab CE

MRs: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4657/builds https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4578

  • Implement new configuration keys on gitlab.yml
  • Add new db attribute to projects to point to their shard (default: null shard)
  • Add new repo path lookup helpers and point exsting code to use it
  • Monkey patch Gitlab.config.gitlab_shell.repos_path to throw an exception
  • Update gitlab-shell calls to account for the shards
  • Setup api/v3/internals for gitlab-shell to get the shard paths for a project

Gitlab Shell

MR: gitlab-org/gitlab-shell!61 (merged)

  • Remove repos paths from config.yml (?)
  • Update gitlab-shell bins (check, create_hooks, install) (ask /api/v3/internal for the paths?)
  • Refactor GitlabProjects to account for the shards
  • Get shards from api/v3/internals (when gitlab-shell gets called from git over ssh, for example in hooks and when verifying keys)

Gitlab Omnibus

Phase 2:

Gitlab EE

  • Add tooling to move projects between shards

cc/ @ayufan @jnijhof @northrup @jacobvosmaer-gitlab @DouweM @pcarranza @pacoguzman