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
- Third-party Integrations: Integrate remote clusters, security scanners, artifact registries, etc.
The KRCI portal offers many features designed to streamline the process of building a robust CI/CD flow:
- 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
Before installing KRCI Portal, ensure you have:
- Node.js 18+ and pnpm 10+
- Kubernetes cluster
- Access to the cluster with appropriate RBAC permissions
- (Optional) KubeRocketCI and operators installed
To run the KubeRocketCI Portal, follow the steps below:
- Clone the repository
git clone https://github.com/KubeRocketCI/krci-portal.git
cd krci-portal-
Configure environment
For local development, copy
.env.exampleto.envin the repository root and set at least the following:PORTAL_URL— Public URL of the portal (e.g.http://localhost:5173for dev). Must match the OIDC redirect URI registered in your IdP.OIDC_ISSUER_URL,OIDC_CLIENT_ID,OIDC_CLIENT_SECRET,OIDC_SCOPE— OIDC provider settings (e.g. Keycloak); required for authentication.SERVER_SECRET— Session signing secret (minimum 32 characters).TEKTON_RESULTS_URL— Tekton Results API URL for pipeline run data.DEFAULT_CLUSTER_NAME,DEFAULT_CLUSTER_NAMESPACE— Target Kubernetes cluster and namespace when using cluster features.
For production deployment, configure deploy-templates/values.yaml; see deploy-templates/README.md for all options.
-
Install dependencies
pnpm install- Start development servers
pnpm devThis 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
KubeRocketCI Portal is a part of the edp-install chart. There are two options to install the chart:
Full install:
helm repo add krci-portal https://epam.github.io/edp-helm-charts/stable
helm install krci-portal krci-portal/edp-installKRCI Portal standalone installation:
helm repo add krci-portal https://epam.github.io/edp-helm-charts/stable
helm install krci-portal krci-portal/krci-portalPlease refer to the following materials to get more info about the KRCI portal usage and configuration:
- User Guide - Complete user documentation
- Operator Guide - Advanced configuration guidelines
We welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests.
To start the development process, follow the steps below:
-
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.
Make sure your changes pass the review pipeline in the Pull Request. Additionally, take care of:
- 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