Skip to content

Commit a609675

Browse files
jland-redhatJaland
andauthored
chore: Documentation updates and cleaning up root folder (#117)
* Updated the main README to reduce what was shown, and remove out of date information, as well as moving files out of our root directory to help tidy up a little bit * Addressing comments --------- Co-authored-by: Jamie Land <hokie10@gmail.com>
1 parent 1578978 commit a609675

14 files changed

+13
-167
lines changed

README.md

Lines changed: 6 additions & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -7,181 +7,29 @@ Our goal is to create a comprehensive platform for **Models as a Service** with
77
88
## 📦 Technology Stack
99

10-
- **Kuadrant/Authorino/Limitador**: API gateway and policy engine
10+
- **OpenShift**: Kubernetes platform
1111
- **Gateway API**: Traffic routing and management (OpenShift native implementation)
12-
- **OpenShift Service Mesh**: Automatically provisioned when Gateway API is enabled (includes Istio)
12+
- **Kuadrant/Authorino/Limitador**: API gateway and policy engine
13+
- **KServe**: Model serving platform
1314
- **React**: Frontend framework
1415
- **Go**: Backend frameworks
1516

16-
## 🚀 Features
17-
18-
- **🎯 Policy Management**: Drag-and-drop interface for creating and managing authentication and rate-limiting policies
19-
- **📊 Real-time Metrics**: Live dashboard showing policy enforcement decisions with filtering and analytics
20-
- **🧪 Request Simulation**: Test policies before deployment with comprehensive simulation tools
21-
- **🔐 Authentication**: API key-based auth with team-based access control
22-
- **⚡ Rate Limiting**: Configurable request quotas with time-based restrictions
23-
- **📈 Observability**: Prometheus metrics and real-time monitoring
24-
- **🌐 Domain Routing**: Model-specific subdomains for clean API organization
25-
26-
## 🏗️ Architecture
27-
28-
### Backend Components
29-
- **API Gateway**: OpenShift Gateway API implementation with Envoy proxy and Kuadrant integration
30-
- **Policy Engine**: Real-time policy enforcement through Kuadrant (Authorino + Limitador)
31-
- **Model Serving**: KServe-based AI model deployment with vLLM runtime
32-
- **Model Discovery**: Automatic model listing model resources
33-
- **Key Manager**: API key management and authentication
34-
- **Metrics Collection**: Live data from Kuadrant components
35-
36-
### Frontend Components
37-
- **Policy Manager**: Create, edit, and manage policies with intuitive drag-and-drop interface
38-
- **Live Metrics Dashboard**: Real-time view of policy enforcement with filtering capabilities
39-
- **Request Simulator**: Test policies against simulated traffic patterns
40-
4117
## 📋 Prerequisites
4218

43-
- **Kubernetes cluster** (1.25+) with kubectl access
44-
- **Node.js** (18+) and npm
45-
- **Docker** (for local development)
19+
- **Openshift cluster** (4.19.9+) with kubectl/oc access
4620

4721
## 🚀 Quick Start
4822

4923
### Deploy Infrastructure
5024

5125
See the comprehensive [Deployment Guide](deployment/README.md) for detailed instructions.
5226

53-
Quick deployment for OpenShift:
54-
```bash
55-
export CLUSTER_DOMAIN="apps.your-openshift-cluster.com"
56-
kustomize build deployment/overlays/openshift | envsubst | kubectl apply -f -
57-
```
58-
59-
Quick deployment for Kubernetes:
60-
```bash
61-
export CLUSTER_DOMAIN="your-kubernetes-domain.com"
62-
kustomize build deployment/overlays/kubernetes | envsubst | kubectl apply -f -
63-
```
64-
65-
### Start Development Environment
66-
67-
After deploying the infrastructure:
68-
69-
#### Option A: One-Command Start (Recommended)
70-
```bash
71-
# From the repository root
72-
./start-dev.sh
73-
```
74-
75-
This will:
76-
- Check prerequisites (infrastructure deployment)
77-
- Start backend API server on http://localhost:3001
78-
- Start frontend UI on http://localhost:3000
79-
- Provide monitoring and logging
80-
81-
#### Option B: Manual Start
82-
```bash
83-
# Terminal 1: Start Backend
84-
./start-backend.sh
85-
86-
# Terminal 2: Start Frontend
87-
./start-frontend.sh
88-
```
89-
90-
## Access the Platform
91-
92-
- **Frontend UI**: http://localhost:3000
93-
- **Backend API**: http://localhost:3001
94-
- **API Health**: http://localhost:3001/health
95-
- **Live Metrics**: http://localhost:3001/api/v1/metrics/live-requests
96-
97-
## 🖥️ Using the Platform
98-
99-
### Policy Manager
100-
1. Navigate to **Policy Manager** in the sidebar
101-
2. Click **Create Policy** to open the policy builder
102-
3. Use drag-and-drop to add teams and models
103-
4. Configure rate limits and time restrictions
104-
5. Save to apply policies to Kuadrant
105-
106-
### Live Metrics Dashboard
107-
1. Go to **Live Metrics** to see real-time enforcement
108-
2. Filter by decision type (Accept/Reject) or policy type
109-
3. View detailed policy enforcement reasons
110-
4. Monitor request patterns and policy effectiveness
111-
112-
### Request Simulator
113-
1. Access **Request Simulator** to test policies
114-
2. Select team, model, and configure request parameters
115-
3. Run simulations to see how policies would handle traffic
116-
4. Validate policy configurations before deployment
117-
118-
## 🔧 Development
119-
120-
### Project Structure
121-
122-
| Directory | Description | Documentation |
123-
|-----------|-------------|---------------|
124-
| `apps/frontend/` | React frontend with Material-UI | [Frontend Guide](apps/frontend/README.md) |
125-
| `apps/backend/` | Node.js/Express API server | [Backend Guide](apps/backend/README.md) |
126-
| `maas-api/` | Go API for key management | [MaaS API Guide](maas-api/README.md) |
127-
| `deployment/` | Kubernetes/OpenShift deployments | [Deployment Guide](deployment/README.md) |
128-
| `scripts/` | Automation and utility scripts | - |
129-
130-
### Available Scripts
131-
132-
From the repository root:
133-
- `./start-dev.sh` - Start full development environment
134-
- `./stop-dev.sh` - Stop all development services
135-
- `./start-backend.sh` - Start backend only
136-
- `./start-frontend.sh` - Start frontend only
137-
- `./scripts/test-gateway.sh` - Test gateway endpoints
138-
139-
### Backend API Endpoints
140-
141-
The backend provides these key endpoints:
142-
- `GET /api/v1/models` - List available models
143-
- `GET /api/v1/policies` - Retrieve current policies
144-
- `POST /api/v1/policies` - Create/update policies
145-
- `GET /api/v1/metrics/live-requests` - Live metrics stream
146-
- `POST /api/v1/simulator/run` - Run policy simulation
147-
148-
### Frontend Components
149-
150-
Key React components:
151-
- `PolicyBuilder` - Drag-and-drop policy editor
152-
- `MetricsDashboard` - Real-time metrics visualization
153-
- `RequestSimulator` - Policy testing interface
154-
- `TokenManagement` - API key management
155-
156-
## 🧪 Testing
157-
158-
### Test Infrastructure
159-
```bash
160-
# Use the test script
161-
./scripts/test-gateway.sh
162-
163-
# Or manually test endpoints
164-
curl http://localhost:3001/health
165-
```
166-
167-
### Run Frontend Tests
168-
```bash
169-
cd apps/frontend
170-
npm test
171-
```
172-
173-
### Run Backend Tests
174-
```bash
175-
cd apps/backend
176-
npm test
177-
```
178-
17927
## 📚 Documentation
18028

18129
- [Deployment Guide](deployment/README.md) - Complete deployment instructions
182-
- [Platform-Specific Overlays](deployment/overlays/README.md) - OpenShift vs Kubernetes
30+
- [Local Deployment](docs/LOCAL_DEPLOYMENT.md) - Deployment guide for local development
18331
- [MaaS API Documentation](maas-api/README.md) - Go API for key management
184-
- [OAuth Setup Guide](OAUTH_SETUP.md) - Configure OAuth authentication
32+
- [OAuth Setup Guide](docs/OAUTH_SETUP.md) - Configure OAuth authentication
18533

18634
## 🤝 Contributing
18735

@@ -195,14 +43,6 @@ We welcome contributions! Please:
19543

19644
This project is licensed under the Apache 2.0 License.
19745

198-
## 🙏 Acknowledgments
199-
200-
Built with:
201-
- [Kuadrant](https://kuadrant.io/) for API management
202-
- [KServe](https://kserve.github.io/) for model serving
203-
- [OpenShift](https://www.openshift.com/) with Service Mesh for infrastructure
204-
- [React](https://react.dev/) and [Material-UI](https://mui.com/)
205-
20646
## 📞 Support
20747

20848
For questions or issues:
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Quick Setup Script
44

5-
The `create-my-env.sh` script automatically generates environment files for both backend and frontend by extracting information from your current OpenShift cluster.
5+
The `scripts/create-my-env.sh` script automatically generates environment files for both backend and frontend by extracting information from your current OpenShift cluster.
66

77
### Prerequisites
88

apps/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Frontend Application
2+
3+
> **⚠️ Work in Progress**
4+
>
5+
> This documentation is currently being developed. Please check back later for complete deployment instructions.
6+

0 commit comments

Comments
 (0)