Architecture

Bacula Enterprise Google Workspace Plugin is using several Google Workspace APIs to perform almost all of its operations. Therefore, the plugin is working at the maximum granularity that the service provides.

Google Workspace APIs

Google Workspace APIs

All the information is gotten using HTTP requests to Google Cloud from the FD where the plugin is installed.

The plugin will contact a Google Cloud Platform application that needs to be manually created and configured before using the plugin. It will serve as a bridge to download the required data or objects during backup time and send them to the Storage Daemon. Conversely, the plugin will receive them from an SD and perform uploads as needed during a restore operation.

The implementation is done through a Java Daemon, therefore Java is a requirement in the FD host. For more information about how to create the application in GCP, please, consult Authorization section.

Below is a simplified vision of the architecture of this plugin inside a generic Bacula Enterprise deployment:

Google Workspace Plugin Architecture

Google Workspace Plugin Architecture

Listed below is the information that can be protected using this plugin:

  • Google Drive

    • My Drive of users

      • Folders

      • Native Google services files (gdocs, gslides, gpresentation.. Export and download)

      • All other files (regular download)

      • File Versions

      • Trash bin

    • Shared drives

      • Folders

      • Native Google services files (gdocs, gslides, gpresentation.. Export and download)

      • All other files (regular download)

      • File Versions

      • Trash bin

    • Shared permissions (direct access, share links, expiration times..)

    • SharedWithMe User files

    • Files comments

  • Google Mail

    • Mailbox user Labels

      • System labels: Inbox, Sent, Draft, Spam …

      • User labels

    • Mailbox user Mails

      • Metadata

      • Contents

    • Mail Attachments

    • Mailbox user Settings

      • Auto-Forwarding settings

      • Imap settings

      • Language settings

      • Pop settings settings

    • Delegates addresses

    • Filters

    • SendAs addresses

    • Forwarding addresses

All the metadata information of each object is stored in JSON format preserving all their original values.

Go back to the Google Workspace Plugin article.