Example #1
0
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)