Skip to content
GitLab
Next
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab FOSS GitLab FOSS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLab FOSSGitLab FOSS
  • Issues
  • #28283
Closed
Open
Issue created Feb 16, 2017 by Pablo Carranza [GitLab]@pcarranza-gitlabContributor

Detach repository group and path from the folder in disk

The simplest way to do this is by using an UUID for the folder name instead of using the current namespace/name.

There are multiple benefits of doing this, but I'll just mention 2 that I think are major:

  1. Security: in order to identify a repo that you may want to get out of the disk you need to also compromise the database. This makes it harder to extract data from GitLab in case of a security breach.
  2. Reusing group and project names after deletion stops being a problem - it's virtually impossible to get the same UUID.

This shouldn't be so much of a change to the application. But I think that the main issue will be to migrate all the projects around in the filesystem (a simple mv command would suffice) simply because it will take long.

Assignee
Assign to
Time tracking