Operate and upgrade Écluse
Monitor package serving and background work separately. Keep configuration and advisory requirements aligned during upgrades.
On this page
Monitor outcomes#
| Area | Watch for |
|---|---|
| Package serving | Request failures and policy denials by ecosystem. Distinguish an intentional deny from unavailable evidence. |
| Advisories | Publication age, failed downloads, rejected artifacts, and feed outages. |
| Mirroring | Queue depth, retry activity, retired jobs, and a stalled consume loop. |
| Cleanup | Incomplete 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#
- Read the release notes for configuration, advisory-schema, and queue compatibility changes.
- Verify the release image and pin its digest. Rebuild your derived configuration image.
- Run
check-configwith the deployed settings and inspect every role's warnings. - Prepare any new advisory artifacts before consumers need them.
- Roll out compatible readers and workers in the order required by the release.
- 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.