Initial CV-aligned infrastructure portfolio
ci / validate (push) Failing after 1m8s

Rework portfolio around Linux operations, Zabbix monitoring, migration validation, and ELK/Grafana log observability.

Add AAP-style LVM resize workflow, Zabbix server/proxy/agent automation assets, Linux/AIX monitoring templates, and updated validation CI.
This commit is contained in:
Mateusz Suski
2026-05-04 17:37:24 +00:00
commit 35e6b139fc
114 changed files with 6422 additions and 0 deletions
@@ -0,0 +1,87 @@
# Migration Validation Framework
## Problem
Infrastructure migrations often fail in small, expensive ways: a mount option changes, a service is disabled, or disk usage moves past an operational threshold. Teams need structured evidence that the migrated host still matches the expected operating profile.
## CV Relevance
This project maps to storage/platform migration validation work: collecting pre-migration and post-migration state, comparing results, and producing evidence that can be attached to change or migration tickets.
## What This Project Demonstrates
- A Python CLI for collecting and comparing system snapshots.
- Modular collectors for mounts, services, and disk usage.
- Risk assessment and validation checks for before/after drift.
- JSON and HTML evidence suitable for migration review.
- Offline tests and examples that run without remote hosts.
## Architecture
```
Operator -> CLI -> Collectors -> JSON Snapshot -> Comparator -> Diff/Report
```
Core components:
- `cli.py` provides collect, compare, snapshot, list, and report commands.
- `collectors/` gathers mounts, services, and disk usage.
- `validators/compare.py` identifies drift and validation failures.
- `reports/` contains report generation helpers with escaped HTML output.
- `examples/` contains realistic before/after evidence.
## Quickstart
```bash
cd professional-infra/migration-validation-framework
make test
make demo
```
The demo compares the included example snapshots:
```bash
python3 cli.py compare examples/before.json examples/after.json --output /tmp/migration-diff.json
```
The example intentionally returns `FAIL` because it demonstrates a high-risk migration finding.
Legacy snapshot IDs are still supported:
```bash
python3 cli.py snapshot --env prod --label pre --systems web01,db01
python3 cli.py compare prod-pre-20260429_020000 prod-post-20260429_030000 --output change-0429
```
## Validation
```bash
make test
```
This compiles the Python modules and runs unit tests for example comparison, parser behavior, and HTML escaping.
## Example Output
```text
Comparison completed: diff.json (FAIL)
Overall risk: high
Total changes: 4
Failed checks: critical_services_running
Recommendation: restore sshd before production cutover
```
Sample inputs and output are available in [examples/before.json](examples/before.json), [examples/after.json](examples/after.json), and [examples/diff.json](examples/diff.json).
## Roadmap
- Add database-specific migration checks.
- Add performance baseline comparisons.
- Add a REST API wrapper for CI/CD integration.
- Add compliance-oriented validation profiles.
## Interview Talking Points
- Why pre/post migration evidence reduces risk during storage and platform migrations.
- How to separate collection from comparison so evidence can be replayed.
- How drift detection supports change approval and rollback decisions.