Skip to content

Prototype gitlab-backup CLI wrote using Thor

Gabriel Mazetto requested to merge brodock/convert-backups-to-thor into master

What does this MR do and why?

This is a prototype / PoC of writing a wrapper around existing backup rake tasks. The goal here is to explore ways to improve the UX of current backup codebase as well as provide a path for future refactor.

Relying on the existing rake tasks means everything works as it does today. The addition here is the possibility of specifying different configuration flags and make them auto-document and be available through a help or --help command.

How to set up and validate locally

$ bin/gitlab-backup help

Commands:
  gitlab-backup create          # Create a new Backup
  gitlab-backup help [COMMAND]  # Describe available commands or one specific command
  gitlab-backup restore         # Restore an existing backup
  gitlab-backup version         # Display the version information
$ bin/gitlab-backup help create

Usage:
  gitlab-backup create

Options:
  [--skip-database], [--no-skip-database]          # Skip the database backup
  [--skip-repositories], [--no-skip-repositories]  # Skip the repositories backup

Create a new Backup

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports