docs: fix install-blocking commands in the v1.1 k3d guide and document the websocket policy - #836
Open
Ketharan wants to merge 1 commit into
Open
docs: fix install-blocking commands in the v1.1 k3d guide and document the websocket policy#836Ketharan wants to merge 1 commit into
Ketharan wants to merge 1 commit into
Conversation
…t the websocket policy Signed-off-by: Ketharan <ketharan.mail@gmail.com>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Found by installing OpenChoreo v1.1.6 on a clean k3d cluster following only this guide, applying nothing from outside it. Two of the guide's own commands abort the install, and a third gap leaves
occ component execsilently broken.Approach
1.
kubectl waiton a secret that does not exist yet (3 occurrences)Each plane's registration step waits for the agent secret:
kubectl waitfails immediately withNotFoundwhen the resource does not exist — it does not wait for it to appear. Immediately after the plane install, cert-manager has not yet produced the secret, so the install aborts:Reproduced on two independent clean installs. The secret appeared ~25s later, so this is purely a race the command cannot survive.
Changed to wait on the Certificate, which exists as soon as the chart is applied — the pattern the v1.2 guide already uses:
kubectl wait -n openchoreo-data-plane \ --for=condition=Ready certificate/cluster-agent-dataplane-tls --timeout=120sApplied for all three planes, using each plane's actual certificate name (
cluster-agent-dataplane-tls,cluster-agent-workflowplane-tls,cluster-agent-observabilityplane-tls).2. Logs module install has no
--timeoutIts post-install
opensearch-setup-logsjob blocks until OpenSearch is ready, which took 5m48s here — past Helm's default 5m, so the install failed. The observability plane core install already passes--timeout 25m; the logs module was left on the default. Added--timeout 15m.3. WebSocket upgrades are not documented
occ component execopens a WebSocket through the control plane gateway, and kgateway rejects upgrades unless the listener allows them. The requiredHTTPListenerPolicyis not in the v1.1 chart and is not mentioned in this guide, so exec does not work after completing it. Verified on the doc-only install:Applying the policy changes that to
101 Switching Protocols.Adds a short section at the end of Step 3 with the policy, plus a warning that the failure mode is misleading: the gateway returns
403 Forbiddenbefore the request reaches the API server, so nothing appears in theopenchoreo-apilogs and it reads as a permissions problem. The note also states that exec requirescomponent:exec, which the defaultdeveloperandplatform-engineerroles carry.Related Issues
N/A
Checklist