pub struct SinkConnectorSpec {
pub name: String,
pub connector: String,
pub topics: Vec<String>,
pub consumer_group: String,
pub enabled: bool,
pub start_offset: String,
pub config: Value,
pub config_secret_ref: Option<String>,
pub rate_limit: RateLimitSpec,
}Expand description
Sink connector specification (Kafka Connect style - generic config)
All connector-specific configuration goes in the generic config field.
Connector validation happens at runtime, not at CRD schema level.
This design scales to 300+ connectors without CRD changes.
Fields§
§name: StringUnique name for this sink connector
connector: StringConnector type (stdout, s3, http, iceberg, delta, elasticsearch, etc.)
topics: Vec<String>Topics to consume from (supports wildcards like “cdc.*”)
consumer_group: StringConsumer group for offset tracking
enabled: boolWhether this sink is enabled
start_offset: StringStarting offset (earliest, latest, or timestamp)
config: ValueConnector-specific configuration (Kafka Connect style) All connector parameters go here. Validated at runtime by the controller. Example for iceberg: {“catalog”: {…}, “namespace”: “…”, “table”: “…”}
config_secret_ref: Option<String>Secret reference for sensitive configuration (passwords, keys, tokens) The referenced Secret’s data will be merged into config at runtime.
rate_limit: RateLimitSpecRate limiting configuration
Trait Implementations§
Source§impl Clone for SinkConnectorSpec
impl Clone for SinkConnectorSpec
Source§fn clone(&self) -> SinkConnectorSpec
fn clone(&self) -> SinkConnectorSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SinkConnectorSpec
impl Debug for SinkConnectorSpec
Source§impl<'de> Deserialize<'de> for SinkConnectorSpec
impl<'de> Deserialize<'de> for SinkConnectorSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for SinkConnectorSpec
impl JsonSchema for SinkConnectorSpec
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl Serialize for SinkConnectorSpec
impl Serialize for SinkConnectorSpec
Source§impl Validate for SinkConnectorSpec
impl Validate for SinkConnectorSpec
Source§impl<'v_a> ValidateArgs<'v_a> for SinkConnectorSpec
impl<'v_a> ValidateArgs<'v_a> for SinkConnectorSpec
Auto Trait Implementations§
impl Freeze for SinkConnectorSpec
impl RefUnwindSafe for SinkConnectorSpec
impl Send for SinkConnectorSpec
impl Sync for SinkConnectorSpec
impl Unpin for SinkConnectorSpec
impl UnsafeUnpin for SinkConnectorSpec
impl UnwindSafe for SinkConnectorSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more