Skip to main content

Kubernetes Platform for GenAI Applications

Project description

OGM Platform

๐Ÿš€ Enterprise Environment Ready - Mission-critical Kubernetes deployments with advanced features!

PyPI version Python 3.8+ License: MIT CI/CD codecov Code style: black Imports: isort security: bandit GitHub issues GitHub stars GitHub contributors

Kubernetes Platform for GenAI Applications

Quick Start โ€ข Architecture โ€ข Commands โ€ข Contributing


Table of Contents

Navigation Guide and Section Overview
Section Description Status
Overview Platform mission and vision Complete
Project Structure Directory layout and organization Complete
Key Features Core capabilities Complete
Installation Setup instructions Complete
Quick Start Getting started guide Complete
Architecture System design Complete
CI/CD & Automation DevOps pipeline Complete
Commands CLI reference Complete
Configuration Config options Complete
Contributing Development guide Complete
Security Security info Complete
License License details Complete
Support Support channels Complete
Changelog Version history Complete
Roadmap Future development Complete

Quick Tip: This documentation uses collapsible sections for better navigation. Click the arrows to expand detailed information.

Overview

Platform Mission and Vision
Mission: OGM Platform revolutionizes Kubernetes development for Generative AI applications by providing enterprise-grade tooling that bridges the gap between local development and production deployment.

Core Capabilities

๐Ÿš€ Intelligent Cluster Detection

Automatically detects and adapts to K3s lightweight clusters or full Kubernetes environments with zero configuration required.

๐Ÿ”„ Unified Development Workflow

Single CLI interface that seamlessly handles development, testing, staging, and production deployments across all environments.

๐Ÿ›ก๏ธ Enterprise-Grade Security

Built-in authentication, RBAC, secrets management, and security scanning with compliance-ready configurations.

๐Ÿ“Š Comprehensive Monitoring

Real-time insights, performance metrics, health checks, and diagnostic tools for complete cluster observability.

โšก High-Performance Operations

Optimized for speed with intelligent caching, incremental deployments, and resource-efficient cluster management.

๐Ÿ”ง Extensible Architecture

Plugin system, custom configurations, and API integrations allow seamless extension for specific use cases.

๐ŸŽฏ GenAI Application Focus

Specially designed for Generative AI workloads with optimized resource allocation, GPU support, and ML pipeline integration.

๐ŸŒ Multi-Environment Support

Native support for development, staging, and production environments with environment-specific configurations and deployments.

Development Progress

Platform Maturity

95% Complete - Production ready with comprehensive feature set

Project Structure

Directory Layout and Organization
ogm-platform-package/
โ”œโ”€โ”€ ogm/                          # Core platform modules
โ”‚   โ”œโ”€โ”€ cli.py                    # Command-line interface
โ”‚   โ”œโ”€โ”€ config.py                 # Configuration management
โ”‚   โ”œโ”€โ”€ kubernetes.py             # K8s cluster management
โ”‚   โ”œโ”€โ”€ helm.py                   # Helm chart operations
โ”‚   โ””โ”€โ”€ ...                       # Other core modules
โ”œโ”€โ”€ config/                       # Environment configurations
โ”‚   โ”œโ”€โ”€ .ogmconfig.local          # Local development setup
โ”‚   โ”œโ”€โ”€ .ogmconfig.dev            # Development environment
โ”‚   โ”œโ”€โ”€ .ogmconfig.staging        # Staging/pre-production
โ”‚   โ”œโ”€โ”€ .ogmconfig.production     # Production environment
โ”‚   โ””โ”€โ”€ README.md                 # Configuration guide
โ”œโ”€โ”€ tests/                        # Test suites
โ”œโ”€โ”€ docs/                         # Documentation
โ”œโ”€โ”€ pyproject.toml                # Python project configuration
โ”œโ”€โ”€ Dockerfile                    # Container build configuration
โ””โ”€โ”€ README.md                     # This documentation

Key Directories

  • ogm/: Core platform code with modular architecture
  • config/: Pre-built configurations for different environments
  • tests/: Comprehensive test coverage for all components
  • docs/: Additional documentation and guides

Key Features

Platform Capabilities and Technical Features
Kubernetes Native Intelligent Detection Unified CLI Enterprise Security CI/CD Ready Multi-Platform Helm Integration GitOps Workflow

๐Ÿš€ Core Platform Features

Intelligent Cluster Detection

  • Automatic Detection: Platform automatically detects whether K3s or full Kubernetes is running
  • Unified Interface: Same commands work regardless of underlying cluster type
  • Clear Status Reporting: Status commands show both configured and detected cluster types
  • Smart Fallbacks: Uses kubectl for cluster communication when specific binaries are unavailable
  • Helm Integration: Automated Helm chart deployment and management
  • Authentication Management: Secure credential storage and Kubernetes context handling
  • Monitoring & Diagnostics: Built-in health checks and troubleshooting tools
  • GitOps Workflow: Automated repository synchronization
  • Production Ready: Enterprise-grade security and reliability
  • Modular Architecture: Extensible design for custom components

