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
    No fields configured for issues without a type.

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions