Skip to content

[Feature] wire the datalayer plugins into the configuration #136

Open
ronenkat wants to merge 28 commits into
llm-d:mainfrom
ronenkat:add-datalayer-config
Open

[Feature] wire the datalayer plugins into the configuration #136
ronenkat wants to merge 28 commits into
llm-d:mainfrom
ronenkat:add-datalayer-config

Conversation

@ronenkat
Copy link
Copy Markdown
Contributor

@ronenkat ronenkat commented May 27, 2026

What type of PR is this?
/kind feature

What this PR does / why we need it:
Replaces the hardcoded NotificationSource in cmd/runner/runner.go with a
config-driven approach. Users now declare notification-source plugins in the plugins
section and list them under a new top-level notificationSources field in the
PayloadProcessorConfig. The runner starts each configured source via the
controller-runtime manager, which guarantees Stop() is called on graceful shutdown.

Changes:

  • apix/config/v1alpha1: added NotificationSources []PluginRef field to
    PayloadProcessorConfig (and updated generated DeepCopy)
  • pkg/config: added NotificationSources []datasource.NotificationSource to Config
  • pkg/config/loader: added buildDatalayer called after buildProfiles; resolves
    plugin refs and type-asserts each to NotificationSource
  • internal/runnable: new DataSourceRunnable adapter that starts a DataSource,
    blocks until context cancellation, then calls Stop()
  • cmd/runner: loadConfiguration now returns *config.Config; replaces hardcoded
    block with a loop that registers each source with the manager
  • deploy/config/ipp-datalayer-config.yaml: example config wiring a notification-source
    with a request-metadata extractor

Which issue(s) this PR fixes:
Fixes #135

Release note (write NONE if no user-facing change):

NotificationSource plugins can now be declared in the IPP configuration file and are
started/stopped automatically as part of the manager lifecycle.

shmuelk and others added 19 commits May 26, 2026 11:46
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
@github-actions github-actions Bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. kind/feature Categorizes issue or PR as related to a new feature. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels May 27, 2026
@github-actions
Copy link
Copy Markdown

⚠️ Large PR detected

Your PR is large. Please consider breaking it into multiple PRs.

The do-not-merge/hold label has been added and can be removed by the reviewers based on their judgement.

@github-actions github-actions Bot added kind/feature Categorizes issue or PR as related to a new feature. and removed kind/feature Categorizes issue or PR as related to a new feature. labels May 27, 2026
ronenkat added 4 commits May 28, 2026 15:10
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
@github-actions github-actions Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 28, 2026
@github-actions github-actions Bot removed the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label May 28, 2026
Comment thread internal/runnable/datasource.go Outdated
ronenkat added 4 commits May 28, 2026 16:04
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
Comment thread apix/config/v1alpha1/payloadprocessorconfig_types.go Outdated
Signed-off-by: ronenkat <16743404+ronenkat@users.noreply.github.com>
@shmuelk
Copy link
Copy Markdown
Collaborator

shmuelk commented May 28, 2026

/lgtm
/approve
/hol cancel

@github-actions github-actions Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Wire the data layer plugins into the configuration and runner

2 participants