Architecture Overview
Unbind is built as a collection of services that work together to provide a complete Kubernetes platform. The architecture is designed for scalability, maintainability, and security.
Core Services
💡
Unbind is built as an extension of Kubernetes, therefore it is not possible to use Unbind without Kubernetes.
These are the primary services developed and maintained by the Unbind team:
| Service | Language | Repository | Description |
|---|---|---|---|
| Unbind API | Go | unbind-api | Core API server that handles all business logic, user management, and orchestrates deployments |
| Unbind UI | Next.js | unbind-ui | Modern web interface providing the complete user experience for managing applications |
| Unbind Builder | Go | unbind-api | Build service responsible for creating container images from source code |
| Unbind Operator | Go | unbind-operator | Kubernetes operator that manages application deployments and lifecycle |
| Unbind OIDC Server | Go | unbind-api | OpenID Connect server for secure authentication and authorization |
Third-Party Dependencies
Unbind leverages several best-in-class open source projects to provide robust functionality:
Authentication & Security
| Component | Purpose | Details |
|---|---|---|
| Dex | OIDC Identity Provider | Handles user authentication and integrates with external identity providers |
| kube-oidc-proxy | Kubernetes Auth Proxy | Securely authenticates users to the Kubernetes API server using OIDC tokens |
Build System
| Component | Purpose | Details |
|---|---|---|
| Buildkit | Container Build Engine | High-performance, cache-efficient container image builder |
| Railpack | Build Plan Generator | Automatically analyzes source code and generates optimized build configurations |
Observability & Logging
| Component | Purpose | Details |
|---|---|---|
| Alloy | Log Collection | Collects and aggregates container logs from across the platform |
| Loki | Log Storage | Horizontally scalable log storage with powerful query capabilities |
Data Storage
| Component | Purpose | Details |
|---|---|---|
| PostgreSQL | Primary Database | Stores all application metadata, user data, and deployment configurations |
| Redis | Cache & Queue | Handles build queues, session storage, and general purpose caching |
Architecture Principles
- Microservices: Each component has limited responsibilities and can be scaled independently
- Cloud Native: Built for Kubernetes with cloud-native patterns and practices
- Observability: Comprehensive logging and metrics collection across all services
- Extensibility: Modular design allows for easily adding new integrations and customizing the platform to your needs.