KRCI Portal is a modern web-based user interface for KubeRocketCI, providing a comprehensive platform for managing CI/CD pipelines, codebases, and deployment flows in Kubernetes environments.
KRCI Portal serves as the central management hub for the KubeRocketCI ecosystem, enabling developers and DevOps teams to:
- Manage Codebases: Create and manage applications, libraries, autotests, and infrastructure components
- CI/CD Pipeline Management: Configure and monitor Tekton-based CI/CD pipelines
- Deployment Flows: Orchestrate application deployments across multiple environments
- GitOps Integration: Seamless integration with Git servers and Argo CD for GitOps workflows
- Real-time Monitoring: Track pipeline executions, deployment statuses, and resource health
- Multi-type Support: Applications, Libraries, Autotests, Infrastructure, and System components
- Git Integration: Support for GitHub, GitLab, Gerrit, and Bitbucket
- Branch Management: Create and manage feature branches with automated pipelines
- Quality Gates: Integrated SonarQube analysis and security scanning
- Tekton Integration: Native support for Tekton pipelines and tasks
- Build Automation: Automated builds with multiple build tools (Maven, Gradle, npm, etc.)
- Testing: Automated testing with quality gates and coverage reports
- Security Scanning: SAST/SCA analysis with vulnerability reporting
- Environment Management: Create and manage deployment environments
- GitOps Workflows: Argo CD integration for declarative deployments
- Progressive Delivery: Support for blue-green and canary deployments
- Rollback Capabilities: Easy rollback to previous versions
- Multi-cluster Support: Manage multiple Kubernetes clusters
- RBAC Integration: Role-based access control with Keycloak/OIDC
- Real-time Updates: WebSocket-based real-time status updates
- Extensible Architecture: Plugin-based architecture for custom integrations
KRCI Portal follows a modern monorepo architecture with clear separation of concerns:
krci-portal/
βββ apps/
β βββ client/ # React frontend application
β βββ server/ # Fastify backend API
βββ packages/
β βββ shared/ # Shared types and utilities
βββ deploy-templates/ # Helm charts for deployment
βββ docs/ # Documentation
- Framework: React 19 with TypeScript
- Routing: TanStack Router
- State Management: Zustand + TanStack Query
- UI Components: Material-UI + Radix UI + Tailwind CSS
- Build Tool: Vite
- Framework: Fastify with TypeScript
- API: tRPC for type-safe APIs
- Database: SQLite with better-sqlite3
- Authentication: Session-based with OIDC integration
- Kubernetes: Official Kubernetes client
- Validation: Zod schemas
- Type Safety: Full TypeScript coverage
- Monorepo: pnpm workspaces
- Node.js 18+ and pnpm 10+
- Kubernetes cluster with KubeRocketCI installed
- Access to the cluster with appropriate RBAC permissions
-
Clone the repository
git clone https://github.com/KubeRocketCI/krci-portal.git cd krci-portal
-
Install dependencies
pnpm install
-
Start development servers
pnpm dev
This starts both the client (port 5173) and server (port 3000) in development mode.
-
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
helm repo add krci-portal https://kuberocketci.github.io/krci-portal
helm install krci-portal krci-portal/krci-portal
docker build -t krci-portal .
docker run -p 8080:8080 krci-portal
- User Guide - Complete user documentation
- Development Guide - Development setup and guidelines
We welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes and add tests
- Run the test suite:
pnpm test:coverage
- Run linting:
pnpm lint
- Format code:
pnpm format:check
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Testing: Vitest for unit and integration tests
- Linting: ESLint with TypeScript support
- Formatting: Prettier for consistent code style
- Type Checking: Full TypeScript coverage
- Quality Gates: SonarQube analysis on all PRs
Security is a top priority for KRCI Portal. Please review our Security Policy for:
- Reporting security vulnerabilities
- Security best practices
- Supported versions
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Documentation: docs.kuberocketci.io
- GitHub Issues: Report bugs and request features
- GitHub Discussions: Community discussions
- Code of Conduct: Community guidelines
- KubeRocketCI Team for the amazing platform
- Tekton for the CI/CD pipeline engine
- Argo CD for GitOps capabilities
- All our contributors
- Current Version: 0.1.0-SNAPSHOT
- Development Status: Active
- Maintenance: Actively maintained
- Support: Community supported