beaconctl
Command-line interface for controlling the beacond signal daemon.
beaconctl is a command-line interface for the beacond signal daemon. It provides access to all daemon operations from the terminal or shell scripts.
Functionality
The tool supports these operations:
- Activate and deactivate signals
- Query signal information and current state
- List all available signals
- Monitor signal events in real-time
- Connect to session bus, system bus, or custom DBus addresses
Usage Examples
# Activate a signal
obscurity-beaconctl activate warning
# Check signal status
obscurity-beaconctl get-info warning
# List all available signals
obscurity-beaconctl list
# Monitor events in real-time
obscurity-beaconctl monitor
# Connect to system bus
obscurity-beaconctl --bus system list
# Use a custom DBus address
obscurity-beaconctl --bus-address unix:path=/tmp/dbus.sock activate emergencyScripting
The tool can be used in shell scripts and automation. Exit codes follow Unix conventions for error handling:
#!/bin/bash
# Example deployment script
obscurity-beaconctl --bus system activate deployment
# Perform deployment tasks
deploy_application.sh
obscurity-beaconctl --bus system deactivate deployment
obscurity-beaconctl --bus system activate readyImplementation
- Self-contained binary with no runtime dependencies
- Built with Rust using the beaconc client library
- Minimal resource usage suitable for embedded systems
- Uses clap for argument parsing
Current Status
✅ Feature-complete - All signal operations are implemented. The tool supports interactive use and script automation.
Use Cases
The tool is useful for:
- Development and debugging of beacond integrations
- System startup scripts to set initial signal states
- Manual signal control via SSH or terminal
- Deployment automation and CI/CD pipelines
- Integration testing of signal coordination
Links
- Repository: codeberg.org/obscurity-de/obscurity-beaconctl
- Documentation: Usage guide and examples in the repository
- Related: beacond daemon, beaconc library
- License: EUPL-1.2
Tech Stack
- Rust with clap for argument parsing
- tokio for async runtime
- Built on obscurity-beaconc client library
- Target: Embedded Linux environments