Skip to content

feat: add quickstart manifest schema, RAG manifest, and containerized installer for Project Navigator support - #206

Open
gurvinder wants to merge 1 commit into
rh-ai-quickstart:devfrom
gurvinder:dev
Open

feat: add quickstart manifest schema, RAG manifest, and containerized installer for Project Navigator support #206
gurvinder wants to merge 1 commit into
rh-ai-quickstart:devfrom
gurvinder:dev

Conversation

@gurvinder

Copy link
Copy Markdown
Contributor

Summary

  • Adds a JSON Schema (quickstart-manifest.schema.json) defining the standard structure for Navigator quickstart manifests
  • Adds the RAG quickstart manifest (quickstart-manifest.yaml) with full metadata, lifecycle actions, prerequisites, and parameter definitions
  • Adds a containerized installer (installer/) that runs as a Kubernetes Job to perform lifecycle actions (check_pre_reqs, install, status, upgrade, uninstall) via Helm against a target namespace
  • Installer image is built on UBI9 with oc, helm, jq, and yq, and packages the RAG Helm chart at build time
  • Includes deploy.sh as a local proxy script that creates RBAC, launches the installer Job, monitors logs, retrieves the termination message, and cleans up

Test Results

All lifecycle actions were tested on OpenShift 4.21.16 against the llama-stack-rag namespace using image quay.io/rh-ai-quickstart/rag-installer:0.2.38.

# Action Result Log
1 check_pre_reqs Job completed successfully. All prerequisites validated (OCP 4.21.16, 19 workers, 229 CPU, 927 GiB, 11 GPU nodes, storage classes, ODH CRDs). check_pre_reqs_output.log
2 status (before install) Job completed successfully. Correctly reported "Namespace llama-stack-rag does not exist — no deployment found." status_before_output.log
3 install (interactive) Job completed successfully. Helm release deployed (revision 1). llamastack ready after ~150s. RAG UI endpoint returned. install_interactive_output.log
4 status (after install) Job completed successfully. Reported 14 ready pods, 16 services, 5 routes, 5 bound PVCs. status_after_output.log
5 termination message Structured JSON termination message correctly written to pod and Job annotation. Includes status, action, namespace, and logConfigMap reference. termination_msg_output.log
6 log ConfigMap ConfigMap persisted with full installer logs. ConfigMaps labeled with app=rag-installer and target-namespace. log_configmap_output.log
7 upgrade Job completed successfully. Helm release upgraded (revision 2). Old pipeline jobs cleaned up. llamastack ready immediately. Endpoint returned. upgrade_output.log
8 uninstall_delete_all Job completed successfully. Namespace and all resources removed. uninstall_delete_all_output.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant