Metadata-Version: 2.4
Name: ilum
Version: 0.0.1
Summary: CLI installer and management tool for the Ilum Data Lakehouse platform
Author-email: Ilum <info@ilum.cloud>
License-Expression: Apache-2.0
Keywords: helm,ilum,kubernetes,lakehouse,spark
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Installation/Setup
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.12
Requires-Dist: kubernetes>=28
Requires-Dist: pydantic>=2.5
Requires-Dist: questionary>=2
Requires-Dist: rich>=13
Requires-Dist: ruamel-yaml>=0.18
Requires-Dist: typer>=0.12
Provides-Extra: api
Requires-Dist: fastapi>=0.115; extra == 'api'
Requires-Dist: httpx>=0.27; extra == 'api'
Requires-Dist: pyjwt[crypto]>=2.8; extra == 'api'
Requires-Dist: uvicorn[standard]>=0.30; extra == 'api'
Provides-Extra: build
Requires-Dist: pyinstaller>=6; extra == 'build'
Provides-Extra: dev
Requires-Dist: httpx>=0.27; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-cov>=5; extra == 'dev'
Requires-Dist: pytest-mock>=3.12; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Description-Content-Type: text/markdown

# ilum

CLI tool for deploying and managing the [Ilum Data Lakehouse](https://ilum.cloud) platform on Kubernetes.

Manage Helm-based Ilum deployments with module dependency resolution, values safety, interactive wizards, health checks, and structured output — all from a single command.

## Install

```bash
pip install ilum
```

Requires Python 3.12+.

## Quick Start

```bash
# Interactive setup — walks you through cluster selection and module configuration
ilum init
ilum install

# Or one command — detects/creates a cluster and installs with defaults
ilum quickstart

# Check release status
ilum status

# Enable an optional module (resolves dependencies automatically)
ilum module enable sql
```

## Key Features

- **Install and upgrade** — `ilum install` / `ilum upgrade` with module resolution, stuck-release recovery, and breaking-change warnings
- **32 optional modules** — enable/disable with automatic dependency resolution (`ilum module enable langfuse` pulls in postgresql + clickhouse)
- **Values safety** — every upgrade detects external drift, computes a diff, and shows it for confirmation before applying
- **Health checks** — `ilum doctor` runs 13 checks covering binaries, cluster connectivity, pod health, RBAC, PVCs, and endpoints
- **Deployment presets** — `--preset production`, `--preset data-engineering`, `--preset air-gapped`
- **Local clusters** — `ilum cluster create` spins up k3d/minikube/kind with preset resource profiles
- **Log streaming** — `ilum logs core --follow` tails pod logs by module name
- **Resource monitoring** — `ilum top` shows per-module CPU/memory usage
- **Shell access** — `ilum exec core` opens an interactive shell in any module pod
- **Configuration profiles** — named profiles with cross-platform config (Linux, macOS, Windows)
- **Machine-readable output** — `--output json|yaml|csv` on all query commands for CI/CD pipelines
- **Shell completion** — `ilum --install-completion bash/zsh/fish`

## Commands

| Command | Description |
|---------|-------------|
| `ilum init` | Interactive setup wizard |
| `ilum quickstart` | One-command install with defaults |
| `ilum install` | Install the platform |
| `ilum upgrade` | Upgrade an existing installation |
| `ilum status` | Release info, pod readiness, modules |
| `ilum module enable/disable` | Manage modules with dependency resolution |
| `ilum module list` | List all 32 available modules |
| `ilum doctor` | Run health checks |
| `ilum logs <module>` | Stream pod logs |
| `ilum exec <module>` | Shell into a pod |
| `ilum top` | Resource usage per module |
| `ilum values` | View live Helm values |
| `ilum diff` | Compare values across sources |
| `ilum rollback` | Roll back to a previous revision |
| `ilum config` | Manage CLI configuration and profiles |
| `ilum connect` | Attach to an existing Ilum release |
| `ilum cleanup` | Tiered full-environment teardown |

## Prerequisites

`ilum` wraps Helm and kubectl — these must be available on your machine:

| Tool | Minimum Version |
|------|-----------------|
| Helm | 3.12+ |
| kubectl | 1.28+ |
| Docker | 24.0+ (for local clusters) |

Missing tools? `ilum deps install` will install them for you.

## Links

- [Documentation](https://github.com/ilum-cloud/ilum)
- [Ilum Platform](https://ilum.cloud)
- [Changelog](https://github.com/ilum-cloud/ilum/blob/master/CHANGELOG.md)
