Skip to content

task: Provider Config #279

@FWuermse

Description

@FWuermse

Context

Providers need control over how their resource fields are indexed by the search operator. Currently all fields are auto-classified by heuristic.

Feature

A SearchConfig resource (one per APIResourceSchema) lives in the provider workspace and declares:

  • excludedFields: not indexed
  • semanticFields: vector/semantic search
  • filterFields: keyword filtering

Unlisted fields default to full-text search. No SearchConfig = current heuristic behavior (backwards compatible).

Acceptance Criteria

  • SearchConfig type exists in search.platform-mesh.io/v1alpha1 (cluster-scoped)
  • One SearchConfig per APIResourceSchema, named identically, stored in provider workspace
  • search-operator reads SearchConfig from provider workspace when creating/updating SearchIndex
  • Falls back to default when no SearchConfig exists
  • excludedFields are removed from default index field lists
  • semanticFields map to SearchIndex.spec.semanticFields
  • exactFields map to SearchIndex.spec.filterableFields
  • SearchConfig changes trigger SearchIndex reconciliation (for each org that binds the workspace)
  • status.conditions[SchemaValid] warns when referenced fields don't exist in schema
  • searchconfigs added to search APIExport permission claims
  • Document changes in new ADR

Open Questions

  • Re-indexing strategy when config changes (eventual consistency vs full re-index?)
  • Validation: reject invalid field refs or just warn via condition?

No response

Completion Checklist

  • Code implemented and tested
  • Documentation updated
  • Changes reviewed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions