@@ -46,6 +46,14 @@ pub mod versioned {
4646 /// When TLS server verification is configured, the transport uses `https` instead of `http`.
4747 #[ serde( flatten) ]
4848 pub tls : TlsClientDetails ,
49+
50+ /// Name of an [`AuthenticationClass`](DOCS_BASE_URL_PLACEHOLDER/concepts/authentication) used
51+ /// to authenticate against the OpenLineage backend. The `AuthenticationClass` is cluster-scoped
52+ /// and referenced by name; it is resolved at runtime via
53+ /// [`OpenLineageConnectionSpec::resolve_authentication_class`]. If not specified, no
54+ /// authentication is used.
55+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
56+ pub authentication_class_ref : Option < String > ,
4957 }
5058
5159 /// An OpenLineage connection, either inlined or referenced by the name of an
@@ -98,6 +106,9 @@ impl stackable_versioned::test_utils::RoundtripTestData for v1alpha1::OpenLineag
98106 server:
99107 caCert:
100108 secretClass: openlineage-cert
109+ - host: marquez
110+ port: 5000
111+ authenticationClassRef: openlineage-auth
101112 " } )
102113 . expect ( "Failed to parse OpenLineageConnectionSpec YAML" )
103114 }
@@ -118,6 +129,7 @@ mod tests {
118129 host : "marquez" . to_string ( ) ,
119130 port : 5000 ,
120131 tls : TlsClientDetails { tls : None } ,
132+ authentication_class_ref : None ,
121133 } ;
122134
123135 assert_eq ! ( connection. transport_url( ) , "http://marquez:5000" ) ;
@@ -135,6 +147,7 @@ mod tests {
135147 } ) ,
136148 } ) ,
137149 } ,
150+ authentication_class_ref : None ,
138151 } ;
139152
140153 assert_eq ! ( connection. transport_url( ) , "https://marquez:5000" ) ;
@@ -150,6 +163,7 @@ mod tests {
150163 verification : TlsVerification :: None { } ,
151164 } ) ,
152165 } ,
166+ authentication_class_ref : None ,
153167 } ;
154168
155169 assert_eq ! ( connection. transport_url( ) , "http://marquez:5000" ) ;
0 commit comments