Skip to content

Hashed Storage: add disk path to REST API

With the introduction of Hashed Storage, it is more difficult to discover the storage location of projects. Users are able to look up the path on the project's admin UI, but if users need to do this for many projects this is impractical. We should add this information to the GET projects/:id API call so that this is discoverable by script.

Proposal

Documentation blurb:

Get project storage information

Requires admin permissions.

Use this endpoint to get information about the project repository storage location.

GET /projects/:id/storage
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project

Example response:

{
  "shard": {
    "id": 1,
    "name": "default"
  },
  "disk_path": "@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b",
  "project_id": 8,
  "created_at": "2012-10-12T17:04:47Z"
}

GraphQL

We should add the data to GraphQL also. See #29861 (comment 499996682).

Edited by Nick Nguyen