Resource Types

AddClusterInfo

AddClusterInfo is the Schema for the addclusterinfo odigos action API

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringAddClusterInfo
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specAddClusterInfoSpecNo description provided.
statusAddClusterInfoStatusNo description provided.

DeleteAttribute

DeleteAttribute is the Schema for the DeleteAttribute odigos action API

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringDeleteAttribute
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specDeleteAttributeSpecNo description provided.
statusDeleteAttributeStatusNo description provided.

ErrorSampler

ErrorSampler is the Schema for the ErrorSampler CRD. It defines sampling logic that always retains traces with errors, and optionally samples non-error traces based on the fallback ratio.

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringErrorSampler
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specErrorSamplerSpecNo description provided.
statusErrorSamplerStatusNo description provided.

K8sAttributesResolver

K8sAttributesResolver allows adding an action to collect k8s attributes.

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringK8sAttributesResolver
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specK8sAttributesSpecNo description provided.
statusK8sAttributesStatusNo description provided.

LatencySampler

LatencySampler is the Schema for defining latency-based trace sampling rules. It supports targeting specific services and HTTP routes and applying latency thresholds to determine sampling eligibility.

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringLatencySampler
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specLatencySamplerSpecNo description provided.
statusLatencySamplerStatusNo description provided.

PiiMasking

PiiMasking is the Schema for the PiiMasking odigos action API

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringPiiMasking
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specPiiMaskingSpecNo description provided.
statusPiiMaskingStatusNo description provided.

ProbabilisticSampler

ProbabilisticSampler is the Schema for the ProbabilisticSampler odigos action API

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringProbabilisticSampler
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specProbabilisticSamplerSpecNo description provided.
statusProbabilisticSamplerStatusNo description provided.

RenameAttribute

RenameAttribute is the Schema for the RenameAttribute odigos action API

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringRenameAttribute
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specRenameAttributeSpecNo description provided.
statusRenameAttributeStatusNo description provided.

ServiceNameSampler

ServiceNameSampler is the Schema for the servicenamesamplers API. It enables trace sampling based on whether specific services appear within a trace.

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringServiceNameSampler
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specServiceNameSamplerSpecNo description provided.
statusServiceNameSamplerStatusNo description provided.

SpanAttributeSampler

SpanAttributeSampler is the Schema for the spanattributesamplers API. It holds the specification for sampling spans based on attribute conditions, as well as the sampler’s current status.

FieldTypeDescription
apiVersionstring/v1alpha1
kindstringSpanAttributeSampler
metadatameta/v1.ObjectMeta

No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field.

specSpanAttributeSamplerSpecNo description provided.
statusSpanAttributeSamplerStatusNo description provided.

AddClusterInfoConfig

Appears in:

FieldTypeDescription
clusterAttributes[]OtelAttributeWithValueNo description provided.

AddClusterInfoSpec

Appears in:

AddClusterInfoSpec defines the desired state of AddClusterInfo action

FieldTypeDescription
actionNamestringNo description provided.
notesstringNo description provided.
disabledboolNo description provided.
signals[]common.ObservabilitySignalNo description provided.
clusterAttributes[]OtelAttributeWithValueNo description provided.

AddClusterInfoStatus

Appears in:

AddClusterInfoStatus defines the observed state of AddClusterInfo action

FieldTypeDescription
conditions[]meta/v1.Condition

Represents the observations of a addclusterinfo’s current state. Known .status.conditions.type are: “Available”, “Progressing”

AttributeCondition

Appears in:

AttributeCondition wraps different condition types so that only one type of condition needs to be specified. This makes it explicit which data type the attribute is expected to have.

FieldTypeDescription
string_conditionStringAttributeCondition

StringCondition applies to string-type attributes.

number_conditionNumberAttributeCondition

NumberCondition applies to numeric attributes (int, long, float, double).

boolean_conditionBooleanAttributeCondition

BooleanCondition applies to boolean attributes.

