मुख्य विषयवस्तु में जाएं

Working with Modules

Ilum is built as a modular platform with 32 independently toggleable modules spanning 10 categories. The ilum module sub-commands let you browse, enable, disable, and inspect modules without writing raw Helm flags.

Browsing Modules

List all available modules:

$ ilum module list
╭─ Ilum Modules ───────────────────────────────────────────────────────────────╮
│ Name Category Description Default │
├──────────────────────────────────────────────────────────────────────────────┤
│ core core Ilum backend API (Spring Boot... ✓ │
│ ui core Ilum web frontend (React + Ng... ✓ │
│ livy-proxy core Livy-compatible Spark session... │
│ api core Ilum REST API के लिए module mana... ✓ │
│ mongodb infrastructure MongoDB document store के लिए me... ✓ │
│ kafka infrastructure Apache Kafka event bus │
│ postgresql infrastructure PostgreSQL relational database ✓ │
│ clickhouse infrastructure ClickHouse columnar analytics... │
│ gitea infrastructure Gitea self-hosted Git सेवा ✓ │
│ minio storage MinIO S3-compatible object st... ✓ │
│ jupyter notebook Jupyter notebook server with ... ✓ │
│ jupyterhub notebook Multi-user JupyterHub (Kuber... │
│ zeppelin notebook Apache Zeppelin notebook server │
│ sql sql Ilum SQL engine (Kyuubi) ✓ │
│ hive-metastore sql Hive Metastore सेवा ✓ │
│ nessie sql Nessie versioned data catalog │
│ unity-catalog sql Unity Catalog के लिए data govern... │
│ trino sql Trino distributed SQL query e... │
│ airflow orchestration Apache Airflow workflow orche... │
│ kestra orchestration Kestra declarative orchestrat... │
│ n8n orchestration n8n workflow automation platf... │
│ nifi orchestration Apache NiFi data integration │
│ mageai orchestration Mage.ai data pipeline tool │
│ mlflow ai MLflow experiment tracking a... │
│ langfuse ai Langfuse LLM observability p... │
│ superset analytics Apache Superset BI dashboards │
│ streamlit analytics Streamlit interactive data ap... │
│ marquez analytics Marquez data lineage tracking ✓ │
│ monitoring monitoring Prometheus + Grafana monitori... │
│ loki monitoring Grafana Loki log aggregation │
│ graphite monitoring Graphite metrics exporter │
│ openldap security OpenLDAP directory सेवा
╰──────────────────────────────────────────────────────────────────────────────╯

Filter by category:

$ ilum module list --category एसक्यूएल
╭─ Ilum Modules ───────────────────────────────────────────────────────────────╮
│ Name Category Description Default │
├──────────────────────────────────────────────────────────────────────────────┤
│ sql sql Ilum SQL engine (Kyuubi)
│ hive-metastore sql Hive Metastore सेवा
│ nessie sql Nessie versioned data catalog │
│ unity-catalog sql Unity Catalog के लिए data governance │
│ trino sql Trino distributed SQL query engine │
╰──────────────────────────────────────────────────────────────────────────────╯

Show only default-enabled modules:

$ ilum module list --enabled
╭─ Ilum Modules ───────────────────────────────────────────────────────────────╮
│ Name Category Description Default │
├──────────────────────────────────────────────────────────────────────────────┤
│ core core Ilum backend API (Spring Boot... ✓ │
│ ui core Ilum web frontend (React + Ng... ✓ │
│ api core Ilum REST API के लिए module mana... ✓ │
│ mongodb infrastructure MongoDB document store के लिए me... ✓ │
│ postgresql infrastructure PostgreSQL relational database ✓ │
│ gitea infrastructure Gitea self-hosted Git सेवा ✓ │
│ minio storage MinIO S3-compatible object st... ✓ │
│ jupyter notebook Jupyter notebook server with ... ✓ │
│ sql sql Ilum SQL engine (Kyuubi) ✓ │
│ hive-metastore sql Hive Metastore सेवा ✓ │
│ marquez analytics Marquez data lineage tracking ✓ │
╰──────────────────────────────────────────────────────────────────────────────╯

Inspect a single module in detail:

$ ilum module show sql
╭─ Module: sql ────────────────────────────────────────────────────────╮
│ sql (एसक्यूएल)
│ Ilum SQL engine (Kyuubi)
│ │
│ Default enabled: yes
│ Enable flags: ilum-sql.enabled=true, ilum-core.sql.enabled=true │
│ Disable flags: ilum-sql.enabled=false, ilum-core.sql.enabled=false │
│ Requires: postgresql, core │
│ │
│ Resolved enable chain (including dependencies): │
--अस्त हो पोस्टग्रेएसक्यूएल.सक्षम=true │
--अस्त हो ilum-core.enabled=true │
--अस्त हो ilum-sql.enabled=true │
--अस्त हो ilum-core.sql.enabled=true │
╰──────────────────────────────────────────────────────────────────────╯

The "Resolved enable chain" shows every --अस्त हो flag needed, including transitive dependencies. This is the exact set of flags the CLI generates when you run ilum module enable sql.

Enabling Modules

वही ilum module enable command upgrades a running Helm release to turn on one or more modules. It computes a values diff, shows a preview, and asks for confirmation.

$ ilum module enable एसक्यूएल --yes
╭─ Enable Summary ─────────────────────────────────────────╮
│ Action Enable │
│ Release ilum │
│ Namespace default │
│ Modules sql │
╰──────────────────────────────────────────────────────────╯

ℹ Auto-resolved dependencies: postgresql, core

╭─ Values Diff ────────────────────────────────────────────╮
│ Key Before After │
├──────────────────────────────────────────────────────────┤
│ ilum-sql.enabled गलत सच्चा
│ ilum-core.sql.enabled गलत सच्चा
│ postgresql.enabled सच्चा सच्चा
│ ilum-core.enabled सच्चा सच्चा
╰──────────────────────────────────────────────────────────╯

Command: helm upgrade ilum ilum/ilum \
--namespace चूक \
--timeout 10m \
--पुन: उपयोग-मान \
--अस्त हो ilum-sql.enabled=सच्चा \
--अस्त हो ilum-core.sql.enabled=सच्चा \
--अस्त हो पोस्टग्रेएसक्यूएल.सक्षम=सच्चा \
--अस्त हो ilum-core.enabled=सच्चा

⠋ Enabling modules...
✓ Enabled: sql

Compare this to the manual Helm equivalent, which requires you to know all four --अस्त हो flags and their exact keys:

$ helm upgrade ilum ilum/ilum --reuse-values \
--अस्त हो ilum-sql.enabled=सच्चा \
--अस्त हो ilum-core.sql.enabled=सच्चा \
--अस्त हो पोस्टग्रेएसक्यूएल.सक्षम=सच्चा \
--अस्त हो ilum-core.enabled=सच्चा

The CLI computes these for you, including transitive dependencies.

You can enable multiple modules at once:

$ ilum module enable airflow superset --yes

प्रयोग --dry-run to preview without applying:

$ ilum module enable sql --dry-run

Understanding Dependency Resolution

Every module declares its dependencies and conflicts in the module registry. When you enable a module, the CLI walks the dependency graph and automatically includes everything that is needed.

Example: langfuse requires postgresql and clickhouse.

When you run ilum module enable langfuse, the resolver detects two transitive dependencies:

langfuse
├── requires: postgresql
└── requires: clickhouse

If postgresql is already enabled on the cluster, only clickhouse is added. If neither is present, both are pulled in automatically. You see this reported as:

ℹ Auto-resolved dependencies: clickhouse, postgresql

Conflict detection: hive-metastore vs. nessie.

Some modules are mutually exclusive. Both hive-metastore और नेस्सी configure the Ilum Core metastore, but with different backends (Hive vs. Nessie). They are declared as conflicting:

  • hive-metastore sets ilum-core.metastore.type=hive
  • नेस्सी sets ilum-core.metastore.type=nessie

If you attempt to enable both, the CLI raises a conflict warning:

⚠ Module 'hive-metastore' conflicts with 'nessie', but both are enabled

You must choose one or the other. The ट्रिनो module depends on hive-metastore, so enabling Trino implicitly selects the Hive path.

Disabling Modules

वही ilum module disable command removes modules from a running release:

$ ilum module disable sql --yes
╭─ Disable Summary ────────────────────────────────────────╮
│ Action Disable │
│ Release ilum │
│ Namespace default │
│ Modules sql │
╰──────────────────────────────────────────────────────────╯

╭─ Values Diff ────────────────────────────────────────────╮
│ Key Before After │
├──────────────────────────────────────────────────────────┤
│ ilum-sql.enabled सच्चा गलत
│ ilum-core.sql.enabled सच्चा गलत
╰──────────────────────────────────────────────────────────╯

Command: helm upgrade ilum ilum/ilum \
--namespace चूक \
--timeout 10m \
--पुन: उपयोग-मान \
--अस्त हो ilum-sql.enabled=गलत \
--अस्त हो ilum-core.sql.enabled=गलत

⠋ Disabling modules...
✓ Disabled: sql

The CLI is shared-dependency aware. When you disable एसक्यूएल, its dependency postgresql is not disabled because other active modules (such as गीता) still require it. The resolver walks the remaining active module set and only disables dependencies that are no longer needed by any other enabled module.

You can disable multiple modules at once:

$ ilum module disable airflow superset --yes
नोट

Attempting to disable a required module (अंतर्भाग, यूआईनहीं तो mongodb) triggers a warning. These modules are fundamental to the platform and should generally remain enabled.

Module Categories

The 32 modules are organized into 10 categories. The table below summarizes each category with a count and representative examples.

CategoryCountExample Modules
अंतर्भाग4core, ui, livy-proxy, api
infrastructure5mongodb, kafka, postgresql, clickhouse, gitea
storage2minio (default), rustfs
notebook3jupyter, jupyterhub, zeppelin
एसक्यूएल5sql, hive-metastore, nessie, unity-catalog, trino
orchestration5airflow, kestra, n8n, nifi, mageai
ai2mlflow, langfuse
विश्लेषिकी3superset, streamlit, marquez
निगरानी3monitoring, loki, graphite
प्रतिभूति1ओपनएलडीएपी

You can filter any ilum module command by category. For example, to see live status of all orchestration modules on the cluster:

$ ilum module status --category orchestration
╭─ Module Status (release: ilum, namespace: default) ──────────────────╮
│ Module Category Status Pods Health │
├──────────────────────────────────────────────────────────────────────┤
│ airflow orchestration Enabled 3/3 Healthy │
│ kestra orchestration Disabled -- -- │
│ n8n orchestration Disabled -- -- │
│ nifi orchestration Disabled -- -- │
│ mageai orchestration Disabled -- -- │
╰──────────────────────────────────────────────────────────────────────╯

For the full list of module flags, dependency chains, and conflict maps, see Command Reference.