Skip to content

Mochi is a Kubernetes resource optimization tool that analyzes resource usage patterns and provides recommendations for optimal resource requests and limits.

License

Notifications You must be signed in to change notification settings

thread-koder/mochi

Mochi 🍡

License: GPL v3

The sweetest way to optimize your Kubernetes resources! Mochi delivers intelligent resource optimization with advanced analysis, confidence-scored recommendations, safety-first application, and complete change tracking. It features a beautiful terminal interface (TUI) and powerful backend services that make resource optimization as smooth as mochi itself! ✨

The go-to tool for Kubernetes resource optimization - because kubectl top is so 2024

🚀 Features

  • Beautiful Terminal Interface: Interactive TUI that makes resource optimization a joy to use
  • Smart Resource Analysis: Deep dive into CPU, memory, and container-level metrics with historical insights
  • Intelligent Recommendations: Three optimization strategies (Conservative, Balanced, Aggressive) with confidence scoring
  • One-Click Application: Seamlessly apply recommendations to your Kubernetes workloads with built-in safety
  • Recommendation History: Track and manage all your applied recommendations with easy rollback capabilities
  • Cost Analysis: See exactly how much you're spending and how much you could save
  • Export Magic: Export your analysis and recommendations results in JSON, Markdown, or HTML formats
  • REST API: Full programmatic access with health monitoring and workload discovery
  • TimescaleDB Storage: Time-series database that keeps your historical data safe and sound
  • Kubernetes Integration: Works with any cluster using metrics-server - no special setup needed!
  • Container Analysis: Get granular insights into individual container resource usage
  • Safety First: Configurable safety margins and validation rules to keep your workloads happy

🚀 Quick Start

CLI Installation

Get the mochi CLI up and running in seconds:

curl -sSL https://raw.githubusercontent.com/thread-koder/mochi/main/install.sh | bash

Server Installation

Deploy the mochi server using Helm:

helm install mochi ./charts/mochi \
  --set timescaledb.enabled=true

📖 Detailed Installation Guides:

📋 Prerequisites

  • kubernetes cluster (1.31+) with metrics-server installed
  • kubectl configured and connected to your cluster
  • TimescaleDB (for storage)
  • Go 1.25+ (for development and building from source)

🏗️ Architecture

Mochi consists of these components:

  • TUI Client: Beautiful terminal interface for analysis, recommendations, monitoring, and recommendation history
  • API Server: REST API server with health monitoring and workload discovery - the heart of mochi!
  • Metrics Collector: Gathers resource usage data from Kubernetes metrics-server like a pro
  • Analysis Engine: Analyzes CPU, memory, performance, and cost metrics with intelligence
  • Recommendation Engine: Generates optimization recommendations with confidence scoring
  • Storage Backend: TimescaleDB for time-series data storage that keeps everything organized
  • Export System: JSON, Markdown, and HTML export formats for sharing your insights

See Architecture Documentation for the full mochi recipe! 🍡

🤝 Contributing

We'd love to have you join our mochi-making team! 🍡 Please see our Contributing Guide for all the details.

📄 License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

📞 Support

Need help with your mochi? We've got you covered! 🍡


Made with ❤️ for the Kubernetes community

About

Mochi is a Kubernetes resource optimization tool that analyzes resource usage patterns and provides recommendations for optimal resource requests and limits.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages