pub struct HttpEventChannel {
pub endpoint: Option<String>,
pub signal_type: String,
}Expand description
HTTP POST channel — Vector http_server source.
Fields§
§endpoint: Option<String>Vector ingest endpoint. Defaults to the in-cluster Service
http://vector.observability.svc.cluster.local:8080 when
unset.
signal_type: Stringsignal_type tag added to every emitted event. Vector
transforms + shinryu’s analytical schema route by this tag
(receipt, test-report, ephemeral-marker, …).
Implementations§
Source§impl HttpEventChannel
impl HttpEventChannel
Sourcepub fn resolved_endpoint(&self) -> &str
pub fn resolved_endpoint(&self) -> &str
Resolve the endpoint URL, falling back to the in-cluster default.
Sourcepub fn signal(signal_type: impl Into<String>) -> Self
pub fn signal(signal_type: impl Into<String>) -> Self
Compose an HttpEventChannel pinned to the in-cluster
default endpoint (DEFAULT_VECTOR_INGEST, stamped as
endpoint: None so Self::resolved_endpoint resolves the
same URL on read) and the given signal_type — the ONE
substrate primitive owning the 4-token HttpEventChannel { endpoint: None, signal_type: <s>.into() } fixture literal every
consumer restated by hand pre-lift.
Pre-lift the same 3-slot chain (endpoint: None,
signal_type: <label>.into(), .. for the two-slot struct’s
non-existent tail) was hand-authored at TEN workspace-wide
sites past the ★★ PRIME-DIRECTIVE ≥ 2 duplication threshold,
EVERY one of them the “default-endpoint, name-only” shape (no
site in the workspace stamps a non-None endpoint on an
HttpEventChannel literal):
tatara-process::export— five sites: two closed-set ambiguity probes (single_slot_channel, thekind_equals_variant_kind_across_all_carriersprobe), plus three round-trip tests (vector_channel_resolves_http_event,export_spec_serde_round_trip,run_marker_labels_round_trip).tatara-process::lifetime— two round-trip tests (applicable_exports_filters_by_trigger,exports_round_trip_through_lifetime).tatara-process::tagged_union— two closed-set property probes (single_slot_vector_channel_probe,kind_equals_variant_kind_across_all_carriers).tatara-reconciler::render— thespec_run_marker_alwaysfixture the ephemeral-export-Job renderer’s tests seed.tatara-export-worker::lib— thehttp_specfixture the worker’sresolve_run_idtests seed.
Post-lift every callsite reads HttpEventChannel::signal(<label>)
and the two-slot struct’s endpoint slot stays owned by the ONE
substrate site. The impl Into<String> bound accepts every
pre-lift caller shape verbatim — &'static str literals
("receipt", "test-report", "ephemeral-marker"), owned
String values (worker fixture’s signal_type.to_string()), and
.into()-terminated chains alike — without a per-site coercion.
A future addition (a default-endpoint override for a
per-fleet Vector ingress, a signal_type normalization step
clamping the tag to shinryu’s allowed set, a per-fleet
endpoint seed pulled from a config surface) lands at THIS
ONE substrate primitive and every downstream consumer inherits
the upgrade mechanically — no per-site edit at any of the ten
listed callers or at future test fixtures.
Theory anchor: THEORY.md §VI.1 (generation over composition —
the HttpEventChannel { endpoint: None, signal_type: <s>.into() }
fixture literal recurred at ten hand-authored sites past the
★★ PRIME-DIRECTIVE ≥ 2 duplication trigger, and is lifted to
ONE owner here). THEORY.md §II.1 invariant 5 (composition
preserves proofs — a regression that drifted the default-
endpoint sentinel from None to a hardcoded string, or
reordered the two struct slots, surfaces at the
signal_composes_byte_identical_to_pre_lift_literal_across_every_label
pin below rather than as silent skew at every downstream fixture).
Trait Implementations§
Source§impl Clone for HttpEventChannel
impl Clone for HttpEventChannel
Source§fn clone(&self) -> HttpEventChannel
fn clone(&self) -> HttpEventChannel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HttpEventChannel
impl Debug for HttpEventChannel
Source§impl<'de> Deserialize<'de> for HttpEventChannel
impl<'de> Deserialize<'de> for HttpEventChannel
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 HttpEventChannel
impl JsonSchema for HttpEventChannel
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 moreAuto Trait Implementations§
impl Freeze for HttpEventChannel
impl RefUnwindSafe for HttpEventChannel
impl Send for HttpEventChannel
impl Sync for HttpEventChannel
impl Unpin for HttpEventChannel
impl UnsafeUnpin for HttpEventChannel
impl UnwindSafe for HttpEventChannel
Blanket Implementations§
impl<T> AppData for Twhere
T: OptionalSend + OptionalSync + 'static + OptionalSerde,
impl<T> AppDataResponse for Twhere
T: OptionalSend + OptionalSync + 'static + OptionalSerde,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> 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 moreimpl<T> OptionalSend for T
impl<T> OptionalSync for T
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);