- ✅ Real package installation (replaced mock installation) - ✅ Real OSTree commit creation from installed packages - ✅ OCI image creation from both commits and rootfs - ✅ Full bootc compatibility with proper labels - ✅ Comprehensive test suite (test-bootc-apt-ostree.sh) - ✅ Container tool validation (skopeo, podman) - ✅ Updated compatibility reports for Ubuntu Questing - ✅ Fixed OCI schema version and field naming issues - ✅ Temporary directory lifecycle fixes - ✅ Serde rename attributes for OCI JSON compliance Ready for Aurora-style workflow deployment!
264 lines
No EOL
9.7 KiB
Markdown
264 lines
No EOL
9.7 KiB
Markdown
# rpm-ostree Out of Scope Features
|
|
|
|
## Overview
|
|
|
|
This document outlines features and functionality that are considered out of scope for rpm-ostree. These features are either not aligned with rpm-ostree's core philosophy, would add unnecessary complexity, or are better handled by other tools.
|
|
|
|
## Core Philosophy Constraints
|
|
|
|
### "From Scratch" Philosophy
|
|
|
|
rpm-ostree follows a strict "from scratch" philosophy where every change regenerates the target filesystem completely. This constrains certain features:
|
|
|
|
**Out of Scope:**
|
|
- **Incremental package updates**: Cannot modify existing packages in-place
|
|
- **Live package modifications**: Cannot change packages while system is running
|
|
- **Partial rollbacks**: Cannot rollback individual packages, only entire deployments
|
|
- **Package version pinning**: Cannot pin specific package versions within a deployment
|
|
|
|
**Rationale:** These features would violate the immutable, atomic nature of rpm-ostree deployments.
|
|
|
|
### Atomic Operations
|
|
|
|
rpm-ostree requires all operations to be atomic with proper rollback support:
|
|
|
|
**Out of Scope:**
|
|
- **Non-atomic package operations**: Cannot install packages without creating new deployment
|
|
- **Partial transaction support**: Cannot commit partial changes
|
|
- **Live system modifications**: Cannot modify running system directly
|
|
- **Package dependency resolution conflicts**: Cannot resolve conflicts by modifying existing packages
|
|
|
|
**Rationale:** These would break the atomicity guarantees that make rpm-ostree reliable.
|
|
|
|
## Package Management Limitations
|
|
|
|
### Traditional Package Manager Features
|
|
|
|
rpm-ostree intentionally omits certain traditional package manager features:
|
|
|
|
**Out of Scope:**
|
|
- **Package version management**: Cannot downgrade individual packages
|
|
- **Package configuration management**: Cannot modify package configurations in-place
|
|
- **Package script customization**: Cannot customize package installation scripts
|
|
- **Package repository management**: Cannot add/remove repositories dynamically
|
|
- **Package signing verification**: Cannot verify individual package signatures
|
|
|
|
**Rationale:** These features are better handled by traditional package managers or would add unnecessary complexity.
|
|
|
|
### Advanced Package Features
|
|
|
|
Certain advanced package management features are not supported:
|
|
|
|
**Out of Scope:**
|
|
- **Package groups**: Cannot install/remove package groups
|
|
- **Package collections**: Cannot manage package collections
|
|
- **Package patterns**: Cannot use package patterns for installation
|
|
- **Package recommendations**: Cannot handle package recommendations
|
|
- **Package suggestions**: Cannot handle package suggestions
|
|
|
|
**Rationale:** These features add complexity without providing significant value in the rpm-ostree model.
|
|
|
|
## System Management Limitations
|
|
|
|
### Traditional System Administration
|
|
|
|
rpm-ostree intentionally limits traditional system administration capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **User management**: Cannot create/modify users directly
|
|
- **Group management**: Cannot create/modify groups directly
|
|
- **Service management**: Cannot enable/disable services directly
|
|
- **Configuration management**: Cannot modify system configurations in-place
|
|
- **Network configuration**: Cannot configure networking directly
|
|
|
|
**Rationale:** These are better handled by systemd, user management tools, or configuration management systems.
|
|
|
|
### Live System Modifications
|
|
|
|
rpm-ostree does not support live system modifications:
|
|
|
|
**Out of Scope:**
|
|
- **Live kernel updates**: Cannot update kernel without reboot
|
|
- **Live library updates**: Cannot update libraries while applications are running
|
|
- **Live service updates**: Cannot update services without restart
|
|
- **Live configuration changes**: Cannot change configurations without deployment
|
|
|
|
**Rationale:** These would violate the immutable filesystem model and atomicity guarantees.
|
|
|
|
## Development and Testing Limitations
|
|
|
|
### Development Workflow Features
|
|
|
|
Certain development workflow features are not supported:
|
|
|
|
**Out of Scope:**
|
|
- **Development package installation**: Cannot install development packages directly
|
|
- **Debug package installation**: Cannot install debug packages directly
|
|
- **Source package management**: Cannot manage source packages
|
|
- **Package building**: Cannot build packages from source
|
|
- **Package patching**: Cannot apply patches to packages
|
|
|
|
**Rationale:** These features are better handled by development tools, build systems, or traditional package managers.
|
|
|
|
### Testing and Validation
|
|
|
|
Certain testing features are not supported:
|
|
|
|
**Out of Scope:**
|
|
- **Package testing**: Cannot test individual packages
|
|
- **Integration testing**: Cannot test package integrations
|
|
- **Performance testing**: Cannot benchmark package performance
|
|
- **Security testing**: Cannot audit package security
|
|
- **Compatibility testing**: Cannot test package compatibility
|
|
|
|
**Rationale:** These are better handled by dedicated testing frameworks and tools.
|
|
|
|
## Container and Virtualization Limitations
|
|
|
|
### Container Integration
|
|
|
|
rpm-ostree has limited container integration capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **Container runtime management**: Cannot manage container runtimes
|
|
- **Container orchestration**: Cannot orchestrate containers
|
|
- **Container networking**: Cannot configure container networking
|
|
- **Container storage**: Cannot manage container storage
|
|
- **Container security**: Cannot manage container security policies
|
|
|
|
**Rationale:** These are better handled by dedicated container management tools.
|
|
|
|
### Virtualization Support
|
|
|
|
rpm-ostree has limited virtualization support:
|
|
|
|
**Out of Scope:**
|
|
- **Virtual machine management**: Cannot manage virtual machines
|
|
- **Virtual machine templates**: Cannot create VM templates
|
|
- **Virtual machine snapshots**: Cannot manage VM snapshots
|
|
- **Virtual machine networking**: Cannot configure VM networking
|
|
- **Virtual machine storage**: Cannot manage VM storage
|
|
|
|
**Rationale:** These are better handled by dedicated virtualization management tools.
|
|
|
|
## Network and Security Limitations
|
|
|
|
### Network Management
|
|
|
|
rpm-ostree has limited network management capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **Network configuration**: Cannot configure networking
|
|
- **Network services**: Cannot manage network services
|
|
- **Network security**: Cannot configure network security
|
|
- **Network monitoring**: Cannot monitor network traffic
|
|
- **Network troubleshooting**: Cannot troubleshoot network issues
|
|
|
|
**Rationale:** These are better handled by dedicated network management tools.
|
|
|
|
### Security Management
|
|
|
|
rpm-ostree has limited security management capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **Access control**: Cannot manage access control policies
|
|
- **Authentication**: Cannot manage authentication systems
|
|
- **Authorization**: Cannot manage authorization policies
|
|
- **Audit logging**: Cannot manage audit logs
|
|
- **Security scanning**: Cannot scan for security vulnerabilities
|
|
|
|
**Rationale:** These are better handled by dedicated security management tools.
|
|
|
|
## Monitoring and Logging Limitations
|
|
|
|
### System Monitoring
|
|
|
|
rpm-ostree has limited system monitoring capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **Performance monitoring**: Cannot monitor system performance
|
|
- **Resource monitoring**: Cannot monitor system resources
|
|
- **Application monitoring**: Cannot monitor applications
|
|
- **Service monitoring**: Cannot monitor services
|
|
- **Health checking**: Cannot perform health checks
|
|
|
|
**Rationale:** These are better handled by dedicated monitoring tools.
|
|
|
|
### Logging Management
|
|
|
|
rpm-ostree has limited logging management capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **Log collection**: Cannot collect logs
|
|
- **Log analysis**: Cannot analyze logs
|
|
- **Log rotation**: Cannot rotate logs
|
|
- **Log archiving**: Cannot archive logs
|
|
- **Log searching**: Cannot search logs
|
|
|
|
**Rationale:** These are better handled by dedicated logging management tools.
|
|
|
|
## Backup and Recovery Limitations
|
|
|
|
### Backup Management
|
|
|
|
rpm-ostree has limited backup capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **File backup**: Cannot backup individual files
|
|
- **Directory backup**: Cannot backup directories
|
|
- **Database backup**: Cannot backup databases
|
|
- **Application backup**: Cannot backup applications
|
|
- **Configuration backup**: Cannot backup configurations
|
|
|
|
**Rationale:** These are better handled by dedicated backup tools.
|
|
|
|
### Recovery Management
|
|
|
|
rpm-ostree has limited recovery capabilities:
|
|
|
|
**Out of Scope:**
|
|
- **File recovery**: Cannot recover individual files
|
|
- **Directory recovery**: Cannot recover directories
|
|
- **Database recovery**: Cannot recover databases
|
|
- **Application recovery**: Cannot recover applications
|
|
- **Configuration recovery**: Cannot recover configurations
|
|
|
|
**Rationale:** These are better handled by dedicated recovery tools.
|
|
|
|
## Future Considerations
|
|
|
|
### Potential Future Scope
|
|
|
|
Some features currently out of scope may be considered in the future:
|
|
|
|
**Future Considerations:**
|
|
- **Enhanced container support**: May add more container integration features
|
|
- **Advanced monitoring**: May add basic monitoring capabilities
|
|
- **Security enhancements**: May add basic security features
|
|
- **Network integration**: May add basic network features
|
|
- **Backup integration**: May add basic backup features
|
|
|
|
**Criteria for Inclusion:**
|
|
- Must align with core philosophy
|
|
- Must maintain atomicity guarantees
|
|
- Must not add unnecessary complexity
|
|
- Must provide significant value
|
|
- Must not duplicate existing tools
|
|
|
|
### Integration with Other Tools
|
|
|
|
rpm-ostree focuses on integration rather than duplication:
|
|
|
|
**Integration Approach:**
|
|
- **Use existing tools**: Leverage existing tools for out-of-scope features
|
|
- **Provide interfaces**: Provide interfaces to external tools
|
|
- **Support workflows**: Support workflows that use external tools
|
|
- **Maintain focus**: Maintain focus on core functionality
|
|
- **Enable ecosystem**: Enable ecosystem of complementary tools
|
|
|
|
**Benefits:**
|
|
- Reduced complexity
|
|
- Better tool specialization
|
|
- Improved maintainability
|
|
- Enhanced ecosystem
|
|
- Focused development |