๐Ÿ”ง Professional Development Workflow

  • Automated CI/CD: Multi-Python version testing (3.8-3.11) with comprehensive quality checks
  • Code Quality: Black formatting, Flake8 linting, isort imports, mypy type checking
  • Security Scanning: Automated security vulnerability detection
  • Coverage Reporting: Detailed test coverage analysis and reporting
  • Automated Publishing: PyPI package publishing on releases
  • Dependency Management: Automated dependency updates via Dependabot

๐Ÿค Community & Collaboration

  • Structured Issue Management: Professional bug report and feature request templates
  • Pull Request Guidelines: Comprehensive PR template with quality checklists
  • Code of Conduct: Community standards and respectful collaboration
  • Contributing Guidelines: Clear development setup and contribution process
  • Security Policy: Responsible vulnerability disclosure and handling
  • Discussion Forums: Q&A, general discussions, and project showcases
  • Release Automation: Categorized changelogs and automated release creation

๐Ÿ›ก๏ธ Enterprise-Grade Quality

  • Multi-Version Testing: Ensures compatibility across Python 3.8-3.11
  • Security-First: Bandit security scanning and secure credential management
  • Documentation: Comprehensive docs with troubleshooting and best practices
  • Code Ownership: Defined maintainers for different project areas
  • Funding Support: GitHub Sponsors integration for sustainability

Installation

Installation Options
Recommended: Install via PyPI for the latest stable release with automatic dependency management.

From PyPI (Recommended)

pip install ogm-platform

From Source

git clone https://github.com/ogmworldwide/ogm-platform.git
cd ogm-platform
pip install -e .

Development Installation

git clone https://github.com/ogmworldwide/ogm-platform.git
cd ogm-platform
pip install -e ".[dev]"

Quick Start

Getting Started Guide
Prerequisites: Ensure you have Python 3.8+, kubectl, and either Docker or a Kubernetes cluster available.

After installation, initialize your development environment:

# Initialize a development environment
ogm init

# Deploy applications
ogm deploy

# Check cluster status
ogm status

# Clean up environment
ogm destroy

Understanding Status Output

The ogm status command provides clear information about your cluster:

K3s Cluster:                    # Configured cluster type
  Command not found: k3s        # Binary availability check
  Version: Unknown             # Cluster version (may be Unknown if binary missing)
  Status: Running              # Cluster accessibility via kubectl
  Note: Detected K8S cluster (configured for K3S)  # Auto-detection when mismatch

Key Points:

  • Configured vs Detected: System shows what it's configured for vs what it detects
  • Binary Independence: Cluster status works even if specific binaries (like k3s) are missing
  • Smart Detection: Automatically identifies K3s vs full Kubernetes clusters
  • Unified Access: All operations use kubectl for cluster communication

Architecture

Architecture Overview Details
graph TB
    subgraph "User Interface"
        CLI[Command Line Interface<br/>ogm/cli.py]
        API[Future REST API<br/>planned]
    end
    
    subgraph "Core Services"
        KM[Kubernetes Manager<br/>ogm/kubernetes.py]
        HM[Helm Manager<br/>ogm/helm.py]
        GM[Git Manager<br/>ogm/git_ops.py]
        SM[State Manager<br/>ogm/state.py]
    end
    
    subgraph "Configuration & Management"
        CM[Config Manager<br/>ogm/config.py]
        AM[Auth Manager<br/>ogm/auth.py]
        DM[Diagnostic Manager<br/>ogm/diagnostic.py]
        RM[Readiness Manager<br/>ogm/readiness.py]
        IM[Insight Manager<br/>ogm/insight.py]
        SyM[Sync Manager<br/>ogm/sync.py]
    end
    
    subgraph "Infrastructure"
        K8s[(Kubernetes Cluster<br/>K3s or Full K8s)]
        Helm[(Helm Charts<br/>Deployed Releases)]
        Git[(Git Repositories<br/>Source Control)]
        Registry[(Container Registry<br/>Docker Images)]
    end
    
    subgraph "External Systems"
        PyPI[(PyPI<br/>Package Registry)]
        GitHub[(GitHub<br/>Code Repository)]
        Cloud[Cloud Providers<br/>AWS, GCP, Azure]
    end
    
    subgraph "CI/CD Pipeline"
        GitHub_Actions[GitHub Actions]
        Test[Test Suite<br/>Multi-Python]
        Lint[Code Quality<br/>Black, Flake8, MyPy]
        Build[Package Build<br/>Wheel & Source]
        Publish[PyPI Publish<br/>On Release]
    end
    
    CLI --> KM
    CLI --> HM
    CLI --> GM
    CLI --> CM
    CLI --> AM
    CLI --> DM
    CLI --> RM
    CLI --> IM
    CLI --> SyM
    
    KM --> K8s
    HM --> Helm
    GM --> Git
    
    K8s --> Registry
    Cloud --> K8s
    
    GitHub_Actions --> Test
    Test --> Lint
    Lint --> Build
    Build --> Publish
    
    Publish --> PyPI
    GitHub_Actions --> GitHub
