ensure_opensearch_ml: cluster settings, model registration/deployment (all-mpnet-base-v2), ingest + search pipelines for hybrid BM25+neural. inject_opensearch_model_id: reads model_id from ingest pipeline, writes to matrix/opensearch-ml-config ConfigMap. os_api helper: kube exec curl inside opensearch pod.