Conversation
Add a regex validation to plugin_directory_marketplace_source so the Replicated console rejects URIs that won't resolve. Only github://, https://, and http:// are supported by the catalog loader; file:// was previously mentioned in help text but isn't a valid runtime input.
all-hands-bot
left a comment
There was a problem hiding this comment.
🟡 Acceptable approach, but needs verification before merge
The validation pattern itself is clean and appropriate, but removing file:// support requires investigation of the actual catalog loader implementation to avoid breaking existing deployments.
Code Review AnalysisTaste Rating🟡 Acceptable - Clean validation pattern, but scope requires verification [CRITICAL ISSUES][replicated/config.yaml, Line 678] Breaking Change - Unverified: Removing
Required before merge:
[TESTING GAPS][PR description] No Evidence: The PR description doesn't include proof that:
Recommended testing (if accessible): # Test valid inputs
github://openhands/plugins
https://raw.githubusercontent.com/openhands/plugins/main/catalog.json
http://internal-catalog-server/plugins.json
# Test invalid inputs (should be rejected)
gitub://typo/repo
file:///local/path/catalog.json
ftp://unsupported-scheme[RISK ASSESSMENT]Overall PR: Risk factors:
Mitigation:
VERDICT❌ Needs verification before merge: The validation pattern is sound, but the scope (which schemes to allow) must be verified against the actual catalog loader implementation to avoid breaking existing deployments. Once verification is complete, this is a good improvement - catching config errors early is pragmatic and user-friendly. KEY INSIGHTDon't break userspace: verify the catalog loader implementation before removing a documented URL scheme, even if you suspect it was never actually supported.
|
all-hands-bot
left a comment
There was a problem hiding this comment.
🟢 Good taste
Simple validation that correctly matches the documented URL schemes. Previous concerns about validation scope and file:// removal have been addressed.
[RISK ASSESSMENT]
- [Overall PR]
⚠️ Risk Assessment: 🟡 MEDIUM
Client-side validation with low risk of breaking existing functionality. The worst case (false-positive rejection) would be immediately visible during configuration. Manual testing evidence would be valuable but is not blocking given the simplicity of the change.
VERDICT:
✅ Worth merging
KEY INSIGHT:
Enforcing constraints at the configuration layer prevents invalid state from entering the system.
Description
The
plugin_directory_marketplace_sourcefield on the Replicated config is free-form text. This adds a regex on the field so the Replicated console rejects invalid input at configuration time.The accepted schemes (
github://,https://,http://) match what the catalog loader supports.file://is removed because it's only supported for local dev for now.Helm Chart Checklist
versionfield inChart.yamlfor each modified chart