From adc70d015a0f51aa60723618f0e765d7db1916bc Mon Sep 17 00:00:00 2001 From: Sergey Yedrikov Date: Thu, 9 Oct 2025 00:06:34 -0400 Subject: [PATCH] OLS-2166: even in debug mode, OLS server never indicates BYOK indexes are loaded --- internal/controller/ols_app_server_assets.go | 14 ++++++++------ internal/controller/ols_app_server_assets_test.go | 10 ++++++++-- internal/controller/types.go | 2 ++ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/internal/controller/ols_app_server_assets.go b/internal/controller/ols_app_server_assets.go index dcc1a5f84..d41361dff 100644 --- a/internal/controller/ols_app_server_assets.go +++ b/internal/controller/ols_app_server_assets.go @@ -244,17 +244,19 @@ func (r *OLSConfigReconciler) generateOLSConfigMap(ctx context.Context, cr *olsv referenceIndex := ReferenceIndex{ ProductDocsIndexPath: filepath.Join(RAGVolumeMountPath, fmt.Sprintf("rag-%d", i)), ProductDocsIndexId: index.IndexID, + ProductDocsOrigin: index.Image, } referenceIndexes = append(referenceIndexes, referenceIndex) } - // OCP documentation is always available - ocpReferenceIndex := ReferenceIndex{ - ProductDocsIndexPath: "/app-root/vector_db/ocp_product_docs/" + r.Options.OpenShiftMajor + "." + r.Options.OpenshiftMinor, - ProductDocsIndexId: "ocp-product-docs-" + r.Options.OpenShiftMajor + "_" + r.Options.OpenshiftMinor, + if !cr.Spec.OLSConfig.ByokRAGOnly { + ocpReferenceIndex := ReferenceIndex{ + ProductDocsIndexPath: "/app-root/vector_db/ocp_product_docs/" + r.Options.OpenShiftMajor + "." + r.Options.OpenshiftMinor, + ProductDocsIndexId: "ocp-product-docs-" + r.Options.OpenShiftMajor + "_" + r.Options.OpenshiftMinor, + ProductDocsOrigin: "Red Hat OpenShift " + r.Options.OpenShiftMajor + "." + r.Options.OpenshiftMinor + " documentation", + } + referenceIndexes = append(referenceIndexes, ocpReferenceIndex) } - referenceIndexes = append(referenceIndexes, ocpReferenceIndex) - olsConfig := OLSConfig{ DefaultModel: cr.Spec.OLSConfig.DefaultModel, DefaultProvider: cr.Spec.OLSConfig.DefaultProvider, diff --git a/internal/controller/ols_app_server_assets_test.go b/internal/controller/ols_app_server_assets_test.go index 28a1830d1..7249c8fa2 100644 --- a/internal/controller/ols_app_server_assets_test.go +++ b/internal/controller/ols_app_server_assets_test.go @@ -135,6 +135,7 @@ var _ = Describe("App server assets", func() { { ProductDocsIndexId: "ocp-product-docs-" + major + "_" + minor, ProductDocsIndexPath: "/app-root/vector_db/ocp_product_docs/" + major + "." + minor, + ProductDocsOrigin: "Red Hat OpenShift 123.456 documentation", }, }, }, @@ -838,17 +839,20 @@ var _ = Describe("App server assets", func() { ocpIndex := ReferenceIndex{ ProductDocsIndexId: "ocp-product-docs-" + major + "_" + minor, ProductDocsIndexPath: "/app-root/vector_db/ocp_product_docs/" + major + "." + minor, + ProductDocsOrigin: "Red Hat OpenShift 123.456 documentation", } // OLS-1823: prioritize BYOK content over OCP docs Expect(olsconfigGenerated.OLSConfig.ReferenceContent.Indexes).To(Equal([]ReferenceIndex{ - ReferenceIndex{ + { ProductDocsIndexId: "ocp-product-docs-4_19", ProductDocsIndexPath: RAGVolumeMountPath + "/rag-0", + ProductDocsOrigin: "rag-ocp-product-docs:4.19", }, - ReferenceIndex{ + { ProductDocsIndexId: "ansible-docs-2_18", ProductDocsIndexPath: RAGVolumeMountPath + "/rag-1", + ProductDocsOrigin: "rag-ansible-docs:2.18", }, ocpIndex, })) @@ -1068,6 +1072,7 @@ ols_config: indexes: - product_docs_index_id: ocp-product-docs-` + major + `_` + minor + ` product_docs_index_path: /app-root/vector_db/ocp_product_docs/` + major + `.` + minor + ` + product_docs_origin: Red Hat OpenShift 123.456 documentation tls_config: tls_certificate_path: /etc/certs/lightspeed-tls/tls.crt tls_key_path: /etc/certs/lightspeed-tls/tls.key @@ -1127,6 +1132,7 @@ ols_config: indexes: - product_docs_index_id: ocp-product-docs-` + major + `_` + minor + ` product_docs_index_path: /app-root/vector_db/ocp_product_docs/` + major + `.` + minor + ` + product_docs_origin: Red Hat OpenShift 123.456 documentation tls_config: tls_certificate_path: /etc/certs/lightspeed-tls/tls.crt tls_key_path: /etc/certs/lightspeed-tls/tls.key diff --git a/internal/controller/types.go b/internal/controller/types.go index 675571dbf..556b0da84 100644 --- a/internal/controller/types.go +++ b/internal/controller/types.go @@ -191,6 +191,8 @@ type ReferenceIndex struct { ProductDocsIndexPath string `json:"product_docs_index_path,omitempty"` // Name of the index to load. ProductDocsIndexId string `json:"product_docs_index_id,omitempty"` + // Where the database was copied from, i.e. BYOK image name. + ProductDocsOrigin string `json:"product_docs_origin,omitempty"` } type ReferenceContent struct {