Contribute Code

You can contribute code to the HELM project via GitHub. This section describes the codebase and how to prepare your development environment.

Codebase

HELM development is done in the project’s default GitHub branch (develop). Commits are automatically compiled, tested, and merged to the master branch. Releases are tagged from the master branch and submitted to the Grafana plugin repository.

Prepare development environment

Follow these steps to prepare your development environment:

  1. Download and install Node.js and Grafana.

  2. Edit grafana.ini and configure it to allow unsigned plugin development:

    app_mode = development
    ...
    [plugins]
    allow_loading_unsigned_plugins = opennms-helm-app
  3. Use Git to check out the repository:

    git clone https://github.com/OpenNMS/opennms-helm.git
  4. Navigate to your HELM directory:

    cd opennnms-helm
  5. Install the build and runtime dependencies:

    npm ci
  6. Build HELM to prime your dist directory:

    npm run dev
  7. Symlink your dist directory to Grafana’s plugin path:

    ln -s /path/to/opennms-helm/dist /var/lib/grafana/plugins/opennms-helm-app
  8. Run a continuous build that watches for changes:

    npm run watch

    After you save a change to HELM, refresh Grafana to load the updates.