feat: initial alpha scaffold — FastAPI + MCP + pgvector
Implements v0.0.1 of OpenBrain: - FastAPI REST API (capture, search, recent, stats) with Bearer auth - MCP server (streamable HTTP at /mcp) exposing all 4 tools - pgvector schema (vector(1024) for bge-m3) - asyncpg connection pool with lazy init + graceful close - Ollama embedding client with fallback (stores thought without vector if Ollama unreachable) - Woodpecker CI pipeline (lint + kaniko build + push to Gitea registry) - Portainer/Swarm deployment compose - Mosaic framework files: AGENTS.md, PRD.md, TASKS.md, scratchpad Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
49
.woodpecker/build.yml
Normal file
49
.woodpecker/build.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
when:
|
||||
- event: push
|
||||
branch: main
|
||||
- event: tag
|
||||
|
||||
variables:
|
||||
- ®istry git.mosaicstack.dev
|
||||
- &image git.mosaicstack.dev/mosaic/openbrain
|
||||
|
||||
steps:
|
||||
lint:
|
||||
image: python:3.12-slim
|
||||
commands:
|
||||
- pip install ruff --quiet
|
||||
- ruff check src/
|
||||
- ruff format --check src/
|
||||
|
||||
build:
|
||||
image: plugins/kaniko
|
||||
settings:
|
||||
registry: *registry
|
||||
repo: *image
|
||||
tags:
|
||||
- sha-${CI_COMMIT_SHA:0:8}
|
||||
- latest
|
||||
username:
|
||||
from_secret: GITEA_USERNAME
|
||||
password:
|
||||
from_secret: GITEA_TOKEN
|
||||
build_args:
|
||||
- BUILDKIT_INLINE_CACHE=1
|
||||
when:
|
||||
- event: push
|
||||
branch: main
|
||||
|
||||
build-tag:
|
||||
image: plugins/kaniko
|
||||
settings:
|
||||
registry: *registry
|
||||
repo: *image
|
||||
tags:
|
||||
- ${CI_COMMIT_TAG}
|
||||
- sha-${CI_COMMIT_SHA:0:8}
|
||||
username:
|
||||
from_secret: GITEA_USERNAME
|
||||
password:
|
||||
from_secret: GITEA_TOKEN
|
||||
when:
|
||||
- event: tag
|
||||
Reference in New Issue
Block a user