55d7705c63
- protocol: add RepoInfo, RouteOverride; add HostPort, SandboxID to DeployRequest.
- ws hub: add CallAgent for sync request/response RPCs over the agent WS,
and DeliverAgentReply to route {op:reply} frames back to the caller.
UnregisterAgent now also fails any pending RPCs so callers don't hang.
- agent-micro: new op handlers list_repos, list_branches, probe.
Wire protocol.Event frames use json.RawMessage so each op decodes
its own data shape.
- agent-gateway: same op handlers (list_repos/list_branches/probe) plus
push_routes, which the gateway uses to rewrite the api-gateway
config.php. Detailed in a later commit.
- control-plane login: validateViaAgent now calls CallAgent('probe')
against the gateway agent (git ls-remote), replacing the
accept-any-creds stub.
- control-plane repos: handleListRepos and handleListBranches forward
to the agents via list_repos / list_branches RPCs, replacing the
hardcoded fixtures.
- control-plane deployments: split into its own file. handleListDeployments
reads from SQLite (was hardcoded []). handleCreateDeployment now
supports sandbox-scoped deploys with a host port + env merge.
handleStopDeployment looks up the node from the deployment row.
- store: split into store.go + deployments.go. The Deployment type
adds sandboxId, containerId, hostPort. StartDeploymentInSandbox,
SetContainerID, ListDeployments, GetDeployment, LatestDeploymentBySandboxService
are new.
- store_test.go: round-trips every Slice-2 path (env, sandbox,
template, clone, routes, deployment).
- .gitignore: track bin/ — the build runs on a separate Linux box
with the golang:1.24 toolchain, and the binaries are SCPed from
there to the company VMs (92 / 186). The VMs have no internet.
- Tracked bin/{control-plane,agent-micro,agent-gateway}.
44 lines
768 B
Plaintext
44 lines
768 B
Plaintext
# Built artifacts
|
|
# bin/ AND dashboard/out/ are tracked on purpose: the build runs on a
|
|
# separate Linux box that has the golang:1.24 toolchain, and BOTH the
|
|
# binaries and the static dashboard are SCPed from here to the company
|
|
# VMs (92 / 186). The VMs have no internet so they can't regenerate
|
|
# either. Do NOT gitignore them again.
|
|
# dashboard/.next/ stays ignored — it's a Next.js build cache, not a
|
|
# deployable artifact.
|
|
dashboard/.next/
|
|
|
|
# Node
|
|
dashboard/node_modules/
|
|
dashboard/npm-debug.log*
|
|
dashboard/yarn-error.log*
|
|
dashboard/.pnpm-debug.log*
|
|
|
|
# Go
|
|
**/*.test
|
|
**/*.out
|
|
**/coverage.txt
|
|
gocache/
|
|
*.prof
|
|
|
|
# Local data
|
|
data/
|
|
*.db
|
|
*.db-journal
|
|
*.db-wal
|
|
*.db-shm
|
|
logs/
|
|
|
|
# Editor / OS
|
|
.DS_Store
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# Env
|
|
.env
|
|
.env.local
|
|
.env.*.local
|