From 3dabcf9981fb18c679b979001c6f2a019412d8da Mon Sep 17 00:00:00 2001 From: Drew Minnear Date: Wed, 3 Jun 2026 15:17:54 -0400 Subject: [PATCH 1/2] add docs for maas code assistant quickstart pattern --- content/patterns/maas-quickstart/_index.adoc | 36 ++++ .../maas-quickstart/cluster-sizing.adoc | 29 +++ .../customizing-this-pattern.adoc | 143 ++++++++++++++ .../maas-quickstart/getting-started.adoc | 186 ++++++++++++++++++ content/patterns/rag-quickstart/_index.adoc | 4 + ...ata-ai-quickstart-maas-code-assistant.adoc | 22 +++ modules/maas-quickstart-about.adoc | 79 ++++++++ modules/maas-quickstart-architecture.adoc | 135 +++++++++++++ .../maas-quickstart/code-assist-diagram.png | Bin 0 -> 217312 bytes 9 files changed, 634 insertions(+) create mode 100644 content/patterns/maas-quickstart/_index.adoc create mode 100644 content/patterns/maas-quickstart/cluster-sizing.adoc create mode 100644 content/patterns/maas-quickstart/customizing-this-pattern.adoc create mode 100644 content/patterns/maas-quickstart/getting-started.adoc create mode 100644 modules/ai-quickstart-maas-code-assistant/metadata-ai-quickstart-maas-code-assistant.adoc create mode 100644 modules/maas-quickstart-about.adoc create mode 100644 modules/maas-quickstart-architecture.adoc create mode 100644 static/images/maas-quickstart/code-assist-diagram.png diff --git a/content/patterns/maas-quickstart/_index.adoc b/content/patterns/maas-quickstart/_index.adoc new file mode 100644 index 000000000..2fc563a8e --- /dev/null +++ b/content/patterns/maas-quickstart/_index.adoc @@ -0,0 +1,36 @@ +--- +title: MaaS Code Assistant AI Quickstart +date: 2026-06-03 +tier: sandbox +summary: This pattern deploys a multi-tenant AI code assistant with NVIDIA Nemotron models, tiered rate limiting, and IDE integration on OpenShift. +rh_products: + - Red Hat OpenShift Container Platform + - Red Hat OpenShift AI + - Red Hat OpenShift DevSpaces + - Red Hat Connectivity Link +industries: + - General +focus_areas: + - AI + - Code + - AI Quickstart +aliases: /maas-quickstart/ +links: + github: https://github.com/validatedpatterns-sandbox/ai-quickstart-maas-code-assistant + install: getting-started + bugs: https://github.com/validatedpatterns-sandbox/ai-quickstart-maas-code-assistant/issues + feedback: https://docs.google.com/forms/d/e/1FAIpQLScI76b6tD1WyPu2-d_9CCVDr3Fu5jYERthqLKJDUGwqBg7Vcg/viewform +--- +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + +include::modules/maas-quickstart-about.adoc[leveloffset=+1] + +include::modules/maas-quickstart-architecture.adoc[leveloffset=+1] + +[id="next-steps-maas-quickstart"] +== Next steps + +* link:getting-started[Install this pattern.] diff --git a/content/patterns/maas-quickstart/cluster-sizing.adoc b/content/patterns/maas-quickstart/cluster-sizing.adoc new file mode 100644 index 000000000..bf41e555e --- /dev/null +++ b/content/patterns/maas-quickstart/cluster-sizing.adoc @@ -0,0 +1,29 @@ +--- +title: Cluster sizing +weight: 30 +aliases: /maas-quickstart/cluster-sizing/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] +include::modules/ai-quickstart-maas-code-assistant/metadata-ai-quickstart-maas-code-assistant.adoc[] + +include::modules/cluster-sizing-template.adoc[] + +[id="maas-quickstart-gpu-node-requirements"] +== GPU node requirements + +In addition to the worker nodes listed above, this pattern requires at least 2 GPU-equipped nodes for model inference. On AWS, the pattern automatically provisions `g6e.2xlarge` instances with NVIDIA L40S GPUs. On other providers and bare metal, GPU nodes must already be part of the cluster before deploying the pattern. + +.GPU node minimum requirements +[cols="<,^,<,<"] +|=== +| Cloud Provider | Node Type | Number of nodes | Instance Type + +| Amazon Web Services +| GPU Worker +| 2 +| g6e.2xlarge +|=== diff --git a/content/patterns/maas-quickstart/customizing-this-pattern.adoc b/content/patterns/maas-quickstart/customizing-this-pattern.adoc new file mode 100644 index 000000000..cdbec101e --- /dev/null +++ b/content/patterns/maas-quickstart/customizing-this-pattern.adoc @@ -0,0 +1,143 @@ +--- +title: Customizing this pattern +weight: 20 +aliases: /maas-quickstart/customizing/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + +[id="customizing-maas-quickstart"] +== Customizing the MaaS Code Assistant AI Quickstart pattern + +This pattern deploys an AI code assistant with tiered user access, rate limiting, and NVIDIA Nemotron model serving. You can customize the models, rate limit policies, user tiers, and IDE configuration. + +[id="changing-models-maas"] +=== Changing models + +The pattern serves two models by default: + +* `nemotron-3-nano-30b-a3b-fp8` -- Available to premium and enterprise tier users. +* `gpt-oss-20b` -- Available to all user tiers. + +To change or add models, edit the `models` list in `overrides/maas-quickstart.yaml`. Models are pulled from OCI registries and do not require a HuggingFace API token. + +The model definitions specify the model URI, resource requirements, GPU tolerations, and vLLM arguments. For example: + +[source,yaml] +---- +models: + - name: gpt-oss-20b + displayName: OpenAI gpt-oss-20b + uri: oci://registry.redhat.io/rhelai1/modelcar-gpt-oss-20b:1.5 + resources: + limits: + cpu: "4" + memory: 24Gi + nvidia.com/gpu: "1" + requests: + cpu: "2" + memory: 16Gi + nvidia.com/gpu: "1" + extraArgs: + - --enable-force-include-usage + tolerations: + - effect: NoSchedule + key: nvidia.com/gpu + operator: Exists +---- + +[NOTE] +==== +Each model requires a GPU with at least 48 GB of VRAM. Adding models beyond the default two requires additional GPU nodes. +==== + +[id="adjusting-rate-limits-maas"] +=== Adjusting rate limits and user tiers + +The pattern uses Kuadrant (Red Hat Connectivity Link) to enforce per-tier rate limits on inference requests. The default tiers and limits are: + +[cols="1,1,2",options="header"] +|=== +| Tier | Rate Limit | Description + +| Free +| 5 requests per 2 minutes +| Basic access for evaluation + +| Premium +| 20 requests per 2 minutes +| Standard production usage + +| Enterprise +| 50 requests per 2 minutes +| High-throughput workloads +|=== + +To adjust rate limits, modify the `tiers` section in `overrides/maas-quickstart.yaml`. For example, to increase the premium tier request limit to 40 and the token limit to 20000: + +[source,yaml] +---- +tiers: + premium: + users: + - premium-user + requestRates: + - limit: 40 + window: 2m + tokenRates: + - limit: 20000 + window: 1m +---- + +Push your changes to your forked repository so the GitOps framework applies the updated configuration. + +[id="managing-users-maas"] +=== Managing users + +User authentication is handled by htpasswd with OpenShift OAuth. The default users are: + +* `admin` -- Full administrative access (enterprise tier) +* `free-user` -- Free tier access +* `premium-user` -- Premium tier access +* `enterprise-user` -- Enterprise tier access + +User passwords are stored in the `values-secret.yaml` file and managed through HashiCorp Vault and the External Secrets Operator (ESO). To change a user password after initial deployment, update the secret value in your `values-secret.yaml` file and redeploy the pattern. + +To assign users to different tiers, modify the `tiers` section in `overrides/maas-quickstart.yaml`: + +[source,yaml] +---- +tiers: + free: + users: + - free-user + premium: + users: + - premium-user + - user1 + enterprise: + users: + - admin + - enterprise-user +---- + +[id="configuring-devspaces-maas"] +=== Configuring OpenShift DevSpaces + +The pattern integrates the Continue AI extension in OpenShift DevSpaces to provide code assistance directly in the IDE. DevSpaces is preconfigured to clone the AI Quickstart repository and connect to the vLLM inference endpoints. + +To customize the DevSpaces configuration, you can adjust: + +* Default IDE settings and extensions +* Resource limits for developer workspaces +* The inference endpoint URL used by the Continue extension + +[id="gpu-node-provisioning-maas"] +=== GPU node provisioning + +This pattern requires at least 2 NVIDIA GPU nodes with 48 GB or more of VRAM each. On AWS, the pattern automatically provisions `g6e.2xlarge` GPU machine sets with NVIDIA L40S GPUs. + +If your cluster does not have GPU nodes, you must add them before deploying the pattern. The pattern installs all required operators, including the NVIDIA GPU Operator, automatically during deployment. diff --git a/content/patterns/maas-quickstart/getting-started.adoc b/content/patterns/maas-quickstart/getting-started.adoc new file mode 100644 index 000000000..a43625490 --- /dev/null +++ b/content/patterns/maas-quickstart/getting-started.adoc @@ -0,0 +1,186 @@ +--- +title: Getting started +weight: 10 +aliases: /maas-quickstart/getting-started/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + +[id="deploying-maas-quickstart-pattern"] +== Deploying the MaaS Code Assistant AI Quickstart pattern + +.Prerequisites + +* An OpenShift cluster (version 4.20 or later). This pattern requires at least 2 NVIDIA GPU nodes with 48 GB or more of VRAM each. + ** *AWS*: The pattern automatically provisions 2 `g6e.2xlarge` GPU worker nodes (NVIDIA L40S) during installation. No GPU nodes need to be present before deploying. + ** *Other providers and bare metal*: GPU nodes must already be part of the OpenShift cluster before deploying this pattern. The pattern installs all required operators automatically. + ** To create an OpenShift cluster, go to the https://console.redhat.com/[Red Hat Hybrid Cloud console]. + ** Select *OpenShift \-> Red Hat OpenShift Container Platform \-> Create cluster*. +* The Helm binary. For instructions, see link:https://helm.sh/docs/intro/install/[Installing Helm]. +* The `oc` CLI tool. For instructions, see link:https://docs.openshift.com/container-platform/latest/cli_reference/openshift_cli/getting-started-cli.html[Getting started with the OpenShift CLI]. +* Additional installation tool dependencies. For details, see link:https://validatedpatterns.io/learn/quickstart/[Patterns quick start]. + +[id="preparing-for-deployment-maas"] +== Preparing for deployment +.Procedure + +. Fork the link:https://github.com/validatedpatterns-sandbox/ai-quickstart-maas-code-assistant[ai-quickstart-maas-code-assistant] repository on GitHub. You must fork the repository to customize this pattern. + +. Clone the forked copy of this repository. ++ +[source,terminal] +---- +$ git clone git@github.com:your-username/ai-quickstart-maas-code-assistant.git +---- + +. Go to the root directory of your Git repository: ++ +[source,terminal] +---- +$ cd ai-quickstart-maas-code-assistant +---- + +. Run the following command to set the upstream repository: ++ +[source,terminal] +---- +$ git remote add -f upstream git@github.com:validatedpatterns-sandbox/ai-quickstart-maas-code-assistant.git +---- + +. Verify the setup of your remote repositories by running the following command: ++ +[source,terminal] +---- +$ git remote -v +---- ++ +.Example output ++ +[source,terminal] +---- +origin git@github.com:your-username/ai-quickstart-maas-code-assistant.git (fetch) +origin git@github.com:your-username/ai-quickstart-maas-code-assistant.git (push) +upstream git@github.com:validatedpatterns-sandbox/ai-quickstart-maas-code-assistant.git (fetch) +upstream git@github.com:validatedpatterns-sandbox/ai-quickstart-maas-code-assistant.git (push) +---- + +. Make a local copy of the secrets template outside of your repository to hold credentials for the pattern. ++ +[WARNING] +==== +Do not add, commit, or push this file to your repository. Doing so may expose personal credentials to GitHub. +==== ++ +Run the following command: ++ +[source,terminal] +---- +$ cp values-secret.yaml.template ~/values-secret-ai-quickstart-maas-code-assistant.yaml +---- + +. Populate this file with the user passwords needed for the pattern: ++ +[source,terminal] +---- +$ vim ~/values-secret-ai-quickstart-maas-code-assistant.yaml +---- + +.. Edit the `htpasswd` section to set passwords for each user tier: ++ +[source,yaml] +---- + - name: htpasswd + fields: + - name: admin + value: + - name: free-user + value: + - name: premium-user + value: + - name: enterprise-user + value: +---- + +. Optional: To customize the deployment, create and switch to a new branch by running the following command: ++ +[source,terminal] +---- +$ git checkout -b my-branch +---- ++ +Make your changes, then stage and commit them: ++ +[source,terminal] +---- +$ git add +$ git commit -m "Customize deployment" +---- ++ +Push the changes to your forked repository: ++ +[source,terminal] +---- +$ git push origin my-branch +---- + +[id="deploying-cluster-using-patternsh-file-maas"] +== Deploying the pattern by using the pattern.sh file + +To deploy the pattern by using the `pattern.sh` file, complete the following steps: + +. Log in to your cluster by following this procedure: + +.. Obtain an API token by visiting link:https://oauth-openshift.apps../oauth/token/request[https://oauth-openshift.apps../oauth/token/request]. + +.. Log in to the cluster by running the following command: ++ +[source,terminal] +---- +$ oc login --token= --server=https://api..:6443 +---- ++ +Or log in by running the following command: ++ +[source,terminal] +---- +$ export KUBECONFIG=~/ +---- + +. Deploy the pattern to your cluster. Run the following command: ++ +[source,terminal] +---- +$ ./pattern.sh make install +---- + +.Verification + +To verify a successful installation, check the health of the ArgoCD applications: + +. Run the following command: ++ +[source,terminal] +---- +$ ./pattern.sh make argo-healthcheck +---- ++ +It might take several minutes for all applications to synchronize and reach a healthy state. This includes downloading the NVIDIA Nemotron models and configuring the inference endpoints. + +. Verify that the Operators are installed by navigating to *Operators -> Installed Operators* in the {ocp} web console. Confirm the following Operators are present: ++ +* NVIDIA GPU Operator +* {rhoai} +* Red Hat OpenShift DevSpaces +* Red Hat Connectivity Link + +. After all applications are healthy, verify the inference endpoints are serving by running: ++ +[source,terminal] +---- +$ oc get inferenceservice -A +---- + +. Access the OpenShift DevSpaces dashboard to confirm the IDE environment is available. Navigate to *Networking -> Routes* in the DevSpaces namespace and open the route URL. diff --git a/content/patterns/rag-quickstart/_index.adoc b/content/patterns/rag-quickstart/_index.adoc index 037bd5524..183cb814e 100644 --- a/content/patterns/rag-quickstart/_index.adoc +++ b/content/patterns/rag-quickstart/_index.adoc @@ -9,6 +9,10 @@ rh_products: - Red Hat OpenShift AI industries: - General +focus_areas: + - AI + - Data + - AI Quickstart aliases: /rag-quickstart/ links: github: https://github.com/validatedpatterns-sandbox/ai-quickstart-rag diff --git a/modules/ai-quickstart-maas-code-assistant/metadata-ai-quickstart-maas-code-assistant.adoc b/modules/ai-quickstart-maas-code-assistant/metadata-ai-quickstart-maas-code-assistant.adoc new file mode 100644 index 000000000..367966319 --- /dev/null +++ b/modules/ai-quickstart-maas-code-assistant/metadata-ai-quickstart-maas-code-assistant.adoc @@ -0,0 +1,22 @@ +// This file defines cluster sizing attributes for the MaaS Code Assistant AI Quickstart pattern. +// The pattern-metadata.yaml has an empty requirements field, so these values are defined manually +// based on tested configurations. +:metadata_version: 1.0 +:name: ai-quickstart-maas-code-assistant +:pattern_version: 1.0 +:description: Deploy a multi-tenant AI code assistant with NVIDIA Nemotron models, tiered rate limiting, and IDE integration. +:display_name: MaaS Code Assistant AI Quickstart +:repo_url: https://github.com/validatedpatterns-sandbox/ai-quickstart-maas-code-assistant +:docs_repo_url: https://github.com/validatedpatterns/docs +:issues_url: https://github.com/validatedpatterns-sandbox/ai-quickstart-maas-code-assistant/issues +:docs_url: https://validatedpatterns.io/patterns/maas-quickstart/ +:ci_url: https://validatedpatterns.io/ci/?pattern=maas-quickstart +:tier: sandbox +:owners: dminnear-rh +:requirements_hub_controlPlane_platform_aws_replicas: 3 +:requirements_hub_controlPlane_platform_aws_type: m5.xlarge +:requirements_hub_compute_platform_aws_replicas: 3 +:requirements_hub_compute_platform_aws_type: m5.2xlarge +:extra_features_hypershift_support: false +:extra_features_spoke_support: false +:external_requirements: diff --git a/modules/maas-quickstart-about.adoc b/modules/maas-quickstart-about.adoc new file mode 100644 index 000000000..cea2631ce --- /dev/null +++ b/modules/maas-quickstart-about.adoc @@ -0,0 +1,79 @@ +:_content-type: CONCEPT +:imagesdir: ../../images +include::comm-attributes.adoc[] + +[id="about-maas-quickstart"] += About the MaaS Code Assistant AI Quickstart pattern + +Deploy a governed, multi-tenant AI code assistant on OpenShift with tiered access control, rate limiting, and integrated IDE support. + +Use case:: + +* Deploy an AI-powered code assistant that provides intelligent code suggestions through an integrated development environment. +* Implement Model-as-a-Service (MaaS) governance with tiered user access, rate limiting, and chargeback capabilities. +* Use a GitOps approach to provision AI inference infrastructure including GPU-accelerated model serving, identity management, and API rate limiting. ++ +[NOTE] +==== +Based on the requirements of a specific implementation, certain details might differ. However, all Validated Patterns that are based on a portfolio architecture, generalize one or more successful deployments of a use case. +==== + +Background:: + +This pattern is scaffolding around the link:https://github.com/rh-ai-quickstart/maas-code-assistant[MaaS Code Assistant AI Quickstart]. It provisions the OpenShift cluster with link:https://www.redhat.com/en/products/ai/openshift-ai[{rhoai}] configured for GPU-accelerated inference using vLLM and llm-d. It deploys the NVIDIA GPU Operator for model serving on GPU nodes and manages secrets through the {solution-name-upstream} framework using HashiCorp Vault and the External Secrets Operator. + +The MaaS Code Assistant enables organizations to offer AI code assistance as an internal service with differentiated access tiers. It demonstrates a production-ready approach to: + +- Serving multiple NVIDIA Nemotron language models optimized for code completion and generation +- Enforcing per-user rate limits through Kuadrant (Red Hat Connectivity Link) to manage capacity and enable chargeback +- Authenticating users through htpasswd with OpenShift OAuth for tiered access (Free, Premium, Enterprise) +- Providing an integrated development experience through OpenShift DevSpaces with the Continue AI extension +- Monitoring usage and performance through Grafana dashboards and Prometheus metrics + +[id="about-maas-quickstart-solution"] +== About the solution + +This pattern deploys a complete MaaS code assistance platform on a single OpenShift cluster by using a GitOps approach. The {solution-name-upstream} framework handles infrastructure provisioning, including GPU operators, AI platform configuration, and secrets management. The MaaS Code Assistant AI Quickstart delivers the application layer: model serving, rate limiting, user authentication, and IDE integration. + +The solution uses vLLM with llm-d for high-performance inference of NVIDIA Nemotron models. Kuadrant enforces rate limit policies per user tier, while htpasswd with OpenShift OAuth manages authentication and tier assignment. OpenShift DevSpaces provides a browser-based IDE with the Continue AI extension preconfigured to connect to the inference endpoints. + +[id="about-maas-quickstart-technology"] +== About the technology + +The following technologies are used in this solution: + +https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[{rh-ocp}]:: +An enterprise-ready Kubernetes container platform built for an open hybrid cloud strategy. It provides a consistent application platform to manage hybrid cloud, public cloud, and edge deployments. + +https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[{rh-gitops}]:: +A declarative application continuous delivery tool for Kubernetes based on the ArgoCD project. Application definitions, configurations, and environments are declarative and version controlled in Git. + +https://www.redhat.com/en/technologies/cloud-computing/openshift/openshift-ai[{rhoai}]:: +A flexible, scalable MLOps platform with tools to build, deploy, and manage AI-enabled applications. This pattern uses {rhoai} to manage GPU-accelerated model serving with vLLM. + +https://developers.redhat.com/products/openshift-dev-spaces/overview[Red{nbsp}Hat OpenShift DevSpaces]:: +A cloud-based developer workspace platform that provides preconfigured, containerized development environments. This pattern uses DevSpaces to deliver an integrated IDE with AI code assistance. + +https://docs.redhat.com/en/documentation/red_hat_connectivity_link[Red{nbsp}Hat Connectivity Link (Kuadrant)]:: +An API management and connectivity solution that provides rate limiting, authentication, and traffic policies. This pattern uses Kuadrant to enforce per-tier rate limits on inference requests. + +https://docs.vllm.ai/[vLLM]:: +A high-throughput, memory-efficient inference engine for large language models. vLLM serves the Nemotron models with optimized GPU utilization. + +https://github.com/llm-d/llm-d[llm-d]:: +A Kubernetes-native distributed inference framework for LLMs that works with vLLM to provide scalable model serving. + +https://developer.nvidia.com/nemotron[NVIDIA Nemotron]:: +A family of language models optimized for code generation and completion tasks. The pattern serves `nemotron-3-nano-30b-a3b-fp8` and `gpt-oss-20b`. + +https://grafana.com/[Grafana]:: +An open source analytics and monitoring platform. This pattern uses Grafana dashboards to visualize inference metrics and usage per tier. + +https://prometheus.io/[Prometheus]:: +An open source monitoring and alerting toolkit. This pattern uses Prometheus to collect inference and rate limiting metrics. + +https://cert-manager.io/[cert-manager]:: +A Kubernetes-native certificate management controller. This pattern uses cert-manager to provision and manage TLS certificates. + +https://github.com/continuedev/continue[Continue]:: +An open source AI code assistant extension for IDEs. This pattern integrates Continue in OpenShift DevSpaces to provide code suggestions powered by the served models. diff --git a/modules/maas-quickstart-architecture.adoc b/modules/maas-quickstart-architecture.adoc new file mode 100644 index 000000000..2eebdd735 --- /dev/null +++ b/modules/maas-quickstart-architecture.adoc @@ -0,0 +1,135 @@ +:_content-type: CONCEPT +:imagesdir: ../../images +include::comm-attributes.adoc[] + +[id="maas-quickstart-architecture"] += MaaS Code Assistant AI Quickstart architecture + +The following figure provides a high-level overview of the MaaS Code Assistant architecture. + +.MaaS Code Assistant system architecture +image::maas-quickstart/code-assist-diagram.png[MaaS Code Assistant Architecture,link="/images/maas-quickstart/code-assist-diagram.png"] + +The architecture consists of three main layers: + +* *Inference Layer* -- Serves NVIDIA Nemotron models through vLLM and llm-d with GPU acceleration for code completion and generation. +* *Governance Layer* -- Manages user authentication through htpasswd with OpenShift OAuth and enforces per-tier rate limits through Kuadrant. +* *Developer Experience Layer* -- Provides an integrated IDE through OpenShift DevSpaces with the Continue AI extension connected to the inference endpoints. + +[id="maas-quickstart-inference-layer"] +== Inference layer + +The inference layer serves language models and processes code completion requests: + +vLLM Model Servers:: +Serve NVIDIA Nemotron models with GPU acceleration. Each model runs as a vLLM instance managed by {rhoai}, optimized for high-throughput inference with features like continuous batching and PagedAttention. + +llm-d:: +Provides Kubernetes-native distributed inference orchestration. llm-d manages model placement, scaling, and request routing across GPU nodes using the LeaderWorkerSet (LWS) operator. + +NVIDIA GPU Operator:: +Manages NVIDIA GPU drivers, device plugins, and monitoring on worker nodes. Ensures GPUs are properly configured and available for model serving workloads. + +[id="maas-quickstart-governance-layer"] +== Governance layer + +The governance layer controls access and enforces usage policies: + +OpenShift OAuth with htpasswd:: +Provides identity and access management using OpenShift's built-in OAuth server with htpasswd credentials. Users are assigned to tiers (Free, Premium, Enterprise) that determine their rate limits and model access. + +Kuadrant (Red Hat Connectivity Link):: +Enforces rate limit policies on inference API requests. Each user tier has a configured request quota (Free: 5/2min, Premium: 20/2min, Enterprise: 50/2min) to manage capacity and enable usage-based chargeback. + +HashiCorp Vault + External Secrets Operator:: +Manages sensitive credentials including htpasswd user passwords. The {solution-name-upstream} framework provisions Vault and ESO to securely synchronize secrets to the cluster. + +[id="maas-quickstart-developer-experience"] +== Developer experience layer + +The developer experience layer provides the end-user interface: + +OpenShift DevSpaces:: +Delivers browser-based developer workspaces with preconfigured IDE environments. Developers access DevSpaces to write code with AI assistance without local setup. + +Continue AI Extension:: +An open source AI code assistant extension integrated into DevSpaces. Continue connects to the vLLM inference endpoints to provide inline code suggestions, completions, and chat-based code assistance. + +[id="maas-quickstart-deployment"] +== Deployment architecture + +The following table describes the pod structure when deployed on OpenShift: + +[cols="1,2,3",options="header"] +|=== +| Pod | Purpose | Key characteristics + +| vLLM Model Server (nemotron-3-nano-30b) +| Code generation inference +| GPU-accelerated, serves premium and enterprise tier users, managed by llm-d and {rhoai} + +| vLLM Model Server (gpt-oss-20b) +| Code generation inference +| GPU-accelerated, serves all user tiers, managed by llm-d and {rhoai} + +| Kuadrant / Limitador +| API rate limiting +| Enforces per-tier rate limits on inference endpoints, provides usage metrics + +| DevSpaces +| Developer IDE +| Browser-based workspaces with Continue AI extension, connects to inference endpoints + +| Grafana +| Monitoring dashboards +| Visualizes inference metrics, request rates, and per-tier usage + +| Prometheus +| Metrics collection +| Collects inference latency, throughput, GPU utilization, and rate limiting metrics + +| Vault +| Secrets management +| Stores htpasswd credentials and other sensitive configuration, synced by ESO +|=== + +[id="maas-quickstart-technologies"] +== Implementation technologies + +[cols="1,2",options="header"] +|=== +| Component | Technology + +| Inference Engine +| vLLM with llm-d + +| Language Models +| NVIDIA Nemotron (nemotron-3-nano-30b-a3b-fp8, gpt-oss-20b) + +| Container Orchestration +| {rh-ocp} + {rhoai} + +| IDE Platform +| Red Hat OpenShift DevSpaces + Continue + +| API Gateway / Rate Limiting +| Red Hat Connectivity Link (Kuadrant) + +| Identity Management +| OpenShift OAuth with htpasswd + +| GPU Management +| NVIDIA GPU Operator + +| Monitoring +| Grafana + Prometheus + +| Certificate Management +| cert-manager + +| Secrets Management +| HashiCorp Vault + External Secrets Operator + +| Inference Orchestration +| LeaderWorkerSet (LWS) Operator +|=== diff --git a/static/images/maas-quickstart/code-assist-diagram.png b/static/images/maas-quickstart/code-assist-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..3cfbf1b8bfcd3c375cceb1e61d1d99b1df4195a1 GIT binary patch literal 217312 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

