[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs:\u002Fdocs\u002Foperators\u002Fupdates":3,"docs:nav":926,"docs:surround:\u002Fdocs\u002Foperators\u002Fupdates":1132},{"id":4,"title":5,"body":6,"description":916,"extension":917,"launchGate":918,"meta":919,"navigation":920,"path":921,"seo":922,"stem":923,"stub":924,"__hash__":925},"docs_en\u002Fdocs\u002F4.operators\u002F1.updates.md","Updates and maintenance windows",{"type":7,"value":8,"toc":894},"minimark",[9,13,21,26,34,71,74,78,88,106,110,121,135,146,150,156,161,215,218,222,293,297,300,310,313,320,324,400,430,445,449,458,462,472,484,488,507,514,518,525,571,585,588,592,595,599,602,625,635,639,674,678,689,710,714,721,817,826,862,869,873,890],[10,11,12],"p",{},"Velrix updates are signed releases. Each one carries new versions of the platform’s modules, and sometimes a new operating system image. You decide where they come from, whether they install by hand or on their own, in which windows, and how much warning everyone gets.",[10,14,15,16,20],{},"Everything here is in the ",[17,18,19],"strong",{},"Updates"," app in the Manager. You need operator rights for the platform.",[22,23,25],"h2",{"id":24},"releases-and-their-names","Releases and their names",[10,27,28,29,33],{},"A release is named by year, month and patch: ",[30,31,32],"code",{},"2026.10.1",".",[35,36,37,52,64],"ul",{},[38,39,40,41,44,45,47,48,51],"li",{},"A ",[17,42,43],{},"patch release"," keeps the year and month (",[30,46,32],{}," → ",[30,49,50],{},"2026.10.2","). It fixes things.",[38,53,40,54,57,58,47,60,63],{},[17,55,56],{},"feature release"," starts a new month (",[30,59,50],{},[30,61,62],{},"2026.11.0","). It brings new things.",[38,65,66,67,70],{},"Either can be marked ",[17,68,69],{},"Security",": it fixes a security problem.",[10,72,73],{},"Every release is checked against our signature before anything installs. A release that does not verify is refused.",[22,75,77],{"id":76},"where-updates-come-from","Where updates come from",[10,79,80,81,84,85,33],{},"Your installation is either online or offline, and updates follow it. You see which at the top of every Updates tab, with ",[17,82,83],{},"Change in Manager",", which opens ",[17,86,87],{},"Manager › Connectivity",[35,89,90,96],{},[38,91,92,95],{},[17,93,94],{},"Online",": updates come from Velrix over the installation’s link. Velrix checks for new releases every day, and whenever you ask.",[38,97,98,101,102,105],{},[17,99,100],{},"Offline",": updates come only on a USB stick, and installing one needs your installation’s ",[17,103,104],{},"update key",". Offline, Velrix makes no outbound call for updates at all.",[22,107,109],{"id":108},"release-channels","Release channels",[10,111,112,113,116,117,120],{},"Every release runs first on Velrix Public Cloud. Your installation chooses its ",[17,114,115],{},"Release channel"," in ",[17,118,119],{},"Updates › Settings",":",[35,122,123,129],{},[38,124,125,128],{},[17,126,127],{},"Stable",", the default: only releases first proven on Velrix Public Cloud. We promote a release to stable once it has run there for seven days without a rollback, with a statement signed by the same keys as the release.",[38,130,131,134],{},[17,132,133],{},"Edge",": every release, the day it is made.",[10,136,137,138,141,142,145],{},"The Overview shows the channel, and each release as ",[17,139,140],{},"Stable since …"," or ",[17,143,144],{},"Edge only, not yet stable",". On stable, a release whose statement does not verify is refused. A USB stick carries the statement too, and it is checked the same way offline.",[22,147,149],{"id":148},"the-update-policy","The update policy",[10,151,152,153,155],{},"Open ",[17,154,119],{},". Every change is recorded in the audit trail, with who made it.",[157,158,160],"h3",{"id":159},"how-updates-install","How updates install",[162,163,164,177],"table",{},[165,166,167],"thead",{},[168,169,170,174],"tr",{},[171,172,173],"th",{},"Mode",[171,175,176],{},"What happens",[178,179,180,195,205],"tbody",{},[168,181,182,189],{},[183,184,185,188],"td",{},[17,186,187],{},"Manual"," (the default)",[183,190,191,192,33],{},"You are told about a new release. Nothing installs until a person chooses ",[17,193,194],{},"Install now",[168,196,197,202],{},[183,198,199],{},[17,200,201],{},"Download",[183,203,204],{},"Each release is fetched and staged on every server once its waiting time is over, and you are told. A person still starts it.",[168,206,207,212],{},[183,208,209],{},[17,210,211],{},"Automatic",[183,213,214],{},"Each release installs on its own, in the next maintenance window after its waiting time.",[10,216,217],{},"Automatic and download apply to online releases only. A release on a USB stick always needs a person, because someone has to touch the update key. If an online installation goes offline with automatic chosen, the policy stays stored and acts as manual until it is online again.",[157,219,221],{"id":220},"waiting-times","Waiting times",[162,223,224,237],{},[165,225,226],{},[168,227,228,231,234],{},[171,229,230],{},"Setting",[171,232,233],{},"Default",[171,235,236],{},"Meaning",[178,238,239,250,261,272,282],{},[168,240,241,244,247],{},[183,242,243],{},"Patch releases wait",[183,245,246],{},"0 days",[183,248,249],{},"Days after we signed a patch release before it may install",[168,251,252,255,258],{},[183,253,254],{},"Security patches skip the wait",[183,256,257],{},"Yes",[183,259,260],{},"A security patch may install at once",[168,262,263,266,269],{},[183,264,265],{},"Feature releases wait",[183,267,268],{},"14 days",[183,270,271],{},"Days before a feature release may install",[168,273,274,277,280],{},[183,275,276],{},"Security feature releases skip the wait",[183,278,279],{},"No",[183,281],{},[168,283,284,287,290],{},[183,285,286],{},"Deadline",[183,288,289],{},"Off",[183,291,292],{},"When set, a release still waiting this many days after it may install goes in at the next window, even in manual or download mode",[157,294,296],{"id":295},"maintenance-windows","Maintenance windows",[10,298,299],{},"A window is a set of days and a time range, in the policy’s time zone:",[301,302,308],"pre",{"className":303,"code":305,"language":306,"meta":307},[304],"language-text","sun 02:00-05:00\nsat,sun 02:00-05:00\nmon-fri 22:00-01:00\ndaily 03:00-04:00\n","text","",[30,309,305],{"__ignoreMap":307},[10,311,312],{},"Add as many lines as you need. A window may run over midnight. With no window, updates may start at any time.",[10,314,315,316,319],{},"The time zone defaults to ",[30,317,318],{},"Europe\u002FStockholm",". On the night the clocks go forward, a window that starts in the skipped hour starts when the clocks have jumped; on the night they go back, it starts at the first of the two.",[157,321,323],{"id":322},"warnings","Warnings",[162,325,326,336],{},[165,327,328],{},[168,329,330,332,334],{},[171,331,230],{},[171,333,233],{},[171,335,236],{},[178,337,338,349,360,375,390],{},[168,339,340,343,346],{},[183,341,342],{},"Least warning",[183,344,345],{},"15 minutes",[183,347,348],{},"An update never starts sooner than this after it was planned",[168,350,351,354,357],{},[183,352,353],{},"Reminders",[183,355,356],{},"24 h, 1 h, 15 min, 5 min",[183,358,359],{},"Notices before the start",[168,361,362,365,368],{},[183,363,364],{},"Who is warned",[183,366,367],{},"Operators",[183,369,370,371,374],{},"Or ",[17,372,373],{},"Everyone",": every signed-in person also sees a maintenance banner",[168,376,377,380,383],{},[183,378,379],{},"Postpone choices",[183,381,382],{},"1 h, 4 h, 24 h",[183,384,385,386,389],{},"What ",[17,387,388],{},"Postpone"," offers",[168,391,392,395,398],{},[183,393,394],{},"Postpones allowed",[183,396,397],{},"3, at most 72 hours in all",[183,399],{},[10,401,402,403,406,407,406,410,141,413,416,417,406,420,406,423,406,426,429],{},"Reminders and postpone choices are lists of durations, up to 12 each: a number and a unit, ",[30,404,405],{},"s",", ",[30,408,409],{},"m",[30,411,412],{},"h",[30,414,415],{},"d"," (",[30,418,419],{},"90s",[30,421,422],{},"15m",[30,424,425],{},"1h",[30,427,428],{},"2d","). Type one and press Enter, or paste several at once.",[10,431,432,433,435,436,440,441,444],{},"Operators get a notice when an update is planned, with a countdown to the start, and the reminders as it comes closer. With ",[17,434,373],{},", each signed-in person sees a banner such as ",[437,438,439],"em",{},"Maintenance planned at 02:00: your windows may reconnect for a moment",", with the same countdown, and ",[437,442,443],{},"Under way"," while it runs.",[157,446,448],{"id":447},"pausing","Pausing",[10,450,451,454,455,33],{},[17,452,453],{},"Pause"," stops all updates, deadlines included, for 1 to 35 days. The pause ends on its own, or when you choose ",[17,456,457],{},"Resume",[22,459,461],{"id":460},"when-an-update-is-planned","When an update is planned",[10,463,464,467,468,471],{},[17,465,466],{},"Updates › Available"," shows the release, its badges (patch or feature, Security), and when it will install, such as ",[437,469,470],{},"Installs 2026-10-04 02:00 (Europe\u002FStockholm)",", with a meter counting down. From there:",[35,473,474,479],{},[38,475,476,478],{},[17,477,194],{}," starts it at once, after you confirm.",[38,480,481,483],{},[17,482,388],{}," moves it by one of the choices left. It then starts in the first window after the new time.",[22,485,487],{"id":486},"what-happens-during-an-update","What happens during an update",[489,490,491,494,497,500],"ol",{},[38,492,493],{},"Velrix asks again whether the release is still offered. A release we have withdrawn is refused.",[38,495,496],{},"It stages the release on every server.",[38,498,499],{},"It installs it server by server. Every service restarts once: storage one copy at a time, so your data stays reachable, and the edge, which your people connect through, last.",[38,501,502,503,506],{},"After each step it checks the platform’s health. If the new release fails, ",[17,504,505],{},"the previous release is put back"," on its own, and you are told that it was rolled back.",[10,508,509,510,513],{},"You get a notice when it is done, rolled back, or failed. ",[17,511,512],{},"Updates › History"," keeps every attempt, with its result and who started or approved it.",[22,515,517],{"id":516},"restarting-servers-for-a-new-operating-system","Restarting servers for a new operating system",[10,519,520,521,524],{},"Some releases include a new operating system image. Each server takes it at its next restart, and keeps its previous image to go back to. On ",[17,522,523],{},"Settings",", choose how servers restart for it:",[162,526,527,536],{},[165,528,529],{},[168,530,531,534],{},[171,532,533],{},"Choice",[171,535,176],{},[178,537,538,547,561],{},[168,539,540,544],{},[183,541,542,188],{},[17,543,187],{},[183,545,546],{},"You restart each server yourself, from the update’s page.",[168,548,549,554],{},[183,550,551],{},[17,552,553],{},"Rolling",[183,555,556,557,560],{},"Velrix restarts one server at a time, inside the restart windows (by default ",[30,558,559],{},"sun 03:00-05:00","), and waits for each to come back before the next.",[168,562,563,568],{},[183,564,565],{},[17,566,567],{},"Rolling when safe",[183,569,570],{},"The same, but only servers with no workloads running are restarted. The others wait.",[572,573,576],"callout",{"color":574,"icon":575},"neutral","i-lucide-triangle-alert",[10,577,578,579,584],{},"A restart stops the workloads on that server while it lasts. Draining a server first, moving its workloads away and its virtual machines live, comes with ",[580,581,583],"a",{"href":582},"\u002Fdocs\u002Foperators\u002Favailability","availability and drain",", available at launch.",[10,586,587],{},"A server that does not go down within 10 minutes, or does not come back within 30, stops the rolling restart, and you are told.",[22,589,591],{"id":590},"installing-from-a-usb-stick","Installing from a USB stick",[10,593,594],{},"An offline installation, or any installation whose link is down, installs releases from a stick.",[157,596,598],{"id":597},"enrol-the-update-key-once","Enrol the update key, once",[10,600,601],{},"The update key is a hardware security key, such as a YubiKey 5 or a Nitrokey 3, plugged into one of your servers. Each installation has exactly one.",[489,603,604,613,616,619,622],{},[38,605,152,606,609,610,33],{},[17,607,608],{},"Updates › Update key"," and choose ",[17,611,612],{},"Enroll",[38,614,615],{},"Enter the key’s PIN. A key still on its factory PIN is refused: choose a new one.",[38,617,618],{},"Velrix makes a key pair on the device itself. The private half can never leave it. Velrix checks that the device is genuine from its maker’s attestation, and records its model, serial and firmware.",[38,620,621],{},"Velrix also replaces the device’s management key with a random one kept behind the PIN, so nobody holding the factory management key can replace your key, and blocks a PUK still on its factory value.",[38,623,624],{},"Touch the key when it blinks. You have 30 seconds.",[10,626,627,630,631,634],{},[17,628,629],{},"Rotate"," the key if it is ever lost or exposed: the old one is refused at once. ",[17,632,633],{},"Revoke"," stops offline updates until a new key is enrolled; online updates carry on.",[157,636,638],{"id":637},"install","Install",[489,640,641,648,655,660,671],{},[38,642,643,644,647],{},"Get the release from us, on a stick labelled ",[30,645,646],{},"VELRIX-UPDATE"," or as files to put on one.",[38,649,650,651,654],{},"Plug it into one of your servers. Velrix finds it, and operators get a notice and a banner with ",[17,652,653],{},"Review",". The stick’s name only helps you recognise it: Velrix trusts our signature and the digests in it, never the name.",[38,656,657,659],{},[17,658,653],{}," opens the release: what changes, module by module, and where it came from.",[38,661,662,663,666,667,670],{},"Choose ",[17,664,665],{},"Start update",", enter the update key’s PIN, and ",[17,668,669],{},"touch the key"," when asked. The page counts down the time left to touch it.",[38,672,673],{},"Velrix copies the release from the stick to every other server, checks each copy, then installs server by server as above.",[22,675,677],{"id":676},"when-an-update-needs-the-realm-key","When an update needs the realm key",[10,679,680,681,684,685,688],{},"A release can add a module to your installation, or change what a module may do. Those modules need new identities, and only your realm key signs identities. The update then stops before it changes anything, and ",[17,682,683],{},"Manager › Realm key"," says ",[437,686,687],{},"Update … waits for the realm key",", with the modules it needs.",[489,690,691,694,707],{},[38,692,693],{},"Take a realm key stick from the safe and plug it into the first server. No USB port, as on a VPS? Use the encrypted file the installer let you download.",[38,695,696,697,699,700,703,704,33],{},"In ",[17,698,683],{},", choose ",[17,701,702],{},"Sign what an update needs",". Add the realm key file if there is no stick, type the passphrase, and choose ",[17,705,706],{},"Sign with the realm key",[38,708,709],{},"The server opens the key in memory only, signs just the modules the update named, and forgets it. The update goes on by itself from where it stopped.",[22,711,713],{"id":712},"at-a-servers-console","At a server’s console",[10,715,716,717,720],{},"Releases can also come as a folder of files, signed by us, that you copy to a server and apply there. This is also the way in when the web client can’t be reached: ",[30,718,719],{},"velrix console"," on the server shows the releases staged there.",[301,722,726],{"className":723,"code":724,"language":725,"meta":307,"style":307},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","velrix release os \u003Cfolder>       # as root, when the release has a new operating system; then restart\nvelrix release verify \u003Cfolder>   # as velrix: checks our signature and lists what changes\nvelrix release apply \u003Cfolder>    # installs it on this server\nvelrix release rollback          # puts the previous release back by hand\n","bash",[30,727,728,762,783,804],{"__ignoreMap":307},[729,730,733,737,741,744,748,751,755,758],"span",{"class":731,"line":732},"line",1,[729,734,736],{"class":735},"szw1H","velrix",[729,738,740],{"class":739},"semJd"," release",[729,742,743],{"class":739}," os",[729,745,747],{"class":746},"sklAV"," \u003C",[729,749,750],{"class":739},"folde",[729,752,754],{"class":753},"s7iLA","r",[729,756,757],{"class":746},">",[729,759,761],{"class":760},"sq92B","       # as root, when the release has a new operating system; then restart\n",[729,763,765,767,769,772,774,776,778,780],{"class":731,"line":764},2,[729,766,736],{"class":735},[729,768,740],{"class":739},[729,770,771],{"class":739}," verify",[729,773,747],{"class":746},[729,775,750],{"class":739},[729,777,754],{"class":753},[729,779,757],{"class":746},[729,781,782],{"class":760},"   # as velrix: checks our signature and lists what changes\n",[729,784,786,788,790,793,795,797,799,801],{"class":731,"line":785},3,[729,787,736],{"class":735},[729,789,740],{"class":739},[729,791,792],{"class":739}," apply",[729,794,747],{"class":746},[729,796,750],{"class":739},[729,798,754],{"class":753},[729,800,757],{"class":746},[729,802,803],{"class":760},"    # installs it on this server\n",[729,805,807,809,811,814],{"class":731,"line":806},4,[729,808,736],{"class":735},[729,810,740],{"class":739},[729,812,813],{"class":739}," rollback",[729,815,816],{"class":760},"          # puts the previous release back by hand\n",[10,818,819,822,823,825],{},[30,820,821],{},"apply"," checks the platform’s health as it goes and rolls back on its own when the new release fails. If the release needs the realm key, ",[30,824,821],{}," stops and says so; sign as above, or at the console as root with the stick in:",[301,827,829],{"className":723,"code":828,"language":725,"meta":307,"style":307},"\u002Fusr\u002Flibexec\u002Fvelrix\u002Fissuer release a                          # with the realm key stick\n\u002Fusr\u002Flibexec\u002Fvelrix\u002Fissuer release a --key \u002Frun\u002Frealmkey.age  # with the file, copied to \u002Frun\n",[30,830,831,844],{"__ignoreMap":307},[729,832,833,836,838,841],{"class":731,"line":732},[729,834,835],{"class":735},"\u002Fusr\u002Flibexec\u002Fvelrix\u002Fissuer",[729,837,740],{"class":739},[729,839,840],{"class":739}," a",[729,842,843],{"class":760},"                          # with the realm key stick\n",[729,845,846,848,850,852,856,859],{"class":731,"line":764},[729,847,835],{"class":735},[729,849,740],{"class":739},[729,851,840],{"class":739},[729,853,855],{"class":854},"ssYy9"," --key",[729,857,858],{"class":739}," \u002Frun\u002Frealmkey.age",[729,860,861],{"class":760},"  # with the file, copied to \u002Frun\n",[10,863,864,865,33],{},"Delete the copied file afterwards. See also ",[580,866,868],{"href":867},"\u002Fdocs\u002Foperators\u002Frealm-ops","Running the realm",[22,870,872],{"id":871},"next","Next",[35,874,875,880,886],{},[38,876,877],{},[580,878,879],{"href":582},"Availability and drain",[38,881,882],{},[580,883,885],{"href":884},"\u002Fdocs\u002Foperators\u002Flicensing","Licensing",[38,887,888],{},[580,889,868],{"href":867},[891,892,893],"style",{},"html pre.shiki code .szw1H, html code.shiki .szw1H{--shiki-light:#702C00;--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .semJd, html code.shiki .semJd{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .sklAV, html code.shiki .sklAV{--shiki-light:#A0111F;--shiki-default:#A0111F;--shiki-dark:#FF9492}html pre.shiki code .s7iLA, html code.shiki .s7iLA{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sq92B, html code.shiki .sq92B{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#BDC4CC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}",{"title":307,"searchDepth":764,"depth":785,"links":895},[896,897,898,899,906,907,908,909,913,914,915],{"id":24,"depth":764,"text":25},{"id":76,"depth":764,"text":77},{"id":108,"depth":764,"text":109},{"id":148,"depth":764,"text":149,"children":900},[901,902,903,904,905],{"id":159,"depth":785,"text":160},{"id":220,"depth":785,"text":221},{"id":295,"depth":785,"text":296},{"id":322,"depth":785,"text":323},{"id":447,"depth":785,"text":448},{"id":460,"depth":764,"text":461},{"id":486,"depth":764,"text":487},{"id":516,"depth":764,"text":517},{"id":590,"depth":764,"text":591,"children":910},[911,912],{"id":597,"depth":785,"text":598},{"id":637,"depth":785,"text":638},{"id":676,"depth":764,"text":677},{"id":712,"depth":764,"text":713},{"id":871,"depth":764,"text":872},"How updates reach your installation, when they install and how people are warned; or install one from a USB stick.","md",null,{},true,"\u002Fdocs\u002Foperators\u002Fupdates",{"title":5,"description":916},"docs\u002F4.operators\u002F1.updates",false,"qQGtw7go0H1VqIK3lLsp9SpCq9722mMhBHxNnkfRP7M",[927],{"title":928,"path":929,"stem":930,"children":931,"page":-1},"Docs","\u002Fdocs","docs",[932,936,966,993,1027,1089,1103,1125],{"title":933,"path":929,"stem":934,"stub":924,"launchGate":918,"icon":935},"Overview","docs\u002Findex","i-lucide-house",{"title":937,"stub":924,"launchGate":918,"icon":938,"path":939,"stem":940,"children":941,"page":924},"Get started","i-lucide-rocket","\u002Fdocs\u002Fget-started","docs\u002F1.get-started",[942,946,950,954,958,962],{"title":943,"path":944,"stem":945,"stub":924,"launchGate":918},"What Velrix is","\u002Fdocs\u002Fget-started\u002Fwhat-is-velrix","docs\u002F1.get-started\u002F1.what-is-velrix",{"title":947,"path":948,"stem":949,"stub":924,"launchGate":918},"Ways to run Velrix","\u002Fdocs\u002Fget-started\u002Fways-to-run","docs\u002F1.get-started\u002F2.ways-to-run",{"title":951,"path":952,"stem":953,"stub":924,"launchGate":918},"Install from USB","\u002Fdocs\u002Fget-started\u002Finstall","docs\u002F1.get-started\u002F3.install",{"title":955,"path":956,"stem":957,"stub":924,"launchGate":918},"The setup wizard","\u002Fdocs\u002Fget-started\u002Fsetup-wizard","docs\u002F1.get-started\u002F4.setup-wizard",{"title":959,"path":960,"stem":961,"stub":924,"launchGate":918},"Your first app","\u002Fdocs\u002Fget-started\u002Ffirst-app","docs\u002F1.get-started\u002F5.first-app",{"title":963,"path":964,"stem":965,"stub":924,"launchGate":918},"Your first VM","\u002Fdocs\u002Fget-started\u002Ffirst-vm","docs\u002F1.get-started\u002F6.first-vm",{"title":967,"stub":924,"launchGate":918,"icon":968,"path":969,"stem":970,"children":971,"page":924},"Concepts","i-lucide-lightbulb","\u002Fdocs\u002Fconcepts","docs\u002F2.concepts",[972,976,980,984,988],{"title":973,"path":974,"stem":975,"stub":920,"launchGate":918},"Realms","\u002Fdocs\u002Fconcepts\u002Frealms","docs\u002F2.concepts\u002F1.realms",{"title":977,"path":978,"stem":979,"stub":920,"launchGate":918},"Instances and hosts","\u002Fdocs\u002Fconcepts\u002Finstances-and-hosts","docs\u002F2.concepts\u002F2.instances-and-hosts",{"title":981,"path":982,"stem":983,"stub":920,"launchGate":918},"Modules and the mesh","\u002Fdocs\u002Fconcepts\u002Fmodules-and-the-mesh","docs\u002F2.concepts\u002F3.modules-and-the-mesh",{"title":985,"path":986,"stem":987,"stub":920,"launchGate":918},"Organisations, projects and permissions","\u002Fdocs\u002Fconcepts\u002Forgs-projects-permissions","docs\u002F2.concepts\u002F4.orgs-projects-permissions",{"title":989,"path":990,"stem":991,"stub":920,"launchGate":992},"Host pools","\u002Fdocs\u002Fconcepts\u002Fhost-pools","docs\u002F2.concepts\u002F5.host-pools","A1",{"title":994,"stub":924,"launchGate":918,"icon":995,"path":996,"stem":997,"children":998,"page":924},"Guides for users","i-lucide-book-open","\u002Fdocs\u002Fguides","docs\u002F3.guides",[999,1003,1007,1011,1015,1019,1023],{"title":1000,"path":1001,"stem":1002,"stub":924,"launchGate":918},"Apps","\u002Fdocs\u002Fguides\u002Fapps","docs\u002F3.guides\u002F1.apps",{"title":1004,"path":1005,"stem":1006,"stub":920,"launchGate":918},"Machines","\u002Fdocs\u002Fguides\u002Fmachines","docs\u002F3.guides\u002F2.machines",{"title":1008,"path":1009,"stem":1010,"stub":920,"launchGate":918},"Volumes","\u002Fdocs\u002Fguides\u002Fvolumes","docs\u002F3.guides\u002F3.volumes",{"title":1012,"path":1013,"stem":1014,"stub":924,"launchGate":918},"Stacks","\u002Fdocs\u002Fguides\u002Fstacks","docs\u002F3.guides\u002F4.stacks",{"title":1016,"path":1017,"stem":1018,"stub":920,"launchGate":918},"Terminal and cloud shells","\u002Fdocs\u002Fguides\u002Fterminal","docs\u002F3.guides\u002F5.terminal",{"title":1020,"path":1021,"stem":1022,"stub":924,"launchGate":918},"Registry","\u002Fdocs\u002Fguides\u002Fregistry","docs\u002F3.guides\u002F6.registry",{"title":1024,"path":1025,"stem":1026,"stub":920,"launchGate":918},"Kubernetes","\u002Fdocs\u002Fguides\u002Fkubernetes","docs\u002F3.guides\u002F7.kubernetes",{"title":1028,"stub":924,"launchGate":918,"icon":1029,"path":1030,"stem":1031,"children":1032,"page":924},"Guides for operators","i-lucide-server-cog","\u002Fdocs\u002Foperators","docs\u002F4.operators",[1033,1034,1038,1042,1046,1050,1052,1056,1060,1064,1067,1071,1073,1077,1081,1085],{"title":5,"path":921,"stem":923,"stub":924,"launchGate":918},{"title":1035,"path":1036,"stem":1037,"stub":924,"launchGate":918},"Migrate: moving VMs from VMware","\u002Fdocs\u002Foperators\u002Fmigrate","docs\u002F4.operators\u002F10.migrate",{"title":1039,"path":1040,"stem":1041,"stub":924,"launchGate":918},"Hardware","\u002Fdocs\u002Foperators\u002Fhardware","docs\u002F4.operators\u002F11.hardware",{"title":1043,"path":1044,"stem":1045,"stub":924,"launchGate":918},"Billing","\u002Fdocs\u002Foperators\u002Fbilling","docs\u002F4.operators\u002F12.billing",{"title":1047,"path":1048,"stem":1049,"stub":924,"launchGate":918},"Policies","\u002Fdocs\u002Foperators\u002Fpolicies","docs\u002F4.operators\u002F13.policies",{"title":868,"path":867,"stem":1051,"stub":924,"launchGate":918},"docs\u002F4.operators\u002F14.realm-ops",{"title":1053,"path":1054,"stem":1055,"stub":924,"launchGate":918},"Public address and hostnames for apps","\u002Fdocs\u002Foperators\u002Fpublic-address","docs\u002F4.operators\u002F15.public-address",{"title":1057,"path":1058,"stem":1059,"stub":924,"launchGate":918},"Library","\u002Fdocs\u002Foperators\u002Flibrary","docs\u002F4.operators\u002F16.library",{"title":1061,"path":1062,"stem":1063,"stub":924,"launchGate":918},"Backups","\u002Fdocs\u002Foperators\u002Fbackups","docs\u002F4.operators\u002F2.backups",{"title":879,"path":582,"stem":1065,"stub":920,"launchGate":1066},"docs\u002F4.operators\u002F3.availability","A1, A2, A3",{"title":1068,"path":1069,"stem":1070,"stub":920,"launchGate":918},"Federation","\u002Fdocs\u002Foperators\u002Ffederation","docs\u002F4.operators\u002F4.federation",{"title":885,"path":884,"stem":1072,"stub":920,"launchGate":918},"docs\u002F4.operators\u002F5.licensing",{"title":1074,"path":1075,"stem":1076,"stub":920,"launchGate":918},"Branding: look and design","\u002Fdocs\u002Foperators\u002Fbranding","docs\u002F4.operators\u002F6.branding",{"title":1078,"path":1079,"stem":1080,"stub":920,"launchGate":918},"Connectivity","\u002Fdocs\u002Foperators\u002Fconnectivity","docs\u002F4.operators\u002F7.connectivity",{"title":1082,"path":1083,"stem":1084,"stub":920,"launchGate":918},"Logs","\u002Fdocs\u002Foperators\u002Flogs","docs\u002F4.operators\u002F8.logs",{"title":1086,"path":1087,"stem":1088,"stub":924,"launchGate":918},"Directory sync: Entra ID and Okta","\u002Fdocs\u002Foperators\u002Fdirectory-sync","docs\u002F4.operators\u002F9.directory-sync",{"title":1090,"stub":924,"launchGate":918,"icon":1091,"path":1092,"stem":1093,"children":1094,"page":924},"Reference","i-lucide-library","\u002Fdocs\u002Freference","docs\u002F5.reference",[1095,1099],{"title":1096,"path":1097,"stem":1098,"stub":924,"launchGate":918},"The API reference in your realm","\u002Fdocs\u002Freference\u002Fin-your-realm","docs\u002F5.reference\u002F1.in-your-realm",{"title":1100,"path":1101,"stem":1102,"stub":924,"launchGate":918},"The velrix command","\u002Fdocs\u002Freference\u002Fcli","docs\u002F5.reference\u002F2.cli",{"title":1104,"stub":924,"launchGate":918,"icon":1105,"path":1106,"stem":1107,"children":1108,"page":924},"Security and compliance","i-lucide-shield-check","\u002Fdocs\u002Fsecurity","docs\u002F6.security",[1109,1113,1117,1121],{"title":1110,"path":1111,"stem":1112,"stub":920,"launchGate":918},"Post-quantum","\u002Fdocs\u002Fsecurity\u002Fpost-quantum","docs\u002F6.security\u002F1.post-quantum",{"title":1114,"path":1115,"stem":1116,"stub":920,"launchGate":918},"GDPR","\u002Fdocs\u002Fsecurity\u002Fgdpr","docs\u002F6.security\u002F2.gdpr",{"title":1118,"path":1119,"stem":1120,"stub":920,"launchGate":918},"NIS2 support","\u002Fdocs\u002Fsecurity\u002Fnis2","docs\u002F6.security\u002F3.nis2",{"title":1122,"path":1123,"stem":1124,"stub":920,"launchGate":918},"Data residency","\u002Fdocs\u002Fsecurity\u002Fdata-residency","docs\u002F6.security\u002F4.data-residency",{"title":1126,"path":1127,"stem":1128,"children":1129,"stub":924,"launchGate":918,"icon":1131},"Release notes","\u002Fdocs\u002Frelease-notes","docs\u002F7.release-notes\u002Findex",[1130],{"title":1126,"path":1127,"stem":1128,"stub":924,"launchGate":918},"i-lucide-scroll-text",[1133,1135],{"title":1024,"path":1025,"stem":1026,"description":1134,"children":-1},"Managed RKE2 or k3s clusters on your machines, and the Kubernetes-compatible API for kubectl.",{"title":1035,"path":1036,"stem":1037,"description":1136,"children":-1},"Import VMs from vCenter or ESXi, or an OVA, OVF or disk image, as Velrix machines that keep their MAC address."]