Skip to content
This repository was archived by the owner on Jul 13, 2026. It is now read-only.

Commit 9912eb3

Browse files
committed
Allow feedback/transcripts to be disabled
This patch adds two new configuration options to OpenStack Lightspeed config: * FeedbackDisabled: If set to true, disable feedback collection * TranscriptsDisabled: If set to true, disable conversation transcripts collection Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
1 parent baa27ee commit 9912eb3

8 files changed

Lines changed: 41 additions & 1 deletion

File tree

api/v1beta1/openstacklightspeed_types.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ type OpenStackLightspeedCore struct {
8989
// +kubebuilder:validation:Optional
9090
// LLM API Version for LLM providers that require it (e.g., Microsoft Azure OpenAI)
9191
LLMAPIVersion string `json:"llmAPIVersion,omitempty"`
92+
93+
// +kubebuilder:validation:Optional
94+
// Disable feedback collection
95+
FeedbackDisabled bool `json:"feedbackDisabled,omitempty"`
96+
97+
// +kubebuilder:validation:Optional
98+
// Disable conversation transcripts collection
99+
TranscriptsDisabled bool `json:"transcriptsDisabled,omitempty"`
92100
}
93101

94102
// OpenStackLightspeedStatus defines the observed state of OpenStackLightspeed

bundle/manifests/lightspeed.openstack.org_openstacklightspeeds.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ spec:
5858
description: Namespace where the CatalogSource containing the OLS
5959
operator is located
6060
type: string
61+
feedbackDisabled:
62+
description: Disable feedback collection
63+
type: boolean
6164
llmAPIVersion:
6265
description: LLM API Version for LLM providers that require it (e.g.,
6366
Microsoft Azure OpenAI)
@@ -103,6 +106,9 @@ spec:
103106
tlsCACertBundle:
104107
description: Configmap name containing a CA Certificates bundle
105108
type: string
109+
transcriptsDisabled:
110+
description: Disable conversation transcripts collection
111+
type: boolean
106112
required:
107113
- llmCredentials
108114
- llmEndpoint

bundle/manifests/openstack-lightspeed-operator.clusterserviceversion.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ metadata:
2424
}
2525
]
2626
capabilities: Basic Install
27-
createdAt: "2026-01-08T13:07:00Z"
27+
createdAt: "2026-01-16T13:55:22Z"
2828
operatorframework.io/suggested-namespace: openshift-lightspeed
2929
operators.operatorframework.io/builder: operator-sdk-v1.38.0
3030
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4

config/crd/bases/lightspeed.openstack.org_openstacklightspeeds.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ spec:
5858
description: Namespace where the CatalogSource containing the OLS
5959
operator is located
6060
type: string
61+
feedbackDisabled:
62+
description: Disable feedback collection
63+
type: boolean
6164
llmAPIVersion:
6265
description: LLM API Version for LLM providers that require it (e.g.,
6366
Microsoft Azure OpenAI)
@@ -103,6 +106,9 @@ spec:
103106
tlsCACertBundle:
104107
description: Configmap name containing a CA Certificates bundle
105108
type: string
109+
transcriptsDisabled:
110+
description: Disable conversation transcripts collection
111+
type: boolean
106112
required:
107113
- llmCredentials
108114
- llmEndpoint

internal/controller/funcs.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,18 @@ func PatchOLSConfig(
216216
return err
217217
}
218218

219+
// Disable or enable feedback collection
220+
err = uns.SetNestedField(olsConfig.Object, instance.Spec.FeedbackDisabled, "spec", "ols", "userDataCollection", "feedbackDisabled")
221+
if err != nil {
222+
return err
223+
}
224+
225+
// Disable or enable transcripts collection
226+
err = uns.SetNestedField(olsConfig.Object, instance.Spec.TranscriptsDisabled, "spec", "ols", "userDataCollection", "transcriptsDisabled")
227+
if err != nil {
228+
return err
229+
}
230+
219231
// Add info which OpenStackLightspeed instance owns the OLSConfig
220232
labels := olsConfig.GetLabels()
221233
updatedLabels := map[string]interface{}{

test/kuttl/common/openstack-lightspeed-instance/assert-openstack-lightspeed-instance.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ spec:
2929
- image: quay.io/openstack-lightspeed/rag-content:os-docs-2025.2
3030
indexID: ""
3131
indexPath: /rag/vector_db/os_product_docs
32+
userDataCollection:
33+
feedbackDisabled: false
34+
transcriptsDisabled: false
3235
status:
3336
conditions:
3437
- type: ConsolePluginReady

test/kuttl/tests/update-openstacklightspeed/04-update-openstack-lightspeed-instance.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ spec:
1313
llmProjectID: test-project-id-UPDATE
1414
llmDeploymentName: test-deployment-name-UPDATE
1515
llmAPIVersion: v1.1
16+
feedbackDisabled: true
17+
transcriptsDisabled: true

test/kuttl/tests/update-openstacklightspeed/05-assert-olsconfig-update.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@ spec:
2929
- image: quay.io/openstack-lightspeed/rag-content:os-docs-2025.2
3030
indexID: ""
3131
indexPath: /rag/vector_db/os_product_docs
32+
userDataCollection:
33+
feedbackDisabled: true
34+
transcriptsDisabled: true

0 commit comments

Comments
 (0)