# git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto architecture

> Architecture diagram of the GitHub repository git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto
- Repository: https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto

## Overview

This repository is a hands-on workshop for building a self-hosted GenAI and agentic-AI system on AWS, not an application runtime. Its user journey moves from provisioning an EKS/FSx ONTAP environment through model serving, chatbot and agent deployment, then monitoring and optional storage/failover exercises. The graph retains those documented capabilities and their representative workshop assets. Source inspection was limited to the README and the agent implementation; links between unsampled manifests and lesson steps are therefore left out where their wiring cannot be verified.

Main entry points: [`static/eks/genai/litellm-deployment.yaml`](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/litellm-deployment.yaml) (LLM gateway), [`static/eks/agentic-agents/agent-app/agent.py`](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/agentic-agents/agent-app/agent.py) (Strands agent service), [`static/eks/genai/mistral-ontap.yaml`](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/mistral-ontap.yaml) (vLLM model serving), [`content/020_setup/index.en.md`](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/020_setup/index.en.md) (Setup lessons)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_learning["Workshop Journey"]
  node_setup["Setup lessons<br/>[index.en.md]"]
  node_platform_lesson["EKS and storage<br/>[index.en.md]"]
  node_genai_lesson["GenAI deployment<br/>[index.en.md]"]
  node_observe_lesson["Observability lessons<br/>[index.en.md]"]
  node_agent_lesson["Agent workflow<br/>[index.en.md]"]
  node_optional_storage["Storage exercises<br/>[index.en.md]"]
  node_optional_failover["Failover exercises<br/>[index.en.md]"]
end

subgraph group_platform["AWS Platform"]
  node_quick_deploy["Workshop deployment"]
  node_cfn["Workshop stack"]
  node_terraform["EKS infrastructure<br/>[main.tf]"]
  node_trident["Trident storage setup"]
  node_model_load["Model preload job"]
end

subgraph group_genai["GenAI Stack"]
  node_vllm["vLLM model serving<br/>[mistral-ontap.yaml]"]
  node_gateway["LLM gateway"]
  node_gateway_config["Gateway configuration"]
  node_webui["Open WebUI<br/>[values.yaml]"]
  node_observability["Monitoring stack"]
end

subgraph group_agents["Agents And Operations"]
  node_agent_app["Strands agent service<br/>[agent.py]"]
  node_agent_deploy["Agent deployments"]
  node_agent_data[("Shared agent data")]
  node_agent_lesson_data["Prepare agent data<br/>[410_PrepareData.md]"]
  node_inspect["Model inspection<br/>[index.en.md]"]
  node_snapshot["FSx snapshots"]
  node_dynamic_prov["Dynamic provisioning"]
  node_failover["MAZ failover"]
end

node_learner(("Workshop learner"))
node_aws{{"AWS services"}}
node_fsx[("FSx ONTAP")]

node_learner -->|"follows"| node_setup
node_learner -->|"follows"| node_platform_lesson
node_learner -->|"follows"| node_genai_lesson
node_learner -->|"follows"| node_observe_lesson
node_learner -->|"follows"| node_agent_lesson
node_setup -->|"runs"| node_quick_deploy
node_quick_deploy -->|"deploys"| node_cfn
node_cfn -->|"provisions"| node_aws
node_terraform -->|"provisions"| node_aws
node_trident -->|"configures storage"| node_fsx
node_model_load -->|"loads model"| node_fsx
node_vllm -->|"reads model"| node_fsx
node_gateway -->|"routes inference"| node_vllm
node_gateway -->|"uses config"| node_gateway_config
node_webui -->|"sends requests"| node_gateway
node_observability -->|"monitors"| node_vllm
node_agent_lesson -->|"prepares data"| node_agent_lesson_data
node_agent_deploy -->|"runs"| node_agent_app
node_agent_app -->|"requests inference"| node_gateway
node_agent_app -->|"reads documents"| node_agent_data
node_learner -.->|"explores"| node_inspect
node_learner -.->|"explores"| node_snapshot
node_learner -.->|"explores"| node_optional_storage
node_learner -.->|"explores"| node_dynamic_prov
node_learner -.->|"explores"| node_optional_failover
node_learner -.->|"triggers"| node_failover

click node_setup "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/020_setup/index.en.md"
click node_platform_lesson "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/100_module1_eks_fsxontap/index.en.md"
click node_genai_lesson "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/200_module2_genai/index.en.md"
click node_observe_lesson "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/300_module3_observability/index.en.md"
click node_agent_lesson "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/400_module4_agentic_fsxn/index.en.md"
click node_optional_storage "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/600_module6_dynamic_prov/index.en.md"
click node_optional_failover "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/700_module7_maz_failover/index.en.md"
click node_quick_deploy "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/scripts/quick-deploy-on-demand.sh"
click node_cfn "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/GenAIFSXWorkshopOnEKS.yaml"
click node_terraform "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/terraform/main.tf"
click node_trident "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/FSxONTAP/trident-backend-config.yaml"
click node_model_load "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/FSxONTAP/model-loading-job.yaml"
click node_vllm "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/mistral-ontap.yaml"
click node_gateway "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/litellm-deployment.yaml"
click node_gateway_config "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/litellm-config.yaml"
click node_webui "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/open-webui-helm/values.yaml"
click node_observability "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/observability/kube-prom-stack.yaml"
click node_agent_app "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/agentic-agents/agent-app/agent.py"
click node_agent_deploy "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/agentic-agents/finance-agent-deployment.yaml"
click node_agent_data "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/agentic-agents/agent-shared-pvc.yaml"
click node_agent_lesson_data "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/400_module4_agentic_fsxn/410_PrepareData.md"
click node_inspect "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/500_module5_inspect_data/index.en.md"
click node_snapshot "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/500_module5_inspect_data/520_FSxNSnapshots.md"
click node_dynamic_prov "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/600_module6_dynamic_prov/610_dynamic_prov.md"
click node_failover "https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/700_module7_maz_failover/720_TriggerFailover.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_setup,node_platform_lesson,node_genai_lesson,node_observe_lesson,node_agent_lesson,node_optional_storage,node_optional_failover toneBlue
class node_quick_deploy,node_cfn,node_terraform,node_trident,node_model_load,node_fsx toneAmber
class node_vllm,node_gateway,node_gateway_config,node_webui,node_observability toneMint
class node_agent_app,node_agent_deploy,node_agent_data,node_agent_lesson_data,node_inspect,node_snapshot,node_dynamic_prov,node_failover toneRose
class node_learner,node_aws toneIndigo
```

## Components

### Workshop Journey

- [Setup lessons](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/020_setup/index.en.md): `content/020_setup/index.en.md`
- [EKS and storage](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/100_module1_eks_fsxontap/index.en.md): `content/100_module1_eks_fsxontap/index.en.md`
- [GenAI deployment](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/200_module2_genai/index.en.md): `content/200_module2_genai/index.en.md`
- [Observability lessons](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/300_module3_observability/index.en.md): `content/300_module3_observability/index.en.md`
- [Agent workflow](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/400_module4_agentic_fsxn/index.en.md): `content/400_module4_agentic_fsxn/index.en.md`
- [Storage exercises](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/600_module6_dynamic_prov/index.en.md): `content/600_module6_dynamic_prov/index.en.md`
- [Failover exercises](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/700_module7_maz_failover/index.en.md): `content/700_module7_maz_failover/index.en.md`

### AWS Platform

- [Workshop deployment](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/scripts/quick-deploy-on-demand.sh): `static/scripts/quick-deploy-on-demand.sh`
- [Workshop stack](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/GenAIFSXWorkshopOnEKS.yaml): `static/GenAIFSXWorkshopOnEKS.yaml`
- [EKS infrastructure](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/terraform/main.tf): `static/terraform/main.tf`
- [Trident storage setup](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/FSxONTAP/trident-backend-config.yaml): `static/eks/FSxONTAP/trident-backend-config.yaml`
- [Model preload job](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/FSxONTAP/model-loading-job.yaml): `static/eks/FSxONTAP/model-loading-job.yaml`

### GenAI Stack

- [vLLM model serving](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/mistral-ontap.yaml): `static/eks/genai/mistral-ontap.yaml`
- [LLM gateway](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/litellm-deployment.yaml): `static/eks/genai/litellm-deployment.yaml`
- [Gateway configuration](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/litellm-config.yaml): `static/eks/genai/litellm-config.yaml`
- [Open WebUI](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/open-webui-helm/values.yaml): `static/eks/genai/open-webui-helm/values.yaml`
- [Monitoring stack](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/genai/observability/kube-prom-stack.yaml): `static/eks/genai/observability/kube-prom-stack.yaml`

### Agents And Operations

- [Strands agent service](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/agentic-agents/agent-app/agent.py): `static/eks/agentic-agents/agent-app/agent.py`
- [Agent deployments](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/agentic-agents/finance-agent-deployment.yaml): `static/eks/agentic-agents/finance-agent-deployment.yaml`
- [Shared agent data](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/static/eks/agentic-agents/agent-shared-pvc.yaml): `static/eks/agentic-agents/agent-shared-pvc.yaml`
- [Prepare agent data](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/400_module4_agentic_fsxn/410_PrepareData.md): `content/400_module4_agentic_fsxn/410_PrepareData.md`
- [Model inspection](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/500_module5_inspect_data/index.en.md): `content/500_module5_inspect_data/index.en.md`
- [FSx snapshots](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/500_module5_inspect_data/520_FSxNSnapshots.md): `content/500_module5_inspect_data/520_FSxNSnapshots.md`
- [Dynamic provisioning](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/600_module6_dynamic_prov/610_dynamic_prov.md): `content/600_module6_dynamic_prov/610_dynamic_prov.md`
- [MAZ failover](https://github.com/git4example/genai-fsx-netapp-ontap-workshop-on-eks-auto/blob/mainline/content/700_module7_maz_failover/720_TriggerFailover.md): `content/700_module7_maz_failover/720_TriggerFailover.md`

### Other components

- **Workshop learner**
- **AWS services**
- **FSx ONTAP**

## Connections

- Workshop learner → Setup lessons: follows
- Workshop learner → EKS and storage: follows
- Workshop learner → GenAI deployment: follows
- Workshop learner → Observability lessons: follows
- Workshop learner → Agent workflow: follows
- Setup lessons → Workshop deployment: runs
- Workshop deployment → Workshop stack: deploys
- Workshop stack → AWS services: provisions
- EKS infrastructure → AWS services: provisions
- Trident storage setup → FSx ONTAP: configures storage
- Model preload job → FSx ONTAP: loads model
- vLLM model serving → FSx ONTAP: reads model
- LLM gateway → vLLM model serving: routes inference
- LLM gateway → Gateway configuration: uses config
- Open WebUI → LLM gateway: sends requests
- Monitoring stack → vLLM model serving: monitors
- Agent workflow → Prepare agent data: prepares data
- Agent deployments → Strands agent service: runs
- Strands agent service → LLM gateway: requests inference
- Strands agent service → Shared agent data: reads documents
- Workshop learner → Model inspection: explores
- Workshop learner → FSx snapshots: explores
- Workshop learner → Storage exercises: explores
- Workshop learner → Dynamic provisioning: explores
- Workshop learner → Failover exercises: explores
- Workshop learner → MAZ failover: triggers