Technology Stack Details

Core Platform

Python 3.8-3.11 Click CLI PyYAML Rich Pydantic

Kubernetes & Orchestration

K3s Kubernetes Helm kubectl k3sup

Development & Quality

Black Flake8 isort mypy pytest bandit

CI/CD & Automation

GitHub Actions Dependabot PyPI Docker pre-commit
Core Components Details

The OGM Platform consists of several key modules:

ogm/
โ”œโ”€โ”€ cli.py          # Command-line interface and command routing
โ”œโ”€โ”€ config.py       # Configuration management and validation
โ”œโ”€โ”€ auth.py         # Authentication and credential management
โ”œโ”€โ”€ kubernetes.py   # Kubernetes cluster management (K3s + full K8s support)
โ”œโ”€โ”€ helm.py         # Helm chart deployment and management
โ”œโ”€โ”€ git_ops.py      # Git operations with authentication
โ”œโ”€โ”€ state.py        # State persistence and cluster tracking
โ”œโ”€โ”€ diagnostic.py   # Health checks and troubleshooting
โ”œโ”€โ”€ insight.py      # Analytics and monitoring
โ”œโ”€โ”€ readiness.py    # Deployment readiness checks
โ”œโ”€โ”€ sync.py         # Synchronization operations
โ””โ”€โ”€ utils.py        # Utility functions and helpers
Design Principles Details
๐Ÿ—๏ธ Modular Architecture: Each module has a single responsibility with clean interfaces and dependency injection.
๐Ÿ”ง Configuration-Driven: Behavior controlled by hierarchical configuration files with environment variable overrides.
๐Ÿ›ก๏ธ Security First: Secure credential management, comprehensive error handling, and access controls.
๐Ÿ”„ Cluster Agnostic: Unified commands work seamlessly across K3s and full Kubernetes distributions.
Data Flow Details
User Input โ†’ CLI Parser โ†’ Command Handler โ†’ Manager โ†’ Kubernetes API
                                      โ†“
Configuration โ† State Manager โ† File System
                                      โ†“
Credentials โ† Auth Manager โ† Secure Storage

Commands

๐Ÿ’ก Command Categories: Commands are organized by functionality - Core operations, Configuration management, Development workflows, and Advanced diagnostics.
Core Commands Details
Command Description Real-World Example
ogm init Initialize Kubernetes cluster and environment ogm init --production
Initialize full Kubernetes cluster for production GenAI workloads
ogm init --stage
Initialize full Kubernetes cluster for staging environment
ogm init --dev
Initialize development environment with cluster selection
ogm init --local
Setup K3s cluster for local GenAI development
ogm check Check prerequisites and environment readiness ogm check --clean --force
Validate environment and auto-fix issues before deploying ML models
ogm deploy Deploy applications to cluster ogm deploy llama-2-chat --namespace production
Deploy Llama 2 chat service to production namespace
ogm destroy Remove applications or entire environment ogm destroy stable-diffusion --remove-data
Remove Stable Diffusion service and clean up associated data
ogm status Check cluster and application status ogm status --verbose
Check health of all deployed GenAI services and resource usage
ogm logs View application logs ogm logs gpt-api --follow --tail 50 --namespace staging
Monitor real-time logs from GPT API service in staging
ogm clone Clone configured repositories ogm clone
Clone all configured ML model repositories for development
ogm clean Clean up failed deployments and resources ogm clean
Remove failed pods and clean up after interrupted deployment
ogm clean-namespace Completely clean a namespace including all resources ogm clean-namespace testing --force
Reset testing environment by removing all resources
ogm readiness Check if environment is ready for GenAI applications ogm readiness bert-classifier --env production
Verify BERT classifier is ready for production traffic
ogm summary Show comprehensive summary of deployed applications ogm summary --json
Get JSON summary of all deployed AI services and their status
ogm remove Complete removal of OGM environment ogm remove --force
Complete teardown of development environment
ogm version Show version and cluster type information ogm version
Check if running K3s or full Kubernetes cluster
Configuration Commands Details
Command Description Real-World Example
ogm config Manage configuration settings ogm config set environment production
Switch to production environment for deployment
ogm auth Manage authentication credentials ogm auth set git --token $GITHUB_TOKEN
Configure GitHub authentication for private model repositories
Development Commands Details
Command Description Real-World Example
ogm dev Development workflow commands ogm dev shell --namespace development
Open interactive shell in development pod for debugging
ogm test Run tests and validation ogm test integration --namespace testing
Run integration tests for ML pipeline components
ogm build Build and package applications ogm build docker transformers-api --tag v2.1.0
Build and tag Docker image for Hugging Face transformers API
Advanced Commands Details
Command Description Real-World Example
ogm diagnostic Run diagnostic checks ogm diagnostic full --namespace production
Run comprehensive diagnostics on production cluster health
ogm insight View analytics and metrics ogm insight usage --json --raw
Get raw JSON metrics for GPU utilization and model performance
ogm kubectl Execute kubectl commands to show Kubernetes resources ogm kubectl get pods -l app=llama-inference --namespace ai-services
List all pods running Llama inference workloads
ogm sync Synchronize repositories and configs ogm sync repos --rebuild
Sync latest model weights and rebuild containers
๐Ÿ’ก Practical Workflows: Common GenAI development scenarios and command sequences.
Real-World Usage Scenarios

