Quarkiverse Hub

Edit this Page

ChecklistForNewProjects

Here is a checklist with the tasks to be performed on any new Quarkiverse extension repository:

Requesting a new repository

Create an Extension Proposal issue in the Quarkus repository

The core team can then decide if the extension should belong to core or as a Quarkiverse extension. Please indicate the lead maintainers for the extension, and preferably a URL with more information about the technology the extension should enable.

Once the lead maintainers are identified (their GitHub accounts), a pull-request is created in the Quarkiverse DevOps repository with the data provided in a .tf file (because the pull-request needs to be created from a branch in the same repository, existing Quarkiverse members can do this without waiting for any Quarkiverse org owner).

❗ IMPORTANT
If you need to change any setting in the repository (give push permissions to anyone, enable a GitHub app, etc.), make sure you perform these changes in the repository's .tf file. Changes performed in the GitHub UI directly can be discarded at any time without notice.

Start coding

When decided, the Quarkiverse Team will initialize the repository in the Quarkiverse organization for you with skeleton code ready. If you'd like to get started before then, you can start implementing your extension from a skeleton with this command:

mvn io.quarkus.platform:quarkus-maven-plugin:create-extension \
 -DgroupId=io.quarkiverse.[myext] -DextensionId=[my-ext] -U

It's best not to create a Git repository, since migration of an existing repository into the Quarkiverse org can be complex.

Set up your IDE's code format

Code format

Extensions generated with the create-extension goal of the Quarkus maven plugin expect code to be formatted according to the Quarkus conventions as documented in: https://github.com/quarkusio/quarkus/blob/master/CONTRIBUTING.md#ide-config-and-code-style. The default CI setup will validate the format and fail your build if the files don't conform.

After the repository is created

Integrate with the Quarkus Ecosystem CI

If you wish to have your extension tested against the latest snapshot in Quarkus core, you need to register your extension in the Quarkus Ecosystem CI

  1. Create an Ecosystem CI issue and assign to the extension lead
  2. In the Ecosystem CI repository, create a info.yaml file in a quarkiverse-<YOUR_EXTENSION> directory with the following contents:
url: https://github.com/quarkiverse/quarkus-<YOUR_EXTENSION>
issues:
  repo: quarkiverse/quarkiverse
  latestCommit: <the issue number you created in the previous step>

Register the extension documentation in the quarkiverse-docs

In order to have your extension documentation listed in the Quarkiverse Documentation website, open a PR including it in the antora-playbook.yml

Make your extension available in the tooling

Most Quarkus extensions are listed in the Quarkus community extension registry. Once extensions are included in the registry, they will automatically be available on code.quarkus.io, extensions.quarkus.io, and in the Quarkus command line tools (such as mvn quarkus:list-extensions, gradle listExtensions).

The community registry reads its contents from quarkus-extension-catalog repository. To add your extension to catalog, create a YAML file with your extension's group-id and artifact-id in the extensions directory of the quarkus-extension-catalog repository.

Allow your company to be named as a sponsor or contributor (optional)

If you would like your company to be listed as a contributor or sponsor of the extension, register an opt in in the opt-in file in the quarkus-extension-catalog repository.

When your extension is ready

Release your extension

When all tests pass, and you're pretty confident that your extension is ready, it's time to release your extension to Maven central