feat(cli): remove legacy provider graph validation by abhimanyubabbar · Pull Request #490 · rudderlabs/rudder-iac

Ticket

Resolves: DEX-294


Summary

Removes the unused provider graph-validation path (Validator / Validate(*Graph)), the datacatalog validate/ package, handler-level graph validation (Validate / ValidateResource), and dead project.ValidateSpec. Project validation continues to run through the validation engine and RuleProvider rules. Load-time checks that were only in the old path are folded into LoadSpec / ValidateSpec / ExtractResourcesFromSpec where appropriate.


Changes

  • Remove Validator from Provider, CompositeProvider.Validate, and ProjectProvider embedding
  • Remove Handler.Validate, BaseProvider.Validate, BaseHandler.Validate, and HandlerImpl.ValidateResource plus implementations
  • Delete cli/internal/providers/datacatalog/validate/ and strip Validate from datacatalog provider
  • Remove event-stream and RETL Validate paths; run ValidateSQLModelResource during SQL model LoadSpec
  • Delete project.ValidateSpec and TestProject_ValidateSpec
  • Update validate command comment; trim mock provider; adjust tests
  • Set RUDDERSTACK_ACCESS_TOKEN in cli/pkg/exp/project test so NewDeps succeeds in CI without a real login

Testing

  • make lint — pass
  • make test — pass
  • make test-e2e — requires a valid RUDDERSTACK_ACCESS_TOKEN for apply/destroy against APIs; run in CI or locally with credentials

Risk / Impact

Medium — Public provider interface no longer includes graph Validate; external implementers must rely on rules and load-time validation only.


Checklist

  • Ticket Linked
  • Tests added/updated
  • Breaking API change documented in summary