Update README.md with troubleshooting steps for Eclipse Che and enhance kustomization.yaml to include DevWorkspaceOperatorConfig. This improves guidance for users facing deployment issues and ensures proper configuration for development workspace management.

This commit is contained in:
Nikholas Pcenicni
2026-03-28 19:56:07 -04:00
parent 8a740019ad
commit 4026591f0b
3 changed files with 30 additions and 1 deletions

View File

@@ -12,4 +12,18 @@ Three **Application** resources (sync waves **0 → 1 → 2**):
**First sync:** Wave ordering applies to **Application** CRs under **noble-root**; if the operator starts before DevWorkspace is ready, **Refresh**/**Sync** the child apps once. See [Eclipse Che on Kubernetes](https://eclipse.dev/che/docs/stable/administration-guide/installing-che-on-kubernetes/).
**URL:** `kubectl get checluster eclipse-che -n eclipse-che -o jsonpath='{.status.cheURL}{"\n"}'` after **Phase** is **Active**.
**URL:** `kubectl get checluster eclipse-che -n eclipse-che -o jsonpath='{.status.cheURL}{"\n"}'` after **Phase** is **Active`.
## Troubleshooting — “no available server” (or similar)
**1. Eclipse Che / dashboard**
- **DevWorkspace routing:** On Kubernetes you **must** set **`routing.clusterHostSuffix`** in **`DevWorkspaceOperatorConfig`** `devworkspace-operator-config` (`devworkspace/dwoc.yaml`). If it was missing, sync **`eclipse-che-devworkspace`** again, then **`eclipse-che-operator`** / **`eclipse-che-cluster`**.
- **Status:** `kubectl get checluster eclipse-che -n eclipse-che -o jsonpath='{.status.chePhase}{"\n"}'` → expect **`Active`**.
- **Pods:** `kubectl get pods -n eclipse-che` — wait for **Running** (Keycloak / gateway / server can take many minutes).
- **Ingress + DNS:** `kubectl get ingress -n eclipse-che` — host **`che.apps.noble.lab.pcenicni.dev`** must resolve to your Traefik LB (same as Grafana/Homepage).
- **TLS:** `kubectl describe certificate -n eclipse-che` (if present) — Lets Encrypt must succeed before the browser trusts the URL.
**2. Argo CD UI / repo**
If the message appears in **Argo CD** (not Che), check in-cluster components: `kubectl get pods -n argocd`, `kubectl logs -n argocd deploy/argocd-repo-server --tail=80`, and that **Applications** use `destination.server: https://kubernetes.default.svc` (in-cluster), not a missing external API.

View File

@@ -0,0 +1,14 @@
# Required on **Kubernetes** (OpenShift discovers this automatically). See DevWorkspaceOperatorConfig CRD:
# **routing.clusterHostSuffix** — hostname suffix for DevWorkspace routes. Without this, Che / workspaces
# often fail with errors like **no available server** or broken routing.
# Must be named **devworkspace-operator-config** in **devworkspace-controller**.
# Edit if your ingress base domain differs from the noble lab pattern.
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-operator-config
namespace: devworkspace-controller
spec:
config:
routing:
clusterHostSuffix: apps.noble.lab.pcenicni.dev

View File

@@ -4,3 +4,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://raw.githubusercontent.com/devfile/devworkspace-operator/v0.33.0/deploy/deployment/kubernetes/combined.yaml
- dwoc.yaml