You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`ui.podSecurityContext`| object |`{}`| UI pod security context |
137
137
138
+
## Testing
139
+
140
+
The chart CI paths are also available locally from the repository root.
141
+
142
+
### Render Validation
143
+
144
+
If `helm` is already installed locally:
145
+
146
+
```bash
147
+
scripts/ci/test-helm.sh validate
148
+
```
149
+
150
+
If you want the pinned Linux CI tool version instead:
151
+
152
+
```bash
153
+
scripts/ci/setup-helm-tools.sh
154
+
scripts/ci/test-helm.sh validate
155
+
```
156
+
157
+
This runs `helm lint --strict` plus the CI render scenarios, including:
158
+
159
+
* default chart output
160
+
* all-features render
161
+
* legacy Kubernetes 1.18 API coverage
162
+
* server-only render
163
+
* UI-only render
164
+
* existing-secret render
165
+
166
+
### Runtime Smoke Test
167
+
168
+
The smoke path requires `helm`, `kind`, `kubectl`, and `curl`.
169
+
170
+
Before running the local smoke path, keep these common gotchas in mind:
171
+
172
+
* the Iggy server requires working `io_uring` support from the Kubernetes node/kernel/runtime
173
+
* the server also needs enough available memory and locked-memory headroom during startup
174
+
*`scripts/ci/test-helm.sh cleanup-smoke` removes the Helm release and smoke namespace, but it does not delete the reusable kind cluster created by `scripts/ci/setup-helm-smoke-cluster.sh`
175
+
176
+
If `helm` and `kind` are already installed:
177
+
178
+
```bash
179
+
scripts/ci/setup-helm-smoke-cluster.sh
180
+
scripts/ci/test-helm.sh smoke --cleanup
181
+
```
182
+
183
+
If you want the pinned Linux CI tool versions:
184
+
185
+
```bash
186
+
scripts/ci/setup-helm-tools.sh --install-kind
187
+
scripts/ci/setup-helm-smoke-cluster.sh
188
+
scripts/ci/test-helm.sh smoke --cleanup
189
+
```
190
+
191
+
If a previous local smoke install failed and left resources behind, reset the smoke namespace with:
192
+
193
+
```bash
194
+
scripts/ci/test-helm.sh cleanup-smoke
195
+
```
196
+
197
+
On Apple Silicon hosts, the released `apache/iggy:0.7.0``arm64` image may still fail during the runtime smoke path in kind. If your Docker setup supports amd64 emulation well enough, you can try recreating the dedicated smoke cluster with:
The smoke script defaults `IGGY_SYSTEM_SHARDING_CPU_ALLOCATION=1` for the server pod so the local kind path avoids the chart's `numa:auto` default and keeps the local runtime to a single shard, which has been more reliable on containerized local nodes. If you need a different local override, set `HELM_SMOKE_SERVER_CPU_ALLOCATION` before running `scripts/ci/test-helm.sh smoke`. Pass `--cleanup` to remove the smoke namespace after a successful run; omit it if you want to inspect the deployed resources.
204
+
205
+
On smoke-test failures you can collect the same diagnostics as CI with:
206
+
207
+
```bash
208
+
scripts/ci/test-helm.sh collect-smoke-diagnostics
209
+
```
210
+
211
+
> **Note:**`scripts/ci/setup-helm-tools.sh` currently supports Linux `x86_64` only.
212
+
> On other local platforms, install equivalent `helm` and `kind` binaries yourself and then use the same scripts above.
213
+
> The runtime smoke test may still fail on some local/containerized clusters if the node/kernel does not provide the `io_uring` support required by the server runtime even after the local sharding override, or if the local environment does not provide enough memory for the server to initialize cleanly.
214
+
138
215
## Troubleshooting
139
216
140
217
### Pod CrashLoopBackOff with "Out of memory" error
0 commit comments