From e59d96d6dd42f74fa206ba950b04ec6c8311fa1f Mon Sep 17 00:00:00 2001 From: Daniel Frank Date: Mon, 1 Oct 2018 21:37:30 +0200 Subject: [PATCH] Umbau auf Multi-Domain firmware --- Makefile | 31 -------- build.conf | 3 + build.sh | 88 +++++++--------------- config/defaults.erb | 51 ------------- config/ffhh-nowe.erb | 39 ---------- config/ffhh-ost.erb | 39 ---------- config/ffhh-sued.erb | 39 ---------- config/ffhh-west.erb | 39 ---------- domains/ffhh_nowe.conf | 72 ++++++++++++++++++ domains/ffhh_ost.conf | 72 ++++++++++++++++++ domains/ffhh_sued.conf | 72 ++++++++++++++++++ domains/ffhh_west.conf | 72 ++++++++++++++++++ template/modules.erb => modules | 0 site.conf | 105 ++++++++++++++++++++++++++ template/site.mk.erb => site.mk | 12 +-- template/info.erb | 3 - template/site.conf.erb | 128 -------------------------------- 17 files changed, 428 insertions(+), 437 deletions(-) delete mode 100644 Makefile create mode 100644 build.conf delete mode 100644 config/defaults.erb delete mode 100644 config/ffhh-nowe.erb delete mode 100644 config/ffhh-ost.erb delete mode 100644 config/ffhh-sued.erb delete mode 100644 config/ffhh-west.erb create mode 100644 domains/ffhh_nowe.conf create mode 100644 domains/ffhh_ost.conf create mode 100644 domains/ffhh_sued.conf create mode 100644 domains/ffhh_west.conf rename template/modules.erb => modules (100%) create mode 100644 site.conf rename template/site.mk.erb => site.mk (83%) delete mode 100644 template/info.erb delete mode 100644 template/site.conf.erb diff --git a/Makefile b/Makefile deleted file mode 100644 index 08c41b8..0000000 --- a/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -sites: clean info sites/ffhh-nowe sites/ffhh-ost sites/ffhh-sued sites/ffhh-west - -info: config/defaults.erb template/info.erb - erb -T- config/defaults.erb template/$@.erb >$@ - -.PHONY: clean -clean: - rm -rf sites - rm -f info - -sites/%: config/%.erb - mkdir -p $@ - cd $@ && $(MAKE) -f ../../Makefile site SITE=$(@F) - -site: siteclean site.mk site.conf modules i18n - -.PHONY: siteclean -siteclean: - rm -f site.mk site.conf modules - -modules: - erb -T- ../../config/defaults.erb ../../config/$(SITE).erb ../../template/$@.erb >$@ - -site.conf: - erb -T- ../../config/defaults.erb ../../config/$(SITE).erb ../../template/$@.erb >$@ - -site.mk: - erb -T- ../../config/defaults.erb ../../config/$(SITE).erb ../../template/$@.erb >$@ - -i18n: - ln -s ../../i18n diff --git a/build.conf b/build.conf new file mode 100644 index 0000000..84afa92 --- /dev/null +++ b/build.conf @@ -0,0 +1,3 @@ +GLUON_RELEASE="master~201810011" +GLUON_BRANCH="experimental" +targets="ar71xx-generic ar71xx-nand ar71xx-tiny brcm2708-bcm2708 brcm2708-bcm2709 ipq40xx ipq806x mpc85xx-generic ramips-mt7620 ramips-mt7621 ramips-mt76x8 ramips-rt305x sunxi-cortexa7 x86-64 x86-generic x86-geode" diff --git a/build.sh b/build.sh index 56da0ec..5a4bbe6 100755 --- a/build.sh +++ b/build.sh @@ -7,13 +7,10 @@ function announce () { function usage () { echo "Usage: $0 -g GLUON_PATH" >&2 echo " -g GLUON_PATH Path to a checkout of the gluon repository." >&2 - echo " -l SITES Comma separated list of sites to build" >&2 echo " -t TARGETS Comma separated list of gluon targets to build" >&2 echo " -o OUT_PATH Path to the firmware output directory. Default: ${gluon_out}" >&2 echo " -s SIGNATURE Sign firmware with signature" >&2 - echo " -u UPLOADSCRIPT Run UPLOADSCRIPT after building. Will be run with one argument: $gluon_out/" >&2 echo " -b BROKEN=1" >&2 - echo " -m Do not regenerate the sites" >&2 echo " -v verbose" >&2 echo " -j JOBS Run build with -jJOBS. Default: ${proc}" >&2 } @@ -27,10 +24,6 @@ while [ $# -gt 0 ]; do gluon_path="$2" shift ;; - -l) - sites="$2" - shift - ;; -t) build_targets="$2" shift @@ -43,16 +36,9 @@ while [ $# -gt 0 ]; do signature="$2" shift ;; - -u) - uploadscript="$2" - shift - ;; -b) export BROKEN=1 ;; - -m) - dont_make_sites=1 - ;; -j) proc="$2" shift @@ -61,6 +47,7 @@ while [ $# -gt 0 ]; do verbose=V=s ;; *) + echo ERROR: Failed to parse: "${1}" >&2 usage exit 1 ;; @@ -81,61 +68,42 @@ announce GLUON: $gluon_path >&2 announce FFHH SITE PATH: $site_path >&2 pushd $site_path -if [ "$dont_make_sites" == "" ]; then - # Build the site repo and generate all site configs - announce Building site repo and reading data >&2 - make -fi -. ./info +. ./build.conf export GLUON_RELEASE export GLUON_BRANCH # if a list of build targets has been supplied, only build those targets="$(echo "${build_targets:-$targets}" | sed -e 's_,_ _g')" -# get the available sites... -sites="$(echo "$sites" | sed -e 's_,_ _g')" -if [ "$sites" == "" ]; then - for s in sites/*; do sites="${sites} ${s##*/}"; done -fi -announce Gluon will be built for the following sites:$sites >&2 announce The following targets will be generated: $targets >&2 popd pushd "${gluon_path}" announce Starting make update... -for s in $sites; do - export GLUON_SITEDIR="${site_path}/sites/${s}" - export GLUON_OUTPUTDIR="${gluon_out}/${GLUON_RELEASE}/${GLUON_BRANCH}/${s}" - rm -rf "${GLUON_OUTPUTDIR}" - mkdir -p "${GLUON_OUTPUTDIR}" - make update - # Try to install patches. I wasn't able to figure out how patches in gluon/site/patches work. - for p in ${site_path}/patches/*.patch; do - if [ -e "$p" -a ! -f "${gluon_path}/${p##*/}" ]; then - announce Installing patch $p - patch -p1 < $p - touch "${gluon_path}/${p##*/}" - fi - done - for t in $targets; do - announce make clean for $s/$t... >&2 - make -j1 clean GLUON_TARGET=$t - announce Starting build for $s/$t... >&2 - make -j$(nproc) GLUON_TARGET=$t $verbose - done - announce Building manifest... - make manifest - if [ -n "${signature}" ]; then - if [ "$GLUON_BRANCH" == "experimental" ]; then - announce Signing - "${gluon_path}/contrib/sign.sh" "${signature}" "${GLUON_OUTPUTDIR}/images/sysupgrade/experimental.manifest" - else - echo ERROR: can only sign experimental branch >&2 - exit 1 - fi +export GLUON_SITEDIR="${site_path}" +export GLUON_OUTPUTDIR="${gluon_out}/${GLUON_RELEASE}/${GLUON_BRANCH}" +rm -rf "${GLUON_OUTPUTDIR}" +mkdir -p "${GLUON_OUTPUTDIR}" +make update +# Try to install patches. I wasn't able to figure out how patches in gluon/site/patches work. +for p in ${site_path}/patches/*.patch; do + if [ -e "$p" -a ! -f "${gluon_path}/${p##*/}" ]; then + announce Installing patch $p + patch -p1 < $p + touch "${gluon_path}/${p##*/}" fi done -popd -if [ -n "$uploadscript" ]; then - announce Starting upload. Executing: $uploadscript $gluon_out/$GLUON_RELEASE - "$uploadscript" "$gluon_out/$GLUON_RELEASE" +for t in $targets; do + announce Starting build for $t... >&2 + make -j$(nproc) GLUON_TARGET=$t $verbose +done +announce Building manifest... +make manifest +if [ -n "${signature}" ]; then + if [ "$GLUON_BRANCH" == "experimental" ]; then + announce Signing... + "${gluon_path}/contrib/sign.sh" "${signature}" "${GLUON_OUTPUTDIR}/images/sysupgrade/experimental.manifest" + else + echo ERROR: can only sign experimental branch >&2 + exit 1 + fi fi +popd diff --git a/config/defaults.erb b/config/defaults.erb deleted file mode 100644 index 9d3236a..0000000 --- a/config/defaults.erb +++ /dev/null @@ -1,51 +0,0 @@ -<% -gluon_branch = "stable" -#gluon_branch = "experimental" -gluon_release = "v2018.1.1.0" - -# Add the +exp and current date if this is an experimental release -gluon_release += "~exp" + Time.new.strftime("%Y%m%d") if gluon_branch == "experimental" - -gluon_targets = %w( - ar71xx-generic - ar71xx-nand - ar71xx-tiny - brcm2708-bcm2708 - brcm2708-bcm2709 - ipq40xx - ipq806x - mpc85xx-generic - ramips-mt7620 - ramips-mt7621 - ramips-mt76x8 - ramips-rt305x - sunxi-cortexa7 - x86-64 - x86-generic - x86-geode -) - -# Add more targets if broken images are included... -if ENV["BROKEN"] - gluon_targets += %w( - ar71xx-mikrotik - brcm2708-bcm2710 - mvebu-cortexa9 - ) -end -gluon_targets.sort!.uniq! - -signing_keys = [ - 'ef73bc52b929fd11efce9a5c8f0b5463f1766bb995c8a0b3b6bcd7ba45b8b1e6', # leo - '3f0fc50d4e5c893f9f58f98874bd21080b93c28ff5e4d4946352cada1b4e6441', # andre - '1d37eacbd70f72730b1f5aba246a6a8eab100e2d45dda0163d9ad827f70f88d4', # gernot - 'bd5a70d4c3df30eaa860d615c0e0526b0dda5bc60c09c20972bce4ffa7512659', # bjoern - 'd9992853c0fe1a2e983cc222b6bd26e70d4fb2a53862ac099144e9e8142238d0', # daniel - '961495a04512e5ba1843fd3c216d8af6ef2fdb19f93055142803e2da26d670b9', # alexander - 'ed6278f168f0382adf4f058cb9c31d8f1145abb968a8626045de7d6d87a0be40', # olli -] -signing_keys_experimental = [ - '1a0112fe489860068480c611c5dc56196c2f1a645db651ea2ed19ae0f0e8e1d1', # 1.builder -] - --%> diff --git a/config/ffhh-nowe.erb b/config/ffhh-nowe.erb deleted file mode 100644 index 39f6aec..0000000 --- a/config/ffhh-nowe.erb +++ /dev/null @@ -1,39 +0,0 @@ -<% -site_name = 'Freifunk Hamburg Nordwest' -site_code = 'ffhh-nowe' - -prefix4 = '10.112.192.0/19' -prefix6 = '2a03:2267:3::/64' - -next_node_ipv4 = '10.112.192.1' -next_node_ipv6 = '2a03:2267:3::1' - -mtu = 1312 - -gateways = { - "gateway01" => { - "key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b", - "remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10007' ] - }, - "gateway02" => { - "key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0", - "remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10007' ] - }, - "gateway03" => { - "key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546", - "remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10007' ] - }, - "gateway04" => { - "key" => "a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669", - "remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10008' ] - }, - "gateway05" => { - "key" => "291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f", - "remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10008' ] - }, - "gateway06" => { - "key" => "8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43", - "remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10008' ] - }, -} --%> diff --git a/config/ffhh-ost.erb b/config/ffhh-ost.erb deleted file mode 100644 index 8539b32..0000000 --- a/config/ffhh-ost.erb +++ /dev/null @@ -1,39 +0,0 @@ -<% -site_name = 'Freifunk Hamburg Ost' -site_code = 'ffhh-ost' - -prefix4 = '10.112.224.0/19' -prefix6 = '2a03:2267:4::/64' - -next_node_ipv4 = '10.112.224.1' -next_node_ipv6 = '2a03:2267:4::1' - -mtu = 1312 - -gateways = { - "gateway01" => { - "key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b", - "remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10009' ] - }, - "gateway02" => { - "key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0", - "remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10009' ] - }, - "gateway03" => { - "key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546", - "remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10009' ] - }, - "gateway04" => { - "key" => "a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669", - "remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10010' ] - }, - "gateway05" => { - "key" => "291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f", - "remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10010' ] - }, - "gateway06" => { - "key" => "8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43", - "remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10010' ] - }, -} --%> diff --git a/config/ffhh-sued.erb b/config/ffhh-sued.erb deleted file mode 100644 index 2f76b16..0000000 --- a/config/ffhh-sued.erb +++ /dev/null @@ -1,39 +0,0 @@ -<% -site_name = 'Freifunk Hamburg Sued' -site_code = 'ffhh-sued' - -prefix4 = '10.112.64.0/19' -prefix6 = '2a03:2267:1::/64' - -next_node_ipv4 = '10.112.64.1' -next_node_ipv6 = '2a03:2267:1::1' - -mtu = 1312 - -gateways = { - "gateway01" => { - "key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b", - "remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10003' ] - }, - "gateway02" => { - "key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0", - "remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10003' ] - }, - "gateway03" => { - "key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546", - "remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10003' ] - }, - "gateway04" => { - "key" => "fca88dd58316f4ab50d2a697123dddf4d0ba3aad52ddeb0ba7835cdbbeb60dbf", - "remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10004' ] - }, - "gateway05" => { - "key" => "84986658775167dff6918dc8e0529c4a4524cb1782849a80933ddb6d8c6bd3f5", - "remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10004' ] - }, - "gateway06" => { - "key" => "fb608aa75180ba88b4a3399a6498e68796d200afc1bfd275a0dcb903a31f39b6", - "remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10004' ] - }, -} --%> diff --git a/config/ffhh-west.erb b/config/ffhh-west.erb deleted file mode 100644 index aaf5399..0000000 --- a/config/ffhh-west.erb +++ /dev/null @@ -1,39 +0,0 @@ -<% -site_name = 'Freifunk Hamburg West' -site_code = 'ffhh-west' - -prefix4 = '10.112.96.0/19' -prefix6 = '2a03:2267:2::/64' - -next_node_ipv4 = '10.112.96.1' -next_node_ipv6 = '2a03:2267:2::1' - -mtu = 1312 - -gateways = { - "gateway01" => { - "key" => "aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b", - "remotes" => [ '"gw01-new.hamburg.freifunk.net" port 10005' ] - }, - "gateway02" => { - "key" => "462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0", - "remotes" => [ '"gw02-new.hamburg.freifunk.net" port 10005' ] - }, - "gateway03" => { - "key" => "e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546", - "remotes" => [ '"gw03-new.hamburg.freifunk.net" port 10005' ] - }, - "gateway04" => { - "key" => "a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669", - "remotes" => [ '"gw04-new.hamburg.freifunk.net" port 10006' ] - }, - "gateway05" => { - "key" => "291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f", - "remotes" => [ '"gw05-new.hamburg.freifunk.net" port 10006' ] - }, - "gateway06" => { - "key" => "8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43", - "remotes" => [ '"gw06-new.hamburg.freifunk.net" port 10006' ] - }, -} --%> diff --git a/domains/ffhh_nowe.conf b/domains/ffhh_nowe.conf new file mode 100644 index 0000000..90aed0c --- /dev/null +++ b/domains/ffhh_nowe.conf @@ -0,0 +1,72 @@ +{ + domain_names = { + ffhh_nowe = "Hamburg Nordwest", + }, + domain_seed = '666668682D6E6F776548616D6275726748616D6275726748616D627572674861', + + prefix4 = '10.112.192.0/19', + prefix6 = '2a03:2267:3::/64', + + next_node = { + ip4 = '10.112.192.1', + ip6 = '2a03:2267:3::1', + mac = '16:41:95:40:f7:dc', + }, + + wifi24 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '6668682D6E6F7765', + }, + }, + + wifi5 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '6668682D6E6F7765', + }, + }, + + mesh = { + vxlan = false, + }, + + mesh_vpn = { + fastd = { + groups = { + backbone = { + peers = { + gateway01 = { + remotes = { '"gw01-new.hamburg.freifunk.net" port 10007' }, + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + }, + gateway02 = { + remotes = { '"gw02-new.hamburg.freifunk.net" port 10007' }, + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + }, + gateway03 = { + remotes = { '"gw03-new.hamburg.freifunk.net" port 10007' }, + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + }, + gateway04 = { + remotes = { '"gw04-new.hamburg.freifunk.net" port 10008' }, + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + }, + gateway05 = { + remotes = { '"gw05-new.hamburg.freifunk.net" port 10008' }, + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + }, + gateway06 = { + remotes = { '"gw06-new.hamburg.freifunk.net" port 10008' }, + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + }, + }, + }, + }, + }, + }, +} diff --git a/domains/ffhh_ost.conf b/domains/ffhh_ost.conf new file mode 100644 index 0000000..7c2b948 --- /dev/null +++ b/domains/ffhh_ost.conf @@ -0,0 +1,72 @@ +{ + domain_names = { + ffhh_ost = "Hamburg Ost", + }, + domain_seed = '666668682D6F737448616D6275726748616D6275726748616D6275726748616D', + + prefix4 = '10.112.224.0/19', + prefix6 = '2a03:2267:4::/64', + + next_node = { + ip4 = '10.112.224.1', + ip6 = '2a03:2267:4::1', + mac = '16:41:95:40:f7:dc', + }, + + wifi24 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '666668682D6F7374', + }, + }, + + wifi5 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '666668682D6F7374', + }, + }, + + mesh = { + vxlan = false, + }, + + mesh_vpn = { + fastd = { + groups = { + backbone = { + peers = { + gateway01 = { + remotes = { '"gw01-new.hamburg.freifunk.net" port 10009' }, + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + }, + gateway02 = { + remotes = { '"gw02-new.hamburg.freifunk.net" port 10009' }, + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + }, + gateway03 = { + remotes = { '"gw03-new.hamburg.freifunk.net" port 10009' }, + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + }, + gateway04 = { + remotes = { '"gw04-new.hamburg.freifunk.net" port 10010' }, + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + }, + gateway05 = { + remotes = { '"gw05-new.hamburg.freifunk.net" port 10010' }, + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + }, + gateway06 = { + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + remotes = { '"gw06-new.hamburg.freifunk.net" port 10010' }, + }, + }, + }, + }, + }, + }, +} diff --git a/domains/ffhh_sued.conf b/domains/ffhh_sued.conf new file mode 100644 index 0000000..42da4ca --- /dev/null +++ b/domains/ffhh_sued.conf @@ -0,0 +1,72 @@ +{ + domain_names = { + ffhh_sued = "Hamburg Süd", + }, + domain_seed = '666668682D7375656448616D6275726748616D6275726748616D627572674861', + + prefix4 = '10.112.64.0/19', + prefix6 = '2a03:2267:1::/64', + + next_node = { + ip4 = '10.112.64.1', + ip6 = '2a03:2267:1::1', + mac = '16:41:95:40:f7:dc', + }, + + wifi24 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '6668682D73756564', + }, + }, + + wifi5 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '6668682D73756564', + }, + }, + + mesh = { + vxlan = false, + }, + + mesh_vpn = { + fastd = { + groups = { + backbone = { + peers = { + gateway01 = { + remotes = { '"gw01-new.hamburg.freifunk.net" port 10003' }, + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + }, + gateway02 = { + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + remotes = { '"gw02-new.hamburg.freifunk.net" port 10003' }, + }, + gateway03 = { + remotes = { '"gw03-new.hamburg.freifunk.net" port 10003' }, + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + }, + gateway04 = { + remotes = { '"gw04-new.hamburg.freifunk.net" port 10004' }, + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + }, + gateway05 = { + remotes = { '"gw05-new.hamburg.freifunk.net" port 10004' }, + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + }, + gateway06 = { + remotes = { '"gw06-new.hamburg.freifunk.net" port 10004' }, + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + }, + }, + }, + }, + }, + }, +} diff --git a/domains/ffhh_west.conf b/domains/ffhh_west.conf new file mode 100644 index 0000000..80c0c15 --- /dev/null +++ b/domains/ffhh_west.conf @@ -0,0 +1,72 @@ +{ + domain_names = { + ffhh_west = "Hamburg West", + }, + domain_seed = '666668682D7765737448616D6275726748616D6275726748616D627572674861', + + prefix4 = '10.112.96.0/19', + prefix6 = '2a03:2267:2::/64', + + next_node = { + ip4 = '10.112.96.1', + ip6 = '2a03:2267:2::1', + mac = '16:41:95:40:f7:dc', + }, + + wifi24 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '6668682D77657374', + }, + }, + + wifi5 = { + ap = { + ssid = "hamburg.freifunk.net", + }, + mesh = { + id = '6668682D77657374', + }, + }, + + mesh = { + vxlan = false, + }, + + mesh_vpn = { + fastd = { + groups = { + backbone = { + peers = { + gateway01 = { + remotes = { '"gw01-new.hamburg.freifunk.net" port 10005' }, + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + }, + gateway02 = { + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + remotes = { '"gw02-new.hamburg.freifunk.net" port 10005' }, + }, + gateway03 = { + remotes = { '"gw03-new.hamburg.freifunk.net" port 10005' }, + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + }, + gateway04 = { + remotes = { '"gw04-new.hamburg.freifunk.net" port 10006' }, + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + }, + gateway05 = { + remotes = { '"gw05-new.hamburg.freifunk.net" port 10006' }, + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + }, + gateway06 = { + remotes = { '"gw06-new.hamburg.freifunk.net" port 10006' }, + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + }, + }, + }, + }, + }, + }, +} diff --git a/template/modules.erb b/modules similarity index 100% rename from template/modules.erb rename to modules diff --git a/site.conf b/site.conf new file mode 100644 index 0000000..6de2bb8 --- /dev/null +++ b/site.conf @@ -0,0 +1,105 @@ +{ + hostname_prefix = 'GibMirEinenNamen', + config_mode = { + hostname = { + optional = false, + prefill = false, + }, + }, + + site_name = 'Freifunk Hamburg', + site_code = 'ffhh', + default_domain = 'ffhh_nowe', + + opkg = { + lede = 'http://lede.opkg.services.ffhh/snapshots/packages/%A', + extra = { + modules = 'http://updates.hamburg.freifunk.net/all/stable/archive/modules/gluon-%GR/%S', + }, + }, + + timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', -- Europe/Berlin + ntp_servers = {'1.ntp.services.ffhh','2.ntp.services.ffhh','3.ntp.services.ffhh'}, + regdom = 'DE', + + wifi24 = { + channel = 1, + + supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000}, + basic_rate = {6000, 9000, 18000, 36000, 54000}, + + mesh = { + mcast_rate = 12000, + }, + }, + + wifi5 = { + channel = 44, + mesh = { + mcast_rate = 12000, + }, + }, + + mesh_vpn = { + enabled = true, + mtu = 1312, + fastd = { + configurable = true, + methods = {'salsa2012+umac'}, + groups = { + backbone = { + limit = 1, + }, + }, + }, + bandwidth_limit = { + enabled = false, + ingress = 8096, + egress = 1024, + }, + }, + + autoupdater = { + branch = 'stable', + branches = { + stable = { + name = 'stable', + mirrors = {'http://1.updates.services.ffhh/all/stable/sysupgrade','http://2.updates.services.ffhh/all/stable/sysupgrade'}, + good_signatures = 2, + pubkeys = { + 'ef73bc52b929fd11efce9a5c8f0b5463f1766bb995c8a0b3b6bcd7ba45b8b1e6', -- leo + '3f0fc50d4e5c893f9f58f98874bd21080b93c28ff5e4d4946352cada1b4e6441', -- andre + '1d37eacbd70f72730b1f5aba246a6a8eab100e2d45dda0163d9ad827f70f88d4', -- gernot + 'bd5a70d4c3df30eaa860d615c0e0526b0dda5bc60c09c20972bce4ffa7512659', -- bjoern + 'd9992853c0fe1a2e983cc222b6bd26e70d4fb2a53862ac099144e9e8142238d0', -- daniel + '961495a04512e5ba1843fd3c216d8af6ef2fdb19f93055142803e2da26d670b9', -- alexander + 'ed6278f168f0382adf4f058cb9c31d8f1145abb968a8626045de7d6d87a0be40', -- olli + }, + }, + beta = { + name = 'beta', + mirrors = {'http://1.updates.services.ffhh/all/beta/sysupgrade','http://2.updates.services.ffhh/all/beta/sysupgrade'}, + good_signatures = 2, + pubkeys = { + 'ef73bc52b929fd11efce9a5c8f0b5463f1766bb995c8a0b3b6bcd7ba45b8b1e6', -- leo + '3f0fc50d4e5c893f9f58f98874bd21080b93c28ff5e4d4946352cada1b4e6441', -- andre + '1d37eacbd70f72730b1f5aba246a6a8eab100e2d45dda0163d9ad827f70f88d4', -- gernot + 'bd5a70d4c3df30eaa860d615c0e0526b0dda5bc60c09c20972bce4ffa7512659', -- bjoern + 'd9992853c0fe1a2e983cc222b6bd26e70d4fb2a53862ac099144e9e8142238d0', -- daniel + '961495a04512e5ba1843fd3c216d8af6ef2fdb19f93055142803e2da26d670b9', -- alexander + 'ed6278f168f0382adf4f058cb9c31d8f1145abb968a8626045de7d6d87a0be40', -- olli + }, + }, + experimental = { + name = 'experimental', + mirrors = {'http://1.updates.services.ffhh/all/experimental/sysupgrade','http://2.updates.services.ffhh/all/experimental/sysupgrade'}, + good_signatures = 1, + pubkeys = { + '1a0112fe489860068480c611c5dc56196c2f1a645db651ea2ed19ae0f0e8e1d1', -- builder1/2 + }, + }, + }, + }, + + poe_passthrough = false, +} diff --git a/template/site.mk.erb b/site.mk similarity index 83% rename from template/site.mk.erb rename to site.mk index 2b4b7de..3c5fb5d 100644 --- a/template/site.mk.erb +++ b/site.mk @@ -1,3 +1,5 @@ +GLUON_MULTIDOMAIN := 1 + GLUON_SITE_PACKAGES := -gluon-config-mode-geo-location \ -gluon-config-mode-contact-info \ gluon-ebtables-source-filter \ @@ -8,6 +10,7 @@ GLUON_SITE_PACKAGES := -gluon-config-mode-geo-location \ GLUON_FEATURES := \ autoupdater \ + config-mode-domain-select \ ebtables-filter-multicast \ ebtables-filter-ra-dhcp \ ebtables-limit-arp \ @@ -37,14 +40,7 @@ GLUON_SITE_PACKAGES += \ $(EXTRA_SOFTWARE_TOOLS_01) endif - - -DEFAULT_GLUON_RELEASE := <%= gluon_release %> - -# Allow overriding the release number from the command line -GLUON_RELEASE ?= $(DEFAULT_GLUON_RELEASE) - -GLUON_PRIORITY ?= 0 +GLUON_PRIORITY ?= 7 # Region code required for some images; supported values: us eu GLUON_REGION ?= eu diff --git a/template/info.erb b/template/info.erb deleted file mode 100644 index 685d4a9..0000000 --- a/template/info.erb +++ /dev/null @@ -1,3 +0,0 @@ -GLUON_RELEASE="<%= gluon_release %>" -GLUON_BRANCH="<%= gluon_branch %>" -targets="<%= gluon_targets.join(" ") %>" diff --git a/template/site.conf.erb b/template/site.conf.erb deleted file mode 100644 index cb8c9c0..0000000 --- a/template/site.conf.erb +++ /dev/null @@ -1,128 +0,0 @@ -{ - hostname_prefix = 'GibMirEinenNamen', - config_mode = { - hostname = { - optional = false, - prefill = false, - }, - }, - site_name = '<%= site_name %>', - site_code = '<%= site_code %>', - domain_seed = '<%= (site_code + ("Hamburg" * 7))[0..31].each_byte.map { |b| b.to_s(16) }.join.upcase %>', - - opkg = { - lede = 'http://lede.opkg.services.ffhh/snapshots/packages/%A', - extra = { - modules = 'http://updates.hamburg.freifunk.net/%GS/stable/archive/modules/gluon-%GS-%GR/%S', - }, - }, - - prefix4 = '<%= prefix4 %>', - prefix6 = '<%= prefix6 %>', - - timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', -- Europe/Berlin - ntp_servers = {'1.ntp.services.ffhh','2.ntp.services.ffhh','3.ntp.services.ffhh'}, - regdom = 'DE', - - mesh = { - vxlan = false, - }, - - wifi24 = { - channel = 1, - - supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000}, - basic_rate = {6000, 9000, 18000, 36000, 54000}, - - ap = { - ssid = 'hamburg.freifunk.net', - }, - mesh = { - id = '<%= ("00000000" + site_code)[-8..-1].each_byte.map { |b| b.to_s(16) }.join.upcase %>', - mcast_rate = 12000, - }, - }, - - wifi5 = { - channel = 44, - ap = { - ssid = 'hamburg.freifunk.net', - }, - mesh = { - id = '<%= ("00000000" + site_code)[-8..-1].each_byte.map { |b| b.to_s(16) }.join.upcase %>', - mcast_rate = 12000, - }, - }, - - next_node = { - ip4 = '<%= next_node_ipv4 %>', - ip6 = '<%= next_node_ipv6 %>', - - mac = '16:41:95:40:f7:dc', - }, - - mesh_vpn = { - enabled = true, - mtu = <%= mtu %>, - fastd = { - configurable = true, - methods = {'salsa2012+umac'}, - groups = { - backbone = { - limit = 1, - peers = { -<% gateways.each_pair do | name, gw_data | -%> - <%= name %> = { - key = '<%= gw_data['key'] %>', - remotes = { '<%= gw_data['remotes'].join("', '") %>' }, - }, -<% end -%> - }, - }, - }, - }, - bandwidth_limit = { - enabled = false, - ingress = 8096, - egress = 1024, - }, - }, - - autoupdater = { - branch = '<%= gluon_branch %>', - branches = { - stable = { - name = 'stable', - mirrors = {'http://1.updates.services.ffhh/<%= site_code %>/stable/sysupgrade','http://2.updates.services.ffhh/<%= site_code %>/stable/sysupgrade'}, - good_signatures = 2, - pubkeys = { -<% signing_keys.each do | key | -%> - '<%= key %>', -<% end -%> - }, - }, - beta = { - name = 'beta', - mirrors = {'http://1.updates.services.ffhh/<%= site_code %>/beta/sysupgrade','http://2.updates.services.ffhh/<%= site_code %>/beta/sysupgrade'}, - good_signatures = 2, - pubkeys = { -<% signing_keys.each do | key | -%> - '<%= key %>', -<% end -%> - }, - }, - experimental = { - name = 'experimental', - mirrors = {'http://1.updates.services.ffhh/<%= site_code %>/experimental/sysupgrade','http://2.updates.services.ffhh/<%= site_code %>/experimental/sysupgrade'}, - good_signatures = 1, - pubkeys = { -<% signing_keys_experimental.each do | key | -%> - '<%= key %>', -<% end -%> - }, - }, - }, - }, - - poe_passthrough = false, -}