kubeactions

package
v5.0.187 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2026 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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 raw JSON patch to apply to the deployment.
	// Example: {"spec": {"replicas": 3}} to scale, or
	//
	//	{"spec": {"template": {"spec": {"containers": [{"name": "app", "image": "app:v2"}]}}}} to update an image.
	Patch []byte `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() []byte

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL