From c5b8e0d368939a790c2fbb09e553394eef94a705 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 20 May 2015 22:16:48 +0200 Subject: networking-configuration -> lib/cacnixos.sh --- infest | 3 ++- lib/cacnixos.sh | 28 ++++++++++++++++++++++++ networking-configuration | 57 ------------------------------------------------ 3 files changed, 30 insertions(+), 58 deletions(-) create mode 100644 lib/cacnixos.sh delete mode 100755 networking-configuration diff --git a/infest b/infest index dc5e5407..2c02b13c 100755 --- a/infest +++ b/infest @@ -3,6 +3,7 @@ set -xeuf . ./lib/prelude.sh . ./lib/cac.sh +. ./lib/cacnixos.sh nix_url=https://nixos.org/releases/nix/nix-1.8/nix-1.8-x86_64-linux.tar.bz2 nix_sha256=52fab207b4ce4d098a12d85357d0353e972c492bab0aa9e08e1600363e76fefb @@ -54,7 +55,7 @@ infest_centos7_64bit() { main="modules/$hostname/default.nix" target="root@$address" - ./networking-configuration $cac_servername $hostname \ + cacnixos_networking "$server" $hostname \ > modules/$hostname/networking.nix echo '( diff --git a/lib/cacnixos.sh b/lib/cacnixos.sh new file mode 100644 index 00000000..24502d69 --- /dev/null +++ b/lib/cacnixos.sh @@ -0,0 +1,28 @@ +. ./lib/net.sh + +# cacnixos_networking : cac-server x hostname -> nixos-module +cacnixos_networking() {( + server=$1 + hostname=$2 + + address=$(echo $server | jq -r .ip) + gateway=$(echo $server | jq -r .gateway) + nameserver=8.8.8.8 + netmask=$(echo $server | jq -r .netmask) + prefix=$(net_netmask_to_prefix $netmask) + + printf '{...}:\n' + printf '{\n' + printf ' networking.hostName = "%s";\n' $hostname + printf ' networking.interfaces.enp2s1.ip4 = [\n' + printf ' {\n' + printf ' address = "%s";\n' $address + printf ' prefixLength = %d;\n' $prefix + printf ' }\n' + printf ' ];\n' + printf ' networking.defaultGateway = "%s";\n' $gateway + printf ' networking.nameservers = [\n' + printf ' "%s"\n' $nameserver + printf ' ];\n' + printf '}\n' +)} diff --git a/networking-configuration b/networking-configuration deleted file mode 100755 index 0e105b45..00000000 --- a/networking-configuration +++ /dev/null @@ -1,57 +0,0 @@ -#! /bin/sh -# -# usage: with cac ./networking-configuration c838-828 cd -# -set -euf - -. ./lib/cac.sh -. ./lib/net.sh - -cac_servername=$1 -hostname=$2 - -# This is somewhat required because cloudatcost requires whitelisting -# of hosts. If you whitelist your localhost, then leave this empty. -# cac_via= -# -# cac_key= -# cac_login= -# cac_servername= - -# hostname= - -main() {( - server=$(cac_getserver_by_servername "$cac_servername") - print_networking_configuraton "$server" -)} - - -print_networking_configuraton() { - server=$1 - address=$(echo $server | jq -r .ip) - gateway=$(echo $server | jq -r .gateway) - nameserver=8.8.8.8 - netmask=$(echo $server | jq -r .netmask) - prefix=$(net_netmask_to_prefix $netmask) - - # TODO generate all config and put it into a temp dir, then rsync that - # - # upload configuration (to /root) - # - printf '{...}:\n' - printf '{\n' - printf ' networking.hostName = "%s";\n' $hostname - printf ' networking.interfaces.enp2s1.ip4 = [\n' - printf ' {\n' - printf ' address = "%s";\n' $address - printf ' prefixLength = %d;\n' $prefix - printf ' }\n' - printf ' ];\n' - printf ' networking.defaultGateway = "%s";\n' $gateway - printf ' networking.nameservers = [\n' - printf ' "%s"\n' $nameserver - printf ' ];\n' - printf '}\n' -} - -main "$@" -- cgit v1.2.3