Open-source Kubernetes-native platform for CI/CD, GitOps, and Cluster Management
Krustron is a comprehensive Kubernetes-native platform that unifies cluster management, CI/CD pipelines, GitOps workflows, and observability into a single, powerful dashboard. Built for modern DevOps teams who need to manage multiple clusters at scale.
| Feature | Description |
|---|---|
| Multi-Cluster | Manage 50+ Kubernetes clusters from a single pane of glass |
| GitOps | Native ArgoCD integration with auto-sync and self-heal |
| CI/CD | Visual pipeline builder with DORA metrics tracking |
| Security | Container scanning with Trivy and OPA policy enforcement |
| Observability | Integrated metrics, logging, and distributed tracing |
|
|
|
|
Natural language queries, auto-remediation, and AI-powered cost optimization
| Requirement | Version |
|---|---|
| Go | 1.22+ |
| Node.js | 18+ |
| Docker | 20+ |
| Kubernetes | 1.28+ |
| PostgreSQL | 14+ |
| Redis | 7+ |
Local Development
# Clone the repository
git clone https://github.com/anubhavg-icpl/krustron.git
cd krustron
# Install dependencies
make deps
# Run database migrations
make migrate-up
# Start the backend server
make run
# In another terminal, start the dashboard
cd web/dashboard
npm install
npm run devDocker Compose
# Build and run all services
docker-compose up -d
# View logs
docker-compose logs -f krustronKubernetes (Helm)
# Add the Helm repository
helm repo add krustron https://charts.krustron.io
helm repo update
# Install Krustron
helm install krustron krustron/krustron \
--namespace krustron \
--create-namespace \
--set postgresql.enabled=true \
--set redis.enabled=trueKrustron can be configured via configuration file, environment variables, or CLI flags.
Environment Variables
# Database
export KRUSTRON_DATABASE_PASSWORD=your-password
# Authentication
export KRUSTRON_AUTH_JWT_SECRET=your-jwt-secret
# OIDC (optional)
export KRUSTRON_AUTH_OIDC_CLIENT_SECRET=your-oidc-secret
# ArgoCD (optional)
export KRUSTRON_GITOPS_ARGOCD_AUTH_TOKEN=your-argocd-tokenFull API documentation available at /swagger/index.html when running the server.
| Endpoint | Method | Description |
|---|---|---|
/api/v1/clusters |
GET | List all clusters |
/api/v1/clusters |
POST | Add a new cluster |
/api/v1/applications |
GET | List GitOps applications |
/api/v1/applications/:id/sync |
POST | Trigger application sync |
/api/v1/helm/releases |
GET | List Helm releases |
/api/v1/pipelines/:id/trigger |
POST | Trigger pipeline |
/api/v1/security/scans |
GET | List security scans |
krustron/
├── cmd/krustron/ # Main entry point
├── api/
│ ├── handlers/ # HTTP handlers
│ ├── middleware/ # HTTP middleware
│ └── router/ # Route definitions
├── internal/
│ ├── cluster/ # Cluster management
│ ├── helm/ # Helm operations
│ ├── gitops/ # GitOps (ArgoCD)
│ ├── pipeline/ # CI/CD pipelines
│ ├── auth/ # Authentication & RBAC
│ ├── security/ # Security scanning
│ └── observability/ # Metrics, logs, traces
├── pkg/
│ ├── kube/ # Kubernetes client
│ ├── logger/ # Logging
│ ├── config/ # Configuration
│ ├── websocket/ # WebSocket server
│ └── cache/ # Redis cache
├── web/dashboard/ # React dashboard
├── charts/krustron/ # Helm chart
└── assets/ # Logo and images
|
Phase 1: MVP Dashboard
|
Phase 2: CI/CD & GitOps
|
Phase 3: Enterprise
|
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# Fork the repository
# Create your feature branch
git checkout -b feature/amazing-feature
# Commit your changes
git commit -m 'Add amazing feature'
# Push to the branch
git push origin feature/amazing-feature
# Open a Pull Request- Documentation: docs.krustron.io
- Issues: GitHub Issues
- Discussions: GitHub Discussions
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Built with Gin, client-go, and ArgoCD




