This is an Agent Provider for the Choria Server that provides compatability with The Marionette Collective (mcollective) Simple RPC system.
Agent Features:
Agent DDLs represented in memory and loaded from JSON files
Agents, Actions and Agent Metadata that maps to the same terminology and behavior as MCollective
Auditing that is compatible with the Ruby based Choria auditing plugin
A framework for writing new Agents in Go that can be compiled into the Choria Server (see the docs for more information on this.)
Agents written in Go and compiled into the Choria Server:
choria_util - Utilities used to interrogate version information about the server
rpcutil - General RPC utilities like extracting facts and statistics, compatible with MCollective as far as possible
discovery - Agent used to assist broadcast based discovery
A wrapper around the historical Ruby MCollective agent system that can run a MCollective agent in a sandbox without requiring the deprecated mcollectived daemon
A fully compatible Go implementation of the action policy framework. In a future Choria release, this will become the default action policy implementation.
Client Features:
A fully featured Go client to the MCollective RPC system that is compatible with Ruby and Go nodes
Broadcast discovery
RPC Requests with the usual features like batches, direct, broadcast and more
TODO
Authorization system that matches the action policy feature
Support limiting compiled in agents using the new Authorization feature above
Ability to execute ruby data plugins during discovery to enable compound filters
Package mcorpc provides a compatibility layer between Choria and legacy MCollective SimpleRPC Agents Agents can be written in the Go language, compiled into the binaries and be interacted with from the ruby MCollective client.
Package mcorpc provides a compatibility layer between Choria and legacy MCollective SimpleRPC Agents Agents can be written in the Go language, compiled into the binaries and be interacted with from the ruby MCollective client.
Package audit is a auditing system that's compatible with the one found in the mcollective-choria Ruby project, log lines will be identical and can be put in the same file as the ruby one
Package audit is a auditing system that's compatible with the one found in the mcollective-choria Ruby project, log lines will be identical and can be put in the same file as the ruby one