json_conditionJsonAttributeCondition

JsonCondition applies to attributes that are JSON-encoded strings.

BooleanAttributeCondition

Appears in:

BooleanAttributeCondition defines a check against a boolean attribute.

FieldTypeDescription
operationstring

Operation can be:

  • “exists”: Checks that the boolean attribute is present.
  • ”equals”: Checks if the attribute exactly matches ExpectedValue.

ExpectedValue is required only for the “equals” operation.

expected_valuebool

ExpectedValue is only used if Operation == “equals”.

DeleteAttributeConfig

Appears in:

FieldTypeDescription
attributeNamesToDelete[]stringNo description provided.

DeleteAttributeSpec

Appears in:

DeleteAttributeSpec defines the desired state of DeleteAttribute action

FieldTypeDescription
actionNamestringNo description provided.
notesstringNo description provided.
disabledboolNo description provided.
signals[]common.ObservabilitySignalNo description provided.
attributeNamesToDelete[]stringNo description provided.

DeleteAttributeStatus

Appears in:

DeleteAttributeStatus defines the observed state of DeleteAttribute action

FieldTypeDescription
conditions[]meta/v1.Condition

Represents the observations of a DeleteAttribute’s current state. Known .status.conditions.type are: “Available”, “Progressing”

ErrorSamplerSpec

Appears in:

ErrorSamplerSpec defines the configuration for an ErrorSampler action. This sampler prioritizes traces that contain errors, and allows specifying a fallback sampling ratio for traces that do not include any errors.

FieldTypeDescription
actionNamestring

ActionName is an optional identifier for this sampler rule. It can be used for referencing, labeling, or displaying the rule in UIs.

notesstring

Notes provides free-form documentation or context for the user.

disabledbool

Disabled indicates whether the sampler is currently active. When true, the sampler will not be evaluated or applied.

signals[]common.ObservabilitySignal

Signals specifies the types of telemetry data this sampler should apply to. Typically, this includes “traces”, but may also include “logs” or “metrics”.

fallback_sampling_ratiofloat64

FallbackSamplingRatio determines the percentage (0–100) of non-error traces that should be sampled. Error traces are always sampled.

ErrorSamplerStatus

Appears in:

ErrorSamplerStatus defines the runtime state and observed conditions of an ErrorSampler. It may include conditions such as “Available” or “Progressing”.

FieldTypeDescription
conditions[]meta/v1.Condition

Conditions captures the current operational state of the sampler.

HttpRouteFilter

Appears in:

HttpRouteFilter defines a single latency-based sampling rule for an HTTP route.

FieldTypeDescription
http_routestring

HttpRoute is the route name (from span attribute “http.route”) that this rule applies to.

service_namestring

ServiceName specifies the service that must emit the span for this rule to apply. Matches the value of the “service.name” attribute in the span.

minimum_latency_thresholdint

MinimumLatencyThreshold is the latency in milliseconds that spans must exceed to be considered for sampling. Spans with latency >= this value are eligible.

fallback_sampling_ratiofloat64

FallbackSamplingRatio is the percentage (0–100) of traces to sample if the route and service match but the span latency is below the threshold.

JsonAttributeCondition

Appears in:

JsonAttributeCondition defines conditions for evaluating JSON-encoded span attributes. It supports structural and value-based filtering using key lookups and JSONPath expressions.

Supported operations:

  • “exists”: Checks that the attribute is a non-empty string.
  • ”is_valid_json”: Ensures the string parses as valid JSON.
  • ”is_invalid_json”: Ensures the string is not valid JSON.
  • ”equals”: Compares the full JSON string to expected_value.
  • ”not_equals”: Verifies the full JSON string is not equal to expected_value.
  • ”jsonpath_exists”: Asserts that the specified json_path resolves to a non-empty result.
  • ”key_equals”: Compares the value at json_path to expected_value.
  • ”key_not_equals”: Verifies the value at json_path is not equal to expected_value.
