Remove environment bridges and consolidate all inputs through typed configuration - #151
Remove environment bridges and consolidate all inputs through typed configuration#151Cianidos wants to merge 3 commits into
Conversation
Resolve all user inputs once into typed run/workload/driver configuration and pass them through native APIs. Environment variables stay input sources but are no longer internal transport between command, bench, workload, and driver layers: - step filters (--steps/--no-steps) are explicit Run inputs, read by the bench step filter directly instead of STROPPY_STEPS/STROPPY_NO_STEPS - execute_sql SQL source is the typed sql-body/sql-file workload params (inline SQL / .sql file / sql positional bind as CLI inputs) - legacy POOL_SIZE shorthand no longer post-applies after -D extras, so explicit -D pool.maxConns / pool.minConns win deterministically - CSV workload identity comes only from the ?workload= URL option, never from STROPPY_CSV_WORKLOAD - dead STROPPY_DRIVER_N serialization and probe-env helpers removed, and pkg/bench generic environment readers (Env/EnvInt/EnvFloat) deleted - k6Args, k6Config, and driver-level defaultTxIsolation removed from the v6 config schema and rejected with migration guidance Refs #138
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- add k6Args/k6Config migration guidance at config load (typed executor/vus/iterations/duration), mirroring the -D defaultTxIsolation --tx-isolation error - drop defaultTxIsolation from AGENTS.md driver-flag list - cover the defaultTxIsolation rejection with a test Refs #138
Blocked by skipped parent and config-contract decisionThis PR cannot be mechanically retargeted to current A dry rebase of only #151's commits ( Retargeting also requires a functional policy decision for
These options differ in compatibility, error timing, and public API. They are not mechanical conflict resolutions. GitHub currently reports this PR clean only against Please resolve #150's config policy, choose the legacy-field behavior above, then restack only the selected environment-bridge changes on current |
Closes #138.
Removes the historical process-environment bridges that bypassed the typed
configuration system, so every user input resolves once into typed
run/workload/driver configuration and flows through native APIs. Environment
variables remain input sources (e.g.
LOG_LEVEL, workload-param names), neverinternal transport between command, bench, workload, and driver layers.
Changes:
--steps/--no-stepsare explicitbench.Runinputs; the bench step filterno longer reads
STROPPY_STEPS/STROPPY_NO_STEPS.execute_sqlSQL source is now the typed--sql-body/--sql-fileworkload params. Inline SQL,
.sqlpath, and thesqlpositional bind as CLIinputs;
STROPPY_SQL_BODYstays accepted as a legacy process-env alias.POOL_SIZEshorthand no longer post-applies after driver extras, so-D pool.maxConns/-D pool.minConnsand the config-filepoolblock windeterministically.
?workload=URL option; theSTROPPY_CSV_WORKLOADfallback is removed.STROPPY_DRIVER_Nserialization/probe helpers and the genericpkg/benchenv readers (Env/EnvInt/EnvFloat) are deleted.k6Args,k6Config, and driver-leveldefaultTxIsolationare removed fromthe v6 config schema and rejected; the docs schema and help topics are
regenerated/updated.
Verification:
make build,go test ./...,go vet ./..., and scopedgolangci-lint v2.12.2 over the changed packages are all clean.