๐Ÿš€ Deploying a New GenAI Model

# 1. Initialize development environment
ogm init --local

# 2. Clone model repositories
ogm clone

# 3. Build custom model container
ogm build docker llama-fine-tuned --tag v1.0.0

# 4. Deploy to staging for testing
ogm deploy llama-fine-tuned --namespace staging

# 5. Check deployment health
ogm status --verbose
ogm readiness llama-fine-tuned --env staging

# 6. Monitor logs during testing
ogm logs llama-fine-tuned --follow --namespace staging

๐Ÿ”ง Troubleshooting Production Issues

# 1. Check overall cluster health
ogm diagnostic full --namespace production

# 2. Get detailed status of affected service
ogm status --verbose
ogm readiness affected-service --env production

# 3. Examine recent logs for errors
ogm logs affected-service --tail 100 --level ERROR --namespace production

# 4. View resource usage and performance metrics
ogm insight usage --json

# 5. Clean up if needed and redeploy
ogm clean
ogm deploy affected-service --namespace production

๐Ÿงช CI/CD Pipeline Integration

# Initialize production environment
ogm init --production --force

# Pre-deployment validation
ogm check --clean --force

# Run comprehensive tests
ogm test integration --namespace testing
ogm test unit

# Build production images
ogm build docker my-genai-app --tag $BUILD_TAG

# Deploy to production with verification
ogm deploy my-genai-app --namespace production
ogm readiness my-genai-app --env production --json

# Post-deployment monitoring
ogm status
ogm summary --json

๐Ÿ—๏ธ Environment Management

# Switch between environments
ogm config set environment staging
ogm status

ogm config set environment production  
ogm status

# Clean up testing environment
ogm clean-namespace testing --force

# Complete environment teardown
ogm remove --force
๐Ÿš€ Getting Started: Start with ogm init to set up your environment, then use ogm status to verify everything is working correctly.

Configuration

โš™๏ธ Configuration Hierarchy: Settings are loaded from multiple sources with environment variables taking highest priority, followed by project config, then global config.
Configuration Files Details

The platform uses a hierarchical configuration system:

  1. Global Config: ~/.ogm/config.yaml - User-specific settings
  2. Project Config: .ogmconfig - Project-specific settings
  3. Environment Variables: Runtime overrides
๐Ÿ“ Environment Configs: Pre-built configuration files for different environments are available in the config/ directory.
๐Ÿ“ File Locations: Global config is stored in your home directory. Project config should be committed to version control (except secrets). Environment-specific configs are available in config/.

Environment-Specific Configuration Files

The config/ directory contains pre-configured setup files for different deployment environments:

Config File Environment Cluster Type Use Case
.ogmconfig.local Local Development K3s (Lightweight) Individual developer machines, minimal resources
.ogmconfig.dev Development K3s Shared development environments, team development
.ogmconfig.staging Staging Full Kubernetes Pre-production testing, integration testing
.ogmconfig.production Production Full Kubernetes (HA) Live production workloads, enterprise deployments
Using Environment Configurations
# Copy the appropriate configuration for your environment
cp config/.ogmconfig.dev .ogmconfig
cp config/.ogmconfig.production .ogmconfig

# Or use the init flags which automatically configure for the environment
ogm init --dev
ogm init --staging
ogm init --production
ogm init --local
Cluster Configuration Details
# .ogmconfig
version: "1.0.0"
repos_dir: ~/ogm-repos

# Cluster type is automatically detected, but can be explicitly set
cluster_type: k3s  # or "kubernetes" for full K8s

k3s:
  version: v1.28.5+k3s1
  kubeconfig_path: ~/.kube/config
  data_dir: /var/lib/rancher/k3s

kubernetes:
  version: v1.28.5
  cluster_name: ogm-cluster
  network_plugin: calico

environments:
  dev:
    cluster_type: k3s
    nodes: 1
  prod:
    cluster_type: kubernetes
    nodes: 3
