9
2
Fork
You've already forked platform
2

feat: add opt-in Sentry reporting #381

Open
caution-bot wants to merge 1 commit from feat/issue-377-minimal-sentry into main
pull from: feat/issue-377-minimal-sentry
merge into: caution:main
caution:main
caution:feat/webauthn-discoverable-login
caution:feat/paddle-byoc-subscriptions
caution:anton/feat/multi-user
caution:fix/issue-191-attestation-endpoint-copy
caution:feat/legal-publish-doc
caution:fix/issue-119-logout-confirmation
caution:fix/paddle-customdata-credit-mint
caution:fix/issue-116-duplicate-ssh-key
caution:fix/issue-265-http-port-private
caution:fix/issue-330-remove-build-binary
caution:fix/issue-307-remove-apps
caution:feat/issue-164-account-id
caution:feat/add-tofu-lockfile-cache
caution:docs/issue-339-install-instructions
caution:fix/issue-336-split-qr-login-tokens
caution:fix/verify-app-source-preflight
caution:fix/many-git-push-deploy
caution:fix/issue-334-email-verification-throttle
caution:fix/issue-273-billing-url
caution:fix/issue-333-final-usage-collection
caution:fix/issue-270-low-credit-email
caution:fix/issue-301-remove-auto-topup
caution:fix/issue-320-byoc-auth-first
caution:fix/issue-348-git-progress-checklist
caution:fix/issue-321-byoc-caution-hcl
caution:fix/issue-332-resource-id-suspension
caution:fix/eif-app-mode-normalization
caution:feat/cli-stagex-container
caution:fix/eif-s3-layer-cache
caution:fix/authz-role-checks
caution:fix/cli-hangs-unsupported-ssh-url
caution:feat/print-platform-commit-dashboard
caution:fix/config-domain-validation
caution:anton/support-ssh-destroy-get
caution:fix/cli-config-dir
caution:feat/publish-build-inputs
caution:feat/locksmith-polishing
caution:fix/procfile-run-command-no-split
caution:anton/byoc-require-login
caution:fix/hcl-init-template
caution:feat/egress-default-deny
caution:ryansquared/hcl
caution:quotas
caution:anton/feat/region-routing-resource-unavailable-alert
caution:fix/attestation-502-dashboard
caution:ryansquared/systemdize
caution:fix/verify-git-credential-hang
caution:anton/fix-low-credits-alert
caution:xenushka/rename-byoc
caution:ryansquared/add-download-eif
caution:add-debug-flag
caution:test/pr1-integration-harness
caution:anton/fix/only-pass-required-env-vars
caution:ryansquared/add-database-bucket

Summary

  • Add a small caution-observability crate that initializes backend Sentry only when SENTRY_DSN is set.
  • Wire opt-in backend Sentry initialization into api, gateway, metering, and email-service while keeping existing stdout tracing intact.
  • Add conservative backend and frontend scrubbers that drop request/user context and redact sensitive-looking fields/values before events leave the process.
  • Add opt-in Vue Sentry initialization behind VITE_SENTRY_DSN, with PII disabled and tracing/session replay disabled.
  • Thread optional frontend Sentry build args through the frontend/gateway container build paths and document optional env vars.

Security / scope notes

  • Sentry remains disabled by default when DSNs are unset.
  • This first pass intentionally does not enable Session Replay, performance tracing, profiling, source-map upload, request/response body capture, or broad request context capture.
  • Backend panic capture is enabled through the Sentry panic integration. Broad tracing::error! event forwarding is intentionally deferred so existing logs can be audited before sending them to a third-party service.

Test plan

  • cargo test -p caution-observability
  • cargo check -p caution-observability -p api -p gateway -p metering -p email-service
  • node --check frontend/src/main.js
  • git diff --check
  • Attempted cd frontend && npm install --ignore-scripts --no-audit && npm run build; install completed with existing EBADENGINE warnings, but build is blocked locally because Node is v18.20.4 and Vite requires Node 20.19+ or 22.12+ (ReferenceError: CustomEvent is not defined). Removed frontend/node_modules afterward.

Refs #377

## Summary - Add a small `caution-observability` crate that initializes backend Sentry only when `SENTRY_DSN` is set. - Wire opt-in backend Sentry initialization into api, gateway, metering, and email-service while keeping existing stdout tracing intact. - Add conservative backend and frontend scrubbers that drop request/user context and redact sensitive-looking fields/values before events leave the process. - Add opt-in Vue Sentry initialization behind `VITE_SENTRY_DSN`, with PII disabled and tracing/session replay disabled. - Thread optional frontend Sentry build args through the frontend/gateway container build paths and document optional env vars. ## Security / scope notes - Sentry remains disabled by default when DSNs are unset. - This first pass intentionally does not enable Session Replay, performance tracing, profiling, source-map upload, request/response body capture, or broad request context capture. - Backend panic capture is enabled through the Sentry panic integration. Broad `tracing::error!` event forwarding is intentionally deferred so existing logs can be audited before sending them to a third-party service. ## Test plan - `cargo test -p caution-observability` - `cargo check -p caution-observability -p api -p gateway -p metering -p email-service` - `node --check frontend/src/main.js` - `git diff --check` - Attempted `cd frontend && npm install --ignore-scripts --no-audit && npm run build`; install completed with existing EBADENGINE warnings, but build is blocked locally because Node is `v18.20.4` and Vite requires Node `20.19+` or `22.12+` (`ReferenceError: CustomEvent is not defined`). Removed `frontend/node_modules` afterward. Refs #377
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/issue-377-minimal-sentry:feat/issue-377-minimal-sentry
git switch feat/issue-377-minimal-sentry

Merge

Merge the changes and update on Forgejo.
git switch main
git merge --no-ff feat/issue-377-minimal-sentry
git switch feat/issue-377-minimal-sentry
git rebase main
git switch main
git merge --ff-only feat/issue-377-minimal-sentry
git switch feat/issue-377-minimal-sentry
git rebase main
git switch main
git merge --no-ff feat/issue-377-minimal-sentry
git switch main
git merge --squash feat/issue-377-minimal-sentry
git switch main
git merge --ff-only feat/issue-377-minimal-sentry
git switch main
git merge feat/issue-377-minimal-sentry
git push origin main
Sign in to join this conversation.
No reviewers
Labels
Clear labels
Compat/Breaking
Breaking change that won't be backward compatible
Component/Enclave-Builder
This issue affects Enclave Builder (git-push and CLI)
Component/Infrastructure
This issue affects generic Caution hosted infra components
Deploy/BYOC
Relates to Caution Bring-your-own-compute
Deploy/Full-managed
Relates to Caution fully managed cloud
Deploy/Self-hosted
Relates to Caution deployed on self-hosted infra
Interface/API
This issue affects the API
Interface/CLI
This issue affects the command line interface
Interface/Git
This issue affects the Git `push` interface
Interface/Web
This issue affects the web dashboard
Kind/Bug
Something is not working
Kind/Documentation
Documentation changes
Kind/Enhancement
Improve existing functionality
Kind/Feature
New functionality
Kind/Security
This is security issue
Kind/Testing
Issue or pull request related to testing
Priority
Critical
The priority is critical
Priority
High
The priority is high
Priority
Low
The priority is low
Priority
Medium
The priority is medium
Reviewed
Confirmed
Issue has been confirmed
Reviewed
Duplicate
This issue or pull request already exists
Reviewed
Invalid
Invalid issue
Reviewed
Won't Fix
This issue won't be fixed
Status
Abandoned
Somebody has started to work on this but abandoned work
Status
Blocked
Something is blocking this issue or pull request
Status
Need More Info
Feedback is required to reproduce issue or to continue work
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
caution/platform!381
Reference in a new issue
caution/platform
No description provided.
Delete branch "feat/issue-377-minimal-sentry"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?