diff --git a/helm/flowfuse/templates/configmap.yaml b/helm/flowfuse/templates/configmap.yaml index c22863f3..a14907de 100644 --- a/helm/flowfuse/templates/configmap.yaml +++ b/helm/flowfuse/templates/configmap.yaml @@ -326,6 +326,10 @@ data: expert: enabled: {{ .Values.forge.expert.enabled | default false }} {{- if .Values.forge.expert.enabled }} + {{- if ((.Values.forge.expert).insights).enabled }} + insights: + enabled: {{ .Values.forge.expert.insights.enabled | default false }} + {{- end }} service: token: <%= ENV['EXPERT_TOKEN'] %> url: {{ ((.Values.forge.expert).service).url }} diff --git a/helm/flowfuse/tests/expert_feature_test.yaml b/helm/flowfuse/tests/expert_feature_test.yaml index 67435cae..512352f8 100644 --- a/helm/flowfuse/tests/expert_feature_test.yaml +++ b/helm/flowfuse/tests/expert_feature_test.yaml @@ -274,4 +274,62 @@ tests: secretKeyRef: name: flowfuse-secrets key: token - optional: true \ No newline at end of file + optional: true + + - it: should not include insights configuration when insights key is absent + template: configmap.yaml + set: + forge.expert: + enabled: true + service: + url: "https://expert.example.com" + token: "test-token" + asserts: + - notMatchRegex: + path: data["flowforge.yml"] + pattern: "insights:" + + - it: should not include insights configuration when insights.enabled is false + template: configmap.yaml + set: + forge.expert: + enabled: true + service: + url: "https://expert.example.com" + token: "test-token" + insights: + enabled: false + asserts: + - notMatchRegex: + path: data["flowforge.yml"] + pattern: "insights:" + + - it: should include insights configuration when expert and insights are both enabled + template: configmap.yaml + set: + forge.expert: + enabled: true + service: + url: "https://expert.example.com" + token: "test-token" + insights: + enabled: true + asserts: + - matchRegex: + path: data["flowforge.yml"] + pattern: "insights:" + - matchRegex: + path: data["flowforge.yml"] + pattern: "insights:\\n\\s+enabled: true" + + - it: should not include insights configuration when expert is disabled + template: configmap.yaml + set: + forge.expert: + enabled: false + insights: + enabled: true + asserts: + - notMatchRegex: + path: data["flowforge.yml"] + pattern: "insights:"