v1alpha1

package
v0.28.2 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group. +kubebuilder:object:generate=true +groupName=core.humio.com

Index

Constants

View Source
const (
	// HumioActionStateUnknown is the Unknown state of the action
	HumioActionStateUnknown = "Unknown"
	// HumioActionStateExists is the Exists state of the action
	HumioActionStateExists = "Exists"
	// HumioActionStateNotFound is the NotFound state of the action
	HumioActionStateNotFound = "NotFound"
	// HumioActionStateConfigError is the state of the action when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioActionStateConfigError = "ConfigError"
)
View Source
const (
	// HumioAggregateAlertStateUnknown is the Unknown state of the aggregate alert
	HumioAggregateAlertStateUnknown = "Unknown"
	// HumioAggregateAlertStateExists is the Exists state of the aggregate alert
	HumioAggregateAlertStateExists = "Exists"
	// HumioAggregateAlertStateNotFound is the NotFound state of the aggregate alert
	HumioAggregateAlertStateNotFound = "NotFound"
	// HumioAggregateAlertStateConfigError is the state of the aggregate alert when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioAggregateAlertStateConfigError = "ConfigError"
)
View Source
const (
	// HumioAlertStateUnknown is the Unknown state of the alert
	HumioAlertStateUnknown = "Unknown"
	// HumioAlertStateExists is the Exists state of the alert
	HumioAlertStateExists = "Exists"
	// HumioAlertStateNotFound is the NotFound state of the alert
	HumioAlertStateNotFound = "NotFound"
	// HumioAlertStateConfigError is the state of the alert when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioAlertStateConfigError = "ConfigError"
)
View Source
const (
	// HumioBootstrapTokenStateNotReady is the NotReady state of the bootstrap token
	HumioBootstrapTokenStateNotReady = "NotReady"
	// HumioBootstrapTokenStateReady is the Ready state of the bootstrap token
	HumioBootstrapTokenStateReady = "Ready"
)
View Source
const (
	// HumioClusterStateRunning is the Running state of the cluster
	HumioClusterStateRunning = "Running"
	// HumioClusterStateRestarting is the state of the cluster when Humio pods are being restarted
	HumioClusterStateRestarting = "Restarting"
	// HumioClusterStateUpgrading is the state of the cluster when Humio pods are being upgraded
	HumioClusterStateUpgrading = "Upgrading"
	// HumioClusterStateConfigError is the state of the cluster when user-provided cluster specification results in configuration error
	HumioClusterStateConfigError = "ConfigError"
	// HumioClusterStatePending is the state of the cluster when waiting on resources to be provisioned
	HumioClusterStatePending = "Pending"
	// HumioClusterUpdateStrategyOnDelete is the update strategy that will not terminate existing pods but will allow new pods to be created with the new spec
	HumioClusterUpdateStrategyOnDelete = "OnDelete"
	// HumioClusterUpdateStrategyRollingUpdate is the update strategy that will always cause pods to be replaced one at a time
	HumioClusterUpdateStrategyRollingUpdate = "RollingUpdate"
	// HumioClusterUpdateStrategyReplaceAllOnUpdate is the update strategy that will replace all pods at the same time during an update of either image or configuration.
	HumioClusterUpdateStrategyReplaceAllOnUpdate = "ReplaceAllOnUpdate"
	// HumioClusterUpdateStrategyRollingUpdateBestEffort is the update strategy where the operator will evaluate the Humio version change and determine if the
	// Humio pods can be updated in a rolling fashion or if they must be replaced at the same time
	HumioClusterUpdateStrategyRollingUpdateBestEffort = "RollingUpdateBestEffort"
	// HumioPersistentVolumeReclaimTypeOnNodeDelete is the persistent volume reclaim type which will remove persistent volume claims when the node to which they
	// are bound is deleted. Should only be used when running using `USING_EPHEMERAL_DISKS=true`, and typically only when using a persistent volume driver that
	// binds each persistent volume claim to a specific node (BETA)
	HumioPersistentVolumeReclaimTypeOnNodeDelete = "OnNodeDelete"
)
View Source
const (
	// HumioExternalClusterStateUnknown is the Unknown state of the external cluster
	HumioExternalClusterStateUnknown = "Unknown"
	// HumioExternalClusterStateReady is the Ready state of the external cluster
	HumioExternalClusterStateReady = "Ready"
)
View Source
const (
	// HumioFilterAlertStateUnknown is the Unknown state of the filter alert
	HumioFilterAlertStateUnknown = "Unknown"
	// HumioFilterAlertStateExists is the Exists state of the filter alert
	HumioFilterAlertStateExists = "Exists"
	// HumioFilterAlertStateNotFound is the NotFound state of the filter alert
	HumioFilterAlertStateNotFound = "NotFound"
	// HumioFilterAlertStateConfigError is the state of the filter alert when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioFilterAlertStateConfigError = "ConfigError"
)
View Source
const (
	// HumioIngestTokenStateUnknown is the Unknown state of the ingest token
	HumioIngestTokenStateUnknown = "Unknown"
	// HumioIngestTokenStateExists is the Exists state of the ingest token
	HumioIngestTokenStateExists = "Exists"
	// HumioIngestTokenStateNotFound is the NotFound state of the ingest token
	HumioIngestTokenStateNotFound = "NotFound"
	// HumioIngestTokenStateConfigError is the state of the ingest token when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioIngestTokenStateConfigError = "ConfigError"
)
View Source
const (
	// HumioParserStateUnknown is the Unknown state of the parser
	HumioParserStateUnknown = "Unknown"
	// HumioParserStateExists is the Exists state of the parser
	HumioParserStateExists = "Exists"
	// HumioParserStateNotFound is the NotFound state of the parser
	HumioParserStateNotFound = "NotFound"
	// HumioParserStateConfigError is the state of the parser when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioParserStateConfigError = "ConfigError"
)
View Source
const (
	// HumioRepositoryStateUnknown is the Unknown state of the repository
	HumioRepositoryStateUnknown = "Unknown"
	// HumioRepositoryStateExists is the Exists state of the repository
	HumioRepositoryStateExists = "Exists"
	// HumioRepositoryStateNotFound is the NotFound state of the repository
	HumioRepositoryStateNotFound = "NotFound"
	// HumioRepositoryStateConfigError is the state of the repository when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioRepositoryStateConfigError = "ConfigError"
)
View Source
const (
	// HumioScheduledSearchStateUnknown is the Unknown state of the scheduled search
	HumioScheduledSearchStateUnknown = "Unknown"
	// HumioScheduledSearchStateExists is the Exists state of the scheduled search
	HumioScheduledSearchStateExists = "Exists"
	// HumioScheduledSearchStateNotFound is the NotFound state of the scheduled search
	HumioScheduledSearchStateNotFound = "NotFound"
	// HumioScheduledSearchStateConfigError is the state of the scheduled search when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioScheduledSearchStateConfigError = "ConfigError"
)
View Source
const (
	// HumioViewStateUnknown is the Unknown state of the view
	HumioViewStateUnknown = "Unknown"
	// HumioViewStateExists is the Exists state of the view
	HumioViewStateExists = "Exists"
	// HumioViewStateNotFound is the NotFound state of the view
	HumioViewStateNotFound = "NotFound"
	// HumioViewStateConfigError is the state of the view when user-provided specification results in configuration error, such as non-existent humio cluster
	HumioViewStateConfigError = "ConfigError"
)

Variables

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

type HeadersSource struct {
	// Name is the name of the header.
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ValueFrom defines where to fetch the value of the header from.
	ValueFrom VarSource `json:"valueFrom,omitempty"`
}

HeadersSource defines a header and corresponding source for the value of it.

func (*HeadersSource) DeepCopy

func (in *HeadersSource) DeepCopy() *HeadersSource

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

func (*HeadersSource) DeepCopyInto

func (in *HeadersSource) DeepCopyInto(out *HeadersSource)

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

type HumioAction

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

	Spec   HumioActionSpec   `json:"spec,omitempty"`
	Status HumioActionStatus `json:"status,omitempty"`
}

HumioAction is the Schema for the humioactions API.

func (*HumioAction) DeepCopy

func (in *HumioAction) DeepCopy() *HumioAction

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

func (*HumioAction) DeepCopyInto

func (in *HumioAction) DeepCopyInto(out *HumioAction)

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

func (*HumioAction) DeepCopyObject

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

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

type HumioActionEmailProperties

type HumioActionEmailProperties struct {
	// BodyTemplate holds the email body template
	BodyTemplate string `json:"bodyTemplate,omitempty"`
	// SubjectTemplate holds the email subject template
	SubjectTemplate string `json:"subjectTemplate,omitempty"`
	// Recipients holds the list of email addresses that the action should send emails to.
	// +kubebuilder:validation:MinItems=1
	// +required
	Recipients []string `json:"recipients,omitempty"`
	// UseProxy is used to configure if the action should use the proxy configured on the system. For more details,
	// see https://library.humio.com/falcon-logscale-self-hosted/configuration-http-proxy.html
	UseProxy bool `json:"useProxy,omitempty"`
}

HumioActionEmailProperties defines the desired state of HumioActionEmailProperties

func (*HumioActionEmailProperties) DeepCopy

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

func (*HumioActionEmailProperties) DeepCopyInto

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

type HumioActionList

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

HumioActionList contains a list of HumioAction.

func (*HumioActionList) DeepCopy

func (in *HumioActionList) DeepCopy() *HumioActionList

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

func (*HumioActionList) DeepCopyInto

func (in *HumioActionList) DeepCopyInto(out *HumioActionList)

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

func (*HumioActionList) DeepCopyObject

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

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

type HumioActionOpsGenieProperties

type HumioActionOpsGenieProperties struct {
	// ApiUrl holds the API URL the action should use when calling OpsGenie
	ApiUrl string `json:"apiUrl,omitempty"`
	// GenieKey specifies what API key to use.
	// If both GenieKey and GenieKeySource are specified, GenieKey will be used.
	GenieKey string `json:"genieKey,omitempty"`
	// GenieKeySource specifies where to fetch the API key from.
	// If both GenieKey and GenieKeySource are specified, GenieKey will be used.
	GenieKeySource VarSource `json:"genieKeySource,omitempty"`
	// UseProxy is used to configure if the action should use the proxy configured on the system. For more details,
	// see https://library.humio.com/falcon-logscale-self-hosted/configuration-http-proxy.html
	UseProxy bool `json:"useProxy,omitempty"`
}

HumioActionOpsGenieProperties defines the desired state of HumioActionOpsGenieProperties

func (*HumioActionOpsGenieProperties) DeepCopy

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

func (*HumioActionOpsGenieProperties) DeepCopyInto

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

type HumioActionPagerDutyProperties

type HumioActionPagerDutyProperties struct {
	// RoutingKey specifies what API key to use.
	// If both RoutingKey and RoutingKeySource are specified, RoutingKey will be used.
	RoutingKey string `json:"routingKey,omitempty"`
	// RoutingKeySource specifies where to fetch the routing key from.
	// If both RoutingKey and RoutingKeySource are specified, RoutingKey will be used.
	RoutingKeySource VarSource `json:"routingKeySource,omitempty"`
	// Severity defines which severity is used in the request to PagerDuty
	Severity string `json:"severity,omitempty"`
	// UseProxy is used to configure if the action should use the proxy configured on the system. For more details,
	// see https://library.humio.com/falcon-logscale-self-hosted/configuration-http-proxy.html
	UseProxy bool `json:"useProxy,omitempty"`
}

HumioActionPagerDutyProperties defines the desired state of HumioActionPagerDutyProperties

func (*HumioActionPagerDutyProperties) DeepCopy

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

func (*HumioActionPagerDutyProperties) DeepCopyInto

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

type HumioActionRepositoryProperties

type HumioActionRepositoryProperties struct {
	// IngestToken specifies what ingest token to use.
	// If both IngestToken and IngestTokenSource are specified, IngestToken will be used.
	IngestToken string `json:"ingestToken,omitempty"`
	// IngestTokenSource specifies where to fetch the ingest token from.
	// If both IngestToken and IngestTokenSource are specified, IngestToken will be used.
	IngestTokenSource VarSource `json:"ingestTokenSource,omitempty"`
}

HumioActionRepositoryProperties defines the desired state of HumioActionRepositoryProperties

func (*HumioActionRepositoryProperties) DeepCopy

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

func (*HumioActionRepositoryProperties) DeepCopyInto

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

type HumioActionSlackPostMessageProperties

type HumioActionSlackPostMessageProperties struct {
	// ApiToken specifies what API key to use.
	// If both ApiToken and ApiTokenSource are specified, ApiToken will be used.
	ApiToken string `json:"apiToken,omitempty"`
	// ApiTokenSource specifies where to fetch the API key from.
	// If both ApiToken and ApiTokenSource are specified, ApiToken will be used.
	ApiTokenSource VarSource `json:"apiTokenSource,omitempty"`
	// Channels holds the list of Slack channels that the action should post to.
	Channels []string `json:"channels,omitempty"`
	// Fields holds a key-value map of additional fields to attach to the payload sent to Slack.
	// +kubebuilder:default={}
	Fields map[string]string `json:"fields,omitempty"`
	// UseProxy is used to configure if the action should use the proxy configured on the system. For more details,
	// see https://library.humio.com/falcon-logscale-self-hosted/configuration-http-proxy.html
	// +kubebuilder:default=false
	UseProxy bool `json:"useProxy,omitempty"`
}

HumioActionSlackPostMessageProperties defines the desired state of HumioActionSlackPostMessageProperties

func (*HumioActionSlackPostMessageProperties) DeepCopy

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

func (*HumioActionSlackPostMessageProperties) DeepCopyInto

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

type HumioActionSlackProperties

type HumioActionSlackProperties struct {
	// Fields holds a key-value map of additional fields to attach to the payload sent to Slack.
	Fields map[string]string `json:"fields,omitempty"`
	// Url specifies what URL to use.
	// If both Url and UrlSource are specified, Url will be used.
	Url string `json:"url,omitempty"`
	// UrlSource specifies where to fetch the URL from.
	// If both Url and UrlSource are specified, Url will be used.
	UrlSource VarSource `json:"urlSource,omitempty"`
	// UseProxy is used to configure if the action should use the proxy configured on the system. For more details,
	// see https://library.humio.com/falcon-logscale-self-hosted/configuration-http-proxy.html
	// +kubebuilder:default=false
	UseProxy bool `json:"useProxy,omitempty"`
}

HumioActionSlackProperties defines the desired state of HumioActionSlackProperties

func (*HumioActionSlackProperties) DeepCopy

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

func (*HumioActionSlackProperties) DeepCopyInto

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

type HumioActionSpec

type HumioActionSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the Action
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ViewName is the name of the Humio View under which the Action will be managed. This can also be a Repository
	// +kubebuilder:validation:MinLength=1
	// +required
	ViewName string `json:"viewName"`
	// EmailProperties indicates this is an Email Action, and contains the corresponding properties
	EmailProperties *HumioActionEmailProperties `json:"emailProperties,omitempty"`
	// HumioRepositoryProperties indicates this is a Humio Repository Action, and contains the corresponding properties
	HumioRepositoryProperties *HumioActionRepositoryProperties `json:"humioRepositoryProperties,omitempty"`
	// OpsGenieProperties indicates this is a Ops Genie Action, and contains the corresponding properties
	OpsGenieProperties *HumioActionOpsGenieProperties `json:"opsGenieProperties,omitempty"`
	// PagerDutyProperties indicates this is a PagerDuty Action, and contains the corresponding properties
	PagerDutyProperties *HumioActionPagerDutyProperties `json:"pagerDutyProperties,omitempty"`
	// SlackProperties indicates this is a Slack Action, and contains the corresponding properties
	SlackProperties *HumioActionSlackProperties `json:"slackProperties,omitempty"`
	// SlackPostMessageProperties indicates this is a Slack Post Message Action, and contains the corresponding properties
	SlackPostMessageProperties *HumioActionSlackPostMessageProperties `json:"slackPostMessageProperties,omitempty"`
	// VictorOpsProperties indicates this is a VictorOps Action, and contains the corresponding properties
	VictorOpsProperties *HumioActionVictorOpsProperties `json:"victorOpsProperties,omitempty"`
	// WebhookProperties indicates this is a Webhook Action, and contains the corresponding properties
	WebhookProperties *HumioActionWebhookProperties `json:"webhookProperties,omitempty"`
}

HumioActionSpec defines the desired state of HumioAction.

func (*HumioActionSpec) DeepCopy

func (in *HumioActionSpec) DeepCopy() *HumioActionSpec

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

func (*HumioActionSpec) DeepCopyInto

func (in *HumioActionSpec) DeepCopyInto(out *HumioActionSpec)

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

type HumioActionStatus

type HumioActionStatus struct {
	// State reflects the current state of the HumioAction
	State string `json:"state,omitempty"`
}

HumioActionStatus defines the observed state of HumioAction.

func (*HumioActionStatus) DeepCopy

func (in *HumioActionStatus) DeepCopy() *HumioActionStatus

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

func (*HumioActionStatus) DeepCopyInto

func (in *HumioActionStatus) DeepCopyInto(out *HumioActionStatus)

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

type HumioActionVictorOpsProperties

type HumioActionVictorOpsProperties struct {
	// MessageType contains the VictorOps message type to use when the action calls VictorOps
	MessageType string `json:"messageType,omitempty"`
	// NotifyUrl specifies what URL to use.
	// If both NotifyUrl and NotifyUrlSource are specified, NotifyUrl will be used.
	NotifyUrl string `json:"notifyUrl,omitempty"`
	// NotifyUrlSource specifies where to fetch the URL from.
	// If both NotifyUrl and NotifyUrlSource are specified, NotifyUrl will be used.
	NotifyUrlSource VarSource `json:"notifyUrlSource"`
	// UseProxy is used to configure if the action should use the proxy configured on the system. For more details,
	// see https://library.humio.com/falcon-logscale-self-hosted/configuration-http-proxy.html
	UseProxy bool `json:"useProxy,omitempty"`
}

HumioActionVictorOpsProperties defines the desired state of HumioActionVictorOpsProperties

func (*HumioActionVictorOpsProperties) DeepCopy

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

func (*HumioActionVictorOpsProperties) DeepCopyInto

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

type HumioActionWebhookProperties

type HumioActionWebhookProperties struct {
	// BodyTemplate holds the webhook body template
	BodyTemplate string `json:"bodyTemplate,omitempty"`
	// Headers specifies what HTTP headers to use.
	// If both Headers and SecretHeaders are specified, they will be merged together.
	Headers map[string]string `json:"headers,omitempty"`
	// SecretHeaders specifies what HTTP headers to use and where to fetch the values from.
	// If both Headers and SecretHeaders are specified, they will be merged together.
	// +kubebuilder:default={}
	SecretHeaders []HeadersSource `json:"secretHeaders,omitempty"`
	// Method holds the HTTP method that the action will use
	Method string `json:"method,omitempty"`
	// Url specifies what URL to use
	// If both Url and UrlSource are specified, Url will be used.
	Url string `json:"url,omitempty"`
	// UrlSource specifies where to fetch the URL from
	// If both Url and UrlSource are specified, Url will be used.
	UrlSource VarSource `json:"urlSource,omitempty"`
	// IgnoreSSL configures the action so that skips TLS certificate verification
	IgnoreSSL bool `json:"ignoreSSL,omitempty"`
	// UseProxy is used to configure if the action should use the proxy configured on the system. For more details,
	// see https://library.humio.com/falcon-logscale-self-hosted/configuration-http-proxy.html
	UseProxy bool `json:"useProxy,omitempty"`
}

HumioActionWebhookProperties defines the desired state of HumioActionWebhookProperties

func (*HumioActionWebhookProperties) DeepCopy

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

func (*HumioActionWebhookProperties) DeepCopyInto

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

type HumioAggregateAlert

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

	Spec   HumioAggregateAlertSpec   `json:"spec,omitempty"`
	Status HumioAggregateAlertStatus `json:"status,omitempty"`
}

HumioAggregateAlert is the Schema for the humioaggregatealerts API.

func (*HumioAggregateAlert) DeepCopy

func (in *HumioAggregateAlert) DeepCopy() *HumioAggregateAlert

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

func (*HumioAggregateAlert) DeepCopyInto

func (in *HumioAggregateAlert) DeepCopyInto(out *HumioAggregateAlert)

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

func (*HumioAggregateAlert) DeepCopyObject

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

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

type HumioAggregateAlertList

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

HumioAggregateAlertList contains a list of HumioAggregateAlert.

func (*HumioAggregateAlertList) DeepCopy

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

func (*HumioAggregateAlertList) DeepCopyInto

func (in *HumioAggregateAlertList) DeepCopyInto(out *HumioAggregateAlertList)

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

func (*HumioAggregateAlertList) DeepCopyObject

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

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

type HumioAggregateAlertSpec

type HumioAggregateAlertSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the aggregate alert inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ViewName is the name of the Humio View under which the aggregate alert will be managed. This can also be a Repository
	// +kubebuilder:validation:MinLength=1
	// +required
	ViewName string `json:"viewName"`
	// QueryString defines the desired Humio query string
	QueryString string `json:"queryString"`
	// QueryTimestampType defines the timestamp type to use for a query
	QueryTimestampType string `json:"queryTimestampType,omitempty"`
	// Description is the description of the Aggregate alert
	// +optional
	Description string `json:"description,omitempty"`
	// SearchIntervalSeconds specifies the search interval (in seconds) to use when running the query
	SearchIntervalSeconds int `json:"searchIntervalSeconds,omitempty"`
	// ThrottleTimeSeconds is the throttle time in seconds. An aggregate alert is triggered at most once per the throttle time
	ThrottleTimeSeconds int `json:"throttleTimeSeconds,omitempty"`
	// ThrottleField is the field on which to throttle
	ThrottleField *string `json:"throttleField,omitempty"`
	// TriggerMode specifies which trigger mode to use when configuring the aggregate alert
	TriggerMode string `json:"triggerMode,omitempty"`
	// Enabled will set the AggregateAlert to enabled when set to true
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
	// Actions is the list of Humio Actions by name that will be triggered by this Aggregate alert
	Actions []string `json:"actions"`
	// Labels are a set of labels on the aggregate alert
	Labels []string `json:"labels,omitempty"`
}

HumioAggregateAlertSpec defines the desired state of HumioAggregateAlert.

func (*HumioAggregateAlertSpec) DeepCopy

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

func (*HumioAggregateAlertSpec) DeepCopyInto

func (in *HumioAggregateAlertSpec) DeepCopyInto(out *HumioAggregateAlertSpec)

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

type HumioAggregateAlertStatus

type HumioAggregateAlertStatus struct {
	// State reflects the current state of HumioAggregateAlert
	State string `json:"state,omitempty"`
}

HumioAggregateAlertStatus defines the observed state of HumioAggregateAlert.

func (*HumioAggregateAlertStatus) DeepCopy

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

func (*HumioAggregateAlertStatus) DeepCopyInto

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

type HumioAlert

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

	Spec   HumioAlertSpec   `json:"spec,omitempty"`
	Status HumioAlertStatus `json:"status,omitempty"`
}

HumioAlert is the Schema for the humioalerts API.

func (*HumioAlert) DeepCopy

func (in *HumioAlert) DeepCopy() *HumioAlert

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

func (*HumioAlert) DeepCopyInto

func (in *HumioAlert) DeepCopyInto(out *HumioAlert)

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

func (*HumioAlert) DeepCopyObject

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

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

type HumioAlertList

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

HumioAlertList contains a list of HumioAlert.

func (*HumioAlertList) DeepCopy

func (in *HumioAlertList) DeepCopy() *HumioAlertList

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

func (*HumioAlertList) DeepCopyInto

func (in *HumioAlertList) DeepCopyInto(out *HumioAlertList)

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

func (*HumioAlertList) DeepCopyObject

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

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

type HumioAlertSpec

type HumioAlertSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the alert inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ViewName is the name of the Humio View under which the Alert will be managed. This can also be a Repository
	// +kubebuilder:validation:MinLength=1
	// +required
	ViewName string `json:"viewName"`
	// Query defines the desired state of the Humio query
	// +required
	Query HumioQuery `json:"query"`
	// Description is the description of the Alert
	// +optional
	Description string `json:"description,omitempty"`
	// ThrottleTimeMillis is the throttle time in milliseconds. An Alert is triggered at most once per the throttle time
	ThrottleTimeMillis int `json:"throttleTimeMillis,omitempty"`
	// ThrottleField is the field on which to throttle
	ThrottleField *string `json:"throttleField,omitempty"`
	// Silenced will set the Alert to enabled when set to false
	Silenced bool `json:"silenced,omitempty"`
	// Actions is the list of Humio Actions by name that will be triggered by this Alert
	Actions []string `json:"actions"`
	// Labels are a set of labels on the Alert
	Labels []string `json:"labels,omitempty"`
}

HumioAlertSpec defines the desired state of HumioAlert.

func (*HumioAlertSpec) DeepCopy

func (in *HumioAlertSpec) DeepCopy() *HumioAlertSpec

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

func (*HumioAlertSpec) DeepCopyInto

func (in *HumioAlertSpec) DeepCopyInto(out *HumioAlertSpec)

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

type HumioAlertStatus

type HumioAlertStatus struct {
	// State reflects the current state of the HumioAlert
	State string `json:"state,omitempty"`
}

HumioAlertStatus defines the observed state of HumioAlert.

func (*HumioAlertStatus) DeepCopy

func (in *HumioAlertStatus) DeepCopy() *HumioAlertStatus

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

func (*HumioAlertStatus) DeepCopyInto

func (in *HumioAlertStatus) DeepCopyInto(out *HumioAlertStatus)

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

type HumioBootstrapToken

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

	Spec   HumioBootstrapTokenSpec   `json:"spec,omitempty"`
	Status HumioBootstrapTokenStatus `json:"status,omitempty"`
}

HumioBootstrapToken is the Schema for the humiobootstraptokens API.

func (*HumioBootstrapToken) DeepCopy

func (in *HumioBootstrapToken) DeepCopy() *HumioBootstrapToken

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

func (*HumioBootstrapToken) DeepCopyInto

func (in *HumioBootstrapToken) DeepCopyInto(out *HumioBootstrapToken)

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

func (*HumioBootstrapToken) DeepCopyObject

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

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

type HumioBootstrapTokenList

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

HumioBootstrapTokenList contains a list of HumioBootstrapToken.

func (*HumioBootstrapTokenList) DeepCopy

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

func (*HumioBootstrapTokenList) DeepCopyInto

func (in *HumioBootstrapTokenList) DeepCopyInto(out *HumioBootstrapTokenList)

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

func (*HumioBootstrapTokenList) DeepCopyObject

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

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

type HumioBootstrapTokenSpec

type HumioBootstrapTokenSpec struct {
	// ManagedClusterName refers to the name of the HumioCluster which will use this bootstrap token
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to the name of the HumioExternalCluster which will use this bootstrap token for authentication
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Image can be set to override the image used to run when generating a bootstrap token. This will default to the image
	// that is used by either the HumioCluster resource or the first NodePool resource if ManagedClusterName is set on the HumioBootstrapTokenSpec
	Image string `json:"bootstrapImage,omitempty"`
	// ImagePullSecrets defines the imagepullsecrets for the bootstrap image onetime pod. These secrets are not created by the operator. This will default to the imagePullSecrets
	// that are used by either the HumioCluster resource or the first NodePool resource if ManagedClusterName is set on the HumioBootstrapTokenSpec
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// Affinity defines the affinity for the bootstrap onetime pod. This will default to the affinity of the first
	// non-empty node pool if ManagedClusterName is set on the HumioBootstrapTokenSpec
	Affinity *corev1.Affinity `json:"affinity,omitempty"`
	// Resources is the kubernetes resource limits for the bootstrap onetime pod
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// TokenSecret is the secret reference that contains the token to use for this HumioBootstrapToken. This is used if one wants to use an existing
	// token for the BootstrapToken rather than letting the operator create one by running a bootstrap token onetime pod
	TokenSecret HumioTokenSecretSpec `json:"tokenSecret,omitempty"`
	// HashedTokenSecret is the secret reference that contains the hashed token to use for this HumioBootstrapToken. This is used if one wants to use an existing
	// hashed token for the BootstrapToken rather than letting the operator create one by running a bootstrap token onetime pod
	HashedTokenSecret HumioHashedTokenSecretSpec `json:"hashedTokenSecret,omitempty"`
}

HumioBootstrapTokenSpec defines the desired state of HumioBootstrapToken.

func (*HumioBootstrapTokenSpec) DeepCopy

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

func (*HumioBootstrapTokenSpec) DeepCopyInto

func (in *HumioBootstrapTokenSpec) DeepCopyInto(out *HumioBootstrapTokenSpec)

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

type HumioBootstrapTokenStatus

type HumioBootstrapTokenStatus struct {
	// State can be "NotReady" or "Ready"
	State string `json:"state,omitempty"`
	// TokenSecretKeyRef contains the secret key reference to a kubernetes secret containing the bootstrap token secret. This is set regardless of whether it's defined
	// in the spec or automatically created
	TokenSecretKeyRef HumioTokenSecretStatus `json:"tokenSecretStatus,omitempty"`
	// HashedTokenSecretKeyRef is the secret reference that contains the hashed token to use for this HumioBootstrapToken. This is set regardless of whether it's defined
	// in the spec or automatically created
	HashedTokenSecretKeyRef HumioHashedTokenSecretStatus `json:"hashedTokenSecretStatus,omitempty"`
	// BootstrapImage is the image that was used to issue the token
	BootstrapImage string `json:"bootstrapImage,omitempty"`
}

HumioBootstrapTokenStatus defines the observed state of HumioBootstrapToken.

func (*HumioBootstrapTokenStatus) DeepCopy

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

func (*HumioBootstrapTokenStatus) DeepCopyInto

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

type HumioCluster

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

	Spec   HumioClusterSpec   `json:"spec,omitempty"`
	Status HumioClusterStatus `json:"status,omitempty"`
}

HumioCluster is the Schema for the humioclusters API.

func (*HumioCluster) DeepCopy

func (in *HumioCluster) DeepCopy() *HumioCluster

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

func (*HumioCluster) DeepCopyInto

func (in *HumioCluster) DeepCopyInto(out *HumioCluster)

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

func (*HumioCluster) DeepCopyObject

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

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

func (*HumioCluster) ValidateCreate

func (hc *HumioCluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*HumioCluster) ValidateDelete

func (hc *HumioCluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*HumioCluster) ValidateUpdate

func (hc *HumioCluster) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type HumioClusterIngressSpec

type HumioClusterIngressSpec struct {
	// Enabled enables the logic for the Humio operator to create ingress-related objects. Requires one of the following
	// to be set: spec.hostname, spec.hostnameSource, spec.esHostname or spec.esHostnameSource
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
	// Controller is used to specify the controller used for ingress in the Kubernetes cluster. For now, only nginx is supported.
	Controller string `json:"controller,omitempty"`
	// TLS is used to specify whether the ingress controller will be using TLS for requests from external clients
	TLS *bool `json:"tls,omitempty"`
	// SecretName is used to specify the Kubernetes secret that contains the TLS certificate that should be used
	SecretName string `json:"secretName,omitempty"`
	// ESSecretName is used to specify the Kubernetes secret that contains the TLS certificate that should be used, specifically for the ESHostname
	ESSecretName string `json:"esSecretName,omitempty"`
	// Annotations can be used to specify annotations appended to the annotations set by the operator when creating ingress-related objects
	Annotations map[string]string `json:"annotations,omitempty"`
}

HumioClusterIngressSpec is used to set up ingress-related objects in order to reach Humio externally from the kubernetes cluster

func (*HumioClusterIngressSpec) DeepCopy

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

func (*HumioClusterIngressSpec) DeepCopyInto

func (in *HumioClusterIngressSpec) DeepCopyInto(out *HumioClusterIngressSpec)

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

type HumioClusterLicenseSpec

