GitHub Repositories
Organization
Section titled “Organization”All repositories are under Deployd-io on GitHub.
Repository Overview
Section titled “Repository Overview”| Repository | Type | Branch Strategy | Purpose |
|---|---|---|---|
LogriteMasterControl | Infrastructure | main | Master CLI, deployment docs, config |
Logrite-UI | Service | main | React frontend |
Logrite-AI | Service | main | Spring Boot backend |
logrite-analyzer | Service | main | AI log analyzer |
logrite-semantic-api | Service | main only | Neural search API |
logrite-ai-service | Service | main only | AI chat service |
logrite-mcp-server | Service | main only | MCP compliance server |
logrite-webhook | Service | main only | GitHub webhook receiver: forwards PR events to the backend (it no longer deploys) |
logrite-docs | Service | main | This documentation site (Astro Starlight) |
logrite-downtime-tracker | Service | main | Uptime probes and container stats |
JobSearch | Demo app | main | Demo application (still on Coolify) |
LogriteOpenSearch | Infrastructure (historical) | main | opensearch-mgr CLI + scripts of the pre-compose host; still a submodule, not deployed |
OpenSearch | Fork | main | OpenSearch engine fork |
OpenSearch-Dashboards | Fork | main | Dashboards UI fork |
Clone Commands
Section titled “Clone Commands”Every service repo is a submodule of MasterControl, on main (the /dev/ in each path is
the directory layout, not a branch). One clone gets them all:
gh repo clone Deployd-io/LogriteMasterControlcd LogriteMasterControl./scripts/dev-vm/bootstrap-repos.sh # init every submodule and put each on its branchOn the dev VM the checkout is /home/deployd/LogriteMasterControl. The OpenSearch forks are
deliberately not submodules; clone them only if you need them:
gh repo clone Deployd-io/OpenSearchgh repo clone Deployd-io/OpenSearch-DashboardsFork Remotes
Section titled “Fork Remotes”The OpenSearch forks have two remotes:
# Check remotescd OpenSearchgit remote -v# origin https://github.com/Deployd-io/OpenSearch (fetch)# upstream https://github.com/opensearch-project/OpenSearch (fetch)
# Sync from upstreamgit fetch upstreamgit checkout maingit merge upstream/maingit push origin mainThe Logrite GitHub App on Deployd-io
Section titled “The Logrite GitHub App on Deployd-io”The prod installation 132075896 on Deployd-io covers every repo. Several
workspaces can be bound to one installation; each binding may carry a repo
name prefix that limits what that workspace reaches.
- Bind:
POST /api/v1/github/app/install/bind{installationId, workspaceId, orgLogin, repoNamePrefix?}withX-OAuth-Tokenfrom a GitHub admin of the account.repoNamePrefixis a case-insensitive prefix of the repo name afterowner/. A blank string clears it; leaving it out keeps the current value. Changing it re-runs the admin check. - In the UI: Settings → Workspace → Source control → Link existing installation. It lists the installations your linked GitHub account can see and binds one, with an optional “Only repositories starting with” field. Without a GitHub token in this browser it shows “Connect GitHub first”.
- Effect of a prefix:
/sync-reposand the repo picker skip repos outside it. Enrol, ensure-project, add-repo and branch listing for such a repo answer 403Repository <full> is outside this workspace's connection to installation <id> (repositories must start with '<prefix>'). - PR events fan out: a PR goes to every workspace bound to the
installation whose prefix admits the repo, not only the newest binding. The
response carries
projectIdsfor every project scanned. - PR-event handling is OFF on both estates (
LOGRITE_PR_EVENTS_ENABLEDunset; measured 2026-10-08: zeropr-eventcalls on prod in 72 h). Until it is turned on, no PR is scanned anywhere and the fan-out above is dormant — AI-coding findings come from the plugin andrun_compliance_scan.
Today ws 252 (ops) is bound with no prefix. The healthcare demo workspace is
bound with repoNamePrefix: "carevault-", so it sees only carevault-*
repos. Once PR events are on, a PR is scanned in each bound workspace that has
a project for its repo.
Repository Details
Section titled “Repository Details”LogriteMasterControl
Section titled “LogriteMasterControl”Repo: Deployd-io/LogriteMasterControl
Local: the MasterControl checkout (/home/deployd/LogriteMasterControl on the dev VM)
Contents: the service submodules, ops/ (the deploy platform, management console, deploy watcher, backups, CI runners), scripts/dev-vm/, Data Prepper config; plus the retired PM2-era cli/ (logrite-manager.js, RCA generator) kept for reference
Logrite-UI
Section titled “Logrite-UI”Repo: Deployd-io/Logrite-UI
Local: services/frontend/dev/Logrite-UI/ (submodule)
Stack: React 19 + Vite 7 + Redux Toolkit + Tailwind CSS
Logrite-AI
Section titled “Logrite-AI”Repo: Deployd-io/Logrite-AI
Local: services/backend/dev/Logrite-AI/ (submodule)
Stack: Java 17 + Spring Boot 3 + Maven
logrite-analyzer
Section titled “logrite-analyzer”Repo: Deployd-io/logrite-analyzer
Local: services/analyzer/dev/logrite-analyzer/ (submodule)
Stack: Node.js + TypeScript + Groq
logrite-semantic-api
Section titled “logrite-semantic-api”Repo: Deployd-io/logrite-semantic-api
Local: services/semantic-search/dev/logrite-semantic-api/ (submodule)
Stack: Node.js + TypeScript + OpenSearch k-NN
logrite-ai-service
Section titled “logrite-ai-service”Repo: Deployd-io/logrite-ai-service
Local: services/ai-service/dev/logrite-ai-service/ (submodule)
Stack: Node.js + TypeScript + Groq + SQLite
logrite-mcp-server
Section titled “logrite-mcp-server”Repo: Deployd-io/logrite-mcp-server
Local: services/mcp/dev/logrite-mcp-server/ (submodule)
Stack: Python 3.10 + FastAPI + uvicorn
logrite-webhook
Section titled “logrite-webhook”Repo: Deployd-io/logrite-webhook
Local: services/webhook/dev/logrite-webhook/ (submodule)
Stack: Node.js built-ins only
LogriteOpenSearch
Section titled “LogriteOpenSearch”Repo: Deployd-io/LogriteOpenSearch
Local: services/opensearch-cli/dev/LogriteOpenSearch/ (submodule)
Contents: opensearch-mgr CLI, scripts, dashboards. Historical: written for the pre-compose host; OpenSearch now runs as the opensearch compose service and nothing in this repo is deployed.
OpenSearch (Fork)
Section titled “OpenSearch (Fork)”Repo: Deployd-io/OpenSearch
Local: not cloned by default (gh repo clone Deployd-io/OpenSearch)
Upstream: opensearch-project/OpenSearch
Version: 3.4.0-SNAPSHOT
OpenSearch-Dashboards (Fork)
Section titled “OpenSearch-Dashboards (Fork)”Repo: Deployd-io/OpenSearch-Dashboards
Local: not cloned by default (gh repo clone Deployd-io/OpenSearch-Dashboards)
Upstream: opensearch-project/OpenSearch-Dashboards