memory-bank/techContext.md
| Category | Technologies |
|---|---|
| Programming Languages | • Go: System-level services, K8s integration |
| • TypeScript: User-facing services, dashboard | |
| • Java: JetBrains IDE integration | |
| • Shell: Automation, build scripts | |
| Frameworks & Libraries | • React: Frontend UI |
| • gRPC: Service communication | |
| • Protocol Buffers: Data serialization | |
| • Kubernetes API: Workspace orchestration | |
| • Docker API: Container management | |
| • Leeway: Custom build system | |
| Infrastructure | • Kubernetes: Container orchestration |
| • Docker: Containerization | |
| • MySQL/TypeORM: Persistent storage | |
| • Redis: Caching, ephemeral storage | |
| • Helm: K8s package management | |
| • Terraform: Infrastructure as code | |
| Development Tools | • VS Code: TypeScript/JS development |
| • GoLand/IntelliJ: Go development | |
| • pre-commit: Git hooks | |
| • ESLint/Prettier: Code formatting | |
| • Werft: CI/CD system |
| Approach | Description | Common Commands |
|---|---|---|
| In-tree (Local Dev) | • Direct in workspace | |
| • Language-specific tools | TypeScript: | |
yarn build - Compile | ||
yarn test - Run tests | ||
yarn lint - Check style | ||
yarn watch - Auto-rebuild |
Go:
go build ./... - Build packages
go test ./... - Run tests
go run main.go - Build and run |
| Leeway (CI/CD) | • Out-of-tree builds
• Manages dependencies
• Generates artifacts | leeway build components/name:app
leeway build -D components/name:app
leeway exec --package components/name:app -- cmd |
| Packaging | • Docker images via leeway.Dockerfile
• Helm charts for K8s deployment | |
| Category | Requirements |
|---|---|
| Performance | • Workspace startup < 10s when prebuilt |
| • Low-latency IDE over internet | |
| • Efficient resource utilization | |
| Security | • Strong workspace isolation |
| • Least privilege component operation | |
| • Secure user code/credential handling | |
| • Controlled network access | |
| Scalability | • Horizontal scaling for all components |
| • Multi-cluster workspace distribution | |
| • Enforced workspace resource limits | |
| Compliance | • GDPR: User data handling |
| • SOC2: Security and availability | |
| • Data residency: Region-specific storage |
| Category | Dependencies |
|---|---|
| Git Providers | GitHub, GitLab, Bitbucket, Azure DevOps |
| Container Registries | Docker Hub, GCR, ECR |
| Cloud Providers | GCP, AWS, Azure |
| IDE Platforms | VS Code, JetBrains IDEs |
| Component | Depends On |
|---|---|
| Workspace Manager | Kubernetes API, Image Builder, Content Service |
| Dashboard | Auth Service, Workspace Manager, Content Service |
| IDE Service | Workspace Manager, Content Service, Supervisor |
| Content Service | Git providers, Storage systems |
| Supervisor | IDE Service, Content Service |
| Challenge | Description |
|---|---|
| Component Coupling | Some tight coupling between components |
| Test Coverage | Incomplete coverage in certain areas |
| Documentation | Some internal APIs lack detailed docs |
| Legacy Components | Older components needing modernization |
| Build System | Learning curve for custom build system |