central-api

command module
v0.0.0-...-7d59fe6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

README ΒΆ

Devtron Central API

A centralized REST API service for Devtron metadata, release information, and auxiliary services.

πŸ“š Table of Contents

🎯 Overview

Devtron Central API is a Go-based REST API that provides:

  • πŸ“¦ Release notes and version information
  • πŸ”§ Module metadata and configurations
  • πŸ—οΈ CI/CD build templates and metadata
  • πŸ’± Currency exchange rates
  • πŸ”” GitHub webhook handling

Port: 8080 Language: Go 1.19+ Framework: Gorilla Mux

For detailed information, see PROJECT_OVERVIEW.md

πŸš€ Services

1. Release Notes Service

Manages Devtron releases from GitHub with caching and blob storage.

Endpoints:

  • GET /release/notes - Get releases with pagination
  • POST /release/webhook - GitHub webhook handler
2. Module Management

Provides Devtron module information and metadata.

Endpoints:

  • GET /modules - List all modules
  • GET /v2/modules - Enhanced module list
  • GET /module?name={name} - Get module by name
3. CI/CD Metadata

Serves build templates and buildpack information.

Endpoints:

  • GET /dockerfileTemplate - Dockerfile templates
  • GET /buildpackMetadata - Buildpack metadata
4. Currency Exchange

Real-time currency conversion rates.

Endpoints:

  • GET /currency/rates?base={currency} - Exchange rates
5. Health Check

Service health monitoring.

Endpoints:

  • GET /health - Health status

πŸ€– MCP Documentation Server

NEW: A Model Context Protocol (MCP) server for semantic search over Devtron documentation.

Features
  • πŸ” Semantic search using AWS Bedrock Titan embeddings
  • πŸ“¦ ChromaDB vector storage
  • πŸ”„ Auto-sync with GitHub documentation
  • πŸ’° Free tier (AWS Bedrock)
  • ⚑ Fast (<500ms search)
Quick Start
cd mcp-docs-server
./setup.sh
python server.py
Documentation

πŸƒ Quick Start

Central API (Go)
# Build
make build

# Run
./central-api
With Docker
docker build -t central-api:latest .
docker run -p 8080:8080 central-api:latest

πŸ“‘ API Endpoints

Health Check
curl http://localhost:8080/health
Get Releases
curl http://localhost:8080/release/notes?offset=0&size=10
Get Modules
curl http://localhost:8080/modules
Get Currency Rates
curl http://localhost:8080/currency/rates?base=USD

For complete API documentation, see PROJECT_OVERVIEW.md

πŸ“– Documentation

Central API
MCP Documentation Server
Implementation

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Central API (Go)                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚  β”‚ Release  β”‚  β”‚ Modules  β”‚  β”‚ Currency β”‚             β”‚
β”‚  β”‚  Notes   β”‚  β”‚ Metadata β”‚  β”‚ Exchange β”‚             β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           MCP Documentation Server (Python)              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚  β”‚  GitHub  β”‚  β”‚ ChromaDB β”‚  β”‚ Bedrock  β”‚             β”‚
β”‚  β”‚   Sync   β”‚  β”‚  Vector  β”‚  β”‚  Titan   β”‚             β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Development

Prerequisites
  • Go 1.19+
  • Make
  • Wire (for dependency injection)
Build
make build
Run Tests
go test ./...
Generate Wire
make wire

🐳 Docker

Build Image
docker build -t central-api:latest .
Run Container
docker run -p 8080:8080 \
  -e BLOB_STORAGE_PROVIDER=S3 \
  -e AWS_ACCESS_KEY_ID=xxx \
  central-api:latest

πŸ“ License

Apache License 2.0 - Copyright (c) 2024 Devtron Inc.

🀝 Contributing

Contributions are welcome! Please read the contributing guidelines before submitting PRs.

πŸ“ž Support


Maintained by: Devtron Labs Repository: https://github.com/devtron-labs/central-api

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
api
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL