Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Developer Experience Hub with AI - Centralized infrastructure management platform integrating Kubernetes, AWS, and observability tools in a unified interface

Notifications You must be signed in to change notification settings

dash-ops/dash-ops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DashOPS - Developer Experience Hub with AI (Beta)

DashOps

⚠️ BETA VERSION - NOT RECOMMENDED FOR PRODUCTION USE

The VS Code for infrastructure - A unified, AI-powered hub that integrates all your developer tools in one intuitive interface. Focus on building features, not juggling between different platforms.

DashOPS is an experimental integration platform that connects your existing tools (Kubernetes, AWS, Prometheus) into a seamless developer experience, enhanced by contextual AI assistance and an extensible plugin system. image

🚧 This project is actively under development and should only be used for testing and evaluation purposes.

πŸš€ Quick Start

New: Interactive Setup Wizard ✨

No more YAML wrestling! Start DashOPS and configure everything through the UI:

# 1. Start the backend
go run main.go

# 2. Start the frontend (in another terminal)
cd front
yarn && yarn dev

# 3. Open browser at http://localhost:5173
# β†’ First-time users are guided through an interactive setup wizard

What the Setup Wizard does:

  • 🎯 Select your plugins - Pick only what you need (AWS, Kubernetes, Auth, etc.)
  • πŸ” Securely store credentials - Secrets are masked in UI, never exposed via API
  • πŸ“ Generate dash-ops.yaml - Configuration auto-saved to disk
  • ♻️ Update anytime - Revisit Settings to adjust providers without revealing secrets

πŸ’‘ Tip: The wizard writes to ./dash-ops.yaml (or $DASH_CONFIG if set). You can still edit the file manually or version it in Git!

Option 2: Manual YAML Setup (For Infrastructure-as-Code fans)

If you prefer to version your config from day one:

# 1. Create configuration file
cp local.sample.yaml dash-ops.yaml

# 2. Edit dash-ops.yaml and set your credentials
# (See full configuration examples at https://dash-ops.github.io/)

# 3. Set environment variables (for sensitive values)
export GITHUB_CLIENT_ID="your-client-id"
export GITHUB_CLIENT_SECRET="your-client-secret"

# 4. Start services
go run main.go  # Backend on :8080
cd front && yarn dev  # Frontend on :5173

Option 3: Docker (Quick Test)

docker run --rm \
  -v $(pwd)/dash-ops.yaml:/dash-ops.yaml \
  -v ${HOME}/.kube/config:/.kube/config \
  -e GITHUB_CLIENT_ID \
  -e GITHUB_CLIENT_SECRET \
  -p 8080:8080 \
  dashops/dash-ops

πŸ“– Documentation

Complete Guides

Visit dash-ops.github.io for comprehensive documentation:

Local Development Docs

🎯 Features

πŸ†• Latest Updates (v0.5.0-alpha)

Interactive Setup Module:

  • βœ… Setup Wizard - Guided first-run experience with 6 configuration tabs
  • βœ… Settings Page - Update providers and credentials without exposing secrets
  • βœ… Secret Masking - Never return sensitive values from API (shows *****)
  • βœ… Live Validation - Real-time feedback on configuration errors
  • βœ… YAML Auto-Generation - Writes to dash-ops.yaml or $DASH_CONFIG path

Enhanced Architecture:

  • βœ… Settings Module - Replaces legacy config with hexagonal design
  • βœ… 100% Test Coverage - Comprehensive tests for critical module loading logic
  • βœ… Setup Mode Detection - Frontend auto-detects first-run and shows wizard

Core Features

πŸ“‹ Service Catalog βœ… Available

  • Service registry with YAML-based storage
  • GitHub team-based ownership and permissions
  • Real-time health aggregation from Kubernetes
  • Multi-environment deployment tracking
  • Advanced search and filtering

πŸ“Š Observability Hub βœ… Beta (v0.4.0)

  • Logs - Loki integration with histogram visualization
  • Traces - Tempo integration with trace timeline
  • Metrics - Prometheus integration (backend complete)
  • Service-aware monitoring with automatic filtering

☁️ AWS Operations πŸ”„ Alpha

  • EC2 instance management (start, stop, monitor)
  • Multi-account support with unified selector
  • Cost optimization through lifecycle management

βš™οΈ Kubernetes Operations πŸ”„ Alpha

  • Multi-cluster context switching
  • Workload management (deployments, pods)
  • Real-time log streaming with search
  • Node monitoring with resource usage

πŸ” Authentication πŸ”„ Beta

  • GitHub OAuth2 integration
  • Organization-based access control
  • Session management and audit logging

πŸ—οΈ Architecture

Backend (Go + Hexagonal Architecture)

All modules follow a consistent 8-layer pattern:

pkg/{module}/
β”œβ”€β”€ adapters/     # External integrations & data transformation
β”œβ”€β”€ controllers/  # Business logic orchestration
β”œβ”€β”€ handlers/     # HTTP endpoints (centralized in http.go)
β”œβ”€β”€ logic/        # Pure business logic (100% tested)
β”œβ”€β”€ models/       # Domain entities with behavior
β”œβ”€β”€ ports/        # Interfaces & contracts
β”œβ”€β”€ repositories/ # Data persistence
β”œβ”€β”€ wire/         # API contracts (DTOs)
└── module.go     # Module factory & initialization

Key Benefits:

  • βœ… Consistent structure across all 8 modules
  • βœ… High testability with 80+ unit tests
  • βœ… Interface-based design for easy extension
  • βœ… Clear separation of concerns

Frontend (React + TypeScript)

src/
β”œβ”€β”€ modules/          # Feature modules (kubernetes, aws, settings, etc.)
β”‚   └── {module}/
β”‚       β”œβ”€β”€ components/    # UI components
β”‚       β”œβ”€β”€ resources/     # API clients
β”‚       β”œβ”€β”€ hooks/         # React hooks
β”‚       β”œβ”€β”€ types.ts       # TypeScript types
β”‚       └── index.tsx      # Module registration
β”œβ”€β”€ components/       # Shared UI components (shadcn/ui)
β”œβ”€β”€ helpers/          # Utilities (loadModules, http, oauth)
└── types/            # Global TypeScript types

Features:

  • βœ… Plugin-based module loading
  • βœ… TypeScript strict mode (no any)
  • βœ… Comprehensive test coverage with Vitest
  • βœ… Modern UI with shadcn/ui components

🀝 Contributing

We welcome contributions! Here's how to get started:

Development Setup

# 1. Fork and clone
git clone https://github.com/your-username/dash-ops.git
cd dash-ops

# 2. Backend (Go 1.21+)
go mod download
go run main.go

# 3. Frontend (Node 18+)
cd front
yarn install
yarn dev

# 4. Run tests
go test ./...              # Backend
cd front && yarn test      # Frontend

Development Workflow

# Create feature branch
git checkout -b feat/amazing-feature

# Frontend quality checks (Terminal 1)
cd front
yarn type-check:watch  # TypeScript validation
yarn test              # Run tests

# Development server (Terminal 2)
yarn dev               # Auto-reload on changes

# Before commit
yarn quality           # Type-check + lint + format
go test ./...          # Backend tests

# Commit with semantic messages (no emojis)
git commit -m "feat: add amazing new feature"

High-Priority Areas

πŸ”₯ Critical:

  • Setup UX - Improve wizard validation and error messages
  • Secret Management - Encrypted storage for production readiness
  • Plugin System - SDK for community-contributed integrations

✨ Nice-to-Have:

  • Grafana Integration - Embedded dashboards
  • ArgoCD Plugin - GitOps workflow management
  • Multi-Cloud - GCP and Azure support
  • AI Assistant - Contextual troubleshooting automation

Code Standards

  • Backend: Go conventions, godoc comments, proper error handling
  • Frontend: TypeScript strict, no any, ESLint + Prettier
  • Tests: Required for new features
  • Commits: Semantic conventional commits (no emojis per team preference)

πŸ“Š Project Status

🚧 BETA - Active development, breaking changes expected

Component Status Maturity
Backend API πŸ”„ Beta Go 1.21+ - Stable core, evolving
Frontend πŸ”„ Beta React 19 + TypeScript - Stable UI
Setup Module βœ… Alpha Interactive wizard - v0.5.0
Settings βœ… Alpha Provider management - v0.5.0
Service Catalog βœ… Beta Complete lifecycle management
Observability βœ… Beta Logs & Traces - v0.4.0
AWS Plugin πŸ”„ Alpha EC2 operations - Basic features
Kubernetes πŸ”„ Alpha Multi-cluster - Basic features
OAuth2 πŸ”„ Beta GitHub integration - Functional
Docker Images βœ… Available Multi-arch - Testing only
Helm Charts πŸ”„ Alpha K8s deployment - Development only

Production Readiness Checklist

❌ NOT RECOMMENDED FOR PRODUCTION

Missing features:

  • Enterprise security (encrypted secrets, RBAC)
  • Data persistence layer
  • Comprehensive error recovery
  • Monitoring and alerting
  • Rate limiting and WAF
  • Audit and compliance logging

πŸ›‘οΈ Security Notice

⚠️ Beta Security: Current implementation is NOT production-ready

Current Limitations:

  • Secrets stored in plain YAML files
  • Basic OAuth2 without enterprise SSO
  • No encrypted credential storage
  • Limited audit logging
  • No rate limiting on API endpoints

Planned Enhancements:

  • Encrypted storage (HashiCorp Vault, AWS Secrets Manager)
  • Enterprise SSO (SAML, OIDC)
  • Comprehensive RBAC with fine-grained permissions
  • Full audit trails and compliance reporting

πŸ”— Links

πŸ“„ License

MIT License - see LICENSE for details.


⚠️ Beta software - Use for testing and evaluation only! πŸ§ͺ

For detailed documentation, visit dash-ops.github.io.

About

Developer Experience Hub with AI - Centralized infrastructure management platform integrating Kubernetes, AWS, and observability tools in a unified interface

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages