Skip to content

Commit 90dfd91

Browse files
committed
refactor: make namespace non option and pass trough catalogs
1 parent b7ea0c5 commit 90dfd91

17 files changed

Lines changed: 94 additions & 117 deletions

File tree

rust/operator-binary/src/catalog/black_hole.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use async_trait::async_trait;
2-
use stackable_operator::client::Client;
2+
use stackable_operator::{client::Client, v2::types::kubernetes::NamespaceName};
33

44
use super::{FromTrinoCatalogError, ToCatalogConfig, config::CatalogConfig};
55
use crate::crd::catalog::black_hole::BlackHoleConnector;
@@ -11,7 +11,7 @@ impl ToCatalogConfig for BlackHoleConnector {
1111
async fn to_catalog_config(
1212
&self,
1313
catalog_name: &str,
14-
_catalog_namespace: Option<String>,
14+
_catalog_namespace: &NamespaceName,
1515
_client: &Client,
1616
_trino_version: u16,
1717
) -> Result<CatalogConfig, FromTrinoCatalogError> {

rust/operator-binary/src/catalog/commons.rs

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use stackable_operator::{
66
commons::tls_verification::{CaCert, TlsServerVerification, TlsVerification},
77
crd::s3,
88
k8s_openapi::api::core::v1::ConfigMap,
9+
v2::types::kubernetes::NamespaceName,
910
};
1011

1112
use super::{
@@ -14,7 +15,7 @@ use super::{
1415
from_trino_catalog_error::{
1516
ConfigureS3Snafu, FailedToGetDiscoveryConfigMapDataKeySnafu,
1617
FailedToGetDiscoveryConfigMapDataSnafu, FailedToGetDiscoveryConfigMapSnafu,
17-
ObjectHasNoNamespaceSnafu, S3TlsNoVerificationNotSupportedSnafu, S3TlsRequiredSnafu,
18+
S3TlsNoVerificationNotSupportedSnafu, S3TlsRequiredSnafu,
1819
},
1920
};
2021
use crate::{
@@ -31,17 +32,12 @@ impl ExtendCatalogConfig for MetastoreConnection {
3132
&self,
3233
catalog_config: &mut CatalogConfig,
3334
catalog_name: &str,
34-
catalog_namespace: Option<String>,
35+
catalog_namespace: &NamespaceName,
3536
client: &Client,
3637
_trino_version: u16,
3738
) -> Result<(), FromTrinoCatalogError> {
3839
let hive_cm: ConfigMap = client
39-
.get(
40-
&self.config_map,
41-
catalog_namespace
42-
.as_deref()
43-
.context(ObjectHasNoNamespaceSnafu)?,
44-
)
40+
.get(&self.config_map, catalog_namespace.as_ref())
4541
.await
4642
.with_context(|_| FailedToGetDiscoveryConfigMapSnafu {
4743
catalog: catalog_name.to_string(),
@@ -78,18 +74,13 @@ impl ExtendCatalogConfig for s3::v1alpha1::InlineConnectionOrReference {
7874
&self,
7975
catalog_config: &mut CatalogConfig,
8076
_catalog_name: &str,
81-
catalog_namespace: Option<String>,
77+
catalog_namespace: &NamespaceName,
8278
client: &Client,
8379
trino_version: u16,
8480
) -> Result<(), FromTrinoCatalogError> {
8581
let s3 = self
8682
.clone()
87-
.resolve(
88-
client,
89-
catalog_namespace
90-
.as_deref()
91-
.context(ObjectHasNoNamespaceSnafu)?,
92-
)
83+
.resolve(client, catalog_namespace.as_ref())
9384
.await
9485
.context(ConfigureS3Snafu)?;
9586

@@ -168,7 +159,7 @@ impl ExtendCatalogConfig for HdfsConnection {
168159
&self,
169160
catalog_config: &mut CatalogConfig,
170161
catalog_name: &str,
171-
_catalog_namespace: Option<String>,
162+
_catalog_namespace: &NamespaceName,
172163
_client: &Client,
173164
_trino_version: u16,
174165
) -> Result<(), FromTrinoCatalogError> {

rust/operator-binary/src/catalog/config.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ use stackable_operator::{
55
k8s_openapi::api::core::v1::{
66
ConfigMapKeySelector, EnvVar, EnvVarSource, SecretKeySelector, Volume, VolumeMount,
77
},
8-
kube::{Resource, ResourceExt},
8+
kube::Resource,
9+
v2::types::kubernetes::NamespaceName,
910
};
1011

1112
use super::{FromTrinoCatalogError, ToCatalogConfig};
@@ -106,14 +107,14 @@ impl CatalogConfig {
106107
pub async fn from_catalog(
107108
catalog: &v1alpha1::TrinoCatalog,
108109
client: &Client,
110+
catalog_namespace: &NamespaceName,
109111
trino_version: u16,
110112
) -> Result<CatalogConfig, FromTrinoCatalogError> {
111113
let catalog_name = catalog
112114
.meta()
113115
.name
114116
.clone()
115117
.ok_or(FromTrinoCatalogError::InvalidCatalogSpec)?;
116-
let catalog_namespace = catalog.namespace();
117118

118119
let to_catalog_config: &dyn ToCatalogConfig = match &catalog.spec.connector {
119120
TrinoCatalogConnector::BlackHole(black_hole_connector) => black_hole_connector,

rust/operator-binary/src/catalog/delta_lake.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use async_trait::async_trait;
2-
use stackable_operator::client::Client;
2+
use stackable_operator::{client::Client, v2::types::kubernetes::NamespaceName};
33

44
use super::{ExtendCatalogConfig, FromTrinoCatalogError, ToCatalogConfig, config::CatalogConfig};
55
use crate::crd::catalog::delta_lake::DeltaLakeConnector;
@@ -11,7 +11,7 @@ impl ToCatalogConfig for DeltaLakeConnector {
1111
async fn to_catalog_config(
1212
&self,
1313
catalog_name: &str,
14-
catalog_namespace: Option<String>,
14+
catalog_namespace: &NamespaceName,
1515
client: &Client,
1616
trino_version: u16,
1717
) -> Result<CatalogConfig, FromTrinoCatalogError> {
@@ -28,7 +28,7 @@ impl ToCatalogConfig for DeltaLakeConnector {
2828
.extend_catalog_config(
2929
&mut config,
3030
catalog_name,
31-
catalog_namespace.clone(),
31+
catalog_namespace,
3232
client,
3333
trino_version,
3434
)
@@ -38,7 +38,7 @@ impl ToCatalogConfig for DeltaLakeConnector {
3838
s3.extend_catalog_config(
3939
&mut config,
4040
catalog_name,
41-
catalog_namespace.clone(),
41+
catalog_namespace,
4242
client,
4343
trino_version,
4444
)
@@ -49,7 +49,7 @@ impl ToCatalogConfig for DeltaLakeConnector {
4949
hdfs.extend_catalog_config(
5050
&mut config,
5151
catalog_name,
52-
catalog_namespace.clone(),
52+
catalog_namespace,
5353
client,
5454
trino_version,
5555
)

rust/operator-binary/src/catalog/generic.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use async_trait::async_trait;
2-
use stackable_operator::client::Client;
2+
use stackable_operator::{client::Client, v2::types::kubernetes::NamespaceName};
33

44
use super::{FromTrinoCatalogError, ToCatalogConfig, config::CatalogConfig};
55
use crate::crd::catalog::generic::{GenericConnector, Property};
@@ -9,7 +9,7 @@ impl ToCatalogConfig for GenericConnector {
99
async fn to_catalog_config(
1010
&self,
1111
catalog_name: &str,
12-
_catalog_namespace: Option<String>,
12+
_catalog_namespace: &NamespaceName,
1313
_client: &Client,
1414
_trino_version: u16,
1515
) -> Result<CatalogConfig, FromTrinoCatalogError> {

rust/operator-binary/src/catalog/google_sheet.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use async_trait::async_trait;
22
use stackable_operator::{
33
builder::pod::volume::{VolumeBuilder, VolumeMountBuilder},
44
client::Client,
5+
v2::types::kubernetes::NamespaceName,
56
};
67

78
use super::{FromTrinoCatalogError, ToCatalogConfig, config::CatalogConfig};
@@ -14,7 +15,7 @@ impl ToCatalogConfig for GoogleSheetConnector {
1415
async fn to_catalog_config(
1516
&self,
1617
catalog_name: &str,
17-
_catalog_namespace: Option<String>,
18+
_catalog_namespace: &NamespaceName,
1819
_client: &Client,
1920
_trino_version: u16,
2021
) -> Result<CatalogConfig, FromTrinoCatalogError> {

rust/operator-binary/src/catalog/hive.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use async_trait::async_trait;
2-
use stackable_operator::client::Client;
2+
use stackable_operator::{client::Client, v2::types::kubernetes::NamespaceName};
33

44
use super::{ExtendCatalogConfig, FromTrinoCatalogError, ToCatalogConfig, config::CatalogConfig};
55
use crate::crd::catalog::hive::HiveConnector;
@@ -11,7 +11,7 @@ impl ToCatalogConfig for HiveConnector {
1111
async fn to_catalog_config(
1212
&self,
1313
catalog_name: &str,
14-
catalog_namespace: Option<String>,
14+
catalog_namespace: &NamespaceName,
1515
client: &Client,
1616
trino_version: u16,
1717
) -> Result<CatalogConfig, FromTrinoCatalogError> {
@@ -28,7 +28,7 @@ impl ToCatalogConfig for HiveConnector {
2828
.extend_catalog_config(
2929
&mut config,
3030
catalog_name,
31-
catalog_namespace.clone(),
31+
catalog_namespace,
3232
client,
3333
trino_version,
3434
)
@@ -38,7 +38,7 @@ impl ToCatalogConfig for HiveConnector {
3838
s3.extend_catalog_config(
3939
&mut config,
4040
catalog_name,
41-
catalog_namespace.clone(),
41+
catalog_namespace,
4242
client,
4343
trino_version,
4444
)
@@ -49,7 +49,7 @@ impl ToCatalogConfig for HiveConnector {
4949
hdfs.extend_catalog_config(
5050
&mut config,
5151
catalog_name,
52-
catalog_namespace.clone(),
52+
catalog_namespace,
5353
client,
5454
trino_version,
5555
)

rust/operator-binary/src/catalog/iceberg.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use async_trait::async_trait;
2-
use stackable_operator::client::Client;
2+
use stackable_operator::{client::Client, v2::types::kubernetes::NamespaceName};
33

44
use super::{ExtendCatalogConfig, FromTrinoCatalogError, ToCatalogConfig, config::CatalogConfig};
55
use crate::crd::catalog::iceberg::IcebergConnector;
@@ -11,7 +11,7 @@ impl ToCatalogConfig for IcebergConnector {
1111
async fn to_catalog_config(
1212
&self,
1313
catalog_name: &str,
14-
catalog_namespace: Option<String>,
14+
catalog_namespace: &NamespaceName,
1515
client: &Client,
1616
trino_version: u16,
1717
) -> Result<CatalogConfig, FromTrinoCatalogError> {
@@ -29,7 +29,7 @@ impl ToCatalogConfig for IcebergConnector {
2929
.extend_catalog_config(
3030
&mut config,
3131
catalog_name,
32-
catalog_namespace.clone(),
32+
catalog_namespace,
3333
client,
3434
trino_version,
3535
)
@@ -40,7 +40,7 @@ impl ToCatalogConfig for IcebergConnector {
4040
s3.extend_catalog_config(
4141
&mut config,
4242
catalog_name,
43-
catalog_namespace.clone(),
43+
catalog_namespace,
4444
client,
4545
trino_version,
4646
)
@@ -51,7 +51,7 @@ impl ToCatalogConfig for IcebergConnector {
5151
hdfs.extend_catalog_config(
5252
&mut config,
5353
catalog_name,
54-
catalog_namespace.clone(),
54+
catalog_namespace,
5555
client,
5656
trino_version,
5757
)

rust/operator-binary/src/catalog/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ pub mod tpch;
1212

1313
use async_trait::async_trait;
1414
use snafu::Snafu;
15-
use stackable_operator::{client::Client, commons::tls_verification::TlsClientDetailsError};
15+
use stackable_operator::{
16+
client::Client, commons::tls_verification::TlsClientDetailsError,
17+
v2::types::kubernetes::NamespaceName,
18+
};
1619

1720
use self::config::CatalogConfig;
1821

1922
#[derive(Debug, Snafu)]
2023
#[snafu(module)]
2124
pub enum FromTrinoCatalogError {
22-
#[snafu(display("object has no namespace"))]
23-
ObjectHasNoNamespace,
24-
2525
#[snafu(display("failed to configure S3 connection"))]
2626
ConfigureS3 {
2727
source: stackable_operator::crd::s3::v1alpha1::ConnectionError,
@@ -74,7 +74,7 @@ pub trait ToCatalogConfig {
7474
async fn to_catalog_config(
7575
&self,
7676
catalog_name: &str,
77-
catalog_namespace: Option<String>,
77+
catalog_namespace: &NamespaceName,
7878
client: &Client,
7979
trino_version: u16,
8080
) -> Result<CatalogConfig, FromTrinoCatalogError>;
@@ -86,7 +86,7 @@ pub trait ExtendCatalogConfig {
8686
&self,
8787
catalog_config: &mut CatalogConfig,
8888
catalog_name: &str,
89-
catalog_namespace: Option<String>,
89+
catalog_namespace: &NamespaceName,
9090
client: &Client,
9191
trino_version: u16,
9292
) -> Result<(), FromTrinoCatalogError>;

rust/operator-binary/src/catalog/postgresql.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use async_trait::async_trait;
22
use snafu::ResultExt;
33
use stackable_operator::{
44
client::Client, database_connections::drivers::jdbc::JdbcDatabaseConnection,
5+
v2::types::kubernetes::NamespaceName,
56
};
67

78
use super::{FromTrinoCatalogError, ToCatalogConfig, config::CatalogConfig};
@@ -17,7 +18,7 @@ impl ToCatalogConfig for PostgresqlConnector {
1718
async fn to_catalog_config(
1819
&self,
1920
catalog_name: &str,
20-
_catalog_namespace: Option<String>,
21+
_catalog_namespace: &NamespaceName,
2122
_client: &Client,
2223
_trino_version: u16,
2324
) -> Result<CatalogConfig, FromTrinoCatalogError> {

0 commit comments

Comments
 (0)