Skip to content

OLS-3350: Remove console plugin deployment from agentic-operator - #249

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
blublinsky:remove-agentic-console
Jun 29, 2026
Merged

OLS-3350: Remove console plugin deployment from agentic-operator#249
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
blublinsky:remove-agentic-console

Conversation

@blublinsky

Copy link
Copy Markdown
Contributor

Summary
Removes the console plugin lifecycle management from the agentic-operator. The console plugin is now deployed as a standalone workload via dedicated quickstart scripts, decoupling it from the operator's reconciliation loop.

Motivation: The agentic console plugin has its own release cadence and image lifecycle. Embedding its deployment inside the operator created tight coupling — operator upgrades could inadvertently redeploy or disrupt the console, and the operator needed broad RBAC (ConsolePlugin, Deployment, Service, ConfigMap) that it shouldn't own. Extracting it into standalone scripts aligns with the console plugin being independently deployable.

Quickstart changes: The install.sh script no longer passes --agentic-console-image to the operator. Instead, it calls a new deploy-console.sh script as a separate post-install step. A matching undeploy-console.sh handles teardown and is called by uninstall.sh. Both console scripts are independently invocable — users can deploy or remove the console plugin without touching the operator.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 29, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 29, 2026

Copy link
Copy Markdown

@blublinsky: This pull request references OLS-3350 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary
Removes the console plugin lifecycle management from the agentic-operator. The console plugin is now deployed as a standalone workload via dedicated quickstart scripts, decoupling it from the operator's reconciliation loop.

Motivation: The agentic console plugin has its own release cadence and image lifecycle. Embedding its deployment inside the operator created tight coupling — operator upgrades could inadvertently redeploy or disrupt the console, and the operator needed broad RBAC (ConsolePlugin, Deployment, Service, ConfigMap) that it shouldn't own. Extracting it into standalone scripts aligns with the console plugin being independently deployable.

Quickstart changes: The install.sh script no longer passes --agentic-console-image to the operator. Instead, it calls a new deploy-console.sh script as a separate post-install step. A matching undeploy-console.sh handles teardown and is called by uninstall.sh. Both console scripts are independently invocable — users can deploy or remove the console plugin without touching the operator.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
openshift-ci Bot requested review from joshuawilson and raptorsun June 29, 2026 09:36
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 062e7706-4dc7-4cd9-893f-59b5494f6984

📥 Commits

Reviewing files that changed from the base of the PR and between bfdb83d and f88e0e1.

⛔ Files ignored due to path filters (1)
  • config/rbac/role.yaml is excluded by !config/rbac/role.yaml
📒 Files selected for processing (8)
  • cmd/main.go
  • controller/console/reconciler.go
  • controller/console/reconciler_test.go
  • controller/setup.go
  • hack/quickstart/deploy-console.sh
  • hack/quickstart/install.sh
  • hack/quickstart/undeploy-console.sh
  • hack/quickstart/uninstall.sh
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift/lightspeed-agentic-sandbox (manual)
💤 Files with no reviewable changes (4)
  • controller/console/reconciler.go
  • cmd/main.go
  • controller/console/reconciler_test.go
  • controller/setup.go
🚧 Files skipped from review as they are similar to previous changes (4)
  • hack/quickstart/uninstall.sh
  • hack/quickstart/undeploy-console.sh
  • hack/quickstart/deploy-console.sh
  • hack/quickstart/install.sh

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added standalone quickstart scripts to deploy and remove the console plugin separately from the main installation flow.
    • The installer now only deploys the console plugin when a console image is provided.
  • Changes

    • Updated quickstart guidance to require OpenShift 4.22+ for console plugin support.
    • Simplified uninstall cleanup by delegating console removal to a dedicated helper script.

Walkthrough

Console plugin management is removed from the operator controller and moved into standalone quickstart scripts. install.sh and uninstall.sh now delegate console deployment and cleanup, and the operator no longer accepts or passes a console image setting.

Changes

Console plugin extraction

