Selective schema discovery and snapshot publication for Rackspace MySQL
Approved architecture. Step 0 implementation and evidence are incomplete. Complete every hard gate in the status record before Step 1 starts.
The existing Rackspace MySQL instance contains dozens of logical databases. Each database can have a different schema.
Rackspace restricts access with a network firewall. The concourse Vercel project has Static IPs
in iad1. The status record must record Rackspace allowlist proof for
both addresses.
The deployed workflow uses that network path to inspect database definitions. It does not read table data or change Rackspace. Step 0 uses the approved laptop VPN path for local discovery.
Rackspace remains the source of truth for these database definitions. The repository stores
imported snapshots for review, history, and future development. The @concourse/rsdb package uses
the generated Drizzle schemas for Rackspace data access.
This plan does not change the application release process in the deployment bootstrap.
Use three Vercel workflows:
The refresh workflow processes one database at a time. One selection can contain one database, several databases, or every database in the inventory. All changed databases from one selection enter one pull request.
Use Drizzle Kit for Drizzle schema output. Use MySQL SHOW CREATE statements for database objects
that Drizzle does not fully represent.
Use the pull() export from drizzle-kit/cli in the pinned drizzle-kit@1.0.0-rc.4 package.
Step 0 must record the exact call and output manifest. A child process is not an approved
fallback. If the programmatic API cannot produce the required files, stop and revise this
architecture.
Store each complete snapshot in the private, server-only @concourse/rsdb workspace package. The
package selects a registered database and returns its generated schema with a configured Drizzle
client.
Use Vercel Connect for short-lived GitHub credentials. Do not store a GitHub private key or a personal access token in the Vercel project.
Before deployed implementation, run the permanent local probe through the approved VPN path against QA first and production second. The probe supplies the discovery evidence and generation proof that Step 1 uses.
@concourse/rsdb.drizzle-kit pull --init.systemAdmin starts each operation.iad1.Intentional snapshot removal needs a separate reviewed design change after a database retires. These decisions do not change the selected inventory, selection, sequential processing, or single-pull-request model.
| Component | Responsibility |
|---|---|
| Local probe | Records live QA and production facts through the approved laptop VPN |
| Administrator page | Starts inventory, accepts a selection, and shows progress |
| Inventory workflow | Lists visible databases and removes MySQL system databases |
| Refresh workflow | Revalidates the selection and coordinates database steps |
| Verification workflow | Checks merged snapshots through the shared verifier |
| Database step | Produces Drizzle output and exact MySQL DDL for one database |
@concourse/rsdb | Selects a registered database and supplies its typed Drizzle client |
| Connection verifier | Verifies TLS, database selection, generated objects, and pool lifecycle |
| Application database | Stores inventory, operations, leases, reviews, artifacts, and results |
| Private Blob | Stores encrypted review artifacts until an administrator removes them |
| Review hook | Pauses a refresh until approval, rejection, or expiry |
| Publication step | Creates one Git commit and one pull request for all changed selections |
| Vercel Connect | Supplies a short-lived GitHub app token |
| Rackspace snapshot user | Supplies read-only metadata access over validated TLS |
Implementation steps: Step 0, Step 1, Step 2, Step 3, Step 4, Step 5, Step 6, Step 7, Step 8.
SHOW CREATE TABLESHOW CREATE VIEWSHOW CREATE TRIGGERSHOW CREATE PROCEDURESHOW CREATE FUNCTIONSHOW CREATE EVENTDATABASE()Selective schema discovery and snapshot publication for Rackspace MySQL
Approved architecture. Step 0 implementation and evidence are incomplete. Complete every hard gate in the status record before Step 1 starts.
The existing Rackspace MySQL instance contains dozens of logical databases. Each database can have a different schema.
Rackspace restricts access with a network firewall. The concourse Vercel project has Static IPs
in iad1. The status record must record Rackspace allowlist proof for
both addresses.
The deployed workflow uses that network path to inspect database definitions. It does not read table data or change Rackspace. Step 0 uses the approved laptop VPN path for local discovery.
Rackspace remains the source of truth for these database definitions. The repository stores
imported snapshots for review, history, and future development. The @concourse/rsdb package uses
the generated Drizzle schemas for Rackspace data access.
This plan does not change the application release process in the deployment bootstrap.
Use three Vercel workflows:
The refresh workflow processes one database at a time. One selection can contain one database, several databases, or every database in the inventory. All changed databases from one selection enter one pull request.
Use Drizzle Kit for Drizzle schema output. Use MySQL SHOW CREATE statements for database objects
that Drizzle does not fully represent.
Use the pull() export from drizzle-kit/cli in the pinned drizzle-kit@1.0.0-rc.4 package.
Step 0 must record the exact call and output manifest. A child process is not an approved
fallback. If the programmatic API cannot produce the required files, stop and revise this
architecture.
Store each complete snapshot in the private, server-only @concourse/rsdb workspace package. The
package selects a registered database and returns its generated schema with a configured Drizzle
client.
Use Vercel Connect for short-lived GitHub credentials. Do not store a GitHub private key or a personal access token in the Vercel project.
Before deployed implementation, run the permanent local probe through the approved VPN path against QA first and production second. The probe supplies the discovery evidence and generation proof that Step 1 uses.
@concourse/rsdb.drizzle-kit pull --init.systemAdmin starts each operation.iad1.Intentional snapshot removal needs a separate reviewed design change after a database retires. These decisions do not change the selected inventory, selection, sequential processing, or single-pull-request model.
| Component | Responsibility |
|---|---|
| Local probe | Records live QA and production facts through the approved laptop VPN |
| Administrator page | Starts inventory, accepts a selection, and shows progress |
| Inventory workflow | Lists visible databases and removes MySQL system databases |
| Refresh workflow | Revalidates the selection and coordinates database steps |
| Verification workflow | Checks merged snapshots through the shared verifier |
| Database step | Produces Drizzle output and exact MySQL DDL for one database |
@concourse/rsdb | Selects a registered database and supplies its typed Drizzle client |
| Connection verifier | Verifies TLS, database selection, generated objects, and pool lifecycle |
| Application database | Stores inventory, operations, leases, reviews, artifacts, and results |
| Private Blob | Stores encrypted review artifacts until an administrator removes them |
| Review hook | Pauses a refresh until approval, rejection, or expiry |
| Publication step | Creates one Git commit and one pull request for all changed selections |
| Vercel Connect | Supplies a short-lived GitHub app token |
| Rackspace snapshot user | Supplies read-only metadata access over validated TLS |
Implementation steps: Step 0, Step 1, Step 2, Step 3, Step 4, Step 5, Step 6, Step 7, Step 8.
SHOW CREATE TABLESHOW CREATE VIEWSHOW CREATE TRIGGERSHOW CREATE PROCEDURESHOW CREATE FUNCTIONSHOW CREATE EVENTDATABASE()