JupyterHub
JupyterHub provides multi-user notebook environments for data scientists and ML engineers, with configurable spawners for resource allocation.
Architecture
+------------------+ +------------------+
| JupyterHub Proxy | | JupyterHub |
| (Port 80/443) |---->| (Spawner) |
+------------------+ +------------------+
|
+------+------+
| User Pods |
| (Notebooks) |
+------------+Spawner Configuration
| Profile | CPU | Memory | GPU | Use Case |
|---|---|---|---|---|
| Small | 2 | 4Gi | 0 | Data exploration |
| Medium | 4 | 16Gi | 0 | Feature engineering |
| Large | 8 | 32Gi | 0 | Model training (CPU) |
| GPU | 4 | 16Gi | 1 | Deep learning |
Authentication
JupyterHub authenticates users through the MATIH IAM service using OAuth2/OIDC:
auth:
type: oauth2
oauth2:
authorizeUrl: "https://api.matih.ai/api/v1/auth/oauth2/authorize"
tokenUrl: "https://api.matih.ai/api/v1/auth/oauth2/token"
userInfoUrl: "https://api.matih.ai/api/v1/auth/oauth2/userinfo"Pre-installed Packages
User notebook environments include pre-configured connections to all MATIH data infrastructure: Trino, Spark Connect, MLflow, Feast, and S3/MinIO.