Back to Rustfs

scripts/ index

scripts/README.md

1.0.0-rc.112.2 KB
Original Source

scripts/ index

Authoritative inventory of everything under scripts/ (backlog#1153 infra-13). One row per top-level entry; subdirectories get one row each and keep their own READMEs. The test-layer map that ties the major runners together lives in docs/testing/README.md.

Statuses

  • ci-gate — wired into CI, release, or image-build pipelines. Do not move, rename, or change flags without updating the wiring listed in the last column.
  • dev-tool — run by humans: local dev loops, runbooks, validation harnesses. Kept working, not wired into CI.
  • archived — one-shot scripts whose investigation/issue is finished, moved to scripts/archive/. Unmaintained reference material: never wire into CI, and expect bit-rot. To resurrect one, move it back and give it an index row here.

Adding a script? Add an index row in the same PR. Issue-scoped scripts (run_issueNNN_*, validate_issue_NNN_*) are expected to be archived when their issue closes.

Repository & CI gates

EntryStatusPurposeWiring / docs
check_architecture_migration_rules.shci-gateArchitecture-boundary anti-regression guardci.yml Quick Checks; make pre-commit
check_body_cache_whitelist.shci-gateKeeps the app-layer body-cache eligibility gate fail-closedci.yml Quick Checks
check_doc_paths.shci-gateFails when instruction/architecture docs reference repo paths that no longer existmake pre-commit / pre-pr
check_extension_schema_boundaries.shci-gateExtension-schema crate boundary guardci.yml Quick Checks; make pre-commit
check_layer_dependencies.shci-gateCrate-layering DAG guard (reads layer-dependency-baseline.txt)ci.yml Quick Checks
check_logging_guardrails.shci-gateBlocks legacy logging patterns from returningmake pre-commit / pre-pr
check_migration_gate_count.shci-gateMigration-critical test gate with committed count floor (.config/migration-gate-floor.txt)ci.yml Test and Lint; docs/testing/README.md
check_no_planning_docs.shci-gateBlocks committed planning-type documentsci.yml Quick Checks; make pre-commit
check_no_tokio_io_uring.shci-gateKeeps tokio's io-uring backend disabledci.yml Quick Checks
check_s3s_footprint.shci-gateLower-only ratchet freezing the direct s3s surface ahead of the s3gate migrationci.yml Quick Checks; make pre-commit
check_unsafe_code_allowances.shci-gateUnsafe-code allowance ledger guardci.yml Quick Checks
layer-dependency-baseline.txtci-gate (data)Committed baseline consumed by check_layer_dependencies.sharch-checks skill
static.shci-gateStatic-build helper executed inside image buildsDockerfile.source, Dockerfile.decommission-local
helm_chart_version.shci-gateKeeps the Helm chart version in sync with the releasehelm-package.yml
test_helm_templates.shci-gateHelm template rendering testhelm-package.yml

Test & e2e runners

EntryStatusPurposeWiring / docs
e2e-run.shci-gateBoots a rustfs server and runs the s3s-e2e black-box conformance tool against itci.yml e2e-tests jobs; docs/testing/README.md
run_ecstore_validation_suite.shdev-toolecstore black-box validation suite (quick/full/destructive/fuzz profiles)docs/testing/README.md, docs/testing/ecstore-validation-suite-design.md
run_e2e_tests.shdev-toolLocal e2e_test crate runner (starts a server, applies filters, cleans up)crates/e2e_test/README.md
run.shdev-toolLocal rustfs startup wrappermake e2e-server; Justfile
run.ps1dev-toolWindows counterpart of run.sh
probe.shdev-toolProbe-style e2e runmake probe-e2e
run_scanner_validation_harness.shdev-toolScanner validation harnessdocs/operations/scanner-benchmark-runbook.md
test_scanner_validation_harness.shdev-toolSelf-test for the scanner validation harness
test_build_rustfs_options.shdev-toolShell test for rustfs build-option wiringmake test (script-tests)
test_entrypoint_credentials.shdev-toolContainer entrypoint credential-handling testmake test (script-tests)
test_helm_chart_version.shdev-toolTest for helm_chart_version.sh
windows-sftp-listener-smoke.shdev-toolConfirms rustfs.exe --features sftp binds an SFTP listener on Windows

Benchmark & performance harnesses

EntryStatusPurposeWiring / docs
run_hotpath_warp_ab.shci-gateLinux warp A/B rig for the hotpath seriesperformance-ab.yml (scheduled); docs/operations/hotpath-warp-ab-runbook.md
hotpath_warp_ab_gate.shdev-toolRelative-budget gate evaluated over the warp A/B resultsused by run_hotpath_warp_ab.sh; hotpath runbook
run_internode_grpc_ab_bench.shdev-toolOne-click A/B driver for the internode gRPC optimization stagesdocs/operations/internode-grpc-benchmark-runbook.md
run_internode_transport_baseline.shdev-toolInternode transport baseline runnerinternode runbook; crates/io-metrics/README.md
run_four_node_cluster_failover_bench.shdev-toolFour-node cluster failover benchmarkdocker/compose/README.md; internode runbook
run_object_batch_bench.shdev-toolBatch object benchmark runner (warp/s3bench)internode + scanner runbooks
run_object_batch_bench_enhanced.shdev-toolEnhanced batch benchmark runner; hub used by the smoke rigshotpath runbook
run_pinned_paired_abba_bench.shdev-toolPinned RustFS/MinIO paired ABBA benchmark orchestrator for backlog#1432test_pinned_paired_abba_bench.sh
run_get_codec_streaming_smoke.shdev-toolLocal GET benchmark harness for the codec streaming read pathdocs/testing/ecstore-validation-suite-design.md
run_get_1mib_abba_stage_metrics.shdev-toolExact-1MiB isolated-host GET ABBA/stage-metrics harness for backlog#1434test_get_1mib_abba_stage_metrics.sh
run_gt1g_get_http_matrix.shdev-tool>1 GiB GET HTTP matrixdocs/testing/ecstore-validation-suite-design.md
run_gt1g_multipart_put_matrix.shdev-tool>1 GiB multipart PUT matrixdocs/testing/ecstore-validation-suite-design.md
run_scanner_benchmarks.shdev-tool (disposition pending)Scanner performance benchmark runner. Contains a hardcoded stale path; disposition owned by backlog perf-10 — do not fix, move, or delete it here

Local development & operations

EntryStatusPurposeWiring / docs
dev_clear.shdev-toolLocal dev cleanup. scripts/dev_*.sh is a CI paths-filter glob — keep the namingci.yml/build.yml paths filters
dev_deploy.shdev-toolCopy a built binary to dev serversmake deploy (.config/make/deploy.mak); Justfile
dev_rustfs.shdev-toolLocal dev run loop
dev_rustfs.envdev-tool (data)Env presets for the dev scripts
restart_local_single_node_multidisk_rustfs.shdev-toolRestart a local single-node multi-disk instance
inspect_dashboard.shdev-toolSanity-checks the Grafana dashboard JSON.docker/observability
notify.shdev-toolStarts a local webhook receiver for notify-target development
manual_transition_debug.shdev-toolLog/metrics helper for manual transition troubleshooting
manual_transition_journal_audit.shdev-toolJournal + metrics + log audit for manual transition jobs
manual_transition_mixed_rollout_matrix.shdev-toolMatrix generator for mixed-version rollout phases
manual_transition_mixed_rollout_runbook.shdev-toolReusable mixed-version rollout runbook generator (external run)
manual_transition_mixed_version_docker_harness.shdev-toolDedicated #1508 Docker harness for old/new manual-transition rollout evidence with strict/baseline/blocked result classificationtest_manual_transition_runbooks.sh
monitor_manual_transition_ci.shdev-toolCI workflow/status watcher for manual transition follow-up monitoring
manual_transition_soak_matrix.shdev-toolMatrix generator for nightly stress windows
manual_transition_nightly_stress_runbook.shdev-toolNightly stress entrypoint with failure snapshot templates
install-flatc.shdev-toolLocal flatc installer (macOS)
install-protoc.shdev-toolLocal protoc installer (macOS/Linux)
makefile-header.shdev-toolGenerates the ## —— section —— header lines used in .config/make/*.mak
tls_gen.mddev-tool (doc)Notes on generating local TLS certificates

Subdirectories

EntryStatusPurposeWiring / docs
fuzz/ci-gateUnified cargo-fuzz runner and helpers for the fuzz/ sub-workspacefuzz.yml; fuzz/README.md
s3-tests/ci-gateceph/s3-tests compatibility harness (allow-lists, patches, report tooling)ci.yml; e2e-s3tests.yml; scripts/s3-tests/README.md
security/ci-gateWorkflow-pin enforcement and release supply-chain asset generationaudit.yml; build.yml
table-catalog/dev-toolS3-Tables / pyiceberg validation suitedocs/architecture/s3-tables-support-matrix.md
test/dev-toolManual operational validation runbooks (decommission, tier lifecycle), paired .sh + .md
archive/archivedRetired one-shot scripts (see below)

Archived (scripts/archive/)

Moved 2026-07 (backlog#1153 infra-13) after a whole-tree reference census: each entry had zero references from CI, Makefiles, docs, or code — or was referenced only by other scripts in this same archived set. Reasons:

EntryWas
validate_issue_785_list_objects.shOne-shot issue validation (list-objects series)
validate_issue_786_list_objects.shOne-shot issue validation (list-objects series)
validate_issue_787_list_quorum.shOne-shot issue validation (list-quorum)
validate_issue_841_list_objects_observability.shOne-shot issue validation (list observability)
validate_issue_1365_docker.shOne-shot issue validation (docker repro)
validate_issue_2723_site_replication.shOne-shot issue validation (site replication)
validate_issue_3031_docker.shOne-shot issue validation (docker repro)
run_issue712_deeper_zero_copy_put_with_capture.shOne-shot perf capture for backlog#712
run_issue797_local_4node_16disk_ab.shOne-shot 4-node/16-disk A/B for backlog#797
run_issue_2573_acceptance.shOne-shot acceptance run for issue #2573
run_issue_2941_perf_capture.shOne-shot perf capture for issue #2941
run_put_large_stage_breakdown.shbacklog#706 large-PUT stage breakdown (family)
run_put_large_stage_breakdown_with_capture.shbacklog#706 one-shot wrapper (family)
run_put_large_tuning_matrix.shbacklog#706 tuning matrix (family)
collect_put_large_stage_breakdown_artifacts.shbacklog#706 artifact collector (family)
analyze_put_service_metrics_deltas.pybacklog#706 metrics-delta analyzer (family)
README-stress-test.mdGET-optimization one-shot suite doc
stress-test-get-optimization.shGET-optimization one-shot stress test
quick-validate-get-optimization.shGET-optimization one-shot validation
benchmark-sf-optimization.shGET-optimization one-shot benchmark
prepare_gt1g_get_test_objects.sh>1 GiB GET investigation one-shot fixture prep
run_gt1g_multipart_put_server_path_focus.sh>1 GiB PUT investigation one-shot focus run
run_get_metrics_gate_smoke.shOne-shot GET metrics-gate smoke
run_listobjects_verified_bench.shOne-shot verified list-objects bench
run_object_batch_bench_abc.shOne-shot capacity/object profile A/B/C controller
run_object_data_cache_bench.shOne-shot GET bench for the object-data-cache rollout gate
setup-test-binaries.shOne-shot Docker-build test binary fixture
test.shAncient manual mc bucket smoke scratchpad
test_policy.jsonOrphaned IAM policy fixture (hardcoded test bucket)