Skip to main content

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

CI Security Audit

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


๐ŸŽฏ 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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. 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

opsmind_tools-1.0.2.tar.gz (61.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opsmind_tools-1.0.2-py3-none-any.whl (72.1 kB view details)

Uploaded Python 3

File details

Details for the file opsmind_tools-1.0.2.tar.gz.

File metadata

  • Download URL: opsmind_tools-1.0.2.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

Hashes for opsmind_tools-1.0.2.tar.gz
Algorithm Hash digest
SHA256 36d254d3288c3eb77f5bf10f5f966b1995b9fe018582f48fa4ec12ea08043787
MD5 7ee6d4c212838e65e0c4c4e76e89209f
BLAKE2b-256 a20b63de47da8bb516f763a24b296544310d4ba0d1eb81c2f37fc172f58b1482

See more details on using hashes here.

Provenance

The following attestation bundles were made for opsmind_tools-1.0.2.tar.gz:

Publisher: release.yml on melonrind44345/OpsMind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opsmind_tools-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: opsmind_tools-1.0.2-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

Hashes for opsmind_tools-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9505653d865b78eff061cc969e0d93ef4cb3bd1c2a9024c2ca2f193b27e7834d
MD5 bdef483b3ceea42290bc9b6aff3c75fe
BLAKE2b-256 e9fb9b305277324dd195c17f10dc15116ce5ece715260dcb41b6f7137b16d05d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opsmind_tools-1.0.2-py3-none-any.whl:

Publisher: release.yml on melonrind44345/OpsMind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page