Skip to content
This repository has been archived by the owner on Feb 7, 2020. It is now read-only.

Latest commit

 

History

History
32 lines (23 loc) · 2.2 KB

README.md

File metadata and controls

32 lines (23 loc) · 2.2 KB

Choria mcorpc Agent Provider

This repository is now archived, code is now part of github.com/choria-io/go-choria

Go Report Card GoDoc

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