Skip to main content

continuo-validation-runner

The slim, continuo-owned validation harness. It dispatches on VALIDATION_OP (build_from_sql / clone_from_prod / ensure_schema / drop_schema), fetches a node's candidate SQL from S3 when relevant, discovers the single installed engine adapter (entry-point group continuo_validation.adapters), runs the corresponding warehouse DDL through it, and prints exactly one sentinel-framed result block on stdout.

It depends on continuo-validation-contract (the port + result-block) and, at image-build time, on exactly one continuo-validation-<engine> library — Dockerfile.postgres bakes in continuo-validation-postgres. Inside the shipped images, the contract, the runner, and the engine adapter all install from this repo's own workspace paths (contract/, runner/, adapters/<engine>/) in a single pip transaction at image build time, not from PyPI — see the Dockerfile comments for why. The container entrypoint is python /validation_runner.py, which continuo's executor invokes. python -m continuo_validation_runner reaches the identical main and is convenient for local invocation, but it is not the image contract on its own — an image built around this package standalone (e.g. for an engine this repo doesn't ship) has more to satisfy than that one command. This package is also published to PyPI as continuo-validation-runner for exactly that use; see the bring-your-own-adapter section of the main README for the full image contract.

Job, not a service

This is not one of continuo's long-running services — see the service list at github.com/carolsimone/continuo. It ships as a container image (continuo-validation-<engine>) that executor-controller dispatches as a one-shot Kubernetes Job (BackoffLimit: 0, RestartPolicy: Never) per node or per schema op. The process reads VALIDATION_OP, runs it once, prints one result block, and exits — there is no process to keep alive, no gRPC/HTTP surface, and no owned datastore.

Its entire behavior is the four ops dispatched through the ValidationAdapter port (see continuo-validation-contract) plus the sentinel result-block wire format. Because that surface is small and fixed, this runner itself is very unlikely to need changes: adding support for a new warehouse engine means adding a new continuo-validation-<engine> adapter package and pointing VALIDATION_IMAGE at an image built from it, not editing this code.

The sentinel result-block format is frozen: continuo's Go package pkg/validationresult parses it, so changing it is a coordinated, versioned event across both repos, not a local edit.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

continuo_validation_runner-0.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

continuo_validation_runner-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file continuo_validation_runner-0.1.0.tar.gz.

File metadata

File hashes

Hashes for continuo_validation_runner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eafa897b5f762f7e1f5619bc26862cc5bf6cafc802b987eb2517abc047a87994
MD5 a9e81aad9e5f521c489dacf7efdbde58
BLAKE2b-256 bca53264c202ae1c22e65398256ce2577a04cbb8b3288d4a5aa9d21635b06aa6

See more details on using hashes here.

Provenance

The following attestation bundles were made for continuo_validation_runner-0.1.0.tar.gz:

Publisher: publish-pypi.yml on carolsimone/continuo-validation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file continuo_validation_runner-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for continuo_validation_runner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7cea7c235d335440d207f2331631ddc018c0b56a2ae0e3265f57d3ad0f12713
MD5 e3f145afbfa61791f395f4f5f6471966
BLAKE2b-256 fcd57faa5eb67a1fde750a6e266f25eb60a7ee8c9b8a73b55e7d4a1f44404344

See more details on using hashes here.

Provenance

The following attestation bundles were made for continuo_validation_runner-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on carolsimone/continuo-validation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page