--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.13.0 name: meshtraces.kuma.io spec: group: kuma.io names: categories: - kuma kind: MeshTrace listKind: MeshTraceList plural: meshtraces singular: meshtrace scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .spec.targetRef.kind name: TargetRef Kind type: string - jsonPath: .spec.targetRef.name name: TargetRef Name type: string name: v1alpha1 schema: openAPIV3Schema: properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: Spec is the specification of the Kuma MeshTrace resource. properties: default: description: MeshTrace configuration. properties: backends: description: A one element array of backend definition. Envoy allows configuring only 1 backend, so the natural way of representing that would be just one object. Unfortunately due to the reasons explained in MADR 009-tracing-policy this has to be a one element array for now. items: description: Only one of zipkin, datadog or openTelemetry can be used. properties: datadog: description: Datadog backend configuration. properties: splitService: description: 'Determines if datadog service name should be split based on traffic direction and destination. For example, with `splitService: true` and a `backend` service that communicates with a couple of databases, you would get service names like `backend_INBOUND`, `backend_OUTBOUND_db1`, and `backend_OUTBOUND_db2` in Datadog. Default: false' type: boolean url: description: Address of Datadog collector, only host and port are allowed (no paths, fragments etc.) type: string required: - url type: object openTelemetry: description: OpenTelemetry backend configuration. properties: endpoint: description: Address of OpenTelemetry collector. example: otel-collector:4317 minLength: 1 type: string required: - endpoint type: object type: enum: - Zipkin - Datadog - OpenTelemetry type: string zipkin: description: Zipkin backend configuration. properties: apiVersion: default: httpJson description: 'Version of the API. values: httpJson, httpProto. Default: httpJson see https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/trace/v3/zipkin.proto#L66' enum: - httpJson - httpProto type: string sharedSpanContext: description: 'Determines whether client and server spans will share the same span context. Default: true. https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/trace/v3/zipkin.proto#L63' type: boolean traceId128bit: description: 'Generate 128bit traces. Default: false' type: boolean url: description: Address of Zipkin collector. type: string required: - url type: object required: - type type: object type: array sampling: description: Sampling configuration. Sampling is the process by which a decision is made on whether to process/export a span or not. properties: client: anyOf: - type: integer - type: string description: 'Target percentage of requests that will be force traced if the ''x-client-trace-id'' header is set. Default: 100% Mirror of client_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L127-L133 Either int or decimal represented as string.' x-kubernetes-int-or-string: true overall: anyOf: - type: integer - type: string description: 'Target percentage of requests will be traced after all other sampling checks have been applied (client, force tracing, random sampling). This field functions as an upper limit on the total configured sampling rate. For instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% of client requests with the appropriate headers to be force traced. Default: 100% Mirror of overall_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L142-L150 Either int or decimal represented as string.' x-kubernetes-int-or-string: true random: anyOf: - type: integer - type: string description: 'Target percentage of requests that will be randomly selected for trace generation, if not requested by the client or not forced. Default: 100% Mirror of random_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L135-L140 Either int or decimal represented as string.' x-kubernetes-int-or-string: true type: object tags: description: Custom tags configuration. You can add custom tags to traces based on headers or literal values. items: description: Custom tags configuration. Only one of literal or header can be used. properties: header: description: Tag taken from a header. properties: default: description: Default value to use if header is missing. If the default is missing and there is no value the tag will not be included. type: string name: description: Name of the header. type: string required: - name type: object literal: description: Tag taken from literal value. type: string name: description: Name of the tag. type: string required: - name type: object type: array type: object targetRef: description: TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. properties: kind: description: Kind of the referenced resource enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshServiceSubset - MeshHTTPRoute type: string mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string name: description: 'Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute`' type: string tags: additionalProperties: type: string description: Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object type: object required: - targetRef type: object type: object served: true storage: true subresources: {}
Last Updated: 8/28/2023, 12:35:09 PM