Environment Variables Details
Variable Description Default
OGM_ENVIRONMENT Target environment dev
OGM_CONFIG_DIR Configuration directory ~/.ogm
OGM_LOG_LEVEL Logging verbosity INFO
KUBECONFIG Kubernetes config path ~/.kube/config
๐Ÿ” Auto-Detection: The platform automatically detects your cluster type (K3s vs full Kubernetes) and adapts commands accordingly.

Usage Examples

Basic Development Workflow Details
# 1. Initialize development environment
ogm init

# 2. Set up authentication
ogm auth set git --username yourusername --token yourtoken

# 3. Clone and deploy an application
ogm deploy my-genai-app

# 4. Check status
ogm status

# 5. View logs
ogm logs my-genai-app

# 6. Clean up when done
ogm destroy my-genai-app
Multi-Environment Deployment Details
# Use environment-specific configurations
cp config/.ogmconfig.dev .ogmconfig
ogm init --dev
ogm deploy myapp --namespace dev

cp config/.ogmconfig.staging .ogmconfig
ogm init --staging
ogm deploy myapp --namespace staging

cp config/.ogmconfig.production .ogmconfig
ogm init --production
ogm deploy myapp --namespace production

# Or use environment variables
OGM_ENVIRONMENT=staging ogm deploy myapp
OGM_ENVIRONMENT=production ogm deploy myapp
Environment Configuration Setup Details

Quick Environment Setup

# Local Development (minimal setup)
cp config/.ogmconfig.local .ogmconfig
ogm init --local

# Development Environment (with monitoring)
cp config/.ogmconfig.dev .ogmconfig
ogm init --dev

# Staging Environment (pre-production)
cp config/.ogmconfig.staging .ogmconfig
ogm init --staging

# Production Environment (enterprise-ready)
cp config/.ogmconfig.production .ogmconfig
ogm init --production

# Enterprise Environment (mission-critical)
cp config/.ogmconfig.enterprise .ogmconfig
ogm init --enterprise

Configuration Features by Environment

Feature Local Dev Staging Production Enterprise
Cluster Type K3s K3s Full K8s Full K8s Full K8s (Multi-Zone)
Ingress Replicas 1 1 2 3 + Auto 5 + Auto + Global
Resource Allocation Minimal Standard High Enterprise Enterprise+ (Auto-scaling)
Monitoring Stack โŒ โœ… โœ… โœ… (HA) โœ… (AI/ML Anomaly Detection)
Monitoring Retention - 7 days 30 days 90 days 1 year + Long-term
Logging Stack โŒ โœ… โœ… โœ… (Persistent) โœ… (Centralized + Analytics)
Tracing โŒ โŒ โŒ โœ… (Tempo) โœ… (Jaeger + Service Mesh)
Cert Manager โŒ โŒ โœ… โœ… โœ… (Auto-rotation + HSM)
Persistence โŒ โŒ โŒ โœ… (100Gi+) โœ… (Multi-tier + DR)
High Availability โŒ โŒ โŒ โœ… โœ… (Multi-zone + DR)
Security Hardening Basic Basic Standard Enterprise Zero-Trust + Encryption
Backup/Recovery โŒ โŒ โŒ โœ… โœ… (Multi-site + Air-gapped)
Network Policies โŒ Basic Standard Advanced Service Mesh + Zero-Trust
RBAC Basic Standard Enhanced Enterprise Enterprise + Policy Engine
Service Mesh โŒ โŒ โŒ โŒ โœ… (Istio/Linkerd)
Compliance & Audit โŒ โŒ Basic Standard Enterprise (SOC2, HIPAA, etc.)
Multi-Cloud Support โŒ โŒ โŒ โŒ โœ… (Cross-cloud federation)
AI/ML Operations โŒ โŒ โŒ Basic โœ… (MLOps + Model Serving)
Enterprise Integrations โŒ โŒ โŒ Basic โœ… (LDAP, SSO, SIEM, etc.)
Policy as Code โŒ โŒ โŒ Basic โœ… (OPA + Kyverno)
Cost Optimization โŒ โŒ Basic Standard โœ… (AI-driven + FinOps)
Disaster Recovery โŒ โŒ โŒ Basic โœ… (Multi-region + Automated)
Edge Computing โŒ โŒ โŒ โŒ ๐Ÿšง Roadmap
Quantum-Safe Crypto โŒ โŒ โŒ โŒ ๐Ÿšง Roadmap
Autonomous Operations โŒ โŒ โŒ โŒ ๐Ÿšง Roadmap

Legend:

  • โœ… = Included
  • โŒ = Not included
  • ๐Ÿšง Roadmap = Planned for future release

Feature Details by Environment

Local Environment

  • Use Case: Individual developer machines, experimentation
  • Cluster: Lightweight K3s for fast startup
  • Resources: Minimal CPU/memory to save local resources
  • Components: Basic ingress only, no monitoring overhead

