Ansible-driven modernization assessment and transformation platform for legacy enterprise systems
Project description
๐ง OpsMind v1.0.2
Ansible-Driven Modernization Assessment Platform
OpsMind is a legacy system modernization assessment platform that uses Ansible as its core discovery engine. It evaluates traditional enterprise systems for containerization readiness and generates actionable migration artifacts.
"No more reinventing the wheel โ combine industry-standard Ansible discovery with intelligent containerization assessment."
โจ Features
- ๐ Ansible-Powered Discovery โ Automatic system fact collection via SSH (or local)
- ๐ Multi-Dimension Assessment โ Hardware, software, configuration, security scoring
- ๐ Professional Reports โ Markdown, JSON, HTML with methodology transparency
- ๐ณ Artifact Generation โ Dockerfile, docker-compose, build scripts, migration plans
- ๐ Intelligent Fallback โ Auto-degrades from Ansible โ Native โ Mock
- ๐ฏ Demo-Ready โ Built-in mock data for instant evaluation
๐ Quick Start
Installation
# Clone and install
git clone https://github.com/melonrind44345/opsmind.git
cd opsmind
pip install -e .
# Verify installation
opsmind --version
opsmind validate
Quick Demo (No Dependencies Required)
# Discover a legacy CentOS 6 system (simulated)
opsmind discover legacy-centos --method mock
# Assess and generate report
opsmind assess --report-format markdown
# Generate migration artifacts
opsmind generate docker
opsmind generate migration-plan
# Or run the full pipeline in one command
opsmind pipeline legacy-centos --method mock --report-format html --remediation
Real System Discovery
# Localhost discovery
opsmind discover localhost --method ansible
# Remote host discovery
opsmind discover 192.168.1.100 --method ansible --ssh-user ubuntu
# Full pipeline
opsmind pipeline localhost --report-format html
๐ Command Reference
| Command | Description |
|---|---|
discover <target> |
Discover system information from target host(s) |
assess |
Assess discovery results for containerization readiness |
report show/export/compare |
View, export, or compare assessment reports |
generate docker |
Generate Docker configuration files |
generate migration-plan |
Generate migration plan documents |
validate |
Check system dependencies and configuration |
pipeline <target> |
Run complete discovery โ assessment โ reporting workflow |
demo |
Interactive 4-phase capability showcase |
Options
--method(-m): Discovery method โansible,native,mock,auto(default)--inventory(-i): Custom Ansible inventory file--ssh-user(-u): SSH username for remote hosts--ssh-key(-k): SSH private key path--report-format(-f): Output format โmarkdown(default),json,html--detail-level(-d): Report detail level โexecutive,summary,detailed,raw--remediation(-r): Generate remediation artifacts after assessment--optimize: Artifact optimization target โperformance,size,cost
๐๏ธ Architecture
Command โ Discovery Engine โ Assessment Evaluators โ Report Generators โ Artifact Generation
โ โ โ โ
โโโโโโโดโโโโโโ โโโโโโโดโโโโโโโ โโโดโโโ โโโดโโโโโ
โ Ansible โ โ Feasibilityโ โ MD โ โDockerโ
โ Native โ โ Complexity โ โJSONโ โPlan โ
โ Mock โ โ Security โ โHTMLโ โ โ
โโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโ โโโโโโโโ
Discovery Engines
| Engine | Method | Requirement | Use Case |
|---|---|---|---|
| Ansible | SSH setup module | ansible CLI installed |
Primary โ richest data |
| Native | Python psutil | psutil package |
Local fallback |
| Mock | Simulated data | None | Demo & testing |
Assessment Dimensions
| Dimension | Weight | What It Evaluates |
|---|---|---|
| Hardware Compatibility | 30% | CPU arch, cores, memory, disk |
| Software Support | 30% | OS version, kernel, packages |
| Configuration Complexity | 20% | Services, dependencies, storage |
| Security Baseline | 20% | Firewall, SELinux, updates |
๐ Example Output
โญโโโโโโโโโโโ Assessment Result โโโโโโโโโโโโฎ
โ legacy-app-01 โ
โ Feasibility Score: 32.5/100 โ
โ Complexity: COMPLEX โ
โ Risk Level: HIGH โ
โ Strategy: refactor โ
โ Estimated Effort: 14 days โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
๐ CI/CD Pipeline
OpsMind uses GitHub Actions as its CI/CD platform.
Pipeline Architecture
graph LR
A[Push/PR] --> B[Quality<br/>Ruff + Mypy + Bandit]
B --> C[Test Matrix<br/>Python 3.11/3.12]
C --> D[Coverage<br/>Threshold 80%]
D --> E[Build Check]
E --> F{Publish?}
F -->|Tag| G[PyPI + GHCR]
Quick Start
# Run the full CI pipeline locally
./scripts/ci/local-test.sh
# Run a specific stage
./scripts/ci/local-test.sh --stage quality
./scripts/ci/local-test.sh --stage test
# Skip security scans for faster feedback
./scripts/ci/local-test.sh --skip-security
# Simulate GitHub Actions locally with act
act push --job quality
act pull_request
See CI/CD Guide for full GitHub Actions setup, pipeline stage details, and troubleshooting.
๐งช Testing
# Run unit tests
pytest tests/unit/ -v
# Run integration tests
pytest tests/integration/ -v
# Run all tests with coverage
pytest --cov=opsmind tests/ -v
# Run performance benchmarks
pytest tests/ -m slow -v
๐ Documentation
- User Guide โ Quick start, scenarios, troubleshooting
- Architecture Guide โ System design and module overview
- Developer Guide โ Contributing, code style, tooling
- Discovery Methods โ Ansible, Native, Mock detailed guide
- Ansible Integration โ Ansible setup and configuration
- CI/CD Design โ Pipeline design and architecture
- CI/CD Guide โ GitHub Actions setup, configuration, and troubleshooting
๐ฏ Project Roadmap
v1.0.2 (Current) โ Production Release
- โ Ansible-based system discovery with multi-engine fallback
- โ Multi-dimensional assessment engine (Hardware, Software, Config, Security)
- โ Professional report generation (Markdown/JSON/HTML)
- โ Docker artifact and migration plan generation
- โ Full CI/CD pipeline (Quality, Test Matrix, Coverage, Build, Release)
- โ Docker multi-stage production image with GHCR publishing
- โ Weekly security auditing (SAST, dependency scan, container scan)
- โ FastAPI web API server for K8s deployment
- โ Demo mode with mock data for instant evaluation
v1.1.0 โ Enhanced Capabilities
- Custom assessment rules engine
- Batch assessment and comparison
- PDF report export
- Ansible Tower/AWX integration
v1.2.0 โ Platform Features
- Real-time discovery monitoring dashboard
- Custom report templates
- Multi-cluster assessment
- Plugin architecture for custom engines
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request
๐ License
MIT License โ See LICENSE for details.
๐ Acknowledgments
- Ansible community for the excellent automation framework
- Typer & Rich for the modern Python CLI experience
- Pydantic for the type-safe data validation
Built with โค๏ธ for the DevOps community โ helping transform legacy systems, one container at a time.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file opsmind_tools-1.0.5.tar.gz.
File metadata
- Download URL: opsmind_tools-1.0.5.tar.gz
- Upload date:
- Size: 61.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36776beb6c9b2815ecd9d9d3fd76befecc8dad2fbf1910d2b35fe6aa6f07b8ea
|
|
| MD5 |
cfb9dcb91766904b026b32cbd16c7bba
|
|
| BLAKE2b-256 |
589d4fd29c010d3cf1201366553c2d553a3c65c8b9cf507a425f029d328f5fdf
|
Provenance
The following attestation bundles were made for opsmind_tools-1.0.5.tar.gz:
Publisher:
release.yml on melonrind44345/OpsMind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opsmind_tools-1.0.5.tar.gz -
Subject digest:
36776beb6c9b2815ecd9d9d3fd76befecc8dad2fbf1910d2b35fe6aa6f07b8ea - Sigstore transparency entry: 1845487151
- Sigstore integration time:
-
Permalink:
melonrind44345/OpsMind@f0f6ffd4c6af7eb5bd7c53cbb4be95b648239509 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/melonrind44345
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f0f6ffd4c6af7eb5bd7c53cbb4be95b648239509 -
Trigger Event:
push
-
Statement type:
File details
Details for the file opsmind_tools-1.0.5-py3-none-any.whl.
File metadata
- Download URL: opsmind_tools-1.0.5-py3-none-any.whl
- Upload date:
- Size: 72.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
361b923110b4a89651078fda49701f7f85669ae10a05c8bb812347edf59267af
|
|
| MD5 |
f43300a1c3bcd5e8f6a8c422f7224255
|
|
| BLAKE2b-256 |
1824798cc0ec0a8a8f67943531aafc7b909fe128df154554b884827fee9abb95
|
Provenance
The following attestation bundles were made for opsmind_tools-1.0.5-py3-none-any.whl:
Publisher:
release.yml on melonrind44345/OpsMind
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opsmind_tools-1.0.5-py3-none-any.whl -
Subject digest:
361b923110b4a89651078fda49701f7f85669ae10a05c8bb812347edf59267af - Sigstore transparency entry: 1845487218
- Sigstore integration time:
-
Permalink:
melonrind44345/OpsMind@f0f6ffd4c6af7eb5bd7c53cbb4be95b648239509 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/melonrind44345
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f0f6ffd4c6af7eb5bd7c53cbb4be95b648239509 -
Trigger Event:
push
-
Statement type: