mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
76 lines
4.4 KiB
Go
76 lines
4.4 KiB
Go
package tracing
|
|
|
|
import (
|
|
"go.opentelemetry.io/otel/attribute"
|
|
)
|
|
|
|
const (
|
|
limit = 256
|
|
// engine attributes
|
|
PolicyGroupKey = attribute.Key("kyverno.policy.group")
|
|
PolicyVersionKey = attribute.Key("kyverno.policy.version")
|
|
PolicyKindKey = attribute.Key("kyverno.policy.kind")
|
|
PolicyNameKey = attribute.Key("kyverno.policy.name")
|
|
PolicyNamespaceKey = attribute.Key("kyverno.policy.namespace")
|
|
RuleNameKey = attribute.Key("kyverno.rule.name")
|
|
// admission resource attributes
|
|
// ResourceNameKey = attribute.Key("admission.resource.name")
|
|
// ResourceNamespaceKey = attribute.Key("admission.resource.namespace")
|
|
// ResourceGroupKey = attribute.Key("admission.resource.group")
|
|
// ResourceVersionKey = attribute.Key("admission.resource.version")
|
|
// ResourceKindKey = attribute.Key("admission.resource.kind")
|
|
// ResourceUidKey = attribute.Key("admission.resource.uid")
|
|
// admission request attributes
|
|
RequestNameKey = attribute.Key("admission.request.name")
|
|
RequestNamespaceKey = attribute.Key("admission.request.namespace")
|
|
RequestUidKey = attribute.Key("admission.request.uid")
|
|
RequestOperationKey = attribute.Key("admission.request.operation")
|
|
RequestDryRunKey = attribute.Key("admission.request.dryrun")
|
|
RequestKindGroupKey = attribute.Key("admission.request.kind.group")
|
|
RequestKindVersionKey = attribute.Key("admission.request.kind.version")
|
|
RequestKindKindKey = attribute.Key("admission.request.kind.kind")
|
|
RequestSubResourceKey = attribute.Key("admission.request.subresource")
|
|
RequestRequestKindGroupKey = attribute.Key("admission.request.requestkind.group")
|
|
RequestRequestKindVersionKey = attribute.Key("admission.request.requestkind.version")
|
|
RequestRequestKindKindKey = attribute.Key("admission.request.requestkind.kind")
|
|
RequestRequestSubResourceKey = attribute.Key("admission.request.requestsubresource")
|
|
RequestResourceGroupKey = attribute.Key("admission.request.resource.group")
|
|
RequestResourceVersionKey = attribute.Key("admission.request.resource.version")
|
|
RequestResourceResourceKey = attribute.Key("admission.request.resource.resource")
|
|
RequestRequestResourceGroupKey = attribute.Key("admission.request.requestresource.group")
|
|
RequestRequestResourceVersionKey = attribute.Key("admission.request.requestresource.version")
|
|
RequestRequestResourceResourceKey = attribute.Key("admission.request.requestresource.resource")
|
|
RequestUserNameKey = attribute.Key("admission.request.user.name")
|
|
RequestUserUidKey = attribute.Key("admission.request.user.uid")
|
|
RequestUserGroupsKey = attribute.Key("admission.request.user.groups")
|
|
RequestRolesKey = attribute.Key("admission.request.roles")
|
|
RequestClusterRolesKey = attribute.Key("admission.request.clusterroles")
|
|
RequestGroupKey = attribute.Key("admission.request.group")
|
|
RequestVersionKey = attribute.Key("admission.request.version")
|
|
RequestKindKey = attribute.Key("admission.request.kind")
|
|
RequestFilteredKey = attribute.Key("admission.request.filtered")
|
|
// admission response attributes
|
|
ResponseUidKey = attribute.Key("admission.response.uid")
|
|
ResponseAllowedKey = attribute.Key("admission.response.allowed")
|
|
ResponseWarningsKey = attribute.Key("admission.response.warnings")
|
|
ResponseResultStatusKey = attribute.Key("admission.response.result.status")
|
|
ResponseResultMessageKey = attribute.Key("admission.response.result.message")
|
|
ResponseResultReasonKey = attribute.Key("admission.response.result.reason")
|
|
ResponseResultCodeKey = attribute.Key("admission.response.result.code")
|
|
ResponsePatchTypeKey = attribute.Key("admission.response.patchtype")
|
|
// kube client attributes
|
|
KubeClientGroupKey = attribute.Key("kube.client.group")
|
|
KubeClientKindKey = attribute.Key("kube.client.kind")
|
|
KubeClientOperationKey = attribute.Key("kube.client.operation")
|
|
KubeClientNamespaceKey = attribute.Key("kube.client.namespace")
|
|
)
|
|
|
|
// StringValue truncates the input value if its size is above the limit.
|
|
// Some backends impose a limit on the size of a tag value.
|
|
func StringValue(value string) string {
|
|
if len(value) > limit {
|
|
value = value[:limit-3]
|
|
value += "..."
|
|
}
|
|
return value
|
|
}
|