Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions operator/api/loki/v1/lokistack_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,13 @@ type LokiTemplateSpec struct {
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ruler pods"
Ruler *LokiComponentSpec `json:"ruler,omitempty"`

// PatternIngester defines the pattern-ingester component spec.
//
// +optional
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Pattern-Ingester pods"
PatternIngester *LokiComponentSpec `json:"patternIngester,omitempty"`
}

// ClusterProxy is the Proxy configuration when the cluster is behind a Proxy.
Expand Down Expand Up @@ -1092,6 +1099,15 @@ type RulesSpec struct {
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

type PatternIngester struct {
// Enabled defines a flag to enable/disable the pattern-ingester component
//
// +required
// +kubebuilder:validation:Required
// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch",displayName="Enable"
Enabled bool `json:"enabled"`
}

// LokiStackSpec defines the desired state of LokiStack
type LokiStackSpec struct {
// ManagementState defines if the CR should be managed by the operator or not.
Expand Down Expand Up @@ -1190,6 +1206,13 @@ type LokiStackSpec struct {
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Network Policies"
NetworkPolicies *NetworkPoliciesSpec `json:"networkPolicies,omitempty"`

// PatternIngester defines the pattern-ingester configuration.
//
// +optional
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Pattern-Ingester"
PatternIngester *PatternIngester `json:"patternIngester,omitempty"`
}

type ReplicationSpec struct {
Expand Down Expand Up @@ -1392,6 +1415,13 @@ type LokiStackComponentStatus struct {
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Ruler",order=6
Ruler PodStatusMap `json:"ruler,omitempty"`

// PatternIngester is a map to the per pod status of the lokistack pattern ingester deployment.
//
// +optional
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Pattern Ingester",order=6
PatternIngester PodStatusMap `json:"patternIngester,omitempty"`
}

// CredentialMode represents the type of authentication used for accessing the object storage.
Expand Down
41 changes: 41 additions & 0 deletions operator/api/loki/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ metadata:
capabilities: Full Lifecycle
categories: OpenShift Optional, Logging & Tracing
certified: "false"
containerImage: docker.io/grafana/loki-operator:0.9.0
createdAt: "2025-12-03T16:22:01Z"
containerImage: docker.io/grafana/loki-operator:0.8.0
createdAt: "2025-11-28T11:49:45Z"
description: The Community Loki Operator provides Kubernetes native deployment
and management of Loki and related logging components.
operators.operatorframework.io/builder: operator-sdk-unknown
Expand Down Expand Up @@ -660,6 +660,15 @@ spec:
path: networkPolicies.ruleSet
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:text
- description: PatternIngester defines the pattern-ingester configuration.
displayName: Pattern-Ingester
path: patternIngesterSpec
- description: Enabled defines a flag to enable/disable the pattern-ingester
component
displayName: Enable
path: patternIngesterSpec.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- description: Proxy defines the spec for the object proxy to configure cluster
proxy information.
displayName: Cluster Proxy
Expand Down Expand Up @@ -860,6 +869,21 @@ spec:
path: template.ingester.replicas
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:hidden
- description: PatternIngester defines the pattern-ingester component spec.
displayName: Pattern-Ingester pods
path: template.patternIngester
- description: |-
PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
of a component.
displayName: PodAntiAffinity
path: template.patternIngester.podAntiAffinity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:podAntiAffinity
- description: Replicas defines the number of replica pods of the component.
displayName: Replicas
path: template.patternIngester.replicas
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:hidden
- description: Querier defines the querier component spec.
displayName: Querier pods
path: template.querier
Expand Down
Loading