**Describe the issue**
We should be able to reload TLS certificates without restarting clickhouse. (will send WIP PR shortly)

relates to #14106
String ddl_zookeeper_path = config().getString("distributed_ddl.path", "/clickhouse/task_queue/ddl/");
            int pool_size = config().getInt("distributed_ddl.pool_size", 1);
            if (pool_size < 1)
                throw Exception("distributed_ddl.pool_size should be greater then 0", ErrorCodes::ARGUMENT_OUT_OF_BOUND);
            global_context->setDDLWorker(std::make_unique<DDLWorker>(pool_size, ddl_zookeeper_path, global_context, &config(),
                                                                     "distributed_ddl", "DDLWorker",
                                                                     &CurrentMetrics::MaxDDLEntryID, &CurrentMetrics::MaxPushedDDLEntryID));
        }
        for (auto & server : *servers)
            server.start();
        LOG_INFO(log, "Ready for connections.");
        SCOPE_EXIT_SAFE({
            LOG_DEBUG(log, "Received termination signal.");
            LOG_DEBUG(log, "Waiting for current connections to close.");
            is_cancelled = true;
            int current_connections = 0;
            for (auto & server : *servers)
            {
                server.stop();
                current_connections += server.currentConnections();
            }
            if (current_connections)
                LOG_INFO(log, "Closed all listening sockets. Waiting for {} outstanding connections.", current_connections);
            else
                LOG_INFO(log, "Closed all listening sockets.");
            
            if (!config().getBool("shutdown_wait_unfinished_queries", false))
                global_context->getProcessList().killAllQueries();
            if (current_connections)
                current_connections = waitServersToFinish(*servers, config().getInt("shutdown_wait_unfinished", 5));