
Features
- API Documentation: Interactive API documentation with Swagger UI support for exploring and testing endpoints
- Terminal Access: WebSocket-based terminal service for direct access to deployed containers
- Environment Management: User interface for managing environment variables with auto-save functionality
- Health Monitoring: Health check endpoints across API, worker, and web server components with database connectivity verification
- Container Management: Core container and image management functionality via Podman client with privileged mode support
- Security:
- SOPS service integration for age-encrypted secrets management
- User invitation system with role-based access control (RBAC)
- Authentication middleware with JWT token validation and session management
- Deployment Management:
- Resource allocation support (CPU, memory, disk metrics)
- Deployment status tracking and rollback functionality
- Multi-service deployment with dependency tracking
- Deployment timeout and automatic cleanup capabilities
- Log Streaming: Real-time log streaming with log broker implementation and development mode support
- Build System:
- Multi-strategy build support (Dockerfile, Nixpacks, Flake, Auto-detection)
- Language detection for Go, Node.js, Python, and Rust
- Build caching and retry management
- Build queue with PostgreSQL backend
- Domain Management: Domain configuration with wildcard and verification support
- Organization Management: Multi-organization support with membership management
- User Management: User profiles, registration, and authentication system
- GitHub Integration: GitHub App integration for repository management
- Database Support: Templates for PostgreSQL, MySQL, MongoDB, MariaDB, and Redis
- Worker Agent: gRPC-based worker agent for deployment orchestration with node registration and heartbeat
Notes
This is the initial release of Narvana. The API is unstable and subject to breaking changes as we work toward v1.0.0. Use at your own risk and expect rough edges.
For issues or feedback, please open an issue on our repository.