/* * Copyright (C) 2025-present ScyllaDB */ /* * SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 */ #pragma once #include "utils/updateable_value.hh" #include "utils/log.hh" #include #include #include #include #include #include namespace vector_search { /// Manages the TLS truststore for secure (HTTPS) connections to the vector store service. class truststore { public: using options_type = utils::updateable_value>; using invoke_on_others_type = std::function(std::function(truststore&)>)>; explicit truststore(logging::logger& logger, options_type options, invoke_on_others_type invoke_on_others); seastar::future> get(); seastar::future<> stop(); private: seastar::future create_builder() const; logging::logger& _logger; options_type _options; seastar::shared_ptr _credentials; invoke_on_others_type _invoke_on_others; seastar::gate _gate; }; } // namespace vector_search