Development

Codebase

Development is done in the default GitHub branch (develop). Commits are automatically compiled, tested, and merged to the master branch.

Releases will be tagged from the master branch and submitted to the Grafana plugin repository.

Set up Helm and Grafana for development

  1. Download and install Node.js and Grafana for your platform.

  2. Configure Grafana to allow unsigned plugin development by editing grafana.ini:

    app_mode = development
    # further down in the file:
    [plugins]
    allow_loading_unsigned_plugins = opennms-helm-app
  3. Check out the Helm Git repository:

    git clone https://github.com/OpenNMS/opennms-helm.git
    cd opennms-helm
  4. Build Helm and symlink the dist directory in your Helm source tree into the Grafana plugin path:

    # install Helm's build and runtime dependencies
    npm ci
    # do a one-time build to prime the dist/ directory
    npm run dev
    # symlink the dist/ directory into Grafana's plugin dir
    ln -s /path/to/opennms-helm/dist /var/lib/grafana/plugins/opennms-helm-app
    # run a continuous build that watches for changes
    # after you save a change to Helm, just refresh Grafana to get the updates
    npm run watch