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, and, if its operator allows it, replace the agent's own container with the signed image of a newer release, 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, and, if its operator allows it, replace the agent's own container with the signed image of a newer release, 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; and, only if its operator allows it (ROWSAFE_CONTROL_ALLOW_AGENT_UPDATE=1), replaces the agent's own container with the signed image of a newer release.
|
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; and, only if its operator allows it (ROWSAFE_CONTROL_ALLOW_AGENT_UPDATE=1), replaces the agent's own container with the signed image of a newer release. |
|
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). |
|
permissions
Package permissions verifies one-click permission changes on the server itself: WebAuthn (passkey) signatures made in the Rowsafe dashboard, checked against the keys root paired at the terminal, with no network and no trust in the control plane that relays them (protocol/permissions.go).
|
Package permissions verifies one-click permission changes on the server itself: WebAuthn (passkey) signatures made in the Rowsafe dashboard, checked against the keys root paired at the terminal, with no network and no trust in the control plane that relays them (protocol/permissions.go). |
|
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. |
|
agentimages
Package agentimages is the signed list of a release's Docker agent images: for each image variant ("pg17", "pg17-alpine"), the digest of ghcr.io/rowsafe/agent built for that release.
|
Package agentimages is the signed list of a release's Docker agent images: for each image variant ("pg17", "pg17-alpine"), the digest of ghcr.io/rowsafe/agent built for that release. |
|
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.