Skip to content

An Internal Developer Platform (IDP) framework that bridges developers and complex backend cloud infrastructure, providing essential capabilities while abstracting away platform complexities.

License

Notifications You must be signed in to change notification settings

sysintelligent/devops-bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOps Bridge

A tool between developers and complex backend infrastructure. It gives developers the edge they need to succeed while simplifying platform complexities.

Key Features

  • Modern microservices architecture with Go backend, Next.js frontend, and CLI
  • Next.js App Router for efficient routing and built-in authentication
  • Modern UI stack with Next.js 14, shadcn/ui components, and Tailwind CSS
  • Clean and minimalist design with responsive layout and dark mode support
  • Type-safe development with TypeScript and component-based architecture
  • Kubernetes integration for managing containerized applications
  • Comprehensive API support with both REST and gRPC endpoints
  • Easy installation via custom Homebrew tap with automatic updates
  • Extensible architecture allowing custom integrations, UI components, and CLI extensions

Below is a sample admin dashboard UI, built with shadcn/ui and Tailwind CSS, providing a real-time overview of service status and operational health.

DevOps Bridge Admin Dashboard Example

Admin Dashboard Mockup

Table of Contents

  1. Installation
  2. Architecture
  3. Project Structure
  4. Development Setup
  5. API Documentation
  6. Authentication
  7. Contributing

Installation

Prerequisites

  • Go 1.19+ (required for backend server and CLI)
  • Node.js 18+ (required for frontend development, recommended for Next.js 14)
  • npm 9+ or yarn (required for frontend development)
  • Kubernetes cluster or minikube (required only for backend server functionality, not needed for dashboard UI)

Installing via Homebrew

You can install the DevOps CLI using Homebrew:

  1. Add the custom tap:
brew tap sysintelligent/sysintelligent
  1. Install the CLI:
brew install dopctl
  1. Verify the installation:
dopctl version
  1. Open the dashboard:
dopctl admin dashboard

Note: On first run, it may take a little time to initialize the Next.js server.

Cleanup

To remove the DevOps CLI and clean up the Homebrew tap:

  1. Uninstall the CLI:

    brew uninstall dopctl
  2. Remove the custom Homebrew tap:

    brew untap sysintelligent/sysintelligent

Manual Installation

  1. Clone the repository:
git clone https://github.com/sysintelligent/devops-bridge.git
cd devops-bridge
  1. Build the CLI:
cd cmd/dopctl
go build -o dopctl
  1. Move the binary to your PATH:
sudo mv dopctl /usr/local/bin/

Architecture

DevOps Bridge Core Architecture

DevOps Bridge uses a modern, microservices-based architecture:

  1. Backend Server (Go)

    • REST API on port 8080
    • gRPC API on port 9090
    • Handles Kubernetes communication
    • Manages authentication and authorization
    • Provides API endpoints for frontend and CLI
  2. Frontend (Next.js)

    • Runs on port 3000
    • Modern React-based application
    • Communicates with backend via API
    • Built with Next.js App Router
    • Styled with Tailwind CSS
  3. CLI (Go)

    • Command-line interface for DevOps Bridge
    • Integrates with both backend and frontend
    • Provides dashboard access via browser

Project Structure

The project is organized into three main components:

devops-bridge/
├── ui/                   # Next.js TypeScript frontend
│   ├── src/              # Source code directory
│   │   ├── app/          # Next.js App Router pages and layouts
│   │   ├── components/   # Reusable UI components
│   │   ├── lib/          # Utility functions and shared code
│   │   └── globals.css   # Global styles and Tailwind configuration
│   ├── public/           # Static assets
│   └── scripts/          # Build and utility scripts
├── server/               # Go backend server
│   ├── api/              # REST and gRPC API definitions
│   ├── auth/             # Authentication and RBAC
│   └── kubernetes/       # Kubernetes client integration
└── cmd/                  # CLI implementation using Cobra
    └── dopctl/           # CLI source code
└── dist/                 # Package distribution files
    └── homebrew/         # Homebrew formula for CLI installation
        └── dopctl.rb     # Homebrew formula definition

Development Setup

Backend Server

  1. Start the Go backend server:
cd server
go mod tidy
go run main.go

Frontend Development

  1. Install dependencies:
cd ui
npm install
  1. Start the development server:
npm run dev

The frontend will be available at http://localhost:3000.

CLI

  1. Build the CLI:
cd cmd/dopctl
go build -o dopctl
  1. Install the CLI:
sudo mv dopctl /usr/local/bin/
  1. Verify the installation:
dopctl version

API Documentation

The DevOps Bridge API provides both REST and gRPC endpoints for managing your infrastructure.

REST API

The REST API is available at http://localhost:8080/api/ and includes the following endpoints:

  • GET /applications - List all applications
  • POST /applications - Create a new application
  • GET /applications/{name} - Get application details
  • PUT /applications/{name} - Update an application
  • DELETE /applications/{name} - Delete an application
  • GET /settings - Get system settings
  • PUT /settings - Update system settings

gRPC API

The gRPC API is available at localhost:9090 and provides the following services:

  • ApplicationService - Manage applications
  • SettingsService - Manage system settings
  • HealthService - Check system health

Authentication

DevOps Bridge uses token-based authentication. To access the API:

  1. Obtain an authentication token
  2. Include the token in the Authorization header:
    Authorization: Bearer <your-token>
    

For development purposes, you can use these demo tokens:

  • User token: demo-token
  • Admin token: admin-token

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to:

  1. Report bugs
  2. Suggest features
  3. Submit pull requests
  4. Follow our coding standards

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

An Internal Developer Platform (IDP) framework that bridges developers and complex backend cloud infrastructure, providing essential capabilities while abstracting away platform complexities.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published