Skip to content

Gas City Integrations and Providers Catalog

Purpose: Catalog external capabilities Gas City consumes without claiming ownership of the external system.

Taxonomy note: integrations/providers are cataloged per capability, not per Mountain — see gc-catalog.md for the Bluefly portfolio taxonomy layered separately on top of Gas City primitives.

Upstream: Connected clients, Config, Command execution trust boundaries — exec: provider scripts (beads/mail/events/session providers) run via direct exec, never sh -c, receiving request data as JSON on stdin/argv rather than shell interpolation.

Integration classes

Source / delivery

Integration Authority
GitLab repositories, merge requests, CI/CD, packages, releases
GitLab Components reusable CI/CD components (blueflyio/gitlab_components) — includes gc-site-bind (atomic city site binding), oracle-deploy, release-flow, artifact-deploy, and 80+ other templates

gc-site-bind is a confirmed gitlab_components template (templates/gc-site-bind/template.yml, release/v0.1.x). It installs the complete .gc/site.toml atomically.

Work graph / state & Split Storage

Integration Authority
Beads (bd) durable work graph; bootstrap/recovery primitives
Dolt authoritative relational/versioned backing store for durable work (shared Dolt server)
SQLite (.gc/store) high-churn ephemeral runtime state (sessions, graph caches, messaging queues, orders, nudges)

Runtime / infrastructure

Integration Authority
Oracle / IaC deployed infrastructure; Dolt server process/persistence
Docker container runtime
agent-docker container runtime where designated
Tailscale private mesh
Cloudflare public ingress/DNS/access (product tunnels stay separate)
Keycloak identity provider
Synology NAS canonical mirrors/backups where designated — not runtime HQ
Ottermon / OTel (gascity-otel) OpenTelemetry collector, metrics, and trace export

Agent / protocol

Integration Authority
OSSA canonical agent contract/specification
DUADP discovery/federation (not work-state mutation)
MCP tool/server capability exposure (mcp/ directory of a Pack)
OpenClaw / LiteLLM gateway/runtime model integration and proxying
Connected-Client API (extmsg) HTTP/SSE external messaging endpoint (/v0/extmsg/clients) for conversational/session turns
Global fragments / overlays Context injection into agent sessions via pack overlays/ and city-level global_fragments

Model/session providers (5-Axis Configuration)

Gas City decomposes agent runtime configuration into five orthogonal axes: - HARNESS: Driver binary (e.g. builtin:claude, builtin:codex) - MODEL: Model name (e.g. claude-3-7-sonnet, gemini-2.0-flash) - UPSTREAM: Endpoint configuration (LiteLLM, OpenClaw, direct API) - TRANSPORT: Driver protocol (stdio, sse, acp) - RUNTIME: Execution environment

Declared harnesses/providers in city.toml (blueflyio/blu/blucity, release/v0.1.x):

Provider Harness [agent_defaults]
claude builtin:claude provider = "claude" (default for all agents)
codex builtin:codex —

Named sessions are declared in pack.toml under [[named_session]] and referenced by the city runtime. They bind a template, mode, and pool to a reusable session name.

Named session DECLARED_IN Mode Referenced by
kingstown-core.blu pack.toml ([[named_session]]) always city runtime
organization.harbormaster pack.toml ([[named_session]]) always city runtime

city.toml declares providers, upstreams, and [agent_defaults]. pack.toml declares [[named_session]] entries. These are not the same file — do not collapse declaration and reference.

Rules

  • Integration does not transfer authority.
  • Gas City orchestrates GitLab; it does not become GitLab.
  • Gas City consumes Beads; it does not create a second work graph.
  • Gas City consumes IaC/deploy outputs; production hand edits must not become source authority.
  • Secrets remain referenced through approved secret-management mechanisms and must never be cataloged as values.
  • MCP servers and external integrations must declare capability scope and ownership boundary.
  • Prefer existing shared components over consumer-local CI glue.
  • No personal home paths or workstation absolute paths in this catalog (use $WORKSPACE_ROOT).