{"id":181781,"date":"2026-05-28T14:48:30","date_gmt":"2026-05-28T12:48:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor"},"modified":"2026-05-28T14:48:30","modified_gmt":"2026-05-28T12:48:30","slug":"opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","title":{"rendered":"Bol zverejnen\u00fd syst\u00e9m ukladania Blockstor, ktor\u00fd je alternat\u00edvou k LINSTOR","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>K dispoz\u00edcii je prv\u00e9 vydanie Blockstor \u2014 otvoren\u00e9ho syst\u00e9mu na spr\u00e1vu distribuovan\u00e9ho blokov\u00e9ho \u00falo\u017eiska pre Kubernetes, ktor\u00fd zabezpe\u010duje replik\u00e1ciu d\u00e1t nad DRBD. Blockstor je kompatibiln\u00fd s REST API LINSTOR a m\u00f4\u017ee bez zmien pracova\u0165 s existuj\u00facou ekosyst\u00e9mom klientov, vr\u00e1tane pr\u00edkazov\u00e9ho n\u00e1stroja linstor, CSI ovl\u00e1da\u010da, oper\u00e1tora Piraeus, ha-controller a kni\u017enice golinstor. Projekt predstavuje \u00faplne samostatn\u00fa (clean-room) implement\u00e1ciu v jazyku Go, ktor\u00e1 nepou\u017e\u00edva zdrojov\u00fd k\u00f3d origin\u00e1lu. K\u00f3d je distribuovan\u00fd pod licenciou Apache 2.0 a vyv\u00edja sa v r\u00e1mci plo\u0161iny Cozystack (projekt CNCF Sandbox).<\/p>\n<p>Autorom projektu je Andrej Kvapil (@kvaps), zakladate\u013e Cozystack a \u00fa\u010dastn\u00edk neziskovej organiz\u00e1cie Piraeus, v r\u00e1mci ktorej sa vyv\u00edjaj\u00fa oper\u00e1tor a CSI ovl\u00e1da\u010d LINSTOR pre Kubernetes. Autor je zn\u00e1my v komunite Kubernetes ako populariz\u00e1tor LINSTOR a viackr\u00e1t vyst\u00fapil s technick\u00fdmi predn\u00e1\u0161kami na t\u00e9mu. P\u00f4vodne bola vyvinut\u00e1 ako mal\u00e1 \u201epiatkov\u00e1\u201c iniciat\u00edva, av\u0161ak nakoniec sa z nej stalo pribli\u017ene 20 dn\u00ed nepretr\u017eitej pr\u00e1ce. V s\u00fa\u010dasnosti sa projekt vyv\u00edja ako v\u00fdskumn\u00fd, av\u0161ak do bud\u00facna sa zva\u017euje ako mo\u017en\u00e1 n\u00e1hrada LINSTOR v \u00falohe predvolen\u00e9ho \u00falo\u017eiska v Cozystack.<\/p>\n<p>Medzi d\u00f4vodmi na vytvorenie nov\u00e9ho projektu sa spom\u00ednaj\u00fa \u0165a\u017ekosti so spr\u00e1van\u00edm p\u00f4vodn\u00e9ho projektu a prenosom zmien do hlavn\u00e9ho projektu, ako aj architektonick\u00e9 obmedzenia LINSTOR. P\u00f4vodn\u00fd projekt pou\u017e\u00edva \u201erequest-based\u201c model spracovania po\u017eiadaviek v re\u00e1lnom \u010dase, ktor\u00fd sa ukazuje ako problematick\u00fd na ve\u013ek\u00fdch objemoch, zatia\u013e \u010do deklarat\u00edvny pr\u00edstup reconcili\u00e1cie Kubernetes a framework controller-runtime, pod\u013ea autora, v\u00fdrazne lep\u0161ie vyhovuje na budovanie distribuovan\u00fdch syst\u00e9mov.<\/p>\n<p>Na rozdiel od LINSTOR je architekt\u00fara Blockstor \u00faplne zalo\u017een\u00e1 na pr\u00edstupe Kubernetes controller-runtime. Konfigur\u00e1cia a aktu\u00e1lny stav syst\u00e9mu s\u00fa reprezentovan\u00e9 vo forme Kubernetes CRD objektov, a samotn\u00fd syst\u00e9m nie je navrhnut\u00fd na pr\u00e1cu mimo Kubernetes klastra.<\/p>\n<p>Medzi hlavn\u00e9 funkcie Blockstor patr\u00ed:<\/p>\n<ul>\n<li class=\"l\"> Replikovan\u00e9 nad DRBD zv\u00e4zky na b\u00e1ze LVM, LVM-thin, ZFS, ZFS-thin a s\u00faborov\u00fdch backendov.\n<li class=\"l\"> Automatick\u00e9 umiestnenie replik s oh\u013eadom na z\u00f3ny, vlastnosti uzlov a pravidl\u00e1 \u201ereplicas-on-different\u201c.\n<li class=\"l\"> Podpora TieBreaker, quorum a zmena ve\u013ekosti zv\u00e4zkov bez zastavenia prev\u00e1dzky.\n<li class=\"l\"> Mo\u017enos\u0165 pr\u00e1ce bez DRBD v re\u017eime lok\u00e1lneho (single-replica diskful) alebo bezdiskov\u00e9ho \u00falo\u017eiska.\n<li class=\"l\"> \u0160ifrovanie zv\u00e4zkov cez LUKS.\n<li class=\"l\"> Podpora sn\u00edmok: vytv\u00e1ranie, obnova, klonovanie a obnovenie ako nov\u00e9ho zdroja.\n<li class=\"l\"> Prenos sn\u00edmok v r\u00e1mci klastru cez zfs send\/recv a thin-send-recv.\n<li class=\"l\"> Vytv\u00e1ranie storage pool'ov z fyzick\u00fdch diskov.\n<li class=\"l\"> Zosn\u00edman\u00e9 kontajnerov\u00e9 obrazy pre r\u00f4zne architekt\u00fary (linux\/amd64 a linux\/arm64), publikovan\u00e9 v GHCR.\n<\/ul>\n<p>Osobitos\u0165ou projektu bolo akt\u00edvne vyu\u017e\u00edvanie AI n\u00e1strojov pri v\u00fdvoji. Takmer cel\u00fd k\u00f3d bol pripraven\u00fd pomocou Claude Code (model Opus 4.7) spolo\u010dnosti Anthropic. V\u00fdvoj prebiehal takmer bez prestania po\u010das pribli\u017ene 20 dn\u00ed. V niektor\u00fdch momentoch naraz pracovalo a\u017e 60 AI agentov a celkov\u00fd dial\u00f3g v\u00fdvoja sa skladal z pribli\u017ene 1320 ot\u00e1zok zo strany autora a okolo 36 tis\u00edc odpoved\u00ed modelu v r\u00e1mci jednej kontinu\u00e1lnej rel\u00e1cie.<\/p>\n<p>Na v\u00fdstupe sa podarilo dosiahnu\u0165 1500 commitov, v ktor\u00fdch 83 tis\u00edc riadkov k\u00f3du obsadila implement\u00e1cia a \u010fal\u0161\u00edch 137 tis\u00edc riadkov k\u00f3du testy. Pod\u013ea predbe\u017en\u00fdch odhadov bolo celkovo spotrebovan\u00fdch pribli\u017ene 18.9 miliardy tokenov a ekvivalentn\u00e1 cena tak\u00e9hoto objemu pri pou\u017e\u00edvan\u00ed API tar\u00edf by predstavovala okolo 40 tis\u00edc dol\u00e1rov.<\/p>\n<p>Autor p\u00f4vodne po\u010d\u00edtal s takmer \u00faplne auton\u00f3mnym v\u00fdvojom pomocou AI modelu, av\u0161ak zlo\u017eit\u00e1 logika DRBD si vy\u017eiadala neust\u00e1lu \u00fa\u010das\u0165 \u010dloveka. Najzlo\u017eitej\u0161\u00edmi sa uk\u00e1zali scen\u00e1re zladenia stavov DRBD, pr\u00e1ca s Generation Identifier (GI), preskakovanie p\u00f4vodnej synchroniz\u00e1cie a spracovanie split-brain scen\u00e1rov.<\/p>\n<p>Ke\u010f\u017ee origin\u00e1lny LINSTOR sa distribuuje pod licenciou GPL, pou\u017ei\u0165 jeho k\u00f3d priamo nebolo mo\u017en\u00e9. Hlavn\u00e1 \u010das\u0165 implement\u00e1cie sa vytv\u00e1rala na z\u00e1klade anal\u00fdzy API kontraktov, spr\u00e1vania util\u00edt, Python klienta LINSTOR a taktie\u017e licen\u010dne kompatibiln\u00fdch projektov, vr\u00e1tane piraeus-operator a CSI ovl\u00e1da\u010da.<\/p>\n<p>V najzlo\u017eitej\u0161\u00edch pr\u00edpadoch sa aplikoval model rozdelenia rol\u00ed AI agentov: jeden agent analyzoval zdrojov\u00fd k\u00f3d LINSTOR a vytv\u00e1ral textov\u00fa \u0161pecifik\u00e1ciu spr\u00e1vania, na z\u00e1klade ktorej druh\u00fd agent implementoval funkcionalitu v\u00fdhradne pod\u013ea tejto \u0161pecifik\u00e1cie bez priameho kop\u00edrovania zdrojov\u00e9ho k\u00f3du. Vzh\u013eadom na absenciu otvoren\u00fdch testov v origin\u00e1lnom projekte bolo potrebn\u00e9 zostavi\u0165 testov\u00fa z\u00e1klad\u0148u samostatne.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65546\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor &#8212; \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD. Blockstor \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u043f\u043e REST API \u0441 LINSTOR \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 linstor, CSI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 Piraeus, ha-controller \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 golinstor. \u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u0443\u044e (clean-room) \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181781","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor - \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f Blockstor, \u044f\u0432\u043b\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043e\u0439 LINSTOR | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor - \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-05-28T12:48:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-28T12:48:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Zverejnen\u00fd syst\u00e9m ukladania Blockstor, ktor\u00fd je alternat\u00edvou LINSTOR | ProHoster","description":"Prv\u00fd vydanie Blockstor je k dispoz\u00edcii - otvoren\u00fd syst\u00e9m na spr\u00e1vu distribuovan\u00e9ho blokov\u00e9ho \u00falo\u017eiska pre Kubernetes, ktor\u00fd zabezpe\u010duje replik\u00e1ciu d\u00e1t na DRBD.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f Blockstor, \u044f\u0432\u043b\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043e\u0439 LINSTOR | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Blockstor - \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u0447\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u043b\u044f Kubernetes, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0435\u0440\u0445 DRBD.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/opublikovana-sistema-hraneniya-blockstor-yavlyayushhayasya-alternativoj-linstor","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-05-28T12:48:30+00:00","article:modified_time":"2026-05-28T12:48:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/181781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=181781"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/181781\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=181781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=181781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=181781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}