Skip to content

v1.22.0: Filter unlabeled container events & debounce optimization

Choose a tag to compare

@hapheus hapheus released this 23 Oct 05:54
· 28 commits to main since this release
49b253c

Features & Performance Improvements

  • Unlabeled Container Filtering: Docker container lifecycle events are now checked for Cloudflare tunnel labels (cf.tunnel.*, cloudflared.*, cftunnel.*, tunnel.*, shorthand aliases). Events from unrelated containers (such as databases, cron jobs, or monitoring agents) are ignored, avoiding unnecessary debounced sync loops and Cloudflare API queries.
  • Connector & Active Service Preservation: Lifecycle events for the cloudflared connector container and previously active services in memory are always processed, ensuring container restarts and deletions cleanly trigger ingress and DNS reconciliation.
  • Removed Premature kill Action: Removed kill from CONTAINER_LIFECYCLE_ACTIONS to avoid premature debounce triggers before container processes have finished their shutdown grace period; process termination (die) and status updates (stop) are used instead.
  • Configurable Override: Introduced FILTER_UNLABELED_EVENTS setting (default: true). Set to false if all container events must trigger synchronization.

Validation

  • Comprehensive unit tests covering label detection, event suppression, connector handling, and tombstone tracking.
  • All 12 CI gates passed (CodeQL, continuous fuzzing, unit & container smoke gates, OSV-Scanner).
  • Independent code review and squash merge completed by MustermenschAlex in #190.