*********************************
Command Line Interface Cheatsheet
*********************************

=============================
Application Specific Commands
=============================

---------------------
Managing Applications
---------------------

================================ ========================================================================
``robin app create``             Creates an app from a Robin template, K8S selectors, snapshot or backup
``robin app delete``             Deletes an app
``robin app attach-repo``        Attaches an external storage repo (S3, GCS, ...) to an app
``robin app detach-repo``        Detaches a previously attached repo
``robin app list``               Lists all applications
``robin app info``               Provides detailed information about an appr
``robin app register``           Registers any generic Kubernetes App or Operator with Robin
``robin app unregister``         Unregisters any generic Kubernetes App or Operator from Robin
``robin app snapshot-schedule``  Configures the snapshot schedules of an app
``robin app backup-schedule``    Configures the backup schedules of an app
``robin app restore``            Restores an application from a snapshot or backup
``robin app stop``               Stops an application 
``robin app restart``            Restarts an application 
``robin app share``              Shares an application with one or more users
``robin app unshare``            Stops sharing an application with one or more users
================================ ========================================================================

------------------------------
Managing Application Snapshots
------------------------------

=========================== ========================================================================
``robin snapshot create``    Takes a snapshot of an application
``robin snapshot delete``    Deletes one or more snapshots of an application
``robin snapshot info``      Shows detailed information about a specific snapshot
``robin snapshot list``      Lists snapshots for one or more applications
``robin snapshot restore``   Restores an application snapshot from a backup
``robin snapshot share``     Shares an application snapshot with one or more users
``robin snapshot unshare``   Stops sharing an application snapshot with one or more users
=========================== ========================================================================

--------------------------------------
Managing External Storage Repositories
--------------------------------------

============================ ========================================================================
``robin repo register``      Registers a new external storage repository (S3, GCS, ...)
``robin repo unregister``    Deletes a repo
``robin repo list``          Lists all repos
``robin repo info``          Shows details about a specific repo
``robin repo contents``      Shows the contents of a repo
``robin repo purge``         Purge/deletes entries in a repo
``robin repo status``        Shows status of transfers to and from repo
``robin repo user-share``    Shares a repo with one or more users
``robin repo user-unshare``  Stops sharing a repo with one or more users
============================ ========================================================================

----------------------------
Managing Application Backups 
----------------------------

============================== ========================================================================
``robin backup create``         Backup an application snapshot to repository
``robin backup delete``         Deletes backup of an application snapshot
``robin backup list``           Lists all backups of an application
``robin backup info``           Shows information about a specific backup
``robin backup status``         Shows transfer status of backup to repository
``robin backup user-share``     Shares a backup with one or more users
``robin backup user-unshare``   Stops sharing a backup with one or more users
``robin backup export``         Generates a token for use when importing an application backup into another cluster
``robin backup import``         Imports an application backup from another cluster
============================== ========================================================================


================================
Infrastructure Specific Commands
================================

--------------
Managing Users
--------------

=============================== ========================================================================
``robin login``                 Logs a user into the Robin cluster
``robin password change``       Changes the password for the current Robin user
``robin user add``              Adds a new user to the Robin cluster
``robin user list``             Lists Robin cluster users
``robin user update``           Updates a user
``robin user remove``           Removes a user from the Robin cluster
``robin user change-namespace`` Changes the current namespace for a Robin user
``robin user change-tenant``    Changes the current tenant for a Robin user
=============================== ========================================================================

--------------
Managing Hosts 
--------------

=========================== ==========================================================================================
``robin host list``         Lists all the hosts registered with the Robin cluster along with basic information
``robin host info``         Shows detailed information about a specific host 
``robin host probe``        Rediscovers the host configuration including their state, drives attached, memory available etc.
``robin host add-role``     Adds a role to one or more hosts
``robin host remove-role``  Removes a role from one or more hosts
=========================== ==========================================================================================

----------------------
Managing Storage Disks
----------------------

========================= ========================================================================
``robin disk create``     Creates a Cloud Disk (only for AWS, Azure, and GCP)
``robin disk list``       Lists all disks in the Robin cluster
``robin disk info``       Shows information about a specific disk 
``robin disk attach``     Attaches a disk to a specific Robin node
``robin disk detach``     Detaches a disk from a specific Robin node
``robin disk add-tags``   Adds tags to a disk
``robin disk del-tags``   Removes tags from disk
``robin disk update``     Updates a disks attrubutes
``robin disk evacuate``   Evacuates volumes from a disk
``robin disk remove``     Deletes a disk
``robin disk unregister`` Unregisters a disk
========================= ========================================================================