Service endpoints
Java services
| Service Name | Default Port | Protocol | Purpose |
|---|---|---|---|
| Connected Graph | 9100 | GraphQL | Knowledge graph queries |
| Agents | 9101 | gRPC | Agent management |
| Binaries | 9102 | gRPC | File storage |
| Conversations | 9103 | gRPC | Conversation management |
| Models | 9104 | gRPC | AI model configuration |
| Tenants | 9105 | gRPC | Multi-tenant management |
| Knowledge Graph (KAG) | 9106 | gRPC | Knowledge ingestion |
Python services
| Service Name | Default Port | Protocol | Purpose |
|---|---|---|---|
| Planner | 9150 | gRPC | Task orchestration |
| AI Developer | 9151 | REST | Code generation |
| AI Analyst | 9152 | REST | Process analysis |
| AI Designer | 9153 | REST | UI generation |
Production Note: In production deployments, all services run on port 9100. The ports listed above are for local development using docker-compose.
Required environment variables
Service discovery configuration
These variables control how services locate each other:| Variable | Type | Default | Description |
|---|---|---|---|
GRPC_HOST_RESOLVER | String | k8s | Service discovery method (k8s or host) |
GRPC_HOST_RESOLVER_HELM_CHART | String | - | Helm chart name (required when GRPC_HOST_RESOLVER=k8s) |
GRPC_HOST_RESOLVER_FIXED_IP | String | ai-platform | Fixed IP for services (required when GRPC_HOST_RESOLVER=host) |
Service port configuration
| Variable | Type | Default | Description |
|---|---|---|---|
SERVICE_PORT | Integer | 9100 | Port the service listens on |
Service endpoint overrides
For custom service locations:| Variable Pattern | Example | Description |
|---|---|---|
AI_SERVICE_<service_id>_ENDPOINT | AI_SERVICE_MODELS_ENDPOINT=host.docker.internal:9104 | Override specific service endpoint |
MODELS- AI Models serviceCONVERSATIONS- Conversations serviceAGENTS- Agents serviceBINARIES- Binaries serviceTENANTS- Tenants serviceCONNECTED_GRAPH- Connected Graph serviceKAG- Knowledge Graph service
Python-specific variables
| Variable | Type | Default | Description |
|---|---|---|---|
DEBUG | Boolean | false | Enable debug logging |
Authentication configuration
| Variable | Type | Description |
|---|---|---|
SECURITY_OAUTH2_BASE_SERVER_URL | String | OAuth2 server base URL |
SECURITY_OAUTH2_REALM | String | OAuth2 realm name |
SECURITY_OAUTH2_CLIENT_ID | String | OAuth2 client ID |
Client connection examples
Testing service connectivity
Use grpcurl to test gRPC services:Docker Compose client configuration
For clients running alongside the AI Platform stack:Kubernetes client configuration
For clients deployed in the same Kubernetes cluster:Prerequisites for clients
Java clients
If integrating with Java-based services:- Java 17 or higher
- gRPC client libraries
- Protocol Buffer definitions (available from the platform team)
Python clients
If integrating with Python-based services:- Python 3.12.9 or higher
- HTTP client libraries (requests, httpx, etc.)
- WebSocket client for streaming (optional)
General requirements
- Network access to AI Platform services
- Valid OAuth2 credentials
- SSL/TLS certificates for production deployments
Common integration patterns
Service health checks
Before making requests, verify service availability:Load balancing
For production deployments, clients should:- Use service discovery rather than hardcoded IPs
- Implement retry logic with exponential backoff
- Configure connection pooling for gRPC clients
- Monitor service health and route around unhealthy instances
Security considerations
- Always use HTTPS/TLS in production
- Rotate OAuth2 tokens regularly
- Implement proper timeout handling
- Use connection limits to prevent resource exhaustion
Troubleshooting
Connection issues
- Verify environment variables are set correctly
- Check network connectivity between client and services
- Validate OAuth2 configuration and token validity
- Review service logs for authentication/authorization errors
Service discovery problems
Docker network issues
Support
When requesting support, please provide:- Environment configuration (environment variables)
- Deployment method (Docker, Kubernetes, local)
- Client application details (language, framework)
- Error messages and logs
- Network topology if using custom networking

