Personal tools

rPath Appliance Platform Agent:Plugin Development

From rPath Wiki

Jump to: navigation, search
rPath Appliance Platform --> Agent --> Plugins --> Plugin Development

Appliance developers can create custom rPath Appliance Platform Agent plugins to perform additional administrative tasks beyond those in the standard plugins. For example, an intrusion detection appliance may require a custom plugin to process detection rules, or a web server appliance may need a plugin to add virtual host entries to its configuration.

The following pages provide reference and instruction for plugin development. The list is ordered to provide structure for first-time developers:

  1. Reference: Plugin Structure
  2. Establish a plugin development environment.
  3. Add one or more example plugins for reference.
  4. Lay out the plugin appearance in the web interface.
    1. Reference the kid templates used for content layout and presentation.
  5. Step through the plugin development process. (in development)
    1. API for Plugin Development
    2. Create and schedule plugin tasks.
    3. Reuse code from rAPA and functions from other plugins.
    4. Use Python decorators in the plugin code to expose methods by XML-RPC, JSON, and other means.
    5. Ensure the plugin can be used by XML-RPC clients
    6. Create plugin database tables.
    7. Add static files used by the plugin.
    8. Designate user roles and corresponding functions for a plugin.
    9. Troubleshoot errors when developing and using plugins
  6. Package the custom plugin.
  7. Configure plugins and override appliance agent defaults.
  8. Configure plugins to be part of the Configuration Wizard.
Image:Bulbgraph.png   rPath Appliance Platform Agent was previously branded as rPath Appliance Agent, abbreviated "rAA". Many files, directories, classes, and methods will have the "raa" string adapted from the agent name that drives the Appliance Platform.