Add OPA and Openshift AI

This commit is contained in:
2026-10-20 14:08:57 -04:00
parent 7df35b9dd4
commit 5b46ba7c74
27 changed files with 2634 additions and 1 deletions

View File

@@ -0,0 +1,90 @@
---
argument_specs:
main:
short_description: Install Red Hat OpenShift AI 3.5 with Models-as-a-Service
description:
- Installs Red Hat Connectivity Link, Leader Worker Set and the RHOAI operator via OLM,
configures User Workload Monitoring, the MaaS Gateway, Kuadrant and Authorino TLS,
creates the maas-db-config secret, and enables a minimal DataScienceCluster with
aigateway.modelsAsAService Managed.
- Registers in-cluster OpenAI-compatible servers as ExternalModels (Technology Preview)
and applies MaaSAuthPolicy / MaaSSubscription resources.
- PostgreSQL is not provisioned here; run cloudnativepg_operator first (see
playbooks/deploy_rhoai_maas.yml).
options:
rhoai_maas_operators:
description: OLM operators to install, in order (name, namespace, channel, optional
operator_group_target_namespaces and namespace_labels).
type: list
elements: dict
rhoai_maas_wait_timeout:
description: Seconds to wait for each operator, CRD, and deployment to become ready.
type: int
default: 900
rhoai_maas_hostname:
description: MaaS gateway hostname. Empty uses maas.<cluster ingress domain>.
type: str
default: ""
rhoai_maas_gateway_cert_secret:
description: >-
TLS Secret in openshift-ingress used by the Gateway HTTPS listener. Must be
a single-host cert, not the *.apps wildcard (browser HTTP/2 coalescing).
type: str
default: maas-gateway-tls
rhoai_maas_gateway_cert_issuer:
description: >-
cert-manager ClusterIssuer that issues rhoai_maas_gateway_cert_secret for the
MaaS hostname. Empty skips creating the Certificate.
type: str
default: letsencrypt-production
rhoai_maas_gateway_service_type:
description: Service type for the Gateway's generated Service.
type: str
choices: [ClusterIP, LoadBalancer, NodePort]
default: ClusterIP
rhoai_maas_gateway_create_route:
description: Create a passthrough Route on the default router to the Gateway Service.
type: bool
default: true
rhoai_maas_db_secret_name:
description: basic-auth Secret (username/password/host/port/database) for the MaaS database.
type: str
default: maas-postgres-secret
rhoai_maas_db_secret_namespace:
description: Namespace of rhoai_maas_db_secret_name.
type: str
default: rhoai-maas-db
rhoai_maas_db_sslmode:
description: libpq sslmode used in DB_CONNECTION_URL.
type: str
default: require
rhoai_maas_infra_namespace:
description: MaaS infrastructure namespace that holds maas-db-config (3.5+).
type: str
default: redhat-ai-gateway-infra
rhoai_maas_dsc_name:
description: DataScienceCluster name.
type: str
default: default-dsc
rhoai_maas_dsc_managed_components:
description: DSC components set to Managed.
type: list
elements: str
rhoai_maas_dsc_removed_components:
description: DSC components set to Removed.
type: list
elements: str
rhoai_maas_external_models:
description: In-cluster or external OpenAI-compatible endpoints to register as
ExternalProvider + ExternalModel + MaaSModelRef.
type: list
elements: dict
rhoai_maas_auth_policies:
description: MaaSAuthPolicy definitions (name, groups, users, model_refs).
type: list
elements: dict
rhoai_maas_subscriptions:
description: MaaSSubscription definitions (name, priority, groups, users, model_refs
with tokenRateLimits).
type: list
elements: dict