apt-ostree/.notes/out-of-scope/rpm-ostree.md
robojerk d295f9bb4d Major milestone: Complete apt-ostree bootc compatibility and OCI integration
-  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!
2025-07-20 21:06:44 +00:00

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