Layer / File(s) Summary
Controller removal
cmd/main.go, controller/setup.go, controller/console/reconciler.go, controller/console/reconciler_test.go
Removes console scheme registration, the --agentic-console-image flag, AgenticConsoleImage wiring, the console runnable, and the console reconciler implementation and tests.
Console deploy and undeploy scripts
hack/quickstart/deploy-console.sh, hack/quickstart/undeploy-console.sh
Adds a script that applies the console plugin workload and registers it with the console operator, and a script that removes the plugin registration and deletes the associated resources.
Quickstart install and uninstall wiring
hack/quickstart/install.sh, hack/quickstart/uninstall.sh
Updates the installer to invoke the new deploy script when CONSOLE_IMAGE is set, removes the operator console-image argument, updates the OpenShift version note, and delegates uninstall cleanup to the new undeploy script.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: removing console plugin deployment from the operator.
Description check ✅ Passed The description matches the changes and clearly explains the console plugin lifecycle extraction.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@hack/quickstart/deploy-console.sh`:
- Around line 179-186: The console plugin activation step in the deploy script
assumes spec.plugins already exists and blindly patches /spec/plugins/-, which
can fail or duplicate entries on reruns. Update the console patch logic in the
activation block to first handle a missing spec.plugins list and only add
PLUGIN_NAME if it is not already present, using the existing step/info flow in
the script. Also remove the unconditional success masking so failures to
activate the plugin are surfaced instead of being reported as deployed.

In `@hack/quickstart/undeploy-console.sh`:
- Around line 20-47: Remove the conditional guards around the teardown in
undeploy-console.sh so cleanup always runs even if the ConsolePlugin or
Deployment is already gone. In the console deregistration block and the workload
cleanup block, keep the oc delete/patch operations best-effort and
unconditional, using the existing PLUGIN_NAME and NAMESPACE variables, so reruns
still remove any leftover console registration and Service, ConfigMap,
ServiceAccount, and Secret resources.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2d5d6f65-aa30-46bb-880b-208a279bcb12

📥 Commits

Reviewing files that changed from the base of the PR and between 30058f2 and bfdb83d.

⛔ Files ignored due to path filters (1)
  • config/rbac/role.yaml is excluded by !config/rbac/role.yaml
📒 Files selected for processing (8)
  • cmd/main.go
  • controller/console/reconciler.go
  • controller/console/reconciler_test.go
  • controller/setup.go
  • hack/quickstart/deploy-console.sh
  • hack/quickstart/install.sh
  • hack/quickstart/undeploy-console.sh
  • hack/quickstart/uninstall.sh
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift/lightspeed-agentic-sandbox (manual)
💤 Files with no reviewable changes (4)
  • controller/console/reconciler_test.go
  • controller/console/reconciler.go
  • controller/setup.go
  • cmd/main.go

Comment thread hack/quickstart/deploy-console.sh
Comment thread hack/quickstart/undeploy-console.sh Outdated
@blublinsky
blublinsky force-pushed the remove-agentic-console branch from bfdb83d to ac3a4cf Compare June 29, 2026 10:21

@vimalk78 vimalk78 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review: OLS-3350 (jira mode, round 1) — Score: 82/100

Adherence: 3/6 AC pass, 0 fail, 3 need human review (CSV change not in this repo, runtime + test verification deferred to CI).

The core operator-side removal is clean and complete — controller/console/ deleted, setup.go/main.go wiring removed, RBAC trimmed correctly. The standalone quickstart scripts are a sensible addition.

Must-fix: Missing seccompProfile in deploy-console.sh

File: hack/quickstart/deploy-console.sh — pod securityContext block

The deleted Go code set SeccompProfile: RuntimeDefault on the pod security context. The new shell script only has runAsNonRoot: true, dropping the seccomp profile. This is a security regression — the seccomp profile provides syscall filtering.

Fix — add to the pod securityContext in the YAML heredoc:

      securityContext:
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault

🤖 Generated with Claude Code

@blublinsky
blublinsky force-pushed the remove-agentic-console branch from ac3a4cf to f88e0e1 Compare June 29, 2026 11:46
@blublinsky

Copy link
Copy Markdown
Contributor Author

/approve

@openshift-ci

openshift-ci Bot commented Jun 29, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: blublinsky

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 29, 2026
@vimalk78

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 29, 2026
@openshift-ci

openshift-ci Bot commented Jun 29, 2026

Copy link
Copy Markdown

@blublinsky: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 835d773 into openshift:main Jun 29, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants