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