Files
docs/config.yml
Vishesh 'ironeagle' Bangotra 0c25cbb19f feat: unify docs portal and MCP servers into one config-driven service
- add config.yml as single source of truth for collected repos/categories
- add collect.py CLI to pull lib/api/wiki site builds and mcp bundles from
  source repos and regenerate nginx.conf + _index/index.html
- port mcp runtime (main.py/core.py/config.py): nginx + health + FastMCP
  servers started from config.yml
- docker: python:3.13-slim + nginx, expose 8000-8006 + 9000 (html portal)
- drone: publish html (6007:9000) and MCP ports 8000-8006
- move mongo-ops docs to wiki/, add auth-server (api) and hexa (lib)
- refresh lib site builds (lib/ prefix) and collect mcp bundles
2026-09-11 15:14:51 +05:30

101 lines
3.4 KiB
YAML

# aetos-docs configuration
# Single source of truth for which repositories the docs service serves.
#
# repos: documentation collected from sibling source repositories via collect.py
# (refreshed manually: run `python collect.py` after rebuilding each repo's docs)
# static: docs already vendored inside this repository (never collected)
#
# Each repo may provide any of the doc kinds: lib, api, wiki (web sites) and mcp (MCP bundle).
# Category -> served path:
# lib -> /libs/<repo>/
# api -> /apis/<repo>/
# wiki -> /wiki/<repo>/
# mcp -> MCP server on its configured port
service:
name: aetos-docs
html_port: 9000 # nginx: html portal
health_port: 8000 # mcp: /healthz
repos:
- name: openapi-first
source: ../openapi-first
title: OpenAPI First
description: Design-first API development toolkit enforcing OpenAPI contracts as the single source of truth.
docs:
lib: site
mcp: { bundle: docs/mcp, server: openapi_first, port: 8004 }
- name: doc-forge
source: ../doc-forge
title: Doc Forge
description: Renderer-agnostic Python documentation compiler powering MkDocs and MCP generation across Aetoskia projects.
docs:
lib: site
mcp: { bundle: docs/mcp, server: docforge, port: 8001 }
- name: dagpipe
source: ../dagpipe
title: DAG Pipe
description: Deterministic pipeline framework for executing state transformations through a directed acyclic graph (DAG).
docs:
lib: site
mcp: { bundle: docs/mcp, server: dagpipe, port: 8006 }
- name: mail-intake
source: ../mail-intake
title: Mail Intake
description: High-performance email ingestion and processing framework with pluggable adapters and automation workflows.
docs:
lib: site
mcp: { bundle: docs/mcp, server: mail_intake, port: 8002 }
- name: omniread
source: ../omniread
title: Omniread
description: Unified ingestion and normalization layer for structured and unstructured data sources.
docs:
lib: site
mcp: { bundle: docs/mcp, server: omniread, port: 8003 }
- name: py-jwt
source: ../py-jwt
title: Py JWT
description: Lightweight, explicit JWT utilities for Python services with strong validation and minimal magic.
docs:
lib: site
mcp: { bundle: docs/mcp, server: jwtlib, port: 8005 }
- name: hexa
source: ../hexa
title: Hexa
description: Hexagonal architecture framework and toolbox for Python services.
docs:
lib: site
- name: mongo-ops
source: ../mongo-ops
title: Mongo Ops
description: A modular, async MongoDB operations layer for FastAPI microservices. Simplifies CRUD, transactions, and model management.
docs:
wiki: site
- name: auth-server
source: ../auth-server
title: Auth Server
description: Aetoskia authentication service. OpenAPI-driven, FastAPI backend for auth flows.
docs:
api: site
static:
- kind: api
repo: blog
title: Blog API
description: A modular, async Blog API backend for FastAPI microservices. Provides streamlined CRUD operations for articles and authors.
path: apis/blog/site
- kind: tutorial
repo: media-manager
title: Media Manager Tutorial
description: Step-by-step guide to the Media Manager architecture, ingestion pipeline, automation workflows, and integrations.
path: tutorials/media-manager/site