Skip to content

[release-1.7] RHDH-Local and Orchestrator Integration - #69

Merged
rm3l merged 31 commits into
redhat-developer:release-1.7from
openshift-cherrypick-robot:cherry-pick-55-to-release-1.7
Jul 18, 2025
Merged

[release-1.7] RHDH-Local and Orchestrator Integration#69
rm3l merged 31 commits into
redhat-developer:release-1.7from
openshift-cherrypick-robot:cherry-pick-55-to-release-1.7

Conversation

@openshift-cherrypick-robot

@openshift-cherrypick-robot openshift-cherrypick-robot commented Jul 18, 2025

Copy link
Copy Markdown
Contributor

This is an automated cherry-pick of #55

/assign rm3l

Summary by Sourcery

Integrate Orchestrator into RHDH Local by adding dynamic plugin configurations, orchestration workflows, supporting compose files, and accompanying documentation and examples

New Features:

  • Add dynamic-plugins-orchestrator.yaml to include Orchestrator plugins in the dynamic plugin setup
  • Introduce compose-with-orchestrator.yaml to launch the Sonataflow container for workflow development
  • Provide rhdho-workflow-examples with greeting, Slack, and GitHub workflows along with application configs, schemas, and specs

CI:

  • Add (commented out) orchestrator-workflow job in the CI test workflow to exercise the Orchestrator compose scenario

Documentation:

  • Update main README to explain Orchestrator plugin overrides and link to the new Orchestrator Workflow Guide
  • Add additional-config-guides/orchestrator-workflow-guide.md detailing setup and usage of Orchestrator workflows
  • Include rhdho-workflow-examples/README.md to describe example workflows and prerequisites

@sourcery-ai

sourcery-ai Bot commented Jul 18, 2025

Copy link
Copy Markdown
Contributor

Reviewer's Guide

This PR backports orchestrator integration to the release-1.7 branch by supplying a new dynamic plugin config, a compose override to launch Sonataflow, example Serverless Workflows with accompanying project files, and updated documentation; the CI pipeline is also adjusted to skip the orchestrator workflow job.

Class diagram for dynamic plugin orchestrator configuration

classDiagram
  class DynamicPluginsConfig {
    +includes: string[]
    +plugins: PluginConfig[]
  }
  class PluginConfig {
    +package: string
    +integrity: string
    +disabled: bool
    +pluginConfig: object
  }
  class OrchestratorFrontendConfig {
    +appIcons: object[]
    +dynamicRoutes: object[]
  }
  class OrchestratorBackendConfig {
    +dataIndexService: object
  }
  DynamicPluginsConfig --> PluginConfig
  PluginConfig --> OrchestratorFrontendConfig : frontend
  PluginConfig --> OrchestratorBackendConfig : backend
Loading

File-Level Changes

Change Details Files
Orchestrator plugin integration setup
  • Added dynamic-plugins-orchestrator.yaml to include orchestrator plugins
  • Introduced compose-with-orchestrator.yaml to launch the Sonataflow container alongside RHDH Local
  • Included three example Serverless Workflow definitions and mounted example project under rhdho-workflow-examples
configs/dynamic-plugins/dynamic-plugins-orchestrator.yaml
compose-with-orchestrator.yaml
rhdho-workflow-examples/greeting.sw.yaml
rhdho-workflow-examples/slack.sw.yaml
rhdho-workflow-examples/github.sw.yaml
rhdho-workflow-examples/README.md
rhdho-workflow-examples/application.properties
rhdho-workflow-examples/application-dev.properties
rhdho-workflow-examples/schemas/github-input-schema.json
rhdho-workflow-examples/schemas/greeting-input-schema.json
rhdho-workflow-examples/schemas/slack-input-schema.json
rhdho-workflow-examples/specs/github-openapi.json
rhdho-workflow-examples/specs/slack-openapi.json
Documentation updates for orchestrator support
  • Updated README.md with instructions to copy orchestrator dynamic plugin overrides and link to new guide
  • Added detailed orchestrator-workflow-guide.md under additional-config-guides
  • Provided example project README with workflow prerequisites
README.md
additional-config-guides/orchestrator-workflow-guide.md
rhdho-workflow-examples/README.md
CI pipeline adjustment
  • Disabled the orchestrator-workflow job in GitHub Actions test workflow
.github/workflows/test.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@openshift-ci
openshift-ci Bot requested review from Fortune-Ndlovu and rm3l July 18, 2025 16:07

@rm3l rm3l left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Jul 18, 2025
@rm3l
rm3l merged commit 18aae41 into redhat-developer:release-1.7 Jul 18, 2025
13 checks passed
@benwilcock

Copy link
Copy Markdown
Contributor

RHDH Local doesn't usually have "release" branches, because its not a product. Is there some reason why we felt it necessary to lockstep its release cadence with RHDH?

@rm3l

rm3l commented Jul 21, 2025

Copy link
Copy Markdown
Member

RHDH Local doesn't usually have "release" branches, because its not a product. Is there some reason why we felt it necessary to lockstep its release cadence with RHDH?

@benwilcock I am confused. Wasn't this a PM request to include rhdh-local in the release process (branching/tagging) (RHIDP-7829)?
Sure, it is not a product, but I guess we will still need to tag it at some point, as main may not always be stable, no?
cc @nickboldt

@benwilcock

Copy link
Copy Markdown
Contributor

Not exactly. There was a request to make sure that the RHDH container image got updated in the config when new RHDH container images come out - to prevent local lagging behind. But there was no ask to create "releases" for RHDH local - it's not a product. Changes here are made when they're ready, not on a schedule.

@benwilcock

Copy link
Copy Markdown
Contributor

Main should always be stable. It's the default people clone from.

@rm3l

rm3l commented Jul 21, 2025

Copy link
Copy Markdown
Member

Main should always be stable. It's the default people clone from.

🤔 It should be, yes - and we all strive for that in all the different repos. But not sure we can assume that main is always stable, especially without automated testing to enforce it. For example, #55 (comment) explicitly skipped a test case, and I think the other PR integrating “Developer Lightspeed” has no tests at all.
So while main is the default entry point for users, I'd see it as reflecting ongoing changes IMO.
Also, can we guarantee that the RHDH container image set in main will always be backward compatible with the local plugins that the user has configured, whenever they pull from the main branch?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants