تخطي إلى المحتوى الرئيسي

ملاحظات الترقية

ملاحظات الترقية​

الإصدار التالي​

نموذج الملاحظة​

1. التغيير​

ميزة:​

وصف الميزة

القيم المحذوفة - اسم الرسم البياني​

اسمسبب
helm.valueسبب حذف قيمة Helm

القيم المضافة - اسم الرسم البياني​

وصف قسم القيم​
اسموصفقيمة
helm.valueوصف قيمة الدفةالقيمة الافتراضية

الأسماء التي تم تغييرها - اسم الرسم البياني​

الاسم القديماسم جديد
الاسم القديماسم جديد

⚠️⚠️⚠️ التحذيرات​

القيم التي تم تغييرها - اسم الرسم البياني​

اسمالقيمة القديمةقيمة جديدة
helm.valueالقيمة القديمةقيمة جديدة

RELEASE 6.7.3​

1. UI internationalization (i18n) + RTL​

ميزة:​

The web UI can now switch language and text direction at runtime from Settings (persisted to localStorage). The set of available languages is config-driven: add or remove a language with no frontend rebuild. Ships English + Persian (RTL) + Arabic (RTL) + Portuguese + Spanish + Chinese

  • Hindi; direction follows the language.

Values added - helm_ui (mirrored under ilum-ui.runtimeVars in helm_aio)​

UI language configuration (rendered into the ILUM-UI ConfigMap)​
اسموصفقيمة
runtimeVars.defaultLanguageDefault UI language code (ILUM_DEFAULT_LANGUAGE)en
runtimeVars.availableLanguagesLanguages in the selector + i18next supportedLngs (ILUM_AVAILABLE_LANGUAGES); array of {code,label,dir,font?}[en, fa(rtl), ar(rtl), pt, es, zh, hi]
i18n.extraLocaleConfigMapsOptional ConfigMaps mounted over /usr/share/nginx/html/locales/<lang>/ to add or override catalogs at runtime (no rebuild)[]

Per-language font (the font field of each availableLanguages entry): Persian (fa) uses IRANSans, Arabic (ar) uses Vazirmatn. Both are self-hosted and the binaries are NOT shipped in the image; fa uses the free IRANSansWeb build. To render Persian in IRANSans, place the IRANSansWeb woff2 files in a custom UI image (public/fonts/) or mount them; otherwise the UI falls back to the system Persian font. Vazirmatn is SIL-OFL — confirm IRANSansWeb's terms fit your deployment, or set fa's font ل "Vazirmatn".

⚠️⚠️⚠️ التحذيرات​

None. New keys are additive with safe defaults; existing installs default to English with no behavior change. To add a brand-new language at runtime, append an availableLanguages entry AND mount its catalog JSON via i18n.extraLocaleConfigMaps (or bake it into a custom UI image under public/locales/<code>/).

2. RustFS object-storage provider (opt-in)​

ميزة:​

RustFS (Apache-2.0) is now bundled as an opt-in S3-compatible object storage provider alongside MinIO, which remains the default in the 6.7.x line. RustFS is planned to become the default in 6.8.0. Switching is a single Helm flag (rustfs.enabled=true, minio.enabled=false). A pre-upgrade hook refuses ترقية Helm when an existing MinIO PVC would be orphaned without explicit acknowledgement.

For step-by-step instructions, refer to Migrate Between Object Storage Providers. For the broader storage decision and provider reference pages, refer to the Object Storage section.

3. Object-storage credentials consolidation​

ميزة:​

All object-storage consumers now read S3 credentials from a single shared Secret, ilum-objectstorage-credentials, instead of per-consumer literal values in القيم.yaml. The Secret holds six aliased keys: access-key, secret-key, root-user, root-password, RUSTFS_ACCESS_KEY, RUSTFS_SECRET_KEY. Consumers wired to this Secret include إيلوم كور, ilum-jupyter, ilum-history-server, ilum-hive-metastore, airflow, kestra, ترينو, langfuse, loki, مينيوو rustfs.

Default credentials for net-new installs are المشرف/المشرف. On upgrade, the credentials-secret template's lookup preserves the live Secret values, so existing deployments keep their current credentials.

Per-consumer accessKey/secretKey literals in Helm values are now ignored when an existingSecret reference is set, which is the default in helm_aio.

The chart resolves the S3 Service + credentials Secret via templates/_storage.tpl helpers. Defaults to MinIO (ilum-minio, keys root-user/root-password); a live lookup for Service ilum-objectstorage switches it to the rustfs alias (ilum-objectstorage-credentials, keys access-key/secret-key) automatically. objectStorage.useAlias: true forces the alias path for CI helm template (no cluster lookup). Rotation is performed by editing the shared Secret and restarting the affected Pods. For the full procedure, refer to Rotate Object Storage Credentials.

4. OpenMetadata + OpenLineage integration​

ميزة:​

Ilum now ships an optional OpenMetadata data-catalog and governance layer, fed by OpenLineage events from Airflow and Spark. The whole stack is disabled by default and is safe on upgrade: an existing deployment that does not set the new flags brings up zero OpenMetadata resources and behaves exactly as before.

The integration is gated by five flags, all defaulting to خطأ: openmetadata.enabled, openmetadata-dependencies.enabled, openmetadataBootstrap.enabled, fixHmsDeltaColumns.enabledو ilum-core.job.openLineage.openmetadata.enabled. Enabling the first four plus the OpenLineage transport leg brings up the OpenMetadata server (a small Ilum fork of the 1.12.5 image), its OpenSearch + PostgreSQL dependencies, the bootstrap Job, and the OL→OM backfill CronJob. Spark and Airflow lineage then flows into OpenMetadata via a composite OpenLineage transport that fans out to both Marquez and OpenMetadata.

Iceberg-via-Nessie catalog ingestion ships in preview status. For configuration, the governance model, and operational details, refer to OpenMetadata.

5. OM bootstrap Job + bot tokens​

  • Bootstrap is a regular Job (<release>-om-bootstrap-<revision>), not a hook — helm install returns immediately. Watch: kubectl logs -f job/<release>-om-bootstrap-<revision>; final line is BOOTSTRAP_SUMMARY: {...}. Completed Jobs GC after 24h.
  • Bot tokens default-on (openmetadataBootstrap.botTokens.enabled: true): OM clients use the ingestion-bot/lineage-bot JWTs in the ilum-om-bot-tokens Secret; consumers fall back to admin login while the Secret holds placeholders.
  • ilum-core blocks startup on the bot token (job.openLineage.openmetadata.auth.waitForBotToken: true) via a wait-for-om-bot-token initContainer, so OpenLineage never falls back to the 1h-expiring admin login (which 401s long-lived Kyuubi engines). Set waitForBotToken: false for an external OM with no bootstrap-published token.
  • Bot-token attribution is self-healing but lags: pods that boot before the JWTs are published attribute OM writes to the إيلوم admin until their next restart. To switch immediately, roll Airflow + ilum-core once after BOOTSTRAP_SUMMARY. Cosmetic only (audit attribution) — both paths have identical permissions.
  • ilum-om-bot-tokens carries helm.sh/resource-policy: keep and holds never-expiring JWTs. On a shared cluster, after teardown delete it explicitly (kubectl delete secret ilum-om-bot-tokens -n <ns>) or rotate the bots in OM.

6. OpenMetadata bootstrap behaviour​

The bootstrap Job registers Hive/Superset/MinIO/Delta services and runs polish ops: sets openMetadataBaseUrlConfiguration, triggers SearchIndexing + DataInsights, seeds Table custom properties (sourceSystem, slaHours), bumps certification duration to P365D, and seeds two demo users. All ops are idempotent + non-fatal, and re-runs preserve operator overrides (GET-before-PUT on the base URL, service connections carrying ssl/kerberos/sasl/jaas/auth keys, and existing custom properties). The Hive service routes through Kyuubi (ilum-sql-thrift-binary:10009) — no separate Kyuubi service is registered.

اسموصفقيمة
openmetadataBootstrap.publicBaseUrlOM base URL for alert mails / deep-links. Override in production.http://localhost:9777/external/openmetadata
openmetadataBootstrap.demoUsersEnabledSeed analyst/steward demo users. جبر خطأ in production.صحيح
openmetadataBootstrap.certificationDurationISO8601Default certification validity."P365D"
openmetadataBootstrap.omUserOM admin user (Secret <release>-openmetadata-admin).[البريد الإلكتروني محمي]
openmetadataBootstrap.omPasswordOM admin password. Change for production.المشرف
openmetadataBootstrap.botTokens.enabledPublish bot JWTs to ilum-om-bot-tokens.صحيح

The OM admin password lives only in the <release>-openmetadata-admin Secret (consumed by the bootstrap Job, Airflow, and ilum-core via secretKeyRef); rotate by editing openmetadataBootstrap.omPassword. Two more Secrets render with the release: ilum-superset-admin و ilum-hms-db-creds (account for them if you mirror manifests externally).

7. OM ingestion CronJobs are OM-owned​

OM creates 7 om-cronjob-* ingestion CronJobs server-side (label managed-by=openmetadata, no ownerReferences). Edit schedules/pipelines through a re-bootstrap PATCH, not the CronJob directly (reverted on next bootstrap). The helm uninstall pre-delete hook reaps them. Scheduled Hive ingestion runs with overrideMetadata: false so it preserves DAG-set Tier/Certification governance.

8. Delta + lineage helpers (opt-in flags, default on)​

اسموصفقيمة
openmetadataBootstrap.deltaEnricher.enabledCronJob PATCHing Delta facets onto OM tables (Rust deltalake, ~80MB).صحيح
openmetadataBootstrap.deltaEnricher.scheduleDelta property refresh cron.0 */6 * * *
openmetadataBootstrap.olBackfill.enabledCronJob replaying Marquez OL events to OM (idempotent gap-fill).صحيح
openmetadataBootstrap.olBackfill.scheduleOL replay scan cron.0 2 * * *
fixHmsDeltaColumns.enabledPost-install/upgrade Job repairing Delta col array<string> HMS schemas.خطأ

OM's native DeltaLake-S3 connector stays paused (>4Gi peak); the enricher CronJob fills Delta facets instead.

9. OpenLineage namespace​

Airflow OL events use airflow.config.openlineage.namespace (default ilum-airflow, single source of truth). Bootstrap's namespaceToServiceMapping attaches s3://ilum-data, spark://ilum-sql-thrift-binary:10009و ilum-airflow to the right OM services. Override the namespace only to match events already in Marquez/OM.

10. Production overrides checklist​

KeyافتراضيFor production
openmetadataBootstrap.publicBaseUrlhttp://localhost:9777/external/openmetadataactual ingress URL
openmetadataBootstrap.demoUsersEnabledصحيحخطأ (use LDAP/OIDC)
openmetadataBootstrap.omPasswordالمشرفa real password
gitea.gitea.config.server.ROOT_URLhttp://localhost:9777/external/gitea/public host (path must match STATIC_URL_PREFIX)

The chart installs into any namespace (bare service DNS names, no .svc.cluster.local). If you carry extraValues overrides with FQDN metastore addresses, drop .ilum.svc.cluster.local or Spark lineage silently fails to map.

11. Iceberg via Project Nessie (opt-in, OFF by default)​

A stock install runs Hive-only with no Nessie pod. Enable Iceberg cataloging (starts a Nessie pod + Postgres DB) with BOTH flags — the gate ANDs them:

helm upgrade ilum ./helm_aio \
--جبر nessie.enabled=صحيح \
--جبر openmetadataBootstrap.services.iceberg.enabled=صحيح
اسموصفقيمة
openmetadataBootstrap.services.iceberg.enabledRegister OM Iceberg service (needs nessie.enabled).خطأ
openmetadataBootstrap.services.iceberg.restUriNessie Iceberg-REST URI (no ref in path).http://ilum-nessie:19120/iceberg
openmetadataBootstrap.services.iceberg.warehouse / .catalogNameSymbolic warehouse name.nessie_catalog
openmetadataBootstrap.services.iceberg.{endpoint,accessKey,secretKey,region}S3-reader overrides (empty = objectStorage Secret)."" / الولايات المتحدة الشرقية 1
nessie.catalog.enabledNessie Iceberg-REST endpoint.صحيح

Gotchas:

  • Do NOT disable Hive to go "Iceberg-first": the bundled example tables are Delta/Parquet via HMS, and bootstrap gates SUCCESS on Hive producing ≥10 tables (openmetadataBootstrap.examplesIngest.expectedMinTables). Iceberg-only also needs openmetadataBootstrap.examplesIngest.enabled=false.
  • The OM ingestion reader reads Iceberg metadata.json/manifests directly from S3, so it MUST hold creds that read s3://ilum-data/nessie_catalog/. A credential mismatch registers fine but ingests 0 tables.
  • On rustfs/non-default backends, override nessie.catalog.storage.s3.defaultOptions.accessKeySecret (static YAML, defaults to the minio Secret) so Nessie and the OM reader resolve the SAME identity.
  • To catalog a ref other than رئيسي, pin it via a Nessie warehouse, not the URI path (putting the ref in the path → HTTP 404). OM ingests one ref; no history.

12. Hive 4 support (opt-in)​

جبر ilum-hive-metastore.majorVersion: 4 من أجل apache/hive:standalone-metastore-4.x images (default 3). A v3 Postgres DB cannot be reused for v4 (incompatible schemas). Running v3 + v4 side-by-side: give v4 its own database (--set ilum-hive-metastore.postgresql.database=metastore_v4) and add it to postgresExtensions.databasesToCreate. Spark against a v4 metastore needs Hive 4 client jars — use ilum/spark:4.0.2-delta-hive4 as the cluster image.

13. Airflow pools​

airflowExtensions.pools pre-creates the listed Airflow pools (name + slots) via an init container on the Airflow api-server/scheduler. Default is empty ([]); add your own DAGs' pools here.

14. Cross-stack observability + cost attribution​

ميزة​

A new cross-stack observability stack (off by default) bundles an OpenTelemetry Collector (helm_otel_collector sub-chart), a Tempo trace backend (ilum-tempo, S3-backed), and Loki/Promtail log correlation, adding a Pipeline Trace tab spanning Airflow → ilum-service → Spark. A separate daily cost-attribution rollup (off by default) writes cost landing files from an in-driver Spark plugin and folds them in-core into per-job and per-table Cost tabs. Hostnames are release-name portable via _helpers.tpl, so the stack works under any release name. The settings entity (sampling ratio, listener policy, rate card) is seeded from helm_core's observabilityDefaults on first boot only — UI/dev-API edits win afterward. The previously-unprotected /api/dev/reactive/lineage/* و /cost/* endpoints now require permissions.

Values added - helm_aio​

اسموصفقيمة
global.observability.otel.enabledEnable the OTel collector + Tempo trace backend + log correlationخطأ
global.observability.monitoring.enabledRender the ServiceMonitor + PrometheusRule alert set for Tempo/collectorخطأ
global.costAggregator.enabledEnable the daily cost-attribution rollupخطأ
global.costAggregator.retentionDaysClamp the cost reader window to this many days90
global.observability.otel.tempoAuth.modeTempo query auth (none | bearer | basic)none
global.logAggregation.loki.auth.modeLoki query auth (none | bearer | basic)none
global.observability.otel.tenant.idTenant filter for a shared Tempo (empty = single-tenant)""

Values changed - ilum-tempo​

اسمالقيمة القديمةNew value
ilum-tempo.tempo.resources.limits.memory2Gi4جي

⚠️ Warnings​

The observability stack hostnames are now derived at render time by helpers in helm_aio/templates/_helpers.tpl (ilum-aio.tempoHost, ilum-aio.lokiReadHost, ilum-aio.otelCollectorHost, ilum-aio.lokiQueryUrl). An overlay carrying an explicit hostname override copied from a previous release still takes precedence but couples the install to the إيلوم release name — drop it to let the helpers pick the correct hostname.

RELEASE 6.7.2​

1. Default Java options for ilum-core​

ميزة:​

Added default JVM options to ilum-core for optimized memory and performance. The javaOpts value is now appended to security-related Java options (trustStore/keyStore) instead of replacing them, allowing both to coexist.

Values changed - helm_core​

اسمالقيمة القديمةقيمة جديدة
javaOpts"""-XX:-UsePerfData -XX:+UseStringDeduplication -Xms256m -XX:MaxMetaspaceSize=256m -XX:MaxDirectMemorySize=256m -XX:CICompilerCount=2 -XX:G1ConcRefinementThreads=2 -XX:ReservedCodeCacheSize=128m"

2. Unity Catalog init container for ilum-core​

ميزة:​

Added a wait-for-unity-catalog init container to the ilum-core deployment, matching the existing pattern for Hive and Nessie. When metastore.type تم ضبطه على unity, the init container waits for the Unity Catalog server to become reachable before starting ilum-core, preventing startup failures due to race conditions.

Values added - helm_aio​

اسموصفقيمة
ilum-core.metastore.unity.statusProbe.enabledEnable init container to wait for Unity Catalogصحيح

3. PostgreSQL support for ilum-core​

ميزة:​

Added PostgreSQL as an alternative persistence backend to MongoDB. The backend is selected via storage.type (mongo أو Postgres). When set to Postgres, Mongock migrations and the MongoDB status probe are skipped, and PostgreSQL connection details are injected instead. The MongoDB URI (mongo.uri) is always present in the configmap regardless of storage.type, so that the built-in MongoToPostgresMigration tool can read from MongoDB during migration. Flyway migrations run automatically on startup — no manual schema setup is needed. Existing deployments using MongoDB are unaffected; the default remains mongo.

Values added - helm_core​

Storage type selection and migration​
اسموصفقيمة
storage.typePersistence backend: mongo أو Postgresmongo
storage.migration.mongoToPostgresEnable one-time data migration from MongoDB to PostgreSQL. Set to صحيح together with storage.type=postgres and a valid mongo.uri to migrate all data on startup. Disable after migration completes.خطأ
PostgreSQL connection settings​
اسموصفقيمة
postgres.hostPostgreSQL hostnameilum-postgresql
postgres.portPostgreSQL port5432
postgres.databaseDatabase nameإيلوم
postgres.usernameDatabase usernameإيلوم
postgres.passwordDatabase passwordCHANGEMEPLEASE
postgres.createSecretCreate a K8s Secret with postgres credentialsصحيح
postgres.existingSecretUse an existing K8s Secret (must have keys: POSTGRES_USERNAME, POSTGRES_PASSWORD)""
postgres.statusProbe.enabledEnable init container that waits for PostgreSQL readinessصحيح
postgres.statusProbe.imageImage used for the PostgreSQL readiness probebusybox:1.36

⚠️⚠️⚠️ التحذيرات​

Migrating from MongoDB to PostgreSQL:

  1. جبر storage.type=postgres and configure postgres.* connection values
  2. Ensure mongo.uri still points to the existing MongoDB instance
  3. جبر storage.migration.mongoToPostgres=true
  4. Run ترقية Helm — the backend will migrate all data from MongoDB to PostgreSQL on startup
  5. After successful migration, set storage.migration.mongoToPostgres=false and run ترقية Helm again

4. Slimmed down ilum-core bundled configuration​

ميزة:​

The bundled application.yml in ilum-core has been significantly slimmed down. Hardcoded defaults that are now managed by the application itself (Spring multipart config, Kafka admin settings, codec size, task scheduling pool, leader election tuning, third-party logging levels, license validation details) have been removed from the Helm-generated config. This reduces the surface area of the ConfigMap and avoids conflicts with application-managed defaults.

⚠️⚠️⚠️ التحذيرات​

If you relied on any of the removed hardcoded values (e.g., custom spring.servlet.multipart limits, spring.kafka.admin.fail-fast, logging levels for org.apache.kafka أو org.mongodb.driver), you must now set them via the new customConfig أو overrideConfig mechanisms described below.

5. Config override and custom config for ilum-core​

ميزة:​

Added two new mechanisms for advanced configuration of ilum-core:

  • overrideConfig: Replaces the bundled application.yml entirely with a user-managed ConfigMap (mounted at /etc/ilum/override).
  • customConfig: Mounts an additional ConfigMap at /etc/ilum/custom for partial overrides that layer on top of the bundled config.

Values added - helm_core​

Full config override​
اسموصفقيمة
overrideConfig.enabledEnable full config override (replaces bundled application.yml entirely)خطأ
overrideConfig.configMapNameName of a user-managed ConfigMap containing a complete application.yml replacement""
Custom config escape hatch​
اسموصفقيمة
customConfig.enabledEnable custom config escape hatch (mounts an additional ConfigMap at /etc/ilum/custom)خطأ
customConfig.configMapNameName of a user-managed ConfigMap containing application.yml overrides""

⚠️⚠️⚠️ التحذيرات​

The config mount path has changed from /config ل /etc/ilum/config. If you have scripts or tooling that references the old path, update them accordingly.

6. Default communication mode changed to gRPC​

ميزة:​

The default communication mode in ilum-core has changed from كافكا ل جي بي سي.

Values changed - helm_core​

اسمالقيمة القديمةقيمة جديدة
الاتصالات.النوعكافكاجي بي سي

⚠️⚠️⚠️ التحذيرات​

If your deployment depends on Kafka-based communication between ilum components, explicitly set communication.type: kafka in your values.

7. New configurable parameters in ilum-core​

ميزة:​

Spring actuator endpoint exposure and job instance result timeout are now configurable via values instead of being hardcoded.

Values added - helm_core​

اسموصفقيمة
management.endpoints.web.exposure.includeSpring actuator endpoints to expose"info,configprops,env,metrics,mappings,beans,prometheus,health"
job.instance.result.timeout.msJob instance result timeout in milliseconds120000

8. Schema and nullability fixes​

ميزة:​

Fixed sql.url ل sql.host in the ilum-core configmap to match the actual values key.

Names changed - helm_core (configmap only)​

الاسم القديماسم جديد
sql.urlsql.host

9. rustfs added as an opt-in object storage provider​

ميزة​

rustfs (Apache-2.0) is now bundled in helm_aio as an opt-in S3-compatible object storage provider (rustfs.enabled=false by default). مينيو remains the default provider (minio.enabled=true); rustfs is planned to become the default in 6.8.0. A stable Service alias ilum-objectstorage routes to whichever provider is enabled; all downstream consumers (Trino, Nessie, Jupyter, MLflow, Airflow, Kestra, Langfuse, the helm_core readiness probe) target this alias instead of provider-specific names.

⚠️⚠️⚠️ التحذيرات​

  • rustfs is currently published as 1.0.0-alpha.99; distributed mode is marked "under testing" upstream. helm_aio defaults rustfs to standalone mode with a single 50Gi PVC.
  • A pre-upgrade hook detects orphan minio PVCs and refuses the upgrade unless the operator has chosen one of the paths below.

Choose one path on upgrade​

Path A: keep using minio (zero-touch)​
helm upgrade ilum ./helm_aio --جبر minio.enabled=صحيح --جبر rustfs.enabled=خطأ

Existing data is untouched; consumers continue talking to ilum-objectstorage which now selects minio pods.

Path B: migrate from minio to rustfs​

Single credential source. Every consumer (ilum-core, jupyter, airflow, trino, kestra, langfuse, loki, hive-metastore, minio, rustfs) now reads S3 credentials from the shared ilum-objectstorage-credentials Secret. Net-new installs default to المسؤول / المسؤول; rotate with:

kubectl edit secret ilum-objectstorage-credentials
kubectl rollout restart deploy,statefulset -l 'app.kubernetes.io/part-of=ilum'

When upgrading from a MinIO-only deployment with non-default credentials, seed the new Secret with the live minio root creds before running the upgrade so consumers don't lose access:

EXISTING_USER=$(kubectl get secret ilum-minio -س jsonpath='{.data.root-user}' | base64 -d)
EXISTING_PASS=$(kubectl get secret ilum-minio -س jsonpath='{.data.root-password}' | base64 -d)
kubectl create secret generic ilum-objectstorage-credentials \
--from-literal=access-key=$EXISTING_USER \
--from-literal=secret-key=$EXISTING_PASS \
--from-literal=root-user=$EXISTING_USER \
--from-literal=root-password=$EXISTING_PASS \
--from-literal=RUSTFS_ACCESS_KEY=$EXISTING_USER \
--from-literal=RUSTFS_SECRET_KEY=$EXISTING_PASS
# the credentials-secret template's preserveExisting lookup will keep these
# values intact across helm upgrades.
# 1. Run both providers side by side. Acknowledge the cutover so the
# pre-upgrade hook accepts the upgrade.
helm upgrade ilum ./helm_aio \
--جبر minio.enabled=صحيح \
--جبر rustfs.enabled=صحيح \
--جبر rustfs.migrationAcknowledged=صحيح

# 2. Dry-run the migration Job to preview what would be copied.
helm upgrade ilum ./helm_aio \
--جبر minio.enabled=صحيح \
--جبر rustfs.enabled=صحيح \
--جبر rustfs.migrationAcknowledged=صحيح \
--جبر migration.minioToRustfs.enabled=صحيح \
--جبر migration.minioToRustfs.dryRun=صحيح
kubectl logs job/ilum-minio-to-rustfs-migration-<rev>

# 3. Run the real migration.
helm upgrade ilum ./helm_aio \
--جبر minio.enabled=صحيح \
--جبر rustfs.enabled=صحيح \
--جبر rustfs.migrationAcknowledged=صحيح \
--جبر migration.minioToRustfs.enabled=صحيح
كوبيكتل -ن إيلوم wait job -l app.kubernetes.io/component=migration --for=condition=complete --timeout=600s

# 4. Verify (e.g. mc diff against both providers), then disable minio.
helm upgrade ilum ./helm_aio --جبر rustfs.migrationAcknowledged=صحيح

For per-bucket manual procedures (no Job), see the documentation site: documentation/docs/operations/migrate-minio-to-rustfs.md.

Path C: net-new install​

Nothing to do. minio is the default; the alias Service is created automatically. To start on rustfs instead, set rustfs.enabled=true و minio.enabled=false.

Values added - helm_aio​

اسموصفقيمة
global.s3.hostStable Service name targeted by S3 consumersilum-objectstorage
global.s3.portS3 API port9000
global.s3.consolePortWeb console port9001
global.s3.regionDefault S3 regionالولايات المتحدة الشرقية 1
global.s3.pathStylePath-style addressing flag for S3 clientsصحيح
global.s3.sslSSL flag for S3 clientsخطأ
rustfs.enabledEnable bundled rustfs chartصحيح
rustfs.moderustfs deployment modestandalone
rustfs.persistence.sizerustfs PVC size50Gi
rustfs.migrationAcknowledgedOperator acknowledgement that disabling minio is intentional (read by the pre-upgrade hook)خطأ
rustfsExtensions.enabledEnable bucket/policy bootstrap on rustfsصحيح
objectStorage.service.enabledRender the ilum-objectstorage Service aliasصحيح
objectStorage.credentials.createCreate the shared credentials Secretصحيح
objectStorage.credentials.nameName of the shared credentials Secretilum-objectstorage-credentials
objectStorage.credentials.accessKeyDefault access key (only used to bootstrap the Secret; rotated values survive upgrades via lookup)المشرف
objectStorage.credentials.secretKeyDefault secret keyالمشرف
rustfs.secret.rustfs.access_keyRoot access key the rustfs Pod is launched with (must match objectStorage.credentials.accessKey)المشرف
rustfs.secret.rustfs.secret_keyRoot secret key the rustfs Pod is launched withالمشرف
objectStorage.defaultBucketsDefault buckets created by the rustfs init Job and migrated by the migration Job[ilum-files, ilum-data, ...]
migration.minioToRustfs.enabledRender the one-shot migration Jobخطأ
migration.minioToRustfs.dryRunPass --fake to mc mirror (preview only)خطأ
migration.minioToRustfs.deleteAfterAfter successful mirror, remove source data with mc mirror --removeخطأ
migration.minioToRustfs.ttlSecondsAfterFinishedKeep Job logs around for inspection86400
preUpgradeChecks.enabledRender the pre-upgrade safety hook (disable in CI)صحيح

Values changed - helm_aio​

اسمالقيمة القديمةNew value
minio.enabledصحيحخطأ
ilum-core.kubernetes.s3.hostilum-minioilum-objectstorage
ilum-core.metastore.nessie.s3Endpointhttp://ilum-minio:9000/http://ilum-objectstorage:9000/
ilum-core.minio.statusProbe.baseUrlhttp://ilum-minio:9000http://ilum-objectstorage:9000
trino.catalogs.ilum-delta (s3.endpoint=...)http://ilum-minio:9000http://ilum-objectstorage:9000
mlflow.externalS3.hostilum-minioilum-objectstorage
mlflow.externalS3.existingSecretilum-minioilum-objectstorage-credentials
mlflow.externalS3.existingSecretAccessKeyIDKeyroot-useraccess-key
mlflow.externalS3.existingSecretKeySecretKeyroot-passwordsecret-key
kestra.configuration.kestra.storage.minio.endpointilum-minioilum-objectstorage
langfuse.langfuse.s3.endpointhttp://ilum-minio:9000http://ilum-objectstorage:9000
ilum-jupyter.extraEnv (S3_ENDPOINT)http://ilum-minio:9000http://ilum-objectstorage:9000
airflow.extraEnv (MINIO_ENDPOINT, AWS_ENDPOINT_URL, AIRFLOW_CONN_ILUM-MINIO)http://ilum-minio:9000http://ilum-objectstorage:9000
ilum-ui.runtimeVars.minioUrlhttp://ilum-minio:9001http://ilum-objectstorage:9001

Values added - helm_core​

اسموصفقيمة
objectStorage.statusProbe.enabledEnable readiness probe init container for object storageصحيح
objectStorage.statusProbe.baseUrlBase URL probed for readinesshttp://ilum-objectstorage:9000
objectStorage.statusProbe.imageProbe init-container imagecurlimages / حليقة: 8.5.0
objectStorage.statusProbe.healthPathHTTP path probed (root works for both rustfs and minio)/

Values changed - helm_core​

اسمالقيمة القديمةNew value
minio.statusProbe.baseUrlhttp://ilum-minio:9000http://ilum-objectstorage:9000

The legacy minio.statusProbe block is retained as a deprecated alias; templates prefer objectStorage.statusProbe and fall back to it when the new key is unset.

Values added - helm_ui​

اسموصفقيمة
runtimeVars.objectStorageUrlConsole URL for the object-storage viewhttp://ilum-objectstorage:9001
runtimeVars.objectStoragePathUI iframe path/external/object-storage/
nginx.config.objectStorage.enabledRender the /external/object-storage/ proxy blockخطأ
nginx.config.http_cookie.objectStorage.enabledCookie gate for the new pathصحيح

10. Kestra chart 1.0.x upgrade (breaking)​

ميزة:​

Bumped the bundled kestra chart from ^0.22.x ل ^1.0.x (Kestra app ~v0.20 → v1.3.x). The Kestra Helm chart was rewritten in 1.0.0 — top-level deployment fields moved under a new common: block, the configuration: map was renamed to configurations.application, serviceAccountName was replaced by a structured serviceAccount block, the dind sidecar gained a mode: rootless|insecure selector, and the bundled Postgres/مينيو/كافكا/elasticsearch subchart dependencies were dropped (operators bring their own). The umbrella kestra: block has been restructured accordingly; existing Ilum integrations (PostgreSQL backend, MinIO storage, Nginx context path, root-mode dind, post-install example flow Job) are preserved.

Names changed - kestra​

الاسم القديماسم جديد
kestra.configurationkestra.configurations.application
kestra.serviceAccountNamekestra.serviceAccount.name (with kestra.serviceAccount.create: false)
kestra.securityContextkestra.common.securityContext
kestra.initContainerskestra.common.initContainers
kestra.dind.image.tagkestra.dind.base.insecure.image.tag (with kestra.dind.mode: insecure)
kestra.dind.argskestra.dind.base.insecure.args
kestra.dind.securityContextkestra.dind.base.insecure.securityContext

Values changed - kestra​

اسمOld Valueقيمة جديدة
kestra.exampleFlow.kestraServicekestra-servicekestra
ilum-ui.runtimeVars.kestraUrlhttp://ilum-kestra-service:8080http://ilum-kestra:8080

Values deleted - kestra​

اسمسبب
kestra.postgresql.enabledSubchart dependency removed in 1.0.0; operators provide their own PostgreSQL.
kestra.minio.enabledSubchart dependency removed in 1.0.0; operators provide their own object storage.
kestra.startupProbe.pathReplaced by the structured kestra.common.startupProbe (full Kubernetes probe spec). Path stays /external/kestra/health because Micronaut propagates server.contextPath to the management server (8081) too.
kestra.livenessProbe.pathReplaced by kestra.common.livenessProbe; path stays /external/kestra/health/liveness.
kestra.readinessProbe.pathReplaced by kestra.common.readinessProbe; path stays /external/kestra/health/readiness.

Values added - kestra​

اسموصفقيمة
kestra.deployments.standalone.enabledEnables the standalone Kestra deployment in the new split-deployment model.صحيح
kestra.deployments.standalone.dind.enabledEnables the dind sidecar for the standalone deployment.صحيح
kestra.dind.modeSelects the dind sidecar mode (rootless أو insecure); Ilum defaults to insecure to preserve prior root-mode behaviour.insecure
kestra.serviceAccount.createControls whether the chart creates the ServiceAccount; Ilum sets it to خطأ and reuses the Spark SA.خطأ

⚠️⚠️⚠️ التحذيرات​

  • The Kestra application itself was bumped from the 0.x line to v1.3.x. Verify any custom flow definitions against the Kestra 1.0.0 migration guide — reserved Flow IDs, the purgeAuditLogs.permissions → resources rename, removal of the Singer plugin, dynamic rendering of input defaults, and custom-plugin package structure changes can break existing flows.
  • kestra.dind.mode: insecure runs the dind sidecar privileged with elevated capabilities. On hardened clusters switch to kestra.dind.mode: rootless and drop the kestra.common.securityContext.runAsUser/runAsGroup overrides.
  • The Kestra Service object is now named <release>-kestra (chart fullname) instead of <release>-kestra-service. The bundled helm_ui kestraUrl runtimeVar (consumed by the Nginx proxy via ILUM_KESTRA_URL) and the exampleFlow post-install Job have been updated to the new name. Any external references to ilum-kestra-service must be updated manually.
  • Kestra 1.0+ moved the flow API under a tenant path (/api/v1/{tenant}/flows). The bundled exampleFlow Job now POSTs to /api/v1/main/flows (the OSS implicit tenant). Operators with custom حليقه/SDK calls against the Kestra API must add the tenant segment.

11. Kyuubi server image bumped to 1.11.1-spark-trino​

ميزة​

The default ILUM-SQL (Kyuubi) server image is bumped to ilum/kyuubi:1.11.1-spark-trino. Existing ترقية Helm users will pick up the new image automatically.

Values changed - helm_kyuubi​

اسمOld Valueقيمة جديدة
image.tag1.10.2-spark-trino1.11.1-spark-trino

12. JupyterLab Pipeline Exporter ↔ Airflow integration (helm_jupyter)​

ميزة​

The bundled JupyterLab now ships jupyterlab-pipeline-exporter (JPE), which generates Airflow DAGs from notebooks and can auto-trigger them against the in-cluster Airflow REST API. The helm_jupyter Deployment mounts a new jupyter-pipeline-exporter-cm.yaml ConfigMap and renders the env vars JPE needs to mint bearer tokens (AIRFLOW_JWT_SECRET, AIRFLOW_API_URL), push DAGs into Gitea (GITEA_USERNAME, GITEA_PASSWORD), and build clickable deep-links (ILUM_UI_URL).

git.enabled is split into two orthogonal flags so a slim deploy without the gitea subchart can keep JPE's Gitea creds without forcing the init-container seed loop to run. The init loop (curl healthz wait + git init/commit/push) is now gated on git.initialCommit.enabled; the GITEA_* env vars are gated on git.existingSecret alone. git.enabled is retained as a deprecated back-compat alias for git.initialCommit.enabled.

Operator impact (zero by default)​

On AIO (airflow.enabled=true, gitea subchart present) the chart defaults render the full integration automatically on ترقية Helm — no action required. On a slim deploy without Airflow, set airflowIntegration.enabled=false to suppress the JWT env block; on a slim deploy without the gitea subchart, set git.initialCommit.enabled=false (instead of the old git.enabled=false) so the init container no longer hangs while still mounting JPE's Gitea creds via git.existingSecret.

Values added - helm_jupyter​

اسموصفقيمة
airflowIntegration.enabledRender the AIRFLOW_JWT_SECRET / AIRFLOW_API_URL block for JPE's DAG auto-triggerصحيح
git.initialCommit.enabledRun the init-container that seeds the work dir into Giteaخطأ
ilumUiUrlBrowser-facing Ilum UI base URL surfaced as ILUM_UI_URL for JPE deep-linkshttp://localhost:9777

Values changed - helm_jupyter​

اسمPre-upgradePost-upgrade
git.enabledgated init loop و GITEA_* env varsdeprecated alias for git.initialCommit.enabled; GITEA_* env vars now gate on git.existingSecret

13. Preset feature​

ميزة​

New first-class Preset entity. A preset is a named bag of Spark / runtime properties that can be attached by id to clusters, services (groups), schedules, and jobs. At job-launch time the preset's properties merge into the resulting Spark config so users can pin a bundle (Delta / Iceberg / Hudi) once and reuse it instead of re-typing the same 5+ keys.

CRUD is exposed at POST/GET/PUT/DELETE /api/v1/preset (public) and at /api/dev/reactive/preset (internal). New PRESET_READ, PRESET_CREATE, PRESET_EDIT, PRESET_DELETE permissions are added.

Postgres V1 schema gains a preset table and preset_ids text[] columns on عنقود, المجموعات, schedule. Mongo gains the same field lazily — no migration required.

Operator-controllable defaults (helm)​

helm_core/values.yaml ships a new top-level presets: block. Each entry (اسم, وصف, خصائص) is auto-seeded at first boot by the backend's DefaultPresetInitializer. The chart defaults ship a الدلتا and an مثلجة entry; remove or override them to taste, or set presets: [] to disable defaults entirely.

The default cluster's attached presets are also helm-controlled via kubernetes.defaultCluster.presetNames (defaults to [delta]). Each entry is resolved to a preset id at boot time via a deterministic v3 UUID derived from the name (same hash as the initializer uses), so the linkage is stable across restarts.

Values added — helm_core​

اسموصفقيمة
presetsSpark/runtime property bundles auto-seeded on first bootList of الدلتا + مثلجة
kubernetes.defaultCluster.presetNamesNames (declared under presets:) attached to the default cluster on first boot[delta]

Values removed — helm_core​

اسمسبب
kubernetes.defaultCluster.config.spark.kubernetes.container.imageMoved into the الدلتا preset entry under top-level presets:
kubernetes.defaultCluster.config.spark.databricks.delta.catalog.update.enabledSame
kubernetes.defaultCluster.config.spark.sql.extensionsSame
kubernetes.defaultCluster.config.spark.sql.catalog.spark_catalogSame

Operator impact​

Zero on a default upgrade. The bundled الدلتا preset reproduces exactly the Delta keys that previously lived inline in the default cluster's defaultApplicationConfig. Existing user-created clusters keep their own config unchanged.

If you customised kubernetes.defaultCluster.config with non-Delta overrides, those entries are preserved as-is — only the four Delta-specific keys were lifted into the preset.

Operators wanting to add their own preset (e.g. a tuned نيسي bundle) extend presets: in their values override:

إيلوم كور:
presets:
- اسم: نيسي
وصف: Iceberg + Nessie wiring
خصائص:
spark.kubernetes.container.image: my-registry/spark:نيسي
spark.sql. الامتدادات: org.projectnessie.spark.extensions.NessieSparkSessionExtensions
# ...
kubernetes:
defaultCluster:
presetNames:
- الدلتا
- نيسي

Renaming a preset detaches any cluster / group / schedule that referenced the old id (the id is derived from the name). Detach in the UI first, or use the API to update presetIds to the new id before removing the old entry.

Merge precedence at job launch (last wins): cluster's effective config (including its attached presets via ClusterConfigurer) → system providers (memory, metastore, packages) → entity presets → entity jobConfig. The symmetric "plain spark args you typed at the entity level win" rule still applies. Follow-up #202 will extract صورة و Namespace to first-class cluster fields so presets layer cleanly without the current "plain wins" caveat on the cluster scope.

14. Airflow secret backend + base image bump​

ميزة​

The bundled Airflow image (ilum/airflow) now ships an IlumS3SecretsBackend that resolves the conn-id aliases ilum-minio, ilum-s3و ilum-objectstorage (plus their _-separated and case variants) to a single canonical AIRFLOW_CONN_ILUM_S3 env var. Activating the backend (AIRFLOW__SECRETS__BACKEND=ilum_secrets_backend.IlumS3SecretsBackend) is already wired in helm_aio/values.yaml.

This replaces the broken AIRFLOW_CONN_ILUM-MINIO_CMD / AIRFLOW_CONN_ILUM-S3_CMD printf-based env-var pattern. Airflow 3 silently dropped _CMD resolution for connection env vars — the suffix now resolves only for config keys like SQL_ALCHEMY_CONN_CMD — which caused worker pods to surface RuntimeError: generator didn't yield from the remote-logging path and InvalidAccessKeyId from user S3Hook calls.

The same change bumps the base image from apache/airflow:3.1.6 ل apache/airflow:3.2.1 across all four ops/docker/ilum-airflow/ variants (دوكر فايل, Dockerfile-plain, Dockerfile-spark, Dockerfile-spark-4.x), and switches the bake-in install location for the backend to /opt/ilum_secrets/ with a PYTHONPATH prepend so the module path no longer depends on the base image's Python minor.

Operator impact (zero by default)​

The Helm values flip is opt-in via the chart-default airflow.enabled flag — operators with airflow.enabled=true pick up the new env configuration automatically on ترقية Helm. No DAG changes are required: BaseHook.get_connection("ilum-minio") و S3Hook(aws_conn_id="ilum-s3") continue to work, but now resolve to a storage-backend-agnostic connection.

KeyPre-upgradePost-upgrade
airflow.airflowVersion3.1.63.2.1
airflow.images.airflow.tag3.1.63.2.1
airflow.extraEnv AIRFLOW_CONN_ILUM-MINIO_CMD(broken printf pattern)removed
airflow.extraEnv AIRFLOW_CONN_ILUM-S3_CMD(broken printf pattern)removed
airflow.extraEnv AIRFLOW__SECRETS__BACKEND(unset)ilum_secrets_backend.IlumS3SecretsBackend
airflow.extraEnv AIRFLOW_CONN_ILUM_S3(unset)JSON literal with $(AWS_*) downward expansion

DAG-level changes from Airflow 3.1.6 to 3.2.1 are minor; full changelog at https://airflow.apache.org/docs/apache-airflow/3.2.1/release_notes.html.

Failure modes (now caught at chart-render time)​

  • If an operator overrides airflow.images.airflow.tag to an ilum/airflow tag that does not contain /opt/ilum_secrets/ (e.g. an older custom build), the secrets backend resolves to ModuleNotFoundError: ilum_secrets_backend at scheduler start. Fix by upgrading the image or unsetting AIRFLOW__SECRETS__BACKEND.

15. Object storage console wiring is now data-driven​

ميزة​

The active object-storage provider, the Object Storage iframe path, and the /external/object-storage/ nginx redirect target are now derived from a single source of truth in helm_aio/templates/_helpers.tpl. The previously hand-rolled three-way conditional in ui-cm.yaml has been replaced with helper calls; the objectstorage-svc.yaml inline resolution has been collapsed into the same helper.

A new objectStorage.providers registry maps provider names to their console paths and routing modes. To enable a third S3-compatible backend (e.g. SeaweedFS) for benchmarking or migration:

  1. Add the chart dependency under helm_aio/Chart.yaml.
  2. Add an entry under objectStorage.providers.<name> مع consolePath و consoleMode (same-origin أو nginx-rewrite).
  3. جبر objectStorage.activeProvider: <name> to flip user-facing traffic.

Operator impact (zero by default)​

Existing RC2 overlays that only set rustfs.enabled / minio.enabled / rustfs.migrationAcknowledged continue to work unchanged. The chart reads the legacy flags as back-compat shims.

The registry intentionally does NOT set a default تمكين field for rustfs و مينيو; the chart-level flags (.Values.rustfs.enabled / .Values.minio.enabled) remain the single source of truth for those two providers. This avoids the silent override that would occur if the new chart-default registry flipped objectStorage.providers.rustfs.enabled=true on a user who had rustfs.enabled=false in their overlay.

Verified upgrade paths (zero operator action required):

Pre-upgrade overlayPost-upgrade resolved providerRisk
minio.enabled=true, rustfs.enabled=false (default)مينيوnone
minio.enabled=false, rustfs.enabled=true (opt-in)rustfsnone
minio.enabled=true, rustfs.enabled=true, rustfs.migrationAcknowledged=falseminio (data-bearing side)none
minio.enabled=true, rustfs.enabled=true, rustfs.migrationAcknowledged=truerustfs (post-cutover)none
objectStorage.activeProvider=<name> explicit override<name> verbatimonly if <name> has no pods, ilum-core readiness fails loudly
Pre-RC2 install (no rustfs key, only minio.enabled=true)مينيوnone

Misconfiguration scenarios that fail loudly (not silently):

  • 3+ providers enabled with activeProvider=auto: render-time error names the enabled providers and asks for an explicit choice.
  • Explicit activeProvider=<name> where <name> has no running pods: Service alias has no endpoints; ilum-core readiness probe fails with a clear log message.

New values to know about​

KeyافتراضيMeaning
objectStorage.previousProvider"minio"Required when two providers are enabled and activeProvider=auto. Names the side that holds the data; the alias targets it until cutover is acknowledged.
objectStorage.cutoverAcknowledgedخطأGeneralizes the previous rustfs.migrationAcknowledged. Flips the alias from previousProvider to the other enabled provider. The legacy flag is still honored as an alias.
objectStorage.providers.<name>.enabledper-providerMirror of .Values.<name>.enabled for new providers without their own chart-level flag.
objectStorage.providers.<name>.consolePath/rustfs/console/, / خارجي / مينيو /UI iframe path for that provider's console.
objectStorage.providers.<name>.consoleModesame-origin (rustfs), nginx-rewrite (minio)Controls whether nginx redirects /external/object-storage/ to the provider's path (nginx-rewrite, for consoles pinned to a single URL) or keeps the proxy body (same-origin).

Failure modes (now loud)​

  • Three or more providers enabled with activeProvider=auto: the chart fails at render time with a message naming the enabled providers and asking the operator to set activeProvider=<name> explicitly.
  • Two providers enabled with previousProvider empty: chart fails at render time asking the operator to set previousProvider to the data-bearing side, or to set activeProvider explicitly.
  • activeProvider set to a name with no matching pods: the chart renders but the alias Service has no Endpoints, and إيلوم كور's readiness probe surfaces the misconfiguration in pod logs.

16. Rook-Ceph S3 Storage Backend (BYO)​

ميزة:​

A pre-deployed (BYO) rook-ceph cluster can now be used as the sole S3-compatible storage backend, in place of the default minio (or opt-in rustfs). The rook-ceph operator and CephCluster must be deployed separately; see the Rook-Ceph user guide for end-to-end setup.

Values added - ilum (AIO)​

اسموصفقيمة
rookCeph.enabledEnable rook-ceph S3 storage integration (requires pre-deployed rook-ceph)خطأ
rookCeph.s3.hostRGW service hostname (e.g., rook-ceph-rgw-my-store.rook-ceph.svc.cluster.local)""
rookCeph.s3.serviceNameRGW Service name for Endpoints lookup; falls back to first segment of مضيف""
rookCeph.s3.namespaceNamespace containing the RGW Service; falls back to second segment of مضيف""
rookCeph.s3.portRGW service port80
rookCeph.s3.schemeURL scheme (HTTP أو https); set to https for TLS-terminating RGW ServicesHTTP
rookCeph.s3.insecureSkipVerifySkip TLS certificate verification (opt-in for self-signed Rook-managed RGW)خطأ
rookCeph.s3.regionS3 regionالولايات المتحدة الشرقية 1
rookCeph.s3.accessKeyS3 access key from CephObjectStoreUserCHANGEMEPLEASE
rookCeph.s3.secretKeyS3 secret key from CephObjectStoreUserCHANGEMEPLEASE
rookCeph.bucketInit.enabledCreate S3 buckets on the RGW endpoint (reuses objectStorage.defaultBuckets)صحيح
rookCeph.bucketInit.imageaws-cli image for bucket creationamazon/aws-cli:2.27.31
rookCeph.statusProbe.enabledEnable RGW health check in the bucket init Jobصحيح
rookCeph.statusProbe.imageHealth check imagecurlimages / حليقة: 8.5.0

⚠️⚠️⚠️ التحذيرات​

  • minio.enabled=true is the chart default in the 6.7.x line (rustfs is opt-in until it becomes the default in 6.8.0). When switching to rook-ceph, the values overlay must set both minio.enabled=false و rustfs.enabled=false. The rustfsExtensions و minioExtensions bootstrap Jobs are already gated on their parent providers, so a separate *Extensions.enabled=false flag is not required. A chart validation now fails the install when rookCeph.enabled is combined with either bundled provider.
  • ال ilum-objectstorage Service alias is rendered as a selector-less Service backed by a manual Endpoints object that mirrors the live RGW Pod IPs from the rook-ceph namespace (a label-selector alias cannot cross namespaces, and an ExternalName CNAME is black-holed by kube-proxy because it cannot DNAT a packet twice). RGW Pod restarts rotate the Pod IPs and stale the mirrored Endpoints; re-run helm upgrade ilum ./helm_aio -f ilum-rook-ceph-values.yaml after any RGW Pod restart to refresh the addresses.
  • The shared ilum-objectstorage-credentials Secret is now seeded from rookCeph.s3.{accessKey,secretKey} in rook-ceph-only mode; an install fails fast when either is left at the CHANGEMEPLEASE placeholder.
  • The bucket init Job no longer swallows aws-cli errors. Network/credential/endpoint misconfigurations now fail the Job loudly instead of completing 1/1 with no buckets created.

To perform the rollout:

# 1. Deploy the rook-ceph operator and CephCluster in the rook-ceph namespace
# (operator chart, CephCluster CR, CephObjectStore, CephObjectStoreUser).
# Wait for the RGW Service and Pods to become Ready in the rook-ceph
# namespace; ilum-objectstorage Endpoints are mirrored from this Service
# at chart install/upgrade time.

# 2. Extract S3 credentials from the CephObjectStoreUser Secret.
ACCESS_KEY=$(كوبيكتل -ن rook-ceph get secret \
rook-ceph-object-user-<store-name>-<user-name> \
-س jsonpath='{.data.AccessKey}' | base64 -d)
SECRET_KEY=$(كوبيكتل -ن rook-ceph get secret \
rook-ceph-object-user-<store-name>-<user-name> \
-س jsonpath='{.data.SecretKey}' | base64 -d)

# 3. Render the overlay (the doc ships a complete template).
cat > ilum-rook-ceph-values.yaml <<EOF
rustfs:
enabled: false
minio:
enabled: false
rookCeph:
enabled: true
s3:
host: rook-ceph-rgw-<store-name>.rook-ceph.svc.cluster.local
port: 80
accessKey: $ACCESS_KEY
secretKey: $SECRET_KEY
EOF

# 4. Install or upgrade.
ترقية Helm --install ilum ./helm_aio -و ilum-rook-ceph-values.yaml

# 5. After RGW Pod restarts (Ceph cluster upgrades, rook-ceph operator
# rollouts, node maintenance), refresh the mirrored Endpoints:
helm upgrade ilum ./helm_aio -و ilum-rook-ceph-values.yaml

17. Legacy activities audit feature removed (helm_core)​

ميزة:​

The backend dropped the legacy "activities" audit trail; the structured EventLog now backs all audit and user/group operation statistics. The corresponding backend config key was removed, so its Helm value is dead.

Values deleted - helm_core​

اسمسبب
security.activities.timeToLiveBackend security.activities.timeToLive property no longer exists

RELEASE 6.7.1​

1. Cluster-scoped RBAC for the management API​

ميزة:​

The management API (helm_api, which backs the Ilum CLI and the in-UI Module Marketplace) can now be granted a cluster-scoped role so it can install and manage modules that require cluster-scoped resources — CRDs, ClusterRoles/ClusterRoleBindings, admission webhooks, and Prometheus Operator custom resources (for example, kube-prometheus-stack). When rbac.clusterScope is enabled, the chart renders a ClusterRole و ClusterRoleBinding bound to the API service account; with it disabled, the API keeps only its namespace-scoped permissions.

Values added - helm_api​

اسموصفقيمة
rbac.clusterScopeRender a cluster-scoped ClusterRole/ClusterRoleBinding for the management APIصحيح

القيم المضافة - ilum-aio​

اسموصفقيمة
ilum-api.rbac.createCreate RBAC resources for the management APIصحيح
ilum-api.rbac.clusterScopeGrant the management API cluster-scoped RBACصحيح

2. Probe and startup hardening​

ميزة:​

Liveness, readiness, and startup probe timings were relaxed across إيلوم كور, ILUM-UIو ilum-api (longer initial delays, periods, and failure thresholds, with startup probes enabled) so the stack comes up cleanly in slower or resource-constrained environments. The bundled default cluster also gained a spark.kubernetes.memoryOverheadFactor من 0.5 and a higher default driver memory. No operator action is required.

RELEASE 6.7.0​

1. Airflow version update​

ميزة:​

Updated Airflow from version 3.1.1 to 3.1.6.

Values changed - helm_aio​

اسمالقيمة القديمةقيمة جديدة
airflow.airflowVersion3.1.13.1.6
airflow.images.airflow.tag3.1.13.1.6
airflow.apiServer.extraInitContainers[0].image`ilum/airflow:3.1.1ilum/airflow:3.1.6

2. Added ClickHouse and Langfuse to ilum-aio​

ميزة:​

Added ClickHouse and Langfuse to ilum-aio as new modules. ClickHouse is a fast open-source OLAP database management system. Langfuse is an open source LLM engineering platform.

القيم المضافة - ilum-aio​

اسموصفقيمة
clickhouse.enabledFlag to enable ClickHouse deployment in ilum-aioخطأ
langfuse.enabledFlag to enable Langfuse deployment in ilum-aioخطأ

القيم المضافة - ilum-ui​

اسموصفقيمة
runtimeVars.langfuseUrlURL of the Langfuse instancehttp://ilum-langfuse-web:3000
runtimeVars.langfusePathProxy path for Langfuse/external/langfuse/
nginx.config.langfuse.enabledEnable proxy for Langfuseخطأ
nginx.config.http_cookie.langfuse.enabledEnables cookie mapping for Langfuseصحيح

3. Configurable Scala version for default cluster​

ميزة:​

مضاف scalaVersion configuration option to the default cluster settings. This allows users to specify which Scala version their Spark jobs are run with, supporting both Scala 2.12 for spark 3.x and 2.13 for spark 4.x

Values added - helm_core​

اسموصفقيمة
kubernetes.defaultCluster.scalaVersionScala version for Spark jobs (SCALA_2_12 or SCALA_2_13)SCALA_2_13

4. API token authentication system​

ميزة:​

Added "API token authentication system for internal and external service authentication."

Values added - helm_core​

اسموصفقيمة
security.api-token.enabledFlag to enable API token authenticationخطأ
security.api-token.tokensList of initial tokens[]

القيم المضافة - ilum-aio​

اسموصفقيمة
ilum-core.security.api-token.enabledFlag to enable API token authenticationخطأ
ilum-core.security.api-token.tokensList of initial tokens[{name: "superset", token: "initial-superset-token-for-engine-creation", permissions: ["SQLENGINE_CREATE"]}]

5. Startup probe for Ilum-core​

ميزة:​

Added startup probe to the Ilum-core deployment. This allows the application to have sufficient time to start in constrained environments while maintaining quick readiness and liveness checks once started. The startup probe delays readiness and liveness probes until the application starts successfully.

Values added - helm_core​

اسموصفقيمة
startupProbeStartup probe configuration for ilum-core containerSee values.yaml for full structure
startupProbe.failureThresholdNumber of failures before giving up (300 × 2s = 10 minutes max)300
startupProbe.periodSecondsHow often to perform the probe2
startupProbe.timeoutSecondsTimeout for each probe request1
startupProbe.httpGet.pathHTTP path for startup probe/actuator/health/liveness

Values changed - helm_core​

اسمالقيمة القديمةقيمة جديدة
livenessProbe.initialDelaySeconds12010
readinessProbe.initialDelaySeconds12010

6. Disabled SASL in Kafka configuration​

ميزة:​

Disabled SASL authentication in the default Kafka configuration. This change simplifies the setup for users who do not require SASL authentication for their Kafka clusters. Users who need SASL can still enable it through custom configuration.

Values added - helm_aio​

اسموصفقيمة
kafka.listeners.interbroker.protocolInterbroker protocolPLAINTEXT
kafka.listeners.controller.protocolController protocolPLAINTEXT
kafka.kraft.clusterIdKraft clusterId to prevent Bitnami chart upgrade failuresaWx1bS1kZWZhdWx0LWlkMQ

7. Management API and Ilum CLI​

ميزة:​

Added the helm_api chart (ilum-api), a Management API sidecar that exposes the Ilum CLI's operations over HTTP and powers the in-UI Module Marketplace for point-and-click module deployment. It is deployed by default in ilum-aio.

القيم المضافة - ilum-aio​

اسموصفقيمة
ilum-api.enabledDeploy the Management API sidecar (CLI over HTTP)صحيح

RELEASE 6.6.2​

1. Spark 4.x Upgrade - Scala 2.13 Migration​

ميزة:​

Updated default Spark images to ilum/spark:4.0.1-delta and ilum-spark-launcher to spark-4.1.0. Spark 4.x exclusively uses Scala 2.13 and has dropped support for Scala 2.12.

Values changed - helm_core​

اسمالقيمة القديمةقيمة جديدة
kubernetes.defaultCluster.dockerImageilum/spark:3.5.7-deltailum/spark:4.0.1-delta
historyServer.imagespark-3.5.7spark-4.1.0
externalSparkSubmit.image.tagspark-3.5.7spark-4.1.0

⚠️⚠️⚠️ CRITICAL WARNING - BREAKING CHANGE ⚠️⚠️⚠️​

Spark 4.x uses Scala 2.13 exclusively. Scala 2.12 is NO LONGER SUPPORTED.

This is a BREAKING CHANGE that may affect your existing Spark jobs:

  1. JAR Compatibility: Any Spark applications, libraries, or dependencies compiled with Scala 2.12 WILL NOT WORK with Spark 4.x. You must recompile all custom JARs with Scala 2.13.

  2. Affected Components:

    • Custom Spark applications (Scala-based)
    • Third-party libraries compiled for Scala 2.12
    • UDFs written in Scala
    • أي .jar files built with scalaVersion := "2.12.x"
  3. How to Identify Affected JARs:

    • Check your build.sbt أو pom.xml من أجل scalaVersion settings
    • JAR names often contain the Scala version suffix (e.g., myapp_2.12-1.0.jar)
    • JARs with _2.12 suffix need to be rebuilt with _2.13
  4. Required Actions Before Upgrade:

    • Inventory all custom Spark JARs in use
    • Recompile all Scala-based applications with Scala 2.13
    • Update all third-party dependencies to Scala 2.13 versions
    • Test all jobs thoroughly in a staging environment
  5. No Backwards Compatibility:

    • Starting from this version, Ilum's Spark job wrapper uses Scala 2.13 exclusively
    • Running Spark 3.x jobs compiled with Scala 2.12 is no longer supported
    • أنت MUST recompile all your Scala-based Spark jobs with Scala 2.13 before upgrading
  6. PySpark Users: PySpark jobs are generally unaffected unless they use Scala-based UDFs or custom Scala libraries.

RECOMMENDATION: Test your workloads in a non-production environment before upgrading to this release.

2. Added environment variables support to default cluster configuration​

ميزة:​

Added support for configuring environment variables in the default cluster configuration. This allows users to set environment variables that will be applied to Spark jobs running on the default cluster. The SPARK_SUBMIT_OPTS environment variable is now configurable through Helm values instead of being hardcoded, providing better flexibility for JVM tuning and other environment-specific configurations.

Values added - helm_core​

Default cluster environment variables configuration​
اسموصفقيمة
kubernetes.defaultCluster.environmentVariablesEnvironment variables for default cluster{}
kubernetes.defaultCluster.environmentVariables.SPARK_SUBMIT_OPTSJVM options for Spark submit process"-XX:MaxHeapSize=64m -XX:MaxMetaspaceSize=64m -Xss256k"

3. Added Unity Catalog integration​

ميزة:​

مضاف helm_unity_catalog chart to provide Unity Catalog support as an optional catalog backend (similar to Hive Metastore and Nessie). Unity Catalog is disabled by default and can be enabled to provide unified governance for data and AI assets. The chart is integrated with the existing PostgreSQL database and MinIO S3 storage, with automatic JWT keypair generation for authentication.

Values added - helm_unity_catalog​

اسموصفقيمة
ilum-unity-catalog.enabledEnables Unity Catalog deploymentخطأ
ilum-unity-catalog.server.enabledEnables the Unity Catalog serverصحيح
ilum-unity-catalog.server.db.typeDatabase backend type (file or postgresql)postgresql
ilum-unity-catalog.server.db.postgresqlConfig.hostPostgreSQL hostilum-postgresql-hl
ilum-unity-catalog.server.db.postgresqlConfig.portPostgreSQL port5432
ilum-unity-catalog.server.db.postgresqlConfig.dbNamePostgreSQL database nameunitycatalog
ilum-unity-catalog.server.db.postgresqlConfig.userPostgreSQL usernameإيلوم
ilum-unity-catalog.server.db.postgresqlConfig.passwordSecretNameSecret containing PostgreSQL passwordilum-postgres-credentials
ilum-unity-catalog.server.db.postgresqlConfig.passwordSecretKeyKey in secret for passwordشعار
ilum-unity-catalog.server.jwtKeypairSecret.createAuto-generate JWT keypair for authenticationصحيح
ilum-unity-catalog.storage.modelStorageRootS3 path for Unity Catalog model storages3a://ilum-data/unity-catalog/
ilum-unity-catalog.storage.credentials.s3[0].bucketPathS3 bucket paths3://ilum-data
ilum-unity-catalog.storage.credentials.s3[0].regionS3 regionالولايات المتحدة الشرقية 1
ilum-unity-catalog.storage.credentials.s3[0].credentialsSecretNameSecret containing S3 credentialsilum-minio
ilum-unity-catalog.storage.credentials.s3[0].accessKeySecretKeyKey name for S3 access key in secretroot-user
ilum-unity-catalog.storage.credentials.s3[0].secretKeySecretKeyKey name for S3 secret key in secretroot-password
ilum-unity-catalog.ui.enabledEnables Unity Catalog UIخطأ

Values added - helm_core​

Unity Catalog metastore configuration​
اسموصفقيمة
ilum-core.metastore.typeضبط على unity to use Unity Catalog as metastoreخلية
ilum-core.metastore.unity.addressUnity Catalog server endpointhttp://unity-catalog-ilum-unity-catalog-server:8080
ilum-core.metastore.unity.warehouseDirUnity Catalog warehouse directorys3a://ilum-data/unity-catalog/
ilum-core.metastore.unity.s3EndpointS3 endpoint for Unity Cataloghttp://ilum-minio:9000/
ilum-core.metastore.unity.s3PathStyleAccessEnable S3 path-style accessصحيح
ilum-core.metastore.unity.catalogNameUnity Catalog name in Sparkunity_catalog
ilum-core.metastore.unity.configSpark configuration for Unity Catalog integrationSee values.yaml

Values added - postgresExtensions​

اسموصفقيمة
postgresExtensions.databasesToCreateمضاف unitycatalog database for Unity Catalog metadata...,nessie,unitycatalog

⚠️⚠️⚠️ التحذيرات​

  • Unity Catalog requires PostgreSQL and S3-compatible storage to be enabled
  • JWT keypairs are auto-generated on first deployment and stored in Kubernetes secrets
  • When using Unity Catalog, set ilum-core.metastore.type: unity to configure Spark integration

4. Added DuckDb and DuckLake to Ilum Core​

ميزة:​

Added DuckDb as an SQL executor and DuckLake as a metastore option in Ilum Core. DuckDb is a fast and lightweight SQL engine that supports a wide range of data types and SQL features. DuckLake is a distributed metastore for DuckDb, which provides options for multi-user access and data versioning.

Values added - ilum_core​

اسموصفقيمة
sql.duckdb.idleTimeoutDetermines the time DuckDb connections are kept alive without activity1h
sql.duckdb.ducklake.enabledEnables DuckLakeصحيح
sql.duckdb.ducklake.locationLocation of the data in for the DuckLakes3://ilum-ducklake/
sql.duckdb.ducklake.postgres.hostHost for the metastore postgres connection``
sql.duckdb.ducklake.postgres.portPort for the metastore postgres connection5432
sql.duckdb.ducklake.postgres.databaseDatabase name for the metastore postgres connectionducklake
sql.duckdb.ducklake.postgres.userUsername for the metastore postgres connection``
sql.duckdb.ducklake.postgres.passwordPassword for the metastore postgres connection``
sql.duckdb.ducklake.s3.endpointS3 endpoint for the metastore data``
sql.duckdb.ducklake.s3.regionS3 region for the metastore dataالولايات المتحدة الشرقية 1
sql.duckdb.ducklake.s3.keyIdS3 key id for the metastore data``
sql.duckdb.ducklake.s3.secretS3 secret for the metastore data``
sql.duckdb.ducklake.s3.urlStyleUrl style to use for S3. Either مسار أو vhostمسار
sql.duckdb.ducklake.s3.sslWhether to use SSL for the S3 connectionخطأ

RELEASE 6.6.1​

1. Ugraded JupyterHub experience​

ميزة:​

Ugraded helm_jupyterhub to bundle Ilum-specific SSH/Git/LDAP bootstrap logic, curated notebooks, and tailored singleuser defaults so helm_aio merely enables the dependency, pins fullnameOverride, and surfaces only the still-relevant overrides. This also keeps the SSH network policy open for port 2222 and ensures the shared ilum-jupyter-ssh-keys secret remains stable, while c.JupyterHub.cleanup_servers = True guarantees the SSH service and user pods stop with the release.

Values added - helm_aio​

اسموصفقيمة
ilum-jupyterhub.enabledEnables the curated Ilum JupyterHub chartخطأ

Values added - helm_jupyterhub​

اسموصفقيمة
fullnameOverrideOverride for the full resource nameilum-jupyterhub
تمكينChart enabled flagخطأ
SSH configuration​
اسموصفقيمة
ssh.enabledEnables the bundled SSH operator, service, and shared key workflowخطأ
ssh.keysSecretSecret that provides the stable host and authorized keysilum-jupyter-ssh-keys
ssh.modeSSH authentication mode: أحسن (shared authorized_keys from keysSecret) or per-user (individual secrets per user)أحسن
ssh.perUserSecretNameTemplateTemplate for per-user secret names when using per-user modessh-keys-{username}
ssh.perUserAuthorizedKeysKeyKey name in per-user secrets containing authorized_keysauthorized_keys
ssh.service.typeType of service fronting port 2222NodePort
ssh.service.portPort exposed for SSH traffic2222
ssh.service.targetPortTarget port for SSH traffic2222
ssh.service.nodePortNodePort number (empty for auto-assignment)""
ssh.service.clusterIPClusterIP address (empty for auto-assignment)""
ssh.service.loadBalancerIPLoadBalancer IP address""
ssh.service.annotationsAnnotations for the SSH service{}
ssh.service.prefixPrefix for SSH service resourcesilum-jupyter-ssh
ssh.sshdConfig.customConfigCustom sshd_config lines[]
ssh.operatorImage.nameSSH operator image repositorydocker.ilum.cloud/ilum-jupyterhub
ssh.operatorImage.tagSSH operator image tagssh-operator-4.3.1
ssh.extraEnvExtra environment variables for SSH operator[]
Git configuration​
اسموصفقيمة
git.existingSecretCredentials that allow the Git init job to seed the notebooks repositoryilum-git-credentials
git.emailGit email for commitsilum@ilum
git.repositoryاسم مستودع Gitجوبيتر
git.addressGitea server addressilum-gitea-http:3000
git.urlGitea endpoint URL used to seed the ilum-jupyterhub orghttp://ilum-gitea-http:3000
git.orgNameOrganization managed by the git-init jobilum-jupyterhub
git.operatorImage.nameGit operator image repositorydocker.ilum.cloud/ilum-jupyterhub
git.operatorImage.tagGit operator image taggitea-operator-4.3.1
git.secret.nameSecret containing credentials referenced by the operatorilum-git-credentials
git.secret.usernameKeyKey for username in the secretاسم المستخدم
git.secret.passwordKeyKey for password in the secretشعار
LDAP configuration​
اسموصفقيمة
ldap.enabledKeeps the LDAP authenticator wired into Ilum JupyterHubصحيح
ldap.urlsLDAP server endpoints that front the Ilum directory["ldap://ilum-openldap:389"]
ldap.baseSearch base for Ilum users and groups"dc=ilum,dc=cloud"
ldap.usernameBind DN used for authentication"cn=admin,dc=ilum,dc=cloud"
ldap.passwordPassword for the bind DNNot@SecurePassw0rd
ldap.adminUsersLDAP accounts with admin privileges in JupyterHub["ilumadmin","admin"]
ldap.userSearchBaseBase DN where user entries live"ou=people,dc=ilum,dc=cloud"
ldap.userSearchFilterFilter for user lookups"uid = {0}"
ldap.groupSearchBaseBase DN where group entries live"ou=groups,dc=ilum,dc=cloud"
ldap.groupSearchFilterFilter that matches members"(عضو = {0})"
ldap.allowedGroupsEmpty list allows all groups unless specified[]
ldap.userAttributeUser attribute for username"أويد"
ldap.fullnameAttributeAttribute for user's full name"سي إن "
ldap.emailAttributeAttribute for user's email"البريد"
ldap.groupNameAttributeAttribute for group name"سي إن "
ldap.groupMemberAttributeAttribute for group membership"member"
ldap.useSslUse SSL for LDAP connectionخطأ
ldap.startTlsUse STARTTLS for LDAP connectionخطأ
ldap.lookupDnLookup DN before bindingصحيح
Hub configuration​
اسموصفقيمة
hub.image.nameHub image repositorydocker.ilum.cloud/ilum-jupyterhub
hub.image.tagHub image tagjupyterhub-4.3.1
hub.contentSecurityPolicy.enabledTurns the managed CSP header injection on/offصحيح
hub.contentSecurityPolicy.frameAncestorsOrigins allowed to embed JupyterHub in an iframe["'self'","http://localhost:9777"]
hub.gitInit.enabledRuns the job that ensures the ilum-jupyterhub organization/repo existصحيح
Singleuser runtime defaults​
اسموصفقيمة
singleuser.startupArgs.iopubDataRateLimitRaised output bandwidth ceiling for Ilum workloads1000000000
singleuser.startupArgs.extraArgsAdditional CLI arguments forwarded to the user server[]
singleuser.nodeSelectorArchitecture-agnostic placement (empty by default){}
singleuser.tolerationsAllows scheduling on tainted nodes when needed[]
Image pull credentials​
اسموصفقيمة
imagePullSecret.createCreate the pull secret in-clusterخطأ
imagePullSecret.automaticReferenceInjectionAuto-inject the created secret into JupyterHub workloadsصحيح
imagePullSecret.registryRegistry host for the pull secret""
imagePullSecret.usernameRegistry username for the pull secret""
imagePullSecret.passwordRegistry password for the pull secret""
imagePullSecret.emailRegistry email for the pull secret""
imagePullSecret.nameExisting secret name to reference instead of the autogenerated pull secret""
imagePullSecretsAdditional pull secrets injected into all hub-managed pods[]

Values changed - helm_jupyterhub​

اسمالقيمة القديمةقيمة جديدة
singleuser.networkPolicy.allowedIngressPorts[][2222]

Instructions​

  • Keep ilum-jupyter-ssh-keys stable outside Helm so the SSH host fingerprint survives upgrades; rotating the secret requires removing stale entries from user known_hosts.
  • Ensure ilum-git-credentials contains valid credentials for a Gitea account with org-level write access—both the SSH operator and Git init job rely on the rendered token.
  • To refresh the curated notebooks, update helm_jupyterhub/files/examples (and their config map templates) so the init container can push them into the ilum-jupyterhub repo again.

⚠️⚠️⚠️ التحذيرات​

  • Port 2222 is opened via the SSH operator’s shared service; if you switch to per-user authorized keys, keep the service numbering and secrets aligned.

  • Cleanup is forced (c.JupyterHub.cleanup_servers = True), so user pods and the SSH service terminate with the Helm release. Manage any long-lived workloads outside this chart.

2. Upgraded Livy compatible API to version 0.8.0​

ميزة:​

Upgraded Livy compatible API to version 0.8.0 with enhanced configuration options for compression, server version control, and TTL-based session cleanup.

القيم المضافة - ilum-core​

Livy Compression Configuration​
اسموصفقيمة
livy.compression.enabledEnable response compression for Livy endpointsخطأ
Livy Server Configuration​
اسموصفقيمة
livy.server.versionLivy server version identifier0.8.0
livy.server.sendServerVersionSend server version in response headersخطأ
livy.server.allowCustomClasspathAllow custom classpath in session creationخطأ
Livy TTL Session Cleanup Configuration​
اسموصفقيمة
livy.ttl.checkPeriodBackground sweep period in milliseconds for checking expired sessions300000
livy.ttl.checkInitialDelayInitial delay in milliseconds before first TTL background check60000

القيم المضافة - ilum-aio​

Same values as إيلوم كور but under the ilum-core. prefix (e.g., ilum-core.livy.compression.enabled).

⚠️⚠️⚠️ Important Notes​

For most users: ✅ No action required. All new configuration options have safe defaults and are backward compatible.

Optional Performance Optimization: If you handle large Livy responses, you may enable compression by setting livy.compression.enabled: true.

إدارة الجلسة: The new TTL cleanup uses a hybrid approach (lazy + background sweep) to automatically clean up expired sessions. Default settings should work for most deployments.

3. Updated default Spark version and added autopause configuration​

ميزة:​

Updated default Spark version to 3.5.7-delta في kubernetes.defaultCluster.config. Added spark.ilum.autopause: "true" ل kubernetes.defaultCluster.config to set the default behavior of the autopause feature.

القيم التي تغيرت - ilum-core​

اسمالقيمة القديمةقيمة جديدة
kubernetes.defaultCluster.config.spark.kubernetes.container.imageILUM / شرارة: 3.5.6-دلتاilum/spark:3.5.7-delta

القيم المضافة - ilum-core​

اسموصفقيمة
kubernetes.defaultCluster.config.spark.ilum.autopauseSets the default behavior of autopause feature"صحيح"

ميزة:​

Fixed stability issues and changed HTTP cookie-based access control to be disabled by default for all external services (Jupyter, Airflow, MLflow, Grafana, etc.).

What Changed?​

  • External services are now open by default - no cookie requirements
  • All users can access services without any special configuration
  • System works out-of-the-box

What This Means for You​

  • ✅ Your services will become more accessible
  • ✅ Users can access Jupyter, Airflow, MLflow, etc. without cookie setup
  • ✅ No action required for most deployments

If you need to restrict access:

  • Use the built-in OAuth2/Hydra authentication (recommended for production)
  • Or manually enable cookie-based access control per service (see below)

This is an advanced feature for specific use cases:

  • ✅ Temporary access restrictions for specific users/sessions
  • ✅ Custom access control integrated with your frontend application

To enable for a specific service:

nginx:
التكوين:
http_cookie:
تمكين: صحيح
ilum-jupyter:
تمكين: صحيح

Values changed - ilum-ui​

اسمالقيمة القديمةقيمة جديدة
nginx.config.http_cookie.enabledصحيحخطأ

Values changed - ilum-aio​

اسمالقيمة القديمةقيمة جديدة
ilum-ui.nginx.config.http_cookie.enabledصحيحخطأ

⚠️⚠️⚠️ Important Notes​

For most users: ✅ No action required. This change makes services more accessible.

If you customized cookie settings in 6.6.0: You may need to review your configuration. The system now defaults to open access instead of requiring cookies.

RELEASE 6.6.0​

1. Upgraded Apache Airflow to 3.1.1​

ميزة:​

Upgraded Apache Airflow from 3.0.5 to 3.1.1 with improved OIDC authentication support using authlib OAuth providers (AUTH_OAUTH) instead of deprecated flask-oidc (AUTH_OIDC). This upgrade includes fixes for OAuth redirect URI patterns and proper volume mounting for OIDC client secrets in init containers.

Values changed - ilum-aio​

اسمالقيمة القديمةقيمة جديدة
airflow.airflowVersion3.0.53.1.1
airflow.images.airflow.tag3.0.53.1.1
airflow.apiServer.extraInitContainers[0].imageilum/airflow:3.0.5ilum/airflow:3.1.1

القيم المضافة - ilum-aio​

اسموصفقيمة
airflow.migrateDatabaseJob.useHelmHooksDisable Helm hooks for database migration jobخطأ
airflow.apiServer.extraInitContainers[0]Modified create admin user init containerSee below
airflow.apiServer.apiServerConfigConfigMapNameCustom webserver_config.py configmapilum-api-server-config
Init Container Volume Mount Configuration​
- اسم: create-المشرف-مستخدم
صورة: ilum/airflow:3.1.1
command: ["/bin/bash", "/scripts/init.sh"]
volumeMounts:
- اسم: إيلوم-airflow-create-مستخدم-سر
mountPath: /scripts
- اسم: التكوين
mountPath: /opt/airflow/airflow.cfg
المسار الفرعي: airflow.cfg
- اسم: أوث-سر-volume
mountPath: /opt/airflow/client-سر
readOnly: صحيح
- اسم: webserver-التكوين-volume
mountPath: /opt/airflow/webserver_config.py
المسار الفرعي: webserver_config.py
readOnly: صحيح

⚠️⚠️⚠️ التحذيرات​

Configuration value airflow.apiServer.apiServerConfigConfigMapName is preconfigured to use a ConfigMap named ilum-api-server-config. But the name of this configMap must follow pattern <release-name>-api-server-config to be properly mounted as it is Airflow's chart requirement. So if your release name is different from إيلوم, please change this value accordingly. For example use:

airflow:
apiServer:
apiServerConfigConfigMapName: < الخاص بك-release-اسم>-واجهة برمجة التطبيقات-ملقم-التكوين
extraVolumes:
- اسم: أوث-سر-volume
سر:
اسم سري: إيلوم-هيدرا-عميل-سر
- اسم: إيلوم-airflow-create-مستخدم-سر
سر:
اسم سري: إيلوم-airflow-create-مستخدم-سر
- اسم: webserver-التكوين-volume
configMap:
اسم: < الخاص بك-release-اسم>-واجهة برمجة التطبيقات-ملقم-التكوين

2. Enhanced Jupyter startup configuration​

ميزة:​

Added configurable startup arguments for Jupyter notebook server, allowing users to customize base URL, IOPub data rate limits, and pass additional command-line arguments. Also added support for extra environment variables with templating support.

القيم المضافة - ilum-jupyter​

Startup and environment configuration​
اسموصفقيمة
tokenJupyter notebook authentication token""
startupArgs.baseUrlJupyter base URL path for reverse proxy configurations/external/jupyter/
startupArgs.iopubDataRateLimitIOPub data rate limit in bytes/sec (controls output bandwidth)1000000000
startupArgs.extraArgsAdditional command-line arguments to pass to Jupyter server[]
extraEnvAdditional environment variables for Jupyter container as string template""

⚠️⚠️⚠️ التحذيرات​

  • All startup arguments configured via startupArgs.* can be completely overridden by setting the أرجس parameter in values.yaml. When أرجس is set, all default startup arguments are ignored, giving you full control over the Jupyter server startup command.
  • ال extraEnv parameter accepts a string template (multiline YAML using |). Example usage:
    extraEnv: |
    - name: MY_VAR
    value: value

3. Added Apache NiFi module​

ميزة:​

Added Apache NiFi to ilum-aio as a new module. This will allow users to easily deploy NiFi and use it next to Ilum.

القيم المضافة - ilum-aio​

اسموصفقيمة
nifi.enabledFlag to enable NiFi deployment in ilum-aioخطأ
nifi.fullnameOverrideFull name override for NiFiilum-nifi
nifi.image.tagTag of the source NiFi image2.5.0
nifi.properties.safetyValveAdditional properties passed to nifi.propertiesرأى القيم.yaml
nifi.persistence.enabledEnables PVC for the data directoryصحيح
nifi.persistence.subpath.enabledEnabled one PVC instead of manyصحيح
nifi.persistence.subpath.sizeSize of the data directory10Gi
nifi.zookeeper.enabledEnables bundled Zookeeper deploymentخطأ
nifi.registry.enabledEnables bundled NiFi registry deploymentخطأ
nifi.ca.enabledEnables bundled CA deploymentخطأ
nifi.openldap.enabledEnables bundled openLDAP deploymentخطأ

القيم المضافة - ilum-ui​

اسموصفقيمة
runtimeVars.nifiUrlURL of the NiFi instancehttp://ilum-nifi:8443/nifi/
runtimeVars.nifiPathProxy path of NiFi/external/nifi/
nginx.config.nifi.enabledEnable proxy for NiFiخطأ
nginx.config.http_cookie.nifi.enabledEnables cookie mapping for NiFiصحيح

4. Added integration with Project Nessie metastore​

ميزة:​

Added integration with Project Nessie metastore in Ilum, which allows the use of Nessie as a metastore for Spark jobs.

القيم المضافة - ilum-core​

اسموصفقيمة
metastore.typeIndicates the default metastoreخلية
metastore.nessie.addressThe address of the default Nessie metastorehttp://ilum-nessie:19120/api/v2
metastore.nessie.warehouseDirThe location of the warehouse of the default Nessie metastores3a://ilum-data/nessie_catalog
metastore.nessie.s3EndpointThe S3 API endpoint to use for the default Nessie metastorehttp://ilum-minio:9000
metastore.nessie.s3PathStyleAccessWhether to use path style access for the S3 Nessie connectionصحيح
metastore.nessie.authTypeAuth type of the default Nessie metastoreNONE
metastore.nessie.refThe branch to use for the default Nessie metastoreرئيسي
metastore.nessie.cacheEnabledEnables caching in the default Nessie metastoreخطأ
metastore.nessie.catalog_nameThe name of the catalog for the default Nessie metastorenessie_catalog
metastore.nessie.configAdditional config to add for the Spark jobرأى القيم.yaml
metastore.nessie.statusProbeStatus probe for the Nessie metastore, so Ilum-core does not launch too quicklyرأى القيم.yaml

القيم المضافة - ilum-aio​

اسموصفقيمة
nessie.enabledEnables or disables bundled Nessie deploymentخطأ
nessie.fullnameOverrideFull name override for Nessieilum-nessie
nessie.versionStoreTypeType of persistent metadata storageJDBC2
nessie.extraInitContainersAdds init containers to Nessie (waiting for database)رأى القيم.yaml
nessie.jdbc.jdbcUrlUrl for DB connectionjdbc:postgresql://ilum-postgresql-hl:5432/nessie
nessie.jdbc.secret.nameSecret containing DB credentialsilum-postgres-credentals
nessie.jdbc.secret.usernameKey of username in the secretاسم المستخدم
nessie.jdbc.secret.passwordKey of password in the secretشعار

الأسماء المتغيرة - ilum-core​

الاسم القديماسم جديد
hiveMetastore.enabledmetastore.enabled
hiveMetastore.*metastore.hive.*

القيم التي تغيرت - ilum-core​

اسمالقيمة القديمةقيمة جديدة
kubernetes.defaultCluster.configرأى القيم.yamlرأى القيم.yaml

⚠️⚠️⚠️ التحذيرات​

This is an important change that will need to be addressed if any custom changes to the default configuration were made. Please carefully review the changes and make sure they will not break your deployment.

5. Livy API now fully served by ilum-core (embedded)​

ميزة:​

Livy API is implemented and served directly by إيلوم كور (embedded). The legacy Livy proxy is deprecated but can still be turned on for backward compatibility.

القيم المضافة - ilum-aio​

اسموصفقيمة
ilum-core.livy.enabledEnables embedded Livy integration in AIO via إيلوم كورصحيح
ilum-core.livy.ilumUI.publicEndpointPublic endpoint of ilum-ui used for Livy links/integrationhttp://localhost:9777
ilum-livy-proxy.legacy.enabledTurns on the legacy Livy proxy resources (ConfigMap/Deployment/etc.)خطأ

⚠️⚠️⚠️ التحذيرات​

  • ال compat Service (ilum-livy-proxy → ilum-core) is deprecated and will be removed in a future release.
  • ال legacy proxy is also deprecated and will be removed after the transition period.
  • Mode matrix (AIO):
    • ilum-livy-proxy.enabled=false & ilum-livy-proxy.legacy.enabled=false → nothing created; call إيلوم كور directly.
    • ilum-livy-proxy.enabled=true & ilum-livy-proxy.legacy.enabled=false → create compat Service pointing to the new إيلوم كور Livy API.
    • ilum-livy-proxy.enabled=false & ilum-livy-proxy.legacy.enabled=true → deploy legacy proxy.
  • When legacy is enabled, update client endpoints to use the legacy Service:
    • ilum-jupyter.livyEndpoint = http://ilum-livy-proxy:8998
    • ilum-zeppelin.livyEndpoint = http://ilum-livy-proxy:8998
    • Airflow connection: AIRFLOW_CONN_ILUM-LIVY-PROXY=livy://ilum-livy-proxy:8998
  • Some resources (e.g., ConfigMap/Ingress) are rendered based on ilum-livy-proxy.legacy.enabled only (not on ilum-livy-proxy.enabled).

6. Added cronjob cleaning after uninstalling​

ميزة:​

A pre-delete hook will now clean up kubernetes cronjobs after uninstalling the chart.

القيم المضافة - ilum-core​

اسموصفقيمة
cronjob.cleanup.enabledEnable cronjob cleanup after uninstalling the chartصحيح
cronjob.cleanup.imageImage used for the cleanup jobalpine/kubectl:1.34.1

RELEASE 6.5.2​

1. SSH mode implementation for helm_jupyter​

ميزة:​

SSH mode in the helm_jupyter chart has been implemented to provide SSH access directly within the main Jupyter container. This allows users to access their Jupyter environment via SSH while maintaining workspace consistency between web and SSH interfaces.

Values added - helm_jupyter​

SSH access configuration​
اسموصفقيمة
ssh.enabledEnable SSH access in the Jupyter containerصحيح
ssh.keysSecretName of the secret containing SSH keysilum-jupyter-ssh-keys
ssh.service.typeSSH service typeNodePort
ssh.service.portSSH service port2222
ssh.service.nodePortSSH service node port (when service type is NodePort)""
ssh.service.clusterIPSSH service cluster IP""
ssh.service.loadBalancerIPSSH service load balancer IP""
ssh.service.annotationsSSH service annotations{}
ssh.sshdConfig.customConfigCustom SSH server configuration[]

⚠️⚠️⚠️ التحذيرات​

  • SSH server runs directly in the main Jupyter container on port 2222 internally
  • SSH keys must be provided via a Kubernetes Secret referenced by ssh.keysSecret parameter
  • The secret should contain both SSH host keys and authorized_keys for authentication
  • SSH access provides direct access to the /home/jovyan/work directory (same as web interface)
  • Custom SSH server configuration can be provided via ssh.sshdConfig.customConfig array

2. Address Bitnami’s move to bitnamilegacy + bitnamisecure​

ميزة:​

Bitnami has moved to bitnamilegacy + bitnamisecure for their images after the 18th of August 2025. This change moves used images to the new repositories.

القيم المضافة - ilum-aio​

اسموصفقيمة
global.security.allowInsecureImagesAllows images from outside of bitnami repository in Bitnami's chartsصحيح
kafka.image.repositoryRepository for Kafka's imagebitnamilegacy/kafka
minio.image.repositoryRepository for Minio's imagebitnamilegacy/minio
mlflow.image.repositoryRepository for MlFlow's imagebitnamilegacy/mlflow
postgresql.image.repositoryRepository for Postgresql's imagebitnamilegacy/postgresql

Values changed - ilum-aio​

اسمالقيمة القديمةقيمة جديدة
airflowExtensions.git.imageBitnami / جيت: 2.48.1bitnamisecure/git@sha256:72ae5bd9715fc81446becc0418011883479c593bac427911aa62ecf27ef96546
postgresExtensions.imageBitnami / Postgresql: 16bitnamilegacy/postgresql:16

القيم التي تغيرت - ilum-core​

اسمالقيمة القديمةقيمة جديدة
kafka.statusProbe.imageبيتنامي/كافكا:3.4.1bitnamilegacy/kafka:3.4.1

Values changed - ilum-hive-metastore​

اسمالقيمة القديمةقيمة جديدة
postgresql.imageBitnami / Postgresql: 16bitnamilegacy/postgresql:16

Values changed - ilum-jupyter​

اسمالقيمة القديمةقيمة جديدة
git.init.imageBitnami / جيت: 2.48.1bitnamisecure/git@sha256:72ae5bd9715fc81446becc0418011883479c593bac427911aa62ecf27ef96546

Values changed - ilum-marquez​

اسمالقيمة القديمةقيمة جديدة
marquez.db.imageBitnami / Postgresql: 16bitnamilegacy/postgresql:16

1. Updated Airflow defaults in ilum-aio​

ميزة:​

Bumped Airflow to 3.0.5 and streamlined default connection/env configuration. Removed legacy cleanup and scheduler overrides in favor of chart defaults and connection-based setup.

القيم المضافة - ilum-aio​

اسموصفقيمة
airflow.enableBuiltInSecretEnvVars.AIRFLOW__CORE__FERNET_KEYEnable default fernet key generationخطأ

Values changed - ilum-aio​

اسمالقيمة القديمةقيمة جديدة
airflow.extraEnvرأى القيم.yamlرأى القيم.yaml
airflow.airflowVersion3.0.33.0.5
airflow.images.airflow.tag3.0.33.0.5
airflow.apiServer.extraInitContainers[0].imageilum/airflow:3.0.3ilum/airflow:3.0.5

Values deleted - ilum-aio​

اسمسبب
airflow.scheduler.argsRevert to chart default scheduler command as we manage connections via env variables now
airflow.cleanup.enabledUse executor's instant cleanup
airflow.config.kubernetes_executor.delete_worker_podsUse chart defaults
airflow.config.kubernetes_executor.delete_worker_pods_on_failureUse chart defaults

⚠️⚠️⚠️ التحذيرات​

As the default Airflow’s fernet key creation mechanism made it impossible to enable Airflow via values upgrade, the mechanism will get disabled by default. To use it once again, manually create a Kubernetes secret and set required values in the airflow chart.

ميزة:​

Added configurable HTTP cookie mappings in the ilum-ui nginx configuration. This allows users to enable or disable cookie-based access control for individual services or turn off the entire cookie mapping section. Each service can be controlled individually while maintaining backward compatibility with all options enabled by default.

القيم المضافة - ilum-ui​

اسموصفقيمة
nginx.config.http_cookie.enabledGlobal flag to enable HTTP cookie mappingsصحيح
nginx.config.http_cookie.historyServer.enabledEnable cookie mapping for history server accessصحيح
nginx.config.http_cookie.mlflow.enabledEnable cookie mapping for MLflow accessصحيح
nginx.config.http_cookie.ilum-jupyter.enabledEnable cookie mapping for Jupyter notebook accessصحيح
nginx.config.http_cookie.gitea.enabledEnable cookie mapping for Gitea accessصحيح
nginx.config.http_cookie.n8n.enabledEnable cookie mapping for n8n accessصحيح
nginx.config.http_cookie.minio.enabledEnable cookie mapping for MinIO accessصحيح
nginx.config.http_cookie.airflow.enabledEnable cookie mapping for Airflow accessصحيح
nginx.config.http_cookie.superset.enabledEnable cookie mapping for Superset accessصحيح
nginx.config.http_cookie.grafana.enabledEnable cookie mapping for Grafana accessصحيح
nginx.config.http_cookie.kestra.enabledEnable cookie mapping for Kestra accessصحيح
nginx.config.http_cookie.mageai.enabledEnable cookie mapping for Mage AI accessصحيح

4. PostgreSQL Max Connections Configuration​

ميزة:​

Added PostgreSQL max_connections configuration to address database connection limits in high-load scenarios.

القيم المضافة - ilum-aio​

PostgreSQL configuration​
اسموصفقيمة
postgresql.primary.extendedConfigurationExtended PostgreSQL configuration to set max_connections parametermax_connections = 1000

RELEASE 6.4.3​

1. Added Mage to ilum-aio​

ميزة:​

Added Mage OSS to ilum-aio as a new module. This will allow users to easily deploy Mage and use it next to Ilum.

القيم المضافة - ilum-aio​

اسموصفقيمة
mageai.enabledFlag to enable Mage OSS deployment in ilum-aioخطأ
mageai.fullnameOverrideOverrides the full name of the Mage deploymentilum-mageai
mageai.image.repositoryRepository of the source Mage imageilum/mageai
mageai.image.tagTag of the source Mage image0.9.76
mageai.rootPathThe root path for the Mage web serverexternal/mageai
mageai.service.typeType of Mage's kubernetes serviceClusterIP
mageai.redis.enabledEnables Redis for the Mage deploymentخطأ
mageai.postgresql.enabledEnables external Postgres for Mageصحيح
mageai.postgresql.deployDeploys external Postgres for Mageخطأ
mageai.postgresql.fullnameOverrideThe name of the Postgres serviceilum-postgresql-hl
mageai.postgresql.auth.usernameUsername of the Postgres userإيلوم
mageai.postgresql.auth.passwordPassword of the Postgres userCHANGEMEPLEASE
mageai.postgresql.auth.databaseThe database Mage should usemageai
mageai.persistence.enabledEnables PVC for the main data directoryصحيح

2. Updated Airflow’s chart and values to support Airflow 3.0​

ميزة:​

Updated Airflow’s chart and values to support Airflow 3.0, which includes changes in the configuration and deployment of Airflow.

القيم المضافة - ilum-aio​

اسموصفقيمة
airflow.airflowVersionSets chart compatibility for given Airflow version3.0.3
airflow.apiServer.*apiServer replaces webserver settingsرأى القيم.yaml
airflow.config.core.auth_managerClass of auth manager used in Airflowairflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager
airflow.config.api.base_urlThe base path of the Airflow web apphttp://localhost:9777/external/airflow
airflow.config.api.enable_xcom_deserialize_supportEnables XCom deserialization in Airflow APIصحيح
airflow.config.logging.colored_console_logEnables colored console log in Airflowصحيح
airflow.config.kubernetes_executor.delete_worker_podsEnables instant deletion of worker podsFalse
airflow.config.kubernetes_executor.delete_worker_pods_on_failureEnables instant deletion of failed worker podsFalse
airflow.cleanup.enabledEnables periodic deletion of worker podsصحيح

Values changed - ilum-aio​

اسمالقيمة القديمةقيمة جديدة
airflow.images.airflow.tag2.9.33.0.3
airflow.executorLocalKubernetesExecutorKubernetesExecutor
airflow.extraEnvرأى القيم.yamlرأى القيم.yaml
airflow.webserver.extraInitContainersرأى القيم.yamlرأى القيم.yaml

Values deleted - ilum-aio​

اسمسبب
airflow.migrateDatabaseJob.useHelmHooksRevert to chart default

Values changed - ilum-ui​

اسمالقيمة القديمةقيمة جديدة
runtimeVars.airflowUrlhttp://ilum-airflow-webserver:8080http://ilum-airflow-api-server:8080

⚠️⚠️⚠️ التحذيرات​

Ilum’s changes, Airflow 3.0 and the new Airflow chart version bring significant changes to the Airflow configuration and deployment. Please review the new values and adjust your configuration accordingly.

If you are a user of Ilum’s OAuth2 provider, this update may require you to manually update some configuration, as Helm is likely to not be able to automatically migrate the values.

3. Added securityContext configuration for ilum charts​

ميزة:​

Added comprehensive securityContext configuration for enhanced security across all ilum Helm charts. This includes both pod-level and container-level security contexts with non-root user execution, capability dropping, and seccomp profiles.

القيم المضافة - ilum-core​

اسموصفقيمة
securityContext.pod.runAsNonRootRun container as non-root userصحيح
securityContext.pod.runAsUserUser ID to run the container1001
securityContext.pod.runAsGroupGroup ID to run the container1001
securityContext.pod.fsGroupFile system group ID1001
securityContext.pod.seccompProfile.typeSeccomp profile typeUnconfined
securityContext.container.allowPrivilegeEscalationAllow privilege escalationخطأ
securityContext.container.readOnlyRootFilesystemRead-only root filesystemخطأ
securityContext.container.runAsNonRootRun container as non-root userصحيح
securityContext.container.runAsUserUser ID to run the container1001
securityContext.container.runAsGroupGroup ID to run the container1001
securityContext.container.capabilities.dropCapabilities to drop["ALL"]
securityContext.container.seccompProfile.typeSeccomp profile typeUnconfined

القيم المضافة - ilum-ui​

اسموصفقيمة
securityContext.pod.runAsNonRootRun pod as non-root userصحيح
securityContext.pod.runAsUserUser ID to run the pod101
securityContext.pod.runAsGroupGroup ID to run the pod101
securityContext.pod.fsGroupFile system group ID101
securityContext.pod.seccompProfile.typeSeccomp profile typeUnconfined
securityContext.container.allowPrivilegeEscalationAllow privilege escalationخطأ
securityContext.container.readOnlyRootFilesystemRead-only root filesystemخطأ
securityContext.container.runAsNonRootRun container as non-root userصحيح
securityContext.container.runAsUserUser ID to run the container101
securityContext.container.runAsGroupGroup ID to run the container101
securityContext.container.capabilities.dropCapabilities to drop["ALL"]
securityContext.container.seccompProfile.typeSeccomp profile typeUnconfined

القيم المضافة - ilum-jupyter​

اسموصفقيمة
securityContext.container.allowPrivilegeEscalationAllow privilege escalationخطأ
securityContext.container.readOnlyRootFilesystemRead-only root filesystemخطأ
securityContext.container.runAsNonRootRun container as non-root userصحيح
securityContext.container.runAsUserUser ID to run the container1000
securityContext.container.runAsGroupGroup ID to run the container100
securityContext.container.capabilities.dropCapabilities to drop["ALL"]
securityContext.container.seccompProfile.typeSeccomp profile typeUnconfined
securityContext.initContainer.allowPrivilegeEscalationAllow privilege escalation for init containerخطأ
securityContext.initContainer.readOnlyRootFilesystemRead-only root filesystem for init containerخطأ
securityContext.initContainer.runAsNonRootRun init container as non-root userخطأ
securityContext.initContainer.runAsUserUser ID to run the init container0
securityContext.initContainer.runAsGroupGroup ID to run the init container0
securityContext.initContainer.capabilities.dropCapabilities to drop for init container["ALL"]
securityContext.initContainer.seccompProfile.typeSeccomp profile type for init containerUnconfined

القيم المضافة - ilum-livy-proxy​

اسموصفقيمة
securityContext.pod.runAsNonRootRun pod as non-root userصحيح
securityContext.pod.runAsUserUser ID to run the pod1001
securityContext.pod.runAsGroupGroup ID to run the pod1001
securityContext.pod.fsGroupFile system group ID1001
securityContext.pod.seccompProfile.typeSeccomp profile typeUnconfined
securityContext.container.allowPrivilegeEscalationAllow privilege escalationخطأ
securityContext.container.readOnlyRootFilesystemRead-only root filesystemخطأ
securityContext.container.runAsNonRootRun container as non-root userصحيح
securityContext.container.runAsUserUser ID to run the container1001
securityContext.container.runAsGroupGroup ID to run the container1001
securityContext.container.seccompProfile.typeSeccomp profile typeUnconfined

القيم المضافة - ilum-aio​

Added securityContext configuration for postgresExtensions​
اسموصفقيمة
postgresExtensions.securityContext.pod.runAsNonRootRun pod as non-root userصحيح
postgresExtensions.securityContext.pod.runAsUserUser ID to run the pod999
postgresExtensions.securityContext.pod.runAsGroupGroup ID to run the pod999
postgresExtensions.securityContext.pod.fsGroupFile system group ID999
postgresExtensions.securityContext.pod.seccompProfile.typeSeccomp profile typeUnconfined
postgresExtensions.securityContext.container.allowPrivilegeEscalationAllow privilege escalationخطأ
postgresExtensions.securityContext.container.readOnlyRootFilesystemRead-only root filesystemخطأ
postgresExtensions.securityContext.container.runAsNonRootRun container as non-root userصحيح
postgresExtensions.securityContext.container.runAsUserUser ID to run the container999
postgresExtensions.securityContext.container.runAsGroupGroup ID to run the container999
postgresExtensions.securityContext.container.capabilities.dropCapabilities to drop["ALL"]
postgresExtensions.securityContext.container.seccompProfile.typeSeccomp profile typeUnconfined

RELEASE 6.4.2​

1. changed openldap chart provider to jp-gouin's​

ميزة:​

Changed openldap chart provider to jp-gouin's, which is more actively maintained and has better support for features like TLS. Because of that, the default configuration of openldap was changed to reflect the new provider's defaults.

القيم التي تغيرت - ilum-core​

اسمالقيمة القديمةقيمة جديدة
security.ldap.userMapping.enabledSNemployeeType
security.ldap.userMapping.enabledValue~active
security.ldap.passwordالمشرفNot@SecurePassw0rd

القيم المضافة - ilum-aio​

Added new values for openldap configuration​
اسموصفقيمة
global.ldapDomainDomain of the LDAP configurationilum.cloud
openldap.replicaCountReplica count of openLDAP1
openldap.replication.enabledEnable HA for openLDAPخطأ
openldap.ltb-passwd.enabledEnable ltb-passwd serviceخطأ
openldap.phpldapadmin.enabledEnable PhpLdapAdminخطأ

Values changed - ilum-aio​

اسمالقيمة القديمةقيمة جديدة
openldap.env.LDAP_BACKENDhdbmdb
openldap.customLdifFilessee القيم.yamlsee القيم.yaml

Values deleted - ilum-aio​

اسمسبب
openldap.env.LDAP_ORGANISATIONManaged by the chart
openldap.env.LDAP_DOMAINManaged by the chart
openldap.env.LDAP_TLSManaged by the chart
openldap.env.LDAP_TLS_ENFORCEManaged by the chart

RELEASE 6.4.1​

1. Adapt hydra to https​

القيم المضافة - ilum-aio​

اسموصفقيمة
global.security.hydra.uiDomainDomain where ilum-ui can be accessed from browser``
global.security.hydra.uiProtocolProtocol used to access ilum-ui: HTTP أو httpsHTTP

Values deleted - ilum-aio​

اسمسبب
global.security.hydra.uiUrlتم استبداله ب uiDomain و بروتوكول uiProtocol

القيم المضافة - ilum-core​

اسموصفقيمة
hydra.cookies.same_site_modeSameSite value for hydra cookies in set-cookie headerالتراخي

2. Added openldap to helm chart and ilum-to-ldap synchronization​

القيم المضافة - ilum-aio​

Added openldap configuration values​
اسموصفقيمة
openldap.enabledFlag used to enable openldapخطأ
openldap.adminPasswordPassword of admin ldap userالمشرف
openldap.fullnameOverrideName of Openldap helm chart resourcesilum-openldap
openldap.persistence.enabledFlag to enable persistence by openldapصحيح
openldap.persistence.sizeMemory used by openldap for storage1Gi
openldap.env.LDAP_ORGANIZATIONOrganization name of main ldap domainإيلوم
openldap.env.LDAP_DOMAINMain domain used in ldap by adminilum.cloud
openldap.env.LDAP_BACKENDType of ldap backendhdb
openldap.env.LDAP_TLSFlag used to enable TLS in ldapخطأ
openldap.env.LDAP_TLS_ENFORCEFlag used to enforce TLS in ldapخطأ
openldap.env.LDAP_REMOVE_CONFIG_AFTER_SETUPFlag used to update configصحيح
openldap.customLdifFiles.schemas.ldifFile with custom schem applied at the startup<initial-schema.ldif>

القيم المضافة - ilum-core​

Added configurations for synchronization of ldap with ilum​
اسموصفقيمة
security.ldap.ilumToLdapSyncFlag used to enable ilum to ldap syncخطأ
security.ldap.userMapping.ocOC values used during insertion of ilum users into ldap<default-oc-list>
security.ldap.groupMapping.ocOC values used during insertion of ilum groups into ldap<default-oc-list>

القيم التي تغيرت - ilum-core​

اسمالقيمة القديمةقيمة جديدة
security.ldap.urls[][ "ldap://ilum-openldap:389" ]
security.ldap.base""dc=ilum,dc=cloud
security.ldap.username""cn=admin,dc=ilum,dc=cloud
security.ldap.password""المشرف
security.ldap.adminUsers[ "admin" ][ "admin", "ilumadmin" ]
security.ldap.userMapping.base""ou = الناس
security.ldap.userMapping.fullname""سي إن
security.ldap.userMapping.description""وصف
security.ldap.userMapping.email""بريد
security.ldap.userMapping.enabled""SN
security.ldap.userMapping.base""ou=groups
security.ldap.userMapping.description""وصف

3. Restricted RBAC Mode for ilum-core service​

ميزة:​

Introduced a new rbac.restricted.enabled flag in the إيلوم كور chart. When set to صحيح, this option applies a more restrictive set of RBAC permissions for the service account. This enhances security by adhering to the principle of least privilege and is recommended for production or security-sensitive environments.

القيم المضافة - ilum-core​

Added a flag to enable a more restrictive RBAC configuration.​
اسموصفقيمة
rbac.restricted.enabledIf true, applies a more restrictive, non-cluster-wide set of RBAC permissions for Spark applications.خطأ

4. Added تمكين flag to Trino in ilum-sql​

ميزة:​

مضاف تمكين flag to Trino in ilum-sql, which allows users to disable Trino if they do not need it. This also will help ilum-ui with the configuration of Trino.

Values added - ilum-sql​

اسموصفقيمة
config.trino.enabledFlag to enable Trino in ilum-sqlخطأ

⚠️⚠️⚠️ التحذيرات​

Trino was enabled by default, so if you wish to enable it after the version upgrade, you need to set ilum-sql.config.trino.enabled ل صحيح في قيم الدفة الخاصة بك.

RELEASE 6.4.0​

1. Addition of OAuth Provider and its integration with Services​

ميزة:​

Added Hydra deployment to helm chart and fields to configure it

القيم المضافة - ilum-core​

اسموصفقيمة
global.security.hydra.enabledFlag to enable hydraخطأ
global.security.hydra.uiUrlIlum UI url required to configure OpenID connect``
global.security.hydra.clientIdClient Id of OpenID client created in hydraعميل ILUM
global.security.hydra.cliendSecretClient Secret of OpenId Client created in hydraسر
hydra.dsnDSN for database used by hydrapostgres://ilum:CHANGEMEPLEASE@ilum-postgresql:5432/hydra?sslmode=disable
hydra.secretsSystemSecret used by hydra to securily store dataCHANGEMEPLEASE
hydra.recreateClientBoolean flag for OpenId client recreation during hydra startupصحيح
hydra.resources.requestsMemory and CPU limits and requests used by hydra deploymentصِفْر
hydra.imagePullPolicyHydra container image pull policyإذا: لا يوجد
hydra.service.domainDomain used by hydra serviceilum-hydra
hydra.service.publicPortPort that exposes public api of hydra4444
hydra.service.adminPortPort that exposes admin api of hydra4445
hydra.service.typeHydra service typeClusterIP
hydra.service.publicNodePortHydra service node port assigned to public port``
hydra.service.publicNodePortHydra service node port assigned to admin port``
hydra.service.clusterIPHydra service cluster IP``
hydra.service.loadBalancerIPHydra service load balancer IP``
hydra.service.annotationsAnnotations used by hydra service{}
hydra.separateDeploymentFlag to launch hydra in a separate deployment or in ilum-coreصحيح

القيم المضافة - ilum-ui​

اسموصفقيمة
runtimeVars.hydraUrlUrl of Hydra Public APIhttp://ilum-hydra:4444
runtimeVars.hydraPathilum-ui proxy-path to hydra public api/external/hydra

ميزة​

Added helm values to specify how roles and groups from ilum-core are going to be mapped to microservices of ilum

القيم المضافة - ilum-core​

اسموصفقيمة
hydra.rewriteMappingBoolean flag for recreation of ilum-to-services roles config after ilum-core restartصحيح
hydra.mapping.minioMinAccessRoleDefault role assigned to ilum users with access to minioللقراءة فقط
hydra.mapping.airflowMinAccessRoleDefault role assigned to ilum users with access to airflowViewer
hydra.mapping.supersetMinAccessRoleDefault role assigned to ilum users with access to supersetGamma
hydra.mapping.grafanaMinAccessRoleDefault role assigned to ilum users with access to grafanaViewer
hydra.mapping.giteaMinAccessRoleDefault role assigned to ilum users with access to gitea``
hydra.mapping.groupsToMinioMap of ilum groups to a list of minio policiesصِفْر
hydra.mapping.groupsToSupersetMap of ilum groups to a list of superset rolesصِفْر
hydra.mapping.groupsToAirflowMap of ilum groups to a list of airflow rolesصِفْر
hydra.mapping.groupsToGrafanaMap of ilum groups to a list of grafana rolesصِفْر
hydra.mapping.groupsToGiteaMap of ilum groups to a list of gitea rolesصِفْر
hydra.mapping.groupsToMinio[*].ilumObjName of ilum group to be mapped``
hydra.mapping.groupsToMinio[*].serviceObjsList of minio policies that the ilum group is mapped to``
hydra.mapping.groupsToSuperset[*].ilumObjName of ilum group to be mapped``
hydra.mapping.groupsToSuperset[*].serviceObjsList of superset roles that the ilum group is mapped to``
hydra.mapping.groupsToAirflow[*].ilumObjName of ilum group to be mapped``
hydra.mapping.groupsToAirflow[*].serviceObjsList of airflow roles that the ilum group is mapped to``
hydra.mapping.groupsToGrafana[*].ilumObjName of ilum group to be mapped``
hydra.mapping.groupsToGrafana[*].serviceObjsList of grafana roles that the ilum group is mapped to``
hydra.mapping.groupsToGitea[*].ilumObjName of ilum group to be mapped``
hydra.mapping.groupsToGitea[*].serviceObjsList of gitea roles that the ilum group is mapped to``
hydra.mapping.rolesToGiteaMap of ilum roles to a list of gitea rolesصِفْر
hydra.mapping.rolesToMinio[0].ilumObjName of ilum role to be mappedالمشرف
hydra.mapping.rolesToMinio[0].serviceObjsList of minio policies that the ilum role is mapped to[ consoleAdmin ]
hydra.mapping.rolesToMinio[1].ilumObjName of ilum role to be mappedDATA_ENGINEER
hydra.mapping.rolesToMinio[1].serviceObjsList of minio policies that the ilum role is mapped to[ readonly, writeonly, diagnostics ]
hydra.mapping.rolesToSuperset[0].ilumObjName of ilum role to be mappedالمشرف
hydra.mapping.rolesToSuperset[0].serviceObjsList of superset roles that the ilum role is mapped to[ Admin ]
hydra.mapping.rolesToSuperset[1].ilumObjName of ilum role to be mappedDATA_ENGINEER
hydra.mapping.rolesToSuperset[1].serviceObjsList of superset roles that the ilum role is mapped to[ Alpha ]
hydra.mapping.rolesToAirflow[0].ilumObjName of ilum role to be mappedالمشرف
hydra.mapping.rolesToAirflow[0].serviceObjsList of airflow roles that the ilum role is mapped to[ Admin ]
hydra.mapping.rolesToAirflow[1].ilumObjName of ilum role to be mappedDATA_ENGINEER
hydra.mapping.rolesToAirflow[1].serviceObjsList of airflow roles that the ilum role is mapped to[ User ]
hydra.mapping.rolesToGrafana[0].ilumObjName of ilum role to be mappedالمشرف
hydra.mapping.rolesToGrafana[0].serviceObjsList of grafana roles that the ilum role is mapped to[ Admin ]
hydra.mapping.rolesToGrafana[1].ilumObjName of ilum role to be mappedDATA_ENGINEER
hydra.mapping.rolesToGrafana[1].serviceObjsList of grafana roles that the ilum role is mapped to[ Editor ]
hydra.mapping.rolesToMinio[*].ilumObjName of ilum role to be mapped``
hydra.mapping.rolesToMinio[*].serviceObjsList of minio policies that the ilum role is mapped to``
hydra.mapping.rolesToSuperset[*].ilumObjName of ilum role to be mapped``
hydra.mapping.rolesToSuperset[*].serviceObjsList of superset roles that the ilum role is mapped to``
hydra.mapping.rolesToAirflow[*].ilumObjName of ilum role to be mapped``
hydra.mapping.rolesToAirflow[*].serviceObjsList of airflow roles that the ilum role is mapped to``
hydra.mapping.rolesToGrafana[*].ilumObjName of ilum role to be mapped``
hydra.mapping.rolesToGrafana[*].serviceObjsList of grafana roles that the ilum role is mapped to``
hydra.mapping.rolesToGitea[*].ilumObjName of ilum role to be mapped``
hydra.mapping.rolesToGitea[*].serviceObjsList of gitea roles that the ilum role is mapped to``

ميزة​

Integrated minio with Hydra OIDC in values.yaml by adding new environment variables with oidc client data taken from global.security.hydra

Values added - minio​

| minio.extraEnvVars | | |

اسمالقيمة القديمةقيمة جديدة
minio.extraEnvVars......

ميزة​

Integrated airflow with Hydra OIDC in values.yaml

Values added - airflow​

اسموصفقيمة
airflow.webserver.extraVolumes[0].nameName of additional airflow volume with oidc configoauth-secret-volume
airflow.webserver.extraVolumes[0].secret.secretNameAirflow secret with hydra oidc client configilum-hydra-client-secret
airflow.webserver.extraVolumeMounts[0].nameName of volume-mount of secret with oidc configoauth-secret-volume
airflow.webserver.extraVolumeMounts[0].mountPathPath for volume-mount of secret with oidc config/opt/airflow/client-secret
airflow.webserver.extraVolumeMounts[0].readOnlyreadonly flag of volume mount with oidc configصحيح

ميزة​

Integrated grafana with Hydra OIDC in values.yaml

Values added - grafana​

اسموصفقيمة
grafana.grafana.ini.auth.generic_oauth.enabledFlag to enable oauth in grafana, taken from global.security.hydra.enabled by defaultخطأ
grafana.grafana.ini.auth.generic_oauth.nameName of oauth clientإيلوم
grafana.grafana.ini.auth.generic_oauth.allow_sign_upFlag to enable user creation when signing in with oauthصحيح
grafana.grafana.ini.auth.generic_oauth.client_idId of oauth client, taken from global.security.hydra.clientId by defaultعميل ILUM
grafana.grafana.ini.auth.generic_oauth.client_secretSecret of oauth client, taken from global.security.hydra.clientSecret by defaultسر
grafana.grafana.ini.auth.generic_oauth.scopesScopes requested from oauthopenid profile email offline_access
grafana.grafana.ini.auth.generic_oauth.auth_urlUrl used to initiate oauth authentication, uses global.security.hydra.uiUrl as base by default/external/hydra/oauth2/auth
grafana.grafana.ini.auth.generic_oauth.token_urlUrl used for tokens exchange in oauth workflow, uses global.security.hydra.uiUrl as base by default/external/hydra/oauth2/token
grafana.grafana.ini.auth.generic_oauth.api_urlUrl used to access user info, uses global.security.hydra.uiUrl as base by default/external/hydra/userinfo
grafana.grafana.ini.auth.generic_oauth.login_attribute_pathId token claim used to distinguish different usersuserId
grafana.grafana.ini.auth.generic_oauth.email_attribute_nameId token claim with emailالبريد الإلكتروني
grafana.grafana.ini.auth.generic_oauth.role_attribute_pathExpression used to map roles from id_token to grafana...
grafana.grafana.ini.auth.generic_oauth.role_attribute_strictFlag to require the role during sign upصحيح

ميزة​

Integrated superset with Hydra OIDC in values.yaml

Values added - superset​

اسموصفقيمة
superset.configOverrides.ilum_oauth_securityCode added to superset config in order to enable oidc...
superset.extraVolumes[0].nameName of extra volume with a secret for oidc connectionoauth-secret-volume
superset.extraVolumes[0].secret.secretNameName of secret used in extra volume for oidc connectionilum-hydra-client-secret
superset.extraVolumes[1].nameName of extra volume with superset plugin used to enable oidcoauth-plugin-volume
superset.extraVolumes[1].secret.secretNameSecret with superset plugin used to enable oidcilum-superset-oidc-plugin-secret
superset.extraVolumeMounts[0].nameName of volume mount with oidc secret dataoauth-secret-volume
superset.extraVolumeMounts[0].mountPathPath of volume mount with oidc secret data/app/pythonpath/oauth
superset.extraVolumeMounts[1].nameName of volume mount with a superset plugin as a python fileoauth-plugin-volume
superset.extraVolumeMounts[1].mountPathPath of volume mound with a superset plugin/app/pythonpath/security

2. Addition of examples for ilum-core and superset​

ميزة:​

Added examples for Ilum modules. New Ilum users can use these examples to quickly understand how to use Ilum modules like ilum-sql, superset and others.

القيم المضافة - ilum-core​

اسموصفقيمة
examples.jobEnables creating single job exampleصحيح
examples.scheduleEnables creating schedule exampleصحيح
examples.sqlNotebookEnables creating sql notebook exampleصحيح
examples.sqlQueryEnables creating sql query exampleصحيح
examples.databaseEnables creating database exampleصحيح

القيم المضافة - ilum-aio​

اسموصفقيمة
ilum-core.examples.jobEnables creating single job exampleصحيح
ilum-core.examples.scheduleEnables creating schedule exampleصحيح
ilum-core.examples.sqlNotebookEnables creating sql notebook exampleصحيح
ilum-core.examples.sqlQueryEnables creating sql query exampleصحيح
ilum-core.examples.databaseEnables creating database exampleصحيح
superset.extraEnv.IMPORT_DASHBOARDEnables creating superset dashboard exampleصحيح
superset.extraVolumes[2].nameVolume name for dashboard importexample-dashboard
superset.extraVolumes[2].configMap.nameConfigMap that contains base64-encoded dashboardilum-superset-example-dashboard
superset.extraVolumeMounts[2].nameMount name for example dashboard configexample-dashboard
superset.extraVolumeMounts[2].mountPathPath in container to mount the dashboard config/config
superset.extraVolumeMounts[2].readOnlyMount config as read-onlyصحيح
superset.init.initscriptCustom init script to conditionally import dashboardSee script in ilum-aio values file

3. Internal users upgrade credentials flag​

القيم المضافة - ilum-core​

اسموصفقيمة
ilum-core.security.internal.upgradeCredentialsEnables overriding user password with helm configurationخطأ

4. Tighter integration of Marquez with Ilum​

ميزة:​

Enhanced Marquez integration with ilum-core, which means no direct communication between ilum-frontend and Marquez is needed anymore. This way, having a customized Marquez build is not necessary anymore.

القيم التي تغيرت - ilum-core​

اسمالقيمة القديمةقيمة جديدة
job.openLineage.transport.endpoint/خارجي/نسب/api/v1/النسب/api/v1/النسب

5. Changed superset load example variable name​

Values deleted - ilum-aio​

اسمسبب
superset.extraEnv.IMPORT_DASHBOARDChanged to other variable name

القيم المضافة - ilum-aio​

اسموصفقيمة
superset.init.loadExamplesEnables creating superset dashboard exampleصحيح

RELEASE 6.3.2​

1. Addition of frequently used values to ilum-sql​

ميزة:​

Added frequently used values to ilum-sql chart, so that their configuration is easier.

Values added - ilum-sql​

اسموصفقيمة
config.kyuubi.logLevelBase log-level of the log4j frameworkINFO
config.kyuubi.idleEngineTimeoutAuto-shutdown time of Kyuubi engines30M
config.kyuubi.idleSessionTimeoutAuto-shutdown time of Kyuubi sessions30M
config.kyuubi.engineAliveProbeWhether to create a probe, which will check engine livenessصحيح
config.kyuubi.cleanupTerminatedSparkDriverPodsDetermines which of the terminated Spark engine pods will get deleted. Available: NONE, COMPLETED, ALLALL

Values changed - ilum-aio​

اسمالقيمة القديمةقيمة جديدة
ilum-sql.config.kyuubi.defaultssee القيم.yaml~

⚠️⚠️⚠️ التحذيرات​

Because these values were already present in the ilum-aio chart, the change will not be noticeable for users who have changed the value of ilum-sql.config.kyuubi.defaults.

2. Support of Trino in ilum-sql​

ميزة:​

Introduced support for Trino as an SQL engine in ilum-sql chart.

القيم المضافة - ilum-aio​

اسموصفقيمة
trino.enabledEnables built-in Trinoخطأ
trino.nameOverrideSets the name overrideilum-trino
trino.coordinatorNameOverrideSets the name override for the coordinatorilum-trino-coordinator
trino.workerNameOverrideSets the name override for the worker nodesilum-trino-worker
trino.server.workersSets the number of workers1
trino.catalogs.ilum-deltaConfigures the 'ilum-delta' catalogرأى القيم.yaml
ilum-sql.config.trino.catalogThe catalog of choice for Trinoإيلوم دلتا

Values added - ilum-sql​

اسموصفقيمة
config.trino.urlUrl pointing to Trino coordinatorhttp://ilum-trino:8080
config.trino.catalogThe catalog of choice for Trinoنظام
config.trino.defaultsAdditional settings of Trino engines. All properties must be prefixed with trino.~

3. Enhanced Oauth2​

ميزة​

Added users, groups and roles mapping during authentication from OAuth2 Autherization server to Ilum Core. Added ability to assign Admin role to oauth2 users.

القيم المضافة - ilum-core​

اسموصفقيمة
security.oauth2.mapping.idJWT claim that should be mapped to user`s id""
security.oauth2.mapping.nameJWT claim that should be mapped to user`s nameالفرعي
security.oauth2.mapping.emailJWT claim that should be mapped to user`s emailالبريد الإلكتروني
security.oauth2.mapping.fullnameJWT claim that should be mapped to user`s fullnameالاسم الكامل
security.oauth2.mapping.descriptionJWT claim that should be mapped to user`s description""
security.oauth2.mapping.departmentJWT claim that should be mapped to user`s department""
security.oauth2.mapping.groupsJWT claim with a list of groups that user is a part of represented by strings"المجموعات"
security.oauth2.mapping.rolesJWT claim with a list of roles that user uses represented by strings"الأدوار"
security.oauth2.mapping.enabledJWT claim that should be mapped to user`s state""
security.oauth2.mapping.enabledTrueValue of JWT claim with the name of mapping.enabled التي تعني ENABLED""
security.oauth2.mapping.singleGroupJWT claim that contains a string with name of group that the user is part of""
security.oauth2.mapping.singleRoleJWT claim that contains a string with name of role that the user has""

4. Addition of kubernetes s3 region to ilum-core and ilum-aio​

ميزة:​

Added the ability to set the S3 region in ilum-core.

القيم المضافة - ilum-core​

اسموصفقيمة
kubernetes.s3.regiondefault kubernetes cluster S3 storage region to store spark resourcesالولايات المتحدة الشرقية 1

القيم المضافة - ilum-aio​

اسموصفقيمة
ilum-core.kubernetes.s3.regiondefault kubernetes cluster S3 storage region to store spark resourcesالولايات المتحدة الشرقية 1
ilum-core.kubernetes.defaultCluster.config.spark.hadoop.fs.s3a.bucket.ilum-data.regiondefault kubernetes cluster S3 storage region to store spark resourcesالولايات المتحدة الشرقية 1

5. Protocol in superset​

ميزة:​

Added the ability to set the protocol in superset.

Values added - superset​

اسموصفقيمة
بروتوكولsuperset protocolHTTP

6. Addition of hive metastore status probe to ilum-core helm chart​

ميزة:​

Added possibility to enable status probe for hive metastore.

القيم المضافة - ilum-core​

اسموصفقيمة
hiveMetastore.statusProbe.enabledHive metastore status probe enabled flagخطأ
hiveMetastore.statusProbe.imageHive metastore status probe imagecurlimages / حليقة: 8.5.0
hiveMetastore.statusProbe.hostHive metastore status probe hostilum-hive-metastore
hiveMetastore.statusProbe.portHive metastore status probe port9083

الإصدار 6.3.1​

1. تمت إضافة دلاء إضافية لتكوين التخزين​

ميزة​

تمت إضافة القدرة على تضمين حاويات إضافية لتكوين تخزين شرارة نظام مجموعة ilum.

القيم المضافة - ilum-core​

اسموصفقيمة
kubernetes.s3.extraBucketsilum-core افتراضي kubernetes cluster S3 تخزين حاويات إضافية لتضمينها[]
kubernetes.gcs.extraBucketsilum-core افتراضي لتخزين نظام مجموعة kubernetes GCS حاويات إضافية لتضمينها[]
kubernetes.wasbs.extraContainersilum-core الافتراضي kubernetes cluster تخزين WASBS حاويات إضافية لتضمينها[]
kubernetes.hdfs.extraCatalogsilum-core افتراضي kubernetes cluster HDFS تخزين كتالوجات إضافية لتضمينها[]

2. LDAP المحسن​

تمت إضافة القدرة على تعيين المستخدمين والمجموعات والأدوار - جنبا إلى جنب مع خصائصهم وعلاقاتهم - من خادم LDAP إلى Ilum Core استنادا إلى تكوينات التعيين في Helm. تم تفعيل خيار تعيين دور المشرف لمستخدمي LDAP.

القيم المضافة - ilum-core​

اسموصفقيمة
security.ldap.userMapping.baseقاعدة LDAP لإدخالات المستخدمين""
security.ldap.userMapping.filterعامل تصفية LDAP المستخدم لبحث المستخدمين"uid = {0}"
security.ldap.userMapping.usernameاسم سمة LDAP التي يجب ربطها باسم مستخدم المستخدمUID
security.ldap.userMapping.passwordاسم سمة LDAP التي يجب ربطها بكلمة سر المستخدمكلمة مرور المستخدم
security.ldap.userMapping.descriptionاسم سمة LDAP التي يجب ربطها بوصف المستخدم""
security.ldap.userMapping.fullnameاسم سمة LDAP التي يجب ربطها بالاسم الكامل للمستخدم""
security.ldap.userMapping.departmentاسم سمة LDAP التي يجب ربطها بقسم المستخدم""
security.ldap.userMapping.emailاسم سمة LDAP التي يجب ربطها بالبريد الإلكتروني للمستخدم""
security.ldap.userMapping.enabledاسم سمة LDAP التي يجب ربطها بحالة المستخدم""
security.ldap.userMapping.enabledValueقيمة السمة باسم userMapping.enabled التي تعني ENABLED""
security.ldap.groupMapping.baseقاعدة LDAP لإدخالات المجموعة""
security.ldap.groupMapping.filterعامل تصفية LDAP المستخدم للبحث عن المجموعات(عضو = {0})
security.ldap.groupMapping.nameاسم سمة LDAP التي يجب ربطها باسم المجموعةسي إن
security.ldap.groupMapping.descriptionاسم سمة LDAP التي يجب ربطها بوصف المجموعة""
security.ldap.groupMapping.memberAttributeاسم سمة LDAP التي تسرد المستخدمين الذين لديهم المجموعةUID
security.ldap.groupMapping.rolesسمة LDAP التي تسرد الأدوار التي تتضمنها المجموعة""
security.ldap.groupMapping.roleFilterAttributeسمة LDAP للأدوار التي تمثل دورا في groupMapping.roles صفة""
security.ldap.groupMapping.enabledاسم سمة LDAP التي يجب تعيينها إلى حالة المجموعة""
security.ldap.groupMapping.enabledTrueقيمة السمة من groupMapping.enabled التي تعني ENABLED""
security.ldap.roleMapping.baseقاعدة LDAP لإدخالات الأدوار""
security.ldap.roleMapping.filterعامل تصفية LDAP المستخدم للبحث عن الأدوار""
security.ldap.roleMapping.memberAttributeاسم سمة LDAP التي تسرد المستخدمين الذين لديهم الدور""
security.ldap.roleMapping.nameاسم سمة LDAP التي يجب ربطها باسم الدور""
security.ldap.roleMapping.descriptionاسم سمة LDAP التي يجب ربطها بوصف الدور""
security.ldap.roleMapping.enabledاسم سمة LDAP التي يجب تعيينها إلى حالة الدور""
security.ldap.roleMapping.enabledTrueقيمة السمة من roleMapping.enabled التي تعني ENABLED""

القيم المحذوفة - ilum-core​

اسمسبب
security.ldap.userSearchتم استبداله ب security.ldap.userMapping
security.ldap.groupالبحثتم استبداله ب security.ldap.groupMapping

الأسماء المتغيرة - ilum-core​

الاسم القديماسم جديد
security.internal.users[*].passwordsecurity.internal.users[*].initialPassword

3. التكوين الافتراضي SparkMagic​

تم تغيير القيم - تتغير معلمات تكوين ilum-jupyter بسبب إدخال نموذج جلسة spark.​

اسمالقيمة القديمةقيمة جديدة
sparkmagic.config.sessionConfigs.conf'{ "pyRequirements": "pandas", "cluster": "default", "autoPause": "false", "spark.example.config": "يمكنك تغيير التكوين الافتراضي في ilum-jupyter-config k8s configmap" }''{}'

القيم المحذوفة - ilum-jupyter​

اسمسبب
sparkmagic.config.sessionConfigs.executorCoresلم تعد هناك حاجة بعد الآن بسبب نموذج جلسة الشرارة الجديد

القيم المحذوفة - ilum-jupyter​

اسمسبب
sparkmagic.config.sessionConfigs.driverMemoryلم تعد هناك حاجة بعد الآن بسبب نموذج جلسة الشرارة الجديد

الإصدار 6.3.0​

1. تم تغيير إصدار علامة الصورة من kyuubi​

القيم التي تم تغييرها - معلمات تكوين sparkmagic​

اسمالقيمة القديمةقيمة جديدة
sparkmagic.config.sessionConfigs.conf'{ "pyRequirements": "pandas", "spark.example.config": "يمكنك تغيير التكوين الافتراضي في ilum-jupyter-config k8s configmap" }''{ "pyRequirements": "pandas", "cluster": "default", "autoPause": "false", "spark.example.config": "يمكنك تغيير التكوين الافتراضي في ilum-jupyter-config k8s configmap" }'

2. تمت إضافة خاصية لتعيين عنوان kafka ل ilum-core​

ميزة​

تمت إضافة القدرة على تعيين عنوان kafka لجراب ilum-core، منفصل عن تكوين عنوان kafka العمومي لكل من مهام spark ومجموعة pod ilum-core عبر خاصية kafka.address.

القيم المضافة - ilum-core​

اسموصفقيمة
kafka.ilum.addressعنوان ILUM-Core Kafka فقط ل iLum-Core Pod ، يتجاوز kafka.addressغير محدد

3. تغيير ilum وظيفة healthcheck وقت التسامح​

القيم التي تم تغييرها - معلمات تكوين التحقق من صحة وظيفة ilum​

اسمالقيمة القديمةقيمة جديدة
job.healthcheck.tolerance1203600

4. تقديم git repo المضمن​

ميزة​

تمت إضافة Gitea كوحدة توفر خادم git مدمج لمنصة ilum.

القيم المضافة - gitea​

اسموصفقيمة
gitea.enabledتمكين أو تعطيل نشر Giteaصحيح
gitea.image.rootlessقم بتشغيل Gitea في وضع الجذورخطأ
gitea.gitea.config.database.DB_نوعنوع قاعدة البيانات المستخدمة ل GiteaPostgres
gitea.gitea.config.database.HOSTمضيف قاعدة البيانات والمنفذ ل GiteaILUM-Postgresql-HL: 5432
gitea.gitea.config.database.NAMEاسم قاعدة بيانات Giteaجيتا
gitea.gitea.config.database.USERاسم مستخدم قاعدة البيانات ل Giteaإيلوم
gitea.gitea.config.database.PASSWDكلمة مرور قاعدة البيانات ل Gitea (التغيير مطلوب)CHANGEMEPLEASE
gitea.gitea.admin.existingSecretسر Gitea لتخزين بيانات اعتماد initilum-git-credentials
gitea.gitea.admin.emailالبريد الإلكتروني لمسؤول Giteailum@ilum
gitea.gitea.admin.passwordModeوضع كلمة المرور لحساب المسؤولinitialOnlyNoReset
gitea.gitea.additionalConfigFromEnvs[0].nameتمكين إنشاء مستخدم بالدفعGITEA__REPOSITORY__ENABLE_PUSH_CREATE_USER
gitea.gitea.additionalConfigFromEnvs[0].valueقيمة تمكين إنشاء المستخدم بالدفعصحيح
gitea.gitea.additionalConfigFromEnvs[1].nameتمكين مؤسسة الإنشاء بالدفعGITEA__REPOSITORY__ENABLE_PUSH_CREATE_ORG
gitea.gitea.additionalConfigFromEnvs[1].valueقيمة تمكين مؤسسة الإنشاء بالدفعصحيح
gitea.gitea.additionalConfigFromEnvs[2].nameفرع المستودع الافتراضيGITEA__REPOSITORY__DEFAULT_BRANCH
gitea.gitea.additionalConfigFromEnvs[2].valueقيمة فرع المستودع الافتراضيأحسن
gitea.gitea.additionalConfigFromEnvs[3].nameعنوان URL الجذر لخادم GiteaGITEA__SERVER__ROOT_URL
gitea.gitea.additionalConfigFromEnvs[3].valueقيمة عنوان URL الجذر لخادم Giteahttp://git.example.com/external/gitea/
gitea.gitea.additionalConfigFromEnvs[4].nameبادئة عنوان URL الثابتGITEA__SERVER__STATIC_URL_PREFIX
gitea.gitea.additionalConfigFromEnvs[4].valueقيمة بادئة عنوان URL الثابت/خارجي/جيتا/
gitea.redis-cluster.enabledتمكين أو تعطيل مجموعة Redisخطأ
gitea.redis.enabledتمكين أو تعطيل Redisخطأ
gitea.postgresql.enabledتمكين أو تعطيل PostgreSQL المستقلخطأ
gitea.postgresql-ha.enabledتمكين PostgreSQL HA أو تعطيلهخطأ

القيم المضافة - ilum-jupyter​

اسموصفقيمة
ilum-jupyter.git.enabledتمكين تكامل Git أو تعطيلهخطأ
ilum-jupyter.git.usernameاسم مستخدم Git للمصادقةإيلوم
ilum-jupyter.git.passwordكلمة مرور Git للمصادقةإيلوم
ilum-jupyter.git.emailعنوان البريد الإلكتروني ل Gitilum@ilum
ilum-jupyter.git.repositoryاسم مستودع Gitجوبيتر
ilum-jupyter.git.addressعنوان خادم Gitilum-gitea-http:3000
ilum-jupyter.git.init.imageصورة تهيئة GitBitnami / جيت: 2.48.1

القيم المضافة - تدفق هواء الإيلوم​

اسموصفقيمة
airflow.dags.gitSync.enabledتمكين مزامنة Git لمجموعات DAG أو تعطيلهاصحيح
airflow.dags.gitSync.repoعنوان URL لمستودع Git ل DAGshttp://ilum-gitea-http:3000/ilum/airflow.git
airflow.dags.gitSync.branchفرع Git للمزامنة منهأحسن
airflow.dags.gitSync.refمرجع Git للمزامنةرأس
airflow.dags.gitSync.depthعمق استنساخ Git1
airflow.dags.gitSync.maxFailuresالحد الأقصى المسموح به لحالات فشل المزامنة0
airflow.dags.gitSync.subPathالمسار الفرعي داخل المستودع للمزامنة""
airflow.dags.gitSync.credentialsSecretالسر المستخدم لمصادقة Gitilum-git-credentials

5. تغييرات تسمية تكوين Ilum SQL​

قم بتغيير تسمية تكوين Ilum Sql لتعكس بشكل أفضل الاستخدام الحالي ل Kyuubi

الأسماء المتغيرة - ilum-core​

الاسم القديماسم جديد
كيوبي.*sql.*

تم تغيير الأسماء - ilum-aio​

الاسم القديماسم جديد
إيلوم - كيوبي.*ilum-sql.*

⚠️⚠️⚠️ التحذيرات​

نظرا للتغييرات في التسمية وفي الأعمال الداخلية لتشغيل محرك SQL ، والقيود المفروضة على ما يمكن القيام به عبر ترقية Helm, مطلوب حذف المجموعة ذات الحالة القديمة يدويا (على سبيل المثال. قم بحذف STS ILUM-SQL) قبل الترقية إلى هذا الإصدار. سيضمن ذلك أنه أثناء التحديث، يتم إنشاء مجموعة جديدة ذات حالة بالتكوين الصحيح. ترتبط تغييرات الكسر بالتسميات وحوامل وحدة التخزين التي تستخدمها مجموعة الحالة ilum-sql.

6. إضافة تكوينات ل Ilum Submit لمحركات Spark SQL​

يعمل Ilum Submit على تحسين عملية تشغيل محركات Spark SQL عبر كل من تطبيق ويب Ilum ونقطة نهاية JDBC عن طريق تطبيق تكوينات نظام المجموعة المحدد تلقائيا. يلغي هذا التحسين الحاجة إلى توفير تكوين Spark الخاص ب Kyuubi يدويا إلى Ilum Core.

تم حذف القيمة - ilum-core​

اسمسبب
sql.sparkConfigغير ضروري بعد التغيير

القيم المضافة - ilum-kyuubi​

اسموصفقيمة
ilumSubmit.enabledوضع علامة لتمكين خدمة الإرسال في ilumخطأ
ilumSubmit.ilum.hostمضيف خدمة Ilum RESTإيلوم كور
ilumSubmit.ilum.portخدمة ميناء إيلوم REST9888

القيم المضافة - ilum-aio​

اسموصفقيمة
ilum-sql.ilumSubmit.enabledوضع علامة لتمكين إنشاء محرك SQL من خلال Ilumصحيح

⚠️⚠️⚠️ التحذيرات​

نظرا لأن تكوين Spark الخاص ب Kyuubi لم يعد مطلوبا في Ilum Core بعد الآن ، يجب توفير تكوين Spark الافتراضي مباشرة إلى ilum-sql.config.spark.defaults بدلا من القيمة العالمية.

ميزة​

تم نقل التكوين المتعلق بالأمان (بما في ذلك بيانات اعتماد المستخدم الداخلية وإعدادات LDAP وOAuth2 وJWT والمراجع) من خريطة التكوين إلى سر Kubernetes مخصص. يؤدي ذلك إلى تحسين أمان البيانات الحساسة عن طريق عزلها عن التكوين غير الحساس.

القيم المضافة - ilum-core​

اسموصفقيمة
security.secret.nameاسم السر الذي يحتوي على التكوين المتعلق بالأمان. استخدم هذا لتجاوز الاسم السري الافتراضي.ILUM-الأمن

8. تغيير نوع خدمة ilum-ui​

بسبب مشاكل مع kubectl port-forward ، فإننا نعرض NodePort افتراضيا.

القيم التي تم تغييرها - معلمات تكوين ilum-ui healthcheck​

اسمالقيمة القديمةقيمة جديدة
الخدمة.النوعClusterIPNodePort
service.nodePort``31777

الإصدار 6.2.1​

1. تغيير قيمة عنوان url الخاص ب Kyuubi​

ميزة​

قم بتغيير قيمة عنوان url الخاص ب Kyuubi في ilum-core. يجب أن تعمل القيمة الافتراضية الآن خارج الصندوق.

القيم التي تغيرت - ilum-core​

اسمالقيمة القديمةقيمة جديدة
kyuubi.hostilum-sql-restILUM-SQL بدون رأس

الإصدار 6.2.1-RC1​

1. تكوين إعدادات ذاكرة Spark job في ilum-core​

ميزة​

تمت إضافة تكوين إعدادات ذاكرة وظيفة الشرارة في ilum-core. عند إنشاء نظام المجموعة الافتراضي في ilum-core، سيكون لها معلمات إعدادات الذاكرة المعينة على هذه القيم.

القيم المضافة - ilum-core​

اسموصفقيمة
job.memorysettings.executorsعدد منفذي وظائف Spark2
job.memorysettings.executorMemoryتخصيص الذاكرة المنفذة لوظائف Spark1 جرام
job.memorysettings.driverMemoryوظائف شرارة تخصيص ذاكرة السائق1 جرام
job.memorysettings.executorCoresSpark Jobs العدد الأساسي للتنفيذ1
job.memorysettings.driverCoresSpark Jobs العدد الأساسي لسائقي الوظائف1
job.memorysettings.dynamicAllocationEnabledعلامة تمكين التخصيص الديناميكي لوظائف Sparkخطأ
job.memorysettings.minExecutorsSpark Jobs الحد الأدنى لعدد المنفذين0
job.memorysettings.initialExecutorsسبارك جوبز العدد الأولي للمنفذين0
job.memorysettings.maxExecutorsSpark Jobs الحد الأقصى لعدد المنفذين20

2. إضافة معلمات الاحتفاظ بخادم سجل الشرارة​

ميزة​

تمت إضافة معلمات الاحتفاظ بخادم محفوظات الشرارة إلى ilum-core. تسمح هذه المعلمات للمستخدم بتكوين الاحتفاظ بسجلات خادم محفوظات الشرارة.

القيم المضافة - ilum-core​

اسموصفقيمة
historyServer.parameters.spark.history.fs.cleaner.enabledعلامة تمكين منظف خادم المحفوظاتصحيح
historyServer.parameters.spark.history.fs.cleaner.intervalالفاصل الزمني لمنظف خادم المحفوظات1 د
historyServer.parameters.spark.history.fs.cleaner.maxAgeسجلات خادم المحفوظات الحد الأقصى للعمر7 د

3. تقسيم عنوان url الخاص ب Kyuubi إلى مضيف ومنفذ​

ميزة​

قم بتقسيم عنوان url الخاص ب Kyuubi إلى مضيف ومنفذ في ilum-core. كان هذا التغيير ضروريا بالنسبة لنا حتى نتمكن من إنشاء محركات مخصصة.

القيم المضافة - ilum-core​

اسموصفقيمة
kyuubi.hostمضيف كيوبيilum-sql-rest
كيوبي.ميناءميناء كيوبي10099

القيم المحذوفة - ilum-core​

اسمسبب
kyuubi.urlغير ضروري بعد التغيير

4. إدخالات إضافية في خريطة تكوين خادم nginx helm_ui​

ميزة​

تمت إضافة علامات ممكنة لخادم المحفوظات و minio و ilum-jupyter و airflow و mlflow و lineage إلى ilum-ui. تسمح هذه العلامات للمستخدم بتمكين أو تعطيل الوصول إلى هذه الخدمات من خلال ilum-ui. سيتم استخدام هذه القيم في خريطة تكوين خادم nginx.

القيم المضافة - مخطط ilum-ui​

اسموصفقيمة
nginx.config.ilum-jupyter.enabledILUM-UI NGENX config ilum-Jupyter Enabled Flagخطأ
nginx.config.airflow.enabledILUM-UI NGENX config تمكين تدفق الهواءخطأ
nginx.config.minio.enabledILUM-UI NGENX config Minio Enabled Flagخطأ
nginx.config.historyServer.enabledilum-ui nginx config historyserver enabledخطأ
nginx.config.mlflow.enabledILUM-UI NGENX config MLFLOW Enabled Flagخطأ
nginx.config.lineage.enabledILUM-ui nginx config lineage enabledخطأ

5. مجموعة فائقة في مخطط ilum-aio​

ميزة​

مجموعة فائقة في مخطط ilum AIO. Superset سريع وخفيف الوزن وبديهي ومحمل بالخيارات التي تسهل على المستخدمين من جميع مجموعات المهارات استكشاف بياناتهم وتصورها ، من المخططات الخطية البسيطة إلى المخططات الجغرافية المكانية التفصيلية للغاية. Superset هي واحدة من الوحدات المدمجة مع منصة Ilum.

القيم المضافة - ilum-ui​

تكوين تجميع السجل​
اسموصفقيمة
runtimeVars.supersetUrlعنوان URL لخدمة الإعداد الفائقhttp://ilum-superset:8088/
nginx.config.superset.enabledILUM-UI NGENX config الفائقة تمكين العلامةخطأ

4. تكوين مجموعة Ilum الافتراضي kubernetes من قيم helm​

ميزة​

من الآن فصاعدا، سيتم تعيين معلمات نظام مجموعة ilum الافتراضية استنادا إلى قيم helm.

القيم المضافة - مخطط ilum-core​

اسموصفقيمة
kubernetes.defaultCluster.configتكوين نظام مجموعة Kubernetes الافتراضي ل ILUM-Coreالتكوين:
  spark.driver.extraJavaOptions: "-Divy.cache.dir=/tmp -Divy.home=/tmp"
  spark.kubernetes.container.image: "ilum/spark:3.5.2-delta"
  spark.databricks.delta.catalog.update.enabled: "صحيح"

الإصدار 6.2.0​

1. تم تغيير إصدار علامة الصورة من kyuubi​

القيم المتغيرة - مخطط ilum-kyuubi​

اسمالقيمة القديمةقيمة جديدة
image.tag1.9.2-شرارة1.10.0-شرارة

2. تم تغيير تكوين شرارة kyuubi في مخطط ilum-kyuubi​

مضاف spark.driver.memory = 2 جرام في global.kyuubi.sparkConfig

الإصدار 6.2.0-RC2​

1. إضافة مسبار حالة Minio​

ميزة​

تمت إضافة فحص الحالة في ilum-core يتحقق مما إذا كان تخزين minio جاهزا أم لا

القيم المضافة - ilum-core​

اسموصفقيمة
minio.statusProbe.enabledعلامة تمكين فحص حالة minioصحيح
minio.statusProbe.imageصورة مسبار حالة miniocurlimages / حليقة: 8.5.0
minio.statusProbe.baseUrlعنوان URL الأساسي Minio"http://ilum-minio:9000"

2. تكوين Kyuubi في ilum-core​

ميزة​

تمت إضافة تكوين Kyuubi في مخطط هيلم ilum-core. سيسمح Kyuubi للمستخدم بتنفيذ استعلامات SQL على العديد من مصادر البيانات المختلفة باستخدام واجهة مستخدم ILLUM.

القيم المضافة - ilum-core​

اسموصفقيمة
kyuubi.enabledعلم تمكين Kyuubiصحيح
kyuubi.urlعنوان URL لخدمة استراحة كيوبيhttp://ilum-sql-rest:10099

⚠️⚠️⚠️ التحذيرات​

من أجل إدارة محركات SQL بشكل صحيح ، نحتاج إلى تمرير تكوين شرارة Kyuubi إلى ilum-core. يتم ذلك عن طريق تكوين شرارة Kyuubi في global.kyuubi.sparkConfig ويسمح للمستخدم بكتابة تكوين واحد يمكن تمريره إلى كل من Kyuubi و ilum-core.

3. تكوين MongoDb uri في ilum-core​

ميزة​

قم بتغيير طريقة تمرير mongoDb uri إلى ilum-core. الآن يتم تمريره كسلسلة واحدة ، مما يمكن المستخدم من توفير تكوين أكثر دقة مثل authSource.

القيم المضافة - ilum-core​

اسموصفقيمة
mongo.uriسلسلة اتصال MongoDbmongodb://mongo:27017/ilum-default?replicaSet=rs0

القيم المحذوفة - ilum-core​

اسمسبب
mongo.instancesغير ضروري بعد التغيير
mongo.replicaSetNameغير ضروري بعد التغيير

⚠️⚠️⚠️ التحذيرات​

ال mongo.uri، إذا تم تعيينه بشكل غير صحيح ، فسيؤدي إلى عدم عمل التطبيق بشكل صحيح. تأكد من توفير سلسلة الاتصال الصحيحة.

كان التنسيق سابقا: mongodb://{ mongo.instances }/ilum-{ release_namespace }?replicaSet={ mongo.replicaSetName } بشكل افتراضي في مخطط ilum-aio ، كانت هذه القيم:

  • mongo.instances - ilum-mongodb-0.ilum-mongodb-headless: 27017,ilum-mongodb-1.ilum-mongodb-headless:27017
  • mongo.replicaSetName - RS0
  • release_namespace - افتراضي

4. الإيقاف التلقائي للتكوين في ilum-core​

ميزة​

تمت إضافة الإيقاف المؤقت التلقائي في ilum-core، والذي يتحقق بشكل دوري مما إذا كانت أي مجموعات خاملة للوقت المحدد ويوقف المجموعة مؤقتا. يجب تشغيل الإيقاف المؤقت التلقائي لكل مجموعة حصريا حتى يحدث ذلك.

القيم المضافة - ilum-core​

اسموصفقيمة
job.autoPause.enabledعلامة الميزة لتمكين الإيقاف المؤقت التلقائيصحيح
job.autoPause.periodفاصل زمني بالثواني للتحقق من مجموعات الخمول180
job.autoPause.idleTimeالوقت بالثواني التي تحتاج فيها المجموعة إلى أن تكون خاملة ليتم إيقافها مؤقتا تلقائيا3600

5. مصدر الجرافيت في مخطط ilum-aio​

ميزة​

مصدر الجرافيت في مخطط ilum AIO وتكوين الجرافيت في مخطط ilum-core. مصدر الجرافيت هو مصدر Prometheus للمقاييس التي تم تصديرها في بروتوكول النص العادي الجرافيت.

القيم المضافة - مصدر الجرافيت​

تمت إضافة مخطط كامل حديثا ، تحقق من قيمه على صفحة الرسم البياني

6. تكوين الجرافيت في ilum-core​

ميزة​

تمت إضافة تكوين الجرافيت في مخطط هيلم ilum-core. سيسمح الجرافيت لوظائف Spark بإرسال مقاييسها إلى حوض الجرافيت ، والذي سيتم كشطه بواسطة Prometheus.

القيم المضافة - ilum-core​

اسموصفقيمة
job.graphite.enabledعلامة تمكين الجرافيتخطأ
job.graphite.hostمضيف الجرافيتإيلوم-جرافيت-جرافيت-TCP
job.graphite.portمنفذ الجرافيت9109
job.graphite.periodالفاصل الزمني بين إرسال مقاييس المهام10
job.graphite.unitsالوحدة الزمنيةالثواني

الإصدار 6.1.4​

1. تغيير تكوين Jupyter الافتراضي sparkmagic​

ميزة​

تم تغيير طريقة تمرير التكوينات الافتراضية للشرارة إلى دفتر ملاحظات jupyter ، والآن يتم تمريرها كسلسلة json

القيم المضافة - ilum-jupyter​

معلمات تكوين SparkMagic​
اسموصفقيمة
sparkmagic.config.sessionConfigs.confتكوين SparkMagic لجلسة Spark'{ "pyRequirements": "pandas", "spark.jars.packages": "io.delta:delta-core_2.12:2.4.0", "spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension", "spark.sql.catalog.spark_catalog": "org.apache.spark.sql.delta.catalog.DeltaCatalog"}'
sparkmagic.config.sessionConfigsDefaults.confإعدادات SparkMagic Session الافتراضية لتكوين Spark'{ "pyRequirements": "pandas", "spark.jars.packages": "io.delta:delta-core_2.12:2.4.0", "spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension", "spark.sql.catalog.spark_catalog": "org.apache.spark.sql.delta.catalog.DeltaCatalog"}'

2. كيوبي في مخطط ilum-aio​

ميزة​

كيوبي في مخطط ilum AIO. Kyuubi هي بوابة موزعة متعددة المستأجرين توفر خدمات استعلام SQL لمستودعات البيانات ومنازل البحيرات. يوفر كلا من واجهات JDBC و ODBC ، وواجهة برمجة تطبيقات REST للعملاء للتفاعل معها.

القيم المضافة - ilum-kyuubi​

تمت إضافة مخطط كامل حديثا ، تحقق من قيمه على صفحة الرسم البياني

الإصدار 6.1.3​

1. تكوين Jupyter والتخزين المستمر​

ميزة​

تمت إضافة تكوين موسع لمخطط خوذة دفتر ملاحظات jupyter من خلال قيم helm. علاوة على ذلك ، تمت إضافة تخزين ثابت إلى جراب jupyter. جميع البيانات المحفوظة في عمل سيكون الدليل متاحا الآن بعد إعادة تشغيل / تحديث Jupyter.

القيم المضافة - ilum-jupyter​

معلمات PVC​
اسموصفقيمة
pvc.annotationsالتعليقات التوضيحية لمطالبة وحدة التخزين الثابتة{}
PVC.selectorمحدد مطالبات وحدة التخزين الثابتة{}
أوضاع pvc.accessModesالوصول إلى المطالبة بوحدة التخزين الثابتةالقراءة الكتابة مرة واحدة
تخزين PVCطلبات تخزين المطالبات بوحدة التخزين المستمرة4جي
pvc.storageClassNameتخزين المطالبة بوحدة التخزين المستمرةClassName``
معلمات تكوين SparkMagic​
اسموصفقيمة
sparkmagic.config.kernelPythonCredentials.usernameاسم مستخدم SparkMagic Python kernel""
sparkmagic.config.kernelPythonCredentials.passwordSparkMagic Python Kernel كلمة مرور""
sparkmagic.config.kernelPythonCredentials.authوضع مصادقة Sparkmagic Python kernel"لا شيء"
sparkmagic.config.kernelScalaCredentials.usernameاسم مستخدم SparkMagic Python kernel""
sparkmagic.config.kernelScalaCredentials.passwordSparkMagic Scala Kernel كلمة مرور""
sparkmagic.config.kernelScalaCredentials.authوضع مصادقة SparkMagic Scala kernel"لا شيء"
sparkmagic.config.kernelRCredentials.usernameاسم مستخدم Sparkmagic R kernel""
sparkmagic.config.kernelRCredentials.passwordكلمة مرور SparkMagic R kernel""
sparkmagic.config.waitForIdleTimeoutSecondsمهلة SparkMagic في انتظار حالة الخمول15
sparkmagic.config.livySessionStartupTimeoutSecondsمهلة SparkMagic في انتظار بدء الجلسة300
sparkmagic.config.ignoreSslErrorsSparkMagic تجاهل أخطاء SSLخطأ
sparkmagic.config.sessionConfigs.confتكوين SparkMagic لجلسة Spark[pyRequirements: الباندا ، spark.jars.packages: io.delta: delta-core_2.12: 2.4.0 ، spark.sql.extensions: io.delta.sql.DeltaSparkSessionExtension ، spark.sql.catalog.spark_catalog: org.apache.spark.sql.delta.catalog.DeltaCatalog]
sparkmagic.config.sessionConfigs.driverMemoryذاكرة برنامج تشغيل جلسة SparkMagic1000 م
sparkmagic.config.sessionConfigs.executorCoresنوى تنفيذ جلسة SparkMagic2
sparkmagic.config.sessionConfigsDefaults.confإعدادات SparkMagic Session الافتراضية لتكوين Spark[pyRequirements: الباندا ، spark.jars.packages: io.delta: delta-core_2.12: 2.4.0 ، spark.sql.extensions: io.delta.sql.DeltaSparkSessionExtension ، spark.sql.catalog.spark_catalog: org.apache.spark.sql.delta.catalog.DeltaCatalog]
sparkmagic.config.sessionConfigsDefaults.driverMemoryجلسة SparkMagic الافتراضية لذاكرة السائق1000 م
sparkmagic.config.sessionConfigsDefaults.executorCoresإعدادات SparkMagic Session الافتراضية النوى المنفذة2
sparkmagic.config.useAutoVizSparkMagic استخدام علم السيارات VIZصحيح
sparkmagic.config.coerceDataframeSparkMagic Coerce Dataframe Flagصحيح
sparkmagic.config.maxResultsSqlنتيجة SparkMagic Max SQL2500
sparkmagic.config.pysparkDataframeEncodingترميز إطار بيانات SparkMagic PysparkUTF-8
sparkmagic.config.heartbeatRefreshSecondsSparkmagic نبضات القلب الطازجة الثواني30
sparkmagic.config.livyServerHeartbeatTimeoutSecondsSparkmagic Livy خادم مهلة نبضات القلب ثواني0
sparkmagic.config.heartbeatRetrySecondsSparkmagic إعادة محاولة ضربات القلب ثواني10
sparkmagic.config.serverExtensionDefaultKernelNameاسم النواة الافتراضي لملحق SparkMagic Serverpysparkkernel
sparkmagic.config.retryPolicyسياسة إعادة المحاولة في SparkMagicشكلي
sparkmagic.config.retrySecondsToSleepListSparkMagic إعادة محاولة قائمة ثوان للنوم[0.2, 0.5, 1, 3, 5]
sparkmagic.config.configurableRetryPolicyMaxRetriesسياسة إعادة المحاولة Sparkmagic الحد الأقصى لعمليات إعادة المحاولة8

الإصدار 6.1.2​

1. خلية الميتا في مخطط ilum-aio​

ميزة​

خلية metastore في مخطط ilum AIO. HMS هو مستودع مركزي للبيانات الوصفية لجداول وأقسام Hive في قاعدة بيانات علائقية ، ويوفر للعملاء (بما في ذلك Hive وImpala وSpark) إمكانية الوصول إلى هذه المعلومات باستخدام واجهة برمجة تطبيقات خدمة metastore. مع تمكين خلية metastore في ilum AIO ، يمكن تكوين مهام شرارة مكدس التي يتم تشغيلها بواسطة ilum للوصول إليها تلقائيا.

القيم المضافة - ilum-hive-metastore​

تمت إضافة مخطط كامل حديثا ، تحقق من قيمه على صفحة الرسم البياني

القيم المضافة - ilum-core​

اسموصفقيمة
hiveMetastore.enabledتمرير تكوين Hive MetaStore إلى علامة وظائف ILUM Sparkخطأ
hiveMetastore.addressعنوان Hive Metastorethrift://ilum-hive-metastore:9083
hiveMetastore.warehouseDirدليل مستودع Hive MetaStores3a://ilum-data/

2. تمت إضافة ملحقات Postgres​

ميزة​

يستخدم عدد قليل من الحروف الفرعية ilum AIO postgresql ، لتسهيل إدارة نشرها ، أضفنا مورد ملحق postgres لإنشاء قواعد بيانات postgresql ل ilum sucharts.

القيم المضافة - ilum-aio​

معلمات ملحقات PostgreSQL​
اسموصفقيمة
postgresExtensions.enabledPostgres Extensions Enabledصحيح
postgresExtensions.imageصورة لتشغيل الملحقات فيهاBitnami / Postgresql: 16
postgresExtensions.pullPolicyسياسة سحب الصورإذا: لا يوجد
postgresExtensions.imagePullSecretsأسرار سحب الصور[]
postgresExtensions.hostمضيف قاعدة بيانات PostgreSQLilum-postgresql-0.ilum-postgresql-hl
postgresExtensions.portمنفذ قاعدة بيانات PostgreSQL5432
postgresExtensions.databasesToCreateقائمة قواعد البيانات المفصولة بفواصل المراد إنشاؤهاماركيز ، تدفق الهواء ، ميتا ستور
postgresExtensions.auth.usernameاسم مستخدم حساب PostgreSQLإيلوم
postgresExtensions.auth.passwordكلمة مرور حساب PostgreSQLCHANGEMEPLEASE
postgresExtensions.nodeSelectأوPostgreSQL ملحقات pods محدد العقدة{}
postgresExtensions.tolerationsPostgreSQL ملحقات Pods التسامح[]

3. Loki و promtail في مخطط ilum-aio​

ميزة​

Loki و promtail في مخطط ilum AIO. Loki هو نظام تجميع سجلات متعدد المستأجرين قابل للتطوير أفقيا ومتاح بدرجة كبيرة ومستوحى من Prometheus. Promtail هو وكيل يقوم بشحن محتويات السجلات المحلية إلى مثيل Grafana Loki. ستستخدم Ilum الآن loki لتجميع السجلات من كبسولات وظائف spark لتكون قادرا على تنظيف موارد نظام المجموعة بعد الانتهاء من المهام. تم تكوين Loki و promtail مسبقا لإلغاء السجلات فقط من كبسولات الشرارة التي تديرها ilum من أجل جلب سجلات المهام بعد انتهائها.

القيم المضافة - ilum-core​

تكوين تجميع السجل​
اسموصفقيمة
global.logAggregation.enabledعلامة تجميع سجل ilum ، إذا تم تمكينها ، سيقوم Ilum بإحضار سجلات قرون شرارة kubernetes النهائية من lokiخطأ
global.logAggregation.loki.urlعنوان بوابة Loki للوصول إلى السجلاتhttp://ilum-loki-gateway

القيم المضافة - ilum-aio​

تجميع السجل - تكوين Loki​
اسموصفقيمة
loki.nameOverrideتجاوز اسم المخطط الفرعيإيلوم لوكي
loki.monitoring.selfMonitoring.enabledعلامة تمكين المراقبة الذاتيةخطأ
loki.monitoring.selfMonitoring.grafanaAgent.installOperatorالمراقبة الذاتية عامل Grafana المشغل تثبيت العلمخطأ
loki.monitoring.selfMonitoring.lokiCanary.enabledعلم تمكين الكناري ذاتي المراقبةخطأ
loki.test.enabledعلامة تمكين الاختباراتخطأ
loki.loki.auth_enabledعلامة تمكين المصادقةخطأ
loki.loki.storage.bucketNames.chunksدلو قطع التخزينملفات ILUM
loki.loki.storage.bucketNames.rulerدلو مسطرة التخزينملفات ILUM
loki.loki.storage.bucketNames.adminمستودع مسؤول التخزينملفات ILUM
loki.loki.storage.typeنوع التخزينق3
loki.loki.s3.endpointنقطة نهاية تخزين S3http://ilum-minio:9000
loki.loki.s3.regionنقطة نهاية تخزين S3الولايات المتحدة الشرقية 1
loki.loki.s3.secretAccessKeyمفتاح الوصول السري للتخزين S3minioadmin
loki.loki.s3.accessKeyIdمعرف مفتاح الوصول إلى التخزين S3minioadmin
loki.loki.s3.s3ForcePathStyleS3 علامة الوصول إلى نمط مسار التخزينصحيح
loki.loki.s3.غير آمنS3 تخزين غير آمن العلامةصحيح
loki.loki.compactor.retention_enabledعلامة تمكين الاحتفاظ بالسجلاتصحيح
loki.loki.compactor.deletion_modeوضع الحذفتصفية وحذف
loki.loki.compactor.shared_storeمتجر مشتركق3
loki.loki.limits_config.allow_deletesالسماح بحذف السجلاتصحيح
تجميع السجل - تكوين Loki​
اسموصفقيمة
promtail.config.clients[0].urlعنوان URL للعميل الأولhttp://ilum-loki-write:3100/loki/api/v1/push
promtail.snippets.pipelineStages [0].match.selectorمرحلة البنية الأساسية لإسقاط محدد سجلات ILUM غير{ilum_logAggregation!="true"}
promtail.snippets.pipelineStages [0] .match.actionمرحلة البنية الأساسية لإسقاط إجراء سجلات ILUM غيرقطرة
promtail.snippets.pipelineStages [0].match.drop_counter_reasonمرحلة خط أنابيب لإسقاط سجلات غير ILUM drop_counter_reasonnon_ilum_log
promtail.snippets.extraRelabelConfigs[0].actionإعادة تسمية التكوين للاحتفاظ بإجراء تسميات iLum Podخريطة التسمية
promtail.snippets.extraRelabelConfigs[0].regexإعادة تسمية التكوين للاحتفاظ بتسميات iLum pod regex__meta_kubernetes_pod_label_ilum (.*)
promtail.snippets.extraRelabelConfigs[0].replacementإعادة تسمية التكوين للحفاظ على استبدال ملصقات ILUM podilum${1}
promtail.snippets.extraRelabelConfigs[1].actionإعادة تسمية التكوين للحفاظ على إجراء تسميات جراب شرارةخريطة التسمية
promtail.snippets.extraRelabelConfigs[1].regexإعادة تسمية التكوين للاحتفاظ بتسميات Spark Pod Regex__meta_kubernetes_pod_label_spark (.*)
promtail.snippets.extraRelabelConfigs[1].replacementإعادة تسمية التكوين للحفاظ على استبدال ملصقات Spark Podشرارة${1}

الإصدار 6.1.1​

1. تمت إضافة فحوصات صحية لوظائف ilum التفاعلية​

ميزة​

لمنع المواقف التي بها سحق غير متوقع لمجموعات ilum ، أضفنا فحوصات صحية للتأكد من أنها تعمل كما ينبغي.

القيم المضافة - ilum-core​

معلمات ILUM-JOB​
اسموصفقيمة
job.healthcheck.enabledSpark Interactive Jobs EnabledCheck:صحيح
job.healthcheck.intervalالفاصل الزمني لفحص صحة الوظائف التفاعلية في ثوان300
job.healthcheck.toleranceSpark الوظائف التفاعلية HealthCheck تحمل وقت الاستجابة في ثوان120

2. مقياس النسخ المتماثلة ذي المعلمات لخدمات ilum القابلة للتطوير​

ميزة​

تم استخراج تكوين عدد النسخ المتماثلة لخدمات ilum القابلة للتطوير إلى قيم helm.

القيم المضافة - ilum-core​

المعلمات المشتركة الأساسية ILUM​
اسموصفقيمة
replicaCountعدد النسخ المتماثلة الأساسية من ILUM1

القيم المضافة - ilum-ui​

المعلمات المشتركة بين ILUM-UI​
اسموصفقيمة
replicaCountعدد النسخ المتماثلة لواجهة مستخدم ILUM-UI1

الإصدار 6.1.0​

1. المعلمات المحذوفة غير الضرورية من تخزين دبابير مجموعة ilum​

ميزة​

لم تعد حاويات تخزين WASBS بحاجة إلى وجود رمز sas المميز في قيم helm حيث اتضح أنها غير ضرورية

القيم المحذوفة - ilum-core​

معلمات تخزين WASBS​
اسمسبب
kubernetes.wasbs.sparkContainer.nameتم نقله إلى kubernetes.wasbs.sparkContainer قيمة
kubernetes.wasbs.sparkContainer.sasTokenاتضح أنه غير ضروري
kubernetes.wasbs.dataContainer.nameتم نقله إلى kubernetes.wasbs.dataContainer قيمة
kubernetes.wasbs.dataContainer.sasTokenاتضح أنه غير ضروري

القيم المضافة - ilum-core​

معلمات تخزين WASBS​
اسموصفقيمة
kubernetes.wasbs.sparkContainerاسم حاوية تخزين WASBS لمجموعة Kubernetes الافتراضي لتخزين موارد Sparkملفات ILUM
kubernetes.wasbs.dataContainerاسم حاوية تخزين WASBS لمجموعة kubernetes الافتراضية لتخزين جداول ilumجداول ILUM

2. إضافة حاويات init للتحقق من توفر الخدمة​

ميزة​

لجعل نشر Ilum أكثر رشاقة ، من الآن فصاعدا تحتوي حاويات Ilum على حاويات تنتظر توافر الخدمات التي تعتمد عليها.

القيم المضافة - ilum-core​

اسموصفقيمة
mongo.statusProbe.enabledعلامة تمكين فحص حالة Mongoصحيح
mongo.statusProbe.imageحاوية init التي تنتظر أن تكون Mongodb متاحة الصورةمونغو:7.0.5
kafka.statusProbe.enabledعلامة تمكين فحص حالة كافكاصحيح
kafka.statusProbe.imageحاوية init التي تنتظر أن تكون Kafka متاحة الصورةبيتنامي/كافكا:3.4.1
historyServer.statusProbe.enabledعلامة تمكين فحص حالة ILUM-Core لخادم سجل ILUMصحيح
historyServer.statusProbe.imageحاوية init لخادم سجل ILUM التي تنتظر توفر ilum-core لتكون الصورةcurlimages / حليقة: 8.5.0

القيم المضافة - ilum-livy-proxy​

اسموصفقيمة
statusProbe.enabledعلامة تمكين فحص الحالة الأساسية من ILUMصحيح
statusProbe.imageحاوية init التي تنتظر أن تكون ILUM-Core متاحة للصورةcurlimages / حليقة: 8.5.0

القيم المضافة - ilum-ui​

اسموصفقيمة
statusProbe.enabledعلامة تمكين فحص الحالة الأساسية من ILUMصحيح
statusProbe.imageحاوية init التي تنتظر أن تكون ILUM-Core متاحة للصورةcurlimages / حليقة: 8.5.0

3. منتجي كافكا محددين في مخطط ilum-core​

ميزة​

في وضع اتصال كافكا ilum استجابات الوظائف التفاعلية لحالات العمل التفاعلية باستخدام منتجي كافكا. مع قيم الدفة المضافة حديثا ، يمكن تكييف منتج كافكا لتتناسب مع احتياجات المستخدم.

القيم المضافة - ilum-core​

معلمات كافكا​
اسموصفقيمة
kafka.maxPollRecordskafka max.poll.records لilum jobs kafka consumer ، فإنه يحدد مقدار الطلبات التي سيجلبها مستهلك ilum-job kafka مع كل استطلاع500
kafka.maxPollIntervalكافكا max.poll.interval.ms معلمة لاستخدام ILUM Jobs Kafka المستهلك ، فهو يحدد الحد الأقصى للتأخير بين استدعاءات الاستقصاء ، والذي يعني في سياق ILUM-JOB الحد الزمني لمعالجة الطلبات التي يتم جلبها في الاستقصاء60000

الإصدار 6.1.0-RC1​

1. دعم إضافي للتعليقات التوضيحية للخدمة​

ميزة​

يمكن الآن تكوين التعليقات التوضيحية لخدمات مخططات Ilum helm من خلال قيم helm

القيم المضافة - ilum-core​

معلمات الخدمة​
اسموصفقيمة
الخدمة.التعليقات التوضيحيةالتعليقات التوضيحية للخدمة{}
grpc.service.annotationsالتعليقات التوضيحية لخدمة GRPC{}
historyServer.service.annotationsالتعليقات التوضيحية لخدمة خادم المحفوظات{}

القيم المضافة - ilum-jupyter​

معلمات الخدمة​
اسموصفقيمة
الخدمة.التعليقات التوضيحيةالتعليقات التوضيحية للخدمة{}

القيم المضافة - ilum-livy-proxy​

معلمات الخدمة​
اسموصفقيمة
الخدمة.التعليقات التوضيحيةالتعليقات التوضيحية للخدمة{}

القيم المضافة - ilum-ui​

معلمات الخدمة​
اسموصفقيمة
الخدمة.التعليقات التوضيحيةالتعليقات التوضيحية للخدمة{}

القيم المضافة - ilum-zeppelin​

معلمات الخدمة​
اسموصفقيمة
الخدمة.التعليقات التوضيحيةالتعليقات التوضيحية للخدمة{}

2. سحب معلمات الأمان oauth2 إلى القيم العالمية​

ميزة​

يتم الآن تعيين تكوين Ilum security oauth2 من خلال القيم العالمية

القيم المضافة - ilum-aio​

معلمات الأمان​
اسموصفقيمة
global.security.oauth2.clientIdمعرف عميل oauth2``
global.security.oauth2.issuerUrioauth2 URI الذي يمكن أن يكون إما نقطة نهاية اكتشاف OpenID Connect أو نقطة نهاية بيانات تعريف خادم تخويل OAuth 2.0 المحددة بواسطة RFC 8414``
global.security.oauth2.audiencesجماهير OAuth2``
global.security.oauth2.clientSecretسر عميل OAuth2``

القيم المحذوفة - ilum-core​

معلمات الأمان​
اسمسببقيمة
security.oauth2.clientIdيتم الآن تكوين معلمات أمان OAuTH2 من خلال القيم العالمية``
security.oauth2.issuerUriيتم الآن تكوين معلمات أمان OAuTH2 من خلال القيم العالمية``

3. متغيرات بيئة وقت التشغيل للواجهة الأمامية​

ميزة​

تكوين متغيرات بيئة الواجهة الأمامية من خلال قيم واجهة مستخدم helm.

القيم المضافة - ilum-ui​

متغيرات وقت التشغيل​
اسموصفقيمة
runtimeVars.defaultConfigMap.enabledخريطة التكوين الافتراضية لمتغيرات بيئة وقت تشغيل الواجهة الأماميةصحيح
runtimeVars.debugعلامة تسجيل تصحيح الأخطاءخطأ
runtimeVars.backenUrlعنوان URL للواجهة الخلفية الأساسية من ILUMhttp://ilum-core:9888
runtimeVars.historyServerUrlعنوان URL لواجهة مستخدم خادم المحفوظاتhttp://ilum-history-server:9666
runtimeVars.jupyterUrlعنوان URL لواجهة مستخدم Jupyterhttp://ilum-jupyter:8888
runtimeVars.airflowUrlعنوان URL لواجهة مستخدم تدفق الهواءhttp://ilum-webserver:8080
runtimeVars.minioUrlعنوان URL لواجهة مستخدم Miniohttp://ilum-minio:9001
runtimeVars.mlflowUrlعنوان URL لواجهة مستخدم MLflowhttp://mlflow:5000
runtimeVars.historyServerPathمسار وكيل واجهة مستخدم ILUM إلى واجهة مستخدم خادم المحفوظات/خارجي/خادم التاريخ/
runtimeVars.jupyterPathمسار وكيل واجهة مستخدم ILUM إلى Jupyter UI/خارجي/jupyter/مختبر/شجرة/عمل/IlumIntro.ipynb
runtimeVars.airflowPathمسار وكيل واجهة مستخدم ILUM إلى واجهة مستخدم تدفق الهواء/خارجي/تدفق الهواء/
runtimeVars.dataPathمسار وكيل واجهة مستخدم ILUM إلى واجهة مستخدم Minio/ خارجي / مينيو /
runtimeVars.mlflowPathمسار وكيل واجهة مستخدم ILUM إلى واجهة مستخدم MLflow/ خارجي / MLFLOW /

القيم المحذوفة - ilum-ui​

اسمسبب
تصحيحتم نقله إلى قسم runtimeVars
backenUrlتم نقله إلى قسم runtimeVars
historyServerUrlتم نقله إلى قسم runtimeVars
jupyterUrlتم نقله إلى قسم runtimeVars
تدفق الهواءUrlتم نقله إلى قسم runtimeVars

4. Kube-prometheus-stack في مخطط ilum-aio​

ميزة​

كومة Kube prometheus في مخطط ilum AIO. تم تكوينه مسبقا للعمل تلقائيا مع نشر ilum لتجميع مقاييس ilum pods ووظائف spark التي يديرها ilum. يوفر Ilum شاشات خدمة prometheus لكشط المقاييس تلقائيا من كبسولات برنامج تشغيل الشرارة التي تديرها خدمات الواجهة الخلفية ilum و ilum. بالإضافة إلى ذلك ، يوفر المخطط ilum_aio لوحات معلومات grafana مضمنة يمكن العثور عليها في إيلوم مجلد.

القيم المضافة - ilum-aio​

متغيرات kube-prometheus-stack - لفحص التكوين الموسع مخطط خوذة المكدس Kube-Prometheus​
اسموصفقيمة
kube-prometheus-stack.enabledkube-prometheus-stack enabledخطأ
kube-prometheus-stack.releaseLabelkube-prometheus-stack لمشاهدة الموارد فقط من إصدار ilum_aioصحيح
kube-prometheus-stack.kubeStateMetrics.enabledkube-prometheus-stack كشط المكونات kube state metrics enabledخطأ
kube-prometheus-stack.nodeExporter.enabledkube-prometheus-stack node exporter daemon set deployment flagخطأ
kube-prometheus-stack.alertmanager.enabledkube-prometheus-stack Alert Managerخطأ
kube-prometheus-stack.grafana.sidecar.dashboards.folderالتعليق التوضيحيkube-prometheus-stack ، إذا تم تحديده ، فسوف تبحث السيارة الجانبية عن تعليق توضيحي بهذا الاسم لإنشاء مجلد ووضع الرسم البياني هناgrafana_folder
kube-prometheus-stack.grafana.sidecar.dashboards.provider.foldersFromFilesStructurekube-prometheus-stack ، اسمح ل Grafana بنسخ بنية لوحة المعلومات من نظام الملفاتصحيح

القيم المضافة - ilum-core​

اسموصفقيمة
job.prometheus.enabledprometheus enabled flag ، إذا كانت وظائف الشرارة الحقيقية التي تديرها Ilum ستشارك المقاييس بتنسيق prometheusصحيح

5. ماركيز OpenLineage في مخطط ilum-aio​

ميزة​

Marquez OpenLineage في مخطط ilum AIO. يتيح ماركيز استهلاك بيانات تعريف OpenLineage وتخزينها وتصورها من جميع أنحاء المؤسسة، خدمة حالات الاستخدام بما في ذلك إدارة البيانات ومراقبة جودة البيانات وتحليلات الأداء. مع تمكين marquez في ilum AIO ، ستشارك وظيفة شرارة مكدس الدفة التي تديرها Ilum معلومات النسب مع الواجهة الخلفية markez. تقوم واجهة الويب Marquez بتصور معلومات ترخيص البيانات التي تم جمعها من وظائف الشرارة ويمكن الوصول إليها من خلال واجهة مستخدم ilum مثل iframe.

القيم المضافة - ilum-aio​

اسموصفقيمة
global.lineage.enabledعلامة تمكين ماركيزخطأ

القيم المضافة - ilum-core​

اسموصفقيمة
job.openLineage.transport.typeنوع اتصال ماركيزHTTP
job.openLineage.transport.serverUrlعنوان URL للواجهة الخلفية ماركيزhttp://ilum-marquez:9555/
job.openLineage.transport.endpointنقطة نهاية الواجهة الخلفية ل Marquez/خارجي/نسب/api/v1/النسب

القيم المضافة - ilum-marquez​

تمت إضافة مخطط كامل حديثا ، تحقق من قيمه على صفحة الرسم البياني

القيم المضافة - ilum-ui​

اسموصفقيمة
runtimeVars.lineageUrlurl لتوفير marquez openlineage واجهة مستخدم iframehttp://ilum-marquez-web:9444
runtimeVars.lineagePathمسار وكيل ilum-ui إلى واجهة مستخدم marquez openlineage/خارجي/نسب/

الإصدار 6.0.3​

1. معلمة منتجي كافكا max.request.size في مخطط ilum-core​

ميزة​

في وضع اتصال كافكا ilum استجابات الوظائف التفاعلية لحالات العمل التفاعلية باستخدام منتجي كافكا. مع قيمة الدفة المضافة حديثا max.request.size يمكن تكييف معلمة منتج كافكا لتتناسب مع احتياجات حجم الاستجابات.

القيم المضافة - ilum-core​

معلمات كافكا​
اسموصفقيمة
kafka.requestالحجمكافكا max.request.size المعلمة لوظائف ILUM منتجي كافكا20000000

الإصدار 6.0.2​

1. دعم HDFS و GCS و Azure Blob Storage في مخطط ilum-core​

ميزة​

لم يعد من الضروري إرفاق نظام مجموعة Ilum بتخزين s3، ومن الآن يمكن تكوين نظام المجموعة الافتراضي لاستخدام hdfs أو gcs أو Azure blob كتخزين أيضا. يمكن تحقيق ذلك باستخدام القيم المضافة حديثا في مخطط الرأس الأساسي.

القيم المحذوفة - ilum-core​

اسمسبب
kubernetes.s3.bucketمن الآن فصاعدا يجب تعيين جروتين منفصلتين بقيم جديدة: kubernetes.s3.sparkBucket, kubernetes.s3.dataBucket

القيم المضافة - ilum-core​

معلمات تخزين Kubernetes​
اسموصفقيمة
kubernetes.upgradeClusterOnStartupترقية نظام مجموعة Kubernetes الافتراضية من القيم الموجودة في علامة خريطة التكوينخطأ
kubernetes.storage.typeنوع تخزين نظام مجموعة Kubernetes الافتراضي، الخيارات المتاحة: ق3, جي سي إس, الواب, HDFSق3
معلمات تخزين S3 Kubernetes​
اسموصفقيمة
kubernetes.s3.hostمضيف تخزين Kubernetes Cluster S3 الافتراضي لتخزين موارد Sparkق3
kubernetes.s3.portمنفذ تخزين S3 الافتراضي لمجموعة Kubernetes لتخزين موارد Spark7000
kubernetes.s3.sparkBucketمستودع تخزين Kubernetes Cluster S3 الافتراضي لتخزين موارد Sparkملفات ILUM
kubernetes.s3.dataBucketمستودع تخزين Kubernetes Cluster S3 الافتراضي لتخزين جداول ILUMجداول ILUM
kubernetes.s3.accessKeyمفتاح الوصول إلى تخزين Kubernetes Cluster S3 الافتراضي لتخزين موارد Spark""
kubernetes.s3.secretKeyالمفتاح السري لتخزين مجموعة Kubernetes S3 الافتراضي لتخزين موارد Spark""
معلمات تخزين GCS Kubernetes​
اسموصفقيمة
البريد الإلكتروني kubernetes.gcs.clientالبريد الإلكتروني الافتراضي لعميل تخزين نظام مجموعة Kubernetes GCS""
kubernetes.gcs.sparkBucketمستودع تخزين GCS لمجموعة Kubernetes الافتراضي لتخزين موارد Spark"ملفات ILUM"
kubernetes.gcs.dataBucketمستودع تخزين GCS لمجموعة Kubernetes الافتراضي لتخزين جداول ILUM"جداول ILUM"
kubernetes.gcs.privateKeyالمفتاح الخاص الافتراضي لتخزين نظام مجموعة Kubernetes GCS لتخزين موارد Spark""
kubernetes.gcs.privateKeyIdمعرف المفتاح الخاص لتخزين نظام مجموعة Kubernetes الافتراضي GCS لتخزين موارد Spark""
معلمات تخزين WASBS Kubernetes​
اسموصفقيمة
kubernetes.wasbs.accountNameاسم حساب تخزين WASBS الافتراضي لمجموعة kubernetes""
kubernetes.wasbs.accessKeyمفتاح الوصول إلى تخزين WASBS الافتراضي لمجموعة Kubernetes لتخزين موارد Spark""
kubernetes.wasbs.sparkContainer.nameاسم حاوية تخزين WASBS لمجموعة Kubernetes الافتراضي لتخزين موارد Spark"ملفات ILUM"
kubernetes.wasbs.sparkContainer.sasTokenالرمز المميز لحاوية تخزين WASBS لمجموعة kubernetes الافتراضية لتخزين موارد Spark""
kubernetes.wasbs.dataContainer.nameاسم حاوية تخزين WASBS لمجموعة kubernetes الافتراضية لتخزين جداول ilum"جداول ILUM"
kubernetes.wasbs.dataContainer.sasTokenالرمز المميز SAS لحاوية تخزين مجموعة Kubernetes الافتراضي لتخزين جداول ILUM""
معلمات تخزين HDFS Kubernetes​
اسموصفقيمة
kubernetes.hdfs.hadoopاسم المستخدماسم مستخدم تخزين HDFS الافتراضي لمجموعة Kubernetes""
kubernetes.hdfs.configdictylation تخزين HDFS الافتراضي لمجموعة Kubernetes لملفات التكوين مع الاسم كمفتاح ومحتوى مشفر base64 كقيمة""
kubernetes.hdfs.sparkكتالوجكتالوج تخزين HDFS لمجموعة Kubernetes الافتراضي لتخزين موارد Spark"ملفات ILUM"
kubernetes.hdfs.dataCatalogكتالوج تخزين HDFS لمجموعة kubernetes الافتراضي لتخزين جداول ilum"جداول ILUM"
kubernetes.hdfs.keyTabملف تبويب مفتاح تخزين HDFS الافتراضي لمجموعة Kubernetes base64 المحتوى المشفر""
kubernetes.hdfs.principalالاسم الأساسي لتخزين HDFS لمجموعة kubernetes الافتراضي""
kubernetes.hdfs.krb5تخزين HDFS الافتراضي لمجموعة Kubernetes ملف krb5 Base64 المحتوى المشفر""
kubernetes.hdfs.trustStoreمحتوى مشفر بتنسيق تخزين kubernetes الافتراضي لمجموعة HDFS""
kubernetes.hdfs.logدليلالمسار المطلق لدليل تخزين HDFS الافتراضي لمجموعة Kubernetes لتخزين eventLog لخادم المحفوظات""

مهم! تأكد من إنشاء حاويات S3 / GCS أو حاويات WASBS بالفعل ويمكن الوصول إليها!

2. تمت إضافة خادم تاريخ الشرارة إلى مخطط هيلام ilum-core​

ميزة​

يمكن نشر خادم محفوظات Spark من الآن فصاعدا جنبا إلى جنب مع ilum-core. يتم تمرير تكوين خادم المحفوظات إلى كل تشغيل وظيفة شرارة. يمكن الآن الوصول إلى واجهة مستخدم خادم المحفوظات بواسطة واجهة مستخدم ilum. إذا تم تمكينه، فسيستخدم تخزين مجموعة kubernetes الافتراضي الذي تم تكوينه باستخدام kubernetes. [STORAGE_TYPE]. [PARAMETER] كتخزين eventLog.

القيم المضافة - ilum-core​

معلمات خادم المحفوظات​
اسموصفقيمة
historyServer.enabledعلامة خادم محفوظات الشرارةصحيح
historyServer.imageصورة خادم محفوظات SparkILUM / شرارة قاذفة: سبارك -3.5.3
historyServer.addressعنوان خادم سجل Sparkhttp://ilum-history-server:9666
historyServer.pullPolicyسياسة سحب صورة خادم سجل Sparkإذا: لا يوجد
historyServer.imagePullSecretsسبارك تاريخ خادم صورة سحب أسرار[]
historyServer.parametersمعلمات Spark Park Server المخصصة[]
historyServer.resourcesموارد جراب خادم Spark History
حدود:
الذاكرة: "500Mi"
الطلبات:
الذاكرة: "300Mi"
historyServer.service.typeنوع خدمة خادم محفوظات SparkClusterIP
historyServer.service.portمنفذ خدمة خادم محفوظات الشرارة9666
historyServer.service.nodePortخدمة خادم محفوظات الشرارة nodePort""
historyServer.service.clusterIPمجموعة خدمة خادم محفوظات الشرارة""
historyServer.service.loadBalancerIPخدمة خادم سجل الشرارة loadbalancerIP""
historyServer.ingress.enabledعلامة دخول خادم محفوظات الشرارةخطأ
historyServer.ingress.versionإصدار دخول خادم سجل Spark"v1"
historyServer.ingress.classNameفئة دخول خادم محفوظات الشرارة""
historyServer.ingress.hostمضيف دخول خادم سجل الشرارة"المضيف"
historyServer.ingress.pathمسار دخول خادم محفوظات الشرارة"/(.*)"
historyServer.ingress.pathTypeمسار دخول خادم محفوظات الشرارةنوعبادئه
historyServer.ingress.annotationsالتعليقات التوضيحية لخادم محفوظات Sparknginx.ingress.kubernetes.io/rewrite-target: / 1 دولار
nginx.ingress.kubernetes.io/proxy-body-size: "600 م"
nginx.org/client-max-body-size: "600 م"

التحذيرات​

  1. تأكد من أن HDFS logDirectory (قيمة helm kubernetes.hdfs.logDirectory) هو المسار المطلق ل sparkCatalog الذي تم تكوينه مع لاحقة /ilum/logs! على سبيل المثال ل kubernetes.hdfs.sparkCatalog = spark-catalog ضع hdfs://name-node/user/username/spark-catalog/ilum/logs

3. الاحتفاظ بالوظيفة في مخطط ilum-core​

ميزة​

سيتم حذف وظائف Ilum بعد انتهاء فترة الاستبقاء التي تم تكوينها

القيم المضافة - ilum-core​

معلمات الاحتفاظ بالوظائف​
اسموصفقيمة
الوظيفة.الاحتفاظ بساعاتحد ساعات الاحتفاظ بالوظائف في Spark168