Core Concepts


CloudQuery has a pluggable architecture, with plugins communicating over gRPC (opens in a new tab). A plugin can be implemented to be a source, destination or both.

All plugins are split to official (maintained by CloudQuery) and community (maintained by members of the community in their own repositories).

Source Plugin

The core responsibilities of a source plugin:

  • Define the schema (tables).
  • Authenticate with the supported APIs, SaaS services and/or cloud providers.
  • Extracting data from the supported APIs and transform them into the defined schema.
  • Send the data via protobuf (opens in a new tab) to the CLI for further processing and storage at the defined destination plugins.

See Configuration Reference

Destination Plugin

The core responsibilities of a destination plugin:

  • Authenticate with the destination (such as database, message queue, storage).
  • Auto-migrate the schemas defined by the source plugins.
  • Save each incoming object in the appropriate table.

See Configuration Reference