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
- Variables
- func SetupFilebeatIndexer(k8sManager manager.Manager) (err error)
- func SetupMetricbeatIndexer(k8sManager manager.Manager) (err error)
- type Filebeat
- type FilebeatDeploymentSpec
- type FilebeatList
- type FilebeatLogstashExternalRef
- type FilebeatLogstashManagedRef
- type FilebeatLogstashRef
- type FilebeatSpec
- type FilebeatStatus
- type Metricbeat
- type MetricbeatDeploymentSpec
- type MetricbeatList
- type MetricbeatPersistenceSpec
- type MetricbeatSpec
- type MetricbeatStatus
Constants ¶
const (
FilebeatAnnotationKey = "filebeat.k8s.webcenter.fr"
)
const (
MetricbeatAnnotationKey = "metricbeat.k8s.webcenter.fr"
)
Variables ¶
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 ¶
SetupIndexer setup indexer for Filebeat
func SetupMetricbeatIndexer ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filebeat.
func (*Filebeat) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Filebeat) DeepCopyObject ¶
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) IsPersistence ¶
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 ¶
func (in *FilebeatDeploymentSpec) DeepCopy() *FilebeatDeploymentSpec
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 ¶
func (in *FilebeatLogstashExternalRef) DeepCopy() *FilebeatLogstashExternalRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilebeatLogstashExternalRef.
func (*FilebeatLogstashExternalRef) DeepCopyInto ¶
func (in *FilebeatLogstashExternalRef) DeepCopyInto(out *FilebeatLogstashExternalRef)
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 ¶
func (in *FilebeatLogstashManagedRef) DeepCopy() *FilebeatLogstashManagedRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilebeatLogstashManagedRef.
func (*FilebeatLogstashManagedRef) DeepCopyInto ¶
func (in *FilebeatLogstashManagedRef) DeepCopyInto(out *FilebeatLogstashManagedRef)
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) 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 ¶
func (in *MetricbeatDeploymentSpec) DeepCopy() *MetricbeatDeploymentSpec
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 ¶
func (in *MetricbeatPersistenceSpec) DeepCopy() *MetricbeatPersistenceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricbeatPersistenceSpec.
func (*MetricbeatPersistenceSpec) DeepCopyInto ¶
func (in *MetricbeatPersistenceSpec) DeepCopyInto(out *MetricbeatPersistenceSpec)
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.