type HumioClusterLicenseSpec struct {
	// SecretKeyRef specifies which key of a secret in the namespace of the HumioCluster that holds the LogScale license key
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

HumioClusterLicenseSpec points to the optional location of the Humio license

func (*HumioClusterLicenseSpec) DeepCopy

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

func (*HumioClusterLicenseSpec) DeepCopyInto

func (in *HumioClusterLicenseSpec) DeepCopyInto(out *HumioClusterLicenseSpec)

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

type HumioClusterList

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

HumioClusterList contains a list of HumioCluster.

func (*HumioClusterList) DeepCopy

func (in *HumioClusterList) DeepCopy() *HumioClusterList

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

func (*HumioClusterList) DeepCopyInto

func (in *HumioClusterList) DeepCopyInto(out *HumioClusterList)

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

func (*HumioClusterList) DeepCopyObject

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

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

type HumioClusterSpec

type HumioClusterSpec struct {
	// AutoRebalancePartitions will enable auto-rebalancing of both digest and storage partitions assigned to humio cluster nodes.
	// If all Kubernetes worker nodes are located in the same availability zone, you must set DisableInitContainer to true to use auto rebalancing of partitions.
	// Deprecated: No longer needed as of 1.89.0 as partitions and segment distribution is now automatically managed by LogScale itself.
	AutoRebalancePartitions bool `json:"autoRebalancePartitions,omitempty"`
	// FeatureFlags contains feature flags applied to this humio cluster.
	FeatureFlags HumioFeatureFlags `json:"featureFlags,omitempty"`
	// TargetReplicationFactor is the desired number of replicas of both storage and ingest partitions
	TargetReplicationFactor int `json:"targetReplicationFactor,omitempty"`
	// StoragePartitionsCount is the desired number of storage partitions
	// Deprecated: No longer needed as LogScale now automatically redistributes segments
	StoragePartitionsCount int `json:"storagePartitionsCount,omitempty"`
	// DigestPartitionsCount is the desired number of digest partitions
	DigestPartitionsCount int `json:"digestPartitionsCount,omitempty"`
	// License is the kubernetes secret reference which contains the Humio license
	// +required
	License HumioClusterLicenseSpec `json:"license"`
	// IdpCertificateSecretName is the name of the secret that contains the IDP Certificate when using SAML authentication
	IdpCertificateSecretName string `json:"idpCertificateSecretName,omitempty"`
	// ViewGroupPermissions is a multi-line string containing view-group-permissions.json.
	// Deprecated: Use RolePermissions instead.
	ViewGroupPermissions string `json:"viewGroupPermissions,omitempty"`
	// RolePermissions is a multi-line string containing role-permissions.json
	RolePermissions string `json:"rolePermissions,omitempty"`
	// Hostname is the public hostname used by clients to access Humio
	Hostname string `json:"hostname,omitempty"`
	// ESHostname is the public hostname used by log shippers with support for ES bulk API to access Humio
	ESHostname string `json:"esHostname,omitempty"`
	// HostnameSource is the reference to the public hostname used by clients to access Humio
	HostnameSource HumioHostnameSource `json:"hostnameSource,omitempty"`
	// ESHostnameSource is the reference to the public hostname used by log shippers with support for ES bulk API to
	// access Humio
	ESHostnameSource HumioESHostnameSource `json:"esHostnameSource,omitempty"`
	// Path is the root URI path of the Humio cluster
	Path string `json:"path,omitempty"`
	// Ingress is used to set up ingress-related objects in order to reach Humio externally from the kubernetes cluster
	Ingress HumioClusterIngressSpec `json:"ingress,omitempty"`
	// TLS is used to define TLS specific configuration such as intra-cluster TLS settings
	TLS *HumioClusterTLSSpec `json:"tls,omitempty"`
	// HumioHeadlessServiceAnnotations is the set of annotations added to the Kubernetes Headless Service that is used for
	// traffic between Humio pods
	HumioHeadlessServiceAnnotations map[string]string `json:"humioHeadlessServiceAnnotations,omitempty"`
	// HumioHeadlessServiceLabels is the set of labels added to the Kubernetes Headless Service that is used for
	// traffic between Humio pods
	HumioHeadlessServiceLabels map[string]string `json:"humioHeadlessServiceLabels,omitempty"`

	HumioNodeSpec `json:",inline"`

	// CommonEnvironmentVariables is the set of variables that will be applied to all nodes regardless of the node pool types.
	// See spec.nodePools[].environmentVariables to override or append variables for a node pool.
	// New installations should prefer setting this variable instead of spec.environmentVariables as the latter will be deprecated in the future.
	CommonEnvironmentVariables []corev1.EnvVar `json:"commonEnvironmentVariables,omitempty"`

	// NodePools can be used to define additional groups of Humio cluster pods that share a set of configuration.
	NodePools []HumioNodePoolSpec `json:"nodePools,omitempty"`
}

HumioClusterSpec defines the desired state of HumioCluster.

func (*HumioClusterSpec) DeepCopy

func (in *HumioClusterSpec) DeepCopy() *HumioClusterSpec

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

func (*HumioClusterSpec) DeepCopyInto

func (in *HumioClusterSpec) DeepCopyInto(out *HumioClusterSpec)

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

type HumioClusterStatus

type HumioClusterStatus struct {
	// State will be empty before the cluster is bootstrapped. From there it can be "Running", "Upgrading", "Restarting" or "Pending"
	State string `json:"state,omitempty"`
	// Message contains additional information about the state of the cluster
	Message string `json:"message,omitempty"`
	// Version is the version of humio running
	Version string `json:"version,omitempty"`
	// NodeCount is the number of nodes of humio running
	NodeCount int `json:"nodeCount,omitempty"`
	// PodStatus shows the status of individual humio pods
	PodStatus HumioPodStatusList `json:"podStatus,omitempty"`
	// LicenseStatus shows the status of the Humio license attached to the cluster
	LicenseStatus HumioLicenseStatus `json:"licenseStatus,omitempty"`
	// NodePoolStatus shows the status of each node pool
	NodePoolStatus HumioNodePoolStatusList `json:"nodePoolStatus,omitempty"`
	// ObservedGeneration shows the generation of the HumioCluster which was last observed
	ObservedGeneration string `json:"observedGeneration,omitempty"` // TODO: We should change the type to int64 so we don't have to convert back and forth between int64 and string
	// EvictedNodeIds keeps track of evicted nodes for use within the downscaling functionality
	EvictedNodeIds []int `json:"evictedNodeIds,omitempty"`
}

HumioClusterStatus defines the observed state of HumioCluster.

func (*HumioClusterStatus) DeepCopy

func (in *HumioClusterStatus) DeepCopy() *HumioClusterStatus

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

func (*HumioClusterStatus) DeepCopyInto

func (in *HumioClusterStatus) DeepCopyInto(out *HumioClusterStatus)

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

type HumioClusterTLSSpec

type HumioClusterTLSSpec struct {
	// Enabled can be used to toggle TLS on/off. Default behaviour is to configure TLS if cert-manager is present, otherwise we skip TLS.
	Enabled *bool `json:"enabled,omitempty"`
	// CASecretName is used to point to a Kubernetes secret that holds the CA that will be used to issue intra-cluster TLS certificates
	CASecretName string `json:"caSecretName,omitempty"`
	// ExtraHostnames holds a list of additional hostnames that will be appended to TLS certificates.
	ExtraHostnames []string `json:"extraHostnames,omitempty"`
}

HumioClusterTLSSpec specifies if TLS should be configured for the HumioCluster as well as how it should be configured.

func (*HumioClusterTLSSpec) DeepCopy

func (in *HumioClusterTLSSpec) DeepCopy() *HumioClusterTLSSpec

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

func (*HumioClusterTLSSpec) DeepCopyInto

func (in *HumioClusterTLSSpec) DeepCopyInto(out *HumioClusterTLSSpec)

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

type HumioESHostnameSource

type HumioESHostnameSource struct {
	// SecretKeyRef contains the secret key reference when an es hostname is pulled from a secret
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

HumioESHostnameSource is the possible references to a es hostname value that is stored outside of the HumioCluster resource

func (*HumioESHostnameSource) DeepCopy

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

func (*HumioESHostnameSource) DeepCopyInto

func (in *HumioESHostnameSource) DeepCopyInto(out *HumioESHostnameSource)

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

type HumioExternalCluster

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

	Spec   HumioExternalClusterSpec   `json:"spec,omitempty"`
	Status HumioExternalClusterStatus `json:"status,omitempty"`
}

HumioExternalCluster is the Schema for the humioexternalclusters API.

func (*HumioExternalCluster) DeepCopy

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

func (*HumioExternalCluster) DeepCopyInto

func (in *HumioExternalCluster) DeepCopyInto(out *HumioExternalCluster)

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

func (*HumioExternalCluster) DeepCopyObject

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

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

type HumioExternalClusterList

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

HumioExternalClusterList contains a list of HumioExternalCluster.

func (*HumioExternalClusterList) DeepCopy

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

func (*HumioExternalClusterList) DeepCopyInto

func (in *HumioExternalClusterList) DeepCopyInto(out *HumioExternalClusterList)

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

func (*HumioExternalClusterList) DeepCopyObject

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

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

type HumioExternalClusterSpec

type HumioExternalClusterSpec struct {
	// Url is used to connect to the Humio cluster we want to use.
	// +kubebuilder:validation:MinLength=1
	// +required
	Url string `json:"url"`
	// APITokenSecretName is used to obtain the API token we need to use when communicating with the external Humio cluster.
	// It refers to a Kubernetes secret that must be located in the same namespace as the HumioExternalCluster.
	// The humio-operator instance must be able to read the content of the Kubernetes secret.
	// The Kubernetes secret must be of type opaque, and contain the key "token" which holds the Humio API token.
	// Depending on the use-case it is possible to use different token types, depending on what resources it will be
	// used to manage, e.g. HumioParser.
	// In most cases, it is recommended to create a dedicated user within the LogScale cluster and grant the
	// appropriate permissions to it, then use the personal API token for that user.
	APITokenSecretName string `json:"apiTokenSecretName,omitempty"`
	// Insecure is used to disable TLS certificate verification when communicating with Humio clusters over TLS.
	Insecure bool `json:"insecure,omitempty"`
	// CASecretName is used to point to a Kubernetes secret that holds the CA that will be used to issue intra-cluster TLS certificates.
	// The secret must contain a key "ca.crt" which holds the CA certificate in PEM format.
	CASecretName string `json:"caSecretName,omitempty"`
}

HumioExternalClusterSpec defines the desired state of HumioExternalCluster.

func (*HumioExternalClusterSpec) DeepCopy

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

func (*HumioExternalClusterSpec) DeepCopyInto

func (in *HumioExternalClusterSpec) DeepCopyInto(out *HumioExternalClusterSpec)

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

type HumioExternalClusterStatus

type HumioExternalClusterStatus struct {
	// State reflects the current state of the HumioExternalCluster
	State string `json:"state,omitempty"`
	// Version shows the Humio cluster version of the HumioExternalCluster
	Version string `json:"version,omitempty"`
}

HumioExternalClusterStatus defines the observed state of HumioExternalCluster.

func (*HumioExternalClusterStatus) DeepCopy

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

func (*HumioExternalClusterStatus) DeepCopyInto

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

type HumioFeatureFlags

type HumioFeatureFlags struct {
	// EnableDownscalingFeature (PREVIEW) is a feature flag for enabling the downscaling functionality of the humio operator for this humio cluster.
	// Default: false
	// Preview: this feature is in a preview state
	// +kubebuilder:default=false
	EnableDownscalingFeature bool `json:"enableDownscalingFeature,omitempty"`
}

HumioFeatureFlags contains feature flags applied to the HumioCluster

func (*HumioFeatureFlags) DeepCopy

func (in *HumioFeatureFlags) DeepCopy() *HumioFeatureFlags

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

func (*HumioFeatureFlags) DeepCopyInto

func (in *HumioFeatureFlags) DeepCopyInto(out *HumioFeatureFlags)

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

type HumioFilterAlert

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

	Spec   HumioFilterAlertSpec   `json:"spec,omitempty"`
	Status HumioFilterAlertStatus `json:"status,omitempty"`
}

