Directories
¶
| Path | Synopsis |
|---|---|
|
Package allowlist holds the values that may change on every request (time, tokens).
|
Package allowlist holds the values that may change on every request (time, tokens). |
|
Package appconf reads the database and the address an application is set up with, from the files each technology keeps them in: .env, appsettings .json, application.properties, database.yml, env.php, settings.py, compose.yaml and the like.
|
Package appconf reads the database and the address an application is set up with, from the files each technology keeps them in: .env, appsettings .json, application.properties, database.yml, env.php, settings.py, compose.yaml and the like. |
|
Package baseline guards the integrity of a baseline folder: manifest.json holds the SHA-256 of every file and the hash of the last line of the acceptance log, whose lines are chained by the hash of the line before.
|
Package baseline guards the integrity of a baseline folder: manifest.json holds the SHA-256 of every file and the hash of the last line of the acceptance log, whose lines are chained by the hash of the line before. |
|
Package bisect finds the commit that introduced a drift: a binary search over the commits between a known good and a known bad state, run for every drift group on its own, with the outcome of each tested commit shared between the groups.
|
Package bisect finds the commit that introduced a drift: a binary search over the commits between a known good and a known bad state, run for every drift group on its own, with the outcome of each tested commit shared between the groups. |
|
Package capture sends the whole catalog and stores the responses as a snapshot set: restore of the state and a check of its fingerprint, prepare, read-only requests (in parallel, within rate limits) and a search for any of them that changed data, guards, another restore, and the sequences and requests that change data, one at a time, each with the changes it made to the state.
|
Package capture sends the whole catalog and stores the responses as a snapshot set: restore of the state and a check of its fingerprint, prepare, read-only requests (in parallel, within rate limits) and a search for any of them that changed data, guards, another restore, and the sequences and requests that change data, one at a time, each with the changes it made to the state. |
|
Package catalog is the list of requests DriftGate sends: one entry is one request, and variants of a route are separate entries with their own ID.
|
Package catalog is the list of requests DriftGate sends: one entry is one request, and variants of a route are separate entries with their own ID. |
|
Package chaos names the points where the crash tests (tools/e2e) stop a driftgate process: each is a moment at which a kill must leave the store, the baselines and the databases in a state the next command recovers from.
|
Package chaos names the points where the crash tests (tools/e2e) stop a driftgate process: each is a moment at which a kill must leave the store, the baselines and the databases in a state the next command recovers from. |
|
Package cli implements the driftgate command line.
|
Package cli implements the driftgate command line. |
|
Package compare finds every difference (drift) between a baseline response and a current one.
|
Package compare finds every difference (drift) between a baseline response and a current one. |
|
Package config reads driftgate.yaml and locates the project's files (Layout): with baselines: local all of them in the project's .driftgate/ folder, which git ignores; with baselines: git the driftgate/ folder in the repository and the local store outside it.
|
Package config reads driftgate.yaml and locates the project's files (Layout): with baselines: local all of them in the project's .driftgate/ folder, which git ignores; with baselines: git the driftgate/ folder in the repository and the local store outside it. |
|
Package credential tells names and values that hold credentials: passwords, tokens, keys, signatures.
|
Package credential tells names and values that hold credentials: passwords, tokens, keys, signatures. |
|
Package data makes copies of a database that are safe to share with CI: every column of every table has a rule (classify.yaml), personal values are replaced deterministically under a project key, and the copy goes to another database and/or a byte-identical SQL dump.
|
Package data makes copies of a database that are safe to share with CI: every column of every table has a rule (classify.yaml), personal values are replaced deterministically under a project key, and the copy goes to another database and/or a byte-identical SQL dump. |
|
files
Package files makes placeholders for uploaded files, so that a copy of an application's storage carries none of the original content.
|
Package files makes placeholders for uploaded files, so that a copy of an application's storage carries none of the original content. |
|
Package dbdsn reads the DSNs of MySQL/MariaDB and PostgreSQL databases the way their drivers do, for the state components and the data module alike.
|
Package dbdsn reads the DSNs of MySQL/MariaDB and PostgreSQL databases the way their drivers do, for the state components and the data module alike. |
|
Package dbx holds what the state components (internal/state) and the data module (internal/data) both do with MySQL/MariaDB and PostgreSQL servers: connecting, quoting names, setting up a session, telling MariaDB from MySQL, reading SHOW CREATE, filtering PostgreSQL's system schemas, and checking that a database is on a host DriftGate may rewrite.
|
Package dbx holds what the state components (internal/state) and the data module (internal/data) both do with MySQL/MariaDB and PostgreSQL servers: connecting, quoting names, setting up a session, telling MariaDB from MySQL, reading SHOW CREATE, filtering PostgreSQL's system schemas, and checking that a database is on a host DriftGate may rewrite. |
|
Package demo is a small API for testing DriftGate end to end.
|
Package demo is a small API for testing DriftGate end to end. |
|
Package discover finds the routes of an application: from Laravel's route list, an OpenAPI specification, the files of a Next.js or Nuxt project, or any command that prints them as JSON.
|
Package discover finds the routes of an application: from Laravel's route list, an OpenAPI specification, the files of a Next.js or Nuxt project, or any command that prints them as JSON. |
|
Package generate proposes catalog entries for the routes of the inventory: parameter values from the configuration, the pristine database or earlier responses, and one entry per template (ok, not-found, json…).
|
Package generate proposes catalog entries for the routes of the inventory: parameter values from the configuration, the pristine database or earlier responses, and one entry per template (ok, not-found, json…). |
|
Package glob matches request IDs, JSON paths and routes against simple patterns: '*' matches any run of characters (including none), '?' matches one character, and everything else, brackets included, matches itself.
|
Package glob matches request IDs, JSON paths and routes against simple patterns: '*' matches any run of characters (including none), '?' matches one character, and everything else, brackets included, matches itself. |
|
Package har turns requests into catalog candidates: those of a HAR file (saved from the browser's developer tools while using the application) and those the recording proxy sees feed the same pipeline (Builder).
|
Package har turns requests into catalog candidates: those of a HAR file (saved from the browser's developer tools while using the application) and those the recording proxy sees feed the same pipeline (Builder). |
|
Package httpx sends catalog requests and records the responses exactly: no automatic compression, no connection reuse, no proxies from the environment, and no connection to a host that is not allowed.
|
Package httpx sends catalog requests and records the responses exactly: no automatic compression, no connection reuse, no proxies from the environment, and no connection to a host that is not allowed. |
|
Package infer proposes allowlist formats: a regular expression that matches every observed value of something that changes on its own (a time, a token, an id), and as little else as it can.
|
Package infer proposes allowlist formats: a regular expression that matches every observed value of something that changes on its own (a time, a token, an id), and as little else as it can. |
|
Package jsonx parses JSON without losing anything a regression gate must see: key order, duplicate keys and the literal text of every number.
|
Package jsonx parses JSON without losing anything a regression gate must see: key order, duplicate keys and the literal text of every number. |
|
Package lazy defers package-level setup to first use, so a command pays only for the patterns and tables of the code it runs (`driftgate version` compiles no regular expression).
|
Package lazy defers package-level setup to first use, so a command pays only for the patterns and tables of the code it runs (`driftgate version` compiles no regular expression). |
|
Package pii finds personal data in response bodies and headers before they are written as public (into git).
|
Package pii finds personal data in response bodies and headers before they are written as public (into git). |
|
Package procx starts the project's commands (restore, prepare, guards, command steps, token commands, bisect hooks) so that a time limit or an interrupt stops all of what they started, not only the command itself: a command runs in a process group of its own, and the whole group is killed when its context ends.
|
Package procx starts the project's commands (restore, prepare, guards, command steps, token commands, bisect hooks) so that a time limit or an interrupt stops all of what they started, not only the command itself: a command runs in a process group of its own, and the whole group is killed when its context ends. |
|
Package proxy is the recording proxy of driftgate record: a reverse proxy that forwards every request to one service and hands each finished exchange to a callback, which turns it into a catalog candidate.
|
Package proxy is the recording proxy of driftgate record: a reverse proxy that forwards every request to one service and hands each finished exchange to a callback, which turns it into a catalog candidate. |
|
Package report turns comparison results into output for people (text, and markdown for a pull-request comment) and for machines (JSON, JUnit XML for CI test reporters), with drifts grouped by signature and explained.
|
Package report turns comparison results into output for people (text, and markdown for a pull-request comment) and for machines (JSON, JUnit XML for CI test reporters), with drifts grouped by signature and explained. |
|
Package routes is the inventory of an application's routes (driftgate/routes.json), the routes excluded from checking (driftgate/exclusions.yaml), and coverage: which routes no catalog request reaches.
|
Package routes is the inventory of an application's routes (driftgate/routes.json), the routes excluded from checking (driftgate/exclusions.yaml), and coverage: which routes no catalog request reaches. |
|
Package scan scans a response body that would go into git, as public, for personal data and credentials, as a reader of the repository would see it: a capture's responses and the bodies of a baseline in git alike.
|
Package scan scans a response body that would go into git, as public, for personal data and credentials, as a reader of the repository would see it: a capture's responses and the bodies of a baseline in git alike. |
|
Package secret holds the key that encrypts private response bodies and the encryption itself (AES-256-GCM).
|
Package secret holds the key that encrypts private response bodies and the encryption itself (AES-256-GCM). |
|
Package sheet reads and writes the spreadsheets APIs upload and export: CSV, and XLSX (Office Open XML).
|
Package sheet reads and writes the spreadsheets APIs upload and export: CSV, and XLSX (Office Open XML). |
|
Package snapshot stores captured responses: one record per request plus the body, kept by content.
|
Package snapshot stores captured responses: one record per request plus the body, kept by content. |
|
Package state restores the data an application runs on and fingerprints it, so every capture starts from the same state and every change a request makes to the data is seen.
|
Package state restores the data an application runs on and fingerprints it, so every capture starts from the same state and every change a request makes to the data is seen. |
|
Package storelock keeps two DriftGate processes from writing one local store at the same time: two worktrees of a project share the store, and a capture in one would otherwise move aside, replace or remove the other's capture of the same tag.
|
Package storelock keeps two DriftGate processes from writing one local store at the same time: two worktrees of a project share the store, and a capture in one would otherwise move aside, replace or remove the other's capture of the same tag. |
|
Package upload builds multipart/form-data bodies for catalog requests that send files, and the synthetic files they send when no real file is named: a minimal valid file of a kind (CSV, XLSX, PNG, PDF…), the same bytes every time, holding no data of anyone.
|
Package upload builds multipart/form-data bodies for catalog requests that send files, and the synthetic files they send when no real file is named: a minimal valid file of a kind (CSV, XLSX, PNG, PDF…), the same bytes every time, holding no data of anyone. |
Click to show internal directories.
Click to hide internal directories.