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 ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶ added in v0.2.0
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
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"`
// +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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Falco.
func (*Falco) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Falco) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FalcoList.
func (*FalcoList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FalcoList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FalcoSpec.
func (*FalcoSpec) DeepCopyInto ¶
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"`
// 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.