HumioFilterAlert is the Schema for the humiofilteralerts API.

func (*HumioFilterAlert) DeepCopy

func (in *HumioFilterAlert) DeepCopy() *HumioFilterAlert

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

func (*HumioFilterAlert) DeepCopyInto

func (in *HumioFilterAlert) DeepCopyInto(out *HumioFilterAlert)

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

func (*HumioFilterAlert) DeepCopyObject

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

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

type HumioFilterAlertList

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

HumioFilterAlertList contains a list of HumioFilterAlert.

func (*HumioFilterAlertList) DeepCopy

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

func (*HumioFilterAlertList) DeepCopyInto

func (in *HumioFilterAlertList) DeepCopyInto(out *HumioFilterAlertList)

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

func (*HumioFilterAlertList) DeepCopyObject

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

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

type HumioFilterAlertSpec

type HumioFilterAlertSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the filter alert inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ViewName is the name of the Humio View under which the filter alert will be managed. This can also be a Repository
	// +kubebuilder:validation:MinLength=1
	// +required
	ViewName string `json:"viewName"`
	// QueryString defines the desired Humio query string
	QueryString string `json:"queryString"`
	// Description is the description of the filter alert
	// +optional
	Description string `json:"description,omitempty"`
	// ThrottleTimeSeconds is the throttle time in seconds. A filter alert is triggered at most once per the throttle time
	// +kubebuilder:validation:Minimum=60
	// +required
	ThrottleTimeSeconds int `json:"throttleTimeSeconds,omitempty"`
	// ThrottleField is the field on which to throttle
	// +kubebuilder:validation:MinLength=1
	// +required
	ThrottleField *string `json:"throttleField,omitempty"`
	// Enabled will set the FilterAlert to enabled when set to true
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
	// Actions is the list of Humio Actions by name that will be triggered by this filter alert
	Actions []string `json:"actions"`
	// Labels are a set of labels on the filter alert
	Labels []string `json:"labels,omitempty"`
}

HumioFilterAlertSpec defines the desired state of HumioFilterAlert.

func (*HumioFilterAlertSpec) DeepCopy

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

func (*HumioFilterAlertSpec) DeepCopyInto

func (in *HumioFilterAlertSpec) DeepCopyInto(out *HumioFilterAlertSpec)

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

type HumioFilterAlertStatus

type HumioFilterAlertStatus struct {
	// State reflects the current state of the HumioFilterAlert
	State string `json:"state,omitempty"`
}

HumioFilterAlertStatus defines the observed state of HumioFilterAlert.

func (*HumioFilterAlertStatus) DeepCopy

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

func (*HumioFilterAlertStatus) DeepCopyInto

func (in *HumioFilterAlertStatus) DeepCopyInto(out *HumioFilterAlertStatus)

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

type HumioHashedTokenSecretSpec

