--- # Install Red Hat OpenShift AI 3.5 with Models-as-a-Service and register # in-cluster OpenAI-compatible servers (llama-coder) as MaaS ExternalModels. # # Follows "Govern LLM access with Models-as-a-Service" (RHOAI Self-Managed 3.5) # and its companion guide https://github.com/jharmison-redhat/rhoai-maas-guide. # # Order matters: # - GatewayClass before Kuadrant, or Kuadrant reports MissingDependency # (Istio is provisioned by the GatewayClass). # - maas-db-config before the DSC enables modelsAsAService. # # All tasks are idempotent (kubernetes.core.k8s state: present / patched). - name: Install operators ansible.builtin.include_tasks: operator.yml loop: "{{ rhoai_maas_operators }}" loop_control: loop_var: __rhoai_maas_operator label: "{{ __rhoai_maas_operator.name }}" - name: Configure platform (monitoring, gateway, Kuadrant) ansible.builtin.include_tasks: platform.yml - name: Configure MaaS database secret ansible.builtin.include_tasks: database.yml - name: Configure DataScienceCluster ansible.builtin.include_tasks: rhoai.yml - name: Register models and access policies ansible.builtin.include_tasks: models.yml - name: Display MaaS deployment summary ansible.builtin.debug: msg: - "Models-as-a-Service ready!" - " Endpoint : https://{{ __rhoai_maas_hostname }}/v1" - " Models : {{ rhoai_maas_external_models | map(attribute='name') | join(', ') }}" - " API keys : RHOAI dashboard, or POST https://{{ __rhoai_maas_hostname }}/maas-api/v1/api-keys with an OpenShift token" - " Test : curl -H \"Authorization: Bearer $MAAS_API_KEY\" https://{{ __rhoai_maas_hostname }}/v1/models"