For the complete documentation index, see llms.txt. This page is also available as Markdown.

Backup Contents

Detailed breakdown of all GitLab project data included in Cloudback backups, including repository clone and structured metadata.

Each Cloudback backup of a GitLab project creates an encrypted ZIP archive (unless password protection is disabled) containing a complete snapshot of your project. This page details everything that is included.

Summary

A GitLab backup includes two main components:

ComponentDescription
Repository CloneBare Git clone with all branches, tags, refs, and LFS objects
Metadata JSONStructured JSON files for project settings, issues, merge requests, labels, milestones, boards, members, and notes

Archive Structure

backup-archive-root/
├── repo/
│   └── {ProjectName}.git/              # Bare git repository
├── project.json                        # Project metadata
├── issues.json                         # All issues
├── issue-notes.json                    # Comments on issues
├── issue-links.json                    # Issue relationships
├── merge-requests.json                 # All merge requests
├── merge-request-notes.json            # Comments on merge requests
├── labels.json                         # Project labels
├── milestones.json                     # Project milestones
├── members.json                        # Project members
└── boards.json                         # Issue boards with lists/columns

Component Details

1. Repository Clone

The repository is cloned as a bare Git repository (git clone --bare) into the repo/ directory.

What's included:

  • All branches (including remote tracking branches)
  • All tags
  • All Git refs
  • Git LFS objects - Cloudback attempts git lfs fetch --all after cloning. If LFS fetch fails, the clone itself is still preserved (LFS failure is non-blocking).

2. Metadata JSON Files

Cloudback downloads structured metadata via the GitLab REST API and saves it as JSON files:

FileContents
project.jsonProject settings: name, description, visibility, default branch, feature flags (issues, MRs, wiki, CI/CD), merge request settings, topics
issues.jsonAll issues: title, description, state, labels, milestone, assignees, weight, time tracking (estimate + spent), due date, confidential flag
issue-notes.jsonAll issue comments: body, author, timestamps, system/internal flags, diff note positions (for code-linked comments)
issue-links.jsonIssue relationships: relates_to, blocks, is_blocked_by (deduplicated, same-project only)
merge-requests.jsonAll merge requests: title, description, state, source/target branches, labels, milestone, assignees, diff refs
merge-request-notes.jsonAll MR comments: body, author, timestamps, diff note positions (file path, line numbers for code review comments)
labels.jsonAll project labels: name, color, description
milestones.jsonAll milestones: title, description, state, start/due dates
members.jsonAll project members: username, name, state, access level (Guest/Reporter/Developer/Maintainer/Owner)
boards.jsonIssue boards with their columns/lists: board name, label-based columns with position ordering

Backup Statistics

During the backup process, Cloudback collects the following statistics:

  • Number of issues
  • Number of issue notes (comments)
  • Number of merge requests
  • Number of merge request notes
  • Number of labels
  • Number of milestones
  • Number of boards

These statistics are displayed on the Project Details page in the Cloudback dashboard.

Learn More

Last updated

Questions or feedback? Email support