BspLn*K4rk9i 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�%+B2LPn}>!R=+M;dWo>v)$vG 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

;}C-4}>&6S%zc4qhkyWt$gq|GV>t;i0h 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 `Yb@k3 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 Hwn6^~3)2 Date: Thu, 4 Jun 2026 17:06:25 +1000 Subject: [PATCH 2/2] fixed minor nits, added troubleshooting section and additional links --- content/patterns/maas-quickstart/_index.adoc | 5 +- .../maas-quickstart/cluster-sizing.adoc | 2 +- .../customizing-this-pattern.adoc | 14 +- .../maas-quickstart/getting-started.adoc | 13 +- .../maas-quickstart/troubleshooting.adoc | 264 ++++++++++++++++++ modules/maas-quickstart-about.adoc | 11 +- modules/maas-quickstart-architecture.adoc | 16 +- 7 files changed, 297 insertions(+), 28 deletions(-) create mode 100644 content/patterns/maas-quickstart/troubleshooting.adoc diff --git a/content/patterns/maas-quickstart/_index.adoc b/content/patterns/maas-quickstart/_index.adoc index 2fc563a8e..b7c93d630 100644 --- a/content/patterns/maas-quickstart/_index.adoc +++ b/content/patterns/maas-quickstart/_index.adoc @@ -33,4 +33,7 @@ include::modules/maas-quickstart-architecture.adoc[leveloffset=+1] [id="next-steps-maas-quickstart"] == Next steps -* link:getting-started[Install this pattern.] +* link:getting-started[Install this pattern] +* link:cluster-sizing[Cluster sizing] +* link:customizing-this-pattern[Customizing this pattern] +* link:troubleshooting[Troubleshooting] diff --git a/content/patterns/maas-quickstart/cluster-sizing.adoc b/content/patterns/maas-quickstart/cluster-sizing.adoc index bf41e555e..0bac33f86 100644 --- a/content/patterns/maas-quickstart/cluster-sizing.adoc +++ b/content/patterns/maas-quickstart/cluster-sizing.adoc @@ -20,7 +20,7 @@ In addition to the worker nodes listed above, this pattern requires at least 2 G .GPU node minimum requirements [cols="<,^,<,<"] |=== -| Cloud Provider | Node Type | Number of nodes | Instance Type +| Cloud provider | Node type | Number of nodes | Instance type | Amazon Web Services | GPU Worker diff --git a/content/patterns/maas-quickstart/customizing-this-pattern.adoc b/content/patterns/maas-quickstart/customizing-this-pattern.adoc index cdbec101e..35680f53d 100644 --- a/content/patterns/maas-quickstart/customizing-this-pattern.adoc +++ b/content/patterns/maas-quickstart/customizing-this-pattern.adoc @@ -22,7 +22,7 @@ The pattern serves two models by default: * `nemotron-3-nano-30b-a3b-fp8` -- Available to premium and enterprise tier users. * `gpt-oss-20b` -- Available to all user tiers. -To change or add models, edit the `models` list in `overrides/maas-quickstart.yaml`. Models are pulled from OCI registries and do not require a HuggingFace API token. +To change or add models, edit the `models` list in `overrides/maas-quickstart.yaml`. The pattern pulls models from OCI registries and does not require a HuggingFace API token. The model definitions specify the model URI, resource requirements, GPU tolerations, and vLLM arguments. For example: @@ -61,7 +61,7 @@ The pattern uses Kuadrant (Red Hat Connectivity Link) to enforce per-tier rate l [cols="1,1,2",options="header"] |=== -| Tier | Rate Limit | Description +| Tier | Rate limit | Description | Free | 5 requests per 2 minutes @@ -76,7 +76,7 @@ The pattern uses Kuadrant (Red Hat Connectivity Link) to enforce per-tier rate l | High-throughput workloads |=== -To adjust rate limits, modify the `tiers` section in `overrides/maas-quickstart.yaml`. For example, to increase the premium tier request limit to 40 and the token limit to 20000: +To adjust rate limits, modify the `tiers` section in `overrides/maas-quickstart.yaml`. The following example increases the premium tier request limit to 40 and the token limit to 20000: [source,yaml] ---- @@ -97,14 +97,14 @@ Push your changes to your forked repository so the GitOps framework applies the [id="managing-users-maas"] === Managing users -User authentication is handled by htpasswd with OpenShift OAuth. The default users are: +htpasswd with OpenShift OAuth handles user authentication. The default users are: * `admin` -- Full administrative access (enterprise tier) * `free-user` -- Free tier access * `premium-user` -- Premium tier access * `enterprise-user` -- Enterprise tier access -User passwords are stored in the `values-secret.yaml` file and managed through HashiCorp Vault and the External Secrets Operator (ESO). To change a user password after initial deployment, update the secret value in your `values-secret.yaml` file and redeploy the pattern. +{hashicorp-vault} and the {eso-op} store and manage user passwords in the `values-secret.yaml` file. To change a user password after initial deployment, update the secret value in your `values-secret.yaml` file and redeploy the pattern. To assign users to different tiers, modify the `tiers` section in `overrides/maas-quickstart.yaml`: @@ -136,8 +136,8 @@ To customize the DevSpaces configuration, you can adjust: * The inference endpoint URL used by the Continue extension [id="gpu-node-provisioning-maas"] -=== GPU node provisioning +=== Provisioning GPU nodes This pattern requires at least 2 NVIDIA GPU nodes with 48 GB or more of VRAM each. On AWS, the pattern automatically provisions `g6e.2xlarge` GPU machine sets with NVIDIA L40S GPUs. -If your cluster does not have GPU nodes, you must add them before deploying the pattern. The pattern installs all required operators, including the NVIDIA GPU Operator, automatically during deployment. +If your cluster does not have GPU nodes, you must add them before you deploy the pattern. The pattern installs all required operators, including the NVIDIA GPU Operator, automatically during deployment. diff --git a/content/patterns/maas-quickstart/getting-started.adoc b/content/patterns/maas-quickstart/getting-started.adoc index a43625490..e20878355 100644 --- a/content/patterns/maas-quickstart/getting-started.adoc +++ b/content/patterns/maas-quickstart/getting-started.adoc @@ -15,8 +15,8 @@ include::modules/comm-attributes.adoc[] .Prerequisites * An OpenShift cluster (version 4.20 or later). This pattern requires at least 2 NVIDIA GPU nodes with 48 GB or more of VRAM each. - ** *AWS*: The pattern automatically provisions 2 `g6e.2xlarge` GPU worker nodes (NVIDIA L40S) during installation. No GPU nodes need to be present before deploying. - ** *Other providers and bare metal*: GPU nodes must already be part of the OpenShift cluster before deploying this pattern. The pattern installs all required operators automatically. + ** *AWS*: The pattern automatically provisions 2 `g6e.2xlarge` GPU worker nodes (NVIDIA L40S) during installation. No GPU nodes need to be present before you deploy. + ** *Other providers and bare metal*: GPU nodes must already be part of the OpenShift cluster before you deploy this pattern. The pattern installs all required operators automatically. ** To create an OpenShift cluster, go to the https://console.redhat.com/[Red Hat Hybrid Cloud console]. ** Select *OpenShift \-> Red Hat OpenShift Container Platform \-> Create cluster*. * The Helm binary. For instructions, see link:https://helm.sh/docs/intro/install/[Installing Helm]. @@ -71,7 +71,7 @@ upstream git@github.com:validatedpatterns-sandbox/ai-quickstart-maas-code-assist + [WARNING] ==== -Do not add, commit, or push this file to your repository. Doing so may expose personal credentials to GitHub. +Do not add, commit, or push this file to your repository. Doing so might expose personal credentials to GitHub. ==== + Run the following command: @@ -184,3 +184,10 @@ $ oc get inferenceservice -A ---- . Access the OpenShift DevSpaces dashboard to confirm the IDE environment is available. Navigate to *Networking -> Routes* in the DevSpaces namespace and open the route URL. + +[id="next-steps-getting-started-maas"] +== Next steps + +* link:customizing-this-pattern[Customizing this pattern] +* link:cluster-sizing[Cluster sizing] +* link:troubleshooting[Troubleshooting] diff --git a/content/patterns/maas-quickstart/troubleshooting.adoc b/content/patterns/maas-quickstart/troubleshooting.adoc new file mode 100644 index 000000000..2dac7dff1 --- /dev/null +++ b/content/patterns/maas-quickstart/troubleshooting.adoc @@ -0,0 +1,264 @@ +--- +title: Troubleshooting +weight: 40 +aliases: /maas-quickstart/troubleshooting/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + +[id="troubleshooting-maas-quickstart"] +== Troubleshooting the MaaS Code Assistant AI Quickstart pattern + +Use this page to diagnose and resolve common issues when deploying or operating this pattern. + +[id="troubleshooting-prereqs-maas"] +== Prerequisite and tooling issues + +[id="troubleshooting-podman-version"] +=== Podman version not supported + +The `pattern.sh` script requires Podman 4.3.0 or later. Earlier versions do not support the `--userns=keep-id` flag required for correct UID/GID mapping inside the container. + +.Symptom + +The script exits with an error referencing the Podman version or `keep-id`. + +.Resolution + +. Check your Podman version: ++ +[source,terminal] +---- +$ podman --version +---- + +. If the version is earlier than 4.3.0, upgrade Podman. For instructions, see the link:https://podman.io/docs/installation[Podman installation documentation]. + +[id="troubleshooting-kubeconfig"] +=== KUBECONFIG path is outside the HOME directory + +The `pattern.sh` script runs inside a container and mounts your `$HOME` directory. If your `KUBECONFIG` file is located outside `$HOME`, the container cannot access it. + +.Symptom + +The script fails to connect to the cluster or reports that the kubeconfig file cannot be found. + +.Resolution + +Move your kubeconfig file to a path inside your home directory and export the updated path: + +[source,terminal] +---- +$ cp ~/kubeconfig +$ export KUBECONFIG=~/kubeconfig +---- + +[id="troubleshooting-deployment-maas"] +== Deployment issues + +[id="troubleshooting-argocd-sync"] +=== ArgoCD applications are not syncing or are unhealthy + +After running `./pattern.sh make install`, ArgoCD applications can take 15–30 minutes to reach a healthy state. Model downloads and GPU operator initialization take additional time. + +.Symptom + +Running `./pattern.sh make argo-healthcheck` reports applications in `Progressing` or `Degraded` state. + +.Resolution + +. Check which applications are not healthy: ++ +[source,terminal] +---- +$ oc get applications -n openshift-gitops +---- + +. Inspect the failing application for error details: ++ +[source,terminal] +---- +$ oc describe application -n openshift-gitops +---- + +. Check the logs of the ArgoCD application controller: ++ +[source,terminal] +---- +$ oc logs -n openshift-gitops deployment/openshift-gitops-application-controller +---- + +. If applications are stuck in `Progressing`, wait an additional 10 minutes and re-run the health check. Model downloads from OCI registries can take significant time depending on network conditions. + +[id="troubleshooting-schema-validation"] +=== Values file schema validation fails + +The pattern validates `values-*.yaml` files against a schema before deployment. + +.Symptom + +Running `./pattern.sh make install` fails with a schema validation error. + +.Resolution + +. Run the validation step independently to see the full error output: ++ +[source,terminal] +---- +$ ./pattern.sh make validate-schema +---- + +. Review the error message to identify the malformed field and correct the value in your `values-secret.yaml` or `overrides/maas-quickstart.yaml` file. + +[id="troubleshooting-gpu-maas"] +== GPU and inference issues + +[id="troubleshooting-gpu-nodes"] +=== GPU nodes are not ready + +The NVIDIA GPU Operator must successfully initialize on each GPU node before model serving can start. + +.Symptom + +Inference service pods remain in `Pending` state, or `oc get inferenceservice -A` shows services not ready. + +.Resolution + +. Check the status of GPU nodes: ++ +[source,terminal] +---- +$ oc get nodes -l nvidia.com/gpu.present=true +---- + +. Check the NVIDIA GPU Operator pods: ++ +[source,terminal] +---- +$ oc get pods -n nvidia-gpu-operator +---- + +. Check for driver initialization errors: ++ +[source,terminal] +---- +$ oc logs -n nvidia-gpu-operator -l app=nvidia-driver-daemonset +---- + +. If you are using a provider other than AWS, confirm that GPU nodes were present in the cluster before you deployed the pattern. The pattern does not provision GPU nodes on providers other than AWS. + +[id="troubleshooting-inference-endpoints"] +=== Inference endpoints are not serving + +.Symptom + +`oc get inferenceservice -A` shows inference services in a non-ready state, or the Continue AI extension in DevSpaces returns connection errors. + +.Resolution + +. Check the status of inference services: ++ +[source,terminal] +---- +$ oc get inferenceservice -A +---- + +. Check the vLLM model server pod logs for a specific model: ++ +[source,terminal] +---- +$ oc logs -n redhat-ods-applications -l serving.kserve.io/inferenceservice= +---- + +. Confirm that the GPU nodes have sufficient available VRAM. Each model requires a GPU with at least 48 GB of VRAM. If both models are scheduled on the same node, the node requires at least 96 GB of VRAM or you must use two separate GPU nodes. + +[id="troubleshooting-rate-limiting-maas"] +== Rate limiting and authentication issues + +[id="troubleshooting-rate-limits"] +=== Rate limiting is not enforced + +.Symptom + +Requests from all users succeed regardless of the configured rate limits, or requests are blocked for all users. + +.Resolution + +. Check the status of the Kuadrant operator and Limitador pod: ++ +[source,terminal] +---- +$ oc get pods -n kuadrant-system +---- + +. Check the Limitador logs for policy errors: ++ +[source,terminal] +---- +$ oc logs -n kuadrant-system deployment/limitador +---- + +. Confirm that rate limit policies are applied correctly: ++ +[source,terminal] +---- +$ oc get ratelimitpolicy -A +---- + +[id="troubleshooting-auth-maas"] +=== Users cannot authenticate + +.Symptom + +Users receive authentication errors when accessing the inference API or DevSpaces. + +.Resolution + +. Confirm that the htpasswd secret was correctly provisioned by the External Secrets Operator: ++ +[source,terminal] +---- +$ oc get externalsecret -A +$ oc get secret htpasswd-secret -n openshift-config +---- + +. If the secret is missing or incorrect, verify that your `values-secret.yaml` file contains the correct passwords for all four users (`admin`, `free-user`, `premium-user`, `enterprise-user`) and redeploy the pattern. + +[id="troubleshooting-devspaces-maas"] +== OpenShift DevSpaces issues + +[id="troubleshooting-devspaces-connection"] +=== Continue AI extension cannot connect to inference endpoints + +.Symptom + +Code suggestions are not returned in DevSpaces, or the Continue extension reports a connection error. + +.Resolution + +. Confirm that the inference services are healthy: ++ +[source,terminal] +---- +$ oc get inferenceservice -A +---- + +. Navigate to *Networking -> Routes* in the namespace where the inference services are running and confirm the routes are accessible. + +. In DevSpaces, open the Continue extension settings and verify that the endpoint URL matches the route URL for the vLLM service. + +[id="troubleshooting-get-help-maas"] +== Getting help + +If you cannot resolve an issue using this guide: + +* Check the link:https://github.com/validatedpatterns-sandbox/ai-quickstart-maas-code-assistant/issues[GitHub issues] for known problems and workarounds. +* Open a new issue with the output of the following command to help diagnose the problem: ++ +[source,terminal] +---- +$ oc get pods -A | grep -v Running | grep -v Completed +---- diff --git a/modules/maas-quickstart-about.adoc b/modules/maas-quickstart-about.adoc index cea2631ce..d39da8e5c 100644 --- a/modules/maas-quickstart-about.adoc +++ b/modules/maas-quickstart-about.adoc @@ -12,17 +12,12 @@ Use case:: * Deploy an AI-powered code assistant that provides intelligent code suggestions through an integrated development environment. * Implement Model-as-a-Service (MaaS) governance with tiered user access, rate limiting, and chargeback capabilities. * Use a GitOps approach to provision AI inference infrastructure including GPU-accelerated model serving, identity management, and API rate limiting. -+ -[NOTE] -==== -Based on the requirements of a specific implementation, certain details might differ. However, all Validated Patterns that are based on a portfolio architecture, generalize one or more successful deployments of a use case. -==== Background:: -This pattern is scaffolding around the link:https://github.com/rh-ai-quickstart/maas-code-assistant[MaaS Code Assistant AI Quickstart]. It provisions the OpenShift cluster with link:https://www.redhat.com/en/products/ai/openshift-ai[{rhoai}] configured for GPU-accelerated inference using vLLM and llm-d. It deploys the NVIDIA GPU Operator for model serving on GPU nodes and manages secrets through the {solution-name-upstream} framework using HashiCorp Vault and the External Secrets Operator. +This pattern builds on the link:https://github.com/rh-ai-quickstart/maas-code-assistant[MaaS Code Assistant AI Quickstart]. It provisions the OpenShift cluster with link:https://www.redhat.com/en/products/ai/openshift-ai[{rhoai}] configured for GPU-accelerated inference using vLLM and llm-d. It deploys the NVIDIA GPU Operator for model serving on GPU nodes and manages secrets through the {solution-name-upstream} framework using HashiCorp Vault and the External Secrets Operator. This pattern generalizes one or more successful deployments of this use case. Implementation details might vary depending on your specific environment and requirements. -The MaaS Code Assistant enables organizations to offer AI code assistance as an internal service with differentiated access tiers. It demonstrates a production-ready approach to: +Organizations can use the MaaS Code Assistant to offer AI code assistance as an internal service with differentiated access tiers. It demonstrates a production-ready approach to: - Serving multiple NVIDIA Nemotron language models optimized for code completion and generation - Enforcing per-user rate limits through Kuadrant (Red Hat Connectivity Link) to manage capacity and enable chargeback @@ -40,7 +35,7 @@ The solution uses vLLM with llm-d for high-performance inference of NVIDIA Nemot [id="about-maas-quickstart-technology"] == About the technology -The following technologies are used in this solution: +This solution uses the following technologies: https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[{rh-ocp}]:: An enterprise-ready Kubernetes container platform built for an open hybrid cloud strategy. It provides a consistent application platform to manage hybrid cloud, public cloud, and edge deployments. diff --git a/modules/maas-quickstart-architecture.adoc b/modules/maas-quickstart-architecture.adoc index 2eebdd735..61ca9a4c9 100644 --- a/modules/maas-quickstart-architecture.adoc +++ b/modules/maas-quickstart-architecture.adoc @@ -5,7 +5,7 @@ include::comm-attributes.adoc[] [id="maas-quickstart-architecture"] = MaaS Code Assistant AI Quickstart architecture -The following figure provides a high-level overview of the MaaS Code Assistant architecture. +The following figure shows the MaaS Code Assistant architecture. .MaaS Code Assistant system architecture image::maas-quickstart/code-assist-diagram.png[MaaS Code Assistant Architecture,link="/images/maas-quickstart/code-assist-diagram.png"] @@ -28,7 +28,7 @@ llm-d:: Provides Kubernetes-native distributed inference orchestration. llm-d manages model placement, scaling, and request routing across GPU nodes using the LeaderWorkerSet (LWS) operator. NVIDIA GPU Operator:: -Manages NVIDIA GPU drivers, device plugins, and monitoring on worker nodes. Ensures GPUs are properly configured and available for model serving workloads. +Manages NVIDIA GPU drivers, device plugins, and monitoring on worker nodes. Ensures GPUs are configured and available for model serving workloads. [id="maas-quickstart-governance-layer"] == Governance layer @@ -36,13 +36,13 @@ Manages NVIDIA GPU drivers, device plugins, and monitoring on worker nodes. Ensu The governance layer controls access and enforces usage policies: OpenShift OAuth with htpasswd:: -Provides identity and access management using OpenShift's built-in OAuth server with htpasswd credentials. Users are assigned to tiers (Free, Premium, Enterprise) that determine their rate limits and model access. +Provides identity and access management using the built-in OAuth server in OpenShift with htpasswd credentials. The solution assigns users to tiers (Free, Premium, Enterprise) that determine their rate limits and model access. Kuadrant (Red Hat Connectivity Link):: Enforces rate limit policies on inference API requests. Each user tier has a configured request quota (Free: 5/2min, Premium: 20/2min, Enterprise: 50/2min) to manage capacity and enable usage-based chargeback. -HashiCorp Vault + External Secrets Operator:: -Manages sensitive credentials including htpasswd user passwords. The {solution-name-upstream} framework provisions Vault and ESO to securely synchronize secrets to the cluster. +{hashicorp-vault} and External Secrets Operator:: +Manages sensitive credentials including htpasswd user passwords. The {solution-name-upstream} framework provisions {hashicorp-vault-short} and ESO to securely synchronize secrets to the cluster. [id="maas-quickstart-developer-experience"] == Developer experience layer @@ -52,17 +52,17 @@ The developer experience layer provides the end-user interface: OpenShift DevSpaces:: Delivers browser-based developer workspaces with preconfigured IDE environments. Developers access DevSpaces to write code with AI assistance without local setup. -Continue AI Extension:: +Continue AI extension:: An open source AI code assistant extension integrated into DevSpaces. Continue connects to the vLLM inference endpoints to provide inline code suggestions, completions, and chat-based code assistance. [id="maas-quickstart-deployment"] == Deployment architecture -The following table describes the pod structure when deployed on OpenShift: +The following table describes the pod structure when you deploy on OpenShift: [cols="1,2,3",options="header"] |=== -| Pod | Purpose | Key characteristics +| Pod | Purpose | Characteristics | vLLM Model Server (nemotron-3-nano-30b) | Code generation inference