type HumioHashedTokenSecretSpec struct {
	// SecretKeyRef is the secret key reference to a kubernetes secret containing the bootstrap hashed token secret
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

HumioHashedTokenSecretSpec defines where he hashed bootstrap token is stored.

func (*HumioHashedTokenSecretSpec) DeepCopy

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

func (*HumioHashedTokenSecretSpec) DeepCopyInto

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

type HumioHashedTokenSecretStatus

type HumioHashedTokenSecretStatus struct {
	// SecretKeyRef is the secret reference that contains the hashed token to use for this HumioBootstrapToken. This is set regardless of whether it's defined
	// in the spec or automatically created
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

HumioHashedTokenSecretStatus contains the secret key reference to a kubernetes secret containing the bootstrap token secret. This is set regardless of whether it's defined in the spec or automatically created

func (*HumioHashedTokenSecretStatus) DeepCopy

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

func (*HumioHashedTokenSecretStatus) DeepCopyInto

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

type HumioHostnameSource

type HumioHostnameSource struct {
	// SecretKeyRef contains the secret key reference when a hostname is pulled from a secret
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

HumioHostnameSource is the possible references to a hostname value that is stored outside of the HumioCluster resource

func (*HumioHostnameSource) DeepCopy

func (in *HumioHostnameSource) DeepCopy() *HumioHostnameSource

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

func (*HumioHostnameSource) DeepCopyInto

func (in *HumioHostnameSource) DeepCopyInto(out *HumioHostnameSource)

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

type HumioImageSource

type HumioImageSource struct {
	// ConfigMapRef contains the reference to the configmap name and key containing the image value
	ConfigMapRef *corev1.ConfigMapKeySelector `json:"configMapRef,omitempty"`
}

HumioImageSource points to the external source identifying the image

func (*HumioImageSource) DeepCopy

func (in *HumioImageSource) DeepCopy() *HumioImageSource

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

func (*HumioImageSource) DeepCopyInto

func (in *HumioImageSource) DeepCopyInto(out *HumioImageSource)

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

type HumioIngestToken

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

	Spec   HumioIngestTokenSpec   `json:"spec,omitempty"`
	Status HumioIngestTokenStatus `json:"status,omitempty"`
}

HumioIngestToken is the Schema for the humioingesttokens API.

func (*HumioIngestToken) DeepCopy

func (in *HumioIngestToken) DeepCopy() *HumioIngestToken

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

func (*HumioIngestToken) DeepCopyInto

func (in *HumioIngestToken) DeepCopyInto(out *HumioIngestToken)

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

func (*HumioIngestToken) DeepCopyObject

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

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

type HumioIngestTokenList

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

HumioIngestTokenList contains a list of HumioIngestToken.

func (*HumioIngestTokenList) DeepCopy

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

func (*HumioIngestTokenList) DeepCopyInto

func (in *HumioIngestTokenList) DeepCopyInto(out *HumioIngestTokenList)

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

func (*HumioIngestTokenList) DeepCopyObject

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

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

type HumioIngestTokenSpec

type HumioIngestTokenSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the ingest token inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ParserName is the name of the parser which will be assigned to the ingest token.
	// +kubebuilder:validation:MinLength=1
	// +required
	ParserName *string `json:"parserName,omitempty"`
	// RepositoryName is the name of the Humio repository under which the ingest token will be created
	// +kubebuilder:validation:MinLength=1
	// +required
	RepositoryName string `json:"repositoryName,omitempty"`
	// TokenSecretName specifies the name of the Kubernetes secret that will be created
	// and contain the ingest token. The key in the secret storing the ingest token is "token".
	// This field is optional.
	TokenSecretName string `json:"tokenSecretName,omitempty"`
	// TokenSecretLabels specifies additional key,value pairs to add as labels on the Kubernetes Secret containing
	// the ingest token.
	// This field is optional.
	TokenSecretLabels map[string]string `json:"tokenSecretLabels,omitempty"`
}

HumioIngestTokenSpec defines the desired state of HumioIngestToken.

func (*HumioIngestTokenSpec) DeepCopy

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

func (*HumioIngestTokenSpec) DeepCopyInto

func (in *HumioIngestTokenSpec) DeepCopyInto(out *HumioIngestTokenSpec)

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

type HumioIngestTokenStatus

type HumioIngestTokenStatus struct {
	// State reflects the current state of the HumioIngestToken
	State string `json:"state,omitempty"`
}

HumioIngestTokenStatus defines the observed state of HumioIngestToken.

func (*HumioIngestTokenStatus) DeepCopy

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

func (*HumioIngestTokenStatus) DeepCopyInto

func (in *HumioIngestTokenStatus) DeepCopyInto(out *HumioIngestTokenStatus)

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

type HumioLicenseStatus

type HumioLicenseStatus struct {
	// Type holds the type of license that is currently installed on the HumioCluster
	Type string `json:"type,omitempty"`
	// Expiration contains the timestamp of when the currently installed license expires.
	Expiration string `json:"expiration,omitempty"`
}

HumioLicenseStatus shows the status of Humio license

func (*HumioLicenseStatus) DeepCopy

func (in *HumioLicenseStatus) DeepCopy() *HumioLicenseStatus

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

func (*HumioLicenseStatus) DeepCopyInto

func (in *HumioLicenseStatus) DeepCopyInto(out *HumioLicenseStatus)

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

type HumioNodePoolFeatures

type HumioNodePoolFeatures struct {
	// AllowedAPIRequestTypes is a list of API request types that are allowed by the node pool. Current options are:
	// OperatorInternal. Defaults to [OperatorInternal]. To disallow all API request types, set this to [].
	AllowedAPIRequestTypes *[]string `json:"allowedAPIRequestTypes,omitempty"`
}

HumioNodePoolFeatures is used to toggle certain features that are specific instance of HumioNodeSpec. This means that any set of pods configured by the same HumioNodeSpec instance will share these features.

func (*HumioNodePoolFeatures) DeepCopy

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

func (*HumioNodePoolFeatures) DeepCopyInto

func (in *HumioNodePoolFeatures) DeepCopyInto(out *HumioNodePoolFeatures)

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

type HumioNodePoolSpec

type HumioNodePoolSpec struct {
	// Name holds a name for this specific group of cluster pods. This name is used when constructing pod names, so it
	// is useful to use a name that reflects what the pods are configured to do.
	// +kubebuilder:validation:MinLength:=1
	// +required
	Name string `json:"name"`

	HumioNodeSpec `json:"spec,omitempty"`
}

HumioNodePoolSpec is used to attach a name to an instance of HumioNodeSpec

func (*HumioNodePoolSpec) DeepCopy

func (in *HumioNodePoolSpec) DeepCopy() *HumioNodePoolSpec

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

func (*HumioNodePoolSpec) DeepCopyInto

func (in *HumioNodePoolSpec) DeepCopyInto(out *HumioNodePoolSpec)

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

type HumioNodePoolStatus

type HumioNodePoolStatus struct {
	// Name is the name of the node pool
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// State will be empty before the cluster is bootstrapped. From there it can be "Running", "Upgrading", "Restarting" or "Pending"
	State string `json:"state,omitempty"`
	// ZoneUnderMaintenance holds the name of the availability zone currently under maintenance
	ZoneUnderMaintenance string `json:"zoneUnderMaintenance,omitempty"`
	// DesiredPodRevision holds the desired pod revision for pods of the given node pool.
	DesiredPodRevision int `json:"desiredPodRevision,omitempty"`
	// DesiredPodHash holds a hashed representation of the pod spec
	DesiredPodHash string `json:"desiredPodHash,omitempty"`
	// DesiredBootstrapTokenHash holds a SHA256 of the value set in environment variable BOOTSTRAP_ROOT_TOKEN_HASHED
	DesiredBootstrapTokenHash string `json:"desiredBootstrapTokenHash,omitempty"`
}

HumioNodePoolStatus shows the status of each node pool

func (*HumioNodePoolStatus) DeepCopy

func (in *HumioNodePoolStatus) DeepCopy() *HumioNodePoolStatus

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

func (*HumioNodePoolStatus) DeepCopyInto

func (in *HumioNodePoolStatus) DeepCopyInto(out *HumioNodePoolStatus)

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

type HumioNodePoolStatusList

type HumioNodePoolStatusList []HumioNodePoolStatus

HumioNodePoolStatusList holds the list of HumioNodePoolStatus types

func (HumioNodePoolStatusList) DeepCopy

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

func (HumioNodePoolStatusList) DeepCopyInto

func (in HumioNodePoolStatusList) DeepCopyInto(out *HumioNodePoolStatusList)

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

type HumioNodeSpec

type HumioNodeSpec struct {
	// Image is the desired humio container image, including the image tag.
	// The value from ImageSource takes precedence over Image.
	Image string `json:"image,omitempty"`

	// ImageSource is the reference to an external source identifying the image.
	// The value from ImageSource takes precedence over Image.
	// +optional
	ImageSource *HumioImageSource `json:"imageSource,omitempty"`

	// NodeCount is the desired number of humio cluster nodes
	// +kubebuilder:default=0
	NodeCount int `json:"nodeCount,omitempty"`

	// DataVolumePersistentVolumeClaimSpecTemplate is the PersistentVolumeClaimSpec that will be used with for the humio data volume. This conflicts with DataVolumeSource.
	DataVolumePersistentVolumeClaimSpecTemplate corev1.PersistentVolumeClaimSpec `json:"dataVolumePersistentVolumeClaimSpecTemplate,omitempty"`

	// DataVolumePersistentVolumeClaimPolicy is a policy which allows persistent volumes to be reclaimed
	DataVolumePersistentVolumeClaimPolicy HumioPersistentVolumeClaimPolicy `json:"dataVolumePersistentVolumeClaimPolicy,omitempty"`

	// DataVolumeSource is the volume that is mounted on the humio pods. This conflicts with DataVolumePersistentVolumeClaimSpecTemplate.
	DataVolumeSource corev1.VolumeSource `json:"dataVolumeSource,omitempty"`

	// AuthServiceAccountName is no longer used as the auth sidecar container has been removed.
	// Deprecated: No longer used. The value will be ignored.
	AuthServiceAccountName string `json:"authServiceAccountName,omitempty"`

	// DisableInitContainer is used to disable the init container completely which collects the availability zone from the Kubernetes worker node.
	// This is not recommended, unless you are using auto rebalancing partitions and are running in a single availability zone.
	// +kubebuilder:default=false
	DisableInitContainer bool `json:"disableInitContainer,omitempty"`

	// EnvironmentVariablesSource is the reference to an external source of environment variables that will be merged with environmentVariables
	EnvironmentVariablesSource []corev1.EnvFromSource `json:"environmentVariablesSource,omitempty"`

	// PodAnnotations can be used to specify annotations that will be added to the Humio pods
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`

	// ShareProcessNamespace can be useful in combination with SidecarContainers to be able to inspect the main Humio
	// process. This should not be enabled, unless you need this for debugging purposes.
	// https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
	ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty"`

	// HumioServiceAccountName is the name of the Kubernetes Service Account that will be attached to the Humio pods
	HumioServiceAccountName string `json:"humioServiceAccountName,omitempty"`

	// ImagePullSecrets defines the imagepullsecrets for the humio pods. These secrets are not created by the operator
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// HelperImage is the desired helper container image, including image tag
	HelperImage string `json:"helperImage,omitempty"`

	// ImagePullPolicy sets the imagePullPolicy for all the containers in the humio pod
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// ContainerSecurityContext is the security context applied to the Humio container
	ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"`

	// ContainerReadinessProbe is the readiness probe applied to the Humio container.
	// If specified and non-empty, the user-specified readiness probe will be used.
	// If specified and empty, the pod will be created without a readiness probe set.
	// Otherwise, use the built in default readiness probe configuration.
	ContainerReadinessProbe *corev1.Probe `json:"containerReadinessProbe,omitempty"`

	// ContainerLivenessProbe is the liveness probe applied to the Humio container
	// If specified and non-empty, the user-specified liveness probe will be used.
	// If specified and empty, the pod will be created without a liveness probe set.
	// Otherwise, use the built in default liveness probe configuration.
	ContainerLivenessProbe *corev1.Probe `json:"containerLivenessProbe,omitempty"`

	// ContainerStartupProbe is the startup probe applied to the Humio container
	// If specified and non-empty, the user-specified startup probe will be used.
	// If specified and empty, the pod will be created without a startup probe set.
	// Otherwise, use the built in default startup probe configuration.
	ContainerStartupProbe *corev1.Probe `json:"containerStartupProbe,omitempty"`

	// PodSecurityContext is the security context applied to the Humio pod
	PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`

	// Resources is the kubernetes resource limits for the humio pod
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// TerminationGracePeriodSeconds defines the amount of time to allow cluster pods to gracefully terminate
	// before being forcefully restarted. If using bucket storage, this should allow enough time for Humio to finish
	// uploading data to bucket storage.
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// Affinity defines the affinity policies that will be attached to the humio pods
	Affinity corev1.Affinity `json:"affinity,omitempty"`

	// Tolerations defines the tolerations that will be attached to the humio pods
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// TopologySpreadConstraints defines the topologySpreadConstraints that will be attached to the humio pods
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`

	// SidecarContainers can be used in advanced use-cases where you want one or more sidecar container added to the
	// Humio pod to help out in debugging purposes.
	SidecarContainers []corev1.Container `json:"sidecarContainer,omitempty"`

	// NodeUUIDPrefix is the prefix for the Humio Node's UUID. By default this does not include the zone. If it's
	// necessary to include zone, there is a special `Zone` variable that can be used. To use this, set `{{.Zone}}`. For
	// compatibility with pre-0.0.14 spec defaults, this should be set to `humio_{{.Zone}}`
	// Deprecated: LogScale 1.70.0 deprecated this option, and was later removed in LogScale 1.80.0
	NodeUUIDPrefix string `json:"nodeUUIDPrefix,omitempty"`

	// ExtraKafkaConfigs is a multi-line string containing kafka properties.
	// Deprecated: This underlying LogScale environment variable used by this field has been marked deprecated as of
	// LogScale 1.173.0. Going forward, it is possible to provide additional Kafka configuration through a collection
	// of new environment variables. For more details, see the LogScale release notes.
	ExtraKafkaConfigs string `json:"extraKafkaConfigs,omitempty"`

	// ExtraHumioVolumeMounts is the list of additional volume mounts that will be added to the Humio container
	ExtraHumioVolumeMounts []corev1.VolumeMount `json:"extraHumioVolumeMounts,omitempty"`

	// ExtraVolumes is the list of additional volumes that will be added to the Humio pod
	ExtraVolumes []corev1.Volume `json:"extraVolumes,omitempty"`

	// HumioServiceAccountAnnotations is the set of annotations added to the Kubernetes Service Account that will be attached to the Humio pods
	HumioServiceAccountAnnotations map[string]string `json:"humioServiceAccountAnnotations,omitempty"`

	// HumioServiceLabels is the set of labels added to the Kubernetes Service that is used to direct traffic
	// to the Humio pods
	HumioServiceLabels map[string]string `json:"humioServiceLabels,omitempty"`

	// EnvironmentVariables is the set of variables that will be supplied to all Pods in the given node pool.
	// This set is merged with fallback environment variables (for defaults in case they are not supplied in the Custom Resource),
	// and spec.commonEnvironmentVariables (for variables that should be applied to Pods of all node types).
	// Precedence is given to more environment-specific variables, i.e. spec.environmentVariables
	// (or spec.nodePools[].environmentVariables) has higher precedence than spec.commonEnvironmentVariables.
	EnvironmentVariables []corev1.EnvVar `json:"environmentVariables,omitempty"`

	// HumioServiceType is the ServiceType of the Humio Service that is used to direct traffic to the Humio pods
	HumioServiceType corev1.ServiceType `json:"humioServiceType,omitempty"`

	// HumioServicePort is the port number of the Humio Service that is used to direct traffic to the http interface of
	// the Humio pods.
	HumioServicePort int32 `json:"humioServicePort,omitempty"`

	// HumioESServicePort is the port number of the Humio Service that is used to direct traffic to the ES interface of
	// the Humio pods.
	HumioESServicePort int32 `json:"humioESServicePort,omitempty"`

	// HumioServiceAnnotations is the set of annotations added to the Kubernetes Service that is used to direct traffic
	// to the Humio pods
	HumioServiceAnnotations map[string]string `json:"humioServiceAnnotations,omitempty"`

	// InitServiceAccountName is the name of the Kubernetes Service Account that will be attached to the init container in the humio pod.
	InitServiceAccountName string `json:"initServiceAccountName,omitempty"`

	// PodLabels can be used to specify labels that will be added to the Humio pods
	PodLabels map[string]string `json:"podLabels,omitempty"`

	// UpdateStrategy controls how Humio pods are updated when changes are made to the HumioCluster resource that results
	// in a change to the Humio pods
	UpdateStrategy *HumioUpdateStrategy `json:"updateStrategy,omitempty"`

	// PriorityClassName is the name of the priority class that will be used by the Humio pods
	// +kubebuilder:default=""
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// NodePoolFeatures defines the features that are allowed by the node pool
	NodePoolFeatures HumioNodePoolFeatures `json:"nodePoolFeatures,omitempty"`

	// PodDisruptionBudget defines the PDB configuration for this node spec
	PodDisruptionBudget *HumioPodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
}

HumioNodeSpec contains a collection of various configurations that are specific to a given group of LogScale pods.

func (*HumioNodeSpec) DeepCopy

func (in *HumioNodeSpec) DeepCopy() *HumioNodeSpec

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

func (*HumioNodeSpec) DeepCopyInto

func (in *HumioNodeSpec) DeepCopyInto(out *HumioNodeSpec)

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

type HumioParser

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

	Spec   HumioParserSpec   `json:"spec,omitempty"`
	Status HumioParserStatus `json:"status,omitempty"`
}

