1
0
Fork 0
mirror of https://github.com/postmannen/ctrl.git synced 2024-12-14 12:37:31 +00:00
ctrl is a Command & Control (C2) backend system for Servers, IOT and Edge platforms. Simply put, control anything.
Find a file
2021-01-29 14:23:46 +01:00
go.mod restructuring 2021-01-27 09:45:52 +01:00
go.sum restructuring 2021-01-27 09:45:52 +01:00
LICENSE Initial commit 2021-01-25 15:18:11 +01:00
main.go moved all into main package 2021-01-29 14:23:46 +01:00
README.md added type naming standard for subject and moved subscriber into the same package 2021-01-29 14:22:36 +01:00
subscriber.go moved all into main package 2021-01-29 14:23:46 +01:00

steward

Async management of Edge units.

Concepts/Ideas

Terminology

  • Node: An installation of an operating system with an ip address
  • Process: One message handler running in it's own thread with 1 subject for sending and 1 for reply.
  • Message:
    • Command: Something to be executed on the message received. An example can be a shell command.
    • Event: Something that have happened. An example can be transfer of syslog data from a host.

Naming

Subject

Subject naming are case sensitive, and can not contain the space are the tab character.

<nodename>.<command/event>.<method>

Nodename: Are the hostname of the device. This do not have to be resolvable via DNS, it is just a unique name for the host to receive the message.

Command/Event: Are type of message sent. command or event. Description of the differences are mentioned earlier.

Method: Are the functionality the message provide. Example could be shellcommand or syslogforwarding

Complete subject example

For syslog of type event to a host named "ship1"

ship1.event.syslogforwarding

and for a shell command of type command to a host named "ship2"

ship2.command.shellcommand