Development Environment

  • Use Case: Shared development teams, integration testing
  • Cluster: K3s with monitoring for development workflows
  • Resources: Standard allocation for development workloads
  • Components: Full observability stack for debugging

Staging Environment

  • Use Case: Pre-production testing, QA validation
  • Cluster: Full Kubernetes for production-like testing
  • Resources: Higher allocation for realistic load testing
  • Components: Complete stack including cert management

Production Environment

  • Use Case: Live production workloads, enterprise deployments
  • Cluster: Full Kubernetes with enterprise features
  • Resources: Enterprise-grade allocation with autoscaling
  • Components: Complete HA stack with persistence and tracing

Switching Between Environments

# Deploy to multiple environments
for env in dev staging production; do
  echo "Deploying to $env..."
  cp config/.ogmconfig.$env .ogmconfig
  ogm init --$env
  ogm deploy my-genai-app --namespace $env
done
Custom Configuration Details
# Create custom configuration
ogm config set k3s.version v1.29.0+k3s1
ogm config set kubernetes.nodes 5

# View current configuration
ogm config list

Development

Setting Up Development Environment Details
# Clone the repository
git clone https://github.com/ogmworldwide/ogm-platform.git
cd ogm-platform

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Run linting
black ogm/
flake8 ogm/
mypy ogm/
Running Tests Details
# Run all tests
pytest

# Run specific test file
pytest tests/test_cli.py

# Run with coverage
pytest --cov=ogm --cov-report=html

# Run integration tests
pytest tests/integration/
Code Quality Details

The project uses several tools to maintain code quality:

  • Black: Code formatting
  • Flake8: Linting and style checking
  • MyPy: Static type checking
  • Pytest: Unit and integration testing
  • Coverage: Test coverage reporting

Core Classes

CLI Class

from ogm.cli import main

# Run the CLI
main()

Configuration Manager

from ogm.config import ConfigManager

config = ConfigManager()
settings = config.load()

Authentication Manager

from ogm.auth import AuthManager

auth = AuthManager()
auth.set_credentials('git', username='user', token='token')

Managers

The platform uses a manager pattern for different concerns:

  • ConfigManager: Handles configuration loading and validation
  • AuthManager: Manages authentication credentials
  • KubernetesManager: Handles Kubernetes cluster operations
  • HelmManager: Manages Helm chart deployments
  • GitManager: Handles Git operations
  • StateManager: Manages cluster state persistence

Troubleshooting

Troubleshooting Guide

Common Issues

Cluster Initialization Fails

# Check system requirements
ogm diagnostic system

# Check network connectivity
ogm diagnostic network

# View detailed logs
ogm logs --level DEBUG

Authentication Issues

# Reset credentials
ogm auth clear

# Reconfigure authentication
ogm auth set git

# Test authentication
ogm auth test

Deployment Failures

# Check cluster status
ogm status

# View deployment logs
ogm logs deployment-name

# Run diagnostics
ogm diagnostic cluster

Debug Mode

Enable debug logging for detailed troubleshooting:

export OGM_LOG_LEVEL=DEBUG
ogm command --verbose

Getting Help

# View help for any command
ogm --help
ogm command --help

# View diagnostic information
ogm diagnostic --full

# Check version and system info
ogm version

Security

Security Guidelines

Credential Management

The platform securely stores credentials using:

  • Encrypted local storage
  • Environment variable support
  • Integration with system keyrings
  • Temporary credential caching

Best Practices

  • Never commit credentials to version control
  • Use environment-specific credentials
  • Regularly rotate authentication tokens
  • Enable audit logging for production deployments

Performance

Performance Optimization

Optimization Tips

  • Use K3s for development environments
  • Configure appropriate resource limits
  • Enable caching for repeated operations
  • Use incremental deployments when possible

Monitoring

# View performance metrics
ogm insight performance

# Monitor resource usage
ogm insight resources

# Check cluster health
ogm diagnostic health

CI/CD & Automation

CI/CD & Automation

OGM Platform features a comprehensive automated development pipeline ensuring enterprise-grade quality and reliability:

๐Ÿš€ Continuous Integration

  • Multi-Version Testing: Automated testing across Python 3.8, 3.9, 3.10, and 3.11
  • Code Quality Checks: Black formatting, Flake8 linting, isort imports, mypy type checking
  • Security Scanning: Bandit security analysis on every commit
  • Coverage Analysis: Detailed test coverage reporting with quality gates

๐Ÿ“ฆ Automated Publishing

  • PyPI Integration: Automatic package publishing on version releases
  • Release Automation: Categorized changelogs and release notes generation
  • Version Management: Semantic versioning with automated tagging

๐Ÿ”„ Dependency Management

  • Dependabot Integration: Weekly automated dependency updates
  • Security Updates: Priority handling of security vulnerabilities
  • Compatibility Testing: Ensures updates don't break functionality

