Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
44ea61e
feat(ghl): add fleet server, Helm chart, Dockerfile, and REPOS.yaml
himanshuranjann Apr 14, 2026
4a9e457
chore(repos): regenerate REPOS.yaml from live GoHighLevel GitHub org
himanshuranjann Apr 14, 2026
3fa3263
feat(ghl): fix hosted MCP transport for Cloud Run
himanshuranjann Apr 15, 2026
d928888
docs: add CBM vs Project Orion comparison
himanshuranjann Apr 15, 2026
7693862
Update CBM_VS_PROJECT_ORION_COMPARISON.md
himanshuranjann Apr 15, 2026
64d788f
feat: speed up fleet indexing and scope local registry
himanshuranjann Apr 15, 2026
f8e2b27
fix: reuse cached clones when github auth is unavailable
himanshuranjann Apr 15, 2026
45545ea
chore: shrink cloud build context
himanshuranjann Apr 15, 2026
9528642
fix: move cbm sqlite cache back to local disk
himanshuranjann Apr 15, 2026
b8f3158
fix: restore fleet indexing from local clone cache
himanshuranjann Apr 15, 2026
46dd569
fix: use stable local clone path for project discovery
himanshuranjann Apr 15, 2026
f0b8925
feat: add repo discovery MCP tool
himanshuranjann Apr 15, 2026
4995912
fix: replace timed out discovery clients
himanshuranjann Apr 15, 2026
4fd2314
fix: replenish timed out discovery clients asynchronously
himanshuranjann Apr 15, 2026
9e0d716
fix: bound discovery candidate probing
himanshuranjann Apr 15, 2026
b7da336
chore: add platform-core to local fleet manifest
himanshuranjann Apr 15, 2026
974f23e
feat: add github org auth for ghl fleet
himanshuranjann Apr 15, 2026
44fa46e
fix(mcp): correct project metadata and snippet paths
himanshuranjann Apr 16, 2026
1214473
fix(ghl): pool bridge MCP clients and shed overload
himanshuranjann Apr 16, 2026
02b14ae
Merge branch 'feature/cbm-mcp-scale' into feature/uptrace-codebase-me…
himanshuranjann Apr 16, 2026
5a8f459
fix(ghl): retire dead indexer clients and add GCS artifact persistence
himanshuranjann Apr 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gcloudignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
**
!Dockerfile.ghl
!cloudbuild.ghl.yaml
!Makefile.cbm
!REPOS.yaml
!REPOS.local.yaml
!src
!src/**
!internal
!internal/**
!vendored
!vendored/**
!ghl
!ghl/**
88 changes: 88 additions & 0 deletions Dockerfile.ghl
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Dockerfile.ghl — GHL fleet server
#
# Multi-stage build:
# stage 1 (cbm): download pre-built codebase-memory-mcp binary for linux/amd64
# stage 2 (build): compile the Go fleet server
# stage 3 (run): minimal runtime image

# ── Stage 1: codebase-memory-mcp binary ──────────────────────────
FROM debian:12-slim AS cbm

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
git \
pkg-config \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*

WORKDIR /src

COPY Makefile.cbm ./
COPY src/ ./src/
COPY internal/ ./internal/
COPY vendored/ ./vendored/

RUN make -f Makefile.cbm cbm && \
install -m 0755 build/c/codebase-memory-mcp /usr/local/bin/codebase-memory-mcp

# ── Stage 2: Go fleet server ──────────────────────────────────────
FROM golang:1.25-alpine AS build

WORKDIR /src

# Cache dependencies first
COPY ghl/go.mod ghl/go.sum ./
RUN go mod download

# Copy source
COPY ghl/ ./

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -trimpath -ldflags="-s -w" \
-o /app/ghl-fleet ./cmd/server

# ── Stage 3: Runtime ──────────────────────────────────────────────
# Use debian-slim (not distroless) so git is available for repo cloning
FROM debian:12-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
git \
ca-certificates \
openssh-client \
&& rm -rf /var/lib/apt/lists/*

# Copy binaries
COPY --from=cbm /usr/local/bin/codebase-memory-mcp /app/codebase-memory-mcp
COPY --from=build /app/ghl-fleet /app/ghl-fleet

# Copy default manifest
COPY REPOS.yaml /app/REPOS.yaml
COPY REPOS.local.yaml /app/REPOS.local.yaml

# Git: trust all dirs (needed when running as non-root in containers)
RUN git config --global --add safe.directory '*'

WORKDIR /app

# ── Defaults (all overridable via env) ───────────────────────────
ENV PORT=8080 \
CBM_BINARY=/app/codebase-memory-mcp \
CBM_CACHE_DIR=/tmp/codebase-memory-mcp \
CBM_ARTIFACT_DIR=/data/fleet-cache/indexes \
FLEET_CACHE_DIR=/data/fleet-cache/repos \
REPOS_MANIFEST=/app/REPOS.local.yaml \
BRIDGE_CLIENTS=4 \
BRIDGE_ACQUIRE_TIMEOUT_MS=1500 \
FLEET_CONCURRENCY=8 \
INDEXER_CLIENTS=8 \
STARTUP_INDEX_ENABLED=false \
SCHEDULED_INDEXING_ENABLED=false \
CRON_INCREMENTAL="0 */6 * * *" \
CRON_FULL="0 2 * * 0"

EXPOSE 8080

VOLUME ["/data/fleet-cache"]

ENTRYPOINT ["/app/ghl-fleet"]
236 changes: 236 additions & 0 deletions REPOS.local.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
# REPOS.local.yaml — generated local fleet manifest
# workspace_root: /Users/himanshuranjan/Documents/highlevel
# source_manifest: ../REPOS.yaml
# Regenerate from ./ghl with: go run ./cmd/genlocalmanifest
repos:
- name: clientportal-core
github_url: https://github.com/GoHighLevel/clientportal-core.git
team: platform
type: library
tags:
- vue
- vue3
- platform
- name: ghl-agentic-workspace
github_url: https://github.com/GoHighLevel/ghl-agentic-workspace.git
team: platform
type: service
tags:
- typescript
- nestjs
- platform
- name: ghl-awesome-studio
github_url: https://github.com/GoHighLevel/ghl-awesome-studio.git
team: platform
type: frontend
tags:
- vue
- vue3
- platform
- name: ghls-pr
github_url: https://github.com/GoHighLevel/ghls-pr.git
team: platform
type: service
tags:
- typescript
- nestjs
- platform
- name: i18n-analysis
github_url: https://github.com/GoHighLevel/i18n-analysis.git
team: platform
type: service
tags:
- javascript
- nestjs
- platform
- name: image-processing-service
github_url: https://github.com/GoHighLevel/image-processing-service.git
team: platform
type: service
tags:
- go
- platform
- name: infrastructure-as-a-code
github_url: https://github.com/GoHighLevel/infrastructure-as-a-code.git
team: platform
type: infra
tags:
- hcl
- platform
- name: MoltClaw-by-HighLevel
github_url: https://github.com/GoHighLevel/MoltClaw-by-HighLevel.git
team: platform
type: service
tags:
- typescript
- nestjs
- platform
- name: platform-backend
github_url: https://github.com/GoHighLevel/platform-backend.git
team: platform
type: service
tags:
- typescript
- nestjs
- platform
- name: platform-core
github_url: https://github.com/GoHighLevel/platform-core.git
team: platform
type: library
tags:
- typescript
- platform
- name: platform-devtools-backend
github_url: https://github.com/GoHighLevel/platform-devtools-backend.git
team: platform
type: service
tags:
- typescript
- nestjs
- platform
- name: platform-devtools-frontend
github_url: https://github.com/GoHighLevel/platform-devtools-frontend.git
team: platform
type: frontend
tags:
- typescript
- platform
- name: platform-docs
github_url: https://github.com/GoHighLevel/platform-docs.git
team: platform
type: docs
tags:
- html
- platform
- name: platform-jenkins-shared-library
github_url: https://github.com/GoHighLevel/platform-jenkins-shared-library.git
team: platform
type: library
tags:
- groovy
- platform
- name: project-orion
github_url: https://github.com/GoHighLevel/project-orion.git
team: platform
type: other
tags:
- html
- platform
- name: quality-gates
github_url: https://github.com/GoHighLevel/quality-gates.git
team: platform
type: service
tags:
- typescript
- nestjs
- platform
- name: automation-am-client-portal
github_url: https://github.com/GoHighLevel/automation-am-client-portal.git
team: revex
type: frontend
tags:
- vue
- vue3
- revex
- name: ghl-membership-frontend
github_url: https://github.com/GoHighLevel/ghl-membership-frontend.git
team: revex
type: frontend
tags:
- typescript
- revex
- name: ghl-revex-backend
github_url: https://github.com/GoHighLevel/ghl-revex-backend.git
team: revex
type: service
tags:
- typescript
- nestjs
- revex
- name: ghl-revex-frontend
github_url: https://github.com/GoHighLevel/ghl-revex-frontend.git
team: revex
type: frontend
tags:
- vue
- vue3
- revex
- name: membership-backend
github_url: https://github.com/GoHighLevel/membership-backend.git
team: revex
type: service
tags:
- typescript
- nestjs
- revex
- name: membership-hmi-app
github_url: https://github.com/GoHighLevel/membership-hmi-app.git
team: revex
type: frontend
tags:
- vue
- vue3
- revex
- name: membership-hmi-preview
github_url: https://github.com/GoHighLevel/membership-hmi-preview.git
team: revex
type: frontend
tags:
- vue
- vue3
- revex
- name: ghl-crm-frontend
github_url: https://github.com/GoHighLevel/ghl-crm-frontend.git
team: crm
type: frontend
tags:
- vue
- vue3
- crm
- name: ghl-email-builder
github_url: https://github.com/GoHighLevel/ghl-email-builder.git
team: conversations
type: frontend
tags:
- vue
- vue3
- conversations
- name: spm-ts
github_url: https://github.com/GoHighLevel/spm-ts.git
team: funnels
type: frontend
tags:
- vue
- vue3
- funnels
- name: automation-workflows-frontend
github_url: https://github.com/GoHighLevel/automation-workflows-frontend.git
team: marketing
type: frontend
tags:
- typescript
- marketing
- name: marketplace-backend
github_url: https://github.com/GoHighLevel/marketplace-backend.git
team: saas
type: service
tags:
- typescript
- nestjs
- saas
- name: ai-backend
github_url: https://github.com/GoHighLevel/ai-backend.git
team: ai
type: service
tags:
- typescript
- nestjs
- ai
- name: ai-frontend
github_url: https://github.com/GoHighLevel/ai-frontend.git
team: ai
type: frontend
tags:
- vue
- vue3
- ai
Loading