This repository is now archived, code is now part of github.com/choria-io/go-choria
This is an Agent Provider for the Choria Server that provides compatability with The Marionette Collective (mcollective) Simple RPC system.
- 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 serverrpcutil
- General RPC utilities like extracting facts and statistics, compatible with MCollective as far as possiblediscovery
- 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.
- 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
- 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