Skip to content

Commit e52302f

Browse files
committed
Cleanups.
1 parent e4e2a3b commit e52302f

13 files changed

Lines changed: 37 additions & 152 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased]
66

7+
### Added
8+
9+
- Add `spec.clusterConfig.openLineage` to emit [OpenLineage](https://openlineage.io/) lineage events ([#914]).
10+
711
### Changed
812

913
- Internal operator refactoring: introduce a build() step in the reconciler that
1014
assembles all relevant Kubernetes resources before anything is applied ([#909]).
1115

1216
[#909]: https://github.com/stackabletech/trino-operator/pull/909
17+
[#914]: https://github.com/stackabletech/trino-operator/pull/914
1318

1419
## [26.7.0] - 2026-07-21
1520

@@ -22,13 +27,6 @@ All notable changes to this project will be documented in this file.
2227
Previously, users had to use the `generic` connector ([#883]).
2328
- Added support for Trino 481 ([#900]).
2429
- Add a new `.spec.name.inferred.replaceHyphensWithUnderscores` field on TrinoCatalog, which allows tweaking the catalog name in Trino ([#903]).
25-
- Add `spec.clusterConfig.openLineage` to emit [OpenLineage](https://openlineage.io/) lineage events:
26-
the operator configures the Trino OpenLineage event listener on the coordinator (an
27-
`event-listener.properties` pointing at the backend `host`/`port`, with the cluster's `trino.uri`
28-
and namespace). The backend connection is inlined or references an `OpenLineageConnection`
29-
resource. TLS server verification against a `secretClass` CA is imported into the coordinator
30-
truststore, and a bearer token from the connection's `credentialsSecretName` Secret is injected at
31-
startup without landing in the ConfigMap ([#914]).
3230

3331
### Changed
3432

@@ -64,7 +62,6 @@ All notable changes to this project will be documented in this file.
6462
[#900]: https://github.com/stackabletech/trino-operator/pull/900
6563
[#903]: https://github.com/stackabletech/trino-operator/pull/903
6664
[#908]: https://github.com/stackabletech/trino-operator/pull/908
67-
[#914]: https://github.com/stackabletech/trino-operator/pull/914
6865

6966
## [26.3.0] - 2026-03-16
7067

Cargo.nix

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crate-hashes.json

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extra/crds.yaml

Lines changed: 1 addition & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -894,11 +894,7 @@ spec:
894894
openLineage:
895895
description: |-
896896
Emit [OpenLineage](https://openlineage.io/) lineage events for the queries run on this
897-
Trino cluster. The OpenLineage event listener runs on the coordinator only.
898-
The backend connection is either inlined or references an `OpenLineageConnection` resource.
899-
The shared `appName` field sets the OpenLineage job name format
900-
(`openlineage-event-listener.job.name-format`); when unset Trino defaults to `$QUERY_ID`.
901-
See the [OpenLineage usage guide](https://docs.stackable.tech/home/nightly/trino/usage-guide/openlineage).
897+
Trino cluster.
902898
nullable: true
903899
properties:
904900
appName:
@@ -4428,102 +4424,3 @@ spec:
44284424
served: true
44294425
storage: true
44304426
subresources: {}
4431-
---
4432-
apiVersion: apiextensions.k8s.io/v1
4433-
kind: CustomResourceDefinition
4434-
metadata:
4435-
name: openlineageconnections.openlineage.stackable.tech
4436-
spec:
4437-
group: openlineage.stackable.tech
4438-
names:
4439-
categories: []
4440-
kind: OpenLineageConnection
4441-
plural: openlineageconnections
4442-
shortNames: []
4443-
singular: openlineageconnection
4444-
scope: Namespaced
4445-
versions:
4446-
- additionalPrinterColumns: []
4447-
name: v1alpha1
4448-
schema:
4449-
openAPIV3Schema:
4450-
description: A reusable definition of a connection to an OpenLineage backend.
4451-
properties:
4452-
spec:
4453-
description: |-
4454-
OpenLineage connection definition as a resource.
4455-
Learn more about [OpenLineage](https://openlineage.io/).
4456-
properties:
4457-
credentialsSecretName:
4458-
description: |-
4459-
Name of a Secret containing the API key used to authenticate against the OpenLineage
4460-
backend. The API key must be stored under the key `apiKey`. The Secret must be located in
4461-
the same namespace as the workload using this connection. If not specified, no
4462-
authentication is used.
4463-
nullable: true
4464-
type: string
4465-
host:
4466-
description: 'Host of the OpenLineage backend without any protocol or port. For example: `marquez`.'
4467-
type: string
4468-
port:
4469-
description: 'Port the OpenLineage backend listens on. For example: `5000`.'
4470-
format: uint16
4471-
maximum: 65535.0
4472-
minimum: 0.0
4473-
type: integer
4474-
tls:
4475-
description: Use a TLS connection. If not specified no TLS will be used.
4476-
nullable: true
4477-
properties:
4478-
verification:
4479-
description: The verification method used to verify the certificates of the server and/or the client.
4480-
oneOf:
4481-
- required:
4482-
- none
4483-
- required:
4484-
- server
4485-
properties:
4486-
none:
4487-
description: Use TLS but don't verify certificates.
4488-
type: object
4489-
server:
4490-
description: Use TLS and a CA certificate to verify the server.
4491-
properties:
4492-
caCert:
4493-
description: CA cert to verify the server.
4494-
oneOf:
4495-
- required:
4496-
- webPki
4497-
- required:
4498-
- secretClass
4499-
properties:
4500-
secretClass:
4501-
description: |-
4502-
Name of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) which will provide the CA certificate.
4503-
Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
4504-
so if you got provided with a CA cert but don't have access to the key you can still use this method.
4505-
type: string
4506-
webPki:
4507-
description: |-
4508-
Use TLS and the CA certificates trusted by the common web browsers to verify the server.
4509-
This can be useful when you e.g. use public AWS S3 or other public available services.
4510-
type: object
4511-
type: object
4512-
required:
4513-
- caCert
4514-
type: object
4515-
type: object
4516-
required:
4517-
- verification
4518-
type: object
4519-
required:
4520-
- host
4521-
- port
4522-
type: object
4523-
required:
4524-
- spec
4525-
title: OpenLineageConnection
4526-
type: object
4527-
served: true
4528-
storage: true
4529-
subresources: {}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pub mod client_protocol;
22
pub mod fault_tolerant_execution;
33
pub mod jvm;
4-
pub mod open_lineage;
4+
pub mod openlineage;
55
pub mod s3;
File renamed without changes.

rust/operator-binary/src/controller/build/properties/config_properties.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ pub fn build(
266266
mod tests {
267267
use super::*;
268268
use crate::{
269-
config::open_lineage::ResolvedOpenLineageConfig,
269+
config::openlineage::ResolvedOpenLineageConfig,
270270
controller::build::properties::test_support::{
271271
MINIMAL_TRINO_YAML, empty_derefs, file_auth_class, validated_cluster_from_yaml,
272272
validated_cluster_from_yaml_with_auth, validated_cluster_from_yaml_with_derefs,

rust/operator-binary/src/controller/build/properties/event_listener_properties.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//!
33
//! The OpenLineage event listener runs on the **coordinator only**, so this builder returns an
44
//! empty map for every other role and the caller omits the file from those ConfigMaps. For the
5-
//! coordinator it emits the connection-derived settings resolved in [`crate::config::open_lineage`],
5+
//! coordinator it emits the connection-derived settings resolved in [`crate::config::openlineage`],
66
//! adds the cluster-facing `trino.uri`, and finally merges any user `event-listener.properties`
77
//! overrides (highest precedence).
88
@@ -11,7 +11,7 @@ use std::collections::BTreeMap;
1111
use stackable_operator::utils::cluster_info::KubernetesClusterInfo;
1212

1313
use crate::{
14-
config::open_lineage::OPENLINEAGE_TRINO_URI_KEY,
14+
config::openlineage::OPENLINEAGE_TRINO_URI_KEY,
1515
controller::{TrinoRoleGroupConfig, ValidatedCluster},
1616
crd::{
1717
TrinoRole,
@@ -70,7 +70,7 @@ mod tests {
7070

7171
use super::*;
7272
use crate::{
73-
config::open_lineage::{
73+
config::openlineage::{
7474
EVENT_LISTENER_NAME_KEY, OPENLINEAGE_NAMESPACE_KEY, OPENLINEAGE_TRANSPORT_API_KEY_KEY,
7575
OPENLINEAGE_TRANSPORT_TYPE_KEY, OPENLINEAGE_TRANSPORT_URL_KEY,
7676
ResolvedOpenLineageConfig,
@@ -88,7 +88,7 @@ mod tests {
8888
}
8989
}
9090

91-
/// A resolved OpenLineage config as `config::open_lineage` would produce it for an inline
91+
/// A resolved OpenLineage config as `config::openlineage` would produce it for an inline
9292
/// `http://marquez:5000` connection, optionally with a bearer-token api-key reference.
9393
fn resolved_open_lineage(with_auth: bool) -> ResolvedOpenLineageConfig {
9494
let mut properties = BTreeMap::from([

rust/operator-binary/src/controller/build/resource/config_map.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ pub fn build_rolegroup_config_map(
172172
);
173173
}
174174

175-
// 8. jvm.config. The role + role-group `jvmArgumentOverrides` were already merged in the
175+
// 9. jvm.config. The role + role-group `jvmArgumentOverrides` were already merged in the
176176
// validate step and are carried by `product_specific_common_config`.
177177
let jvm_config = jvm::jvm_config(
178178
cluster.product_version,
@@ -182,7 +182,7 @@ pub fn build_rolegroup_config_map(
182182
.context(BuildJvmConfigSnafu)?;
183183
data.insert(JVM_CONFIG.to_string(), jvm_config);
184184

185-
// 9. Vector agent config (`vector.yaml`) if the Vector agent is enabled. The file is templated
185+
// 10. Vector agent config (`vector.yaml`) if the Vector agent is enabled. The file is templated
186186
// with environment variables injected by the Vector container at runtime.
187187
if rg.config.logging.enable_vector_agent {
188188
data.insert(

rust/operator-binary/src/controller/dereference.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use crate::{
1818
config::{
1919
client_protocol::{self, ResolvedClientProtocolConfig},
2020
fault_tolerant_execution::{self, ResolvedFaultTolerantExecutionConfig},
21-
open_lineage::{self, ResolvedOpenLineageConfig},
21+
openlineage::{self, ResolvedOpenLineageConfig},
2222
},
2323
crd::{
2424
authentication::{ResolvedAuthenticationClassRef, resolve_authentication_classes},
@@ -68,7 +68,7 @@ pub enum Error {
6868
ClientProtocolConfiguration { source: client_protocol::Error },
6969

7070
#[snafu(display("failed to resolve OpenLineage configuration"))]
71-
OpenLineageConfiguration { source: open_lineage::Error },
71+
OpenLineageConfiguration { source: openlineage::Error },
7272

7373
#[snafu(display("invalid OpaConfig"))]
7474
InvalidOpaConfig {

0 commit comments

Comments
 (0)