#!/usr/bin/env bash # Get all nodes with deployment data NODES="$(colmena eval -E ' {nodes, lib, ...}: with lib; mapAttrs (_: node: with node.config.deployment; "${targetUser}@${targetHost}") nodes ')" # Filter to single node if parameter is set if [[ "$1" != "" ]]; then NODES="$(jq "{ \"$1\" }" <<< "$NODES")" fi # Convert nodes to array of @ mapfile -t NODES < <(jq -r '.[]' <<< "$NODES") for NODE in "${NODES[@]}"; do echo "-- ${NODE} --" ssh "${NODE}" "/run/gather" \ | tar xv --dereference --directory "." \ || true done