Skip to content

carles-abarca/NEO6

Repository files navigation

NEO6 Project

NEO6 is a modular, extensible platform for legacy modernization and interoperability, focused on enabling seamless integration between modern applications and mainframe/COBOL systems. The project is organized into several subfolders, each with a specific role in the overall architecture.

Folder Overview

NEO6 Agents

  • agent-runtime/: Core runtime and orchestration logic for NEO6 agents. Handles lifecycle, scheduling, and communication between agents and the platform.

  • aiops-agent/: Components and logic for AIOps (Artificial Intelligence for IT Operations) within NEO6. Provides monitoring, anomaly detection, and automated remediation capabilities.

  • cobol-agent-core/: Core libraries and utilities for COBOL agent integration. Facilitates communication and data mapping between COBOL programs and the NEO6 platform.

  • python-agent-core/: Core libraries and runtime for Python-based agents. Used for scripting, orchestration, and integration tasks that require Python's flexibility.

NEO6 Chat Interface

  • neo6-chat/: Python-based conversational interface for NEO6 systems. Features:
    • Interactive terminal chat (Claude-style interface)
    • OpenAI-compatible API server
    • LangChain integration for MCP (Model Context Protocol) servers
    • Support for local LLMs via LM Studio
    • Tool calling capabilities for NEO6 proxy operations

NEO6 Documentation

  • docs/: Project documentation, architecture diagrams, and technical references for developers and users.

NEO6 Infrastructure

  • infra/: Infrastructure-as-code, deployment scripts, and configuration for cloud/on-prem environments. Includes Terraform, Docker, and CI/CD resources.

NEO6 Admin & Management

  • neo6-admin/: Administrative interface and management tools for NEO6 proxies. Provides web-based dashboard for monitoring, configuration, and control of proxy instances.

NEO6 Authentication & Security

  • neo6-auth/: Robust authentication and session management module for NEO6. Features:
    • Session management for both NEO6 clients and external servers
    • Multi-protocol authentication support (TN3270, LU6.2, MQ, REST APIs, TCP, JCA)
    • User authentication with role-based access control
    • Server authentication configuration and credential management
    • Integration with neo6-proxy for automatic authentication checks
    • REST API for authentication operations and session monitoring

NEO6 Runtime

  • neo6-protocols/: Rust workspace containing protocol adapters and traits for all supported legacy and modern protocols (LU6.2, MQ, REST, TCP, JCA, MCP, etc). Includes:

    • neo6-protocols-lib/: Common protocol traits and helpers (e.g., ProtocolHandler).
    • lu62/, mq/, rest/, tcp/, jca/, mcp/, tn3270/: Protocol-specific implementations.
    • tests/: Protocol-level tests.
  • neo6-proxy/: Main proxy server for NEO6. Exposes REST, TCP, MQ, and MCP endpoints to modern and legacy clients, routing requests to the appropriate backend (COBOL, microservices, etc). Features:

    • Multi-protocol support with dynamic transaction routing
    • Integrated authentication checks via neo6-auth
    • Configuration-driven transaction mapping
    • Comprehensive logging, metrics, and monitoring
    • Support for all major enterprise protocols
  • runtime/: Deployment runtime with binaries, configurations, and startup scripts for running NEO6 in production environments. Includes:

    • Control script (neo6.sh) for managing all NEO6 services
    • Complete configuration management for all modules
    • Authentication configuration and credential management
    • Protocol-specific configurations and examples
    • Logging and monitoring setup

For more details on each component, see the README.md inside each folder or the documentation in docs/.

Quick Start

1. NEO6 Runtime Setup

cd runtime/
./neo6deploy.sh              # Build and deploy all components
./neo6.sh start              # Start authentication + admin services
./neo6.sh status             # Check service status

2. Access NEO6 Services

3. Core Components

  1. NEO6 Proxy: Start with neo6-proxy/ for core functionality
  2. Admin Interface: Use neo6-admin/ for management and monitoring
  3. Authentication: Configure neo6-auth/ for secure access control
  4. Chat Interface: Try neo6-chat/ for conversational interaction with NEO6 systems

4. Authentication Configuration

NEO6 includes comprehensive authentication for enterprise environments:

  • Server Authentication: Configure credentials for mainframes, MQ servers, REST APIs
  • User Management: Role-based access control with admin and operator roles
  • Session Management: Automatic session handling and cleanup
  • Multi-Protocol Support: TN3270, LU6.2, IBM MQ, REST/OAuth2, TCP, JCA

See runtime/config/auth/ for configuration examples and documentation.

Key Features

πŸ” Enterprise-Grade Security

  • Robust Authentication: Multi-protocol authentication for mainframes, APIs, and legacy systems
  • Session Management: Secure session handling with configurable TTL and automatic cleanup
  • Role-Based Access: Granular permission control with admin and operator roles
  • Credential Security: Encrypted credential storage with Argon2 password hashing

