diff --git a/charts/odigos/templates/autoscaler/clusterrole.yaml b/charts/odigos/templates/autoscaler/clusterrole.yaml index f9dfdd9..10be244 100644 --- a/charts/odigos/templates/autoscaler/clusterrole.yaml +++ b/charts/odigos/templates/autoscaler/clusterrole.yaml @@ -61,6 +61,7 @@ rules: - addclusterinfos - deleteattributes - renameattributes + - probabilisticsamplers verbs: - watch - get @@ -71,6 +72,7 @@ rules: - addclusterinfos/status - deleteattributes/status - renameattributes/status + - probabilisticsamplers/status verbs: - get - patch diff --git a/charts/odigos/templates/crds/actions/probabilisticsampler.yaml b/charts/odigos/templates/crds/actions/probabilisticsampler.yaml new file mode 100644 index 0000000..2cbbb15 --- /dev/null +++ b/charts/odigos/templates/crds/actions/probabilisticsampler.yaml @@ -0,0 +1,150 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: probabilisticsamplers.actions.odigos.io +spec: + group: actions.odigos.io + names: + kind: ProbabilisticSampler + listKind: ProbabilisticSamplerList + plural: probabilisticsamplers + shortNames: + - ps + singular: probabilisticsampler + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ProbabilisticSampler is the Schema for the ProbabilisticSampler + odigos action API + 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: ProbabilisticSamplerSpec defines the desired state of ProbabilisticSampler + action + properties: + actionName: + type: string + disabled: + type: boolean + notes: + type: string + sampling_percentage: + type: string + signals: + items: + enum: + - LOGS + - TRACES + - METRICS + type: string + type: array + required: + - sampling_percentage + - signals + type: object + status: + description: ProbabilisticSamplerStatus defines the observed state of + ProbabilisticSampler action + properties: + conditions: + description: |- + Represents the observations of a ProbabilisticSampler's current state. + Known .status.conditions.type are: "Available", "Progressing" + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + type: object + served: true + storage: true + subresources: + status: {}