fix(FR-621): add ssl_verify checkbox to Container Registry Editor Modal#7354
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
There was a problem hiding this comment.
Pull request overview
Adds a UI control to configure SSL certificate verification for container registries, wiring the new ssl_verify value through the Container Registry Editor modal’s form initialization and create/modify mutations.
Changes:
- Add
ssl_verifyto the registry editor form model, initial values, and mutation variables. - Add an “SSL Verification” checkbox to the Container Registry Editor modal UI.
- Introduce new i18n strings for the checkbox label/description (currently English only).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| resources/i18n/en.json | Adds English translation keys for the new SSL verification checkbox. |
| react/src/components/ContainerRegistryEditorModal.tsx | Adds ssl_verify field to the form, initializes it, and submits it in create/modify mutations with a new checkbox UI. |
Merge activity
|
…al (#7354) Resolves #3302(FR-621) ## Summary The `ssl_verify` field is exposed in the GraphQL schema (V2 create/modify inputs) and the Container Registry fragment already selects it, but the Add/Modify modal had no UI control to set it. Customers running in-house registries with self-signed or private certificates could not disable SSL verification through the WebUI, which blocked registry registration and image pulls. ## Changes - Add `ssl_verify` checkbox to `ContainerRegistryEditorModal` (placed just above the `is_global` field). - Wire `ssl_verify` into form `initialValues` for both create and modify paths, defaulting to `true` (verification enabled — safer default). - Send `ssl_verify` in both create and modify mutation variables. - Add i18n keys `registry.SSLVerify` and `registry.SSLVerifyDescription` to `en.json`. Other locales will be handled via `/fw:i18n`. ## Review feedback applied - **Display semantics**: Legacy rows with `null` `ssl_verify` now display the checkbox as **unchecked**. This matches the backend runtime, which treats `null` the same as `false` and disables SSL verification (`container_registry/base.py:117` — `if not self.registry_info.ssl_verify: ssl_ctx = False`). The previous `?? true` default visually misrepresented these legacy registries as having SSL verification enabled. Create-path default remains `true`. - **Copy update**: i18n label changed from `"SSL Verification"` → `"Verify SSL Certificate"`, and description changed from `"Verify SSL certificate when connecting to this registry"` → `"Disable only for registries with self-signed or private certificates."` to match the action-statement + behavior-clarifier pattern used by the adjacent `IsGlobal` field. ## Files changed - `react/src/components/ContainerRegistryEditorModal.tsx` - `resources/i18n/en.json` ## Verification - `bash scripts/verify.sh` — Relay PASS, Lint PASS, Format PASS. The TypeScript failures reported are pre-existing on `main` (in `packages/backend.ai-client/src/client.ts` and `react/src/components/DeleteForeverVFolderModalV2.tsx`) and unrelated to this change. ## Screenshots **Add Registry modal — new "Verify SSL Certificate" checkbox**  **Modify Registry modal — reflects current DB state (checked when `ssl_verify === true`)** 
42996c6 to
4ff04e7
Compare

Resolves #3302(FR-621)
Summary
The
ssl_verifyfield is exposed in the GraphQL schema (V2 create/modify inputs) and the Container Registry fragment already selects it, but the Add/Modify modal had no UI control to set it. Customers running in-house registries with self-signed or private certificates could not disable SSL verification through the WebUI, which blocked registry registration and image pulls.Changes
ssl_verifycheckbox toContainerRegistryEditorModal(placed just above theis_globalfield).ssl_verifyinto forminitialValuesfor both create and modify paths, defaulting totrue(verification enabled — safer default).ssl_verifyin both create and modify mutation variables.registry.SSLVerifyandregistry.SSLVerifyDescriptiontoen.json. Other locales will be handled via/fw:i18n.Review feedback applied
nullssl_verifynow display the checkbox as unchecked. This matches the backend runtime, which treatsnullthe same asfalseand disables SSL verification (container_registry/base.py:117—if not self.registry_info.ssl_verify: ssl_ctx = False). The previous?? truedefault visually misrepresented these legacy registries as having SSL verification enabled. Create-path default remainstrue."SSL Verification"→"Verify SSL Certificate", and description changed from"Verify SSL certificate when connecting to this registry"→"Disable only for registries with self-signed or private certificates."to match the action-statement + behavior-clarifier pattern used by the adjacentIsGlobalfield.Files changed
react/src/components/ContainerRegistryEditorModal.tsxresources/i18n/en.jsonVerification
bash scripts/verify.sh— Relay PASS, Lint PASS, Format PASS. The TypeScript failures reported are pre-existing onmain(inpackages/backend.ai-client/src/client.tsandreact/src/components/DeleteForeverVFolderModalV2.tsx) and unrelated to this change.Screenshots
Add Registry modal — new "Verify SSL Certificate" checkbox
Modify Registry modal — reflects current DB state (checked when
ssl_verify === true)