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.
The project provides Claude Code plugins to accelerate development with AI assistance. The krci-fullstack plugin offers commands for implementing features and fixing issues in the portal codebase. To get started, install the plugin:
claude plugin marketplace add KubeRocketCI/claude-plugins
claude plugin install krci-fullstackOnce installed, use /krci-fullstack:implement-feature to scaffold new features or /krci-fullstack:fix-issue to diagnose and fix bugs.
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