Skip to content

Commit 1a744ff

Browse files
IxDayclaude
andauthored
feat(lago-rails): add global.meilisearch.search toggle for LAGO_MEILISEARCH_SEARCH_ENABLED (#236)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent fc82afa commit 1a744ff

4 files changed

Lines changed: 93 additions & 1 deletion

File tree

charts/lago-rails/templates/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ spec:
386386
name: {{ include "lago-rails.configMapName" . }}
387387
key: meilisearch.endpoint
388388
- name: LAGO_MEILISEARCH_SEARCH_ENABLED
389-
value: "true"
389+
value: {{ .Values.global.meilisearch.search | quote }}
390390
- name: LAGO_MEILISEARCH_API_KEY
391391
valueFrom:
392392
secretKeyRef:
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
suite: Test LAGO_MEILISEARCH_SEARCH_ENABLED projection
2+
templates:
3+
- templates/deployment.yaml
4+
values:
5+
- ../values.yaml
6+
7+
# Common values that any deployment render needs; parked here so each
8+
# test doesn't re-set them.
9+
set:
10+
global.meilisearch.enabled: true
11+
global.meilisearch.url: "http://meilisearch.meilisearch.svc.cluster.local:7700"
12+
global.meilisearch.apiKey: "test-key"
13+
14+
tests:
15+
# ============================================================================
16+
# global.meilisearch.search
17+
# ============================================================================
18+
- it: should project LAGO_MEILISEARCH_SEARCH_ENABLED="true" by default
19+
values:
20+
- ./fixtures/required.yaml
21+
asserts:
22+
- contains:
23+
path: spec.template.spec.containers[0].env
24+
content:
25+
name: LAGO_MEILISEARCH_SEARCH_ENABLED
26+
value: "true"
27+
28+
- it: should project LAGO_MEILISEARCH_SEARCH_ENABLED="false" when global.meilisearch.search=false
29+
values:
30+
- ./fixtures/required.yaml
31+
set:
32+
global.meilisearch.search: false
33+
asserts:
34+
- contains:
35+
path: spec.template.spec.containers[0].env
36+
content:
37+
name: LAGO_MEILISEARCH_SEARCH_ENABLED
38+
value: "false"
39+
40+
# LAGO_MEILISEARCH_URL and LAGO_MEILISEARCH_API_KEY stay wired even when
41+
# search is false — the workload can still hit Meilisearch for
42+
# non-search paths (e.g. indexing from a worker); only the read-side is
43+
# disabled.
44+
- it: should still project URL + API_KEY when search=false
45+
values:
46+
- ./fixtures/required.yaml
47+
set:
48+
global.meilisearch.search: false
49+
asserts:
50+
- contains:
51+
path: spec.template.spec.containers[0].env
52+
content:
53+
name: LAGO_MEILISEARCH_URL
54+
valueFrom:
55+
configMapKeyRef:
56+
name: RELEASE-NAME-lago-config
57+
key: meilisearch.endpoint
58+
- contains:
59+
path: spec.template.spec.containers[0].env
60+
content:
61+
name: LAGO_MEILISEARCH_API_KEY
62+
valueFrom:
63+
secretKeyRef:
64+
name: RELEASE-NAME-lago-config
65+
key: meilisearch.apiKey
66+
67+
# When Meilisearch is globally disabled, the whole env block is elided
68+
# regardless of `search`.
69+
- it: should not project the block when global.meilisearch.enabled=false
70+
values:
71+
- ./fixtures/required.yaml
72+
set:
73+
global.meilisearch.enabled: false
74+
asserts:
75+
- notContains:
76+
path: spec.template.spec.containers[0].env
77+
content:
78+
name: LAGO_MEILISEARCH_SEARCH_ENABLED
79+
- notContains:
80+
path: spec.template.spec.containers[0].env
81+
content:
82+
name: LAGO_MEILISEARCH_URL

charts/lago-rails/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,11 @@ global:
238238
# `LAGO_MEILISEARCH_API_KEY` on every Rails workload.
239239
# @section -- Meilisearch
240240
enabled: false
241+
# -- Projected as `LAGO_MEILISEARCH_SEARCH_ENABLED`. Set to
242+
# `false` to stop serving search queries while keeping indexing
243+
# wired (URL + API key unchanged).
244+
# @section -- Meilisearch
245+
search: true
241246
# -- Meilisearch endpoint URL (e.g.
242247
# `http://meilisearch.meilisearch.svc.cluster.local:7700`).
243248
# @section -- Meilisearch

charts/lago/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,11 @@ global:
296296
# `LAGO_MEILISEARCH_API_KEY` on every Rails workload.
297297
# @section -- Meilisearch
298298
enabled: false
299+
# -- Projected as `LAGO_MEILISEARCH_SEARCH_ENABLED`. Set to
300+
# `false` to stop serving search queries while keeping indexing
301+
# wired (URL + API key unchanged).
302+
# @section -- Meilisearch
303+
search: true
299304
# -- Meilisearch endpoint URL (e.g.
300305
# `http://meilisearch.meilisearch.svc.cluster.local:7700`).
301306
# @section -- Meilisearch

0 commit comments

Comments
 (0)