Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Expose catalogd service off cluster #1765

Open
ankitathomas opened this issue Feb 13, 2025 · 0 comments
Open

WIP: Expose catalogd service off cluster #1765

ankitathomas opened this issue Feb 13, 2025 · 0 comments
Labels
epic/kubectl-operator-plugin v1.x Issues related to OLMv1 features that come after 1.0

Comments

@ankitathomas
Copy link
Contributor

epic: #1424

Investigate methods for exposing catalogd service off cluster for querying for kubectl-operator. Potential options include:

kubectl [port-forward](https://github.com/joelanford/operator-controller/blob/catalogd-query-handler/catalogd/internal/storage/localdir.go#L199) : requires permissions to set up the port-forward connection (https://github.com/kubernetes/kubernetes/issues/110999#issuecomment-1252869586, bind local port),
[proxy](https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster-services/#manually-constructing-apiserver-proxy-urls) : access the service at http://<kubernetes_master_address>/api/v1/namespaces/<namespace_name>/services/<service_name>/proxy - requires service/proxy permissions, no client authentication for external access to catalogd
Expose service with a nodeport : Create the [catalogd service](https://github.com/openshift/operator-framework-operator-controller/blob/main/openshift/catalogd/manifests/13-service-openshift-catalogd-catalogd-service.yml#L14) with a nodeport, requires local port reservation by default with catalogd, and for the kubectl plugin to discover the local port assignment (present on service as externalIPs, ports.nodePort).
[kubernetes Gateway](https://kubernetes.io/docs/concepts/services-networking/gateway/) or [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) : requires either the Gateway API addon or a third party ingress controller, OLM cannot make assumptions that a gateway/ingress controller will be running on every cluster.

If choosing a hybrid approach, follow-on work is required to also add ability to toggle on or off different methods, and also to automatically choose a method depending on the information provided by the currently running catalogd controller

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic/kubectl-operator-plugin v1.x Issues related to OLMv1 features that come after 1.0
Projects
Status: No status
Development

No branches or pull requests

1 participant