Skip to content

A distributed application for remote startup of applications in a cluster setting

License

Notifications You must be signed in to change notification settings

c-toolbox/C-Troll

Repository files navigation

C-Troll

Build Status GitHub Issues Average time to resolve an issue GitHub Releases GitHub Downloads

C-Troll is a suite of Windows-only applications that make it possible to controls applications in a distributed computing environment, for example a planetarium dome. It provides the ability for a central Control computer to control a number of Nodes and start configurable programs on these clusters.

The suite consists of four applications. The Tray, C-Troll, the Editor, and the Starter.

Applications

Tray

Tray

The Tray application is running on each Node on which you would want to be able to start applications. The Tray is opening a port and receives commands from the C-Troll application via JSON-formatted messages.

C-Troll

C-Troll

The C-Troll application is running on a central Control computer and controls an arbitrary number of Tray applications. From this user interface, the user selects the applications and configurations that they want to start or stop on the Nodes. C-Troll acts as a central hub to communicate with the clusters that it connects to and can also optionally receive REST messages through an open port that report back information about the status of the cluster, start programs, stop programs, etc.

Editor

Editor

The Editor application allows the quick editing and creation of JSON configuration files for the C-Troll application. These configuration files define which Nodes are available, which Nodes are combined to form Clusters, and which Programs can be executed on which Cluster.

Starter

The Starter application is a simple commandline tool that will send a REST message to a C-Troll instance to start a specific program. The program and its configuration are provided using commandline arguments. This application is specifically useful to generate easy-to-use desktop shortcuts that cause an application startup on the cluster

Getting started

The example folder contains a full working example including nodes, clusters, and programs. If you want to create your own setup, the recommended way is to start with configuration the nodes, then grouping them into clusters, and then define programs to execute on the clusters. The Wiki contains additional information about allowed parameters for the various configuration and JSON files. The Editor application contains all tools necessary to create these configurations without manually editing the JSON configuration files.

  1. On the client computers that should be able to start programs
  2. Install the Tray application
  3. (optional) Configure the operating system to start the Tray automatically at startup
  4. On the master computer that is controlling the cluster
  5. Using the Editor create "Node" configuration files for each of the clients that have the Tray installed
  6. Using the Editor create a "Cluster" configuration file
  7. Using the Editor create as many "Program" configuration files as needed

About

A distributed application for remote startup of applications in a cluster setting

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages