Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
api
command
Command api is bex-api: the product front door exposing REST, GraphQL and MCP for the App lifecycle verbs (list / get / restart / suspend / resume / logs / metrics) plus authz and API keys.
|
Command api is bex-api: the product front door exposing REST, GraphQL and MCP for the App lifecycle verbs (list / get / restart / suspend / resume / logs / metrics) plus authz and API keys. |
|
idgen
command
Command idgen exposes the canonical internal/id mint for repository helpers that create CRs directly instead of going through bex-api.
|
Command idgen exposes the canonical internal/id mint for repository helpers that create CRs directly instead of going through bex-api. |
|
ssh-gateway
command
|
|
|
internal
|
|
|
agentsession
Package agentsession owns the internal credential-broker contract shared by bex-api and the isolated SSH gateway's Pod-bound Git smart-HTTP proxy.
|
Package agentsession owns the internal credential-broker contract shared by bex-api and the isolated SSH gateway's Pod-bound Git smart-HTTP proxy. |
|
agentsessions
Package agentsessions owns the tenant-facing lifecycle of cloud coding-agent sessions from ADR047 D3.
|
Package agentsessions owns the tenant-facing lifecycle of cloud coding-agent sessions from ADR047 D3. |
|
agentsessionticket
Package agentsessionticket is the signed handoff from bex-api to the coming isolated gateway attach path (ADR047 D3).
|
Package agentsessionticket is the signed handoff from bex-api to the coming isolated gateway attach path (ADR047 D3). |
|
api
Package api is the composition root of bex-api: it wires the feature services (apps, logs, metrics, apikeys, postgres) behind one auth gate and assembles the three transports as SINGLE artifacts — one REST router, one GraphQL schema, one MCP registry.
|
Package api is the composition root of bex-api: it wires the feature services (apps, logs, metrics, apikeys, postgres) behind one auth gate and assembles the three transports as SINGLE artifacts — one REST router, one GraphQL schema, one MCP registry. |
|
apikeys
Package apikeys is the machine-credential feature: OAuth2 clients (client_credentials grant) in the platform's Hydra.
|
Package apikeys is the machine-credential feature: OAuth2 clients (client_credentials grant) in the platform's Hydra. |
|
apps
Package apps is the App-lifecycle feature: the list/get read side and the restart/suspend/resume write side, projected as Render's "service" shape.
|
Package apps is the App-lifecycle feature: the list/get read side and the restart/suspend/resume write side, projected as Render's "service" shape. |
|
audit
Package audit is the audit-log feature (w4/m10): a read verb over the audit_events control-plane table (internal/store) plus the retention sweep that bounds both ordinary events and SSH-session audit metadata.
|
Package audit is the audit-log feature (w4/m10): a read verb over the audit_events control-plane table (internal/store) plus the retention sweep that bounds both ordinary events and SSH-session audit metadata. |
|
authz
Package authz is the production authorization checker: OpenFGA over its HTTP API, satisfying core.Checker.
|
Package authz is the production authorization checker: OpenFGA over its HTTP API, satisfying core.Checker. |
|
billing
Package billing is the Stripe Billing export seam (ADR040): a backend-only sidecar ships sealed usage_hourly rows as meter events, then the same client reads Stripe's current invoice preview and finalized invoice history.
|
Package billing is the Stripe Billing export seam (ADR040): a backend-only sidecar ships sealed usage_hourly rows as meter events, then the same client reads Stripe's current invoice preview and finalized invoice history. |
|
cliauth
Package cliauth adapts the official Render CLI's fixed OAuth wire protocol to Hydra.
|
Package cliauth adapts the official Render CLI's fixed OAuth wire protocol to Hydra. |
|
core
Package core is the leaf kernel every bex-api feature package imports: the shared Base (apiserver-thin client + namespace + clock + authorization gate), the caller Identity, the cross-feature error sentinels, and the HTTP/cache primitives the Ory-bound clients share.
|
Package core is the leaf kernel every bex-api feature package imports: the shared Base (apiserver-thin client + namespace + clock + authorization gate), the caller Identity, the cross-feature error sentinels, and the HTTP/cache primitives the Ory-bound clients share. |
|
datastorelogs
Package datastorelogs holds the direct-pod log read path shared by the managed datastore features.
|
Package datastorelogs holds the direct-pod log read path shared by the managed datastore features. |
|
deploys
Package deploys is the deploy-history feature (w2/m5): every rollout of a store-managed App is a row in lego/backend/internal/store, listable and triggerable over REST/GraphQL/MCP under Render's names (list_deploys / get_deploy / POST .../deploys) — the poll-loop a Render-trained agent already knows how to run.
|
Package deploys is the deploy-history feature (w2/m5): every rollout of a store-managed App is a row in lego/backend/internal/store, listable and triggerable over REST/GraphQL/MCP under Render's names (list_deploys / get_deploy / POST .../deploys) — the poll-loop a Render-trained agent already knows how to run. |
|
drivergrant
Package drivergrant signs one-shot, action-bound calls from the trusted SSH gateway to an in-sandbox agent driver.
|
Package drivergrant signs one-shot, action-bound calls from the trusted SSH gateway to an in-sandbox agent driver. |
|
egressquery
Package egressquery owns the Prometheus metric vocabulary and PromQL used to compose tenant outbound bytes.
|
Package egressquery owns the Prometheus metric vocabulary and PromQL used to compose tenant outbound bytes. |
|
email
Package email composes the bex-sent transactional emails (workspace invites, deploy notifications, webhook failure notices) into BOTH a plain-text body and a branded HTML body from one Message, so the two renderings can never drift.
|
Package email composes the bex-sent transactional emails (workspace invites, deploy notifications, webhook failure notices) into BOTH a plain-text body and a branded HTML body from one Message, so the two renderings can never drift. |
|
envgroups
Package envgroups is the environment-groups feature (Render's /v1/env-groups): a named, reusable set of env vars + secret files that can be linked to many services at once.
|
Package envgroups is the environment-groups feature (Render's /v1/env-groups): a named, reusable set of env vars + secret files that can be linked to many services at once. |
|
environments
Package environments implements named environments — a subset of a project's services (e.g.
|
Package environments implements named environments — a subset of a project's services (e.g. |
|
events
Package events is the per-service activity feed (w3/m7): Render's GET /services/{id}/events, composed from the durable control-plane facts bex already needs for deploy history, audit, and observed transitions.
|
Package events is the per-service activity feed (w3/m7): Render's GET /services/{id}/events, composed from the durable control-plane facts bex already needs for deploy history, audit, and observed transitions. |
|
eventvocab
Package eventvocab owns Render event names shared by independent event projections.
|
Package eventvocab owns Render event names shared by independent event projections. |
|
github
Package github is bex-api's GitHub App integration (docs/ADR026-github-integration.md): a small client that signs the app JWT, mints short-lived installation tokens, and lists an installation's repositories — plus the workspace-connection service verbs over the control-plane store.
|
Package github is bex-api's GitHub App integration (docs/ADR026-github-integration.md): a small client that signs the app JWT, mints short-lived installation tokens, and lists an installation's repositories — plus the workspace-connection service verbs over the control-plane store. |
|
gqlutil
Package gqlutil holds the presentation helpers the feature GraphQL fragments share: a typed resolver adapter and the common id argument.
|
Package gqlutil holds the presentation helpers the feature GraphQL fragments share: a typed resolver adapter and the common id argument. |
|
hmacticket
Package hmacticket is the signed-token envelope every bex ticket flavor shares.
|
Package hmacticket is the signed-token envelope every bex ticket flavor shares. |
|
id
Package id is the one place bex mints and validates typed resource ids (docs/ADR020-identifiers.md — the ADR).
|
Package id is the one place bex mints and validates typed resource ids (docs/ADR020-identifiers.md — the ADR). |
|
jobs
Package jobs implements Render's one-off jobs surface (GET/POST /v1/services/{id}/jobs, GET/POST .../jobs/{jobId}/cancel).
|
Package jobs implements Render's one-off jobs surface (GET/POST /v1/services/{id}/jobs, GET/POST .../jobs/{jobId}/cancel). |
|
keyvalue
Package keyvalue is the managed key-value (Valkey / Redis-compatible) feature over the KeyValue CR, mirroring Render's /v1/key-value API.
|
Package keyvalue is the managed key-value (Valkey / Redis-compatible) feature over the KeyValue CR, mirroring Render's /v1/key-value API. |
|
logs
Package logs is the logs feature: the aggregated read (MCP list_logs), the richer filtered query (REST/GraphQL), and the live tail (SSE).
|
Package logs is the logs feature: the aggregated read (MCP list_logs), the richer filtered query (REST/GraphQL), and the live tail (SSE). |
|
mailer
Package mailer is the bex-api SMTP sender — the transport behind the members feature's invite emails (and any future bex-sent mail).
|
Package mailer is the bex-api SMTP sender — the transport behind the members feature's invite emails (and any future bex-sent mail). |
|
mcputil
Package mcputil is the shared MCP tool-registration seam, the MCP counterpart to gqlutil: every feature registers its tools through AddTool so a single place decides what a tool's error looks like on the wire.
|
Package mcputil is the shared MCP tool-registration seam, the MCP counterpart to gqlutil: every feature registers its tools through AddTool so a single place decides what a tool's error looks like on the wire. |
|
members
Package members is the workspace team-membership feature (w4/m12): invite a teammate by email, list and change roles, remove members — Render's workspace Members settings.
|
Package members is the workspace team-membership feature (w4/m12): invite a teammate by email, list and change roles, remove members — Render's workspace Members settings. |
|
metrics
Package metrics is the metrics feature: one Service the REST + GraphQL + MCP adapters share, reaching its backends through injected sources so the domain stays clientset-free.
|
Package metrics is the metrics feature: one Service the REST + GraphQL + MCP adapters share, reaching its backends through injected sources so the domain stays clientset-free. |
|
notifications
Package notifications is the deploy-notification feature (w3/m9, w3/005): email a workspace's members when one of its services' deploys starts, succeeds, or fails, matching Render's /notification-settings surface.
|
Package notifications is the deploy-notification feature (w3/m9, w3/005): email a workspace's members when one of its services' deploys starts, succeeds, or fails, matching Render's /notification-settings surface. |
|
notifications/push
Package push defines the provider-neutral mobile push boundary and the Expo Push Service adapter.
|
Package push defines the provider-neutral mobile push boundary and the Expo Push Service adapter. |
|
postgres
access.go is the managed-Postgres access & connection surface: the external endpoint's IP allowlist (Render's ipAllowList) and additional Postgres login roles (Render's /postgres/{id}/users).
|
access.go is the managed-Postgres access & connection surface: the external endpoint's IP allowlist (Render's ipAllowList) and additional Postgres login roles (Render's /postgres/{id}/users). |
|
pricing
Package pricing is bex's price sheet: per-unit USD rates derived from Render's captured public pricing (docs/render-artifacts/pricing.md) at a fixed discount — 30% off workspace-plan fees, compute/Postgres/KeyValue/ build-minute/Postgres storage lines, 90% off bandwidth.
|
Package pricing is bex's price sheet: per-unit USD rates derived from Render's captured public pricing (docs/render-artifacts/pricing.md) at a fixed discount — 30% off workspace-plan fees, compute/Postgres/KeyValue/ build-minute/Postgres storage lines, 90% off bandwidth. |
|
projects
Package projects implements named project groupings for services within a workspace (w1/m31).
|
Package projects implements named project groupings for services within a workspace (w1/m31). |
|
proxyproto
Package proxyproto lets the SSH gateway recover the real client address of a connection Traefik's `ssh` entrypoint forwards, instead of recording Traefik's own pod IP into ssh_sessions.remote_address (w4/029.md #10).
|
Package proxyproto lets the SSH gateway recover the real client address of a connection Traefik's `ssh` entrypoint forwards, instead of recording Traefik's own pod IP into ssh_sessions.remote_address (w4/029.md #10). |
|
registrycreds
Package registrycreds is the registry-credentials feature (w2/m14): a workspace's stored credentials for a private external image registry (Docker Hub, GHCR, GitLab Container Registry, ECR, etc.), so an existing-image service can pull from a non-public, non-Zot source — closing bex's only-public-or-internal-Zot image-source limitation (docs/ADR018-render-parity.md, "Registry credentials").
|
Package registrycreds is the registry-credentials feature (w2/m14): a workspace's stored credentials for a private external image registry (Docker Hub, GHCR, GitLab Container Registry, ECR, etc.), so an existing-image service can pull from a non-public, non-Zot source — closing bex's only-public-or-internal-Zot image-source limitation (docs/ADR018-render-parity.md, "Registry credentials"). |
|
resourcemeta
Package resourcemeta holds the neutral, cross-feature contract for the Render metadata projected by REST adapters.
|
Package resourcemeta holds the neutral, cross-feature contract for the Render metadata projected by REST adapters. |
|
rollout
Package rollout records the deploy-history row a spec patch owes the user.
|
Package rollout records the deploy-history row a spec patch owes the user. |
|
sandbox
Package sandbox is the bex-api feature for hosted agent sandboxes (pillar 5, re-opened ADR042/w3/m32).
|
Package sandbox is the bex-api feature for hosted agent sandboxes (pillar 5, re-opened ADR042/w3/m32). |
|
sandboxexec
Package sandboxexec mints and verifies the short-lived ticket that authorizes one `render ea sandbox exec` command (w3/m33, docs/render-artifacts/ea-sandbox.md).
|
Package sandboxexec mints and verifies the short-lived ticket that authorizes one `render ea sandbox exec` command (w3/m33, docs/render-artifacts/ea-sandbox.md). |
|
secrets
Package secrets is the tenant env-vars + secret-files feature: a service's environment variables and mounted secret files, both stored in OpenBao (docs/ADR013-secrets.md) and materialized into per-app Kubernetes Secrets the App consumes — env vars via envFrom ("<name>-env"), files via a projected /etc/secrets volume ("<name>-files").
|
Package secrets is the tenant env-vars + secret-files feature: a service's environment variables and mounted secret files, both stored in OpenBao (docs/ADR013-secrets.md) and materialized into per-app Kubernetes Secrets the App consumes — env vars via envFrom ("<name>-env"), files via a projected /etc/secrets volume ("<name>-files"). |
|
serve
Package serve is the shared HTTP serve/shutdown lifecycle for the backend binaries (w1/m30 + w1/m52).
|
Package serve is the shared HTTP serve/shutdown lifecycle for the backend binaries (w1/m30 + w1/m52). |
|
sessionegress
Package sessionegress renders the fail-closed Cilium policy for one managed coding-agent session.
|
Package sessionegress renders the fail-closed Cilium policy for one managed coding-agent session. |
|
shellticket
Package shellticket mints and verifies the short-lived exec ticket that authorizes a Browser Web Shell session (docs/ADR035-ssh.md § Browser Web Shell).
|
Package shellticket mints and verifies the short-lived exec ticket that authorizes a Browser Web Shell session (docs/ADR035-ssh.md § Browser Web Shell). |
|
snapshotticket
Package snapshotticket signs the `snapshotKey` a disk-snapshot listing hands out and a restore hands back (docs/ADR082-persistent-disks.md D5).
|
Package snapshotticket signs the `snapshotKey` a disk-snapshot listing hands out and a restore hands back (docs/ADR082-persistent-disks.md D5). |
|
sshgateway
Package sshgateway is the shared kernel of the isolated SSH gateway process, which is deployed separately from bex-api so only this process and ServiceAccount receive pods/exec permission.
|
Package sshgateway is the shared kernel of the isolated SSH gateway process, which is deployed separately from bex-api so only this process and ServiceAccount receive pods/exec permission. |
|
sshgateway/agentattach
Package agentattach is the agent-session conversation transport of the isolated SSH gateway (ADR047 D9, w3/m43).
|
Package agentattach is the agent-session conversation transport of the isolated SSH gateway (ADR047 D9, w3/m43). |
|
sshgateway/agentcred
Package agentcred is the Pod-bound Git smart-HTTP proxy of the isolated SSH gateway (ADR047 D2).
|
Package agentcred is the Pod-bound Git smart-HTTP proxy of the isolated SSH gateway (ADR047 D2). |
|
sshgateway/dbrole
Package dbrole single-sources the SSH gateway's least-privilege Postgres role surface: the grant DDL both the production script (scripts/ssh-gateway-db-role.sh) and the CI least-privilege proof (dbrole_integration_test.go) consume.
|
Package dbrole single-sources the SSH gateway's least-privilege Postgres role surface: the grant DDL both the production script (scripts/ssh-gateway-db-role.sh) and the CI least-privilege proof (dbrole_integration_test.go) consume. |
|
sshgateway/gatewaytest
Package gatewaytest holds the shared test fakes for the sshgateway feature packages (root native SSH, webshell) so the fakes cannot drift between the suites.
|
Package gatewaytest holds the shared test fakes for the sshgateway feature packages (root native SSH, webshell) so the fakes cannot drift between the suites. |
|
sshgateway/modelproxy
Package modelproxy is the Pod-bound credential-injecting model proxy of the isolated SSH gateway (ADR062).
|
Package modelproxy is the Pod-bound credential-injecting model proxy of the isolated SSH gateway (ADR062). |
|
sshgateway/nativessh
Package nativessh is the native SSH transport of the isolated gateway: it authenticates registered public keys, authorizes their identities against a requested App, and bridges SSH session channels to the Kubernetes pods/exec API through the shared sshgateway kernel.
|
Package nativessh is the native SSH transport of the isolated gateway: it authenticates registered public keys, authorizes their identities against a requested App, and bridges SSH session channels to the Kubernetes pods/exec API through the shared sshgateway kernel. |
|
sshgateway/sandboxsse
Package sandboxsse is the sandbox-exec transport of the isolated SSH gateway (w3/m33, docs/render-artifacts/ea-sandbox.md §exec).
|
Package sandboxsse is the sandbox-exec transport of the isolated SSH gateway (w3/m33, docs/render-artifacts/ea-sandbox.md §exec). |
|
sshgateway/webshell
Package webshell is the Browser Web Shell transport of the isolated SSH gateway (docs/ADR035-ssh.md § Browser Web Shell).
|
Package webshell is the Browser Web Shell transport of the isolated SSH gateway (docs/ADR035-ssh.md § Browser Web Shell). |
|
sshkeys
Package sshkeys manages identity-scoped SSH public keys.
|
Package sshkeys manages identity-scoped SSH public keys. |
|
store
Package store is the bex control plane: the Postgres-backed source of truth for the product's business entities (tenants, apps, domains + their mappings to Ory and Stripe) and the minimal API over them.
|
Package store is the bex control plane: the Postgres-backed source of truth for the product's business entities (tenants, apps, domains + their mappings to Ory and Stripe) and the minimal API over them. |
|
usage
Package usage is the metering feature (w8/m1–m2, retention m4): an hourly pipeline that rolls Prometheus cAdvisor/Traefik data and build-Job durations into durable usage_hourly rows (internal/store), keyed per workspace.
|
Package usage is the metering feature (w8/m1–m2, retention m4): an hourly pipeline that rolls Prometheus cAdvisor/Traefik data and build-Job durations into durable usage_hourly rows (internal/store), keyed per workspace. |
|
webhooks
Package webhooks is the outbound event webhooks feature (w3/m11): a workspace registers a destination URL + an event-type subscription, and bex pushes signed, thin-payload notifications when those transitions happen — Render's /webhooks direction (Render → you), closing bex's inbound-only webhook asymmetry (docs/ADR018-render-parity.md § Platform events & integrations).
|
Package webhooks is the outbound event webhooks feature (w3/m11): a workspace registers a destination URL + an event-type subscription, and bex pushes signed, thin-payload notifications when those transitions happen — Render's /webhooks direction (Render → you), closing bex's inbound-only webhook asymmetry (docs/ADR018-render-parity.md § Platform events & integrations). |
|
workspaces
Package workspaces is the workspace-lifecycle feature: create / rename / delete a workspace and list the caller's workspaces, projected as Render's "owner" shape.
|
Package workspaces is the workspace-lifecycle feature: create / rename / delete a workspace and list the caller's workspaces, projected as Render's "owner" shape. |
Click to show internal directories.
Click to hide internal directories.