๐Ÿ“Š Quality Metrics

  • Test Coverage: Minimum 80% code coverage requirement
  • Performance Monitoring: Automated performance regression detection
  • Documentation Checks: Ensures documentation stays current

๐Ÿ—๏ธ Build & Deployment

  • Container Support: Docker integration for consistent environments
  • Multi-Platform Builds: Cross-platform compatibility testing
  • Artifact Management: Automated build artifact storage and distribution

๐Ÿ“‹ Publishing Workflow

When you make changes to OGM Platform, here's how they get packaged and published:

Development โ†’ Release Process

flowchart TD
    Dev[Developer<br/>Makes Changes] --> Commit[git commit<br/>Local Changes]
    Commit --> Push[git push<br/>to GitHub]
    Push --> CI[Test Suite<br/>Quality Checks]
    CI --> Build[Package Build<br/>Validation]
    Build --> Release[Create GitHub<br/>Release]
    Release --> Publish[PyPI Publish<br/>Automated]

CI/CD Pipeline Jobs

  • Test Job: Multi-Python version testing (3.8-3.11) with pytest and coverage
  • Lint Job: Code quality checks (Black, isort, flake8, mypy)
  • Security Job: Bandit security vulnerability scanning
  • Build Job: Package building with python -m build and validation
  • Publish Job: PyPI publishing (only on GitHub releases)

Release Creation

# Create version tag
git tag -a v1.0.17 -m "Release v1.0.17: Feature description"
git push origin v1.0.17

# Create GitHub Release (triggers PyPI publish)
# Visit: https://github.com/ogmworldwide/ogm-platform/releases

Contributing

๐ŸŒŸ Welcome Contributors! We welcome contributions from developers of all skill levels. Whether you're fixing bugs, adding features, or improving documentation, your help is valuable.
Getting Started Details
๐Ÿ“‹ Quick Setup: Get your development environment running in minutes with our streamlined setup process.
  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Create a feature branch from main
  4. Set up development environment with pip install -e ".[dev]"
  5. Run tests with pytest to ensure everything works
Development Workflow Details
Stage Requirements Tools
Code Quality All code must pass quality checks Black, Flake8, isort, mypy
Testing Write tests, maintain coverage pytest, coverage
Documentation Update docs for changes MkDocs, README updates
Security Follow secure coding practices Bandit, code review
Contribution Process Details

Standard Contribution Flow

Follow this process to ensure smooth collaboration:

Create Issue Develop Feature Write Tests Submit PR Code Review Merge
Areas for Contribution Details

Kubernetes Integration

Improving K3s and Kubernetes support, cluster management, and orchestration features.

Cloud Providers

Adding support for AWS, GCP, Azure, and other cloud platforms with native integrations.

Security

Security enhancements, vulnerability fixes, and secure coding practices.

Documentation

Improving docs, tutorials, examples, and user guides.

Testing

Adding comprehensive tests, integration tests, and CI/CD improvements.

User Experience

CLI improvements, error messages, and user-friendly features.

Resources Details
Resource Description
Contributing Guide Detailed contribution guidelines and best practices
Code of Conduct Community standards and respectful collaboration
Security Policy Security vulnerability reporting and response
Issue Templates Bug reports and feature request templates
PR Template Pull request guidelines and checklists
Recognition Details
โญ Contributor Recognition: Contributors are featured in release notes and may be invited to join the maintainer team. We follow the all-contributors specification.

Security

Security First: Security is our top priority. OGM Platform implements multiple layers of security protection to ensure safe and reliable operations.
Security Features Details
Security Layer Description Implementation
Automated Scanning Security analysis on every commit Bandit security analysis
Credential Management Encrypted storage with system keyrings Secure authentication
Vulnerability Monitoring Regular dependency security updates Dependabot integration
Code Review Security-focused PR checklists Security review process
Access Control Secure authentication and authorization RBAC and permissions
Reporting Vulnerabilities Details
๐Ÿ”’ Responsible Disclosure: Please see our Security Policy for secure vulnerability reporting procedures.
๐Ÿ“‹ Security Policy Covers:
  • Responsible Disclosure: How to report security vulnerabilities safely
  • Response Process: Our security incident response procedures
  • Supported Versions: Which versions receive security updates
  • Contact Information: Secure channels for vulnerability reports
โš ๏ธ Important: Never report security vulnerabilities through public GitHub issues. Use private channels only.
Security Best Practices Details

Development Security

Regular security audits and penetration testing, secure coding guidelines and reviews.

Dependency Security

Automated dependency vulnerability scanning and regular security updates.

CI/CD Security

Secure CI/CD pipelines with secret management and encrypted communication.

Data Protection

Encrypted communication, secure data handling, and privacy protection.

๐Ÿ“ง Security Contact: If you discover a security issue, please email dev@ogmplatform.com instead of creating a public issue.

License

License Details Summary
๐Ÿ“œ MIT License: This project is licensed under the MIT License - a permissive open-source license that allows for broad use and modification.

This project is licensed under the MIT License - see the LICENSE file for complete details.

MIT License Summary Details

The MIT License is a permissive free software license that allows you to:

  • โœ… Use the software for any purpose
  • โœ… Modify the software and create derivatives
  • โœ… Distribute the software (modified or unmodified)
  • โœ… Use commercially without restrictions
  • โœ… Private use without disclosure requirements
License Requirements Details

The only requirement is to include the original copyright notice and license text in distributions.

๐Ÿ“– Full License: For the complete license text, please see the LICENSE file in the repository root.

Support

๐Ÿ“ž Getting Help: OGM Platform offers comprehensive support through multiple channels. Choose the right channel based on your needs.
Product Owners Details
Owner Credentials Focus
Dr. Geetika Saraf DSC, MCA Technical Leadership
Dr. Manish Saraf DSC, PhD, MBA, MPharm Product Strategy
Contact Information Details

General Support

Email: support@ogmworldwide.com

Questions, issues, and general inquiries

Security Issues

Email: support@ogmworldwide.com

Vulnerabilities and security concerns (private)

Business Inquiries

Email: support@ogmworldwide.com

Partnerships and enterprise opportunities

Documentation & Resources Details
Resource Description
Documentation Complete user guides and API reference
API Reference Comprehensive API documentation
Troubleshooting Guide Common issues and solutions
Best Practices Production deployment guidelines
Issue Tracking Details
๐Ÿ› Bug Reports: Use GitHub Issues with our bug report template for technical issues.
๐Ÿ’ก Feature Requests: Submit feature requests through GitHub Issues using the feature request template.
Community Engagement Details

GitHub Discussions

Join community conversations on:

General Q&A Expert Discussions Project Showcases Use Cases
Professional Support Details
Service Description
Enterprise Support SLA guarantees for mission-critical deployments
Training & Consulting Custom training and implementation services
Custom Development Bespoke feature development and integration
Status & Monitoring Details

CI/CD Status

GitHub Actions

Coverage Reports

Codecov

Package Status

PyPI

Community Recognition Details
โญ Community Contributors: We recognize and appreciate our community through release notes, contributor badges, maintainer invitations, and featured projects.

Changelog

Version History
๐Ÿ“‹ Release Notes: Stay updated with the latest features, bug fixes, and improvements.

See CHANGELOG.md for detailed version history and updates.

๐Ÿ”„ Release Cadence: Regular releases with comprehensive changelogs and migration guides.

Roadmap

Upcoming Features Details

Multi-Cluster Support

Enhanced support for managing multiple Kubernetes clusters simultaneously with unified operations.

Advanced CI/CD Integration

Deeper integration with popular CI/CD platforms and automated deployment pipelines.

Monitoring & Alerting

Built-in monitoring dashboards and intelligent alerting for cluster health and performance.

Plugin System

Extensible plugin architecture for custom components and third-party integrations.

Cloud Provider Integrations

Native integrations with major cloud providers (AWS, GCP, Azure) for seamless deployments.

AI-Powered Operations

Machine learning-driven insights and automated optimization recommendations.

Contributing to the Roadmap Details
๐Ÿ’ก Your Input Matters: We welcome feature requests and contributions. Help shape the future of OGM Platform!
๐Ÿ“‹ How to Contribute:

โ†‘ Back to Top

/home/mksaraf/projects/ogm-platform-package/README.ogm-platform.md

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

ogm_platform-1.0.22.tar.gz (112.5 kB view details)

Uploaded Source

Built Distribution

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

ogm_platform-1.0.22-py3-none-any.whl (88.4 kB view details)

Uploaded Python 3

File details

Details for the file ogm_platform-1.0.22.tar.gz.

File metadata

  • Download URL: ogm_platform-1.0.22.tar.gz
  • Upload date:
  • Size: 112.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for ogm_platform-1.0.22.tar.gz
Algorithm Hash digest
SHA256 5960496dc2e8b8b54469720305de74ecf1fc4d87a35682ca94a231878abb1126
MD5 b2472d5bbb642547d8dcc1a55e57c987
BLAKE2b-256 6be9c261aca2dbe24c0a6849aa695e77b59df04164cedfdf573d426abbe3cfdc

See more details on using hashes here.

File details

Details for the file ogm_platform-1.0.22-py3-none-any.whl.

File metadata

  • Download URL: ogm_platform-1.0.22-py3-none-any.whl
  • Upload date:
  • Size: 88.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for ogm_platform-1.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 018185fad2fdd3aeab313a7822d7138994f8c6e8965977bce1d810813fe6f9c9
MD5 c0c437fb83e240cc5e98794f0b9efc31
BLAKE2b-256 b40319bab63403dc48941c8dd58df97cb0e5c4d195a4ed89fc5e4f405106247e

See more details on using hashes here.

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