redhat-developer / redhat-developer/rhdh-plugins
Connector Config Admin UI (issue 28 of 29)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 48
- Forks
- 120
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 337
Description
Labels: ready-to-code
Depends on: Issue 6 (#4044 Zod schemas), Issue 22 (#4060 hot-reload propagation)
RHIDP Stories: RHIDP-15342
Feature: RHDHPLAN-1513 — Epic RHIDP-15332
Create connector config section in admin panel at /admin/connectors for Jira, GitHub, and GitLab connectors with toggle switches for enable/disable, form fields for endpoint URL and sync schedule, read-only K8s Secret reference display, client-side and server-side Zod validation, RBAC gating, and config change history view from audit log.
Tasks
From openspec/changes/connector-config-hot-reload/tasks.md group 4 (RHIDP-15342):
- 4.1 Create connector config section in admin panel (
/admin/connectors) - 4.2 Implement connector list view with toggle switches for
enabledstate - 4.3 Implement connector detail view with form fields
- 4.4 Display K8s Secret references as read-only fields with tooltip
- 4.5 Implement client-side validation
- 4.6 Implement save handler: call
POST /api/boost/admin/config - 4.7 Implement success notification with propagation latency note
- 4.8 Implement validation error feedback
- 4.9 Implement RBAC gating
- 4.10 Implement read-only view for non-admin users
- 4.11 Implement config change history view
- 4.12–4.13 UI tests
From openspec/changes/connector-config-hot-reload/tasks.md group 6:
- 6.1 Extend existing
POST /api/boost/admin/configendpoint to accept connector config keys (e.g.,{ key: "boost.connectors.jira.enabled", value: false }). AddGET /api/boost/admin/config?key=boost.connectors.<connectorId>for reading merged connector config. - 6.2 Implement Zod schema validation in
setOverride()method before DB write - 6.3 Implement
configScopeenforcement: reject writes foryaml-onlyfields - 6.4 Implement cache invalidation call to
RuntimeConfigResolver.invalidate()after DB write - 6.5 Implement
removeOverride(key: BoostConfigKey)method andDELETE /api/boost/admin/config?key=<BoostConfigKey>endpoint — deletes the DB override row, callsRuntimeConfigResolver.invalidate(), and returns the reverted YAML baseline value. Used when switching schedule types (e.g., removingintervalMsoverride when switching tocron). - 6.6 Add audit logging for connector config changes (timestamp, user, changed fields, old/new values)
- 6.7 Add unit tests for
AdminConfigServiceconnector config methods (includingremoveOverride)
Specifications
openspec/changes/connector-config-hot-reload/specs/config-admin-ui/spec.md
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with openspec/changes/connector-config-hot-reload/specs/config-admin-ui/spec.md and tasks.md groups 4 and 6. Review the existing POST /api/boost/admin/config endpoint and AdminConfigService, then implement the connector views, validation, RBAC behavior, audit history, and UI and unit tests. Done means connector settings can be viewed and updated with the specified access, validation, propagation, and history behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, typescript
- Domain
- api, authorization, backend, frontend, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100