Creating a New Plugin
The best way to learn how to create a new plugins is to look at the following examples:
- Test Source Plugin (opens in a new tab) - Source plugin boilerplate code with one table.
- Test Destination Plugin (opens in a new tab) - Destination plugin boilerplate code.
More real world examples are:
Other source and destination plugins to reference can be found here (opens in a new tab)
Naming Conventions
Community plugins use the following GitHub repository naming conventions:
org/cq-source-<name>
for source pluginsorg/cq-destination-<name>
for destination plugins
A community plugin using this convention can be imported in a config by using:
kind: source
spec:
path: org/name
for source plugins, or
kind: destination
spec:
path: org/name
for destination plugins.
Names should not contain dashes or underscores. So for example, if you are developing a source plugin for a new cloud service called Cloud Widgets, you should create the plugin repository under org/cq-source-cloudwidgets
.
Official plugins, in contrast, are contained in the CloudQuery repository (opens in a new tab). By convention, they can be imported using a special path cloudquery/<name>
, e.g.:
kind: source
spec:
path: cloudquery/aws