Skip to content

Plugins

hellgate75 edited this page Mar 9, 2020 · 11 revisions

Go! Deploy logo

Go! Deploy

Plugins Development Section

Plugins Development

Following available plugin categories:

  • Client Module Plugins - Implements Custom Client Components for deploying step's sctions on the target server (or unit)
  • Deploy Command Module Plugins - Implements Custom Commands used in feeds and/or feed fragments
  • Client Commands Module Plugins - Implements features for required provided or custom Client Commands plugins injection, used and managed by any of the Client components.

Plugins

In linux system it's possible to write new features using the current client ones or developing new features. It refers to a Go-Language Build-In technology. Please read following documntation: Go Language Plugin Package

Client Module Plugins

In order to develop a client module plugin please follow provided instructions:

Plugin(s) have own interfaces, available in plug-in operations, as follow:

For client(s) plugins (definition of custom clients), you can :

An example of this kind of plugin is available in following repositories:

Buil-in clients:

  • SSH Protocol
  • Go! TLS/TCP Client Protocol

Deploy Command Module Plugins

In order to develop a deploy command module plugin please follow provided instructions:

Plugin(s) have own interfaces, available in plug-in operations, as follow:

  • Develop Proxy Function interface GetModulesMap
  • Develop a Discovery Function and allocating a map of string (unique plugin name) and ProxyStub that contains the discovery function, providing the command Converter component. Converter interface is used to parse the code from the Feed file and provifing a runnable element implementing StepRunnable interface, filled with parsed data.

An example of this kind of plugin is available in following repositories:

Client Command Module Plugins

Please refer to instructions for available clients:

Enable plugins injection

You can configure plugin(s) availability, file extension and base folder via command line start-up command or configuration file for any of the available plugin engines/proxies.

Navigate the site

Come back to the Home Page