HumioParser is the Schema for the humioparsers API.

func (*HumioParser) DeepCopy

func (in *HumioParser) DeepCopy() *HumioParser

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

func (*HumioParser) DeepCopyInto

func (in *HumioParser) DeepCopyInto(out *HumioParser)

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

func (*HumioParser) DeepCopyObject

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

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

type HumioParserList

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

HumioParserList contains a list of HumioParser.

func (*HumioParserList) DeepCopy

func (in *HumioParserList) DeepCopy() *HumioParserList

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

func (*HumioParserList) DeepCopyInto

func (in *HumioParserList) DeepCopyInto(out *HumioParserList)

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

func (*HumioParserList) DeepCopyObject

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

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

type HumioParserSpec

type HumioParserSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the parser inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ParserScript contains the code for the Humio parser
	ParserScript string `json:"parserScript,omitempty"`
	// RepositoryName defines what repository this parser should be managed in
	// +kubebuilder:validation:MinLength=1
	// +required
	RepositoryName string `json:"repositoryName,omitempty"`
	// TagFields is used to define what fields will be used to define how data will be tagged when being parsed by
	// this parser
	TagFields []string `json:"tagFields,omitempty"`
	// TestData contains example test data to verify the parser behavior
	TestData []string `json:"testData,omitempty"`
}

HumioParserSpec defines the desired state of HumioParser.

func (*HumioParserSpec) DeepCopy

func (in *HumioParserSpec) DeepCopy() *HumioParserSpec

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

func (*HumioParserSpec) DeepCopyInto

func (in *HumioParserSpec) DeepCopyInto(out *HumioParserSpec)

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

type HumioParserStatus

type HumioParserStatus struct {
	// State reflects the current state of the HumioParser
	State string `json:"state,omitempty"`
}

HumioParserStatus defines the observed state of HumioParser.

func (*HumioParserStatus) DeepCopy

func (in *HumioParserStatus) DeepCopy() *HumioParserStatus

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

func (*HumioParserStatus) DeepCopyInto

func (in *HumioParserStatus) DeepCopyInto(out *HumioParserStatus)

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

type HumioPersistentVolumeClaimPolicy

type HumioPersistentVolumeClaimPolicy struct {
	// ReclaimType is used to indicate what reclaim type should be used. This e.g. allows the user to specify if the
	// operator should automatically delete persistent volume claims if they are bound to Kubernetes worker nodes
	// that no longer exists. This can be useful in scenarios where PVC's represent a type of storage where the
	// lifecycle of the storage follows the one of the Kubernetes worker node.
	// When using persistent volume claims relying on network attached storage, this can be ignored.
	// +kubebuilder:validation:Enum=None;OnNodeDelete
	ReclaimType HumioPersistentVolumeReclaimType `json:"reclaimType,omitempty"`
}

HumioPersistentVolumeClaimPolicy contains the policy for handling persistent volumes

func (*HumioPersistentVolumeClaimPolicy) DeepCopy

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

func (*HumioPersistentVolumeClaimPolicy) DeepCopyInto

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

type HumioPersistentVolumeReclaimType

type HumioPersistentVolumeReclaimType string

HumioPersistentVolumeReclaimType is the type of reclaim which will occur on a persistent volume

type HumioPodDisruptionBudgetSpec

type HumioPodDisruptionBudgetSpec struct {
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=int-or-string
	// MinAvailable is the minimum number of pods that must be available during a disruption.
	MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"`

	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=int-or-string
	// MaxUnavailable is the maximum number of pods that can be unavailable during a disruption.
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`

	// +kubebuilder:validation:Enum=IfHealthyBudget;AlwaysAllow
	// +kubebuilder:validation:default="IfHealthyBudget"
	// UnhealthyPodEvictionPolicy defines the policy for evicting unhealthy pods.
	// Requires Kubernetes 1.26+.
	// +optional
	UnhealthyPodEvictionPolicy *string `json:"unhealthyPodEvictionPolicy,omitempty"`

	// Enabled indicates whether PodDisruptionBudget is enabled for this NodePool.
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

HumioPodDisruptionBudgetSpec defines the desired pod disruption budget configuration

func (*HumioPodDisruptionBudgetSpec) DeepCopy

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

func (*HumioPodDisruptionBudgetSpec) DeepCopyInto

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

type HumioPodStatus

type HumioPodStatus struct {
	// PodName holds the name of the pod that this is the status for.
	PodName string `json:"podName,omitempty"`
	// PvcName is the name of the persistent volume claim that is mounted in to the pod
	PvcName string `json:"pvcName,omitempty"`
	// NodeId used to refer to the value of the BOOTSTRAP_HOST_ID environment variable for a Humio instance.
	// Deprecated: No longer being used.
	NodeId int `json:"nodeId,omitempty"`
	// NodeName is the name of the Kubernetes worker node where this pod is currently running
	NodeName string `json:"nodeName,omitempty"`
}

HumioPodStatus shows the status of individual humio pods

func (*HumioPodStatus) DeepCopy

func (in *HumioPodStatus) DeepCopy() *HumioPodStatus

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

func (*HumioPodStatus) DeepCopyInto

func (in *HumioPodStatus) DeepCopyInto(out *HumioPodStatus)

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

type HumioPodStatusList

type HumioPodStatusList []HumioPodStatus

HumioPodStatusList holds the list of HumioPodStatus types

func (HumioPodStatusList) DeepCopy

func (in HumioPodStatusList) DeepCopy() HumioPodStatusList

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

func (HumioPodStatusList) DeepCopyInto

func (in HumioPodStatusList) DeepCopyInto(out *HumioPodStatusList)

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

func (HumioPodStatusList) Len

func (l HumioPodStatusList) Len() int

Len is the number of elements in the collection

func (HumioPodStatusList) Less

func (l HumioPodStatusList) Less(i, j int) bool

Less reports whether the element with index i must sort before the element with index j.

func (HumioPodStatusList) Swap

func (l HumioPodStatusList) Swap(i, j int)

Swap swaps the elements with indexes i and j

type HumioQuery

type HumioQuery struct {
	// QueryString is the Humio query that will trigger the alert
	QueryString string `json:"queryString"`
	// Start is the start time for the query. Defaults to "24h"
	Start string `json:"start,omitempty"`
	// End is the end time for the query. Defaults to "now"
	// Deprecated: Will be ignored. All alerts end at "now".
	End string `json:"end,omitempty"`
	// IsLive sets whether the query is a live query. Defaults to "true"
	// Deprecated: Will be ignored. All alerts are live.
	IsLive *bool `json:"isLive,omitempty"`
}

HumioQuery defines the desired state of the Humio query

func (*HumioQuery) DeepCopy

func (in *HumioQuery) DeepCopy() *HumioQuery

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

func (*HumioQuery) DeepCopyInto

func (in *HumioQuery) DeepCopyInto(out *HumioQuery)

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

type HumioRepository

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

	Spec   HumioRepositorySpec   `json:"spec,omitempty"`
	Status HumioRepositoryStatus `json:"status,omitempty"`
}

HumioRepository is the Schema for the humiorepositories API.

func (*HumioRepository) DeepCopy

func (in *HumioRepository) DeepCopy() *HumioRepository

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

func (*HumioRepository) DeepCopyInto

func (in *HumioRepository) DeepCopyInto(out *HumioRepository)

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

func (*HumioRepository) DeepCopyObject

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

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

type HumioRepositoryList

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

HumioRepositoryList contains a list of HumioRepository.

func (*HumioRepositoryList) DeepCopy

func (in *HumioRepositoryList) DeepCopy() *HumioRepositoryList

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

func (*HumioRepositoryList) DeepCopyInto

func (in *HumioRepositoryList) DeepCopyInto(out *HumioRepositoryList)

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

func (*HumioRepositoryList) DeepCopyObject

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

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

type HumioRepositorySpec

type HumioRepositorySpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the repository inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// Description contains the description that will be set on the repository
	// +optional
	Description string `json:"description,omitempty"`
	// Retention defines the retention settings for the repository
	Retention HumioRetention `json:"retention,omitempty"`
	// AllowDataDeletion is used as a blocker in case an operation of the operator would delete data within the
	// repository. This must be set to true before the operator will apply retention settings that will (or might)
	// cause data to be deleted within the repository.
	AllowDataDeletion bool `json:"allowDataDeletion,omitempty"`
	// AutomaticSearch is used to specify the start search automatically on loading the search page option.
	AutomaticSearch *bool `json:"automaticSearch,omitempty"`
}

HumioRepositorySpec defines the desired state of HumioRepository.

func (*HumioRepositorySpec) DeepCopy

func (in *HumioRepositorySpec) DeepCopy() *HumioRepositorySpec

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

func (*HumioRepositorySpec) DeepCopyInto

func (in *HumioRepositorySpec) DeepCopyInto(out *HumioRepositorySpec)

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

type HumioRepositoryStatus

type HumioRepositoryStatus struct {
	// State reflects the current state of the HumioRepository
	State string `json:"state,omitempty"`
}

HumioRepositoryStatus defines the observed state of HumioRepository.

func (*HumioRepositoryStatus) DeepCopy

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

func (*HumioRepositoryStatus) DeepCopyInto

func (in *HumioRepositoryStatus) DeepCopyInto(out *HumioRepositoryStatus)

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

type HumioRetention

type HumioRetention struct {
	// IngestSizeInGB sets the retention size in gigabytes measured at the time of ingest, so that would be the
	// uncompressed size of the data.
	// perhaps we should migrate to resource.Quantity? the Humio API needs float64, but that is not supported here, see more here:
	// https://github.com/kubernetes-sigs/controller-tools/issues/245
	// +kubebuilder:validation:Minimum=0
	// +optional
	IngestSizeInGB *int32 `json:"ingestSizeInGB,omitempty"`
	// StorageSizeInGB sets the retention size in gigabytes measured as disk usage. In order words, this is the
	// compressed size.
	// +kubebuilder:validation:Minimum=0
	// +optional
	StorageSizeInGB *int32 `json:"storageSizeInGB,omitempty"`
	// TimeInDays sets the data retention measured in days.
	// +kubebuilder:validation:Minimum=1
	// +optional
	TimeInDays *int32 `json:"timeInDays,omitempty"`
}

HumioRetention defines the retention for the repository. If more than one of the options are set up, it will cause LogScale to remove data as it hits any one of the size/time retention settings.

func (*HumioRetention) DeepCopy

func (in *HumioRetention) DeepCopy() *HumioRetention

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

func (*HumioRetention) DeepCopyInto

func (in *HumioRetention) DeepCopyInto(out *HumioRetention)

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

type HumioScheduledSearch

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

	Spec   HumioScheduledSearchSpec   `json:"spec,omitempty"`
	Status HumioScheduledSearchStatus `json:"status,omitempty"`
}

HumioScheduledSearch is the Schema for the humioscheduledsearches API.

func (*HumioScheduledSearch) DeepCopy

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

func (*HumioScheduledSearch) DeepCopyInto

func (in *HumioScheduledSearch) DeepCopyInto(out *HumioScheduledSearch)

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

func (*HumioScheduledSearch) DeepCopyObject

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

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

type HumioScheduledSearchList

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

HumioScheduledSearchList contains a list of HumioScheduledSearch.

func (*HumioScheduledSearchList) DeepCopy

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

func (*HumioScheduledSearchList) DeepCopyInto

func (in *HumioScheduledSearchList) DeepCopyInto(out *HumioScheduledSearchList)

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

func (*HumioScheduledSearchList) DeepCopyObject

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

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

type HumioScheduledSearchSpec

type HumioScheduledSearchSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the scheduled search inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// ViewName is the name of the Humio View under which the scheduled search will be managed. This can also be a Repository
	// +kubebuilder:validation:MinLength=1
	// +required
	ViewName string `json:"viewName"`
	// QueryString defines the desired Humio query string
	QueryString string `json:"queryString"`
	// Description is the description of the scheduled search
	// +optional
	Description string `json:"description,omitempty"`
	// QueryStart is the start of the relative time interval for the query.
	QueryStart string `json:"queryStart"`
	// QueryEnd is the end of the relative time interval for the query.
	QueryEnd string `json:"queryEnd"`
	// Schedule is the cron pattern describing the schedule to execute the query on.
	Schedule string `json:"schedule"`
	// TimeZone is the time zone of the schedule. Currently, this field only supports UTC offsets like 'UTC', 'UTC-01' or 'UTC+12:45'.
	TimeZone string `json:"timeZone"`
	// BackfillLimit is the user-defined limit, which caps the number of missed searches to backfill, e.g. in the event of a shutdown.
	BackfillLimit int `json:"backfillLimit"`
	// Enabled will set the ScheduledSearch to enabled when set to true
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`
	// Actions is the list of Humio Actions by name that will be triggered by this scheduled search
	Actions []string `json:"actions"`
	// Labels are a set of labels on the scheduled search
	Labels []string `json:"labels,omitempty"`
}

