chore: remove standalone OLM operator packaging - #1343
Conversation
mcp-gateway is no longer a standalone OLM operator. Under the kuadrant-operator umbrella operator pattern (RFC 0019), kuadrant-operator manages mcp-gateway as a component controller via Helm chart rendering. The preferred standalone install path is Helm. Remove: - bundle/ — OLM bundle manifests and metadata - catalog/ — FBC catalog Dockerfile and channel entry - config/manifests/ — OLM CSV template - config/deploy/olm/ — OLM deployment resources - bundle.Dockerfile — OLM bundle image build - build/olm.mk — all OLM make targets - utils/generate-catalog.sh — FBC catalog generation script - build-bundle and build-catalog CI jobs from images.yaml - operator-sdk and opm tool definitions from build/tools.mk Update: - Makefile: remove BUNDLE_VERSION, BUNDLE_IMG, CATALOG_IMG, CHANNELS, DEFAULT_CHANNEL variables; remove check-bundle-crd-sync target and local-env-setup-olm target - scripts/set-release-version.sh: remove CSV and CatalogSource update steps - RELEASING.md: remove bundle regeneration steps - .github/workflows/verify-crd-sync.yaml: remove bundle/ path triggers - RC test matrix template: update OLM install item to kuadrant-operator path - Minor reference cleanup in README, build/auth.mk, build/kuadrant.mk Closes #1327 Signed-off-by: Patryk Stefanski <pstefans@redhat.com>
|
Warning Review limit reached
Next review available in: 26 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe change removes OLM bundle, catalog, deployment, tooling, and release workflows. Make targets and installation guidance now use Helm-based setup. CRD synchronization excludes bundle manifests, and RC testing references kuadrant-operator for OpenShift OLM coverage. ChangesOLM removal
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related issues
Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 @.github/ISSUE_TEMPLATE/rc-test-matrix.md:
- Line 46: Update or remove the OLM Install checklist entry in the release
candidate test matrix. If OLM setup remains supported, update the referenced OLM
installation documentation and its commands to use kuadrant-operator instead of
the outdated local-env-setup-olm, bundle, catalog-*, and deploy-olm flow;
otherwise remove the checklist entry.
In `@build/kuadrant.mk`:
- Line 11: Update the echo message in the Kuadrant CRD existence check to state
only that the Kuadrant CRDs are already present and Helm installation is being
skipped; remove the unsupported claim that they were installed via Helm.
In `@scripts/set-release-version.sh`:
- Around line 73-77: Update the GUIDE list in the release-version update loop to
include docs/guides/olm-install.md, preserving the existing updates for the
other guides; do not remove the guide or its OLM references.
🪄 Autofix
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: Pro Plus
Run ID: db93c564-63cf-4021-a695-3800b55f4472
📒 Files selected for processing (27)
.github/ISSUE_TEMPLATE/rc-test-matrix.md.github/workflows/images.yaml.github/workflows/verify-crd-sync.yamlMakefileREADME.mdRELEASING.mdbuild/auth.mkbuild/kuadrant.mkbuild/olm.mkbuild/tools.mkbundle.Dockerfilebundle/manifests/mcp-gateway.clusterserviceversion.yamlbundle/manifests/mcp.kuadrant.io_mcpgatewayextensions.yamlbundle/manifests/mcp.kuadrant.io_mcpserverregistrations.yamlbundle/manifests/mcp.kuadrant.io_mcpvirtualservers.yamlbundle/metadata/annotations.yamlbundle/metadata/dependencies.yamlcatalog/mcp-gateway-channel-entry.yamlconfig/deploy/olm/catalogsource.yamlconfig/deploy/olm/kustomization.yamlconfig/deploy/olm/namespace.yamlconfig/deploy/olm/operatorgroup.yamlconfig/deploy/olm/subscription.yamlconfig/manifests/bases/mcp-gateway.clusterserviceversion.yamlconfig/manifests/kustomization.yamlscripts/set-release-version.shutils/generate-catalog.sh
💤 Files with no reviewable changes (19)
- config/deploy/olm/namespace.yaml
- catalog/mcp-gateway-channel-entry.yaml
- bundle/metadata/dependencies.yaml
- utils/generate-catalog.sh
- bundle/manifests/mcp-gateway.clusterserviceversion.yaml
- config/manifests/bases/mcp-gateway.clusterserviceversion.yaml
- build/olm.mk
- config/manifests/kustomization.yaml
- bundle/metadata/annotations.yaml
- bundle/manifests/mcp.kuadrant.io_mcpvirtualservers.yaml
- config/deploy/olm/subscription.yaml
- bundle/manifests/mcp.kuadrant.io_mcpserverregistrations.yaml
- config/deploy/olm/operatorgroup.yaml
- bundle/manifests/mcp.kuadrant.io_mcpgatewayextensions.yaml
- bundle.Dockerfile
- build/tools.mk
- config/deploy/olm/kustomization.yaml
- .github/workflows/images.yaml
- config/deploy/olm/catalogsource.yaml
| - [ ] [External MCP Server](https://github.com/Kuadrant/mcp-gateway/blob/release-X.Y.Z/docs/guides/external-mcp-server.md) | ||
| - [ ] [Virtual MCP Servers](https://github.com/Kuadrant/mcp-gateway/blob/release-X.Y.Z/docs/guides/virtual-mcp-servers.md) | ||
| - [ ] [OLM Install](https://github.com/Kuadrant/mcp-gateway/blob/release-X.Y.Z/docs/guides/olm-install.md) | ||
| - [ ] [OLM Install (via kuadrant-operator)](https://github.com/Kuadrant/mcp-gateway/blob/release-X.Y.Z/docs/guides/olm-install.md) |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
rg -n -C 3 'local-env-setup-olm|bundle|catalog|olm' docs/guides/olm-install.mdRepository: Kuadrant/mcp-gateway
Length of output: 2025
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== repo files of interest =="
git ls-files Makefile config deploy config/deploy docs | sed -n '1,220p'
echo
echo "== Make targets containing olm/local-env setup/deploy =="
rg -n -C 2 'local-env-setup-olm|kuadrant-operator|deploy-olm|bundle|catalog|olm-inst|undeploy-olm|deploy-kuadrant' Makefile docs Makefile 2>/dev/null || true
echo
echo "== README/READMEs references to olm/local-env setup =="
rg -n -C 2 'local-env-setup-olm|kuadrant-operator|olm-install|Undeploy|make undeploy|Deploy' -g 'README*' -g 'docs/*' .Repository: Kuadrant/mcp-gateway
Length of output: 50379
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
p = Path('docs/guides/olm-install.md')
text = p.read_text()
terms = ['local-env-setup-olm', 'bundle', 'catalog', 'kuadrant-operator', 'olm-install']
for term in terms:
print(f"{term}: {text.count(term)} occurrences")
PYRepository: Kuadrant/mcp-gateway
Length of output: 298
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Makefile relevant targets/dictionary =="
python3 - <<'PY'
from pathlib import Path
for line in Path('Makefile').read_text().splitlines():
if line.startswith('.PHONY') or line.endswith(':') or 'local-env-setup-olm' in line or 'olm-install' in line or 'kuadrant-operator' in line or 'deploy-olm' in line:
print(line)
PY
echo
echo "== docs/guides/olm-install.md =="
cat -n docs/guides/olm-install.md
echo
echo "== template checklist line =="
cat -n .github/ISSUE_TEMPLATE/rc-test-matrix.md | sed -n '40,50p'Repository: Kuadrant/mcp-gateway
Length of output: 6880
Update or remove the OLM checklist entry.
docs/guides/olm-install.md still lists make local-env-setup-olm, make bundle, make catalog-*, and make deploy-olm; update those sections to use kuadrant-operator, or remove this checklist entry if OLM setup is no longer supported.
🤖 Prompt for 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.
In @.github/ISSUE_TEMPLATE/rc-test-matrix.md at line 46, Update or remove the
OLM Install checklist entry in the release candidate test matrix. If OLM setup
remains supported, update the referenced OLM installation documentation and its
commands to use kuadrant-operator instead of the outdated local-env-setup-olm,
bundle, catalog-*, and deploy-olm flow; otherwise remove the checklist entry.
| kuadrant-install-impl: $(HELM) | ||
| @if kubectl get crd kuadrants.kuadrant.io >/dev/null 2>&1; then \ | ||
| echo "Kuadrant CRDs already present (installed via OLM or Helm), skipping Helm install."; \ | ||
| echo "Kuadrant CRDs already present (installed via Helm), skipping Helm install."; \ |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Report only what the condition proves.
The condition checks only whether kuadrants.kuadrant.io exists. It does not prove that Helm installed the CRD. The CRD can come from kuadrant-operator through OLM or another existing installation.
Use a neutral message:
Proposed fix
- echo "Kuadrant CRDs already present (installed via Helm), skipping Helm install."; \
+ echo "Kuadrant CRDs already present, skipping Helm install."; \📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| echo "Kuadrant CRDs already present (installed via Helm), skipping Helm install."; \ | |
| echo "Kuadrant CRDs already present, skipping Helm install."; \ |
🤖 Prompt for 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.
In `@build/kuadrant.mk` at line 11, Update the echo message in the Kuadrant CRD
existence check to state only that the Kuadrant CRDs are already present and
Helm installation is being skipped; remove the unsupported claim that they were
installed via Helm.
| # Update docs/guides MCP_GATEWAY_VERSION | ||
| for GUIDE in \ | ||
| "$REPO_ROOT/docs/guides/quick-start.md" \ | ||
| "$REPO_ROOT/docs/guides/isolated-gateway-deployment.md" \ | ||
| "$REPO_ROOT/docs/guides/how-to-install-and-configure.md" \ | ||
| "$REPO_ROOT/docs/guides/olm-install.md"; do | ||
| "$REPO_ROOT/docs/guides/how-to-install-and-configure.md"; do |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify olm-install.md removal and check for dangling references.
fd olm-install.md
rg -n 'olm-install' docs/ README.md RELEASING.md 2>/dev/nullRepository: Kuadrant/mcp-gateway
Length of output: 314
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '--- set-release-version.sh relevant sections ---\n'
sed -n '60,90p' scripts/set-release-version.sh
printf '\n--- olm-install.md outline/size ---\n'
wc -l docs/guides/olm-install.md
sed -n '1,80p' docs/guides/olm-install.mdRepository: Kuadrant/mcp-gateway
Length of output: 249
Restore the OLM install guide update.
docs/guides/olm-install.md still exists and only contains OLM install steps, so it should not be omitted from the release-version update loop. Add it back or remove it and all OLM install references together.
🤖 Prompt for 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.
In `@scripts/set-release-version.sh` around lines 73 - 77, Update the GUIDE list
in the release-version update loop to include docs/guides/olm-install.md,
preserving the existing updates for the other guides; do not remove the guide or
its OLM references.
Signed-off-by: Patryk Stefanski <pstefans@redhat.com>
release-X.Y.Z and vX.Y.Z placeholder URLs in the RC test matrix template always 404 — skip them in the link checker. Signed-off-by: Patryk Stefanski <pstefans@redhat.com>
The standalone mcp-gateway OLM operator packaging is being removed (#1343). On OLM clusters, MCP Gateway is now installed and managed by the Kuadrant Operator, which embeds the controller and deploys it on startup (RFC 0019). Rewrite olm-install.md to install via the Kuadrant Operator subscription, create an MCPGatewayExtension to deploy the data plane, and cross-link Helm (standalone) and the standalone-to-operator upgrade guide. Drop the removed bundle/catalog/make-target content. Add the guide to the index.
MCP Gateway does not ship a standalone OLM operator. On OLM-based clusters it is installed and managed by the Kuadrant Operator, which embeds the MCP Gateway controller and deploys it on startup (RFC 0019). Standalone installs use Helm (see how-to-install-and-configure.md). - olm-install.md: rewrite for the Kuadrant Operator install path — subscribe to the operator, create an MCPGatewayExtension to deploy the data plane. No Kuadrant CR is required for the controller to run. Drops the removed standalone bundle/catalog/make-target content (#1343). - olm-upgrade.md: new how-to for migrating an existing OLM-installed standalone MCP Gateway to the consolidated Kuadrant Operator deployment. Zero-downtime; verified end-to-end on OpenShift 4.22. - README.md: add both guides to the index. Signed-off-by: Patryk Stefanski <pstefans@redhat.com>
|
Nice — this already covers the two big doc items from a docs audit I ran for the umbrella move: the dead One doc this PR leaves stale that's worth folding in: For context, the user-facing install/upgrade guides are handled separately in #1283 (rewritten |
Summary
Removes all standalone OLM operator packaging from mcp-gateway. Under the kuadrant-operator umbrella operator pattern (RFC 0019), kuadrant-operator manages mcp-gateway as a component controller via Helm chart rendering. The preferred standalone install path is Helm.
Closes #1327
What's removed
What's updated
What's kept
Summary by CodeRabbit
Changes
Documentation