8000 GitHub - rishabhkanojiya/orbitdeck: Empowering you to take control and scale your applications in your own orbit.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

rishabhkanojiya/orbitdeck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 OrbitDeck — Modular Kubernetes-native Deployment Platform

OrbitDeck is a modern, full-stack PaaS-like platform that enables seamless deployment, management, and analytics of containerized applications using Kubernetes, Helm, Go, Spring Boot, React, and Redis. It is fully modular — each service is independently deployable and testable.


📚 Table of Contents


✅ Features

  • ⚙️ Multi-Component Kubernetes Deployments via Helm
  • 🛠 Asynchronous Task Execution using Asynq (Go + Redis)
  • 📊 Centralized Analytics & Logging (Java Spring Boot + PostgreSQL)
  • 🔐 Authentication with JWT + Cookies (Go)
  • 🧠 Live Deployment Status with polling and event-driven updates
  • 🌐 Dynamic Ingress Rule Mapping for each deployed component
  • 📈 User Analytics: Top used repositories, error tracking, component usage
  • 🧪 Modular Services: Each service is testable and deployable independently
  • ☁️ Infrastructure-as-Code using Terraform to provision Azure AKS, VNet, Subnets, AAD

🧱 Architecture Overview

orbitdeck


🛠 Technology Stack

Backend

  • Go (Gin, Asynq) – Task management, core deployment APIs
  • Spring Boot (Java) – Analytics + Logging
  • Redis – Queueing (Asynq) + Pub/Sub Events
  • PostgreSQL – Primary database

Frontend

  • React.js – Dashboard, forms, analytics, live status
  • Styled Components – Theming and modern UI

DevOps

  • Docker + Skaffold – Containerization + local dev sync
  • Helm – Kubernetes deployment automation
  • Terraform – Provisioning AKS, AAD, VNet on Azure
  • NGINX Ingress Controller – API Gateway routing

🗂 Monorepo Structure

.
├── client/                # React Frontend
├── server/
│   ├── auth/              # Go Auth Service
│   ├── core/              # Go Deployment Service
│   └── analytics/         # Java Spring Boot Analytics
├── infra/
│   └── resources/         # Azure AKS, PostgreSQL, Redis, VNet Terraform Code
│   └── helm/              # Helm Charts
│   └── skaffold           # Local Dev Config

🧪 Local Development

# Backend (Go services)

cd server/auth
make server name=server

cd server/core
make server name=server         // core service
make server name=generate       // generate queue
make server name=uninstall      // uninstall queue

# Analytics Service

cd server/analytics
./mvnw spring-boot:run

# Frontend

cd client
./run.sh

Or use Skaffold for live sync:

skaffold dev -p dev

☁️ Deployment via Terraform on Azure

  1. Set up Terraform:
terraform init
terraform plan
terraform apply
  1. This will provision:
  • AKS Cluster with RBAC
  • Azure VNet, Subnet
  • PostgreSQL + Redis
  • Azure AD Group for Admin Access
  1. Configure kubeconfig:
   az aks get-credentials --resource-group <rg-name> --name <cluster-name>
  1. Deploy services via Helm:
helm upgrade --install orbitdeck charts/orbitdeck/ -n orbitdeck

🔌 API Services

Auth Service (Go)

  • POST /users – Register
  • POST /users/login – Login (PASETO Token + Cookie)
  • GET /me – Get Current User
  • POST /users/logout – Logout

Core Deployment Service (Go)

  • POST /deployment/add – Create New Deployment
  • GET /deployment/:id – Get Deployment Details
  • DELETE /deployment/:id – Uninstall Deployment
  • GET /deployment/:id/status – Live Status (Asynq Task)

Analytics Service (Spring Boot)

  • GET /events/recent – Get Recent Events
  • GET /events/stats – Summary of deployments
  • GET /events/component/usage – Top used components
  • GET /events/timeline?interval=day|hour – Timeline analytics
  • GET /events/errors – Crash logs and failure insights

🌐 Frontend Highlights

  • Modern Dashboard – List + manage all deployments
  • Deployment Wizard – Add components, resource limits, env vars, ingress
  • Live Polling – Track deployment status in real time
  • User Profile Page – Top used repos, active installs, analytics
  • Confetti Success Feedback – Post successful deployment 🎉

🔄 Modularity & Extensibility

Each service is self-contained and:

  • Has its own Dockerfile
  • Exposes only relevant routes
  • Can be deployed/tested independently
  • Communicates via Redis queues or events

This makes OrbitDeck easy to extend , scale, or rewire into different infrastructure setups.


🖼 Screenshots

Coming Soon — add UI snapshots or animations here for visual flair


📄 License

MIT License © 2025 Rishabh Kanojiya


✨ Contributors

Made with ❤️ by Rishabh Kanojiya

About

Empowering you to take control and scale your applications in your own orbit.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0