Skip to content

Commit 106dd16

Browse files
committed
chore: Streamline feature gate
1 parent 77cb05b commit 106dd16

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

Cargo.lock

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

crates/stackable-operator/Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ full = ["certs", "telemetry", "versioned", "time", "webhook", "clap"]
1212
default = ["telemetry", "versioned", "clap"]
1313

1414
clap = []
15-
certs = ["dep:stackable-certs", "dep:x509-cert"]
15+
certs = ["dep:stackable-certs"]
1616
telemetry = ["dep:stackable-telemetry"]
1717
time = ["stackable-shared/time"]
1818
versioned = ["dep:stackable-versioned"]
19-
webhook = ["dep:stackable-webhook", "dep:x509-cert"]
19+
webhook = ["dep:stackable-webhook"]
2020

2121
[dependencies]
2222
stackable-certs = { path = "../stackable-certs", optional = true }
2323
stackable-operator-derive = { path = "../stackable-operator-derive" }
2424
stackable-shared = { path = "../stackable-shared" }
2525
stackable-telemetry = { path = "../stackable-telemetry", optional = true, features = ["clap"] }
2626
stackable-versioned = { path = "../stackable-versioned", optional = true }
27-
stackable-webhook = { path = "../stackable-webhook", optional = true }
27+
stackable-webhook = { path = "../stackable-webhook", optional = true, features = ["maintainer"]}
2828

2929
chrono.workspace = true
3030
clap.workspace = true
@@ -53,7 +53,6 @@ tracing.workspace = true
5353
tracing-appender.workspace = true
5454
tracing-subscriber.workspace = true
5555
url.workspace = true
56-
x509-cert = { workspace = true, optional = true }
5756

5857
[dev-dependencies]
5958
rstest.workspace = true

crates/stackable-operator/src/crd/maintainer.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,13 @@ use kube::{
1010
api::{Patch, PatchParams},
1111
};
1212
use snafu::{ResultExt, Snafu};
13+
use stackable_webhook::x509_cert::{self, Certificate, EncodePem, LineEnding};
1314
use tokio::sync::{mpsc, oneshot};
14-
use x509_cert::{
15-
Certificate,
16-
der::{EncodePem, pem::LineEnding},
17-
};
1815

1916
#[derive(Debug, Snafu)]
2017
pub enum Error {
2118
#[snafu(display("failed to encode CA certificate as PEM format"))]
22-
EncodeCertificateAuthorityAsPem { source: x509_cert::der::Error },
19+
EncodeCertificateAuthorityAsPem { source: x509_cert::Error },
2320

2421
#[snafu(display("failed to send initial CRD reconcile heartbeat"))]
2522
SendInitialReconcileHeartbeat,

crates/stackable-webhook/Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ license.workspace = true
66
edition.workspace = true
77
repository.workspace = true
88

9+
[features]
10+
# Re-export selected items from the x509-cert crate needed by the CRD maintainer
11+
maintainer = []
12+
913
[dependencies]
1014
stackable-certs = { path = "../stackable-certs", features = ["rustls"] }
1115
stackable-shared = { path = "../stackable-shared" }

crates/stackable-webhook/src/lib.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
//! [1]: crate::servers::ConversionWebhookServer
2929
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
3030

31+
use ::x509_cert::Certificate;
3132
use axum::{Router, routing::get};
3233
use futures_util::{FutureExt as _, pin_mut, select};
3334
use snafu::{ResultExt, Snafu};
@@ -37,17 +38,22 @@ use tokio::{
3738
sync::mpsc,
3839
};
3940
use tower::ServiceBuilder;
40-
pub use x509_cert::Certificate;
4141

42-
// use tower_http::trace::TraceLayer;
42+
// Selected re-exports
43+
pub use crate::options::WebhookOptions;
4344
use crate::tls::TlsServer;
4445

4546
pub mod options;
4647
pub mod servers;
4748
pub mod tls;
4849

49-
// Selected re-exports
50-
pub use crate::options::WebhookOptions;
50+
#[cfg(feature = "maintainer")]
51+
pub mod x509_cert {
52+
pub use ::x509_cert::{
53+
Certificate,
54+
der::{EncodePem, Error, pem::LineEnding},
55+
};
56+
}
5157

5258
/// A generic webhook handler receiving a request and sending back a response.
5359
///

0 commit comments

Comments
 (0)