FieldTypeDescription
operationstring

Operation defines the evaluation logic applied to the JSON value.

Supported values:

  • is_valid_json
  • is_invalid_json
  • equals
  • not_equals
  • jsonpath_exists
  • key_equals
  • key_not_equals
json_pathstring

JsonPath is required for:

  • jsonpath_exists
  • key_equals
  • key_not_equals

It is a JSONPath expression used to navigate the JSON structure. Example: .user.roleor.user.role or .events[0].code

expected_valuestring

ExpectedValue is required for:

  • equals
  • not_equals
  • key_equals
  • key_not_equals

The value to compare against during evaluation.

K8sAnnotationAttribute

Appears in:

FieldTypeDescription
annotationKeystring

The label name to be extracted from the pod. e.g. “kubectl.kubernetes.io/restartedAt”

attributeKeystring

The attribute key to be used for the resource attribute created from the label. e.g. “kubectl.kubernetes.restartedAte”

K8sAttributesSpec

Appears in:

FieldTypeDescription
actionNamestringNo description provided.
notesstringNo description provided.
disabledboolNo description provided.
signals[]common.ObservabilitySignalNo description provided.
collectContainerAttributesbool

Collect the following container related attributes: k8s.container.name container.id container.image.name container.image.tag

collectReplicaSetAttributesbool

collect replicaset related attributes (when relevant, e.g. for deployments): k8s.replicaset.name if CollectWorkloadUID is set, also collect: k8s.replicaset.uid

collectWorkloadUIDbool

Collect the following workload UID attributes: k8s.deployment.uid k8s.daemonset.uid k8s.statefulset.uid

collectClusterUIDbool

Collect the k8s.cluster.uid attribute, which is set to the uid of the namespace “kube-system”

labelsAttributes[]K8sLabelAttribute

list of labels to be extracted from the pod, and the attribute key to be used for the resource attribute created from each label.

annotationsAttributes[]K8sAnnotationAttribute

list of annotations to be extracted from the pod, and the attribute key to be used for the resource attribute created from each annotation.

K8sAttributesStatus

Appears in:

K8sAttributesStatus defines the observed state of K8sAttributes action

FieldTypeDescription
conditions[]meta/v1.Condition

Represents the observations of a k8sattributes’ current state. Known .status.conditions.type are: “Available”, “Progressing”

K8sLabelAttribute

Appears in:

FieldTypeDescription
labelKeystring

The label name to be extracted from the pod. e.g. “app.kubernetes.io/name”

attributeKeystring

The attribute key to be used for the resource attribute created from the label. e.g. “app.kubernetes.name”

LatencySamplerSpec

Appears in:

LatencySamplerSpec defines the desired state of a LatencySampler. This sampler filters traces based on HTTP route and latency thresholds. Traces with spans whose latency exceeds the specified threshold will be considered for sampling.

FieldTypeDescription
actionNamestring

ActionName is a user-defined identifier for this sampling action. It can be used to reference this policy in UIs or configuration tools.

notesstring

Notes is an optional field for storing human-readable documentation or context for this sampler.

disabledbool

Disabled indicates whether the sampler is currently active. When true, this sampler will not be applied.

signals[]common.ObservabilitySignal

Signals lists the observability signal types (e.g., traces, metrics, logs) that this sampler applies to.

endpoints_filters[]HttpRouteFilter

EndpointsFilters defines the list of route-based latency sampling filters. Each filter targets a specific service and HTTP route with a latency threshold.

LatencySamplerStatus

Appears in:

LatencySamplerStatus defines the observed state of a LatencySampler. It captures runtime status such as readiness or deployment progress.

FieldTypeDescription
conditions[]meta/v1.Condition

Conditions contains the current status conditions for this sampler. Typical types include “Available” and “Progressing”.

NumberAttributeCondition

Appears in:

NumberAttributeCondition applies to attributes that are numeric (int, float, etc.).

