EDU_AI_DEMO is an Ansible Automation Platform demo kit for building a temporary, customer-branded AI assistant from public university web content.
The intended flow:
- Run the AAP job one or two days before a customer meeting.
- Provide the customer name, website, optional logo URL or private logo file, and target runtime.
- Let the playbook crawl a small set of public pages, build a branded mini chatbot, deploy it to the selected Red Hat runtime, and run a smoke test with education-focused questions.
- Demo the result, then clean it up or re-run for the next school.
The default assistant is deliberately evidence-based. It answers from crawled public pages and cites source links. If it cannot verify an answer, it says that instead of inventing a response. Optional RHEL AI or OpenShift AI endpoints can be wired in later for model-backed generation while keeping the same retrieval context.
This kit is designed to show a simple end-to-end Red Hat platform story:
- Ansible Automation Platform drives the repeatable customer-specific build.
- RHEL is the base operating system target for Podman-hosted demos.
- Podman can run the chatbot directly on a RHEL host.
- OpenShift can host the generated app as a temporary Route-backed deployment.
- OpenShift AI can be shown as the model serving and governance layer when an inference endpoint is supplied.
- RHEL AI can be shown as a portable model endpoint for the same chatbot runtime.
Install required collections:
ansible-galaxy collection install -r requirements.ymlBuild a local demo artifact and run an offline smoke test:
ansible-playbook playbooks/EDU_AI_DEMO.yml \
-e customer_name="University of North Carolina" \
-e customer_website="https://www.unc.edu/" \
-e demo_runtime="artifact"Deploy to OpenShift if your kubeconfig is available:
ansible-playbook playbooks/EDU_AI_DEMO.yml \
-e customer_name="Wake Forest University" \
-e customer_website="https://www.wfu.edu/" \
-e demo_runtime="openshift"The OpenShift path uses the oc CLI from the execution environment by default. In AAP, attach an OpenShift credential that injects OCP_API_URL, OCP_API_TOKEN, and optionally OCP_SKIP_TLS_VERIFY; the playbook logs in with those values before applying or removing OpenShift resources.
Clean up an OpenShift demo namespace:
ansible-playbook playbooks/EDU_AI_DEMO_CLEANUP.yml \
-e customer_name="Wake Forest University" \
-e demo_runtime="openshift"The main playbook is named EDU_AI_DEMO.yml. Suggested survey questions are in examples/surveys/EDU_AI_DEMO_survey.json.
Required variables:
customer_namecustomer_websitedemo_runtime:artifact,podman,openshift,openshift_ai,rhel_ai, orall
Optional variables:
demo_logo_url: direct image URL to use instead of auto-discoverydemo_logo_file: private repo path to a logo file, useful when AAP survey upload is not practicaldemo_max_pages: crawl limit, default24demo_question_set: custom smoke-test questionsdemo_llm_endpoint_url: OpenAI-compatible endpoint for RHEL AI/OpenShift AI demosdemo_llm_api_key_env: environment variable name that contains the endpoint API key
This repo is public-facing. Do not commit customer secrets, private API endpoints, AAP credentials, kubeconfigs, or private IPs here. Put environment-specific values in the private repo or in AAP credentials.