Actions.odigos.io.v1alpha1
Resource Types
AddClusterInfo
AddClusterInfo is the Schema for the addclusterinfo odigos action API
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | AddClusterInfo |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | AddClusterInfoSpec | No description provided. |
status | AddClusterInfoStatus | No description provided. |
DeleteAttribute
DeleteAttribute is the Schema for the DeleteAttribute odigos action API
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | DeleteAttribute |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | DeleteAttributeSpec | No description provided. |
status | DeleteAttributeStatus | No 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.
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | ErrorSampler |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | ErrorSamplerSpec | No description provided. |
status | ErrorSamplerStatus | No description provided. |
K8sAttributesResolver
K8sAttributesResolver allows adding an action to collect k8s attributes.
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | K8sAttributesResolver |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | K8sAttributesSpec | No description provided. |
status | K8sAttributesStatus | No 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.
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | LatencySampler |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | LatencySamplerSpec | No description provided. |
status | LatencySamplerStatus | No description provided. |
PiiMasking
PiiMasking is the Schema for the PiiMasking odigos action API
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | PiiMasking |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | PiiMaskingSpec | No description provided. |
status | PiiMaskingStatus | No description provided. |
ProbabilisticSampler
ProbabilisticSampler is the Schema for the ProbabilisticSampler odigos action API
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | ProbabilisticSampler |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | ProbabilisticSamplerSpec | No description provided. |
status | ProbabilisticSamplerStatus | No description provided. |
RenameAttribute
RenameAttribute is the Schema for the RenameAttribute odigos action API
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | RenameAttribute |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | RenameAttributeSpec | No description provided. |
status | RenameAttributeStatus | No description provided. |
ServiceNameSampler
ServiceNameSampler is the Schema for the servicenamesamplers API. It enables trace sampling based on whether specific services appear within a trace.
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | ServiceNameSampler |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | ServiceNameSamplerSpec | No description provided. |
status | ServiceNameSamplerStatus | No 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.
Field | Type | Description |
---|---|---|
apiVersion | string | /v1alpha1 |
kind | string | SpanAttributeSampler |
metadata | meta/v1.ObjectMeta | No description provided.
Refer to the Kubernetes API documentation for the fields of the |
spec | SpanAttributeSamplerSpec | No description provided. |
status | SpanAttributeSamplerStatus | No description provided. |
AddClusterInfoConfig
Appears in:
Field | Type | Description |
---|---|---|
clusterAttributes | []OtelAttributeWithValue | No description provided. |
AddClusterInfoSpec
Appears in:
AddClusterInfoSpec defines the desired state of AddClusterInfo action
Field | Type | Description |
---|---|---|
actionName | string | No description provided. |
notes | string | No description provided. |
disabled | bool | No description provided. |
signals | []common.ObservabilitySignal | No description provided. |
clusterAttributes | []OtelAttributeWithValue | No description provided. |
AddClusterInfoStatus
Appears in:
AddClusterInfoStatus defines the observed state of AddClusterInfo action
Field | Type | Description |
---|---|---|
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.
Field | Type | Description |
---|---|---|
string_condition | StringAttributeCondition | StringCondition applies to string-type attributes. |
number_condition | NumberAttributeCondition | NumberCondition applies to numeric attributes (int, long, float, double). |
boolean_condition | BooleanAttributeCondition | BooleanCondition applies to boolean attributes. |
json_condition | JsonAttributeCondition | JsonCondition applies to attributes that are JSON-encoded strings. |
BooleanAttributeCondition
Appears in:
BooleanAttributeCondition defines a check against a boolean attribute.
Field | Type | Description |
---|---|---|
operation | string | Operation can be:
ExpectedValue is required only for the “equals” operation. |
expected_value | bool | ExpectedValue is only used if Operation == “equals”. |
DeleteAttributeConfig
Appears in:
Field | Type | Description |
---|---|---|
attributeNamesToDelete | []string | No description provided. |
DeleteAttributeSpec
Appears in:
DeleteAttributeSpec defines the desired state of DeleteAttribute action
Field | Type | Description |
---|---|---|
actionName | string | No description provided. |
notes | string | No description provided. |
disabled | bool | No description provided. |
signals | []common.ObservabilitySignal | No description provided. |
attributeNamesToDelete | []string | No description provided. |
DeleteAttributeStatus
Appears in:
DeleteAttributeStatus defines the observed state of DeleteAttribute action
Field | Type | Description |
---|---|---|
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.
Field | Type | Description |
---|---|---|
actionName | string | ActionName is an optional identifier for this sampler rule. It can be used for referencing, labeling, or displaying the rule in UIs. |
notes | string | Notes provides free-form documentation or context for the user. |
disabled | bool | 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_ratio | float64 | 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”.
Field | Type | Description |
---|---|---|
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.
Field | Type | Description |
---|---|---|
http_route | string | HttpRoute is the route name (from span attribute “http.route”) that this rule applies to. |
service_name | string | 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_threshold | int | MinimumLatencyThreshold is the latency in milliseconds that spans must exceed to be considered for sampling. Spans with latency >= this value are eligible. |
fallback_sampling_ratio | float64 | 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.
Field | Type | Description |
---|---|---|
operation | string | Operation defines the evaluation logic applied to the JSON value. Supported values:
|
json_path | string | JsonPath is required for:
It is a JSONPath expression used to navigate the JSON structure. Example: .events[0].code |
expected_value | string | ExpectedValue is required for:
The value to compare against during evaluation. |
K8sAnnotationAttribute
Appears in:
Field | Type | Description |
---|---|---|
annotationKey | string | The label name to be extracted from the pod. e.g. “kubectl.kubernetes.io/restartedAt” |
attributeKey | string | The attribute key to be used for the resource attribute created from the label. e.g. “kubectl.kubernetes.restartedAte” |
K8sAttributesSpec
Appears in:
Field | Type | Description |
---|---|---|
actionName | string | No description provided. |
notes | string | No description provided. |
disabled | bool | No description provided. |
signals | []common.ObservabilitySignal | No description provided. |
collectContainerAttributes | bool | Collect the following container related attributes: k8s.container.name container.id container.image.name container.image.tag |
collectReplicaSetAttributes | bool | collect replicaset related attributes (when relevant, e.g. for deployments): k8s.replicaset.name if CollectWorkloadUID is set, also collect: k8s.replicaset.uid |
collectWorkloadUID | bool | Collect the following workload UID attributes: k8s.deployment.uid k8s.daemonset.uid k8s.statefulset.uid |
collectClusterUID | bool | 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
Field | Type | Description |
---|---|---|
conditions | []meta/v1.Condition | Represents the observations of a k8sattributes’ current state. Known .status.conditions.type are: “Available”, “Progressing” |
K8sLabelAttribute
Appears in:
Field | Type | Description |
---|---|---|
labelKey | string | The label name to be extracted from the pod. e.g. “app.kubernetes.io/name” |
attributeKey | string | 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.
Field | Type | Description |
---|---|---|
actionName | string | ActionName is a user-defined identifier for this sampling action. It can be used to reference this policy in UIs or configuration tools. |
notes | string | Notes is an optional field for storing human-readable documentation or context for this sampler. |
disabled | bool | 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.
Field | Type | Description |
---|---|---|
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.).
Field | Type | Description |
---|---|---|
operation | string | Operation determines the numeric comparison to perform. Valid operations:
For operations other than “exists”, ExpectedValue must be specified. |
expected_value | float64 | ExpectedValue is required for all operations except “exists”. |
OtelAttributeWithValue
Appears in:
Field | Type | Description |
---|---|---|
attributeName | string | the name of the attribute to insert |
attributeStringValue | string | 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:
Field | Type | Description |
---|---|---|
piiCategories | []PiiCategory | No description provided. |
PiiMaskingSpec
Appears in:
PiiMaskingSpec defines the desired state of PiiMasking action
Field | Type | Description |
---|---|---|
actionName | string | No description provided. |
notes | string | No description provided. |
disabled | bool | No description provided. |
signals | []common.ObservabilitySignal | No description provided. |
piiCategories | []PiiCategory | No description provided. |
PiiMaskingStatus
Appears in:
PiiMaskingStatus defines the observed state of PiiMasking action
Field | Type | Description |
---|---|---|
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
Field | Type | Description |
---|---|---|
actionName | string | No description provided. |
notes | string | No description provided. |
disabled | bool | No description provided. |
signals | []common.ObservabilitySignal | No description provided. |
sampling_percentage | string | No description provided. |
ProbabilisticSamplerStatus
Appears in:
ProbabilisticSamplerStatus defines the observed state of ProbabilisticSampler action
Field | Type | Description |
---|---|---|
conditions | []meta/v1.Condition | Represents the observations of a ProbabilisticSampler’s current state. Known .status.conditions.type are: “Available”, “Progressing” |
RenameAttributeConfig
Appears in:
Field | Type | Description |
---|---|---|
renames | map[string]string | No description provided. |
RenameAttributeSpec
Appears in:
RenameAttributeSpec defines the desired state of RenameAttribute action
Field | Type | Description |
---|---|---|
actionName | string | No description provided. |
notes | string | No description provided. |
disabled | bool | No description provided. |
signals | []common.ObservabilitySignal | No description provided. |
renames | map[string]string | No description provided. |
RenameAttributeStatus
Appears in:
RenameAttributeStatus defines the observed state of RenameAttribute action
Field | Type | Description |
---|---|---|
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.
Field | Type | Description |
---|---|---|
service_name | string | 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_ratio | float64 | 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_ratio | float64 | 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.
Field | Type | Description |
---|---|---|
actionName | string | ActionName is an optional label to identify this sampling policy. It can be used for display purposes or integration with other tools. |
notes | string | Notes allows attaching additional free-form documentation or context to this sampler. |
disabled | bool | 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.
Field | Type | Description |
---|---|---|
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.
Field | Type | Description |
---|---|---|
service_name | string | ServiceName specifies which service this filter applies to. Only spans originating from the given service will be evaluated against this filter. |
attribute_key | string | AttributeKey indicates which attribute on the span to evaluate. |
condition | AttributeCondition | 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:
|
sampling_ratio | float64 | 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_ratio | float64 | 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
Field | Type | Description |
---|---|---|
actionName | string | 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. |
notes | string | Notes provides additional, free-form information about this sampler, such as a reference to a ticket, a link, or usage guidelines. |
disabled | bool | 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.
Field | Type | Description |
---|---|---|
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.
Field | Type | Description |
---|---|---|
operation | string | Operation determines what comparison or check should be performed. The valid operations are:
For operations other than “exists”, ExpectedValue must be provided. |
expected_value | string | 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. |