v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the instance v1alpha1 API group. +kubebuilder:object:generate=true +groupName=instance.falcosecurity.dev

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "instance.falcosecurity.dev", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Component added in v0.2.0

type Component struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ComponentSpec   `json:"spec,omitempty"`
	Status ComponentStatus `json:"status,omitempty"`
}

Component is the Schema for the components API.

func (*Component) DeepCopy added in v0.2.0

func (in *Component) DeepCopy() *Component

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.

func (*Component) DeepCopyInto added in v0.2.0

func (in *Component) DeepCopyInto(out *Component)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Component) DeepCopyObject added in v0.2.0

func (in *Component) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComponentInfo added in v0.2.0

type ComponentInfo struct {
	// Type specifies which component to deploy.
	Type ComponentType `json:"type"`

	// Version specifies the version of the component to deploy.
	// If omitted, the operator will default to the version bundled with the operator.
	// +optional
	Version *string `json:"version,omitempty"`
}

ComponentInfo identifies which component to deploy and at which version.

func (*ComponentInfo) DeepCopy added in v0.2.0

func (in *ComponentInfo) DeepCopy() *ComponentInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentInfo.

func (*ComponentInfo) DeepCopyInto added in v0.2.0

func (in *ComponentInfo) DeepCopyInto(out *ComponentInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentList added in v0.2.0

type ComponentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Component `json:"items"`
}

ComponentList contains a list of Component.

func (*ComponentList) DeepCopy added in v0.2.0

func (in *ComponentList) DeepCopy() *ComponentList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentList.

func (*ComponentList) DeepCopyInto added in v0.2.0

func (in *ComponentList) DeepCopyInto(out *ComponentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ComponentList) DeepCopyObject added in v0.2.0

func (in *ComponentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComponentSpec added in v0.2.0

type ComponentSpec struct {
	// Component identifies which component to deploy and at which version.
	Component ComponentInfo `json:"component"`

	// Replicas defines the number of replicas for the Deployment.
	// Default is 1.
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// PodTemplateSpec contains the pod template specification for the component instance.
	// Users can customize metadata, containers, volumes, tolerations, etc.
	// +optional
	PodTemplateSpec *corev1.PodTemplateSpec `json:"podTemplateSpec,omitempty"`

	// Strategy specifies the deployment strategy for the Deployment.
	// +optional
	Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty"`
}

ComponentSpec defines the desired state of a Component.

func (*ComponentSpec) DeepCopy added in v0.2.0

func (in *ComponentSpec) DeepCopy() *ComponentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.

func (*ComponentSpec) DeepCopyInto added in v0.2.0

func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentStatus added in v0.2.0

type ComponentStatus struct {
	// ResourceType is the resolved Kubernetes resource type (e.g. Deployment).
	// +optional
	ResourceType string `json:"resourceType,omitempty"`
	// Version is the resolved version of the component being deployed.
	// +optional
	Version string `json:"version,omitempty"`
	// Desired number of instances for the component deployment.
	// +optional
	DesiredReplicas int32 `json:"desiredReplicas,omitempty" protobuf:"varint,1,opt,name=desiredReplicas"`
	// Total number of available pods (ready for at least minReadySeconds) targeted by the deployment.
	// +optional
	AvailableReplicas int32 `json:"availableReplicas,omitempty" protobuf:"varint,2,opt,name=availableReplicas"`
	// Total number of unavailable pods targeted by the deployment.
	// +optional
	UnavailableReplicas int32 `json:"unavailableReplicas,omitempty" protobuf:"varint,3,opt,name=unavailableReplicas"`

	// Conditions represent the latest available observations of the component instance's state.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ComponentStatus defines the observed state of a Component.

func (*ComponentStatus) DeepCopy added in v0.2.0

func (in *ComponentStatus) DeepCopy() *ComponentStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatus.

func (*ComponentStatus) DeepCopyInto added in v0.2.0

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentType added in v0.2.0

type ComponentType string

ComponentType defines the type of component to deploy. +kubebuilder:validation:Enum=metacollector;falcosidekick;"falcosidekick-ui"

const (
	// ComponentTypeMetacollector represents the k8s-metacollector component.
	ComponentTypeMetacollector ComponentType = "metacollector"
	// ComponentTypeFalcosidekick represents the Falcosidekick fan-out daemon.
	ComponentTypeFalcosidekick ComponentType = "falcosidekick"
	// ComponentTypeFalcosidekickUI represents the Falcosidekick UI dashboard.
	ComponentTypeFalcosidekickUI ComponentType = "falcosidekick-ui"
)

type Falco

type Falco struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FalcoSpec   `json:"spec,omitempty"`
	Status FalcoStatus `json:"status,omitempty"`
}

Falco is the Schema for the falcos API.

func (*Falco) DeepCopy

func (in *Falco) DeepCopy() *Falco

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Falco.

func (*Falco) DeepCopyInto

func (in *Falco) DeepCopyInto(out *Falco)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Falco) DeepCopyObject

