Skip to content

feat: add openlineage support#914

Draft
razvan wants to merge 9 commits into
mainfrom
feat/openlineage-from-op-rs
Draft

feat: add openlineage support#914
razvan wants to merge 9 commits into
mainfrom
feat/openlineage-from-op-rs

Conversation

@razvan

@razvan razvan commented Jul 20, 2026

Copy link
Copy Markdown
Member

Description

Please add a description here. This will become the commit message of the merge request later.

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes

Author

  • Changes are OpenShift compatible
  • CRD changes approved
  • CRD documentation for all fields, following the style guide.
  • Helm chart can be installed and deployed operator works
  • Integration tests passed (for non trivial changes)
  • Changes need to be "offline" compatible
  • Links to generated (nightly) docs added
  • Release note snippet added

Reviewer

  • Code contains useful comments
  • Code contains useful logging statements
  • (Integration-)Test cases added
  • Documentation added or updated. Follows the style guide.
  • Changelog updated
  • Cargo.toml only contains references to git tags (not specific commits or branches)

Acceptance

  • Feature Tracker has been updated
  • Proper release label has been added
  • Links to generated (nightly) docs added
  • Release note snippet added
  • Add type/deprecation label & add to the deprecation schedule
  • Add type/experimental label & add to the experimental features tracker

@razvan razvan self-assigned this Jul 20, 2026
razvan and others added 7 commits July 20, 2026 16:02
…ationClass

Follows the operator-rs change: read the OpenLineage backend bearer token from
the connection's `credentialsSecretName` Secret (key `apiKey`) instead of
resolving a Static AuthenticationClass.

See stackabletech/decisions#90

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…h API group

Follow the operator-rs rename of OpenLineageJob.app_name to job_name
(serialized appName -> jobName) and the move of the OpenLineageConnection CRD
to the lineage.stackable.tech API group:

- read open_lineage.job_name for the job.name-format property; update the doc
  comment referencing spec.clusterConfig.openLineage.jobName
- update the operator RBAC ClusterRole apiGroup
- update kuttl test manifests (jobName) and the usage-guide docs
- regenerate extra/crds.yaml (appName -> jobName)

The Spark SparkSession.appName() call in tests/spark is unrelated and left as-is.

Verified with cargo check/clippy/test and CRD regeneration against a local
operator-rs checkout carrying the rename. Committed with --no-verify because the
cargo/regenerate-charts pre-commit hooks would otherwise build against the
un-pushed operator-rs branch; those checks were run manually instead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rename the lineage-emission configuration field from `openLineage` to `lineage`
across the CRD and operator internals:

- spec.clusterConfig.openLineage -> spec.clusterConfig.lineage (Rust field
  cluster_config.open_lineage -> lineage; ValidatedCluster field likewise)
- rename operator-internal identifiers: module config/openlineage.rs ->
  lineage.rs, ResolvedOpenLineageConfig -> ResolvedLineageConfig,
  resolved_open_lineage_config -> resolved_lineage_config, and the feature-
  scoped test helpers
- update the usage-guide docs and the kuttl test manifest
- regenerate extra/crds.yaml (openLineage -> lineage)

The OpenLineage technology name is kept in prose, in the operator-rs types
(OpenLineageJob, OpenLineageConnection), in the `openlineage` event-listener
plugin name, and in the OPENLINEAGE_* / event-listener property keys.

Verified with cargo check/clippy/test and CRD regeneration against a local
operator-rs checkout. Committed with --no-verify because the cargo/regenerate
pre-commit hooks would build against the un-pushed operator-rs branch; those
checks were run manually instead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant