Command Reference
1. Global Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--output | -س | جدول | Output format: جدول, json, yaml, CSV. |
--هدوء | -س | False | Suppress informational output (errors still shown). |
--verbose | -v | False | Enable verbose/debug output. |
--no-headers | — | False | Omit column headers from table and CSV output. |
--field-selector | — | None | Comma-separated list of fields to include in output (e.g. name,status). |
--version | -V | — | Print version and exit. |
$ ilum --version
$ ilum -v install
$ ilum --output json status
$ ilum --هدوء --output json module list
2. ilum init
Interactive setup wizard for the Ilum CLI.
Synopsis
ilum init [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--yes | -y | False | Non-interactive mode with defaults. |
--profile | -p | افتراضي | Profile name to create. |
Wizard Steps
| Step | Action |
|---|---|
| 1. Preflight | Check for helm (>= 3.12), kubectl (>= 1.28), and docker (>= 24.0). In interactive mode, offers to install any missing or outdated tool automatically using platform-appropriate methods (see المتطلبات المسبقه). In non-interactive mode (--yes), raises an error if a tool is missing. |
| 2. Cluster | Detect kubecontexts or create a local cluster (k3d, minikube, kind). If creating a cluster, also checks for the cluster provider binary and offers to install it. |
| 3. Profile | Prompt for profile name, release name, namespace. |
| 4. Modules | Interactive checkbox grouped by category with dependency resolution. |
| 5. Confirm | Display summary table and ask for confirmation. |
| 6. Save | Write the profile to config.yaml. |
امثله
# Interactive wizard
$ ilum init
# Non-interactive with defaults
$ ilum init --yes
# Create a named profile
$ ilum init --profile staging
3. ilum quickstart
Install Ilum in one command with sensible defaults.
Synopsis
ilum quickstart [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--provider | — | minikube | Local cluster provider if a new cluster is needed (minikube, k3d, نوع). |
--profile | -p | افتراضي | Profile name to create. |
--module | -م | None | Additional module to enable (repeatable). |
--preset | — | None | Deployment preset to apply (e.g. tiny, افتراضي, data-engineering, production). |
--timeout | — | 15m | Helm install timeout. |
Steps Performed
| Step | Action |
|---|---|
| 1. Preflight | Check for helm (>= 3.12), kubectl (>= 1.28), docker (>= 24.0). In interactive mode, offers to install missing tools automatically (see المتطلبات المسبقه). In non-interactive mode, raises an error if a tool is missing. |
| 2. Cluster | Probe current kubecontext. If unreachable, create a local cluster with the ديف preset (4 CPUs, 8 GB). Also checks for the cluster provider binary and offers to install it. |
| 3. Profile | Create a profile with default modules plus any extras from --module. |
| 4. Install | Run helm install مع --atomic, auto-resolve NodePort conflicts. |
Cluster Auto-Detection
Quickstart probes the current kubeconfig context by listing namespaces. If the API server responds within 5 seconds, the existing cluster is used. Otherwise, a new local cluster is created using the provider specified by --provider (default: minikube).
امثله
# Install with all defaults (detects cluster, default modules)
$ ilum quickstart
# Create a k3d cluster instead of minikube
$ ilum quickstart --provider k3d
# Enable additional modules beyond defaults
$ ilum quickstart -م SQL -م airflow
# Use a named profile
$ ilum quickstart --profile staging
# Increase Helm install timeout
$ ilum quickstart --timeout 20m
4. ilum install
Install the Ilum platform via Helm.
Synopsis
ilum install [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--version | — | "" (latest) | Chart version to install. |
--values | -و | None | Values file (repeatable). |
--جبر | — | None | دومان --جبر flag (repeatable). |
--module | -م | None | Module to enable (repeatable). |
--preset | — | None | Deployment preset to apply (e.g. tiny, افتراضي, data-engineering, production). |
--atomic | — | صحيح | استخدام --atomic for Helm install. |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
Module Priority Rule
Modules are resolved in this order:
- Modules passed via
--moduleflags. - Modules saved in the active profile (
get_enabled_modules). - Default-enabled modules from the module registry.
NodePort Conflict Resolution
Before Helm install, the CLI checks for NodePort conflicts on the cluster. If a default NodePort (e.g. 31777 for ilum-ui) is already allocated, the user is prompted to select a free port. In --yes mode, a free port is auto-assigned.
امثله
# Install with defaults
$ ilum install
# Install a specific version with modules
$ ilum install --version 6.7.0 --module جوبيتر --module SQL
# Install into a custom namespace, non-interactive
$ ilum install -ن ilum-prod -r ilum-prod --yes
# Dry-run preview
$ ilum install --dry-run
# Install with custom values file and overrides
$ ilum install -و custom-values.yaml --جبر ilum-core.replicaCount=3
5. ilum upgrade
Upgrade an existing Ilum installation.
Synopsis
ilum upgrade [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--version | — | "" (latest) | Chart version to upgrade to. |
--values | -و | None | Values file (repeatable). |
--جبر | — | None | دومان --جبر flag (repeatable). |
--module | -م | None | Module to enable (repeatable). |
--atomic | — | صحيح | استخدام --atomic for Helm upgrade. |
--force-rollback | — | False | Rollback a stuck release before upgrading. |
--reset-defaults | — | False | Reset to new chart defaults before applying user values (uses Helm's --reset-then-reuse-values). Enabled automatically when the chart version changes. |
--إعادة استخدام القيم | — | False | Force reuse of previous values even when chart version changes. Overrides the automatic --reset-defaults behavior. |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
Values Safety Pipeline
- Stuck release detection -- if the release is in
pending-install,pending-upgradeأوpending-rollbackstate, the CLI blocks unless--force-rollbackis passed. - Auto-reset chart defaults -- when the chart version changes, the CLI automatically uses
--reset-then-reuse-valuesso new chart defaults (e.g. updated image tags) take effect. Pass--إعادة استخدام القيمto opt out. - Drift detection -- external changes made since the last CLI operation are displayed as a diff table and preserved during upgrade.
- Breaking change warnings -- version transitions are checked for known breaking changes.
- No-op detection -- if the target version matches the current version and there are no value changes or new modules, the CLI exits early with a success message.
امثله
# Upgrade to latest
$ ilum upgrade
# Upgrade to a specific version
$ ilum upgrade --version 6.8.0
# Recover a stuck release and upgrade
$ ilum upgrade --force-rollback
# Upgrade with additional modules
$ ilum upgrade --module airflow --module superset
# Dry-run preview
$ ilum upgrade --dry-run
6. ilum uninstall
Uninstall the Ilum platform.
Synopsis
ilum uninstall [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--delete-data | — | False | Delete PersistentVolumeClaims after uninstall. |
--delete-namespace | — | False | Delete the namespace after uninstall. |
Idempotent Behavior
If the release does not exist, ilum uninstall exits with code 0 and prints an informational message. It does not fail.
Destructive Flag Confirmation
When --delete-data أو --delete-namespace is passed (without --yes), the user must type the release name to confirm.
امثله
# Standard uninstall
$ ilum uninstall
# Uninstall and delete all data
$ ilum uninstall --delete-data
# Uninstall, delete data, and delete namespace
$ ilum uninstall --delete-data --delete-namespace --yes
# Dry-run preview
$ ilum uninstall --dry-run
6b. ilum cleanup
Full environment teardown with tiered, opt-in destructiveness. Combines uninstall, cluster deletion, config removal, dependency removal, and CLI self-uninstall into a single command.
Synopsis
ilum cleanup [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--cluster | — | False | Also delete CLI-managed local k8s cluster. |
--config | — | False | Also remove CLI config/state/cache directories. |
--deps | — | False | Also remove dependencies (helm, kubectl, minikube, k3d, kind, docker). |
--self | — | False | Also uninstall the CLI itself (always last, never included in --all). |
--all | — | False | Shorthand for --cluster --config --deps. |
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--yes | -y | False | Skip all confirmations. |
--dry-run | — | False | Preview without executing. |
Tiers
The command executes in order:
- Tier 1 (always): Uninstall Helm release + delete PVCs + delete namespace. Requires typing release name to confirm.
- Tier 2 (
--cluster): Delete CLI-managed local cluster. Requires typing cluster name. - Tier 3 (
--config): Remove CLI directories and Helm repo. Requires typingحذف. - Tier 4 (
--deps): Remove dependencies. Requires typingREMOVEper tool (orREMOVE DOCKERfor Docker). - Tier 5 (
--self): Uninstall the CLI itself. Requires typingUNINSTALL.
Each tier is independent -- if one fails, the next still runs.
امثله
# Preview what would be removed
$ ilum cleanup --all --dry-run
# Uninstall release only (Tier 1)
$ ilum cleanup --yes
# Full teardown: release + cluster + config + dependencies
$ ilum cleanup --all --yes
# Full teardown including CLI itself
$ ilum cleanup --all --self --yes
# Just release + cluster, skip deps
$ ilum cleanup --cluster --yes
7. ilum connect
Connect the CLI to an existing Ilum installation.
Synopsis
ilum connect [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | None | Helm release name (skips auto-detection). |
--namespace | -ن | None | Kubernetes namespace (scans all if omitted). |
--context | — | None | Kubernetes context. |
--profile | -p | افتراضي | Profile name to create or update. |
--yes | -y | False | Skip confirmation prompts. |
--no-switch | — | False | Don't switch active profile after connecting. |
Auto-detect vs Direct Mode
| Condition | Mode | Behavior |
|---|---|---|
--release و --namespace both set | Direct | Validate the specific release in the given namespace. |
--release set, --namespace omitted | Scan | Scan all namespaces for the named release. |
| Neither set | Scan | Scan all namespaces for any Ilum releases. |
When multiple releases are found in scan mode, a table is displayed and the user selects one. In --yes mode, the first release is auto-selected.
Post-connect Actions
- Enabled modules are detected from live Helm values and synced to the profile.
- A values snapshot is saved for drift detection.
- Stuck releases produce a warning with recovery instructions.
امثله
# Auto-detect
$ ilum connect
# Direct mode
$ ilum connect --release إيلوم --namespace production
# Connect to a named profile
$ ilum connect --profile staging
# Non-interactive
$ ilum connect --yes
8. ilum status
Show the status of an Ilum installation.
Synopsis
ilum status [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--pods/--no-pods | — | صحيح | Show pod readiness. |
--modules/--no-modules | — | صحيح | Show enabled modules. |
--wait | -w | False | Block until all pods are ready. |
--wait-timeout | — | 300 | Seconds to wait when --wait is used (0 = unlimited). |
--events | — | False | Include recent Kubernetes events in output. |
--events-type | — | None | Filter events by type: Normal, تحذير. |
--events-since | — | 5m | Show events newer than this duration (e.g. 10m, 1h). |
امثله
# Full status
$ ilum status
# Status without pod details
$ ilum status --no-pods
# Status for a specific release
$ ilum status -r my-ilum -ن staging
# Wait for all pods to become ready (up to 5 minutes)
$ ilum status --wait
# Wait with a custom timeout
$ ilum status --wait --wait-timeout 600
# Include recent warning events
$ ilum status --events --events-type Warning
# Show events from the last hour
$ ilum status --events --events-since 1h
8b. ilum values
View or export live Helm values for the current release.
Synopsis
ilum values [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--path | — | None | Dot-notation path to a specific key (e.g. ilum-core.replicaCount). |
--all | -a | False | Show all computed values (chart defaults + overrides), not just user-supplied. |
--diff | — | False | Show a diff between user-supplied values and chart defaults. |
--revision | — | None | Show values from a specific Helm revision number. |
--export | — | None | Export values to a file path instead of printing to stdout. |
امثله
# Show user-supplied values
$ ilum values
# Show a specific key
$ ilum values --path ilum-core.replicaCount
# Show all computed values
$ ilum values --all
# Show values from a previous revision
$ ilum values --revision 3
# Diff user values against chart defaults
$ ilum values --diff
# Export values to a file
$ ilum values --export my-values.yaml
# Combine path filter with JSON output
$ ilum values --path mongodb --output json
8c. ilum diff
Compare Helm values across different sources.
Synopsis
ilum diff [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--source | -ق | defaults | Source to compare live values against: defaults, ملف, revision, snapshot. |
--values-file | -و | None | Values file to compare against (required when --source file). |
--revision | — | None | Helm revision number to compare against (required when --source revision). |
--path | — | None | Dot-notation path to limit comparison scope (e.g. إيلوم كور). |
Source Modes
| Source | وصف |
|---|---|
defaults | Compare live values against chart default values. |
ملف | Compare live values against a local values file. |
revision | Compare live values against a previous Helm revision. |
snapshot | Compare live values against the last CLI snapshot (drift detection). |
امثله
# Diff live values against chart defaults
$ ilum diff
# Diff against a local values file
$ ilum diff --source ملف --values-file custom-values.yaml
# Diff against a specific revision
$ ilum diff --source revision --revision 2
# Diff against the last CLI snapshot (detect drift)
$ ilum diff --source snapshot
# Limit diff to a specific path
$ ilum diff --path إيلوم كور
8d. ilum rollback
Roll back the Ilum release to a previous Helm revision.
Synopsis
ilum rollback [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--revision | — | None | Target revision number (defaults to previous revision if omitted). |
--dry-run | — | False | Preview the rollback without executing. |
--yes | -y | False | Skip confirmation prompt. |
--timeout | — | 10m | Helm timeout. |
امثله
# Rollback to the previous revision
$ ilum rollback
# Rollback to a specific revision
$ ilum rollback --revision 3
# Dry-run preview
$ ilum rollback --dry-run
# Non-interactive rollback
$ ilum rollback --revision 5 --yes
# Rollback with a longer timeout
$ ilum rollback --timeout 15m
8e. ilum exec
Open an interactive shell session inside a module's pod.
Synopsis
ilum exec MODULE [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
MODULE | نعم | Module name (e.g. لب, جوبيتر, SQL). |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--shell | — | /bin/sh | Shell binary to use (e.g. /bin/bash). |
--container | -c | None | Container name (auto-detected if omitted). |
--pod | — | None | Specific pod name (auto-detected if omitted). |
--command | — | None | Run a single command instead of opening an interactive shell. |
امثله
# Open a shell in the core pod
$ ilum exec لب
# Use bash instead of sh
$ ilum exec لب --shell /bin/bash
# Exec into a specific container
$ ilum exec جوبيتر --container ilum-jupyter
# Run a single command
$ ilum exec لب --command "cat /opt/ilum/conf/application.conf"
# Exec into a specific pod
$ ilum exec لب --pod ilum-core-0
8f. ilum top
Show resource usage (CPU and memory) for module pods.
Synopsis
ilum top [MODULE] [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
MODULE | لا | Module name to filter (shows all modules if omitted). |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--sort-by | — | cpu | Sort column: cpu, memory, اسم. |
--watch | -w | False | Continuously refresh the display. |
--interval | — | 5 | Refresh interval in seconds when --watch is used. |
امثله
# Show resource usage for all modules
$ ilum أعلى
# Show resource usage for a specific module
$ ilum أعلى لب
# Sort by memory usage
$ ilum أعلى --sort-by memory
# Watch mode with 10-second refresh
$ ilum أعلى --watch --interval 10
# JSON output for scripting
$ ilum أعلى --output json
9. ilum logs
Show logs for an Ilum module's pod.
Synopsis
ilum logs MODULE [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
MODULE | نعم | Module name (e.g. لب, جوبيتر, SQL). |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--follow | -و | False | Stream logs in real time. |
--tail | — | 100 | Number of lines to show (0 for all). |
--container | -c | None | Container name (auto-detected if omitted). |
--previous | -p | False | Show logs from previously terminated container. |
--max-duration | — | 0 | وقف --follow after N seconds (0 = unlimited). |
Piping Note
Output is written to stdout via typer.echo, so logs can be piped to other tools:
$ ilum logs core --tail 0 | grep ERROR
$ ilum logs core -و | tee /tmp/core.log
امثله
# Last 100 lines from core
$ ilum logs core
# Stream jupyter logs
$ ilum logs jupyter --follow
# All logs from a specific container
$ ilum logs core --tail 0 --container إيلوم كور
# Previous container logs (after restart)
$ ilum logs core --previous
10. ilum doctor
Run health checks on the Ilum installation.
Synopsis
ilum doctor [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--release | -r | from profile | Helm release name. |
--check | -c | None | Run a single check by name. |
--failures-only | — | False | Only show failed and warning checks. |
--fix | — | False | Auto-fix simple issues (e.g., add missing Helm repo). |
Checks Table
| Check Name | Phase | What it verifies |
|---|---|---|
helm | 1 - Binaries | Helm is installed and version >= 3.12 |
كوبيكتل | 1 - Binaries | kubectl is installed and version >= 1.28 |
docker | 1 - Binaries | Docker is installed and version >= 24.0 |
helm-repo | 2 - Helm repo | ال إيلوم Helm repo is configured (charts.ilum.cloud) |
عنقود | 3 - Connectivity | Kubernetes cluster is reachable |
Namespace | 4 - Cluster-dependent | Target namespace exists |
pods | 4 - Cluster-dependent | All pods are healthy (detects CrashLoopBackOff) |
pvcs | 4 - Cluster-dependent | All PVCs are bound (detects Pending PVCs) |
rbac | 4 - Cluster-dependent | Required RBAC permissions are granted |
release | 4 - Cluster-dependent | Helm release exists and is not stuck or failed |
compatibility | 4 - Cluster-dependent | Kubernetes version >= 1.28 |
service-endpoints | 4 - Cluster-dependent | Service endpoints have ready addresses |
health-endpoints | 4 - Cluster-dependent | Health check endpoints respond for core, airflow, superset, minio |
Phase Gating
If the عنقود check fails (phase 3), all phase-4 checks are skipped with status SKIP.
امثله
# Run all checks
$ ilum doctor
# Run a single check
$ ilum doctor --check pods
# Check against a specific release
$ ilum doctor -r my-ilum -ن staging
11. ilum module
Manage Ilum platform modules.
11.1 ilum module list
List all available Ilum modules.
Synopsis
ilum module list [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--category | -c | None | Filter by category. |
--enabled/--disabled | — | None | Filter by default-enabled status. |
--search | -ق | None | Search modules by name or description. |
امثله
# List all modules
$ ilum module list
# List only notebook modules
$ ilum module list --category notebook
# List only default-enabled modules
$ ilum module list --enabled
# Search for modules matching a term
$ ilum module list --search كافكا
11.2 ilum module show
Show detailed information about a module.
Synopsis
ilum module show NAME
Arguments
| Argument | Required | وصف |
|---|---|---|
NAME | نعم | Module name to inspect. |
امثله
$ ilum module show sql
$ ilum module show hive-metastore
11.3 ilum module tree
Show the dependency tree for a module with resource estimates.
Synopsis
ilum module tree NAME
Arguments
| Argument | Required | وصف |
|---|---|---|
NAME | نعم | Module name to display tree for. |
امثله
$ ilum module tree sql
$ ilum module tree langfuse
11.4 ilum module enable
Enable one or more modules on a running Ilum release.
Synopsis
ilum module enable MODULES... [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
MODULES | نعم | Modules to enable (one or more). |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--جبر | — | None | Additional Helm --جبر flag (repeatable). |
--reset-defaults | — | False | Reset to new chart defaults before applying user values. Use when upgrading across chart versions with breaking changes. |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
امثله
# Enable a single module
$ ilum module enable جوبيتر
# Enable multiple modules
$ ilum module enable airflow superset
# Enable with additional Helm overrides
$ ilum module enable SQL --جبر ilum-sql.replicaCount=2
# Dry-run preview
$ ilum module enable trino --dry-run
11.5 ilum module disable
Disable one or more modules on a running Ilum release.
Synopsis
ilum module disable MODULES... [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
MODULES | نعم | Modules to disable (one or more). |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--جبر | — | None | Additional Helm --جبر flag (repeatable). |
--reset-defaults | — | False | Reset to new chart defaults before applying user values. Use when upgrading across chart versions with breaking changes. |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
امثله
# Disable a module
$ ilum module disable zeppelin
# Disable multiple modules
$ ilum module disable airflow superset
# Dry-run preview
$ ilum module disable kafka --dry-run
11.6 ilum module status
Show live module status on a running Ilum release.
Synopsis
ilum module status [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--category | -c | None | Filter by module category. |
--timeout | — | 10m | Helm timeout. |
امثله
# Show all module statuses
$ ilum module status
# Filter by category
$ ilum module status --category orchestration
12. ilum config
Manage Ilum CLI configuration.
12.1 ilum config show
Show the current configuration (or a specific key).
Synopsis
ilum config show [KEY]
Arguments
| Argument | Required | وصف |
|---|---|---|
KEY | لا | Dot-notation key to display (e.g. active_profile). |
امثله
# Show full config
$ ilum config show
# Show a specific key
$ ilum config show active_profile
12.2 ilum config set
Set a configuration value.
Synopsis
ilum config set KEY VALUE
Arguments
| Argument | Required | وصف |
|---|---|---|
KEY | نعم | Dot-notation key (e.g. active_profile). |
VALUE | نعم | Value to set. |
امثله
$ ilum config جبر active_profile staging
12.3 ilum config path
Print the configuration file path.
Synopsis
ilum config path
امثله
# Linux / macOS
$ ilum config path
/home/user/.config/ilum/config.yaml
# Windows
PS> ilum config path
C:\Users\مستخدم\AppData\Roaming\إيلوم\config.yaml
12.4 ilum config init
Create a default configuration file.
Synopsis
ilum config init [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--force | -و | False | Overwrite existing config. |
امثله
# Create config if it doesn't exist
$ ilum config init
# Overwrite existing config
$ ilum config init --force
12.5 ilum config edit
Open the configuration file in $EDITOR (falls back to vi on Linux/macOS, notepad on Windows).
Synopsis
ilum config edit
امثله
$ EDITOR=nano ilum config edit
12.6 ilum config use
Switch the active profile.
Synopsis
ilum config use PROFILE
Arguments
| Argument | Required | وصف |
|---|---|---|
PROFILE | نعم | Profile name to switch to. |
امثله
$ ilum config use staging
$ ilum config use production
12.7 ilum config list-profiles
List all configured profiles.
Synopsis
ilum config list-profiles
امثله
$ ilum config list-profiles
12.8 ilum config validate
Validate the configuration file for correctness.
Synopsis
ilum config validate
امثله
$ ilum config validate
12.9 ilum config backup
Create a backup copy of the configuration file.
Synopsis
ilum config backup
امثله
$ ilum config backup
12.10 ilum config export
Export a profile for team sharing.
Synopsis
ilum config export PROFILE [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
PROFILE | نعم | Profile name to export. |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--out | -س | | Output file path. |
امثله
# Export to default filename
$ ilum config export production
# Export to a specific file
$ ilum config export production --out prod-profile.yaml
12.11 ilum config import
Import a profile from a file.
Synopsis
ilum config import FILE [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
FILE | نعم | Path to the profile file to import. |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--اسم | -ن | from file | Profile name to use. |
امثله
# Import with the name from the file
$ ilum config استورد prod-profile.yaml
# Import with a custom name
$ ilum config استورد prod-profile.yaml --اسم production
13. ilum cluster
Manage local Kubernetes clusters.
13.1 ilum cluster create
Create a local Kubernetes cluster.
Synopsis
ilum cluster create [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--provider | — | k3d | Cluster provider: minikube, k3d, نوع. |
--preset | — | ديف | Resource preset: ديف, full. |
--اسم | — | "" (from preset) | Cluster name. |
Presets Table
| Preset | CPUs | ذاكرة | Default Name |
|---|---|---|---|
ديف | 6 | 12g | ilum-dev |
full | 8 | 18g | إيلوم |
امثله
# Create with defaults (k3d, dev preset)
$ ilum cluster create
# Create a minikube cluster with full resources
$ ilum cluster create --provider minikube --preset full
# Create with a custom name
$ ilum cluster create --اسم my-ilum-cluster
13.2 ilum cluster delete
Delete a local Kubernetes cluster.
Synopsis
ilum cluster delete NAME
Arguments
| Argument | Required | وصف |
|---|---|---|
NAME | نعم | Cluster name to delete. |
امثله
$ ilum cluster delete ilum-dev
13.3 ilum cluster list
List tracked local Kubernetes clusters.
Synopsis
ilum cluster list
امثله
$ ilum cluster list
14. ilum preset list
List all available deployment presets.
Synopsis
ilum preset list
وصف
Lists all available deployment presets with their names, descriptions, and module counts. Presets are curated collections of modules designed for common deployment scenarios. The output is a Rich table with three columns: Name, Description, and Modules.
Output Columns
| عمود | وصف |
|---|---|
| اسم | Preset identifier used with --preset flags. |
| وصف | Short summary of the preset's purpose. |
| وحدات | Number of modules included in the preset. |
امثله
# List all presets
$ ilum preset list
15. ilum airgap images
List container images required by selected modules.
Synopsis
ilum airgap images [OPTIONS]
وصف
Lists all container images required by the selected modules. Image references are extracted by running helm template against the chart and parsing the rendered manifests for container image fields. This is useful for pre-pulling images or preparing air-gapped environments.
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--preset | — | None | Deployment preset to select modules from. |
--module | -م | None | Module to include (repeatable). |
--version | — | "" (latest) | Chart version to template. |
--format | — | جدول | Output format: جدول أو plain. |
امثله
# List images for default modules
$ ilum airgap images
# List images for a preset
$ ilum airgap images --preset production
# List images for specific modules
$ ilum airgap images -م لب -م جوبيتر -م mongodb
# Plain output for scripting
$ ilum airgap images --preset tiny --format plain
# List images for a specific chart version
$ ilum airgap images --version 6.7.0
16. ilum airgap export
Export images and chart into a portable air-gapped bundle.
Synopsis
ilum airgap export OUTPUT_DIR [OPTIONS]
وصف
Exports the Helm chart and all required container images into a portable bundle directory. The bundle includes a manifest.json file describing the contents, chart version, and image list. This bundle can be transferred to an air-gapped environment and imported with ilum airgap import.
Arguments
| Argument | Required | وصف |
|---|---|---|
OUTPUT_DIR | نعم | Directory to write the bundle to. Created if it does not exist. |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--preset | — | None | Deployment preset to select modules from. |
--module | -م | None | Module to include (repeatable). |
--version | — | "" (latest) | Chart version to export. |
امثله
# Export default modules
$ ilum airgap export ./bundle
# Export a specific preset
$ ilum airgap export ./bundle --preset analyst
# Export specific modules and version
$ ilum airgap export ./bundle -م لب -م جوبيتر --version 6.7.0
17. ilum airgap import
Import an air-gapped bundle into a private container registry.
Synopsis
ilum airgap import BUNDLE_DIR --registry URL
وصف
Imports a previously exported air-gapped bundle into a private container registry. Reads the manifest.json from the bundle directory, loads the container images, re-tags them for the target registry, and pushes them. The Helm chart is also made available for installation from the bundle.
Arguments
| Argument | Required | وصف |
|---|---|---|
BUNDLE_DIR | نعم | Path to the bundle directory created by ilum airgap export. |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--registry | — | مطلوب | Target container registry URL (e.g. registry.internal:5000). |
امثله
# Import bundle into a private registry
$ ilum airgap استورد ./bundle --registry registry.internal:5000
# Import from an absolute path
$ ilum airgap استورد /mnt/usb/ilum-bundle --registry harbor.corp.local/ilum
18. ilum history
View the operation audit log.
Synopsis
ilum history [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--last | -ن | 20 | Number of recent operations to show. |
--operation | — | None | Filter by operation type (install, upgrade, enable, disable, uninstall). |
--release | -r | from profile | Filter by Helm release name. |
امثله
# Show recent operations
$ ilum تاريخ
# Show last 5 operations
$ ilum تاريخ --last 5
# Filter by operation type
$ ilum تاريخ --operation upgrade
# JSON output for CI/CD
$ ilum تاريخ --last 10 --output json
19. ilum deps
Manage CLI dependencies (helm, kubectl, docker, k3d, etc.).
ilum deps install
Install missing CLI dependencies.
Synopsis
ilum deps install [TOOL...] [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
TOOL | لا | One or more tool names to install. If omitted, installs all core tools (helm, kubectl, docker) plus the selected provider. |
Options
| Flag | افتراضي | وصف |
|---|---|---|
--provider | k3d | Cluster provider to install: k3d, minikube, نوع. |
--dry-run | False | Preview what would be installed without executing. |
امثله
# Install all missing core tools + default provider (k3d)
$ ilum deps install
# Install only specific tools
$ ilum deps install helm kubectl
# Install with a different provider
$ ilum deps install --provider نوع
# Preview without executing
$ ilum deps install --dry-run
ilum deps list
List CLI dependencies and their status.
Synopsis
ilum deps list
امثله
$ ilum deps list
19b. ilum access
Manage access to the Ilum UI via port-forward, NodePort, or ingress.
ilum access open
Open the Ilum UI in a browser.
Synopsis
ilum access open [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--access | -a | from profile | Access method: nodeport, port-forwardأو مدخل. |
--port | -p | 9777 | Local port to forward to (port-forward mode). |
--address | — | 127.0.0.1 | Local address to bind to (port-forward mode). |
--no-browser | — | False | Don't open a browser automatically. |
امثله
# Open UI with default access method (from profile)
$ ilum access open
# Open via port-forward on a custom port
$ ilum access open --access port-forward --port 8080
# Open via NodePort without launching browser
$ ilum access open --access nodeport --no-browser
# Open via ingress
$ ilum access open --access مدخل
ilum access ingress enable
Enable ingress for the Ilum UI via Helm upgrade.
Synopsis
ilum access ingress enable --host HOSTNAME [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--host | — | مطلوب | Ingress hostname. |
--tls | — | False | Enable TLS. |
--tls-secret | — | "" | TLS secret name. |
--فصل | — | "" | Ingress class name. |
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--جبر | — | None | Additional Helm --جبر flag (repeatable). |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
امثله
# Enable ingress with a hostname
$ ilum access ingress enable --host ilum.example.com
# Enable ingress with TLS
$ ilum access ingress enable --host ilum.example.com --tls
# Enable with a specific ingress class
$ ilum access ingress enable --host ilum.example.com --فصل nginx
ilum access ingress disable
Disable ingress for the Ilum UI.
Synopsis
ilum access ingress disable [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--جبر | — | None | Additional Helm --جبر flag (repeatable). |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
امثله
# Disable ingress
$ ilum access ingress disable --yes
ilum access ingress show
Show the current ingress configuration.
Synopsis
ilum access ingress show [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
امثله
# Show ingress config
$ ilum access ingress show
# JSON output
$ ilum access ingress show --output json
19c. ilum auth
Manage authentication and OAuth configuration.
ilum auth setup
Interactive authentication setup wizard. Guides you through selecting an auth mode (internal Hydra, external OAuth2, or disable), choosing a provider, and collecting required parameters.
Synopsis
ilum auth setup [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--جبر | — | None | Additional Helm --جبر flag (repeatable). |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
امثله
# Launch the interactive auth wizard
$ ilum auth setup
# Dry-run preview of auth changes
$ ilum auth setup --dry-run
ilum auth enable
Enable authentication with a specific provider non-interactively.
Synopsis
ilum auth enable PROVIDER [OPTIONS]
Arguments
| Argument | Required | وصف |
|---|---|---|
PROVIDER | نعم | Provider name (e.g. google, هيدرا, oidc, okta, gitlab, عباءة المفتاح, cognito, azure). |
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--client-id | — | None | OAuth2 Client ID. |
--client-secret | — | None | OAuth2 Client Secret. |
--domain | — | None | Domain (Hydra UI domain or Okta domain). |
--protocol | — | None | Protocol — Hydra: HTTP أو https. |
--url | — | None | Provider URL (GitLab, Keycloak). |
--realm | — | None | Keycloak realm name. |
--region | — | None | AWS region (Cognito). |
--user-pool-id | — | None | Cognito User Pool ID. |
--tenant-id | — | None | Azure AD Tenant ID. |
--issuer-uri | — | None | OIDC Issuer URI. |
--scope | — | None | OAuth2 scopes. |
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--جبر | — | None | Additional Helm --جبر flag (repeatable). |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
امثله
# Enable Hydra (internal) auth
$ ilum auth enable هيدرا --domain ilum.example.com --yes
# Enable Google OAuth2
$ ilum auth enable google --client-id MY_ID --client-secret MY_SECRET --yes
# Enable a generic OIDC provider
$ ilum auth enable oidc --issuer-uri https://auth.example.com --client-id MY_ID --client-secret MY_SECRET
ilum auth disable
Disable OAuth and revert to internal authentication.
Synopsis
ilum auth disable [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
--جبر | — | None | Additional Helm --جبر flag (repeatable). |
--yes | -y | False | Skip confirmation prompt. |
--dry-run | — | False | Preview without executing. |
--timeout | — | 10m | Helm timeout. |
امثله
# Disable OAuth
$ ilum auth disable --yes
ilum auth status
Show the current authentication configuration from live Helm values.
Synopsis
ilum auth status [OPTIONS]
Options
| Flag | Short | افتراضي | وصف |
|---|---|---|---|
--release | -r | from profile | Helm release name. |
--namespace | -ن | from profile | Kubernetes namespace. |
--context | — | from profile | Kubernetes context. |
امثله
# Show auth status
$ ilum auth status
# JSON output
$ ilum auth status --output json
ilum auth list
List all available authentication providers.
Synopsis
ilum auth list
امثله
$ ilum auth list
20. Prerequisites
The CLI requires the following tools to be installed on your system. These are checked during the preflight step of ilum init, ilum quickstart, and before operations like ilum install و ilum upgrade.
Required Tools
| Tool | Minimum Version | Purpose |
|---|---|---|
helm | >= 3.12 | Deploys and manages the Ilum Helm chart |
كوبيكتل | >= 1.28 | Communicates with the Kubernetes cluster |
docker | >= 24.0 | Container runtime for local clusters and image operations |
Cluster Providers (optional)
One of these is required only if creating a local cluster via ilum cluster create:
| Provider | وصف |
|---|---|
k3d | Lightweight k3s clusters in Docker containers (default provider) |
minikube | Full Kubernetes in a VM or container |
نوع | Kubernetes-in-Docker for testing |
Automatic Installation
When running in an interactive terminal (TTY connected to stdin), the CLI offers to install missing or outdated tools automatically. This applies to:
ilum init(wizard preflight step)ilum quickstart(preflight step)ilum cluster create(cluster provider check)- Any command that calls
ensure_tool()internally
The install methods are platform-specific:
| Platform | Method | مثل |
|---|---|---|
| Linux | Official install scripts or direct binary downloads | curl -fsSL https://get.docker.com | sh |
| macOS | Homebrew | brew install helm |
| Windows | winget | winget install --id Helm.Helm |
After installation, the CLI re-checks the tool version. If the check fails, it displays the tool's manual install URL.
Non-Interactive Behavior
في non-interactive environments (CI/CD, scripts, piped output, --yes mode without TTY), the CLI does لا offer auto-installation. Instead, it raises a PrerequisiteError (error code ILUM-001) with a manual install link:
Error: kubectl is required but not available [ILUM-001]
Suggestion: Install manually: https://kubernetes.io/docs/tasks/tools/
For CI/CD pipelines, install all required tools before invoking the CLI. See the guide's CI/CD section for an example GitHub Actions workflow.
Supported Tools and Install URLs
Docker Post-Install (Linux)
On Linux, after installing Docker the CLI automatically:
- Adds the current user to the
dockergroup (requires sudo) - Starts the Docker daemon via
systemctl - Warns that a logout/login (or
newgrp docker) may be required for group permissions
If passwordless sudo is not available, the CLI prints the manual commands instead.
21. Error Codes
Structured error codes for programmatic error handling (see also المتطلبات المسبقه من أجل ILUM-001 و ILUM-002):
| رمز | Category | Title |
|---|---|---|
| ILUM-001 | prerequisite | Tool not found |
| ILUM-002 | prerequisite | Tool version too old |
| ILUM-010 | عنقود | Cluster unreachable |
| ILUM-011 | عنقود | Namespace not found |
| ILUM-020 | helm | Helm command failed |
| ILUM-021 | helm | Helm timeout |
| ILUM-022 | helm | Release stuck |
| ILUM-023 | helm | Release not found |
| ILUM-024 | helm | Release already exists |
| ILUM-030 | التكوين | Config file invalid |
| ILUM-031 | التكوين | Config key not found |
| ILUM-040 | module | Unknown module |
| ILUM-041 | module | Module conflict |
| ILUM-050 | القيم | Values parse error |
| ILUM-051 | القيم | Values drift detected |
| ILUM-070 | exec | Exec failed / No pods found |
| ILUM-071 | events | Events query failed |
| ILUM-072 | المقاييس | Metrics unavailable |
| ILUM-073 | helm | Rollback failed |
Error codes appear in both human-readable output and structured JSON/YAML output, enabling CI/CD pipelines to handle specific error conditions programmatically.
22. Module Registry
All 32 modules registered in MODULE_REGISTRY, grouped by category.
Core
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
لب | Ilum backend API (Spring Boot on Spark) | نعم | — | — |
واجهة المستخدم | Ilum web frontend (React + Nginx reverse proxy) | نعم | لب | — |
livy-proxy | Livy-compatible Spark session proxy | لا | لب | — |
واجهة برمجة التطبيقات | Ilum REST API for module management | نعم | لب | — |
Infrastructure
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
mongodb | MongoDB document store for metadata | نعم | — | — |
كافكا | Apache Kafka event bus | لا | لب | — |
postgresql | PostgreSQL relational database | نعم | — | — |
clickhouse | ClickHouse columnar analytics database | لا | — | — |
جيتا | Gitea self-hosted Git service | نعم | postgresql | — |
خزن
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
rustfs | RustFS S3-compatible object storage (bundled, opt-in; planned default in 6.8.0) | لا | — | مينيو (when both flagged as the active provider) |
مينيو | MinIO S3-compatible object storage (bundled default in 6.7.x) | نعم | — | rustfs (when both flagged as the active provider) |
دفتر
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
جوبيتر | Jupyter notebook server with Sparkmagic | نعم | لب | — |
jupyterhub | Multi-user JupyterHub (Kubernetes >= 1.28) | لا | لب | — |
zeppelin | Apache Zeppelin notebook server | لا | لب | — |
SQL
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
SQL | Ilum SQL engine (Kyuubi) | نعم | postgresql, لب | — |
ترينو | Trino distributed SQL query engine | لا | hive-metastore, SQL | — |
hive-metastore | Hive Metastore service | نعم | postgresql, لب | نيسي, unity-catalog |
نيسي | Nessie versioned data catalog | لا | postgresql | hive-metastore, unity-catalog |
unity-catalog | Unity Catalog for data governance | لا | postgresql | hive-metastore, نيسي |
تزامن
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
airflow | Apache Airflow workflow orchestration | لا | postgresql | — |
kestra | Kestra declarative orchestration engine | لا | postgresql | — |
ن8ن | n8n workflow automation platform | لا | postgresql | — |
nifi | Apache NiFi data integration | لا | لب | — |
mageai | Mage.ai data pipeline tool | لا | postgresql | — |
Analytics
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
superset | Apache Superset BI dashboards | لا | postgresql | — |
streamlit | Streamlit interactive data applications | لا | لب | — |
marquez | Marquez data lineage tracking | نعم | postgresql | — |
AI
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
ملفلو | MLflow experiment tracking and model registry | لا | postgresql | — |
langfuse | Langfuse LLM observability platform | لا | postgresql, clickhouse | — |
رصد
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
رصد | Prometheus + Grafana monitoring stack | لا | — | — |
loki | Grafana Loki log aggregation | لا | — | — |
graphite | Graphite metrics exporter | لا | — | — |
أمن
| اسم | وصف | افتراضي | Dependencies | Conflicts |
|---|---|---|---|---|
OpenLDAP | OpenLDAP directory service | لا | — | — |
Enable/Disable Flags Reference
| Module | Enable Flags | Disable Flags |
|---|---|---|
لب | ilum-core.enabled=true | ilum-core.enabled=false |
واجهة المستخدم | ilum-ui.enabled=true | ilum-ui.enabled=false |
livy-proxy | ilum-livy-proxy.legacy.enabled=true | ilum-livy-proxy.legacy.enabled=false |
mongodb | mongodb.enabled=true | mongodb.enabled=false |
كافكا | kafka.enabled=true, ilum-core.communication.type=kafka | kafka.enabled=false, ilum-core.communication.type=grpc |
postgresql | postgresql.enabled=true | postgresql.enabled=false |
clickhouse | clickhouse.enabled=true | clickhouse.enabled=false |
جيتا | gitea.enabled=true | gitea.enabled=false |
rustfs | rustfs.enabled=true | rustfs.enabled=false |
مينيو | minio.enabled=true | minio.enabled=false |
جوبيتر | ilum-jupyter.enabled=true | ilum-jupyter.enabled=false |
jupyterhub | ilum-jupyterhub.enabled=true | ilum-jupyterhub.enabled=false |
zeppelin | ilum-zeppelin.enabled=true | ilum-zeppelin.enabled=false |
SQL | ilum-sql.enabled=true, ilum-core.sql.enabled=true | ilum-sql.enabled=false, ilum-core.sql.enabled=false |
ترينو | trino.enabled=true, ilum-sql.config.trino.enabled=true | trino.enabled=false, ilum-sql.config.trino.enabled=false |
hive-metastore | ilum-hive-metastore.enabled=true, ilum-core.metastore.enabled=true, ilum-core.metastore.type=hive | ilum-hive-metastore.enabled=false, ilum-core.metastore.enabled=false, ilum-core.metastore.type=hive |
نيسي | nessie.enabled=true, ilum-core.metastore.enabled=true, ilum-core.metastore.type=nessie | nessie.enabled=false, ilum-core.metastore.enabled=false, ilum-core.metastore.type=hive |
unity-catalog | ilum-unity-catalog.enabled=true, ilum-core.metastore.enabled=true, ilum-core.metastore.type=unity | ilum-unity-catalog.enabled=false, ilum-core.metastore.enabled=false, ilum-core.metastore.type=hive |
airflow | airflow.enabled=true | airflow.enabled=false |
kestra | kestra.enabled=true | kestra.enabled=false |
ن8ن | ilum-n8n.enabled=true | ilum-n8n.enabled=false |
nifi | nifi.enabled=true | nifi.enabled=false |
mageai | mageai.enabled=true | mageai.enabled=false |
superset | superset.enabled=true | superset.enabled=false |
streamlit | streamlit.enabled=true | streamlit.enabled=false |
marquez | global.lineage.enabled=true | global.lineage.enabled=false |
ملفلو | mlflow.enabled=true | mlflow.enabled=false |
langfuse | langfuse.enabled=true | langfuse.enabled=false |
رصد | kube-prometheus-stack.enabled=true | kube-prometheus-stack.enabled=false |
loki | global.logAggregation.enabled=true, global.logAggregation.loki.enabled=true, global.logAggregation.promtail.enabled=true | global.logAggregation.enabled=false, global.logAggregation.loki.enabled=false, global.logAggregation.promtail.enabled=false |
graphite | graphite-exporter.graphite.enabled=true, ilum-core.job.graphite.enabled=true | graphite-exporter.graphite.enabled=false, ilum-core.job.graphite.enabled=false |
واجهة برمجة التطبيقات | ilum-api.enabled=true | ilum-api.enabled=false |
OpenLDAP | openldap.enabled=true | openldap.enabled=false |
23. Doctor Checks
| Check Name | Phase | What it verifies |
|---|---|---|
helm | 1 - Binaries | Helm is on PATH and version >= 3.12 |
كوبيكتل | 1 - Binaries | kubectl is on PATH and version >= 1.28 |
docker | 1 - Binaries | Docker is on PATH and version >= 24.0 |
helm-repo | 2 - Helm repo | ال إيلوم chart repository (charts.ilum.cloud) is configured |
عنقود | 3 - Connectivity | Kubernetes cluster is reachable via current kubeconfig |
Namespace | 4 - Cluster-dependent | The target namespace exists on the cluster |
pods | 4 - Cluster-dependent | All pods in the namespace are healthy; detects CrashLoopBackOff (>5 restarts) |
pvcs | 4 - Cluster-dependent | All PersistentVolumeClaims are Bound; detects Pending PVCs |
rbac | 4 - Cluster-dependent | Required RBAC permissions are granted to the current user |
release | 4 - Cluster-dependent | Helm release exists and is not in stuck (pending-*) or failed حالة |
compatibility | 4 - Cluster-dependent | Kubernetes server version >= 1.28 |
service-endpoints | 4 - Cluster-dependent | Service endpoints have ready addresses |
health-endpoints | 4 - Cluster-dependent | Health check endpoints respond for core, airflow, superset, minio |
24. Error Reference
| فصل | Parent | When Raised | Typical Suggestion |
|---|---|---|---|
IlumError | Exception | Base exception for all Ilum CLI errors. | — |
PrerequisiteError | IlumError | A required tool or resource (helm, kubectl, docker) is missing. | Install the missing tool. |
ClusterConnectionError | IlumError | Cannot connect to the Kubernetes cluster. | Check kubeconfig: kubectl cluster-info. |
HelmError | IlumError | A Helm operation failed. | Check helm output for details. |
HelmTimeoutError | HelmError | A Helm operation timed out. | Increase --timeout or check cluster resources. |
HelmReleaseError | HelmError | A Helm release is in a bad state (e.g. pending-install, pending-upgrade). | استخدام ilum upgrade --force-rollback to recover. |
ConfigError | IlumError | Configuration is missing or invalid. | Run ilum config init أو ilum init. |
ValuesError | IlumError | Problem with Helm values files. | Validate your values YAML syntax. |
ModuleError | IlumError | Module dependency or conflict error. | Check ilum module show for dependencies. |
ReleaseExistsError | IlumError | A Helm release already exists when a fresh install was requested. | استخدام ilum upgrade instead, or ilum uninstall first. |
ReleaseNotFoundError | IlumError | A Helm release was expected but does not exist. | استخدام ilum install to create the release, or ilum connect to attach to an existing one. |
25. Exit Codes
| رمز | Meaning |
|---|---|
0 | Success. |
1 | Error (any IlumError, invalid input, failed check, or failed Helm operation). |
130 | Interrupted by user (Ctrl + C during ilum init). |
ilum uninstall exits with code 0 even when the release does not exist (idempotent behavior).