From 2f480cfa7ed456b87b5580af6994b68c42e8f740 Mon Sep 17 00:00:00 2001 From: Isala Date: Sat, 22 Nov 2025 16:20:30 +0530 Subject: [PATCH 1/2] Add Backstage UI access and improve multi-cluster setup --- docs/getting-started/multi-cluster.mdx | 36 +++++++++++++--- docs/getting-started/qsg-backstage-ui.png | Bin 0 -> 619762 bytes docs/getting-started/quick-start-guide.mdx | 46 +++++++++++++++++++-- 3 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 docs/getting-started/qsg-backstage-ui.png diff --git a/docs/getting-started/multi-cluster.mdx b/docs/getting-started/multi-cluster.mdx index 95ea6ea..0c325fe 100644 --- a/docs/getting-started/multi-cluster.mdx +++ b/docs/getting-started/multi-cluster.mdx @@ -16,6 +16,7 @@ This guide walks you through step-by-step instructions for deploying OpenChoreo - **Docker** – Just have it installed on your machine, and you're good to go. - We recommend using [Docker Engine version 26.0+](https://docs.docker.com/engine/release-notes/26.0/). - Allocate at least **8 GB RAM** and **4 CPU** cores to Docker (or the VM running Docker). + - **Important**: Ensure your Docker VM has sufficient inotify limits. Set `fs.inotify.max_user_watches=524288` and `fs.inotify.max_user_instances=512` to prevent k3d cluster creation from hanging. - **[k3d](https://k3d.io/stable/#installation)** v5.8+ installed - **[kubectl](https://kubernetes.io/docs/tasks/tools/)** v1.32+ installed - **[Helm](https://helm.sh/docs/intro/install/)** v3.12+ installed @@ -288,28 +289,53 @@ If the indices exist and the count is greater than 0, FluentBit is successfully ## Verification +### Switch to Control Plane Context + +Set your default kubectl context to the control plane for easier management: + +```bash +kubectl config use-context k3d-openchoreo-cp +``` + ### Check that default OpenChoreo resources were created: ```bash # Check default organization and project (on control plane) -kubectl get organizations,projects,environments -A --context k3d-openchoreo-cp +kubectl get organizations,projects,environments -A # Check default component types (on control plane) -kubectl get componenttypes -n default --context k3d-openchoreo-cp +kubectl get componenttypes -n default # Check all OpenChoreo CRDs (on control plane) -kubectl get crds --context k3d-openchoreo-cp | grep openchoreo +kubectl get crds | grep openchoreo # Check gateway resources (on data plane) kubectl get gateway,httproute -n openchoreo-data-plane --context k3d-openchoreo-dp ``` +### Verify Data Plane and Build Plane Registration + +```bash +# Verify DataPlane is registered and ready +kubectl get dataplane -n default +kubectl describe dataplane -n default | grep -A 5 "Status:" + +# Verify BuildPlane is registered and ready (if installed) +if kubectl get buildplane -n default &>/dev/null; then + echo "BuildPlane found:" + kubectl get buildplane -n default + kubectl describe buildplane -n default | grep -A 5 "Status:" +else + echo "BuildPlane not installed - skipping verification" +fi +``` + #### Check that all components are running: ```bash # Check control plane cluster -kubectl cluster-info --context k3d-openchoreo-cp -kubectl get pods -n openchoreo-control-plane --context k3d-openchoreo-cp +kubectl cluster-info +kubectl get pods -n openchoreo-control-plane # Check data plane cluster kubectl cluster-info --context k3d-openchoreo-dp diff --git a/docs/getting-started/qsg-backstage-ui.png b/docs/getting-started/qsg-backstage-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4a1c573dd533ae70be958c1af48d24cb4d84f8 GIT binary patch literal 619762 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