Overview¶
Learn what Playpen is and how it works.
What is Playpen?¶
Playpen is a local-first, enterprise-grade ML & GenAI platform simulator. It provides a complete development environment that runs on your local machine using Kubernetes for orchestration.
Key concepts¶
Local-first architecture¶
Playpen runs entirely on your local machine. No cloud services or external dependencies are required. All platform services run in a local Kubernetes cluster.
Kubernetes abstraction¶
Developers interact with Playpen through standard tools and APIs. Kubernetes complexity is abstracted away, allowing you to focus on building applications.
Enterprise patterns¶
Playpen implements real-world enterprise patterns: - OIDC authentication with Dex - Artifact management with Nexus - CI/CD automation with Jenkins - Persistent data storage with PostgreSQL
Architecture overview¶
Playpen consists of platform services and application namespaces:
graph TB
subgraph Platform["Platform Services"]
Jenkins["Jenkins<br/>CI/CD"]
Nexus["Nexus<br/>Artifacts"]
Dex["Dex<br/>OIDC"]
Postgres["PostgreSQL<br/>Database"]
end
subgraph Apps["Applications"]
Python["Python Apps"]
ML["ML Services"]
GenAI["GenAI Apps"]
end
Apps -->|authenticate| Dex
Apps -->|query| Postgres
Apps -->|pull images| Nexus
Jenkins -->|build & push| Nexus
Jenkins -->|deploy| Apps
Platform services¶
Jenkins¶
CI/CD pipeline execution with Kubernetes ephemeral agents. Supports container builds, testing, and automated deployment.
Nexus Repository Manager¶
Artifact storage for Maven artifacts and Docker images. Provides versioning and access control for build outputs.
Dex OIDC Provider¶
Authentication and authorization using OpenID Connect. Compatible with Azure Entra semantics for enterprise integration.
PostgreSQL¶
Application database with persistent storage. Provides Cloud SQL-like access patterns for application data.
Application namespace¶
User applications are deployed to the playpen-apps namespace, separate from platform services. Applications can:
- Authenticate using Dex OIDC
- Store data in PostgreSQL
- Pull images from Nexus
- Be deployed via Jenkins pipelines
Base images¶
Playpen provides pre-configured base images:
- playpen/python-base: Python 3.11 with web frameworks and data science libraries
- playpen/ml-runtime: ML runtime with PyTorch, transformers, and vector databases
- playpen/r-base: R environment with Posit compatibility
Design principles¶
- Local-first: Everything runs locally, no cloud dependencies
- Kubernetes abstraction: Developers don't need deep Kubernetes knowledge
- Opinionated defaults: Pre-configured for immediate productivity
- Reproducibility: Version-pinned dependencies for consistency
- Enterprise patterns: Real-world patterns for realistic development
Next steps¶
- Read the detailed architecture documentation
- Follow the installation guide
- Deploy your first workload