From 0c6c8239fe863f7b1b30e8b57cbcc7c309fba780 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 12 Jan 2024 14:26:44 -0800 Subject: [PATCH 1/3] [build] script to build planet pbf from osm and daylight --- bin/build | 5 +- builds/planet/assemble-planet-pbf/.gitignore | 3 + builds/planet/assemble-planet-pbf/Cargo.lock | 614 ++++++++++++++++++ builds/planet/assemble-planet-pbf/Cargo.toml | 12 + builds/planet/assemble-planet-pbf/README.md | 7 + builds/planet/assemble-planet-pbf/src/main.rs | 386 +++++++++++ builds/planet/env.sh | 3 +- builds/planet/prebuild.sh | 17 + 8 files changed, 1045 insertions(+), 2 deletions(-) create mode 100644 builds/planet/assemble-planet-pbf/.gitignore create mode 100644 builds/planet/assemble-planet-pbf/Cargo.lock create mode 100644 builds/planet/assemble-planet-pbf/Cargo.toml create mode 100644 builds/planet/assemble-planet-pbf/README.md create mode 100644 builds/planet/assemble-planet-pbf/src/main.rs create mode 100755 builds/planet/prebuild.sh diff --git a/bin/build b/bin/build index 26a8b698e..22516c9d5 100755 --- a/bin/build +++ b/bin/build @@ -41,7 +41,10 @@ else HEADWAY_IS_PLANET_BUILD=false fi -with_log earthly $EARTHLY_ARGS -P +build --area="$HEADWAY_AREA" --countries="$HEADWAY_COUNTRIES" --is_planet_build="$HEADWAY_IS_PLANET_BUILD" +if [ -f "${CONFIG_DIR}/prebuild.sh" ]; then + "${CONFIG_DIR}/prebuild.sh" +fi +with_log earthly $EARTHLY_ARGS -P +build --area="$HEADWAY_AREA" --countries="$HEADWAY_COUNTRIES" --is_planet_build="$HEADWAY_IS_PLANET_BUILD" bin/build-transit "$CONFIG_DIR" $EARTHLY_ARGS diff --git a/builds/planet/assemble-planet-pbf/.gitignore b/builds/planet/assemble-planet-pbf/.gitignore new file mode 100644 index 000000000..d1620f670 --- /dev/null +++ b/builds/planet/assemble-planet-pbf/.gitignore @@ -0,0 +1,3 @@ +target/ +downloads/ +tmp/ diff --git a/builds/planet/assemble-planet-pbf/Cargo.lock b/builds/planet/assemble-planet-pbf/Cargo.lock new file mode 100644 index 000000000..db47dc79f --- /dev/null +++ b/builds/planet/assemble-planet-pbf/Cargo.lock @@ -0,0 +1,614 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" +dependencies = [ + "memchr", +] + +[[package]] +name = "anstream" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" + +[[package]] +name = "anstyle-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "anstyle-wincon" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" +dependencies = [ + "anstyle", + "windows-sys", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + +[[package]] +name = "build-planet" +version = "0.1.0" +dependencies = [ + "clap", + "env_logger", + "log", + "tokio", +] + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "4.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84ed82781cea27b43c9b106a979fe450a13a31aab0500595fb3fc06616de08e6" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_lex" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "hermit-abi" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi", + "rustix", + "windows-sys", +] + +[[package]] +name = "libc" +version = "0.2.148" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" + +[[package]] +name = "linux-raw-sys" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "memchr" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi", + "windows-sys", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "proc-macro2" +version = "1.0.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.38.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662" +dependencies = [ + "bitflags 2.4.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "smallvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" + +[[package]] +name = "socket2" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "2.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e02e55d62894af2a08aca894c6577281f76769ba47c94d5756bec8ac6e7373" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "tokio" +version = "1.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" diff --git a/builds/planet/assemble-planet-pbf/Cargo.toml b/builds/planet/assemble-planet-pbf/Cargo.toml new file mode 100644 index 000000000..935d05a91 --- /dev/null +++ b/builds/planet/assemble-planet-pbf/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "build-planet" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +clap = "4.4.3" +env_logger = "0.10.0" +log = "0.4.20" +tokio = { version = "1.32.0", features = ["full"] } diff --git a/builds/planet/assemble-planet-pbf/README.md b/builds/planet/assemble-planet-pbf/README.md new file mode 100644 index 000000000..b43320bd7 --- /dev/null +++ b/builds/planet/assemble-planet-pbf/README.md @@ -0,0 +1,7 @@ +The planet.pbf we use for maps.earth is built from a few datasets (currently all from the daylight map distribution). + +This directory is responsible for combining them all into a planet-wide pbf we can feed into Headway's earthly build process. + +Perhaps it should be *part* of the earthly build process, but copying around large data files in Earthly entails building and copying around large docker layers which wastes both time and disk. + +So for now anyway, this pbf assembly happens before and outside of the earthly build process. diff --git a/builds/planet/assemble-planet-pbf/src/main.rs b/builds/planet/assemble-planet-pbf/src/main.rs new file mode 100644 index 000000000..7b47391a4 --- /dev/null +++ b/builds/planet/assemble-planet-pbf/src/main.rs @@ -0,0 +1,386 @@ +#[macro_use] +extern crate log; + +mod error { + pub type Error = Box; + pub type Result = std::result::Result; +} + +use error::Result; +use resource::Resource; +use std::env; + +fn main() { + env_logger::init(); + + match env::var("TMPDIR") { + Ok(val) => println!("TMPDIR was set: {val}"), + Err(_e) => { + let default = "./tmp"; + println!("TMPDIR was not set. Assuming default: {default:?}"); + env::set_var("TMPDIR", default); + std::fs::create_dir_all(default).unwrap(); + } + } + + let mut args = env::args(); + let bin_name = args.next().unwrap(); + let Some(version) = args.next() else { + panic!("must specify _version_ arg\nusage: {bin_name} v1.36"); + }; + + // Download + info!("starting download of {version}"); + let dist = Distribution::new(version.to_string()); + dist.download_and_build().unwrap(); + info!("done with {version}"); +} + +use distribution::Distribution; + +mod resource { + use std::path::{Path, PathBuf}; + + #[derive(Debug)] + pub struct Resource { + name: String, + local_path: PathBuf, + } + + impl Resource { + pub fn new(name: String, local_path: PathBuf) -> Self { + Self { name, local_path } + } + + pub fn local_path(&self) -> &Path { + &self.local_path + } + + pub fn name(&self) -> &str { + &self.name + } + } +} + +mod distribution { + use crate::resource::Resource; + use crate::Result; + use std::ffi::OsString; + use std::path::{Path, PathBuf}; + use std::process::Command; + + pub struct Distribution { + version: String, + resources: Resources, + } + + struct Resources { + version: String, + planet_pbf: Resource, + buildings_pbf: Resource, + admin_osc: Resource, + merged_planet_and_ml_buildings_pbf: Resource, + final_planet_pbf: Resource, + } + + impl Resources { + pub fn new(version: &str) -> Self { + let merged_planet_and_ml_buildings_name = format!("merged-planet-and-ml-buildings-{version}.osm.pbf"); + let merged_planet_and_ml_buildings_pbf_path = + Self::_generated_dir(version).join(&merged_planet_and_ml_buildings_name); + + + let final_planet_name = format!("final-planet-{version}.osm.pbf"); + let final_planet_pbf_path = + Self::_generated_dir(version).join(&final_planet_name); + + Self { + version: version.to_string(), + planet_pbf: Self::downloadable_resource( + format!("planet-{version}.osm.pbf"), + version, + ), + admin_osc: Self::downloadable_resource(format!("admin-{version}.osc.gz"), version), + buildings_pbf: Self::downloadable_resource( + format!("ml-buildings-{version}.osm.pbf"), + version, + ), + merged_planet_and_ml_buildings_pbf: Resource::new(merged_planet_and_ml_buildings_name, merged_planet_and_ml_buildings_pbf_path), + final_planet_pbf: Resource::new(final_planet_name, final_planet_pbf_path), + } + } + + pub fn downloadable_resource(name: String, version: &str) -> Resource { + let download_path = Self::_download_dir(&version).join(&name); + Resource::new(name, download_path) + } + + pub fn ensure_download_dir(&self) -> Result<()> { + let dir = self.download_dir(); + std::fs::create_dir_all(dir)?; + Ok(()) + } + + pub fn download_dir(&self) -> PathBuf { + Self::_download_dir(&self.version) + } + + pub fn _download_dir(version: &str) -> PathBuf { + let dir = "downloads"; + Path::new(dir).join(version) + } + + pub fn ensure_generated_dir(&self) -> Result<()> { + let dir = self.generated_dir(); + std::fs::create_dir_all(dir)?; + Ok(()) + } + + pub fn generated_dir(&self) -> PathBuf { + Self::_generated_dir(&self.version) + } + + pub fn _generated_dir(version: &str) -> PathBuf { + let dir = "generated"; + Path::new(dir).join(version) + } + } + + impl Distribution { + pub fn new(version: String) -> Self { + Self { + resources: Resources::new(&version), + version, + } + } + + fn download(&self, resource: &Resource) -> Result<()> { + // https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/v1.32/admin-v1.32.osc.gz + let url = + format!("https://daylight-map-distribution.s3.us-west-1.amazonaws.com/release/{version}/{resource_name}", version=self.version, resource_name=resource.name()); + + let mut cmd = Command::new("aria2c"); + cmd.args(["-x", "16"]) + .args(["-s", "16"]) + .arg(&format!( + "-d {download_dir}", + download_dir = self + .resources + .download_dir() + .to_str() + .expect("valid UTF-8 string") + )) + .arg(url); + + let mut child = match cmd.spawn() { + Ok(child) => child, + Err(err) => { + if let std::io::ErrorKind::NotFound = err.kind() { + eprintln!("aria2c is missing. Install aria2c and try again."); + } + return Err(err.into()); + } + }; + + + let status = child.wait()?; + if !status.success() { + return Err(format!("download exited with status: {status:?}").into()); + } + Ok(()) + } + + fn download_if_missing(&self, resource: &Resource) -> Result<()> { + self.resources.ensure_download_dir()?; + + let existing_download = resource.local_path(); + let in_progress_download = { + let mut os_string = OsString::from(existing_download); + // `Path` has no API to add an additional extension without clobbering the existing extension + os_string.push(".aria2"); + PathBuf::from(os_string) + }; + if existing_download.exists() && !in_progress_download.exists() { + info!("{resource:?}: Already downloaded at {existing_download:?}."); + Ok(()) + } else { + if existing_download.exists() { + info!("{resource:?}: Resuming previously started download from {in_progress_download:?}."); + } else { + info!("{resource:?}: Starting download."); + } + self.download(resource) + } + } + + + pub fn download_and_build(&self) -> Result<()> { + self.download_if_missing(&self.resources.admin_osc)?; + self.download_if_missing(&self.resources.planet_pbf)?; + self.download_if_missing(&self.resources.buildings_pbf)?; + + crate::osmio::verify_installation()?; + + eprintln!("adding buildings"); + self.add_buildings()?; + + eprintln!("adding admin"); + self.add_admin()?; + + Ok(()) + } + + pub fn add_buildings(&self) -> Result<()> { + self.resources.ensure_generated_dir()?; + crate::osmio::Merge::output(&self.resources.merged_planet_and_ml_buildings_pbf) + .input(&self.resources.planet_pbf) + .input(&self.resources.buildings_pbf) + .run() + } + + pub fn add_admin(&self) -> Result<()> { + self.resources.ensure_generated_dir()?; + crate::osmio::ApplyChanges::output(&self.resources.final_planet_pbf) + .input(&self.resources.merged_planet_and_ml_buildings_pbf) + .input(&self.resources.admin_osc) + .run() + } + } +} + +mod osmio { + use crate::Resource; + use crate::Result; + use std::env::temp_dir; + use std::process::Command; + + pub fn verify_installation() -> Result<()> { + let mut cmd = Command::new("osmium"); + cmd.arg("version"); + let mut child = match cmd.spawn() { + Ok(child) => child, + Err(err) => { + if let std::io::ErrorKind::NotFound = err.kind() { + eprintln!("osmium is missing. Install osmium and try again."); + } + return Err(err.into()); + } + }; + + let status = child.wait()?; + if !status.success() { + return Err(format!("`osmium version` exited with status: {status:?}").into()); + } + + Ok(()) + } + + #[derive(Debug)] + pub struct Merge<'a> { + output: &'a Resource, + inputs: Vec<&'a Resource>, + } + + impl<'a> Merge<'a> { + pub fn output(output: &'a Resource) -> Self { + Self { + output, + inputs: vec![], + } + } + + pub fn input(mut self, input: &'a Resource) -> Self { + self.inputs.push(input); + self + } + + pub fn run(self) -> Result<()> { + if self.output.local_path().exists() { + info!("output already exists at {:?}", self.output); + return Ok(()); + } + + let wip_output = temp_dir().join(self.output.name()); + + // TODO: Merge not sort + // osmium sort --strategy=multipass --progress -v --output merged-sorted-oscs-${VERSION}.osm.pbf "admin-${VERSION}.osc.bz2" "ms-ml-buildings-${VERSION}.osc.bz2" --overwrite + assert!(self.inputs.len() > 1); + let mut cmd = Command::new("osmium"); + cmd.arg("merge") + .arg("--progress") + .arg("-v") + .arg(format!("--output={}", wip_output.to_str().unwrap())); + + for input in self.inputs { + cmd.arg(input.local_path()); + } + + debug!("Running merge cmd: {cmd:?}"); + let mut child = cmd.spawn()?; + let status = child.wait()?; + if !status.success() { + return Err(format!("merged exited with status: {status:?}").into()); + } + + debug!("Merge succeeded."); + std::fs::rename(wip_output, self.output.local_path())?; + + Ok(()) + } + } + + /// osmium apply-changes planet.osm.pbf admins.osc.gz -o everything.osm.pbf + pub struct ApplyChanges<'a> { + output: &'a Resource, + inputs: Vec<&'a Resource>, + } + + impl<'a> ApplyChanges<'a> { + pub fn output(output: &'a Resource) -> Self { + Self { + output, + inputs: vec![], + } + } + + pub fn input(mut self, input: &'a Resource) -> Self { + self.inputs.push(input); + self + } + + pub fn run(self) -> Result<()> { + if self.output.local_path().exists() { + info!("output already exists at {:?}", self.output); + return Ok(()); + } + + let wip_output = temp_dir().join(self.output.name()); + + // TODO: Merge not sort + // osmium sort --strategy=multipass --progress -v --output merged-sorted-oscs-${VERSION}.osm.pbf "admin-${VERSION}.osc.bz2" "ms-ml-buildings-${VERSION}.osc.bz2" --overwrite + assert!(self.inputs.len() > 1); + let mut cmd = Command::new("osmium"); + cmd.arg("apply-changes") + .arg("--progress") + .arg("-v") + .arg(format!("--output={}", wip_output.to_str().unwrap())); + + for input in self.inputs { + cmd.arg(input.local_path()); + } + + debug!("Running merge cmd: {cmd:?}"); + let mut child = cmd.spawn()?; + let status = child.wait()?; + if !status.success() { + return Err(format!("merged exited with status: {status:?}").into()); + } + + debug!("Merge succeeded."); + std::fs::rename(wip_output, self.output.local_path())?; + + Ok(()) + } + } + +} diff --git a/builds/planet/env.sh b/builds/planet/env.sh index 18ef5e765..38d192ebf 100644 --- a/builds/planet/env.sh +++ b/builds/planet/env.sh @@ -1,4 +1,5 @@ -export HEADWAY_AREA=maps-earth-planet-v1.36 +export HEADWAY_PLANET_VERSION=v1.37 +export HEADWAY_AREA=maps-earth-planet-${HEADWAY_PLANET_VERSION} export HEADWAY_AREA_TAG="$HEADWAY_AREA" export HEADWAY_COUNTRIES="ALL" export HEADWAY_PUBLIC_URL=https://maps.earth diff --git a/builds/planet/prebuild.sh b/builds/planet/prebuild.sh new file mode 100755 index 000000000..7f0ec5084 --- /dev/null +++ b/builds/planet/prebuild.sh @@ -0,0 +1,17 @@ +#!/bin/bash -e + +if [ -z "$HEADWAY_PLANET_VERSION" ]; then + echo "missing HEADWAY_PLANET_VERSION" + exit 1 +fi + +OUTPUT_PBF="maps-earth-planet-${HEADWAY_PLANET_VERSION}.osm.pbf" +if [[ -f "${OUTPUT_PBF}" ]]; then + echo "pbf already exists: $(ls -l $OUTPUT_PBF)" + exit 0 +fi + +(cd $(dirname "$0") && \ + cd assemble-planet-pbf && \ + cargo run -- $HEADWAY_PLANET_VERSION && \ + mv "generated/${HEADWAY_PLANET_VERSION}/final-planet-${HEADWAY_PLANET_VERSION}.osm.pbf" ../../../${OUTPUT_PBF}) From 8184308a50c75d924c1c4c9d67646c4f71e8c4a3 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Tue, 20 Feb 2024 11:33:42 -0800 Subject: [PATCH 2/3] bump planet to 1.40 --- builds/planet/env.sh | 2 +- k8s/configs/planet-dev/deployment-config.yaml | 10 +++++----- .../planet-dev/opentripplanner-barcelona-config.yaml | 2 +- .../planet-dev/opentripplanner-losangeles-config.yaml | 2 +- .../planet-dev/opentripplanner-pugetsound-config.yaml | 2 +- k8s/configs/planet/deployment-config.yaml | 10 +++++----- .../planet/opentripplanner-barcelona-config.yaml | 2 +- .../planet/opentripplanner-losangeles-config.yaml | 2 +- .../planet/opentripplanner-pugetsound-config.yaml | 2 +- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/builds/planet/env.sh b/builds/planet/env.sh index 38d192ebf..e5042ceb6 100644 --- a/builds/planet/env.sh +++ b/builds/planet/env.sh @@ -1,4 +1,4 @@ -export HEADWAY_PLANET_VERSION=v1.37 +export HEADWAY_PLANET_VERSION=v1.40 export HEADWAY_AREA=maps-earth-planet-${HEADWAY_PLANET_VERSION} export HEADWAY_AREA_TAG="$HEADWAY_AREA" export HEADWAY_COUNTRIES="ALL" diff --git a/k8s/configs/planet-dev/deployment-config.yaml b/k8s/configs/planet-dev/deployment-config.yaml index b8949998a..ba4b11861 100644 --- a/k8s/configs/planet-dev/deployment-config.yaml +++ b/k8s/configs/planet-dev/deployment-config.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: deployment-config data: - area: maps-earth-planet-v1.36 + area: maps-earth-planet-v1.40 public-url: https://maps.earth bbox: "" enable-transit-routing: "1" @@ -13,10 +13,10 @@ data: www-contact-link-text: "Contact Us" terrain-source-url: https://data.example.com/0.6.0/terrain.mbtiles landcover-source-url: https://data.example.com/0.6.0/landcover.mbtiles - areamap-source-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.mbtiles - valhalla-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.valhalla.tar.zst - placeholder-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.placeholder.tar.zst - elasticsearch-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.elasticsearch.tar.zst + areamap-source-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.mbtiles + valhalla-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.valhalla.tar.zst + placeholder-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.placeholder.tar.zst + elasticsearch-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.elasticsearch.tar.zst pelias-config-json: | { "logger": { diff --git a/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml b/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml index eeeb43fbe..ec4417933 100644 --- a/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml +++ b/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-barcelona-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/Barcelona.graph.obj.zst + graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/Barcelona.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml b/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml index fe6a4006b..b249b0e71 100644 --- a/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml +++ b/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-losangeles-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/LosAngeles.graph.obj.zst + graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/LosAngeles.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml b/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml index ee1a3af92..d3a987b7f 100644 --- a/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml +++ b/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: otp-pugetsound-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/PugetSound.graph.obj.zst + graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/PugetSound.graph.obj.zst router-config-json: | { "configVersion": "2023-05-24", diff --git a/k8s/configs/planet/deployment-config.yaml b/k8s/configs/planet/deployment-config.yaml index b8949998a..ba4b11861 100644 --- a/k8s/configs/planet/deployment-config.yaml +++ b/k8s/configs/planet/deployment-config.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: deployment-config data: - area: maps-earth-planet-v1.36 + area: maps-earth-planet-v1.40 public-url: https://maps.earth bbox: "" enable-transit-routing: "1" @@ -13,10 +13,10 @@ data: www-contact-link-text: "Contact Us" terrain-source-url: https://data.example.com/0.6.0/terrain.mbtiles landcover-source-url: https://data.example.com/0.6.0/landcover.mbtiles - areamap-source-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.mbtiles - valhalla-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.valhalla.tar.zst - placeholder-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.placeholder.tar.zst - elasticsearch-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/maps-earth-planet-v1.36.elasticsearch.tar.zst + areamap-source-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.mbtiles + valhalla-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.valhalla.tar.zst + placeholder-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.placeholder.tar.zst + elasticsearch-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.elasticsearch.tar.zst pelias-config-json: | { "logger": { diff --git a/k8s/configs/planet/opentripplanner-barcelona-config.yaml b/k8s/configs/planet/opentripplanner-barcelona-config.yaml index eeeb43fbe..ec4417933 100644 --- a/k8s/configs/planet/opentripplanner-barcelona-config.yaml +++ b/k8s/configs/planet/opentripplanner-barcelona-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-barcelona-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/Barcelona.graph.obj.zst + graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/Barcelona.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet/opentripplanner-losangeles-config.yaml b/k8s/configs/planet/opentripplanner-losangeles-config.yaml index fe6a4006b..b249b0e71 100644 --- a/k8s/configs/planet/opentripplanner-losangeles-config.yaml +++ b/k8s/configs/planet/opentripplanner-losangeles-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-losangeles-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/LosAngeles.graph.obj.zst + graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/LosAngeles.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet/opentripplanner-pugetsound-config.yaml b/k8s/configs/planet/opentripplanner-pugetsound-config.yaml index 9b10b853a..b5a03e32b 100644 --- a/k8s/configs/planet/opentripplanner-pugetsound-config.yaml +++ b/k8s/configs/planet/opentripplanner-pugetsound-config.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: otp-pugetsound-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.36/PugetSound.graph.obj.zst + graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/PugetSound.graph.obj.zst router-config-json: | { "updaters": [ From 6dbd34569454a019db26aaead529ef1e53da3071 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Tue, 27 Feb 2024 13:52:30 -0800 Subject: [PATCH 3/3] bump schema --- bin/_headway_version.sh | 6 +++++- k8s/configs/planet-dev/deployment-config.yaml | 12 ++++++------ .../planet-dev/opentripplanner-barcelona-config.yaml | 2 +- .../opentripplanner-losangeles-config.yaml | 2 +- .../opentripplanner-pugetsound-config.yaml | 2 +- k8s/configs/planet/deployment-config.yaml | 12 ++++++------ .../planet/opentripplanner-barcelona-config.yaml | 2 +- .../planet/opentripplanner-losangeles-config.yaml | 2 +- .../planet/opentripplanner-pugetsound-config.yaml | 2 +- 9 files changed, 23 insertions(+), 19 deletions(-) diff --git a/bin/_headway_version.sh b/bin/_headway_version.sh index 3fa083235..b83a7a0ba 100644 --- a/bin/_headway_version.sh +++ b/bin/_headway_version.sh @@ -21,10 +21,14 @@ # A bump in the DATA tag pretty much always implies a bump in the CONTAINER # tag, but not necessarily vice-versa. -export HEADWAY_DATA_TAG=0.6.0 +export HEADWAY_DATA_TAG=0.7.0 # # Schema change Log # +# ## DATA v0.7.0, CONTAINER v0.8.0 +# +# BREAKING DATA: Updated Planetiler +# # ## DATA v0.6.0, CONTAINER v0.7.0 # # BREAKING DATA: Updated OTP and Valhalla diff --git a/k8s/configs/planet-dev/deployment-config.yaml b/k8s/configs/planet-dev/deployment-config.yaml index ba4b11861..31199587d 100644 --- a/k8s/configs/planet-dev/deployment-config.yaml +++ b/k8s/configs/planet-dev/deployment-config.yaml @@ -11,12 +11,12 @@ data: www-about-link-text: "About maps.earth" www-contact-url: "mailto:info@maps.earth?subject=Hello,%20Earth" www-contact-link-text: "Contact Us" - terrain-source-url: https://data.example.com/0.6.0/terrain.mbtiles - landcover-source-url: https://data.example.com/0.6.0/landcover.mbtiles - areamap-source-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.mbtiles - valhalla-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.valhalla.tar.zst - placeholder-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.placeholder.tar.zst - elasticsearch-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.elasticsearch.tar.zst + terrain-source-url: https://data.example.com/0.7.0/terrain.mbtiles + landcover-source-url: https://data.example.com/0.7.0/landcover.mbtiles + areamap-source-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.mbtiles + valhalla-artifact-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.valhalla.tar.zst + placeholder-artifact-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.placeholder.tar.zst + elasticsearch-artifact-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.elasticsearch.tar.zst pelias-config-json: | { "logger": { diff --git a/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml b/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml index ec4417933..c20ae00bb 100644 --- a/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml +++ b/k8s/configs/planet-dev/opentripplanner-barcelona-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-barcelona-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/Barcelona.graph.obj.zst + graph-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/Barcelona.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml b/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml index b249b0e71..9008eaf01 100644 --- a/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml +++ b/k8s/configs/planet-dev/opentripplanner-losangeles-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-losangeles-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/LosAngeles.graph.obj.zst + graph-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/LosAngeles.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml b/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml index d3a987b7f..1ec93f77e 100644 --- a/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml +++ b/k8s/configs/planet-dev/opentripplanner-pugetsound-config.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: otp-pugetsound-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/PugetSound.graph.obj.zst + graph-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/PugetSound.graph.obj.zst router-config-json: | { "configVersion": "2023-05-24", diff --git a/k8s/configs/planet/deployment-config.yaml b/k8s/configs/planet/deployment-config.yaml index ba4b11861..31199587d 100644 --- a/k8s/configs/planet/deployment-config.yaml +++ b/k8s/configs/planet/deployment-config.yaml @@ -11,12 +11,12 @@ data: www-about-link-text: "About maps.earth" www-contact-url: "mailto:info@maps.earth?subject=Hello,%20Earth" www-contact-link-text: "Contact Us" - terrain-source-url: https://data.example.com/0.6.0/terrain.mbtiles - landcover-source-url: https://data.example.com/0.6.0/landcover.mbtiles - areamap-source-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.mbtiles - valhalla-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.valhalla.tar.zst - placeholder-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.placeholder.tar.zst - elasticsearch-artifact-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.elasticsearch.tar.zst + terrain-source-url: https://data.example.com/0.7.0/terrain.mbtiles + landcover-source-url: https://data.example.com/0.7.0/landcover.mbtiles + areamap-source-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.mbtiles + valhalla-artifact-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.valhalla.tar.zst + placeholder-artifact-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.placeholder.tar.zst + elasticsearch-artifact-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/maps-earth-planet-v1.40.elasticsearch.tar.zst pelias-config-json: | { "logger": { diff --git a/k8s/configs/planet/opentripplanner-barcelona-config.yaml b/k8s/configs/planet/opentripplanner-barcelona-config.yaml index ec4417933..c20ae00bb 100644 --- a/k8s/configs/planet/opentripplanner-barcelona-config.yaml +++ b/k8s/configs/planet/opentripplanner-barcelona-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-barcelona-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/Barcelona.graph.obj.zst + graph-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/Barcelona.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet/opentripplanner-losangeles-config.yaml b/k8s/configs/planet/opentripplanner-losangeles-config.yaml index b249b0e71..9008eaf01 100644 --- a/k8s/configs/planet/opentripplanner-losangeles-config.yaml +++ b/k8s/configs/planet/opentripplanner-losangeles-config.yaml @@ -3,6 +3,6 @@ kind: ConfigMap metadata: name: otp-losangeles-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/LosAngeles.graph.obj.zst + graph-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/LosAngeles.graph.obj.zst router-config-json: "" diff --git a/k8s/configs/planet/opentripplanner-pugetsound-config.yaml b/k8s/configs/planet/opentripplanner-pugetsound-config.yaml index b5a03e32b..ccf989e2e 100644 --- a/k8s/configs/planet/opentripplanner-pugetsound-config.yaml +++ b/k8s/configs/planet/opentripplanner-pugetsound-config.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: otp-pugetsound-config data: - graph-url: https://data.example.com/0.6.0/maps-earth-planet-v1.40/PugetSound.graph.obj.zst + graph-url: https://data.example.com/0.7.0/maps-earth-planet-v1.40/PugetSound.graph.obj.zst router-config-json: | { "updaters": [