Commit graph

10 commits

Author SHA1 Message Date
Joe Particle
b31b64d600 fix: Resolve D-Bus property serialization issues
Some checks failed
Compile apt-layer (v2) / compile (push) Has been cancelled
- Fix Deployments property to always return JSON string
- Resolve TypeError and ValueError in D-Bus property serialization
- Add JSON serialization for complex data structures
- Implement fallback values for empty collections
- Update TODO and changelogs to reflect completion
- Ensure full compliance with D-BUS.md and daemon-notes.md
2025-07-16 06:27:39 +00:00
Joe Particle
130b406ee2 Fix async bug in D-Bus interface and update documentation
- Fixed critical 'asyncio.run() cannot be called from a running event loop' error
- Converted all D-Bus methods to async def with proper await usage
- Fixed dbus-next integration for full async functionality
- Daemon now properly handles concurrent async operations
- Updated TODO.md and CHANGELOG.md to reflect async bug fix
- Added interface_simple.py with dbus-next implementation
- Updated D-Bus policy for development use
- Added test script for D-Bus properties verification
2025-07-16 06:05:30 +00:00
Joe Particle
9b1411a1dd feat: Implement apt-layer.sh integration in D-Bus methods
- Created ShellIntegration utility for apt-layer.sh command execution
- Implemented async command execution with ThreadPoolExecutor
- Added comprehensive output parsing for install, remove, composefs operations
- Integrated automatic script path discovery with fallback locations
- Added timeout management and error handling for all shell operations
- Extended D-Bus interface with Deploy, Upgrade, Rollback, CreateComposeFSLayer methods
- All methods include proper authorization, transaction management, and error handling
- Updated InstallPackages and RemovePackages to use actual apt-layer.sh commands
- Added proper async/await pattern for non-blocking shell operations

This completes the apt-layer.sh integration phase, enabling the daemon to
orchestrate actual apt-layer.sh commands while providing structured D-Bus
responses with detailed feedback and error handling.
2025-07-16 05:09:22 +00:00
Joe Particle
8faf8fdb38 feat: Complete systemd service integration for apt-ostree daemon
- Created apt-ostreed.service with security hardening and OSTree integration
- Added D-Bus activation service file for auto-startup
- Enhanced install.sh with complete service file management
- Implemented proper directory structure and permissions
- Added comprehensive CHANGELOG.md for apt-ostree.py project
- Updated TODO.md to reflect completed systemd integration work
- Merged install-service.sh functionality into main install.sh
- Added production-ready security features and D-Bus policy

This completes the systemd service integration phase, making the daemon
ready for production deployment with proper service management.
2025-07-16 05:02:53 +00:00
Joe Particle
4209582a13 feat: Implement package management D-Bus methods with client registration
Some checks failed
Compile apt-layer (v2) / compile (push) Has been cancelled
- Add InstallPackages and RemovePackages methods to Sysroot interface
- Implement automatic client registration for D-Bus method calls
- Add client authorization with root/sudo group validation
- Confirm transaction management system working with UUID tracking
- Test all methods successfully with proper D-Bus type handling
- Update CHANGELOG.md with package management milestone
- Update TODO.md to reflect completed daemon integration

The apt-ostree daemon now has a complete package management interface
with working D-Bus methods, client management, and transaction tracking.
Ready for integration with apt-layer.sh for actual package operations.
2025-07-16 04:57:24 +00:00
Joe Particle
9d0fd2ca67 feat: Fix D-Bus type compatibility and establish successful daemon communication
Some checks failed
Compile apt-layer (v2) / compile (push) Has been cancelled
- Fix D-Bus type errors by flattening status dictionary
- Remove nested 'config' dictionary that caused TypeError
- Convert all values to D-Bus-compatible types (string, int, bool, double)
- Confirm production security policy working (root-only access)
- Successfully test GetStatus method with valid response
- Update D-Bus policy to allow root access to specific interfaces
- Update CHANGELOG.md with D-Bus communication milestone
- Update TODO.md to reflect completed daemon integration

The apt-ostree daemon now has working D-Bus communication with proper
type handling and production-ready security policies. Ready for full
integration with apt-layer.sh client.
2025-07-16 04:53:23 +00:00
Joe Particle
883fa1e70f feat: Implement production D-Bus security policy with root-only access
Some checks failed
Compile apt-layer (v2) / compile (push) Has been cancelled
- Update D-Bus policy for production use (root-only access)
- Document production vs development policy rationale
- Enhance D-BUS.md with security considerations
- Update CHANGELOG.md with production security hardening
- Update TODO.md to reflect completed security improvements

This change implements a production-ready security model where only root
users can access the apt-ostree daemon, which is appropriate since all
operations (package installation, OSTree commits, ComposeFS management)
inherently require root privileges. This eliminates the need for complex
PolicyKit authorization rules and provides clear security boundaries.
2025-07-16 04:28:28 +00:00
Joe Particle
3d11430795 docs: add D-Bus policy requirements, automate policy install, improve install.sh robustness 2025-07-16 03:49:35 +00:00
Joe Particle
10884eacb6 docs: update CHANGELOG and TODO for VM daemon integration and entry point diagnosis 2025-07-16 03:33:02 +00:00
74c7bede5f Initial commit: Particle-OS tools repository
- Complete Particle-OS rebranding from uBlue-OS
- Professional installation system with standardized paths
- Self-initialization system with --init and --reset commands
- Enhanced error messages and dependency checking
- Comprehensive testing infrastructure
- All source scriptlets updated with runtime improvements
- Clean codebase with redundant files moved to archive
- Complete documentation suite
2025-07-11 21:14:33 -07:00