v1

package
v0.0.0-...-31fc70c Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the beat v1 API group +kubebuilder:object:generate=true +groupName=beat.k8s.webcenter.fr

Index

Constants

View Source
const (
	FilebeatAnnotationKey = "filebeat.k8s.webcenter.fr"
)
View Source
const (
	MetricbeatAnnotationKey = "metricbeat.k8s.webcenter.fr"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "beat.k8s.webcenter.fr", Version: "v1"}

	// 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

func SetupFilebeatIndexer

func SetupFilebeatIndexer(k8sManager manager.Manager) (err error)

SetupIndexer setup indexer for Filebeat

func SetupMetricbeatIndexer

func SetupMetricbeatIndexer(k8sManager manager.Manager) (err error)

SetupIndexer setup indexer for Metricbeat

Types

type Filebeat

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

	Spec   FilebeatSpec   `json:"spec,omitempty"`
	Status FilebeatStatus `json:"status,omitempty"`
}

Filebeat is the Schema for the filebeats API +operator-sdk:csv:customresourcedefinitions:resources={{Ingress,networking.k8s.io/v1},{ConfigMap,v1},{Service,v1},{Secret,v1},{StatefulSet,apps/v1},{NetworkPolicy,networking.k8s.io/v1},{PodDisruptionBudget,policy/v1}} +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="Phase" +kubebuilder:printcolumn:name="Error",type="boolean",JSONPath=".status.isOnError",description="Is on error" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status",description="health" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Filebeat) DeepCopy

func (in *Filebeat) DeepCopy() *Filebeat

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

func (*Filebeat) DeepCopyInto

func (in *Filebeat) DeepCopyInto(out *Filebeat)

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

func (*Filebeat) DeepCopyObject

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

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

func (*Filebeat) GetStatus

func (h *Filebeat) GetStatus() object.MultiPhaseObjectStatus

GetStatus implement the object.MultiPhaseObject

func (*Filebeat) IsPdb

func (h *Filebeat) IsPdb() bool

IsPdb return true if PDB is enabled

func (*Filebeat) IsPersistence

func (h *Filebeat) IsPersistence() bool

IsPersistence return true if persistence is enabled

type FilebeatDeploymentSpec

type FilebeatDeploymentSpec struct {
	shared.Deployment `json:",inline"`

	// AntiAffinity permit to set anti affinity policy
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	AntiAffinity *shared.DeploymentAntiAffinitySpec `json:"antiAffinity,omitempty"`

	// PodDisruptionBudget is the pod disruption budget policy
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PodDisruptionBudgetSpec *policyv1.PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// InitContainerResources permit to set resources on init containers
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	InitContainerResources *corev1.ResourceRequirements `json:"initContainerResources,omitempty"`

	// AdditionalVolumes permit to use additionnal volumes
	// Default is empty
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	AdditionalVolumes []shared.DeploymentVolumeSpec `json:"additionalVolumes,omitempty"`

	// Persistence is the spec to persist data
	// Default is emptyDir
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Persistence *shared.DeploymentPersistenceSpec `json:"persistence,omitempty"`

	// Ports is the list of container port to affect on filebeat container
	// It can be usefull to expose syslog input
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Ports []corev1.ContainerPort `json:"ports,omitempty"`
}

func (*FilebeatDeploymentSpec) DeepCopy

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

func (*FilebeatDeploymentSpec) DeepCopyInto

func (in *FilebeatDeploymentSpec) DeepCopyInto(out *FilebeatDeploymentSpec)

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

type FilebeatList

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

FilebeatList contains a list of Filebeat

func (*FilebeatList) DeepCopy

func (in *FilebeatList) DeepCopy() *FilebeatList

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

func (*FilebeatList) DeepCopyInto

func (in *FilebeatList) DeepCopyInto(out *FilebeatList)

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

func (*FilebeatList) DeepCopyObject

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

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

type FilebeatLogstashExternalRef

type FilebeatLogstashExternalRef struct {

	// Addresses is the list of Logstash addresses
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Addresses []string `json:"addresses"`
}

func (*FilebeatLogstashExternalRef) DeepCopy

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

func (*FilebeatLogstashExternalRef) DeepCopyInto

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

type FilebeatLogstashManagedRef

type FilebeatLogstashManagedRef struct {

	// Name is the Logstash cluster deployed by operator
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Name string `json:"name"`

	// Namespace is the namespace where Logstash is deployed by operator
	// No need to set if is deployed on the same namespace
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// TargetService is the target service that expose the beat protocole
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	TargetService string `json:"targetService,omitempty"`

	// Port is the port number to connect on service
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Port int64 `json:"port"`
}

