Skip to content

Class DigitalOceanTelemetryExportOptions

Namespace: Cephalon.Observability.DigitalOcean.Configuration
Assembly: Cephalon.Observability.DigitalOcean.dll

Configures DigitalOcean observability defaults on top of the shared Cephalon telemetry contract.

public sealed class DigitalOceanTelemetryExportOptions

objectDigitalOceanTelemetryExportOptions

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

Initializes a new instance of the class.

public DigitalOceanTelemetryExportOptions()

Gets or sets the App Platform application identifier to stamp onto exported resources.

public string? AppId { get; set; }

string?

When omitted, the package falls back to the APP_ID or DIGITALOCEAN_APP_ID environment variable when it is available.

Gets or sets the App Platform public URL to stamp onto exported resources.

public string? AppUrl { get; set; }

string?

When omitted, the package falls back to the APP_URL or DIGITALOCEAN_APP_URL environment variable when it is available.

Gets or sets the Kubernetes cluster name to stamp onto exported resources for DOKS deployments.

public string? ClusterName { get; set; }

string?

Gets or sets the collector namespace used to build the in-cluster DOKS collector endpoint.

public string? CollectorNamespace { get; set; }

string?

When omitted, the package falls back to and then to POD_NAMESPACE when the host runs inside a pod.

Gets or sets the collector port used for the in-cluster DOKS collector endpoint.

public int? CollectorPort { get; set; }

int?

When omitted, the package falls back to 4317 for otlp / otlp/grpc and 4318 for otlp/http.

Gets or sets the URI scheme used for the in-cluster DOKS collector endpoint.

public string? CollectorScheme { get; set; }

string?

Supported values are http and https. The default is http.

Gets or sets the collector service name used to build the in-cluster DOKS collector endpoint.

public string? CollectorServiceName { get; set; }

string?

Gets or sets the Droplet identifier to stamp onto exported resources.

public string? DropletId { get; set; }

string?

When omitted and is enabled, the package attempts to read the identifier from the Droplet metadata service.

Gets or sets the base URI of the Droplet metadata-service endpoint.

public string? DropletMetadataEndpoint { get; set; }

string?

When omitted, the package falls back to the standard DigitalOcean metadata-service base URI. This override exists mainly for proxies, alternative routing, or automated testing.

Gets or sets the raw OTLP headers string added to collector requests.

public string? Headers { get; set; }

string?

Use the standard OTLP key=value comma-separated format when a collector, gateway, or route expects explicit headers.

Gets or sets the DigitalOcean deployment target whose hosted defaults should be applied.

public string? HostedPlatform { get; set; }

string?

Supported values are droplet, doks, and app-platform. The package maps them to package-specific cloud.platform values so the collector-first DigitalOcean slice stays explicit without pretending those values are part of the engine core.

Gets or sets the timeout, in milliseconds, used for Droplet metadata-service lookups.

public int? MetadataTimeoutMilliseconds { get; set; }

int?

When omitted, the package falls back to a short one-second timeout so non-Droplet hosts do not stall during best-effort metadata detection.

Gets or sets the workload namespace to stamp onto exported resources for DOKS deployments.

public string? Namespace { get; set; }

string?

When omitted, the package falls back to the current pod namespace through the POD_NAMESPACE environment variable when it is available.

Gets or sets the DigitalOcean region slug to stamp onto exported resources.

public string? Region { get; set; }

string?

Gets or sets the filesystem path to a trusted CA bundle used for HTTPS OTLP/HTTP traces and metrics against shared or in-cluster DigitalOcean collectors.

public string? TrustedCaCertificatePath { get; set; }

string?

Because the current OTLP logging exporter does not support custom HttpClient wiring for HTTP, the package rejects configurations that require this custom CA path for logs. OTLP/gRPC custom CA wiring is also left explicit and unsupported for now.

Gets or sets a value indicating whether the package should query the Droplet metadata service to fill in best-effort host.id, host.name, and cloud.region values when they are missing.

public bool UseDropletMetadataDefaults { get; set; }

bool

Gets or sets a value indicating whether the package should target an in-cluster collector service for DOKS deployments when no shared endpoint is configured.

public bool UseInClusterCollectorService { get; set; }

bool

FromConfiguration(IConfiguration, string)

Section titled “ FromConfiguration(IConfiguration, string)”

Binds DigitalOcean telemetry export options from configuration.

public static DigitalOceanTelemetryExportOptions FromConfiguration(IConfiguration configuration, string sectionPath = "Engine")

configuration IConfiguration

The application configuration root.

sectionPath string

The configuration section path that contains the engine settings. The default is Engine.

DigitalOceanTelemetryExportOptions

The bound DigitalOcean telemetry export options.