🌐 Universal Protocol Support

  • Mainframe Protocols: TN3270, LU6.2 (SNA/APPC) for CICS and legacy systems
  • Enterprise Messaging: IBM MQ, TCP sockets for reliable messaging
  • Modern APIs: REST/HTTP, OAuth2, API key authentication
  • Enterprise Integration: JCA (Java Connector Architecture) adapters
  • AI Integration: Model Context Protocol (MCP) for LLM interactions

πŸš€ Production-Ready

  • Scalable Architecture: Modular design with independent service scaling
  • Comprehensive Monitoring: Built-in metrics, logging, and health checks
  • Easy Deployment: Single-script deployment with automatic dependency management
  • Configuration Management: YAML-based configuration with validation and examples

πŸ€– AI-Powered Operations

  • Conversational Interface: Natural language interaction with enterprise systems
  • AIOps Integration: Automated monitoring and remediation capabilities
  • LLM Integration: Support for local and cloud-based language models
  • Tool Calling: Direct LLM access to NEO6 proxy operations

Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   NEO6 Chat     β”‚    β”‚   NEO6 Admin    β”‚    β”‚   NEO6 Auth     β”‚
β”‚   (Port 8000)   β”‚    β”‚   (Port 8090)   β”‚    β”‚   (Port 8091)   β”‚
β”‚                 β”‚    β”‚                 β”‚    β”‚                 β”‚
β”‚ β€’ LLM Interface β”‚    β”‚ β€’ Web Dashboard β”‚    β”‚ β€’ User Auth     β”‚
β”‚ β€’ Tool Calling  β”‚    β”‚ β€’ Proxy Control β”‚    β”‚ β€’ Server Auth   β”‚
β”‚ β€’ MCP Support   β”‚    β”‚ β€’ Monitoring    β”‚    β”‚ β€’ Session Mgmt  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚                      β”‚                      β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   NEO6 Proxy    β”‚
                    β”‚   (Dynamic)     β”‚
                    β”‚                 β”‚
                    β”‚ β€’ Protocol Hub  β”‚
                    β”‚ β€’ Transaction   β”‚
                    β”‚   Routing       β”‚
                    β”‚ β€’ Auth Checks   β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚                   β”‚                   β”‚
    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”
    β”‚Mainframes β”‚      β”‚    APIs   β”‚      β”‚  Legacy   β”‚
    β”‚           β”‚      β”‚           β”‚      β”‚  Systems  β”‚
    β”‚β€’ CICS/TSO β”‚      β”‚β€’ REST     β”‚      β”‚β€’ TCP/MQ   β”‚
    β”‚β€’ TN3270   β”‚      β”‚β€’ OAuth2   β”‚      β”‚β€’ JCA      β”‚
    β”‚β€’ LU6.2    β”‚      β”‚β€’ Banking  β”‚      β”‚β€’ Custom   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Recent Updates

✨ Latest Features (June 2025)

  • πŸ” NEO6 Authentication Module: Complete authentication and session management system

    • Multi-protocol server authentication (TN3270, LU6.2, MQ, REST, TCP, JCA)
    • User authentication with role-based access control
    • Automatic session management with configurable TTL
    • Integration with neo6-proxy for transparent authentication checks
  • πŸš€ Enhanced Runtime Management: Improved deployment and service management

    • Unified control script (neo6.sh) managing all NEO6 services
    • Automatic service dependency handling (auth β†’ admin β†’ proxies)
    • Comprehensive service monitoring and health checks
    • Simplified deployment with neo6deploy.sh
  • βš™οΈ Configuration Management: Streamlined configuration handling

    • YAML-based configuration with validation
    • Example configurations for all supported protocols
    • Centralized credential and authentication management
    • Environment-specific configuration support

πŸ› οΈ Technical Improvements

  • Security Enhancements: Argon2 password hashing, encrypted credential storage
  • API Improvements: Comprehensive REST APIs for all services
  • Monitoring: Enhanced logging, metrics, and status endpoints
  • Documentation: Updated technical documentation and configuration examples

For detailed information on each component, see the README.md files in individual folders or the comprehensive documentation in docs/.

πŸ“‹ Integration Status

βœ… System Validation: See INTEGRATION_VALIDATION.md for complete integration validation report and system status.

πŸ” Latest Validation Report

The NEO6 project has undergone comprehensive integration testing and validation. All core components are operational and properly integrated:

  • Authentication & Security: βœ… Fully operational with multi-protocol support
  • Service Management: βœ… Complete deployment and runtime management
  • Documentation: βœ… Comprehensive technical documentation
  • API Integration: βœ… All service APIs working and validated

For detailed validation results and system status, see the Integration Validation Report.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published