func (*FilebeatLogstashManagedRef) DeepCopy

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

func (*FilebeatLogstashManagedRef) DeepCopyInto

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

type FilebeatLogstashRef

type FilebeatLogstashRef struct {

	// ManagedLogstashRef is the managed Logstash instance by operator
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ManagedLogstashRef *FilebeatLogstashManagedRef `json:"managed,omitempty"`

	// ExternalLogstahsRef is the external Logstash instance not managed by operator
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ExternalLogstashRef *FilebeatLogstashExternalRef `json:"external,omitempty"`

	// LogstashCaSecretRef is the secret that store your custom CA certificates to connect on Logstash via beat protocole.
	// It will add all entry that finish by *.crt or *.pem
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LogstashCaSecretRef *corev1.LocalObjectReference `json:"logstashCASecretRef,omitempty"`
}

func (*FilebeatLogstashRef) DeepCopy

func (in *FilebeatLogstashRef) DeepCopy() *FilebeatLogstashRef

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

func (*FilebeatLogstashRef) DeepCopyInto

func (in *FilebeatLogstashRef) DeepCopyInto(out *FilebeatLogstashRef)

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

func (FilebeatLogstashRef) IsExternal

func (h FilebeatLogstashRef) IsExternal() bool

IsExternal permit to know if Logstash is external (not managed by operator)

func (FilebeatLogstashRef) IsManaged

func (h FilebeatLogstashRef) IsManaged() bool

IsManaged permit to know if Logstash is managed by operator

type FilebeatSpec

type FilebeatSpec struct {
	shared.ImageSpec `json:",inline"`

	// ElasticsearchRef is the Elasticsearch ref to connect on.
	// It will generate Elasticsearch output bas eon it
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	ElasticsearchRef shared.ElasticsearchRef `json:"elasticsearchRef,omitempty"`

	// LogstashRef is the Logstash ref to connect on.
	// It will generate Logstash output base on it
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	LogstashRef FilebeatLogstashRef `json:"logstashRef,omitempty"`

	// Version is the Filebeat version to use
	// Default is use the latest
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	// +kubebuilder:default=latest
	Version string `json:"version,omitempty"`

	// Config is the Filebeat config
	// The key is the file stored on filebeat
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config map[string]string `json:"config,omitempty"`

	// Module is the module specification
	// The key is the file stored on filebeat/modules.d
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Module map[string]string `json:"module,omitempty"`

	// Deployment permit to set the deployment settings
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Deployment FilebeatDeploymentSpec `json:"deployment,omitempty"`

	// Monitoring permit to monitor current cluster
	// Default, it not monitor cluster
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Monitoring shared.MonitoringSpec `json:"monitoring,omitempty"`

	// Ingresses permit to declare some ingresses
	// The name is decorated with cluster name and so on
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Ingresses []shared.Ingress `json:"ingresses,omitempty"`

	// Services permit to declare some services
	// The name is decorated with cluster name and so on
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Services []shared.Service `json:"services,omitempty"`
}

FilebeatSpec defines the desired state of Filebeat +k8s:openapi-gen=true

func (*FilebeatSpec) DeepCopy

func (in *FilebeatSpec) DeepCopy() *FilebeatSpec

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

func (*FilebeatSpec) DeepCopyInto

func (in *FilebeatSpec) DeepCopyInto(out *FilebeatSpec)

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

type FilebeatStatus

type FilebeatStatus struct {
	apis.BasicMultiPhaseObjectStatus `json:",inline"`
}

FilebeatStatus defines the observed state of Filebeat

func (*FilebeatStatus) DeepCopy

func (in *FilebeatStatus) DeepCopy() *FilebeatStatus

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

func (*FilebeatStatus) DeepCopyInto

func (in *FilebeatStatus) DeepCopyInto(out *FilebeatStatus)

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

type Metricbeat

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

	Spec   MetricbeatSpec   `json:"spec,omitempty"`
	Status MetricbeatStatus `json:"status,omitempty"`
}

Metricbeat is the Schema for the metricbeats API +operator-sdk:csv:customresourcedefinitions:resources={{Ingress,networking.k8s.io/v1},{ConfigMap,v1},{Service,v1},{Secret,v1},{StatefulSet,apps/v1},{NetworkPolicy,networking.k8s.io/v1},{PodDisruptionBudget,policy/v1}} +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="Phase" +kubebuilder:printcolumn:name="Error",type="boolean",JSONPath=".status.isOnError",description="Is on error" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status",description="health" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Metricbeat) DeepCopy

