Skip to main content

Llm Platform Drupal

> Perfect I focused on compounding value locally, making orchestration reliable and verifiable, and preparing a safe path to push later, all within your standards. What I implemented now - Orchestrator modes (lock, dry-run, apply) - llm-platform/frontend/scripts/orchestrate.ts - lock: generates images.lock.json from services.template with IMAGE_TAG_DEFAULT and per-service TAG_<SERVICE_NAME> - dry-run: renders dist/kagent/manifest.(json|yaml) - apply: posts manifest to Kagent using KAGENT_URL/KAGENT_TOKEN (when youre ready) - Manifest validation (no surprises) - llm-platform/frontend/scripts/validate-manifest.ts - Fails on: missing network, duplicate service names, missing images, unpinned tags (no latest), invalid/duplicate ports, invalid replicas - Wired into CI after dry-run to catch issues early - Expanded Kagent template (Orbstack-ready) - llm-platform/infrastructure/kagent/services.template.yaml - Core: agent-protocol (3005), agent-router (3010) - Agent runtime: agent-brain (3011), agent-chat (3012), agent-mesh (3013), agentic- flows (3014) - Observability: agent-tracer (3030) - Platform: compliance-engine (3020), workflow-engine (3021), foundation-bridge (3022), doc-engine (3023), rfp-automation (3024), studio-ui (8080) - Optional: agent-docker (3050) - Env placeholders for OTEL, protocol URLs; internal DNS between services - Frontend scripts to run from DDEV - llm-platform/frontend/package.json - images:lock, platform:orchestrate:dry, platform:orchestrate, manifest:validate - ddev helper: .ddev/commands/host/frontend - ddev frontend images:lock - ddev frontend platform:orchestrate:dry - CI (no deploy yet) - llm-platform/.gitlab-ci.yml - platform:images-lock job: - npm ci (frontend) - images:lock (with IMAGE_TAG_DEFAULT defaulting to v0.2.0) - platform:orchestrate:dry + manifest:validate - artifacts: images.lock.json, dist/kagent - platform:apply job: - manual, main/tag only, runs frontend platform:orchestrate - stays idle until youre ready to push to cluster - GitLab variables via API (reading ~/.tokens) - llm-platform/frontend/scripts/gitlab-variables.ts - Reads ~/.tokens (GITLAB_API_TOKEN/GITLAB_TOKEN, GITLAB_NPM_TOKEN, KAGENT_TOKEN) - Upserts group variables in GitLab via API - Usage: - npm ci --prefix llm-platform/frontend - GROUP=llm tsx llm-platform/frontend/scripts/gitlab-variables.ts - Optional --file frontend/gitlab.variables.json for bulk vars How to use locally (no cluster push) - Install frontend deps: - npm ci --prefix llm-platform/frontend - Generate lock + manifests: - IMAGE_TAG_DEFAULT=v0.2.0 npm run images:lock --prefix llm-platform/frontend - npm run platform:orchestrate:dry --prefix llm-platform/frontend - npm run manifest:validate --prefix llm-platform/frontend - DDEV shortcuts: - ddev frontend images:lock - ddev frontend platform:orchestrate:dry - Set group variables from ~/.tokens: - GROUP=llm tsx llm-platform/frontend/scripts/gitlab-variables.ts Why this compounds impact - Reliable manifests and pinned images mean repeatable orchestrations (no latest). - Lock/dry-run + validation catch issues before any deployment. - When ready, a single manual job can apply manifests into Kagent with protected variables. - Template expresses the entire stack; lock lets you quickly spawn variant stacks by overriding tags per service via env (TAG_agent-router, etc.). Next highimpact step (optional just say go) - Protected platform:apply gating policy and profiles: - Add a profile env (e.g., PROFILE=minimal/full) to include/exclude optional services during lock. - Add CI gates to ensure images.lock.json contains only allowed registries and semver patterns. - Efficiency hooks (token/time): - Introduce an optional TOKEN_BUDGET env in services.template.yaml that propagates via lock into manifests (no code changes to services; they can read the env). - Add concurrency/replicas hints for agent-router and agent-brain based on PROFILE to balance cost/perf (still config-only). - Observability bootstrap (no bash): - Add otel-collector/loki/grafana Node-rendered configs under llm-platform/ infrastructure/observability and wire endpoints (disabled until vars provided). - When you signal, Ill wire the protected apply job and a profiled lock to spin up optimized stacks of agents that do the work faster and cheaper still without touching your Drupal modules/themes or creating new repos.
undefined