Documentation
¶
Index ¶
- Variables
- type DeletePodParams
- type KubeAction
- func (*KubeAction) Descriptor() ([]byte, []int)deprecated
- func (m *KubeAction) GetAction() isKubeAction_Action
- func (x *KubeAction) GetActionId() string
- func (x *KubeAction) GetDeletePod() *DeletePodParams
- func (x *KubeAction) GetPatchDeployment() *PatchDeploymentParams
- func (x *KubeAction) GetRequestedBy() string
- func (x *KubeAction) GetResource() *KubeResource
- func (x *KubeAction) GetRestartDeployment() *RestartDeploymentParams
- func (x *KubeAction) GetTimestamp() *timestamppb.Timestamp
- func (*KubeAction) ProtoMessage()
- func (x *KubeAction) ProtoReflect() protoreflect.Message
- func (x *KubeAction) Reset()
- func (x *KubeAction) String() string
- type KubeActionResult
- func (*KubeActionResult) Descriptor() ([]byte, []int)deprecated
- func (x *KubeActionResult) GetActionId() string
- func (x *KubeActionResult) GetActionType() string
- func (x *KubeActionResult) GetExecutedAt() *timestamppb.Timestamp
- func (x *KubeActionResult) GetMessage() string
- func (x *KubeActionResult) GetStatus() string
- func (x *KubeActionResult) GetVersion() int64
- func (*KubeActionResult) ProtoMessage()
- func (x *KubeActionResult) ProtoReflect() protoreflect.Message
- func (x *KubeActionResult) Reset()
- func (x *KubeActionResult) String() string
- type KubeAction_DeletePod
- type KubeAction_PatchDeployment
- type KubeAction_RestartDeployment
- type KubeActionsList
- type KubeResource
- func (*KubeResource) Descriptor() ([]byte, []int)deprecated
- func (x *KubeResource) GetApiVersion() string
- func (x *KubeResource) GetKind() string
- func (x *KubeResource) GetName() string
- func (x *KubeResource) GetNamespace() string
- func (x *KubeResource) GetResourceId() string
- func (*KubeResource) ProtoMessage()
- func (x *KubeResource) ProtoReflect() protoreflect.Message
- func (x *KubeResource) Reset()
- func (x *KubeResource) String() string
- type PatchDeploymentParams
- func (*PatchDeploymentParams) Descriptor() ([]byte, []int)deprecated
- func (x *PatchDeploymentParams) GetPatch() *structpb.Value
- func (x *PatchDeploymentParams) GetPatchStrategy() string
- func (*PatchDeploymentParams) ProtoMessage()
- func (x *PatchDeploymentParams) ProtoReflect() protoreflect.Message
- func (x *PatchDeploymentParams) Reset()
- func (x *PatchDeploymentParams) String() string
- type RestartDeploymentParams
Constants ¶
This section is empty.
Variables ¶
var File_github_com_DataDog_agent_payload_v5_proto_kubeactions_kubeactions_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type DeletePodParams ¶
type DeletePodParams struct {
// GracePeriodSeconds is the duration in seconds before the pod should be deleted.
// If not specified, the pod's default termination grace period is used.
// Set to 0 for immediate deletion (force delete).
GracePeriodSeconds *int64 `protobuf:"varint,1,opt,name=grace_period_seconds,json=gracePeriodSeconds,proto3,oneof" json:"grace_period_seconds,omitempty"`
// contains filtered or unexported fields
}
DeletePodParams contains parameters for the delete_pod action. Deletes a pod from the cluster with an optional grace period.
func (*DeletePodParams) Descriptor
deprecated
func (*DeletePodParams) Descriptor() ([]byte, []int)
Deprecated: Use DeletePodParams.ProtoReflect.Descriptor instead.
func (*DeletePodParams) GetGracePeriodSeconds ¶
func (x *DeletePodParams) GetGracePeriodSeconds() int64
func (*DeletePodParams) ProtoMessage ¶
func (*DeletePodParams) ProtoMessage()
func (*DeletePodParams) ProtoReflect ¶
func (x *DeletePodParams) ProtoReflect() protoreflect.Message
func (*DeletePodParams) Reset ¶
func (x *DeletePodParams) Reset()
func (*DeletePodParams) String ¶
func (x *DeletePodParams) String() string
type KubeAction ¶
type KubeAction struct {
// Resource is the Kubernetes resource to act on (required for all actions)
Resource *KubeResource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
// Timestamp is when the action was created (required for all actions)
Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// ActionID is the unique identifier for this action, used for tracking across Event Platform.
// This is different from the RC metadata.id which is tied to the RC config lifecycle.
ActionId string `protobuf:"bytes,3,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
// RequestedBy is the account identifier (email) of the user who requested this action.
// Required for audit trail.
RequestedBy string `protobuf:"bytes,4,opt,name=requested_by,json=requestedBy,proto3" json:"requested_by,omitempty"`
// Exactly one action type must be specified. Each action type has its own
// strictly defined parameters - no arbitrary parameters allowed.
//
// Types that are assignable to Action:
//
// *KubeAction_DeletePod
// *KubeAction_RestartDeployment
// *KubeAction_PatchDeployment
Action isKubeAction_Action `protobuf_oneof:"action"`
// contains filtered or unexported fields
}
KubeAction represents a single Kubernetes action to execute. Uses oneof to enforce that exactly one action type with its specific parameters is provided. This design ensures strict parameter validation per action type while remaining extensible. To add a new action: 1) Create a new *Params message, 2) Add it to the oneof block.
func (*KubeAction) Descriptor
deprecated
func (*KubeAction) Descriptor() ([]byte, []int)
Deprecated: Use KubeAction.ProtoReflect.Descriptor instead.
func (*KubeAction) GetAction ¶
func (m *KubeAction) GetAction() isKubeAction_Action
func (*KubeAction) GetActionId ¶
func (x *KubeAction) GetActionId() string
func (*KubeAction) GetDeletePod ¶
func (x *KubeAction) GetDeletePod() *DeletePodParams
func (*KubeAction) GetPatchDeployment ¶
func (x *KubeAction) GetPatchDeployment() *PatchDeploymentParams
func (*KubeAction) GetRequestedBy ¶
func (x *KubeAction) GetRequestedBy() string
func (*KubeAction) GetResource ¶
func (x *KubeAction) GetResource() *KubeResource
func (*KubeAction) GetRestartDeployment ¶
func (x *KubeAction) GetRestartDeployment() *RestartDeploymentParams
func (*KubeAction) GetTimestamp ¶
func (x *KubeAction) GetTimestamp() *timestamppb.Timestamp
func (*KubeAction) ProtoMessage ¶
func (*KubeAction) ProtoMessage()
func (*KubeAction) ProtoReflect ¶
func (x *KubeAction) ProtoReflect() protoreflect.Message
func (*KubeAction) Reset ¶
func (x *KubeAction) Reset()
func (*KubeAction) String ¶
func (x *KubeAction) String() string
type KubeActionResult ¶
type KubeActionResult struct {
ActionId string `protobuf:"bytes,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` // ActionID is the metadata.id from remote config
Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` // Version is the metadata.version from remote config
ActionType string `protobuf:"bytes,3,opt,name=action_type,json=actionType,proto3" json:"action_type,omitempty"` // ActionType is the type of action that was executed
Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // Status is the execution status ("success", "failed", "skipped")
Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"` // Message is an error message or additional info
ExecutedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` // ExecutedAt is when the action was executed
// contains filtered or unexported fields
}
KubeActionResult represents the result of executing a Kubernetes action This is used for reporting back to the backend via Event Platform
func (*KubeActionResult) Descriptor
deprecated
func (*KubeActionResult) Descriptor() ([]byte, []int)
Deprecated: Use KubeActionResult.ProtoReflect.Descriptor instead.
func (*KubeActionResult) GetActionId ¶
func (x *KubeActionResult) GetActionId() string
func (*KubeActionResult) GetActionType ¶
func (x *KubeActionResult) GetActionType() string
func (*KubeActionResult) GetExecutedAt ¶
func (x *KubeActionResult) GetExecutedAt() *timestamppb.Timestamp
func (*KubeActionResult) GetMessage ¶
func (x *KubeActionResult) GetMessage() string
func (*KubeActionResult) GetStatus ¶
func (x *KubeActionResult) GetStatus() string
func (*KubeActionResult) GetVersion ¶
func (x *KubeActionResult) GetVersion() int64
func (*KubeActionResult) ProtoMessage ¶
func (*KubeActionResult) ProtoMessage()
func (*KubeActionResult) ProtoReflect ¶
func (x *KubeActionResult) ProtoReflect() protoreflect.Message
func (*KubeActionResult) Reset ¶
func (x *KubeActionResult) Reset()
func (*KubeActionResult) String ¶
func (x *KubeActionResult) String() string
type KubeAction_DeletePod ¶
type KubeAction_DeletePod struct {
DeletePod *DeletePodParams `protobuf:"bytes,10,opt,name=delete_pod,json=deletePod,proto3,oneof"`
}
type KubeAction_PatchDeployment ¶
type KubeAction_PatchDeployment struct {
PatchDeployment *PatchDeploymentParams `protobuf:"bytes,12,opt,name=patch_deployment,json=patchDeployment,proto3,oneof"`
}
type KubeAction_RestartDeployment ¶
type KubeAction_RestartDeployment struct {
RestartDeployment *RestartDeploymentParams `protobuf:"bytes,11,opt,name=restart_deployment,json=restartDeployment,proto3,oneof"`
}
type KubeActionsList ¶
type KubeActionsList struct {
Actions []*KubeAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"`
// contains filtered or unexported fields
}
KubeActionsList represents a list of Kubernetes actions to execute
func (*KubeActionsList) Descriptor
deprecated
func (*KubeActionsList) Descriptor() ([]byte, []int)
Deprecated: Use KubeActionsList.ProtoReflect.Descriptor instead.
func (*KubeActionsList) GetActions ¶
func (x *KubeActionsList) GetActions() []*KubeAction
func (*KubeActionsList) ProtoMessage ¶
func (*KubeActionsList) ProtoMessage()
func (*KubeActionsList) ProtoReflect ¶
func (x *KubeActionsList) ProtoReflect() protoreflect.Message
func (*KubeActionsList) Reset ¶
func (x *KubeActionsList) Reset()
func (*KubeActionsList) String ¶
func (x *KubeActionsList) String() string
type KubeResource ¶
type KubeResource struct {
ApiVersion string `protobuf:"bytes,1,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` // APIVersion is the API version of the resource (e.g., "v1", "apps/v1")
Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` // Kind is the resource kind (e.g., "Pod", "Deployment")
Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` // Namespace is the Kubernetes namespace
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // Name is the resource name
ResourceId string `protobuf:"bytes,5,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // ResourceID is the orchestrator resource ID - used for UID safety check
// contains filtered or unexported fields
}
KubeResource represents a Kubernetes resource to act on
func (*KubeResource) Descriptor
deprecated
func (*KubeResource) Descriptor() ([]byte, []int)
Deprecated: Use KubeResource.ProtoReflect.Descriptor instead.
func (*KubeResource) GetApiVersion ¶
func (x *KubeResource) GetApiVersion() string
func (*KubeResource) GetKind ¶
func (x *KubeResource) GetKind() string
func (*KubeResource) GetName ¶
func (x *KubeResource) GetName() string
func (*KubeResource) GetNamespace ¶
func (x *KubeResource) GetNamespace() string
func (*KubeResource) GetResourceId ¶
func (x *KubeResource) GetResourceId() string
func (*KubeResource) ProtoMessage ¶
func (*KubeResource) ProtoMessage()
func (*KubeResource) ProtoReflect ¶
func (x *KubeResource) ProtoReflect() protoreflect.Message
func (*KubeResource) Reset ¶
func (x *KubeResource) Reset()
func (*KubeResource) String ¶
func (x *KubeResource) String() string
type PatchDeploymentParams ¶
type PatchDeploymentParams struct {
// Patch is the JSON patch to apply to the deployment. Accepts any valid JSON structure:
// - For strategic-merge and merge: a JSON object, e.g. {"spec": {"replicas": 3}}
// - For json (RFC 6902): a JSON array, e.g. [{"op": "replace", "path": "/spec/replicas", "value": 3}]
//
// Uses google.protobuf.Value so protojson deserializes nested JSON natively (no base64).
Patch *structpb.Value `protobuf:"bytes,1,opt,name=patch,proto3" json:"patch,omitempty"`
// PatchStrategy specifies the Kubernetes patch strategy to use.
// Supported values:
//
// "strategic-merge" (default) - Strategic merge patch, understands K8s resource structure (e.g. merges lists by key)
// "merge" - RFC 7386 JSON merge patch, simple merge that replaces arrays entirely
// "json" - RFC 6902 JSON patch, explicit add/remove/replace operations at specific paths
//
// If not specified, defaults to "strategic-merge".
PatchStrategy string `protobuf:"bytes,2,opt,name=patch_strategy,json=patchStrategy,proto3" json:"patch_strategy,omitempty"`
// contains filtered or unexported fields
}
PatchDeploymentParams contains parameters for the patch_deployment action. Applies a patch to a deployment using the specified strategy.
func (*PatchDeploymentParams) Descriptor
deprecated
func (*PatchDeploymentParams) Descriptor() ([]byte, []int)
Deprecated: Use PatchDeploymentParams.ProtoReflect.Descriptor instead.
func (*PatchDeploymentParams) GetPatch ¶
func (x *PatchDeploymentParams) GetPatch() *structpb.Value
func (*PatchDeploymentParams) GetPatchStrategy ¶ added in v5.0.187
func (x *PatchDeploymentParams) GetPatchStrategy() string
func (*PatchDeploymentParams) ProtoMessage ¶
func (*PatchDeploymentParams) ProtoMessage()
func (*PatchDeploymentParams) ProtoReflect ¶
func (x *PatchDeploymentParams) ProtoReflect() protoreflect.Message
func (*PatchDeploymentParams) Reset ¶
func (x *PatchDeploymentParams) Reset()
func (*PatchDeploymentParams) String ¶
func (x *PatchDeploymentParams) String() string
type RestartDeploymentParams ¶
type RestartDeploymentParams struct {
// contains filtered or unexported fields
}
RestartDeploymentParams contains parameters for the restart_deployment action. Restarts a deployment by updating the restart annotation on the pod template.
func (*RestartDeploymentParams) Descriptor
deprecated
func (*RestartDeploymentParams) Descriptor() ([]byte, []int)
Deprecated: Use RestartDeploymentParams.ProtoReflect.Descriptor instead.
func (*RestartDeploymentParams) ProtoMessage ¶
func (*RestartDeploymentParams) ProtoMessage()
func (*RestartDeploymentParams) ProtoReflect ¶
func (x *RestartDeploymentParams) ProtoReflect() protoreflect.Message
func (*RestartDeploymentParams) Reset ¶
func (x *RestartDeploymentParams) Reset()
func (*RestartDeploymentParams) String ¶
func (x *RestartDeploymentParams) String() string