func (in *Metricbeat) DeepCopy() *Metricbeat

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

func (*Metricbeat) DeepCopyInto

func (in *Metricbeat) DeepCopyInto(out *Metricbeat)

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

func (*Metricbeat) DeepCopyObject

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

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

func (*Metricbeat) GetStatus

func (h *Metricbeat) GetStatus() object.MultiPhaseObjectStatus

GetStatus implement the object.MultiPhaseObject

func (*Metricbeat) IsPdb

func (h *Metricbeat) IsPdb() bool

IsPdb return true if PDB is enabled

func (*Metricbeat) IsPersistence

func (h *Metricbeat) IsPersistence() bool

IsPersistence return true if persistence is enabled

type MetricbeatDeploymentSpec

type MetricbeatDeploymentSpec struct {
	shared.Deployment `json:",inline"`

	// AntiAffinity permit to set anti affinity policy
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	AntiAffinity *shared.DeploymentAntiAffinitySpec `json:"antiAffinity,omitempty"`

	// PodDisruptionBudget is the pod disruption budget policy
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	PodDisruptionBudgetSpec *policyv1.PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// InitContainerResources permit to set resources on init containers
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	InitContainerResources *corev1.ResourceRequirements `json:"initContainerResources,omitempty"`

	// AdditionalVolumes permit to use additionnal volumes
	// Default is empty
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	AdditionalVolumes []shared.DeploymentVolumeSpec `json:"additionalVolumes,omitempty"`

	// Persistence is the spec to persist data
	// Default is emptyDir
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Persistence *shared.DeploymentPersistenceSpec `json:"persistence,omitempty"`
}

func (*MetricbeatDeploymentSpec) DeepCopy

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

func (*MetricbeatDeploymentSpec) DeepCopyInto

func (in *MetricbeatDeploymentSpec) DeepCopyInto(out *MetricbeatDeploymentSpec)

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

type MetricbeatList

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

MetricbeatList contains a list of Metricbeat

func (*MetricbeatList) DeepCopy

func (in *MetricbeatList) DeepCopy() *MetricbeatList

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

func (*MetricbeatList) DeepCopyInto

func (in *MetricbeatList) DeepCopyInto(out *MetricbeatList)

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

func (*MetricbeatList) DeepCopyObject

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

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

type MetricbeatPersistenceSpec

type MetricbeatPersistenceSpec struct {
	// VolumeClaim is the persistent volume claim spec use by statefullset
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	VolumeClaimSpec *corev1.PersistentVolumeClaimSpec `json:"volumeClaim,omitempty"`

	// Volume is the volume source to use instead volumeClaim
	// It usefull if you should to use hostPath
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Volume *corev1.VolumeSource `json:"volume,omitempty"`
}

func (*MetricbeatPersistenceSpec) DeepCopy

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

func (*MetricbeatPersistenceSpec) DeepCopyInto

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

type MetricbeatSpec

type MetricbeatSpec struct {
	shared.ImageSpec `json:",inline"`

	// ElasticsearchRef is the Elasticsearch ref to connect on.
	// It will generate Elasticsearch output bas on it
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	ElasticsearchRef shared.ElasticsearchRef `json:"elasticsearchRef"`

	// Version is the Metricbeat version to use
	// Default is use the latest
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	// +kubebuilder:default=latest
	Version string `json:"version,omitempty"`

	// Config is the Metricbeat config
	// The key is the file stored on metricbeat
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Config map[string]string `json:"config,omitempty"`

	// Module is the module specification
	// The key is the file stored on metricbeat/modules.d
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Module map[string]string `json:"module,omitempty"`

	// Deployment permit to set the deployment settings
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	Deployment MetricbeatDeploymentSpec `json:"deployment"`
}

MetricbeatSpec defines the desired state of Metricbeat

func (*MetricbeatSpec) DeepCopy

func (in *MetricbeatSpec) DeepCopy() *MetricbeatSpec

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

func (*MetricbeatSpec) DeepCopyInto

func (in *MetricbeatSpec) DeepCopyInto(out *MetricbeatSpec)

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

type MetricbeatStatus

type MetricbeatStatus struct {
	apis.BasicMultiPhaseObjectStatus `json:",inline"`
}

MetricbeatStatus defines the observed state of Metricbeat

func (*MetricbeatStatus) DeepCopy

func (in *MetricbeatStatus) DeepCopy() *MetricbeatStatus

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

func (*MetricbeatStatus) DeepCopyInto

func (in *MetricbeatStatus) DeepCopyInto(out *MetricbeatStatus)

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