Skip to content
Merged
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
9 changes: 5 additions & 4 deletions api/v1beta1/openstacklightspeed_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,12 +181,13 @@ type OpenStackLightspeedCore struct {
LLMAPIVersion string `json:"llmAPIVersion,omitempty"`

// +kubebuilder:validation:Optional
// Disable feedback collection
FeedbackDisabled bool `json:"feedbackDisabled,omitempty"`
// +kubebuilder:default=true
// Enable feedback collection
FeedbackEnabled *bool `json:"feedbackEnabled,omitempty"`

// +kubebuilder:validation:Optional
// Disable conversation transcripts collection
TranscriptsDisabled bool `json:"transcriptsDisabled,omitempty"`
// Enable conversation transcripts collection
TranscriptsEnabled bool `json:"transcriptsEnabled,omitempty"`

// +kubebuilder:validation:Optional
// +kubebuilder:default={}
Expand Down
7 changes: 6 additions & 1 deletion api/v1beta1/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 @@ -75,8 +75,9 @@ spec:
This section is not part of the stable API and may change at any time without backward compatibility.
type: object
x-kubernetes-preserve-unknown-fields: true
feedbackDisabled:
description: Disable feedback collection
feedbackEnabled:
default: true
description: Enable feedback collection
type: boolean
llmAPIVersion:
description: LLM API Version for LLM providers that require it (e.g.,
Expand Down Expand Up @@ -171,8 +172,8 @@ spec:
tlsCACertBundle:
description: Configmap name containing a CA Certificates bundle
type: string
transcriptsDisabled:
description: Disable conversation transcripts collection
transcriptsEnabled:
description: Enable conversation transcripts collection
type: boolean
required:
- llmCredentials
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ metadata:
]
capabilities: Basic Install
categories: AI/Machine Learning
createdAt: "2026-07-09T10:17:14Z"
createdAt: "2026-07-13T09:32:13Z"
description: AI-powered virtual assistant for Red Hat OpenStack Services on OpenShift
features.operators.openshift.io/cnf: "false"
features.operators.openshift.io/cni: "false"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,9 @@ spec:
This section is not part of the stable API and may change at any time without backward compatibility.
type: object
x-kubernetes-preserve-unknown-fields: true
feedbackDisabled:
description: Disable feedback collection
feedbackEnabled:
default: true
description: Enable feedback collection
type: boolean
llmAPIVersion:
description: LLM API Version for LLM providers that require it (e.g.,
Expand Down Expand Up @@ -171,8 +172,8 @@ spec:
tlsCACertBundle:
description: Configmap name containing a CA Certificates bundle
type: string
transcriptsDisabled:
description: Disable conversation transcripts collection
transcriptsEnabled:
description: Enable conversation transcripts collection
type: boolean
required:
- llmCredentials
Expand Down
6 changes: 3 additions & 3 deletions internal/controller/lcore_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ func buildLCoreLlamaStackConfig() map[string]interface{} {
}

func buildLCoreUserDataCollectionConfig(_ *common_helper.Helper, instance *apiv1beta1.OpenStackLightspeed) map[string]interface{} {
feedbackEnabled := !instance.Spec.FeedbackDisabled
transcriptsEnabled := !instance.Spec.TranscriptsDisabled
feedbackEnabled := instance.Spec.FeedbackEnabled == nil || *instance.Spec.FeedbackEnabled
transcriptsEnabled := instance.Spec.TranscriptsEnabled

return map[string]interface{}{
"feedback_enabled": feedbackEnabled,
Expand Down Expand Up @@ -176,7 +176,7 @@ func buildLCoreConversationCacheConfig(h *common_helper.Helper, _ *apiv1beta1.Op

// isDataCollectionEnabled returns true if at least one of feedback or transcripts is enabled.
func isDataCollectionEnabled(instance *apiv1beta1.OpenStackLightspeed) bool {
return !instance.Spec.FeedbackDisabled || !instance.Spec.TranscriptsDisabled
return (instance.Spec.FeedbackEnabled == nil || *instance.Spec.FeedbackEnabled) || instance.Spec.TranscriptsEnabled
}

// buildExporterConfigMap creates the ConfigMap for the dataverse exporter sidecar.
Expand Down
2 changes: 1 addition & 1 deletion test/kuttl/common/expected-configs/lightspeed-stack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,5 +92,5 @@ service:
user_data_collection:
feedback_enabled: true
feedback_storage: /tmp/data/feedback
transcripts_enabled: true
transcripts_enabled: false
transcripts_storage: /tmp/data/transcripts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ spec:
llmProjectID: test-project-id-UPDATE
llmDeploymentName: test-deployment-name-UPDATE
llmAPIVersion: v1.1
feedbackDisabled: true
transcriptsDisabled: true
feedbackEnabled: false
transcriptsEnabled: false
logging:
ogxLogLevel: "core=debug,providers=info"
lightspeedStackLogLevel: ERROR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,8 @@ spec:
llmProjectID: test-project-id-UPDATE
llmDeploymentName: test-deployment-name-UPDATE
llmAPIVersion: v1.1
feedbackDisabled: true
transcriptsDisabled: true
feedbackEnabled: false
transcriptsEnabled: false
logging:
ogxLogLevel: "core=debug,providers=info"
lightspeedStackLogLevel: ERROR
Expand Down
Loading