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
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