pub struct OtlpConfig {
pub logs_endpoint: String,
pub logs_auth_header: String,
pub metrics_endpoint: Option<String>,
pub metrics_auth_header: Option<String>,
}Expand description
OTLP log export configuration for a deployment.
When set, all compute workloads (containers and horizond VM workers) export their logs to the given endpoint via OTLP/HTTP.
The logs_auth_header is stored as plain text in DeploymentConfig because
alien-runtime reads OTEL_EXPORTER_OTLP_HEADERS at tracing-init time,
before vault secrets load. For horizond, the infra controller writes the
same value to the cloud vault (same pattern as the machine token) and the
startup script fetches it at boot via IAM.
Fields§
§logs_endpoint: StringFull OTLP logs endpoint URL.
Example: “https://
logs_auth_header: StringAuth header value in “key=value,…” format used for container OTLP env var injection.
alien-deployment injects this as the OTEL_EXPORTER_OTLP_HEADERS plain env var
into all containers. It must be plain (not a vault secret) because alien-runtime
reads OTEL_EXPORTER_OTLP_HEADERS at tracing-init time, before vault secrets load.
horizond VM workers do NOT use this field directly. The ContainerCluster infra controller writes the same value to the cloud vault (GCP: Secret Manager, AWS: Secrets Manager, Azure: Key Vault) and the startup script fetches it at boot via IAM — the same pattern as the machine token.
Example: “authorization=Bearer
metrics_endpoint: Option<String>Full OTLP metrics endpoint URL (optional). When set, horizond exports its own VM/container orchestration metrics here. Example: “https://api.axiom.co/v1/metrics”
metrics_auth_header: Option<String>Auth header value for the metrics endpoint in “key=value,…” format (optional).
When absent, logs_auth_header is reused for metrics — suitable when the same
credential covers both signals. When present (e.g. Axiom with separate datasets),
this value is used exclusively for metrics.
Example: “authorization=Bearer
Trait Implementations§
Source§impl Clone for OtlpConfig
impl Clone for OtlpConfig
Source§fn clone(&self) -> OtlpConfig
fn clone(&self) -> OtlpConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OtlpConfig
impl Debug for OtlpConfig
Source§impl<'de> Deserialize<'de> for OtlpConfig
impl<'de> Deserialize<'de> for OtlpConfig
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 PartialEq for OtlpConfig
impl PartialEq for OtlpConfig
Source§impl Serialize for OtlpConfig
impl Serialize for OtlpConfig
impl Eq for OtlpConfig
impl StructuralPartialEq for OtlpConfig
Auto Trait Implementations§
impl Freeze for OtlpConfig
impl RefUnwindSafe for OtlpConfig
impl Send for OtlpConfig
impl Sync for OtlpConfig
impl Unpin for OtlpConfig
impl UnsafeUnpin for OtlpConfig
impl UnwindSafe for OtlpConfig
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.