feat(stackable-operator): Add OpenShift Route Listener service type - #1291
marc-merino wants to merge 1 commit into
Conversation
|
Hey everyone! I came across your repository-structure ADR(https://docs.stackable.tech/home/stable/contributor/adr/adr002-choose_repository_structure/), the earlier monorepo discussion(stackabletech/issues#29), and the proposal to bring the core operators together(stackabletech/issues#842). Some of the difficulties you describe are things I’ve been trying to address with a tool I’m building (virtual monorepo with hosting basically), so I thought this might be useful to you. I used it for this PR group and configured a small virtual monorepo with some of your repositories. You can review both changes together here. I’d appreciate any feedback on the PRs themselves, as well as the format and review interface; anything you find useful, confusing, missing, or simply don’t like. Seeing how it works for people maintaining these repositories would help me a lot, and hopefully we can help each other. @NickLarsenNZ Hopefully this explains a bit more 😁 |
Knit Bundle
View bundle
This PR is part of Knit bundle
openshift-route-listeners.See the other review objects in this bundle:
operator-rs: feat(stackable-operator): Add OpenShift Route Listener service type #1291 (this PR)listener-operator: feat: Add OpenShift Route support for Listeners listener-operator#435Bundle id:
openshift-route-listenersBundle title: Add OpenShift Route support to Listeners
Description
Part of stackabletech/listener-operator#303.
Adds an
OpenShiftRoutevalue to the ListenerServiceTypeand an optionalListenerClass.spec.openshiftRouteblock:Only the CRD types live here. The listener-operator implementation (creating and cleaning up the Route, and publishing the hostnames OpenShift has accepted for it into
Listener.status) is in stackabletech/listener-operator (linked below).Why a
serviceTypeThe
ListenerClassalready decides how a Listener is exposed. Making Route one more way of exposing it lets the product operators work unchanged, because they already readListener.status.ingressAddresses. A separate opt-in field would duplicate that selection logic.Breaking change
ServiceTypeis not#[non_exhaustive], somatchstatements that list every value must handleOpenShiftRoute. Within Stackable, only listener-operator matches on it. The CHANGELOG marks the change as BREAKING.Checklist
crds/ListenerClass.yaml