Skip to content

feat(run): govern registered Postgres databases via the gateway pg proxy - #104

Open
johnnyfish wants to merge 1 commit into
mainfrom
feat/pg-proxy-interception
Open

feat(run): govern registered Postgres databases via the gateway pg proxy#104
johnnyfish wants to merge 1 commit into
mainfrom
feat/pg-proxy-interception

Conversation

@johnnyfish

Copy link
Copy Markdown
Contributor

onecli run now scans the process env and project .env files for postgres:// URLs, matches them by host against the project's registered database connections (GET /v1/pg/connections — host/port only, never credentials), mints a proxy session per matched connection (POST /v1/pg/sessions), and swaps the matched env vars for gateway proxy URLs (aoc_pg_ username, dummy password) that shadow .env for default-precedence loaders. Real credentials never enter the agent env; every statement lands in the OneCLI activity log.

Unmatched database hosts warn ('connect it in the dashboard') and are left untouched. A detached sidecar (hidden __pg-sidecar mode, forked before exec so TTY semantics are preserved) heartbeats the sessions and reaps them when the agent exits; if the sidecar dies the gateway expires sessions by TTL. Opt out with --no-pg-proxy.

onecli run now scans the process env and project .env files for
postgres:// URLs, matches them by host against the project's registered
database connections (GET /v1/pg/connections — host/port only, never
credentials), mints a proxy session per matched connection
(POST /v1/pg/sessions), and swaps the matched env vars for gateway proxy
URLs (aoc_pg_<token> username, dummy password) that shadow .env for
default-precedence loaders. Real credentials never enter the agent env;
every statement lands in the OneCLI activity log.

Unmatched database hosts warn ('connect it in the dashboard') and are
left untouched. A detached sidecar (hidden __pg-sidecar mode, forked
before exec so TTY semantics are preserved) heartbeats the sessions and
reaps them when the agent exits; if the sidecar dies the gateway expires
sessions by TTL. Opt out with --no-pg-proxy.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant