Skip to content

fix(gocd): audit snuba-rs material allowlist - #8478

Closed
sentry-junior[bot] wants to merge 6 commits into
masterfrom
refactor/snuba-rs-material-ignore
Closed

sentry-junior[bot] wants to merge 6 commits into
masterfrom
refactor/snuba-rs-material-ignore

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Audit the snuba-rs GoCD material filter and retain an includes allowlist. GoCD represents allowlisting by inverting a single material filter, so includes and ignore cannot be combined.

Add missing Rust runtime/deployment inputs to both GoCD templates:

  • .dockerignore
  • docker_entrypoint.py
  • gocd/templates/bash/**/*, containing the scripts embedded in GoCD pipeline tasks
  • snuba/consumers/consumer_config.py, which resolves configuration passed from Python into Rust

The existing Rust sources, dataset configuration, settings, CLI, Dockerfile, and sentry-options schema paths remain included.

Options considered but not chosen

  • ignore: ['snuba/**/*.py']: rejected because it triggers the Rust deploy for many paths the old allowlist intentionally excluded.
  • Ignore all of snuba/** with ! exceptions: unsupported; GoCD material filters do not support gitignore-style negation.
  • Explicitly blacklist every current snuba/ subtree except the shared Rust paths: rejected because it is brittle and silently changes behavior when new directories appear.
  • Combine includes and ignore: unsupported; GoCD has one filter list plus an inversion flag.
  • Add pyproject.toml and uv.lock: considered during the audit, then intentionally omitted.
  • Add scripts/rust-dummy-build.sh: considered because the Dockerfile copies it, then intentionally omitted.

GoCD references

Validation

  • git diff --check
  • verified the GoCD script path is present in both allowlists
  • verified pyproject.toml, uv.lock, and scripts/rust-dummy-build.sh are absent from both allowlists

Full Jsonnet rendering was not run locally because jb, jsonnetfmt, jsonnet-lint, jsonnet, and yq are unavailable; CI validates the rendered pipelines.

via Prajjwal Bhandari.

--

View Junior Session [Sentry]

sentry-junior Bot and others added 3 commits September 16, 2026 12:00
Co-Authored-By: Prajjwal Bhandari <prajjwal.bhandari@sentry.io>
Co-Authored-By: Prajjwal Bhandari <prajjwal.bhandari@sentry.io>
Co-Authored-By: Prajjwal Bhandari <prajjwal.bhandari@sentry.io>
@sentry-junior sentry-junior Bot changed the title ref(gocd): Replace Rust material allowlist fix(gocd): audit snuba-rs material allowlist Sep 16, 2026
sentry-junior Bot and others added 3 commits September 16, 2026 13:43
Co-Authored-By: Prajjwal Bhandari <prajjwal.bhandari@sentry.io>
Co-Authored-By: Prajjwal Bhandari <prajjwal.bhandari@sentry.io>
Co-Authored-By: Prajjwal Bhandari <prajjwal.bhandari@sentry.io>
@pbhandari

Copy link
Copy Markdown
Contributor

we're opting for a different approach. Closing tihs.

@pbhandari pbhandari closed this Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant