The Agent plugin is part of the agent architecture which supports the usage of Pineapple in a distributed setting. The agent architecture achieves the goal through the usage of the Pineapple binary in two different roles: master and agent. In the role as master, a Pineapple instance is used to start and orchestrate the execution of operations on any number of agents. In the role as agent, a Pineapple instance executes operations on behalf of the master and reports back the results.
The two main components in the agent architecture are the agent plugin and the REST API in the web application which combined enables the communication between the master and agents. The agent plugin implements the master side of the agent architecture, where the plugin implements the functionality to start remote operations, communicate with agents and collect the results through the REST services at remote Pineapple agents.
The plugin supports these commands:
Go to the Plugin Usage page for instructions on using the plugin.
The plugin supports all operations.
The operation used to invoke the plugin is ignored. The operation is ignored since it isn't relevant in the context of invoking services. The only exception is remote invocation of an operation. In the case of remote invocation of operations, the current implementation of the plugin ignores the operation used to invoke the plugin. The operation used for remote invocation of a operation is defined explicit in the agent model.
The plugin defines a schema named Agent plugin schema for definition of models in module model files. The schema defines the namespace http://pineapple.dev.java.net/ns/plugin/agent_1_0. For more information about where the schema can be found, refer to the Schema locations for plugins page.
To provide you with better understanding on some usages of the plugin, you can take a look into the following examples:
Technical documentation for developers about the architecture, design and implementation of the project can be found here.