Publishing a Plugin to the Hub
With the announcement of CloudQuery Hub, we are excited to see the community contribute plugins to the Hub. This guide will walk you through the process of publishing a plugin to the Hub.
💡
Publishing to the CloudQuery Hub is only supported for Go plugins at the moment. We are working on adding support for other languages.
Prerequisites
- You have created a CloudQuery Cloud (opens in a new tab) account and completed the onboarding process to create a team
- You have created the plugin you'd like to publish on https://cloud.cloudquery.io/ (opens in a new tab) under the relevant team
- You have the CloudQuery CLI installed (version >=
v3.27.1
) - The plugin you'd like to publish is written in Go, and uses an SDK version >=
v4.17.1
- The plugin you'd like to publish is initialized using the plugin's name, team and kind. See example here (opens in a new tab)
- You are authenticated to CloudQuery Cloud (opens in a new tab) using the
cloudquery login
command
Publishing a Plugin
- (Optional, recommended) In the root directory of your plugin repository run
git tag v1.0.0
to tag the version you're about to publish (replacev1.0.0
with the version you'd like to publish) - (Optional, recommended) Run
git push origin v1.0.0
to push the tag - Run
go run main.go package --docs-dir docs -m 'feat: Initial release' v1.0.0 .
to package the plugin.v1.0.0
should match the tag you created in step 1. The-m
specifies the changelog message that will be used in the release notes and it supports markdown. See example here (opens in a new tab).docs
should be a directory containing markdown files that serve as documentation for the plugin. Read more about the documentation format here. - Run
cloudquery plugin publish
to publish a draft version of the plugin. The version will show up under the versions tab of your plugin in https://cloud.cloudquery.io (opens in a new tab). As long as the version is in draft it's mutable and you can re-package the plugin and publish it again - Once you're ready run
cloudquery plugin publish -f
to publish a non draft version of the plugin. This version will be immutable and will show up in https://hub.cloudquery.io/ (opens in a new tab). Allow up to 1 hour for the Hub to reflect the changes
Documentation Format
- The only documentation format supported at the moment is markdown, and the
cloudquery publish
command will only upload markdown files with the.md
extension - You can have multiple markdown files as documentation. The files will be concatenated in alphabetical order, and if one of the files is named
overview.md
it will show up first - The markdown filename will be title cased when display in the Hub. For example
overview.md
will be displayed asOverview
- HTML tags are not supported in the markdown files and will be ignored
- Relative assets (e.g.
./assets/logo.png
) are not supported. We recommend using absolute URLs for assets e.g.https://raw.githubusercontent.com/<owner>/<repo>/main/assets/logo.png
in case you have the assets on GitHub