v1

package
v0.0.0-...-a5c132e Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2023 License: Apache-2.0 Imports: 6 Imported by: 12

Documentation

Overview

Package v1 contains API Schema definitions for the logging v1 API group +kubebuilder:object:generate=true +groupName=logging.openshift.io

Index

Constants

View Source
const (
	ServiceAccountName string = "elasticsearch"
	ConfigMapName      string = "elasticsearch"
	SecretName         string = "elasticsearch"
)
View Source
const (
	IndexManagementStatusReasonPassed           = "PassedValidation"
	IndexManagementStatusReasonUndefined        = "Undefined"
	IndexManagementStatusReasonValidationFailed = "OneOrMoreValidationsFailed"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "logging.openshift.io", 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

This section is empty.

Types

type ClusterCondition

type ClusterCondition struct {
	Type   ClusterConditionType   `json:"type"`
	Status corev1.ConditionStatus `json:"status"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
	// Human-readable message indicating details about last transition.
	Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}

func (*ClusterCondition) DeepCopy

func (in *ClusterCondition) DeepCopy() *ClusterCondition

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

func (*ClusterCondition) DeepCopyInto

func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)

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

type ClusterConditionType

type ClusterConditionType string

ClusterConditionType is a valid value for ClusterCondition.Type

const (
	UpdatingSettings         ClusterConditionType = "UpdatingSettings"
	ScalingUp                ClusterConditionType = "ScalingUp"
	ScalingDown              ClusterConditionType = "ScalingDown"
	Restarting               ClusterConditionType = "Restarting"
	Recovering               ClusterConditionType = "Recovering"
	UpdatingESSettings       ClusterConditionType = "UpdatingESSettings"
	InvalidMasters           ClusterConditionType = "InvalidMasters"
	InvalidData              ClusterConditionType = "InvalidData"
	InvalidRedundancy        ClusterConditionType = "InvalidRedundancy"
	InvalidUUID              ClusterConditionType = "InvalidUUID"
	ESContainerWaiting       ClusterConditionType = "ElasticsearchContainerWaiting"
	ESContainerTerminated    ClusterConditionType = "ElasticsearchContainerTerminated"
	ProxyContainerWaiting    ClusterConditionType = "ProxyContainerWaiting"
	ProxyContainerTerminated ClusterConditionType = "ProxyContainerTerminated"
	Unschedulable            ClusterConditionType = "Unschedulable"
	NodeStorage              ClusterConditionType = "NodeStorage"
	CustomImage              ClusterConditionType = "CustomImageIgnored"
	DegradedState            ClusterConditionType = "Degraded"
	StorageClassName         ClusterConditionType = "StorageClassNameChangeIgnored"
	StorageSize              ClusterConditionType = "StorageSizeChangeIgnored"
	StorageStructure         ClusterConditionType = "StorageStructureChangeIgnored"
)

type ClusterConditions

type ClusterConditions []ClusterCondition

func (ClusterConditions) DeepCopy

func (in ClusterConditions) DeepCopy() ClusterConditions

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

func (ClusterConditions) DeepCopyInto

func (in ClusterConditions) DeepCopyInto(out *ClusterConditions)

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

type ClusterHealth

type ClusterHealth struct {
	// The current Status of the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:io.kubernetes.phase"
	Status string `json:"status"`
	// The number of Nodes for the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Number of Nodes",xDescriptors="urn:alm:descriptor:text"
	NumNodes int32 `json:"numNodes"`
	// The number of Data Nodes for the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Number of Data Nodes",xDescriptors="urn:alm:descriptor:text"
	NumDataNodes int32 `json:"numDataNodes"`

	// The number of Active Primary Shards for the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text"
	ActivePrimaryShards int32 `json:"activePrimaryShards"`

	// The number of Active Shards for the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text"
	ActiveShards int32 `json:"activeShards"`
	// The number of Relocating Shards for the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text"
	RelocatingShards int32 `json:"relocatingShards"`
	// The number of Initializing Shards for the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text"
	InitializingShards int32 `json:"initializingShards"`
	// The number of Unassigned Shards for the Elasticsearch Cluster
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:text"
	UnassignedShards int32 `json:"unassignedShards"`
	PendingTasks     int32 `json:"pendingTasks"`
}

func (*ClusterHealth) DeepCopy

func (in *ClusterHealth) DeepCopy() *ClusterHealth

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

func (*ClusterHealth) DeepCopyInto

func (in *ClusterHealth) DeepCopyInto(out *ClusterHealth)

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

type Elasticsearch

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

	// Specification of the desired behavior of the Elasticsearch cluster
	Spec   ElasticsearchSpec   `json:"spec,omitempty"`
	Status ElasticsearchStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +kubebuilder:resource:categories=logging;tracing,shortName=es +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Management State",JSONPath=".spec.managementState",type=string +kubebuilder:printcolumn:name="Health",JSONPath=".status.cluster.status",type=string +kubebuilder:printcolumn:name="Nodes",JSONPath=".status.cluster.numNodes",type=integer +kubebuilder:printcolumn:name="Data Nodes",JSONPath=".status.cluster.numDataNodes",type=integer +kubebuilder:printcolumn:name="Shard Allocation",JSONPath=".status.shardAllocationEnabled",type=string +kubebuilder:printcolumn:name="Index Management",JSONPath=".status.indexManagement.State",type=string

An Elasticsearch cluster instance +operator-sdk:csv:customresourcedefinitions:displayName="Elasticsearch",resources={{Pod,v1},{Deployment,v1},{StatefulSet,v1},{ReplicaSet,v1},{ConfigMap,v1},{Service,v1},{Route,v1},{CronJob,v1},{PrometheusRule,v1},{Role,v1},{RoleBinding,v1},{ServiceAccount,v1},{ServiceMonitor,v1},{persistentvolumeclaims,v1}}

func (*Elasticsearch) AddOwnerRefTo

func (es *Elasticsearch) AddOwnerRefTo(o metav1.Object)

AddOwnerRefTo appends the Elasticsearch object as an OwnerReference to the passed object

func (*Elasticsearch) DeepCopy

func (in *Elasticsearch) DeepCopy() *Elasticsearch

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

func (*Elasticsearch) DeepCopyInto

func (in *Elasticsearch) DeepCopyInto(out *Elasticsearch)

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

func (*Elasticsearch) DeepCopyObject

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

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

func (*Elasticsearch) GetOwnerRef

func (es *Elasticsearch) GetOwnerRef() metav1.OwnerReference

type ElasticsearchList

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

+kubebuilder:object:root=true

ElasticsearchList contains a list of Elasticsearch

func (*ElasticsearchList) DeepCopy

func (in *ElasticsearchList) DeepCopy() *ElasticsearchList

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

func (*ElasticsearchList) DeepCopyInto

func (in *ElasticsearchList) DeepCopyInto(out *ElasticsearchList)

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

func (*ElasticsearchList) DeepCopyObject

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

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

type ElasticsearchNode

type ElasticsearchNode struct {
	// The specific Elasticsearch cluster roles the node should perform
	//
	// +optional
	Roles []ElasticsearchNodeRole `json:"roles"`

	// Number of nodes to deploy
	//
	// +optional
	NodeCount int32 `json:"nodeCount"`

	// The resource requirements for the Elasticsearch node
	//
	// +nullable
	// +optional
	Resources corev1.ResourceRequirements `json:"resources"`

	// Define which Nodes the Pods are scheduled on.
	NodeSelector map[string]string   `json:"nodeSelector,omitempty"`
	Tolerations  []corev1.Toleration `json:"tolerations,omitempty"`

	// The type of backing storage that should be used for the node
	//
	// +optional
	Storage ElasticsearchStorageSpec `json:"storage,omitempty"`

	// GenUUID will be populated by the operator if not provided
	//
	// +nullable
	GenUUID *string `json:"genUUID,omitempty"`

	// The resource requirements for the Elasticsearch proxy
	ProxyResources corev1.ResourceRequirements `json:"proxyResources,omitempty"`
}

ElasticsearchNode struct represents individual node in Elasticsearch cluster

func (*ElasticsearchNode) DeepCopy

func (in *ElasticsearchNode) DeepCopy() *ElasticsearchNode

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

func (*ElasticsearchNode) DeepCopyInto

func (in *ElasticsearchNode) DeepCopyInto(out *ElasticsearchNode)

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

type ElasticsearchNodeRole

type ElasticsearchNodeRole string

+kubebuilder:validation:Enum:=master;client;data

const (
	ElasticsearchRoleClient ElasticsearchNodeRole = "client"
	ElasticsearchRoleData   ElasticsearchNodeRole = "data"
	ElasticsearchRoleMaster ElasticsearchNodeRole = "master"
)

type ElasticsearchNodeSpec

type ElasticsearchNodeSpec struct {
	// The image to use for the Elasticsearch nodes
	//
	// +nullable
	// +optional
	Image string `json:"image,omitempty"`

	// The resource requirements for the Elasticsearch nodes
	//
	// +nullable
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements",xDescriptors="urn:alm:descriptor:com.tectonic.ui:resourceRequirements"
	Resources corev1.ResourceRequirements `json:"resources"`

	// Define which Nodes the Pods are scheduled on.
	//
	// +nullable
	NodeSelector map[string]string   `json:"nodeSelector,omitempty"`
	Tolerations  []corev1.Toleration `json:"tolerations,omitempty"`

	// The resource requirements for the Elasticsearch proxy
	//
	// +nullable
	// +optional
	ProxyResources corev1.ResourceRequirements `json:"proxyResources,omitempty"`
}

ElasticsearchNodeSpec represents configuration of an individual Elasticsearch node

func (*ElasticsearchNodeSpec) DeepCopy

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

func (*ElasticsearchNodeSpec) DeepCopyInto

func (in *ElasticsearchNodeSpec) DeepCopyInto(out *ElasticsearchNodeSpec)

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

type ElasticsearchNodeStatus

type ElasticsearchNodeStatus struct {
	// +optional
	DeploymentName string `json:"deploymentName,omitempty"`
	// +optional
	StatefulSetName string `json:"statefulSetName,omitempty"`
	// +optional
	Status string `json:"status,omitempty"`
	// +optional
	UpgradeStatus ElasticsearchNodeUpgradeStatus `json:"upgradeStatus,omitempty"`
	// +optional
	Roles []ElasticsearchNodeRole `json:"roles,omitempty"`
	// +optional
	Conditions ClusterConditions `json:"conditions,omitempty"`
}

ElasticsearchNodeStatus represents the status of individual Elasticsearch node

func (*ElasticsearchNodeStatus) DeepCopy

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

func (*ElasticsearchNodeStatus) DeepCopyInto

func (in *ElasticsearchNodeStatus) DeepCopyInto(out *ElasticsearchNodeStatus)

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

type ElasticsearchNodeUpgradeStatus

type ElasticsearchNodeUpgradeStatus struct {
	ScheduledForUpgrade      corev1.ConditionStatus    `json:"scheduledUpgrade,omitempty"`
	ScheduledForRedeploy     corev1.ConditionStatus    `json:"scheduledRedeploy,omitempty"`
	ScheduledForCertRedeploy corev1.ConditionStatus    `json:"scheduledCertRedeploy,omitempty"`
	UnderUpgrade             corev1.ConditionStatus    `json:"underUpgrade,omitempty"`
	UpgradePhase             ElasticsearchUpgradePhase `json:"upgradePhase,omitempty"`
}

func (*ElasticsearchNodeUpgradeStatus) DeepCopy

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

func (*ElasticsearchNodeUpgradeStatus) DeepCopyInto

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

type ElasticsearchSpec

type ElasticsearchSpec struct {

	// ManagementState indicates whether and how the operator should manage the component.
	// Indicator if the resource is 'Managed' or 'Unmanaged' by the operator.
	ManagementState ManagementState `json:"managementState"`

	// The policy towards data redundancy to specify the number of redundant primary shards
	RedundancyPolicy RedundancyPolicyType `json:"redundancyPolicy"`

	// Specification of the different Elasticsearch nodes
	//
	// +optional
	Nodes []ElasticsearchNode `json:"nodes"`

	// Default specification applied to all Elasticsearch nodes
	//
	// +optional
	Spec ElasticsearchNodeSpec `json:"nodeSpec"`

	// Management spec for indicies
	//
	// +nullable
	// +optional
	IndexManagement *IndexManagementSpec `json:"indexManagement"`
}

ElasticsearchSpec defines the desired state of Elasticsearch

func (*ElasticsearchSpec) DeepCopy

func (in *ElasticsearchSpec) DeepCopy() *ElasticsearchSpec

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

func (*ElasticsearchSpec) DeepCopyInto

func (in *ElasticsearchSpec) DeepCopyInto(out *ElasticsearchSpec)

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

type ElasticsearchStatus

type ElasticsearchStatus struct {
	// +nullable
	// +optional
	Nodes []ElasticsearchNodeStatus `json:"nodes,omitempty"`
	// +optional
	ClusterHealth string `json:"clusterHealth,omitempty"`
	// +optional
	Cluster ClusterHealth `json:"cluster,omitempty"`
	// +optional
	ShardAllocationEnabled ShardAllocationState `json:"shardAllocationEnabled,omitempty"`
	// +nullable
	// +optional
	Pods map[ElasticsearchNodeRole]PodStateMap `json:"pods,omitempty"`
	// +optional
	Conditions ClusterConditions `json:"conditions,omitempty"`
	// +optional
	IndexManagementStatus *IndexManagementStatus `json:"indexManagement,omitempty"`
}

ElasticsearchStatus defines the observed state of Elasticsearch +k8s:openapi-gen=true

func (*ElasticsearchStatus) DeepCopy

func (in *ElasticsearchStatus) DeepCopy() *ElasticsearchStatus

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

func (*ElasticsearchStatus) DeepCopyInto

func (in *ElasticsearchStatus) DeepCopyInto(out *ElasticsearchStatus)

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

type ElasticsearchStorageSpec

type ElasticsearchStorageSpec struct {
	// The name of the storage class to use with creating the node's PVC.
	// More info: https://kubernetes.io/docs/concepts/storage/storage-classes/
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty"`

	// The max storage capacity for the node to provision.
	Size *resource.Quantity `json:"size,omitempty"`
}

func (*ElasticsearchStorageSpec) DeepCopy

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

func (*ElasticsearchStorageSpec) DeepCopyInto

func (in *ElasticsearchStorageSpec) DeepCopyInto(out *ElasticsearchStorageSpec)

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

type ElasticsearchUpgradePhase

type ElasticsearchUpgradePhase string
const (
	NodeRestarting      ElasticsearchUpgradePhase = "nodeRestarting"
	RecoveringData      ElasticsearchUpgradePhase = "recoveringData"
	ControllerUpdated   ElasticsearchUpgradePhase = "controllerUpdated"
	PreparationComplete ElasticsearchUpgradePhase = "preparationComplete"
)

type IndexManagementActionSpec

type IndexManagementActionSpec struct {
	// The maximum age of an index before it should be rolled over (e.g. 7d)
	MaxAge TimeUnit `json:"maxAge"`
}

+k8s:openapi-gen=true

func (*IndexManagementActionSpec) DeepCopy

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

func (*IndexManagementActionSpec) DeepCopyInto

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

type IndexManagementActionsSpec

type IndexManagementActionsSpec struct {
	// +nullable
	// +optional
	Rollover *IndexManagementActionSpec `json:"rollover"`
}

+k8s:openapi-gen=true

func (*IndexManagementActionsSpec) DeepCopy

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

func (*IndexManagementActionsSpec) DeepCopyInto

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

type IndexManagementDeleteNamespaceSpec

type IndexManagementDeleteNamespaceSpec struct {
	// Target Namespace to delete logs older than MinAge (defaults to 7d)
	// Can be one namespace name or a prefix (e.g., "openshift-" covers all namespaces with this prefix)
	Namespace string `json:"namespace"`

	// Delete the records matching the namespaces which are older than this MinAge (e.g. 1d)
	// +optional
	MinAge TimeUnit `json:"minAge,omitempty"`
}

func (*IndexManagementDeleteNamespaceSpec) DeepCopy

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

func (*IndexManagementDeleteNamespaceSpec) DeepCopyInto

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

type IndexManagementDeletePhaseSpec

type IndexManagementDeletePhaseSpec struct {
	// The minimum age of an index before it should be deleted (e.g. 10d)
	MinAge TimeUnit `json:"minAge"`

	// The threshold percentage of ES disk usage that when reached, old indices should be deleted (e.g. 75)
	// +optional
	DiskThresholdPercent int64 `json:"diskThresholdPercent,omitempty"`

	// How often to run a new prune-namespaces job
	// +optional
	PruneNamespacesInterval TimeUnit `json:"pruneNamespacesInterval,omitempty"`

	// The per namespace specification to delete documents older than a given minimum age
	// +optional
	Namespaces []IndexManagementDeleteNamespaceSpec `json:"namespaceSpec,omitempty"`
}

+k8s:openapi-gen=true

func (*IndexManagementDeletePhaseSpec) DeepCopy

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

func (*IndexManagementDeletePhaseSpec) DeepCopyInto

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

type IndexManagementHotPhaseSpec

type IndexManagementHotPhaseSpec struct {
	// +optional
	Actions IndexManagementActionsSpec `json:"actions"`
}

+k8s:openapi-gen=true

func (*IndexManagementHotPhaseSpec) DeepCopy

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

func (*IndexManagementHotPhaseSpec) DeepCopyInto

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

type IndexManagementMappingCondition

type IndexManagementMappingCondition struct {
	Type    IndexManagementMappingConditionType   `json:"type,omitempty"`
	Reason  IndexManagementMappingConditionReason `json:"reason,omitempty"`
	Status  corev1.ConditionStatus                `json:"status,omitempty"`
	Message string                                `json:"message,omitempty"`
}

func (*IndexManagementMappingCondition) DeepCopy

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

func (*IndexManagementMappingCondition) DeepCopyInto

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

type IndexManagementMappingConditionReason

type IndexManagementMappingConditionReason string
const (
	IndexManagementMappingReasonMissing   IndexManagementMappingConditionReason = "Missing"
	IndexManagementMappingReasonNonUnique IndexManagementMappingConditionReason = "NonUnique"
)

type IndexManagementMappingConditionType

type IndexManagementMappingConditionType string
const (
	IndexManagementMappingConditionTypeName      IndexManagementMappingConditionType = "Name"
	IndexManagementMappingConditionTypePolicyRef IndexManagementMappingConditionType = "PolicyRef"
)

type IndexManagementMappingReason

type IndexManagementMappingReason string
const (
	IndexManagementMappingReasonConditionsMet    IndexManagementMappingReason = "ConditionsMet"
	IndexManagementMappingReasonConditionsNotMet IndexManagementMappingReason = "ConditionsNotMet"
)

type IndexManagementMappingState

type IndexManagementMappingState string
const (
	// IndexManagementMappingStateAccepted passes validations
	IndexManagementMappingStateAccepted IndexManagementMappingState = "Accepted"

	// IndexManagementMappingStateDropped fails validations
	IndexManagementMappingStateDropped IndexManagementMappingState = "Dropped"
)

type IndexManagementMappingStatus

type IndexManagementMappingStatus struct {
	// Name of the corresponding mapping for this status
	Name string `json:"name,omitempty"`

	// State of the corresponding mapping for this status
	State IndexManagementMappingState `json:"state,omitempty"`

	Reason IndexManagementMappingReason `json:"reason,omitempty"`

	Message string `json:"message,omitempty"`

	// Reasons for the state of the corresponding mapping for this status
	Conditions []IndexManagementMappingCondition `json:"conditions,omitempty"`

	// LastUpdated represents the last time that the status was updated.
	LastUpdated metav1.Time `json:"lastUpdated,omitempty"`
}

func NewIndexManagementMappingStatus

func NewIndexManagementMappingStatus(name string) *IndexManagementMappingStatus

func (*IndexManagementMappingStatus) AddPolicyMappingCondition

func (status *IndexManagementMappingStatus) AddPolicyMappingCondition(conditionType IndexManagementMappingConditionType, reason IndexManagementMappingConditionReason, message string)

func (*IndexManagementMappingStatus) DeepCopy

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

func (*IndexManagementMappingStatus) DeepCopyInto

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

type IndexManagementPhasesSpec

type IndexManagementPhasesSpec struct {
	// +nullable
	Hot *IndexManagementHotPhaseSpec `json:"hot,omitempty"`
	// +nullable
	Delete *IndexManagementDeletePhaseSpec `json:"delete,omitempty"`
}

+k8s:openapi-gen=true

func (*IndexManagementPhasesSpec) DeepCopy

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

func (*IndexManagementPhasesSpec) DeepCopyInto

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

type IndexManagementPolicyCondition

type IndexManagementPolicyCondition struct {
	Type    IndexManagementPolicyConditionType   `json:"type,omitempty"`
	Reason  IndexManagementPolicyConditionReason `json:"reason,omitempty"`
	Status  corev1.ConditionStatus               `json:"status,omitempty"`
	Message string                               `json:"message,omitempty"`
}

func (*IndexManagementPolicyCondition) DeepCopy

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

func (*IndexManagementPolicyCondition) DeepCopyInto

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

type IndexManagementPolicyConditionReason

type IndexManagementPolicyConditionReason string
const (
	IndexManagementPolicyReasonMalformed IndexManagementPolicyConditionReason = "MalFormed"
	IndexManagementPolicyReasonMissing   IndexManagementPolicyConditionReason = "Missing"
	IndexManagementPolicyReasonNonUnique IndexManagementPolicyConditionReason = "NonUnique"
)

type IndexManagementPolicyConditionType

type IndexManagementPolicyConditionType string
const (
	IndexManagementPolicyConditionTypeName         IndexManagementPolicyConditionType = "Name"
	IndexManagementPolicyConditionTypePollInterval IndexManagementPolicyConditionType = "PollInterval"
	IndexManagementPolicyConditionTypeTimeUnit     IndexManagementPolicyConditionType = "TimeUnit"
)

type IndexManagementPolicyMappingSpec

type IndexManagementPolicyMappingSpec struct {
	// The unique name of the policy mapping
	//
	// +optional
	Name string `json:"name"`

	// A reference to a defined policy
	// +optional
	PolicyRef string `json:"policyRef"`

	// Aliases to apply to a template
	Aliases []string `json:"aliases,omitempty"`
}

IndexManagementPolicyMappingSpec maps a management policy to an index +k8s:openapi-gen=true

func (*IndexManagementPolicyMappingSpec) DeepCopy

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

func (*IndexManagementPolicyMappingSpec) DeepCopyInto

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

type IndexManagementPolicyReason

type IndexManagementPolicyReason string
const (
	IndexManagementPolicyReasonConditionsMet    IndexManagementPolicyReason = "ConditionsMet"
	IndexManagementPolicyReasonConditionsNotMet IndexManagementPolicyReason = "ConditionsNotMet"
)

type IndexManagementPolicySpec

type IndexManagementPolicySpec struct {
	// The unique name of the policy
	Name string `json:"name"`

	// How often to check an index meets the desired criteria (e.g. 1m)
	PollInterval TimeUnit `json:"pollInterval"`

	Phases IndexManagementPhasesSpec `json:"phases"`
}

IndexManagementPolicySpec is a definition of an index management policy +k8s:openapi-gen=true

func (*IndexManagementPolicySpec) DeepCopy

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

func (*IndexManagementPolicySpec) DeepCopyInto

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

type IndexManagementPolicyState

type IndexManagementPolicyState string
const (
	// IndexManagementPolicyStateAccepted passes validations
	IndexManagementPolicyStateAccepted IndexManagementPolicyState = "Accepted"

	// IndexManagementPolicyStateDropped fails validations
	IndexManagementPolicyStateDropped IndexManagementPolicyState = "Dropped"
)

type IndexManagementPolicyStatus

type IndexManagementPolicyStatus struct {
	// Name of the corresponding policy for this status
	Name string `json:"name,omitempty"`

	// State of the corresponding policy for this status
	State IndexManagementPolicyState `json:"state,omitempty"`

	// Reasons for the state of the corresponding policy for this status
	Reason IndexManagementPolicyReason `json:"reason,omitempty"`

	// Message about the corresponding policy
	Message string `json:"message,omitempty"`

	// Reasons for the state of the corresponding policy for this status
	Conditions []IndexManagementPolicyCondition `json:"conditions,omitempty"`

	// LastUpdated represents the last time that the status was updated.
	LastUpdated metav1.Time `json:"lastUpdated,omitempty"`
}

func NewIndexManagementPolicyStatus

func NewIndexManagementPolicyStatus(name string) *IndexManagementPolicyStatus

func (*IndexManagementPolicyStatus) AddPolicyCondition

func (status *IndexManagementPolicyStatus) AddPolicyCondition(conditionType IndexManagementPolicyConditionType, reason IndexManagementPolicyConditionReason, message string)

func (*IndexManagementPolicyStatus) DeepCopy

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

func (*IndexManagementPolicyStatus) DeepCopyInto

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

type IndexManagementSpec

type IndexManagementSpec struct {
	// A list of polices for managing an indices
	//
	// +optional
	Policies []IndexManagementPolicySpec `json:"policies"`

	// Mappings of policies to indicies
	//
	// +optional
	Mappings []IndexManagementPolicyMappingSpec `json:"mappings"`
}

IndexManagementSpec specifies index management for an Elasticsearch cluster +k8s:openapi-gen=true

func (*IndexManagementSpec) DeepCopy

func (in *IndexManagementSpec) DeepCopy() *IndexManagementSpec

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

func (*IndexManagementSpec) DeepCopyInto

func (in *IndexManagementSpec) DeepCopyInto(out *IndexManagementSpec)

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

func (*IndexManagementSpec) PolicyMap

func (spec *IndexManagementSpec) PolicyMap() PolicyMap

type IndexManagementState

type IndexManagementState string

IndexManagementState of IndexManagment

const (
	// IndexManagementStateAccepted when polices and mappings are well defined and pass validations
	IndexManagementStateAccepted IndexManagementState = "Accepted"

	// IndexManagementStateDegraded some polices and mappings have failed validations
	IndexManagementStateDegraded IndexManagementState = "Degraded"

	// IndexManagementStateDropped when IndexManagement is not defined or there are no valid polices and mappings
	IndexManagementStateDropped IndexManagementState = "Dropped"
)

type IndexManagementStatus

type IndexManagementStatus struct {
	State       IndexManagementState           `json:"state,omitempty"`
	Reason      IndexManagementStatusReason    `json:"reason,omitempty"`
	Message     string                         `json:"message,omitempty"`
	LastUpdated metav1.Time                    `json:"lastUpdated,omitempty"`
	Policies    []IndexManagementPolicyStatus  `json:"policies,omitempty"`
	Mappings    []IndexManagementMappingStatus `json:"mappings,omitempty"`
}

+k8s:openapi-gen=true

func NewIndexManagementStatus

func NewIndexManagementStatus() *IndexManagementStatus

func (*IndexManagementStatus) DeepCopy

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

func (*IndexManagementStatus) DeepCopyInto

func (in *IndexManagementStatus) DeepCopyInto(out *IndexManagementStatus)

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

type IndexManagementStatusReason

type IndexManagementStatusReason string

type Kibana

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

	Spec KibanaSpec `json:"spec,omitempty"`

	Status []KibanaStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +kubebuilder:resource:path=kibanas,categories=logging,scope=Namespaced +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Management State",JSONPath=".spec.managementState",type=string +kubebuilder:printcolumn:name="Replicas",JSONPath=".spec.replicas",type=integer Kibana instance +operator-sdk:csv:customresourcedefinitions:displayName="Kibana",resources={{Deployment,v1},{ConsoleExternalLogLink,v1},{ConsoleLink,v1},{ConfigMap,v1},{Role,v1},{RoleBinding,v1},{Route,v1},{Service,v1},{ServiceAccount,v1}}

func (*Kibana) DeepCopy

func (in *Kibana) DeepCopy() *Kibana

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

func (*Kibana) DeepCopyInto

func (in *Kibana) DeepCopyInto(out *Kibana)

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

func (*Kibana) DeepCopyObject

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

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

type KibanaList

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

KibanaList contains a list of Kibana

func (*KibanaList) DeepCopy

func (in *KibanaList) DeepCopy() *KibanaList

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

func (*KibanaList) DeepCopyInto

func (in *KibanaList) DeepCopyInto(out *KibanaList)

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

func (*KibanaList) DeepCopyObject

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

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

type KibanaSpec

type KibanaSpec struct {
	// Indicator if the resource is 'Managed' or 'Unmanaged' by the operator
	//
	ManagementState ManagementState `json:"managementState"`

	// The resource requirements for the Kibana nodes
	//
	// +nullable
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Kibana Resource Requirements"
	Resources *corev1.ResourceRequirements `json:"resources"`

	// The node selector to use for the Kibana Visualization component
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Kibana Node Selector",xDescriptors="urn:alm:descriptor:com.tectonic.ui:nodeSelector"
	NodeSelector map[string]string   `json:"nodeSelector,omitempty"`
	Tolerations  []corev1.Toleration `json:"tolerations,omitempty"`

	// The desired number of Kibana Pods for the Visualization component
	//
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Kibana Size",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podCount"
	Replicas int32 `json:"replicas"`

	// Specification of the Kibana Proxy component
	//
	// +optional
	ProxySpec `json:"proxy,omitempty"`
}

Specification of the desired behavior of the Kibana

+k8s:openapi-gen=true

func (*KibanaSpec) DeepCopy

func (in *KibanaSpec) DeepCopy() *KibanaSpec

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

func (*KibanaSpec) DeepCopyInto

func (in *KibanaSpec) DeepCopyInto(out *KibanaSpec)

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

type KibanaStatus

type KibanaStatus struct {
	// +optional
	Replicas int32 `json:"replicas"`
	// +optional
	Deployment string `json:"deployment"`
	// +optional
	ReplicaSets []string `json:"replicaSets,omitempty"`
	// The status for each of the Kibana pods for the Visualization component
	// +optional
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Kibana Status",xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses"
	Pods PodStateMap `json:"pods,omitempty"`
	// +optional
	Conditions map[string]ClusterConditions `json:"clusterCondition,omitempty"`
}

KibanaStatus defines the observed state of Kibana +k8s:openapi-gen=true

func (*KibanaStatus) DeepCopy

func (in *KibanaStatus) DeepCopy() *KibanaStatus

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

func (*KibanaStatus) DeepCopyInto

func (in *KibanaStatus) DeepCopyInto(out *KibanaStatus)

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

type ManagementState

type ManagementState string

Managed means that the operator is actively managing its resources and trying to keep the component active. It will only upgrade the component if it is safe to do so Unmanaged means that the operator will not take any action related to the component

+kubebuilder:validation:Enum:=Managed;Unmanaged

const (
	ManagementStateManaged   ManagementState = "Managed"
	ManagementStateUnmanaged ManagementState = "Unmanaged"
)

type PodStateMap

type PodStateMap map[PodStateType][]string

func (PodStateMap) DeepCopy

func (in PodStateMap) DeepCopy() PodStateMap

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

func (PodStateMap) DeepCopyInto

func (in PodStateMap) DeepCopyInto(out *PodStateMap)

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

type PodStateType

type PodStateType string
const (
	PodStateTypeReady    PodStateType = "ready"
	PodStateTypeNotReady PodStateType = "notReady"
	PodStateTypeFailed   PodStateType = "failed"
)

type PolicyMap

type PolicyMap map[string]IndexManagementPolicySpec

func (PolicyMap) DeepCopy

func (in PolicyMap) DeepCopy() PolicyMap

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

func (PolicyMap) DeepCopyInto

func (in PolicyMap) DeepCopyInto(out *PolicyMap)

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

func (*PolicyMap) HasPolicy

func (policyMap *PolicyMap) HasPolicy(name string) bool

type ProxySpec

type ProxySpec struct {
	// The resource requirements for Kibana proxy
	//
	// +nullable
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources"`
}

func (*ProxySpec) DeepCopy

func (in *ProxySpec) DeepCopy() *ProxySpec

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

func (*ProxySpec) DeepCopyInto

func (in *ProxySpec) DeepCopyInto(out *ProxySpec)

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

type RedundancyPolicyType

type RedundancyPolicyType string

The policy towards data redundancy to specify the number of redundant primary shards

+kubebuilder:validation:Enum=FullRedundancy;MultipleRedundancy;SingleRedundancy;ZeroRedundancy

const (
	// FullRedundancy - each index is fully replicated on every Data node in the cluster
	FullRedundancy RedundancyPolicyType = "FullRedundancy"
	// MultipleRedundancy - each index is spread over half of the Data nodes
	MultipleRedundancy RedundancyPolicyType = "MultipleRedundancy"
	// SingleRedundancy - one replica shard
	SingleRedundancy RedundancyPolicyType = "SingleRedundancy"
	// ZeroRedundancy - no replica shards
	ZeroRedundancy RedundancyPolicyType = "ZeroRedundancy"
)

type ShardAllocationState

type ShardAllocationState string
const (
	ShardAllocationAll       ShardAllocationState = "all"
	ShardAllocationNone      ShardAllocationState = "none"
	ShardAllocationPrimaries ShardAllocationState = "primaries"
	ShardAllocationUnknown   ShardAllocationState = "shard allocation unknown"
)

type TimeUnit

type TimeUnit string

TimeUnit is a time unit like h,m,d

+kubebuilder:validation:Pattern:="^([0-9]+)([wdhHms]{0,1})$"

Jump to

Keyboard shortcuts

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