Operate and upgrade Écluse

Monitor package serving and background work separately. Keep configuration and advisory requirements aligned during upgrades.

Guide2 min read
On this page

Monitor outcomes#

AreaWatch for
Package servingRequest failures and policy denials by ecosystem. Distinguish an intentional deny from unavailable evidence.
AdvisoriesPublication age, failed downloads, rejected artifacts, and feed outages.
MirroringQueue depth, retry activity, retired jobs, and a stalled consume loop.
CleanupIncomplete per-target results, refused deletions, and a latched deletion-cap halt.

Logs use JSON by default. OpenTelemetry export is opt-in. Use /livez and /readyz for orchestration, with separate freshness and progress alerts.

Prepare an upgrade#

  1. Read the release notes for configuration, advisory-schema, and queue compatibility changes.
  2. Verify the release image and pin its digest. Rebuild your derived configuration image.
  3. Run check-config with the deployed settings and inspect every role's warnings.
  4. Prepare any new advisory artifacts before consumers need them.
  5. Roll out compatible readers and workers in the order required by the release.
  6. Repeat the deployment checks.

Two compatibility changes to check#

Advisory schema 5 uses ecosystem-specific keys such as npm-osv-schema5.db. Consumers do not migrate or alias schema 4 files.

Queue schema 2 removes source URLs from jobs. Deploy compatible workers first and stop old workers before new producers enqueue schema 2 jobs.

A rollback must account for queued messages and advisory data, as well as the container image.

Operational references#

Memory and runtime sizingBudgets, admission controls, capacity, and detailed arithmetic. Advisory publication recoveryPublication guards, rebaselining, and restoring artifacts. Mirror retries and poison jobsVisibility renewal, redelivery, and retired work. Remove blocked packagesPreview, consent, deletion, and verification.

Search documentation