FieldTypeDescription
operationstring

Operation determines the numeric comparison to perform.

Valid operations:

  • “exists”: Checks that the numeric attribute is present (non-null).
  • “equals”: Checks if the attribute equals ExpectedValue.
  • ”not_equals”: Checks if the attribute does not equal ExpectedValue.
  • ”greater_than”: Checks if attribute > ExpectedValue.
  • ”less_than”: Checks if attribute < ExpectedValue.
  • ”greater_than_or_equal”: Checks if attribute >= ExpectedValue.
  • ”less_than_or_equal”: Checks if attribute <= ExpectedValue.

For operations other than “exists”, ExpectedValue must be specified.

expected_valuefloat64

ExpectedValue is required for all operations except “exists”.

OtelAttributeWithValue

Appears in:

FieldTypeDescription
attributeNamestring

the name of the attribute to insert

attributeStringValuestring

if the value is a string, this field should be used. empty string is a valid value

PiiCategory

(Alias of string)

Appears in:

PiiMaskingConfig

Appears in:

FieldTypeDescription
piiCategories[]PiiCategoryNo description provided.

PiiMaskingSpec

Appears in:

PiiMaskingSpec defines the desired state of PiiMasking action

FieldTypeDescription
actionNamestringNo description provided.
notesstringNo description provided.
disabledboolNo description provided.
signals[]common.ObservabilitySignalNo description provided.
piiCategories[]PiiCategoryNo description provided.

PiiMaskingStatus

Appears in:

PiiMaskingStatus defines the observed state of PiiMasking action

FieldTypeDescription
conditions[]meta/v1.Condition

Represents the observations of a piiMasking’s current state. Known .status.conditions.type are: “Available”, “Progressing”

ProbabilisticSamplerSpec

Appears in:

ProbabilisticSamplerSpec defines the desired state of ProbabilisticSampler action

FieldTypeDescription
actionNamestringNo description provided.
notesstringNo description provided.
disabledboolNo description provided.
signals[]common.ObservabilitySignalNo description provided.
sampling_percentagestringNo description provided.

ProbabilisticSamplerStatus

Appears in:

ProbabilisticSamplerStatus defines the observed state of ProbabilisticSampler action

FieldTypeDescription
conditions[]meta/v1.Condition

Represents the observations of a ProbabilisticSampler’s current state. Known .status.conditions.type are: “Available”, “Progressing”

RenameAttributeConfig

Appears in:

FieldTypeDescription
renamesmap[string]stringNo description provided.

RenameAttributeSpec

Appears in:

RenameAttributeSpec defines the desired state of RenameAttribute action

FieldTypeDescription
actionNamestringNo description provided.
notesstringNo description provided.
disabledboolNo description provided.
signals[]common.ObservabilitySignalNo description provided.
renamesmap[string]stringNo description provided.

RenameAttributeStatus

Appears in:

RenameAttributeStatus defines the observed state of RenameAttribute action

FieldTypeDescription
conditions[]meta/v1.Condition

Represents the observations of a RenameAttribute’s current state. Known .status.conditions.type are: “Available”, “Progressing”

ServiceNameFilter

Appears in:

ServiceNameFilter defines a single rule that maps a service name to a sampling decision.

FieldTypeDescription
service_namestring

ServiceName specifies the name of the service to look for within a trace. If any span in the trace comes from this service, the rule will apply.

sampling_ratiofloat64

SamplingRatio determines the percentage (0–100) of traces to sample when the specified service is present in the trace.

For example, a value of 100 means all such traces will be kept, while a value of 0 means all will be dropped.

fallback_sampling_ratiofloat64

FallbackSamplingRatio is the percentage (0–100) of traces to sample if the specified service is not present in the trace.

ServiceNameSamplerSpec

Appears in:

ServiceNameSamplerSpec defines the desired configuration for a ServiceNameSampler. This sampler enables sampling based on the presence of specific service names within a trace.

FieldTypeDescription
actionNamestring

ActionName is an optional label to identify this sampling policy. It can be used for display purposes or integration with other tools.

notesstring

Notes allows attaching additional free-form documentation or context to this sampler.

disabledbool

Disabled indicates whether this sampler should be active. If true, the sampler will not be applied.

signals[]common.ObservabilitySignal

Signals specifies which types of telemetry data this sampler applies to. Common values include “traces”, “metrics”, or “logs”.

services_name_filters[]ServiceNameFilter

ServicesNameFilters defines rules for sampling traces based on the presence of specific service names. If a trace contains a span from one of the listed services, the associated sampling ratio is applied.

ServiceNameSamplerStatus

Appears in:

ServiceNameSamplerStatus represents the runtime status of a ServiceNameSampler, including observed conditions such as validation errors or processing state.

FieldTypeDescription
conditions[]meta/v1.Condition

Conditions is a list of status conditions for this sampler, following the standard Kubernetes conventions.

SpanAttributeFilter

Appears in:

SpanAttributeFilter allows sampling traces based on specific span attributes and conditions.

FieldTypeDescription
service_namestring

ServiceName specifies which service this filter applies to. Only spans originating from the given service will be evaluated against this filter.

attribute_keystring

AttributeKey indicates which attribute on the span to evaluate.

conditionAttributeCondition

Condition is the rule or expression that will be used to evaluate the attribute’s value. Exactly one of the condition types must be set:

  • StringCondition
  • NumberCondition
  • BooleanCondition
  • JsonCondition
sampling_ratiofloat64

SamplingRatio determines the percentage (0–100) of traces to sample when the specified attribute satisfies the filter.

For example, a value of 100 means all such traces will be kept, while a value of 0 means all will be dropped.

fallback_sampling_ratiofloat64

FallbackSamplingRatio is the percentage (0–100) of spans to sample when the condition does not explicitly match. For example, if set to 50, then half of non-matching spans would be sampled.

SpanAttributeSamplerSpec

Appears in:

SpanAttributeSamplerSpec defines the desired state of SpanAttributeSampler

FieldTypeDescription
actionNamestring

ActionName is the name of the sampling action. This may be used to describe the purpose or intent of this sampler, for documentation or reference within other tools or systems.

notesstring

Notes provides additional, free-form information about this sampler, such as a reference to a ticket, a link, or usage guidelines.

disabledbool

Disabled, if set to true, indicates that this sampler should not be applied at runtime.

signals[]common.ObservabilitySignal

Signals indicates which ObservabilitySignal types this sampler applies to. For instance, this could include traces, metrics, logs, etc.

attribute_filters[]SpanAttributeFilter

AttributeFilters defines a list of criteria to decide how spans should be sampled based on their attributes. At least one filter is required.

SpanAttributeSamplerStatus

Appears in:

SpanAttributeSamplerStatus represents the current status of a SpanAttributeSampler.

FieldTypeDescription
conditions[]meta/v1.Condition

Conditions is a list of the latest available observations of this sampler’s state.

StringAttributeCondition

Appears in:

StringAttributeCondition defines how to evaluate a string attribute.

FieldTypeDescription
operationstring

Operation determines what comparison or check should be performed.

The valid operations are:

  • “exists”: Checks that the attribute is present (and not an empty string).
  • “equals”: String equality comparison with ExpectedValue.
  • ”not_equals”: String inequality comparison with ExpectedValue.
  • ”contains”: Checks if the attribute contains ExpectedValue as a substring.
  • ”not_contains”: Checks if the attribute does not contain ExpectedValue.
  • ”regex”: Interprets ExpectedValue as a regular expression (RE2 syntax) and checks for a match within the attribute.

For operations other than “exists”, ExpectedValue must be provided.

expected_valuestring

ExpectedValue is required for all operations except “exists”. Its usage depends on the chosen Operation, e.g. it may represent an exact string to match, a substring, or a regular expression.