Rename application to Samsara and add assessment summary, detailed tabs and local Linux inventory
This commit is contained in:
@@ -1,34 +1,20 @@
|
||||
# Platform support and collection plan
|
||||
# Platform support
|
||||
|
||||
## Current functionality
|
||||
Samsara targets retirement assessment of Windows Server 2016, 2019, 2022 and 2025, RHEL 7 (legacy)/8/9/10, and compatible enterprise Linux distributions. OS profiles express the intended assessment target, not a tested support guarantee for live collection.
|
||||
|
||||
| Desktop | Windows inventory reporting | RHEL-based inventory reporting | Live collection |
|
||||
| --- | --- | --- | --- |
|
||||
| Linux Mint, Python 3.11+ | Synthetic demo and schema-validated local JSON import | Synthetic demo and schema-validated local JSON import | Local read-only Linux collector on Linux; no remote collection |
|
||||
| Windows 10/11, Python 3.11+ | Same application code; Windows desktop testing pending | Same application code; Windows desktop testing pending | Not implemented |
|
||||
| Capability | Current availability |
|
||||
| --- | --- |
|
||||
| Local Linux collection | Implemented; RPM and dpkg inventory paths |
|
||||
| OS auto-detection | Local OS identification; Linux distribution family and major version checks |
|
||||
| Saved inventory analysis | Windows/Linux v1 JSON, with OS supplied by inventory metadata |
|
||||
| Windows live collection | Not implemented |
|
||||
| Remote SSH/PowerShell collection | Not implemented |
|
||||
| Desktop | Python 3.11+ with Qt on Linux and Windows; Windows execution validation pending |
|
||||
|
||||
**Update:** Local Linux Mint/RHEL-based collection is now implemented via `collectors/linux.py`, with direct GUI and headless CLI entry points. It uses RPM on hosts where RPM is available and dpkg on Mint. Mint-like package parsing and mocked RPM output are tested; real RHEL release validation remains pending. See README for exact coverage and missing checks. Windows live collection remains unimplemented.
|
||||
Auto-detection reads local OS metadata without remote name resolution or probing. Explicit RHEL selections check family and major version. Other Linux distributions can use Auto-detect for local testing. Windows identification does not infer a Server edition from a desktop kernel number. Unsupported live collectors return an explicit error while keeping prior results.
|
||||
|
||||
Qt is a desktop dependency, not a dependency to install on assessed servers. Headless RHEL servers will produce JSON through a separate collector and do not need PySide6. Reporting does not require Windows administrative modules on Linux.
|
||||
The local collector uses fixed read-only system commands and records partial or failed checks for unsupported commands, permissions and missing evidence. Test each RHEL/distribution release before relying on production output. Containers may restrict systemd, interfaces, processes and mount namespaces.
|
||||
|
||||
## Target collection support
|
||||
Future Windows collection must use existing authorized remoting from a Windows execution host, compatible with Windows PowerShell 5.1. Windows administration modules must not be run natively on Linux. Future Linux remote collection must use existing authorized SSH with host-key verification. Neither transport should enable services, install an agent or escalate privileges automatically.
|
||||
|
||||
Windows targets: Windows Server 2016 onward. Use read-only PowerShell compatible with Windows PowerShell 5.1 from an existing authorized Windows execution host. Linux Mint can import that execution host's JSON. A future transport to a Windows execution host must be explicit and authenticated; never run Windows administration modules natively on Linux. Feature availability and permissions vary, so every module reports complete/partial/failed/not_collected separately. Test each supported Windows Server release before claiming collection compatibility.
|
||||
|
||||
RHEL-based targets: RHEL and compatible distributions, initially validate supported enterprise 8/9/10 families individually; older versions require explicit compatibility testing. The offline local collector can run on the Linux execution host and export JSON for manual transfer. Future remote collection will use existing authorized SSH. No agent installation, automatic SSH enablement, privilege escalation or remote configuration. Windows desktop SSH support must be checked at runtime. Offline JSON remains the common fallback.
|
||||
|
||||
Linux inventory requirements:
|
||||
|
||||
- `/etc/os-release`, kernel, boot time, addresses, interfaces and directory integration evidence.
|
||||
- systemd services with state, unit path and execution identity; no secret-bearing environment or command arguments.
|
||||
- `ss` TCP observations, with unprivileged process attribution explicitly marked incomplete where necessary.
|
||||
- system and accessible user timers, cron/anacron schedules; inaccessible accounts and application schedulers remain missing evidence.
|
||||
- RPM package inventory; never install or alter packages.
|
||||
- mounts, local/remote filesystems, free space, NFS exports and Samba shares. Distinguish remote mounts from exported storage and avoid reading protected configuration secrets.
|
||||
- Configured public certificate metadata from explicit locations. Linux has no single Windows-style machine certificate store; do not claim full certificate coverage or inspect private keys.
|
||||
|
||||
Common analysis must distinguish observations, inferred workloads and unknowns. Windows roles and Linux package/service workload hints are not equivalent evidence. NFS, Samba and SMB exports all require dependency review; listing a share does not prove active consumers. Account and critical infrastructure rule mappings need OS-specific coverage before production deployment.
|
||||
|
||||
## Validation remaining
|
||||
|
||||
Windows GUI and collection tests; Windows Server release matrix; RHEL/compatible distribution matrix; SSH authentication and host-key checks; PowerShell transport; timeout/cancellation and output bounds; incomplete permissions; production field redaction; signed packaging. No real enterprise server is contacted during development without an explicit target and authorization.
|
||||
Required production validation includes Windows desktop/server release testing, RHEL/distribution testing, incomplete permissions, process lifecycle behavior, schema contracts, report redaction, packaging and signing. Linux inventory coverage and current omissions are documented in README.md.
|
||||
|
||||
Reference in New Issue
Block a user