func (in *Falco) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FalcoList

type FalcoList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Falco `json:"items"`
}

FalcoList contains a list of Falco.

func (*FalcoList) DeepCopy

func (in *FalcoList) DeepCopy() *FalcoList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FalcoList.

func (*FalcoList) DeepCopyInto

func (in *FalcoList) DeepCopyInto(out *FalcoList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FalcoList) DeepCopyObject

func (in *FalcoList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FalcoSpec

type FalcoSpec struct {
	// Type specifies the type of Kubernetes resource to deploy Falco.
	// Allowed values: "DaemonSet" or "Deployment". Default value is DaemonSet.
	// +kubebuilder:validation:Enum=DaemonSet;Deployment
	// +optional
	Type *string `json:"type,omitempty"`

	// Replicas defines the number of replicas for the Deployment.
	// Required only when 'type' is "Deployment".
	// Default is 1.
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Version specifies the version of Falco to deploy.
	// - If specified, the operator will deploy the given version of Falco.
	//   Example: "0.39.2".
	// - If omitted, the operator will default to the latest upstream version of Falco
	//   available at the time the operator was released.
	// - The version string should match the format of Falco's official
	//   tags (https://github.com/falcosecurity/falco/releases), typically
	//   "major.minor.patch" (e.g., "0.39.2").
	// +optional
	Version *string `json:"version,omitempty"`

	// PodTemplateSpec contains the pod template specification for the Falco instance.
	// Users can customize metadata, initContainers, containers, volumes, tolerations, etc.
	// +optional
	PodTemplateSpec *corev1.PodTemplateSpec `json:"podTemplateSpec,omitempty"`

	// UpdateStrategy specifies the update strategy for the DaemonSet.
	// Only applicable when type is "DaemonSet".
	// +optional
	UpdateStrategy *appsv1.DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// Strategy specifies the deployment strategy for the Deployment.
	// Only applicable when type is "Deployment".
	// +optional
	Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty"`
}

FalcoSpec defines the desired state of Falco.

func (*FalcoSpec) DeepCopy

func (in *FalcoSpec) DeepCopy() *FalcoSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FalcoSpec.

func (*FalcoSpec) DeepCopyInto

func (in *FalcoSpec) DeepCopyInto(out *FalcoSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FalcoStatus

type FalcoStatus struct {
	// ResourceType is the resolved Kubernetes resource type (Deployment or DaemonSet).
	// +optional
	ResourceType string `json:"resourceType,omitempty"`
	// Version is the resolved version of Falco being deployed.
	// +optional
	Version string `json:"version,omitempty"`
	// Desired number of instances for the Falco deployment.
	// The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod).
	// +optional
	DesiredReplicas int32 `json:"desiredReplicas,omitempty" protobuf:"varint,1,opt,name=desiredReplicas"`
	// Total number of available pods (ready for at least minReadySeconds) targeted by the deployment.
	// Or the number of nodes that should be running the  daemon pod and have one or more of the daemon pod running and
	// available (ready for at least spec.minReadySeconds)
	// +optional
	AvailableReplicas int32 `json:"availableReplicas,omitempty" protobuf:"varint,11,opt,name=availableReplicas"`

	// Total number of unavailable pods targeted by falco deployment/daemonset. This is the total number of
	// pods that are still required for the deployment to have 100% available capacity or the number of nodes
	// that should be running the daemon pod and have none of the daemon pod running and available. They may
	// either be pods that are running but not yet available or pods that still have not been created.
	// +optional
	UnavailableReplicas int32 `json:"unavailableReplicas,omitempty" protobuf:"varint,5,opt,name=unavailableReplicas"`

	// Conditions represent the latest available observations of the Falco instance's state.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

FalcoStatus defines the observed state of Falco.

func (*FalcoStatus) DeepCopy

func (in *FalcoStatus) DeepCopy() *FalcoStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FalcoStatus.

func (*FalcoStatus) DeepCopyInto

func (in *FalcoStatus) DeepCopyInto(out *FalcoStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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