#!/bin/bash

# File: gen-ssh-keyscan
#
# Description: This file generates a known_host block for the inventory.
#
# Package: AniNIX/HelloWorld
# Copyright: WTFPL
#
# Author: DarkFeather <ircs://aninix.net:6697/DarkFeather>

inventory="$1"

replicadomain="$(grep replica_domain:\  "$inventory" | awk '{ print $2; }';)"

for short in `ansible -i "$inventory" --list-hosts managed | grep -v hosts | sed 's/^\s\+//'`; do
    long="$short"'.'"$replicadomain"
    ip="$(dig "$long" +short)"
    ssh-keyscan -t ed25519 -f <(echo "$long" "$long","$short","$ip") 2>&1
    ssh-keyscan -t rsa -f <(echo "$long" "$long","$short","$ip") 2>/dev/null
done
