Directories
¶
| Path | Synopsis |
|---|---|
|
Package client is a Go client for the Rowsafe user API.
|
Package client is a Go client for the Rowsafe user API. |
|
cmd
|
|
|
rowsafe
command
Command rowsafe is the Rowsafe CLI.
|
Command rowsafe is the Rowsafe CLI. |
|
rowsafe-agent
command
Command rowsafe-agent runs on each database host as the postgres user.
|
Command rowsafe-agent runs on each database host as the postgres user. |
|
rowsafe-docker-control
command
Command rowsafe-docker-control lets the Rowsafe agent (a Docker sidecar) stop, start and restart exactly one container, the PostgreSQL container next to it, without ever giving the agent the Docker socket.
|
Command rowsafe-docker-control lets the Rowsafe agent (a Docker sidecar) stop, start and restart exactly one container, the PostgreSQL container next to it, without ever giving the agent the Docker socket. |
|
rowsafe-release
command
Command rowsafe-release builds, signs and verifies agent release manifests.
|
Command rowsafe-release builds, signs and verifies agent release manifests. |
|
Package collect gathers PostgreSQL and host metrics on the database host for Rowsafe's built-in monitoring.
|
Package collect gathers PostgreSQL and host metrics on the database host for Rowsafe's built-in monitoring. |
|
integrations
|
|
|
github-action/test/mockapi
command
Command mockapi is a stand-in for the Rowsafe API, just enough for the GitHub Action's tests (rowsafe show, status, mark, marks).
|
Command mockapi is a stand-in for the Rowsafe API, just enough for the GitHub Action's tests (rowsafe show, status, mark, marks). |
|
internal
|
|
|
agent
Package agent runs on each database host.
|
Package agent runs on each database host. |
|
dockerctl
Package dockerctl is Rowsafe's container control for Docker: a tiny service (cmd/rowsafe-docker-control) that holds the Docker socket and stops, starts, restarts or inspects exactly one container, the PostgreSQL container next to it, when the Rowsafe agent asks over a Unix socket on a volume only the two of them share.
|
Package dockerctl is Rowsafe's container control for Docker: a tiny service (cmd/rowsafe-docker-control) that holds the Docker socket and stops, starts, restarts or inspects exactly one container, the PostgreSQL container next to it, when the Rowsafe agent asks over a Unix socket on a volume only the two of them share. |
|
engine/mongodb
Package mongodb is Rowsafe's MongoDB engine: backups (mongodump) and continuous oplog copying into the customer's bucket, encrypted on the server; Proof (restore tests), Rewind (a copy at any second, compare, bring documents back), Marks, monitoring (Pulse) and discovery for the installer.
|
Package mongodb is Rowsafe's MongoDB engine: backups (mongodump) and continuous oplog copying into the customer's bucket, encrypted on the server; Proof (restore tests), Rewind (a copy at any second, compare, bring documents back), Marks, monitoring (Pulse) and discovery for the installer. |
|
engine/mysql
Package mysql is the agent's MySQL and MariaDB engine: backups with Percona XtraBackup (MySQL) or mariadb-backup (MariaDB), streamed, compressed and encrypted on this server into the customer's bucket; continuous shipping of the binary logs for restores to any second; restore tests (Proof), copies to compare and bring rows back (Rewind), named points (Marks), monitoring (Pulse) and safe fixes.
|
Package mysql is the agent's MySQL and MariaDB engine: backups with Percona XtraBackup (MySQL) or mariadb-backup (MariaDB), streamed, compressed and encrypted on this server into the customer's bucket; continuous shipping of the binary logs for restores to any second; restore tests (Proof), copies to compare and bring rows back (Rewind), named points (Marks), monitoring (Pulse) and safe fixes. |
|
handoff
Package handoff seals secrets from one Rowsafe agent to another, so the control plane that relays them never sees them in the clear.
|
Package handoff seals secrets from one Rowsafe agent to another, so the control plane that relays them never sees them in the clear. |
|
indexadvisor
Package indexadvisor finds indexes that would make a database's slowest statements faster.
|
Package indexadvisor finds indexes that would make a database's slowest statements faster. |
|
indexadvisor/sqlshape
Package sqlshape extracts what a statement asks of its tables (indexadvisor.Shape) with PostgreSQL's own parser: libpg_query compiled to WebAssembly and run by wazero (github.com/wasilibs/go-pgquery), so the agent stays a pure Go, CGO-free binary.
|
Package sqlshape extracts what a statement asks of its tables (indexadvisor.Shape) with PostgreSQL's own parser: libpg_query compiled to WebAssembly and run by wazero (github.com/wasilibs/go-pgquery), so the agent stays a pure Go, CGO-free binary. |
|
objstore
Package objstore is a small S3 client (AWS Signature Version 4, path or virtual-host style, multipart uploads) for engines whose backups Rowsafe writes itself rather than through pgBackRest.
|
Package objstore is a small S3 client (AWS Signature Version 4, path or virtual-host style, multipart uploads) for engines whose backups Rowsafe writes itself rather than through pgBackRest. |
|
objstore/fakes3
Package fakes3 is an in-memory S3 server for tests: PUT, GET, DELETE, ListObjectsV2 and multipart uploads, path-style, without signature checks (it only requires an Authorization header).
|
Package fakes3 is an in-memory S3 server for tests: PUT, GET, DELETE, ListObjectsV2 and multipart uploads, path-style, without signature checks (it only requires an Authorization header). |
|
pgbackrest
Package pgbackrest renders pgBackRest configuration and wraps its CLI.
|
Package pgbackrest renders pgBackRest configuration and wraps its CLI. |
|
pgbouncer
Package pgbouncer talks to PgBouncer's admin console (the virtual "pgbouncer" database): SHOW commands for monitoring, and PAUSE, RELOAD and RESUME to switch servers without failing clients.
|
Package pgbouncer talks to PgBouncer's admin console (the virtual "pgbouncer" database): SHOW commands for monitoring, and PAUSE, RELOAD and RESUME to switch servers without failing clients. |
|
pginspect
Package pginspect reads state from a local Postgres over its Unix socket.
|
Package pginspect reads state from a local Postgres over its Unix socket. |
|
pgscratch
Package pgscratch starts a throwaway PostgreSQL cluster for integration tests (initdb and pg_ctl from PATH).
|
Package pgscratch starts a throwaway PostgreSQL cluster for integration tests (initdb and pg_ctl from PATH). |
|
Package masking turns real values into realistic fake ones for Guard's safe copies.
|
Package masking turns real values into realistic fake ones for Guard's safe copies. |
|
Package mcp exposes a Rowsafe organization to AI assistants over the Model Context Protocol.
|
Package mcp exposes a Rowsafe organization to AI assistants over the Model Context Protocol. |
|
Package pglog reads PostgreSQL's server log: it parses the stderr (log_line_prefix), csvlog and jsonlog formats, classifies each message, removes literal values before anything leaves the server, and tails log files and journald for the agent (Run).
|
Package pglog reads PostgreSQL's server log: it parses the stderr (log_line_prefix), csvlog and jsonlog formats, classifies each message, removes literal values before anything leaves the server, and tails log files and journald for the agent (Run). |
|
Package pgprobe looks at a PostgreSQL port the way a stranger would: it connects, asks for TLS, and starts a login with a made-up user name ("rowsafe_outside_check") to see how far PostgreSQL lets it get.
|
Package pgprobe looks at a PostgreSQL port the way a stranger would: it connects, asks for TLS, and starts a login with a made-up user name ("rowsafe_outside_check") to see how far PostgreSQL lets it get. |
|
Package preview is Guard's migration preview logic that doesn't need a database: splitting SQL into statements, recognising risky DDL, and turning what a migration did on a copy into a verdict with plain-words impact and suggestions.
|
Package preview is Guard's migration preview logic that doesn't need a database: splitting SQL into statements, recognising risky DDL, and turning what a migration did on a copy into a verdict with plain-words impact and suggestions. |
|
Package protocol defines the JSON contract between the Rowsafe control plane (rowsafed), the agent (rowsafe-agent) and the CLI (rowsafe).
|
Package protocol defines the JSON contract between the Rowsafe control plane (rowsafed), the agent (rowsafe-agent) and the CLI (rowsafe). |
|
e2e
Package e2e seals small secrets end to end between a person's browser (or the rowsafe CLI) and a Rowsafe agent, so the control plane that relays them only ever sees ciphertext.
|
Package e2e seals small secrets end to end between a person's browser (or the rowsafe CLI) and a Rowsafe agent, so the control plane that relays them only ever sees ciphertext. |
|
Package release signs and verifies agent release manifests.
|
Package release signs and verifies agent release manifests. |
|
Package tune knows the PostgreSQL settings that matter: what each one does in plain words, which ones Rowsafe never changes, the values that suit a server (recommendations in the spirit of PGTune) and the values that must be refused because PostgreSQL might not start with them.
|
Package tune knows the PostgreSQL settings that matter: what each one does in plain words, which ones Rowsafe never changes, the values that suit a server (recommendations in the spirit of PGTune) and the values that must be refused because PostgreSQL might not start with them. |
Click to show internal directories.
Click to hide internal directories.