Using the New Relic Platform Installer (NPI) utility

The New Relic Platform Installer (NPI) is a command line utility for New Relic Plugins that allows users to easily download, configure, and manage a plugin by installing it with a single command. If you are a plugin developer, you can follow these steps to meet the NPI requirements for a consistent installation experience, and publish your plugin in Plugin Central as NPI Compatible. To discuss and troubleshoot the NPI, visit the New Relic Online Technical Community.

The NPI is available for plugins written in Java or .NET.

NPI compatibility requirements

In order to make your plugin NPI-compatible, make sure it meets each of these requirements:

NPI compatibility Requirements
Writing your plugin
Packaging Use the tar.gz or zip compression protocol to package your plugin.
Executable Name the executable file plugin.jar (for Java) or plugin.exe (for .NET), and store it in the root of your plugin folder.
Code Do not use any relative references in your code.
Configuration files Create a ./config directory containing a plugin.template.json file and a newrelic.template.json file. Make sure that plugin configuration is read from the plugin.json file in the ./config directory. For more information, see the Configuration Options section in the README file for the Java SDK or .NET SDK.

Distribution

Once your plugin is NPI-compatible from a code perspective, place it somewhere that is accessible for consumers to download. For example, add the compressed distributable to a dist folder in your GitHub repository.

When your plugin is ready for distribution, follow standard procedures to publish it in Plugin Central for the New Relic Plugins product. Be sure to select the Platform Installer (NPI) distribution option.

screen-plugin-npi-example
To view plugins in Plugin Central: From the New Relic Plugins menu bar, select Plugins. Here is an example of a plugin that is NPI Compatible.

NPI command line utility

When users select an NPI Compatible plugin from Plugin Central, they also have the option to download the NPI tool. The tool allows users to easily download, configure, and manage a plugin. For more information, see Installing an NPI-compatible plugin.

screen-npi-command-line-example.png
NPI Platform Installer: From the directory where the NPI tool was installed, users can issue a series of commands to manage their plugins or pass the --help flag for more information about available options.

Updating NPI plugins

After you create and publish an NPI-compatible plugin, follow standard procedures to update it as needed. Then, when you publish the updated plugin, the NPI tool automatically will pick up your most current version for users who have installed your NPI-compatible plugin.

Privately-published plugins

In general, the NPI tool will try to pull download (manifest) information from the New Relic Plugins service. You can also provide a file named manifest.json in the config directory of your NPI installation to provide this information. Use this file format:

[
  {
    "guid": "arbitrary_identifier",
    "download_url": "https://plugin.download.url.com",
    "publisher": "New Relic Inc.",
    "version": "1.0.1",
    "installer_compatible": true,
    "implementation": "Java"
  }, 
  {
    "guid": "arbitrary_identifier2",
    "download_url": "https://plugin2.download.url.com",
    "publisher": "New Relic Inc.",
    "version": "2.0.0",
    "installer_compatible": true,
    "implementation": ".NET"
  }
]

After you set this up, you can run all the same commands with your private plugin's GUID.

Note: To install or fetch a plugin, you must pass the --untrusted flag to allow downloading plugins from a local file.

For more help

Additional documentation resources include:

  • Documenting your plugin (requirements and style guidelines for publicly accessible plugins in Plugin Central)
  • Supporting your plugin (how Plugin Central publishers provide support to their users, and how New Relic Pprovides support to plugin publishers)
  • Viewing your plugin's usage (summary information for the plugin's publisher about usage, including accounts, components/instances, links, ratings, and reviews)
  • Installing an NPI-compatible plugin (general instructions for installing the NPI tool and using the command line to install a plugin identified as NPI Compatible in Plugin Central)

Recommendations for learning more: