Skip to content

Frontend Wire Protocol

Nchinda Nchinda edited this page Sep 5, 2015 · 5 revisions

While Flare uses go as a system controller for Nodes, golang is not the most extensively developed language for making web apps and frontends. The graphical interface for nodes is a meteor server which connects over websockets to the controller. Below is their communication protocol.

####Configuration File Sending config Controller -> Frontend

the controller watches the config file set in the FLARECONF environment variable for changes and pushes those changes to the frontend.

flag: "setConfig", text: string

  • flag must be the string config
  • text json representing the config file

Setting Config

flag: "cassandraNodeInfo", text: string

  • flag must be the string setConfig
  • text is a json string of the new configuration file

Get Config deprecated

Updates to the config file are now sent automatically

flag: "getConfig"

  • flag must be the string getConfig

Cassandra Info

flag: "cassandraNodeInfo", text: string

  • flag must be the string cassandraNodeInfo
  • text is the ouput from running cassandra nodetool info

Cassandra Ring

flag: "cassandraNodeRing", text: string

  • flag must be the string cassandraNodeRing
  • text is the ouput from running cassandra nodetool ring

###Log Operations

Requesting Logs flag: "getLog", type: string

  • type: is the type of log. must be one of tracing, session, spark, sparkUI

Returning Logs flag: "log", type: string, success: bool

  • flag: must be the string "log"
  • type: is the type of log. must be one of tracing, session, spark, sparkUI

Upload JAR implementation pending flag: "sparkSubmit", id: string,

name: string

  • flag must be the string sparkSubmit
  • id an identifier for this submission which will be sent back with any status updates
  • name the full path+name of the file to upload on the system