mirror of
https://github.com/status-im/infra-nimbus.git
synced 2025-02-23 10:58:06 +00:00
`make ssh-config` will generate a file ~/.ssh/config.d/infra-numbus with all hostnames from the Ansible inventory. You can `Include` this file from your main config file and re-generate it at will at any time. Having such a config file makes it easier to ssh into any host on the fleet by taking advantage of the built-in ssh hostname autocompletion in your shell. The names of the entries were chosen in a way such that typing ssh nimbus<tab>goerli<tab> ... produces the expected result.
33 lines
746 B
Bash
Executable File
33 lines
746 B
Bash
Executable File
#!/bin/usr/env bash
|
|
|
|
set -e
|
|
cd $(dirname "$0")
|
|
|
|
if [[ "${SSH_CONFIG_DIR}" == "" ]]; then
|
|
echo Please specify the SSH_CONFIG_DIR environment variable
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "${SSH_CONFIG_FILE}" == "" ]]; then
|
|
echo Please specify the SSH_CONFIG_FILE environment variable
|
|
exit 1
|
|
fi
|
|
|
|
INFRA_NIMBUS_SSH_CONFIG="${SSH_CONFIG_DIR}/${SSH_CONFIG_FILE}"
|
|
: ${SSH_USERNAME:=$(whoami)}
|
|
|
|
mkdir -p "${SSH_CONFIG_DIR}" && chmod 700 "${SSH_CONFIG_DIR}"
|
|
rm -f "${INFRA_NIMBUS_SSH_CONFIG}"
|
|
|
|
for host in $(ansible all -i ../ansible/inventory/test --list-hosts | grep -v 'hosts')
|
|
do
|
|
cat << EOF >> "${INFRA_NIMBUS_SSH_CONFIG}"
|
|
Host nimbus-$host
|
|
Hostname $host.statusim.net
|
|
User ${SSH_USERNAME}
|
|
|
|
EOF
|
|
done
|
|
|
|
echo "Successfully written '${INFRA_NIMBUS_SSH_CONFIG}'"
|