HumioScheduledSearchSpec defines the desired state of HumioScheduledSearch.

func (*HumioScheduledSearchSpec) DeepCopy

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

func (*HumioScheduledSearchSpec) DeepCopyInto

func (in *HumioScheduledSearchSpec) DeepCopyInto(out *HumioScheduledSearchSpec)

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

type HumioScheduledSearchStatus

type HumioScheduledSearchStatus struct {
	// State reflects the current state of the HumioScheduledSearch
	State string `json:"state,omitempty"`
}

HumioScheduledSearchStatus defines the observed state of HumioScheduledSearch.

func (*HumioScheduledSearchStatus) DeepCopy

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

func (*HumioScheduledSearchStatus) DeepCopyInto

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

type HumioTokenSecretSpec

type HumioTokenSecretSpec struct {
	// SecretKeyRef is the secret key reference to a kubernetes secret containing the bootstrap token secret
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

HumioTokenSecretSpec defines where the plaintext bootstrap token is stored.

func (*HumioTokenSecretSpec) DeepCopy

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

func (*HumioTokenSecretSpec) DeepCopyInto

func (in *HumioTokenSecretSpec) DeepCopyInto(out *HumioTokenSecretSpec)

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

type HumioTokenSecretStatus

type HumioTokenSecretStatus struct {
	// SecretKeyRef contains the secret key reference to a kubernetes secret containing the bootstrap token secret. This is set regardless of whether it's defined
	// in the spec or automatically created
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

HumioTokenSecretStatus contains the secret key reference to a kubernetes secret containing the bootstrap token secret. This is set regardless of whether it's defined in the spec or automatically created

func (*HumioTokenSecretStatus) DeepCopy

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

func (*HumioTokenSecretStatus) DeepCopyInto

func (in *HumioTokenSecretStatus) DeepCopyInto(out *HumioTokenSecretStatus)

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

type HumioUpdateStrategy

type HumioUpdateStrategy struct {
	// Type controls how Humio pods are updated  when changes are made to the HumioCluster resource that results
	// in a change to the Humio pods. The available values are: OnDelete, RollingUpdate, ReplaceAllOnUpdate, and
	// RollingUpdateBestEffort.
	//
	// When set to OnDelete, no Humio pods will be terminated but new pods will be created with the new spec. Replacing
	// existing pods will require each pod to be deleted by the user.
	//
	// When set to RollingUpdate, pods will always be replaced one pod at a time. There may be some Humio updates where
	// rolling updates are not supported, so it is not recommended to have this set all the time.
	//
	// When set to ReplaceAllOnUpdate, all Humio pods will be replaced at the same time during an update.
	// This is the default behavior.
	//
	// When set to RollingUpdateBestEffort, the operator will evaluate the Humio version change and determine if the
	// Humio pods can be updated in a rolling fashion or if they must be replaced at the same time.
	// +kubebuilder:validation:Enum=OnDelete;RollingUpdate;ReplaceAllOnUpdate;RollingUpdateBestEffort
	Type string `json:"type,omitempty"`

	// MinReadySeconds is the minimum time in seconds that a pod must be ready before the next pod can be deleted when doing rolling update.
	MinReadySeconds int32 `json:"minReadySeconds,omitempty"`

	// EnableZoneAwareness toggles zone awareness on or off during updates. When enabled, the pod replacement logic
	// will go through all pods in a specific zone before it starts replacing pods in the next zone.
	// If pods are failing, they bypass the zone limitation and are restarted immediately - ignoring the zone.
	// Zone awareness is enabled by default.
	EnableZoneAwareness *bool `json:"enableZoneAwareness,omitempty"`

	// MaxUnavailable is the maximum number of pods that can be unavailable during a rolling update.
	// This can be configured to an absolute number or a percentage, e.g. "maxUnavailable: 5" or "maxUnavailable: 25%".
	// +kubebuilder:default=1
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

HumioUpdateStrategy contains a set of different toggles for defining how a set of pods should be replaced during pod replacements due differences between current and desired state of pods.

func (*HumioUpdateStrategy) DeepCopy

func (in *HumioUpdateStrategy) DeepCopy() *HumioUpdateStrategy

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

func (*HumioUpdateStrategy) DeepCopyInto

func (in *HumioUpdateStrategy) DeepCopyInto(out *HumioUpdateStrategy)

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

type HumioView

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

	Spec   HumioViewSpec   `json:"spec,omitempty"`
	Status HumioViewStatus `json:"status,omitempty"`
}

HumioView is the Schema for the humioviews API.

func (*HumioView) DeepCopy

func (in *HumioView) DeepCopy() *HumioView

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

func (*HumioView) DeepCopyInto

func (in *HumioView) DeepCopyInto(out *HumioView)

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

func (*HumioView) DeepCopyObject

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

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

func (*HumioView) GetViewConnections

GetViewConnections returns the HumioView in the same format as we can fetch from GraphQL so that we can compare the custom resource HumioView with humiographql.GetSearchDomainSearchDomainViewConnectionsViewConnection.

type HumioViewConnection

type HumioViewConnection struct {
	// RepositoryName contains the name of the target repository
	// +kubebuilder:validation:MinLength=1
	// +required
	RepositoryName string `json:"repositoryName,omitempty"`
	// Filter contains the prefix filter that will be applied for the given RepositoryName
	Filter string `json:"filter,omitempty"`
}

HumioViewConnection represents a connection to a specific repository with an optional filter

func (*HumioViewConnection) DeepCopy

func (in *HumioViewConnection) DeepCopy() *HumioViewConnection

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

func (*HumioViewConnection) DeepCopyInto

func (in *HumioViewConnection) DeepCopyInto(out *HumioViewConnection)

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

type HumioViewList

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

HumioViewList contains a list of HumioView.

func (*HumioViewList) DeepCopy

func (in *HumioViewList) DeepCopy() *HumioViewList

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

func (*HumioViewList) DeepCopyInto

func (in *HumioViewList) DeepCopyInto(out *HumioViewList)

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

func (*HumioViewList) DeepCopyObject

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

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

type HumioViewSpec

type HumioViewSpec struct {
	// ManagedClusterName refers to an object of type HumioCluster that is managed by the operator where the Humio
	// resources should be created.
	// This conflicts with ExternalClusterName.
	ManagedClusterName string `json:"managedClusterName,omitempty"`
	// ExternalClusterName refers to an object of type HumioExternalCluster where the Humio resources should be created.
	// This conflicts with ManagedClusterName.
	ExternalClusterName string `json:"externalClusterName,omitempty"`
	// Name is the name of the view inside Humio
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// Description contains the description that will be set on the view
	// +optional
	Description string `json:"description,omitempty"`
	// Connections contains the connections to the Humio repositories which is accessible in this view
	Connections []HumioViewConnection `json:"connections,omitempty"`
	// AutomaticSearch is used to specify the start search automatically on loading the search page option.
	AutomaticSearch *bool `json:"automaticSearch,omitempty"`
}

HumioViewSpec defines the desired state of HumioView.

func (*HumioViewSpec) DeepCopy

func (in *HumioViewSpec) DeepCopy() *HumioViewSpec

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

func (*HumioViewSpec) DeepCopyInto

func (in *HumioViewSpec) DeepCopyInto(out *HumioViewSpec)

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

type HumioViewStatus

type HumioViewStatus struct {
	// State reflects the current state of the HumioView
	State string `json:"state,omitempty"`
}

HumioViewStatus defines the observed state of HumioView.

func (*HumioViewStatus) DeepCopy

func (in *HumioViewStatus) DeepCopy() *HumioViewStatus

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

func (*HumioViewStatus) DeepCopyInto

func (in *HumioViewStatus) DeepCopyInto(out *HumioViewStatus)

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

type VarSource

type VarSource struct {
	// SecretKeyRef allows specifying which secret and what key in that secret holds the value we want to use
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

VarSource is used to specify where a value should be pulled from

func (*VarSource) DeepCopy

func (in *VarSource) DeepCopy() *VarSource

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

func (*VarSource) DeepCopyInto

func (in *VarSource) DeepCopyInto(out *VarSource)

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