Automated Setup
setup-maas.sh is a single script that handles the entire MaaS lifecycle, from operator installation through model deployment and verification. Each phase is idempotent; re-running skips what’s already done.
| This guide is not a replacement for the official Red Hat OpenShift AI Models as a Service documentation. It is a companion resource with opinionated Kustomize manifests and automation scripts to accelerate deployment. |
Clone and Run
git clone https://github.com/rh-aiservices-bu/rhoai-maas-guide.git
cd rhoai-maas-guide
./scripts/setup-maas.sh
This runs Phases 0-6 automatically. The script detects what’s already installed and skips completed phases.
Arguments
| Option | Description | Default |
|---|---|---|
|
Model to deploy: |
|
|
Start from phase N (0-7), skipping earlier phases |
|
|
Skip Phase 5 (model deployment) |
|
|
Skip Phase 6 (verification) |
|
|
Also run Phase 7 (COO + Gateway telemetry) |
|
|
Preview what would be applied without making changes |
Phases
| Phase | What it does | Time |
|---|---|---|
0 |
Preflight - detect cluster state, decide which phases to run |
instant |
1 |
Operators - |
2-5 min |
2 |
Platform - Kuadrant, UWM, GatewayClass, envsubst Gateway |
2-5 min |
3 |
MaaS Platform - PostgreSQL secrets/deployment |
2-3 min |
4 |
RHOAI - DSC with modelsAsService: Managed, Dashboard flags, wait for maas-api |
3-5 min |
5 |
Model - auto-detect GPU, apply Kustomize, wait for Ready |
0.5-15 min |
6 |
Verify - 6-phase E2E (API, auth, rate limits, cleanup) |
3-5 min |
7 |
Observability - COO subscription + Gateway TelemetryPolicy |
2-3 min |
Common Usage Patterns
Full installation (recommended)
For a fresh cluster with no MaaS components:
./scripts/setup-maas.sh
Resume from a specific phase
If a previous run failed at Phase 4:
./scripts/setup-maas.sh --from-phase 4
Convenience Scripts
These wrap individual phases for standalone use:
| Script | What it does |
|---|---|
|
Phase 5 only - deploy a model with GPU auto-detection |
|
Send inference requests to a deployed model endpoint |
|
Phase 6 only - wrapper for |
State Detection
Phase 0 inspects the cluster and reports what’s already installed. The script uses this to skip completed phases:
-
Operators installed? Skip Phase 1.
-
Kuadrant + UWM + Gateway ready? Skip Phase 2.
-
PostgreSQL running? Skip Phase 3.
-
DSC with modelsAsService: Managed + maas-api running? Skip Phase 4.
-
Models deployed in llm namespace? Skip Phase 5.
Override with --from-phase N to force re-running from a specific phase.
AI-Assisted Installation
If you use an AI coding tool (Claude Code, Open Code, Cursor, Roo Code), the /install-maas skill wraps the same script with an interactive, AI-assisted workflow. Clone the repo, open it in your tool, and run:
/install-maas
Or with arguments:
/install-maas --model simulator --with-observability
See AI-Assisted Installation for details.