Skip to content

Conversation

@timmilesdw
Copy link
Contributor

@timmilesdw timmilesdw commented Oct 8, 2025

Overview

Major refactoring of the shell-operator filter system: replaced complex interface-based architecture with simplified functional approach, consolidated jq filtering logic, and added comprehensive test coverage.

What this PR does / why we need it

Key Changes:

  • 🔄 Architecture Overhaul: Replaced Filter interface with functional Run() API
  • 📁 Consolidation: Removed pkg/filter/jq/ subdirectory, merged logic into main package
  • 🎯 API Simplification: Single function with clear precedence (custom filter > JQ expression > no filter)
  • ✅ Enhanced Testing: Added 614 lines of comprehensive unit tests
  • 🔧 Integration: Updated 15+ files across codebase for new API

Benefits:

  • Simplified architecture and maintenance
  • Clear filter precedence rules
  • Consolidated codebase
  • 100% backward compatibility maintained
  • All tests pass with no performance regression

Special notes for your reviewer

Internal refactoring only - no breaking changes for external consumers. Major code simplification while preserving all existing functionality.

Signed-off-by: Timur Tuktamyshev <timur.tuktamyshev@flant.com>
Signed-off-by: Timur Tuktamyshev <timur.tuktamyshev@flant.com>
@timmilesdw timmilesdw self-assigned this Oct 8, 2025
@timmilesdw timmilesdw added the enhancement New feature or request label Oct 8, 2025
Signed-off-by: Timur Tuktamyshev <timur.tuktamyshev@flant.com>
Signed-off-by: Timur Tuktamyshev <timur.tuktamyshev@flant.com>
Signed-off-by: Timur Tuktamyshev <timur.tuktamyshev@flant.com>
@timmilesdw timmilesdw marked this pull request as ready for review October 8, 2025 16:30
Signed-off-by: Timur Tuktamyshev <timur.tuktamyshev@flant.com>
Signed-off-by: Timur Tuktamyshev <timur.tuktamyshev@flant.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants