Eclipse BlueChi™

Eclipse BlueChi™ is a deterministic multi-node service controller with a focus on highly regulated ecosystems. It is written in C and integrates seamless with systemd via its D-Bus API relaying D-Bus messages over TCP for multi-node support. BlueChi is built around three components:

  • The bluechi-controller service, which is the primary controller that runs on the primary node
  • The bluechi-agent services, which run on each managed node and are the agents that talk locally to systemd to instruct systemd to act on services
  • The bluechictl command line, which is used by administrators to test, debug and manually manage services across nodes

Eclipse BlueChi™ is meant to be used in conjunction with a state manager (a program or person) that knows the desired state of the systems. This design choice has a few consequences: 

  • Eclipse BlueChi does not know the desired final state of the systems; it only knows how to transition between states, such as how to start, stop or restart a service on one or more nodes 
  • Eclipse BlueChi monitors and reports changes in the services that are running and alerts the state manager when a service stops or when the connection to a node is lost, but BlueChi itself does not act on these notifications
  • Eclipse BlueChi does not handle the initial setup of the system; the system boots into a desired state and BlueChi handles the transitions from this state

The state manager program integrates with bluechi-controller over D-Bus. The state manager tells BlueChi to perform actions or to receive the outcome of actions. Eclipse BlueChi monitors services and nodes via D-Bus and reports state changes back to the state manager. Administrators can use the bluechictl interface to avoid interacting directly with bluechi-controller via D-Bus.

Industry Collaborations
Latest Releases

From 2024-04-29 to 2023-11-13

Name Date Review
0.8.0 2024-04-29
0.7.0 2024-01-19
0.6.0 2023-11-13
GNU Lesser General Public License v2.1 or later

The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.

Active Member Companies

Member companies supporting this project over the last three months.

    Contribution Activity
    Commits on this project (last 12 months)