Skip to content

fix(starter-kit): integrate OpenShell deployment with RHOAI - #227

Merged
Wojciech-Rebisz merged 5 commits into
mainfrom
dev-switch-starter-kit-to-rh-images
Oct 30, 2026
Merged

Wojciech-Rebisz merged 5 commits into
mainfrom
dev-switch-starter-kit-to-rh-images

Conversation

@Wojciech-Rebisz

Copy link
Copy Markdown
Collaborator

Description

Brief summary of changes

Motivation

Why is this change needed?

Changes

  • Bullet point list of changes
  • Another change

Testing

How did you test this?

Checklist

  • Tests added/updated
  • Documentation updated
  • Code follows style guide
  • All checks passing

Signed-off-by: Wojciech Rebisz <147821486+Wojciech-Rebisz@users.noreply.github.com>

@LukaszCmielowski LukaszCmielowski left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

AI assisted - review before making any changes:

  1. P1 — Preserve Kubernetes API certificate trust (

    K8S_API_URL=$$(oc whoami --show-server) && \
    K8S_REVIEWER_TOKEN=$$(oc create token openshell-sandbox -n $(OPENSHELL_NAMESPACE) --duration=168h) && \
    K8S_CA_PATH=/etc/pki/tls/certs/ca-bundle.crt && \
    ). Replacing the cluster CA with the public CA bundle breaks TokenReview on clusters
    using private API certificates. Valid requests return 401, while /health still passes. Pass the CA configured for the selected API endpoint into the sandbox.

  2. P2 — Read complete CONNECT headers (

    def _read_request_line(connection: socket.socket) -> bytes:
    """Read an HTTP CONNECT request line."""
    buffer = b""
    while b"\r\n" not in buffer:
    chunk = connection.recv(1024)
    if not chunk:
    raise ValueError("client closed the connection before sending a request")
    buffer += chunk
    if len(buffer) > 8192:
    raise ValueError("request line too long")
    return buffer.split(b"\r\n", 1)[0]
    ). The parser stops after the request line. When headers arrive across multiple
    reads, remaining headers leak into the upstream TLS/database stream. I reproduced this locally. Consume headers through \r\n\r\n before tunneling, preserving any subsequent payload bytes.

Signed-off-by: Wojciech Rebisz <147821486+Wojciech-Rebisz@users.noreply.github.com>

@LukaszCmielowski LukaszCmielowski left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks like some remaining items:

• Kubernetes API CA: partially fixed. It uploads a cluster bundle, but always prefers trusted-ca-bundle when present—even if that bundle lacks the API server’s private CA. The previous issue therefore remains for those clusters.
• Custom namespace TLS: still broken. Certificate names still hardcode openshell, while the gateway URL uses the configured namespace. This was an additional finding from the latest review.

…istry if needed

Signed-off-by: Wojciech Rebisz <147821486+Wojciech-Rebisz@users.noreply.github.com>
…ertificates

Signed-off-by: Wojciech Rebisz <147821486+Wojciech-Rebisz@users.noreply.github.com>
Signed-off-by: Wojciech Rebisz <147821486+Wojciech-Rebisz@users.noreply.github.com>
@Wojciech-Rebisz
Wojciech-Rebisz merged commit 5f188c1 into main Oct 30, 2026
6 checks passed
@Wojciech-Rebisz
Wojciech-Rebisz deleted the dev-switch-starter-kit-to-rh-images branch October 30, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants