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>
50 lines
962 B
YAML
50 lines
962 B
YAML
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
|