def add_federation_block(trust_domain, bundle_endpoint, remote): federation_path = "/mnt/c-spiffe/integration_test/resources/federation.conf" federation_config_content = Path(federation_path).read_text() if federation_config_content.find(trust_domain) == -1: federation_config_content = update_federation_block(trust_domain, bundle_endpoint) server_conf_path = "/opt/spire/conf/server/server.conf" copy_file_from_remote(remote, server_conf_path) server_conf = Path(server_conf_path) server_conf_content = server_conf.read_text() start_index = server_conf_content.find("server {") end_index = server_conf_content.find("}", start_index)-1 current_value = server_conf_content[start_index:end_index] new_value = current_value + "\n\n" + federation_config_content + "\n" server_conf_content = server_conf_content.replace(current_value, new_value) server_conf.write_text(server_conf_content) send_file_to_remote(remote, server_conf_path)