Skip to content

Commit 25471af

Browse files
committed
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
1 parent efc1616 commit 25471af

15 files changed

Lines changed: 19 additions & 167 deletions

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+

docs/LOCAL_DEPLOYMENT.md

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

0 commit comments

Comments
 (0)