gecod Project Landing Page is Live!
Fresh off the heels of the beacond release, we're happy to announce that gecod now has its own landing page! 🎉
While beacond handles the chaos of competing hardware signals, gecod tackles a different but equally important problem: coordinating time-critical workflows across multiple services on embedded Linux systems.
What's gecod?
gecod (Generic Event Coordination and Orchestration) is a Tokio-based D-Bus daemon that helps distributed services synchronize their actions safely and predictably.
Imagine you need to orchestrate a factory reset on an industrial embedded device. Before pulling the plug, you need telemetry services to flush logs, fieldbus controllers to park actuators, and storage managers to unmount volumes—all within strict time windows. gecod coordinates this entire flow with precise timing guarantees.
Built for Embedded
Like beacond, gecod is designed with embedded systems in mind:
- Fixed-capacity storage for predictable memory usage
- Bounded resource consumption (no unbounded queues)
- Configurable via TOML, environment variables, or CLI flags
- Clean D-Bus API via zbus
The state machine is elegantly simple: events flow through registration windows (where services sign up), waiting windows (where they complete their work), and finally either complete successfully or expire gracefully.
Current Status
The core event coordination engine is complete with full D-Bus API implementation. We're currently adding integration tests and hardening the daemon for production deployment on embedded systems.
Check It Out
Visit the gecod project page to learn more about how it works and the problems it solves. As always, the source code and complete documentation are available in the repository.
Stay tuned for more updates as we move toward production readiness! 🚀