declare -Ar hosts_hostname=( [ns1.staging.grapheneos.org]=ns1-staging [bom.ns1.grapheneos.org]=ns1-bom [fra.ns1.grapheneos.org]=ns1-fra [lax.ns1.grapheneos.org]=ns1-lax [lon.ns1.grapheneos.org]=ns1-lon [mia.ns1.grapheneos.org]=ns1-mia [nyc.ns1.grapheneos.org]=ns1-nyc [sao.ns1.grapheneos.org]=ns1-sao [sea.ns1.grapheneos.org]=ns1-sea [sin.ns1.grapheneos.org]=ns1-sin [syd.ns1.grapheneos.org]=ns1-syd [tyo.ns1.grapheneos.org]=ns1-tyo [brn.ns2.grapheneos.org]=ns2-brn [las.ns2.grapheneos.org]=ns2-las [mia.ns2.grapheneos.org]=ns2-mia [nyc.ns2.grapheneos.org]=ns2-nyc [mail.grapheneos.org]=mail [staging.grapheneos.org]=grapheneos-staging [brn.grapheneos.org]=grapheneos-brn [las.grapheneos.org]=grapheneos-las [mia.grapheneos.org]=grapheneos-mia [nyc.grapheneos.org]=grapheneos-nyc [sao.grapheneos.org]=grapheneos-sao [sea.grapheneos.org]=grapheneos-sea [sin.grapheneos.org]=grapheneos-sin [syd.grapheneos.org]=grapheneos-syd [lax.releases.grapheneos.org]=releases-lax [lon.releases.grapheneos.org]=releases-lon [mia.releases.grapheneos.org]=releases-mia [yto.releases.grapheneos.org]=releases-yto [staging.attestation.app]=attestation-staging [attestation.app]=attestation [matrix.grapheneos.org]=matrix [discuss.grapheneos.org]=discuss [grapheneos.social]=social ) declare -Ar hosts_uefi=( [lax.releases.grapheneos.org]=true [lon.releases.grapheneos.org]=true [mia.releases.grapheneos.org]=true [yto.releases.grapheneos.org]=true [attestation.app]=true [matrix.grapheneos.org]=true [discuss.grapheneos.org]=true [grapheneos.social]=true ) declare -Ar hosts_mdraid=( [lax.releases.grapheneos.org]=true [lon.releases.grapheneos.org]=true [mia.releases.grapheneos.org]=true [yto.releases.grapheneos.org]=true ) declare -Ar hosts_metal=( [lax.releases.grapheneos.org]=true [lon.releases.grapheneos.org]=true [mia.releases.grapheneos.org]=true [yto.releases.grapheneos.org]=true ) declare -Ar hosts_cpu_vendor=( [lax.releases.grapheneos.org]=amd [lon.releases.grapheneos.org]=amd [mia.releases.grapheneos.org]=amd [yto.releases.grapheneos.org]=intel ) declare -Ar hosts_hardware_watchdog=( [lax.releases.grapheneos.org]=true [lon.releases.grapheneos.org]=true [mia.releases.grapheneos.org]=true [yto.releases.grapheneos.org]=true ) declare -Ar hosts_authorized_keys=( [bom.ns1.grapheneos.org]=authorized_keys-replica-ns1 [fra.ns1.grapheneos.org]=authorized_keys-replica-ns1 [lax.ns1.grapheneos.org]=authorized_keys-replica-ns1 [lon.ns1.grapheneos.org]=authorized_keys-replica-ns1 [mia.ns1.grapheneos.org]=authorized_keys-replica-ns1 [sao.ns1.grapheneos.org]=authorized_keys-replica-ns1 [sea.ns1.grapheneos.org]=authorized_keys-replica-ns1 [sin.ns1.grapheneos.org]=authorized_keys-replica-ns1 [syd.ns1.grapheneos.org]=authorized_keys-replica-ns1 [tyo.ns1.grapheneos.org]=authorized_keys-replica-ns1 [brn.ns2.grapheneos.org]=authorized_keys-replica-ns2 [las.ns2.grapheneos.org]=authorized_keys-replica-ns2 [mia.ns2.grapheneos.org]=authorized_keys-replica-ns2 [brn.grapheneos.org]=authorized_keys-replica-grapheneos [las.grapheneos.org]=authorized_keys-replica-grapheneos [mia.grapheneos.org]=authorized_keys-replica-grapheneos [sao.grapheneos.org]=authorized_keys-replica-grapheneos [sea.grapheneos.org]=authorized_keys-replica-grapheneos [sin.grapheneos.org]=authorized_keys-replica-grapheneos [syd.grapheneos.org]=authorized_keys-replica-grapheneos [lax.releases.grapheneos.org]=authorized_keys-replica-releases [lon.releases.grapheneos.org]=authorized_keys-replica-releases [yto.releases.grapheneos.org]=authorized_keys-replica-releases [staging.attestation.app]=authorized_keys-staging-attestation ) declare -Ar hosts_firewall=( [ns1.staging.grapheneos.org]=ns2 [bom.ns1.grapheneos.org]=ns1 [fra.ns1.grapheneos.org]=ns1 [lax.ns1.grapheneos.org]=ns1 [lon.ns1.grapheneos.org]=ns1 [mia.ns1.grapheneos.org]=ns1 [nyc.ns1.grapheneos.org]=ns1 [sao.ns1.grapheneos.org]=ns1 [sea.ns1.grapheneos.org]=ns1 [sin.ns1.grapheneos.org]=ns1 [syd.ns1.grapheneos.org]=ns1 [tyo.ns1.grapheneos.org]=ns1 [brn.ns2.grapheneos.org]=ns2 [las.ns2.grapheneos.org]=ns2 [mia.ns2.grapheneos.org]=ns2 [nyc.ns2.grapheneos.org]=ns2 [mail.grapheneos.org]=mail [staging.grapheneos.org]=network [brn.grapheneos.org]=network [las.grapheneos.org]=network [mia.grapheneos.org]=network [nyc.grapheneos.org]=network [sao.grapheneos.org]=network [sea.grapheneos.org]=network [sin.grapheneos.org]=network [syd.grapheneos.org]=network [lax.releases.grapheneos.org]=web [lon.releases.grapheneos.org]=web [mia.releases.grapheneos.org]=web [yto.releases.grapheneos.org]=web [staging.attestation.app]=attestation [attestation.app]=attestation [matrix.grapheneos.org]=matrix [discuss.grapheneos.org]=discuss [grapheneos.social]=social ) declare -Ar hosts_swap=( [lax.releases.grapheneos.org]=32768 [lon.releases.grapheneos.org]=32768 [mia.releases.grapheneos.org]=32768 [yto.releases.grapheneos.org]=4096 [attestation.app]=4096 [matrix.grapheneos.org]=8192 [discuss.grapheneos.org]=4096 [grapheneos.social]=4096 ) declare -Ar hosts_agcount=( [lax.releases.grapheneos.org]=24 [lon.releases.grapheneos.org]=32 [mia.releases.grapheneos.org]=24 [yto.releases.grapheneos.org]=28 [attestation.app]=6 [matrix.grapheneos.org]=10 [discuss.grapheneos.org]=6 [grapheneos.social]=6 ) declare -Ar hosts_reserved_ports=( [brn.grapheneos.org]=7275 [las.grapheneos.org]=7275 [mia.grapheneos.org]=7275 [nyc.grapheneos.org]=7275 [sao.grapheneos.org]=7275 [sea.grapheneos.org]=7275 [sin.grapheneos.org]=7275 [syd.grapheneos.org]=7275 [staging.attestation.app]=8080 [attestation.app]=8080 ) declare -Ar hosts_tcp_wmem_max=( [lax.releases.grapheneos.org]=33554432 [lon.releases.grapheneos.org]=33554432 [mia.releases.grapheneos.org]=33554432 [yto.releases.grapheneos.org]=33554432 [matrix.grapheneos.org]=16777216 ) declare -Ar hosts_tcp_fastopen=( [ns1.staging.grapheneos.org]=false [brn.ns2.grapheneos.org]=false [las.ns2.grapheneos.org]=false [mia.ns2.grapheneos.org]=false [nyc.ns2.grapheneos.org]=false [staging.grapheneos.org]=false [brn.grapheneos.org]=false [las.grapheneos.org]=false [mia.grapheneos.org]=false [nyc.grapheneos.org]=false [lon.releases.grapheneos.org]=false [staging.attestation.app]=false ) declare -Ar hosts_conntrack_size=( [mail.grapheneos.org]=131072 [lax.releases.grapheneos.org]=12582912 [lon.releases.grapheneos.org]=8388608 [mia.releases.grapheneos.org]=12582912 [yto.releases.grapheneos.org]=8388608 [attestation.app]=131072 [matrix.grapheneos.org]=131072 [discuss.grapheneos.org]=131072 [grapheneos.social]=131072 ) declare -Ar hosts_ssh_users=( [staging.attestation.app]="root attestation" [attestation.app]="root attestation" [discuss.grapheneos.org]="root flarum-admin" ) declare -Ar hosts_journald_system_max_use=( [mail.grapheneos.org]=8G [lax.releases.grapheneos.org]=64G [lon.releases.grapheneos.org]=64G [mia.releases.grapheneos.org]=64G [yto.releases.grapheneos.org]=64G [attestation.app]=16G [matrix.grapheneos.org]=32G [discuss.grapheneos.org]=16G [grapheneos.social]=16G ) declare -Ar hosts_journald_system_max_file_size=( [mail.grapheneos.org]=512M [lax.releases.grapheneos.org]=4G [lon.releases.grapheneos.org]=4G [mia.releases.grapheneos.org]=4G [yto.releases.grapheneos.org]=4G [attestation.app]=1G [matrix.grapheneos.org]=2G [discuss.grapheneos.org]=1G [grapheneos.social]=1G ) declare -Ar hosts_ipv4_address=( [ns1.staging.grapheneos.org]=198.98.56.238 [bom.ns1.grapheneos.org]=65.20.91.33 [fra.ns1.grapheneos.org]=80.240.20.200 [lax.ns1.grapheneos.org]=140.82.23.46 [lon.ns1.grapheneos.org]=192.248.159.52 [mia.ns1.grapheneos.org]=45.32.173.220 [nyc.ns1.grapheneos.org]=66.135.8.22 [sao.ns1.grapheneos.org]=216.238.118.134 [sea.ns1.grapheneos.org]=66.42.74.68 [sin.ns1.grapheneos.org]=139.180.154.140 [syd.ns1.grapheneos.org]=45.63.28.82 [tyo.ns1.grapheneos.org]=66.42.42.15 [brn.ns2.grapheneos.org]=107.189.3.168 [las.ns2.grapheneos.org]=205.185.124.155 [mia.ns2.grapheneos.org]=45.61.188.113 [nyc.ns2.grapheneos.org]=198.98.53.141 [mail.grapheneos.org]=192.99.98.22 [staging.grapheneos.org]=199.195.250.78 [brn.grapheneos.org]=107.189.14.16 [las.grapheneos.org]=209.141.37.35 [mia.grapheneos.org]=45.61.186.223 [nyc.grapheneos.org]=198.98.62.94 [sao.grapheneos.org]=216.238.116.202 [sea.grapheneos.org]=45.32.230.4 [sin.grapheneos.org]=66.42.50.166 [syd.grapheneos.org]=107.191.57.135 [lax.releases.grapheneos.org]=104.194.8.203 [lon.releases.grapheneos.org]=45.88.230.12 [mia.releases.grapheneos.org]=172.96.172.37 [yto.releases.grapheneos.org]=207.174.104.20 [staging.attestation.app]=198.98.57.157 [attestation.app]=159.195.67.50 [matrix.grapheneos.org]=152.53.39.88 [discuss.grapheneos.org]=152.53.168.153 [grapheneos.social]=152.53.168.159 ) declare -Ar hosts_ipv6_address=( [ns1.staging.grapheneos.org]=2605:6400:10:c41:de92:c534:326a:711a [bom.ns1.grapheneos.org]=2401:c080:2400:1814:5400:05ff:fec5:d503 [fra.ns1.grapheneos.org]=2a05:f480:1800:2acd:5400:05ff:fec2:23a1 [lax.ns1.grapheneos.org]=2001:19f0:6000:2dcd:5400:05ff:fec1:97db [lon.ns1.grapheneos.org]=2001:19f0:7400:8669:5400:05ff:fec3:f3f8 [mia.ns1.grapheneos.org]=2001:19f0:9002:2981:5400:05ff:fec1:65c4 [nyc.ns1.grapheneos.org]=2001:19f0:1000:c0d4:5400:05ff:fec1:7c21 [sao.ns1.grapheneos.org]=2001:19f0:b800:14a9:5400:05ff:feca:f136 [sea.ns1.grapheneos.org]=2001:19f0:8001:0438:5400:05ff:fec1:9dbd [sin.ns1.grapheneos.org]=2401:c080:1400:4890:5400:05ff:fec2:23b0 [syd.ns1.grapheneos.org]=2401:c080:1800:141d:5400:05ff:fec5:d41b [tyo.ns1.grapheneos.org]=2001:19f0:7001:5695:5400:05ff:fec4:e394 [brn.ns2.grapheneos.org]=2605:6400:30:ec25:102c:af6d:5be:1eb8 [las.ns2.grapheneos.org]=2605:6400:20:1c8f:a0c9:372d:482e:945b [mia.ns2.grapheneos.org]=2605:6400:40:ffbd:14e7:d270:fd75:600c [nyc.ns2.grapheneos.org]=2605:6400:10:102e:95bc:89ef:2e7f:49bb [mail.grapheneos.org]=2607:5300:205:200::472f [staging.grapheneos.org]=2605:6400:10:9d6:6d84:e183:acda:16d7 [brn.grapheneos.org]=2605:6400:30:fbfc:64d:dafb:d00a:5d19 [las.grapheneos.org]=2605:6400:20:387:72d4:dab9:a369:f351 [mia.grapheneos.org]=2605:6400:40:ffb4:40e3:e5c8:9b96:614b [nyc.grapheneos.org]=2605:6400:10:50:20a1:d9ea:5c10:a895 [sao.grapheneos.org]=2001:19f0:b800:1f13:5400:05ff:fed0:8ea7 [sea.grapheneos.org]=2001:19f0:8000:3454:5400:05ff:fec8:4139 [sin.grapheneos.org]=2001:19f0:4400:2c24:5400:05ff:fec7:4cdc [syd.grapheneos.org]=2401:c080:1800:1c40:5400:05ff:fec7:c902 [lax.releases.grapheneos.org]=2605:9880:200:400:135:7700:ef0a:81 [mia.releases.grapheneos.org]=2605:9880:400:1100:15:1240:515:6e [yto.releases.grapheneos.org]=2602:fd50:1a1:20::2 [staging.attestation.app]=2605:6400:10:aa9:1c0f:44d3:da15:c0ec [attestation.app]=2a0a:4cc0:c2:1cf3::1 [matrix.grapheneos.org]=2a0a:4cc0:2000:dbc::1 [discuss.grapheneos.org]=2a0a:4cc0:2000:aa27::1 [grapheneos.social]=2a0a:4cc0:2000:a62d::1 ) readonly hosts_ns1=( {bom,fra,lax,lon,mia,nyc,sao,sea,sin,syd,tyo}.ns1.grapheneos.org ) readonly hosts_ns2=( {brn,las,mia,nyc}.ns2.grapheneos.org ) readonly hosts_dns=( ns1.staging.grapheneos.org "${hosts_ns1[@]}" "${hosts_ns2[@]}" ) readonly hosts_staging=( ns1.staging.grapheneos.org staging.grapheneos.org staging.attestation.app ) readonly hosts_certbot=( ns1.staging.grapheneos.org nyc.ns1.grapheneos.org nyc.ns2.grapheneos.org mail.grapheneos.org staging.grapheneos.org nyc.grapheneos.org mia.releases.grapheneos.org staging.attestation.app attestation.app matrix.grapheneos.org discuss.grapheneos.org grapheneos.social ) readonly hosts_primary=( nyc.ns1.grapheneos.org nyc.ns2.grapheneos.org nyc.grapheneos.org mia.releases.grapheneos.org ) readonly hosts_secondary=( {bom,fra,lax,lon,mia,sao,sea,sin,syd,tyo}.ns1.grapheneos.org {brn,las,mia}.ns2.grapheneos.org {brn,las,mia,nyc,sao,sea,sin,syd}.grapheneos.org {lax,lon,yto}.releases.grapheneos.org ) readonly hosts_backup=( mail.grapheneos.org staging.attestation.app attestation.app matrix.grapheneos.org discuss.grapheneos.org grapheneos.social ) readonly hosts_grapheneos=( {brn,las,nyc,mia,sao,sea,sin,syd}.grapheneos.org ) readonly hosts_grapheneos_all=( staging.grapheneos.org "${hosts_grapheneos[@]}" ) readonly hosts_releases=( {lax,lon,mia,yto}.releases.grapheneos.org ) readonly hosts_attestation=( staging.attestation.app attestation.app ) readonly hosts_web=( "${hosts_dns[@]}" mail.grapheneos.org "${hosts_grapheneos_all[@]}" "${hosts_releases[@]}" "${hosts_attestation[@]}" matrix.grapheneos.org discuss.grapheneos.org grapheneos.social ) readonly hosts_all=( "${hosts_web[@]}" ) readonly hosts_netcup=( attestation.app matrix.grapheneos.org discuss.grapheneos.org grapheneos.social ) readonly hosts_vultr=( {bom,fra,lax,lon,mia,nyc,sao,sea,sin,syd,tyo}.ns1.grapheneos.org {sao,sea,sin,syd}.grapheneos.org ) readonly hosts_buyvm=( ns1.staging.grapheneos.org {brn,las,mia,nyc}.ns2.grapheneos.org staging.grapheneos.org {brn,las,mia,nyc}.grapheneos.org staging.attestation.app ) readonly hosts_ovh=( mail.grapheneos.org )