pub struct OtlpConfig {
pub logs_endpoint: String,
pub logs_auth_header: String,
pub metrics_endpoint: Option<String>,
pub metrics_auth_header: Option<String>,
pub resource_attributes: HashMap<String, String>,
}Expand description
OTLP log export configuration for a deployment.
When set, all compute workloads (containers and worker VMs) 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 worker VMs, worker-template stamping passes
the monitoring configuration to the provider controller, which stores the
sensitive header in the cloud vault used by the worker image.
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.
Worker VMs do NOT use this field directly. The ComputeCluster infra controller writes the same value to the cloud vault used by the worker image (GCP: Secret Manager, AWS: Secrets Manager, Azure: Key Vault).
Example: “authorization=Bearer
metrics_endpoint: Option<String>Full OTLP metrics endpoint URL (optional). When set, the worker runtime 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
resource_attributes: HashMap<String, String>Resource attributes attached to every OTLP signal emitted for this deployment.
Platform managers use this for stable identity such as alien.workspace_id,
alien.project_id, alien.deployment_group_id, and alien.deployment_id.
Runtime-specific resource attributes such as service.name remain owned by
the runtime/exporter.
Trait Implementations§
Source§impl Clone for OtlpConfig
impl Clone for OtlpConfig
Source§fn clone(&self) -> OtlpConfig
fn clone(&self) -> OtlpConfig
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 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§fn eq(&self, other: &OtlpConfig) -> bool
fn eq(&self, other: &OtlpConfig) -> bool
self and other values to be equal, and is used by ==.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.