This project is the control plane for the gfire system. It centralizes and manages various aspects of system operations, configurations, and state management through a distributed finite state machine architecture.
The control plane (pkg.gfire.dev/controlplane
) is responsible for:
- Distributed state management using a finite state machine (FSM) architecture
- Consensus-based coordination across multiple nodes
- System monitoring and automated adjustments
- Managing internal services and communications
The FSM package provides a robust state management system supporting:
- State transitions with update types for different system aspects (network, config, metrics, etc.)
- State snapshots and restoration capabilities
- Temporal context tracking for state transitions
The consensus package implements distributed coordination featuring:
- Fault-tolerant consensus protocol for distributed decision making
- State replication across multiple nodes
- Leader election mechanisms
- Failure detection and handling
- Go 1.24.1 or later
pkg.gfire.dev/controlplane/
├── internal/
│ ├── consensus/ # Distributed consensus implementation
│ └── fsm/ # Finite state machine core
Contributions are welcome. Please follow the standard practices:
- Fork the repository
- Submit pull requests with clear changes and tests if applicable
- Ensure compatibility with Go 1.24.1
Refer to the LICENSE file for licensing details.
For questions, please contact the project maintainers.