redhat-developer / redhat-developer/rhdh-plugins

Hot-Reload Propagation to Active Connectors (issue 22 of 29)

Open
#4,060 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

blocked workspace/boost
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, RuntimeConfigResolver)
RHIDP Stories: RHIDP-15341
Feature: RHDHPLAN-1513 — Epic RHIDP-15332

Update Jira, GitHub, and GitLab entity providers to read config via RuntimeConfigResolver.resolve() (leaf keys like boost.connectors.jira.enabled) at each reconciliation cycle start, implementing enable/disable check, endpoint URL propagation, schedule change propagation (reschedule task with new schedule.intervalMs or schedule.cron), credential re-read from mounted Secret per cycle, and config change logging.

Tasks

From openspec/changes/connector-config-hot-reload/tasks.md group 3 (RHIDP-15341):

  • 3.1 Update Jira entity provider to read config via RuntimeConfigResolver.resolve('boost.connectors.jira.enabled') (and other leaf keys) at reconciliation cycle start
  • 3.2 Implement enable/disable check: skip sync if enabled: false
  • 3.3 Implement endpoint URL propagation
  • 3.4 Implement schedule change propagation: reschedule task with new schedule.intervalMs or schedule.cron from merged config
  • 3.5 Update GitHub entity provider with same hot-reload pattern
  • 3.6 Update GitLab entity provider with same hot-reload pattern
  • 3.7 Add config change logging: log old → new values
  • 3.8 Implement credential re-read: provider reads mounted Secret file at each cycle start
  • 3.9–3.11 Integration tests: disable connector, change endpoint, change schedule
  • 3.12 Document propagation latency: 30s TTL + reconciliation interval

From openspec/changes/connector-config-hot-reload/tasks.md group 5 (RHIDP-15341):

  • 5.1 Integration test: update K8s Secret content, wait for kubelet sync, verify new credentials
  • 5.2 Document credential rotation latency
  • 5.3 Add manual test procedure: emergency credential rotation with pod restart
Specifications
  • openspec/changes/connector-config-hot-reload/specs/hot-reload-propagation/spec.md

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with openspec/changes/connector-config-hot-reload/tasks.md group 3 and group 5, then read specs/hot-reload-propagation/spec.md. Inspect the Jira, GitHub, and GitLab entity provider entry points and their integration tests. Done means each provider handles config, schedule, endpoint, enablement, logging, credential refresh, latency documentation, and the listed rotation tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, typescript
Domain
backend, devops, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.