Rebuilt Astro site with BASE=vjailbreak; old build had base baked as vjailbreak-docs, causing all CSS/JS asset URLs to 404 on GH Pages. Co-Authored-By: Claude Sonnet 5 <[email protected]>
182 lines
70 KiB
HTML
182 lines
70 KiB
HTML
<!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-hero class="astro-bguv2lll"> <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>vJailbreak | vJailbreak</title><link rel="canonical" href="https://platform9.github.io/vjailbreak/"/><link rel="sitemap" href="/vjailbreak/sitemap-index.xml"/><script>window.location.href = 'introduction/getting_started/';
|
|
</script><link rel="shortcut icon" href="/vjailbreak/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v5.12.8"/><meta name="generator" content="Starlight v0.32.6"/><meta property="og:title" content="vJailbreak"/><meta property="og:type" content="article"/><meta property="og:url" content="https://platform9.github.io/vjailbreak/"/><meta property="og:locale" content="en"/><meta property="og:description" content="A free and open-source tool that simplifies the migration of virtual machines from VMware to any OpenStack-compliant cloud."/><meta property="og:site_name" content="vJailbreak"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="A free and open-source tool that simplifies the migration of virtual machines from VMware to any OpenStack-compliant cloud."/><script>
|
|
window.StarlightThemeProvider = (() => {
|
|
const storedTheme =
|
|
typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
|
|
const theme =
|
|
storedTheme ||
|
|
(window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
|
|
document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
|
|
return {
|
|
updatePickers(theme = storedTheme || 'auto') {
|
|
document.querySelectorAll('starlight-theme-select').forEach((picker) => {
|
|
const select = picker.querySelector('select');
|
|
if (select) select.value = theme;
|
|
/** @type {HTMLTemplateElement | null} */
|
|
const tmpl = document.querySelector(`#theme-icons`);
|
|
const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
|
|
if (newIcon) {
|
|
const oldIcon = picker.querySelector('svg.label-icon');
|
|
if (oldIcon) {
|
|
oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
|
|
}
|
|
}
|
|
});
|
|
},
|
|
};
|
|
})();
|
|
</script><template id="theme-icons"><svg aria-hidden="true" class="light astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg> <svg aria-hidden="true" class="dark astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg> <svg aria-hidden="true" class="auto astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> </template><link rel="stylesheet" href="/vjailbreak/_astro/print.BJ0teN4y.css" media="print"><link rel="stylesheet" href="/vjailbreak/_astro/index.V9BDhjML.css">
|
|
<style>:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}[data-theme=light]:root{--sl-badge-default-bg: var(--sl-color-accent-high);--sl-badge-note-bg: var(--sl-color-blue-high);--sl-badge-danger-bg: var(--sl-color-red-high);--sl-badge-success-bg: var(--sl-color-green-high);--sl-badge-caution-bg: var(--sl-color-orange-high);--sl-badge-tip-bg: var(--sl-color-purple-high)}.sl-badge:where(.astro-avdet4wd){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-avdet4wd){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-avdet4wd){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-avdet4wd){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-avdet4wd){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-avdet4wd){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-avdet4wd){vertical-align:middle}
|
|
.card-grid:where(.astro-zntqmydn){display:grid;grid-template-columns:100%;gap:1rem}.card-grid:where(.astro-zntqmydn)>*{margin-top:0!important}@media (min-width: 50rem){.card-grid:where(.astro-zntqmydn){grid-template-columns:1fr 1fr;gap:1.5rem}.stagger:where(.astro-zntqmydn){--stagger-height: 5rem;padding-bottom:var(--stagger-height)}.stagger:where(.astro-zntqmydn)>*:nth-child(2n){transform:translateY(var(--stagger-height))}}
|
|
.card:where(.astro-v5tidmuc){--sl-card-border: var(--sl-color-purple);--sl-card-bg: var(--sl-color-purple-low);border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);padding:clamp(1rem,calc(.125rem + 3vw),2.5rem);flex-direction:column;gap:clamp(.5rem,calc(.125rem + 1vw),1rem)}.card:where(.astro-v5tidmuc):nth-child(4n+1){--sl-card-border: var(--sl-color-orange);--sl-card-bg: var(--sl-color-orange-low)}.card:where(.astro-v5tidmuc):nth-child(4n+3){--sl-card-border: var(--sl-color-green);--sl-card-bg: var(--sl-color-green-low)}.card:where(.astro-v5tidmuc):nth-child(4n+4){--sl-card-border: var(--sl-color-red);--sl-card-bg: var(--sl-color-red-low)}.card:where(.astro-v5tidmuc):nth-child(4n+5){--sl-card-border: var(--sl-color-blue);--sl-card-bg: var(--sl-color-blue-low)}.title:where(.astro-v5tidmuc){font-weight:600;font-size:var(--sl-text-h4);color:var(--sl-color-white);line-height:var(--sl-line-height-headings);gap:1rem;align-items:center}.card:where(.astro-v5tidmuc) .icon:where(.astro-v5tidmuc){border:1px solid var(--sl-card-border);background-color:var(--sl-card-bg);padding:.2em;border-radius:.25rem}.card:where(.astro-v5tidmuc) .body:where(.astro-v5tidmuc){margin:0;font-size:clamp(var(--sl-text-sm),calc(.5rem + 1vw),var(--sl-text-body))}
|
|
svg:where(.astro-c6vsoqas){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em}
|
|
starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astro-esqgolmp){overflow-x:auto}:where(.astro-esqgolmp)[role=tablist]{display:flex;list-style:none;border-bottom:2px solid var(--sl-color-gray-5);padding:0}.tab:where(.astro-esqgolmp){margin-bottom:-2px}.tab:where(.astro-esqgolmp)>:where(.astro-esqgolmp)[role=tab]{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem;text-decoration:none;border-bottom:2px solid var(--sl-color-gray-5);color:var(--sl-color-gray-3);outline-offset:var(--sl-outline-offset-inside);overflow-wrap:initial}.tab:where(.astro-esqgolmp) :where(.astro-esqgolmp)[role=tab][aria-selected=true]{color:var(--sl-color-white);border-color:var(--sl-color-text-accent);font-weight:600}.tablist-wrapper:where(.astro-esqgolmp)~[role=tabpanel]{margin-top:1rem}
|
|
.sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}}
|
|
.sl-link-button:where(.astro-xwgiixxa){align-items:center;border:1px solid transparent;border-radius:999rem;display:inline-flex;font-size:var(--sl-text-sm);gap:.5em;line-height:1.1875;outline-offset:.25rem;padding:.4375rem 1.125rem;text-decoration:none}.sl-link-button:where(.astro-xwgiixxa).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-xwgiixxa).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-xwgiixxa) svg{flex-shrink:0}@media (min-width: 50rem){.sl-link-button:where(.astro-xwgiixxa){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa):not(:where(p *)){margin-block:1rem}
|
|
</style><script type="module" src="/vjailbreak/_astro/page.Es7s6Xc5.js"></script><style>.aurora:where(.astro-yn2hoprg){transform:perspective(600px) rotateX(-10deg) rotateY(-9deg);pointer-events:none;position:fixed;inset:0;z-index:-10;display:flex;align-items:center;width:100%;height:600px;filter:blur(1.5rem)}@media (max-width: 60rem){.aurora:where(.astro-yn2hoprg){filter:blur(1rem)}.aurora-slice:where(.astro-yn2hoprg):nth-child(odd){display:none}}.aurora-slice:where(.astro-yn2hoprg){will-change:transform;animation-name:aurora;animation-timing-function:ease-in-out;animation-iteration-count:infinite;flex-grow:1;background-image:linear-gradient(0deg,#db277700,#04b6d4cc 4%,#04b6d499 5%,#eaf2a6bf 8%,#43b7a066 12%,#dbc8dba6 22%,#8127db8c 40%,#db277700)}:where(.astro-yn2hoprg)[data-theme=light] .aurora-slice:where(.astro-yn2hoprg){background-image:linear-gradient(0deg,#db277700,#04b6d480,#04b6d459 8%,#43b7a04d 18%,#dbc8db26 20%,#db277766 40%,#db277700)}@keyframes aurora{0%,to{transform:translateY(0)}50%{transform:translateY(10%)}}
|
|
</style><style>.read-more:where(.astro-szj46hnz){display:flex;gap:.5rem;align-items:flex-start}.icon:where(.astro-szj46hnz){--icon-size: 1.5rem;font-size:var(--icon-size);flex-shrink:0;margin-block:calc((var(--sl-line-height) * 1rem - var(--icon-size)) / 2);color:var(--sl-color-text-accent)}
|
|
</style><style>.site-footer:where(.astro-4khl2bf4){margin-top:4rem;padding:3rem 1rem;border-top:1px solid var(--sl-color-border)}.footer-content:where(.astro-4khl2bf4){max-width:var(--sl-content-width);margin:0 auto;text-align:center}.footer-brand:where(.astro-4khl2bf4){margin-bottom:1.5rem}.footer-logo:where(.astro-4khl2bf4){display:inline-block;padding:12px 24px;background:#fff;border-radius:8px}.footer-logo:where(.astro-4khl2bf4) img:where(.astro-4khl2bf4){height:50px;display:block}:where(.astro-4khl2bf4)[data-theme=dark] .footer-logo:where(.astro-4khl2bf4){background:#ffffffe6}.footer-info:where(.astro-4khl2bf4){color:var(--sl-color-gray-3);font-size:.9rem;line-height:1.5}.copyright:where(.astro-4khl2bf4){margin-top:.5rem}.footer-content p{margin:.5rem 0}.footer-link:where(.astro-4khl2bf4){color:var(--sl-color-gray-3);text-decoration:none;transition:color .2s ease}.footer-link:where(.astro-4khl2bf4):hover{color:var(--sl-color-accent)}
|
|
</style></head> <body class="astro-bguv2lll"> <a href="#_top" class="astro-7q3lir66">Skip to content</a> <div class="page sl-flex astro-vrdttmbt"> <header class="header astro-vrdttmbt"><div class="header sl-flex astro-3ef6ksr2"> <div class="title-wrapper sl-flex astro-3ef6ksr2"> <a href="/vjailbreak/" class="site-title sl-flex astro-m46x6ez3"> <img class="astro-m46x6ez3" alt src="/vjailbreak/_astro/platform9-logo.PaszzYBQ.svg" width="120" height="60"> <span class="sr-only astro-m46x6ez3" translate="no"> vJailbreak </span> </a> </div> <div class="sl-flex print:hidden astro-3ef6ksr2"> <site-search class="astro-3ef6ksr2 astro-v37mnknz" data-translations="{"placeholder":"Search"}"> <button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-v37mnknz"> <svg aria-hidden="true" class="astro-v37mnknz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg> <span class="sl-hidden md:sl-block astro-v37mnknz" aria-hidden="true">Search</span> <kbd class="sl-hidden md:sl-flex astro-v37mnknz" style="display: none;"> <kbd class="astro-v37mnknz">Ctrl</kbd><kbd class="astro-v37mnknz">K</kbd> </kbd> </button> <dialog style="padding:0" aria-label="Search" class="astro-v37mnknz"> <div class="dialog-frame sl-flex astro-v37mnknz"> <button data-close-modal class="sl-flex md:sl-hidden astro-v37mnknz"> Cancel </button> <div class="search-container astro-v37mnknz"> <div id="starlight__search" class="astro-v37mnknz"></div> </div> </div> </dialog> </site-search> <script>
|
|
(() => {
|
|
const openBtn = document.querySelector('button[data-open-modal]');
|
|
const shortcut = openBtn?.querySelector('kbd');
|
|
if (!openBtn || !(shortcut instanceof HTMLElement)) return;
|
|
const platformKey = shortcut.querySelector('kbd');
|
|
if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
|
|
platformKey.textContent = '⌘';
|
|
openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
|
|
}
|
|
shortcut.style.display = '';
|
|
})();
|
|
</script> <script type="module" src="/vjailbreak/_astro/Search.astro_astro_type_script_index_0_lang.PKSD7nbt.js"></script> </div> <div class="sl-hidden md:sl-flex print:hidden right-group astro-3ef6ksr2"> <div class="sl-flex social-icons astro-3ef6ksr2"> <a href="https://github.com/platform9/vjailbreak" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a><a href="https://join.slack.com/t/vjailbreak/shared_invite/zt-314pppw43-F1vzd6ZaPW5PoZqF~aa8lA" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">Slack</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52Zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313ZM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834Zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312Zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834Zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312Zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52Zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313Z"/></svg> </a> </div> <div class="sl-flex release-dropdown astro-3ef6ksr2"> <!-- Dropdown --><div class="select-container"> <label for="release-select" class="select-label">Latest Release:</label> <select id="release-select" class="release-select"> <option>Loading releases...</option> </select> </div> <script>(function(){const astroBaseURL = "https://platform9.github.io/";
|
|
|
|
document.addEventListener('DOMContentLoaded', async () => {
|
|
const CACHE_KEY = 'githubReleases';
|
|
const CACHE_EXPIRY = 60 * 60 * 1000; // 1 hour
|
|
const select = document.getElementById('release-select');
|
|
|
|
// Check cache first
|
|
if (typeof window !== 'undefined' && window.localStorage) {
|
|
const cachedReleases = localStorage.getItem(CACHE_KEY);
|
|
const cacheExpiry = localStorage.getItem(`${CACHE_KEY}_expiry`);
|
|
|
|
if (cachedReleases && cacheExpiry && Date.now() < Number(cacheExpiry)) {
|
|
try {
|
|
console.debug("Reading releases from cache:", JSON.parse(cachedReleases)); // Debug log
|
|
populateDropdown(JSON.parse(cachedReleases));
|
|
return;
|
|
} catch (e) {
|
|
console.warn("Cache corrupted clearing", e);
|
|
localStorage.removeItem(CACHE_KEY)
|
|
localStorage.removeItem(`${CACHE_KEY}_expiry`)
|
|
}
|
|
}
|
|
}
|
|
|
|
try {
|
|
console.debug("Fetching releases from GitHub"); // Debug log
|
|
const response = await fetch('https://api.github.com/repos/platform9/vjailbreak/releases');
|
|
const data = await response.json();
|
|
const releases = data.slice(0, 5);
|
|
|
|
// Store in cache
|
|
if (typeof window !== 'undefined' && window.localStorage) {
|
|
localStorage.setItem(CACHE_KEY, JSON.stringify(releases));
|
|
localStorage.setItem(`${CACHE_KEY}_expiry`, String(Date.now() + CACHE_EXPIRY));
|
|
}
|
|
|
|
populateDropdown(releases);
|
|
} catch (error) {
|
|
console.error("Error fetching releases:", error);
|
|
populateDropdown([{
|
|
id: 0,
|
|
name: "v0.1.7",
|
|
html_url: "https://github.com/platform9/vjailbreak/releases/tag/v0.1.7"
|
|
}]);
|
|
}
|
|
|
|
function populateDropdown(releases) {
|
|
const currentURL = astroBaseURL || window.location.origin; // Use Astro.site if available
|
|
const pathPrefix = astroBaseURL ? '/vjailbreak/release_docs/' : '/release_docs/';
|
|
select.innerHTML = releases.map(release => {
|
|
const nameModified = release.name.replace(/\./g, '');
|
|
const releaseDocsURL = `${currentURL}${pathPrefix}${nameModified}/`;
|
|
return `<option value="${release.name}">${release.name}</option>`;
|
|
}).join('');
|
|
|
|
select.selectedIndex = 0;
|
|
|
|
localStorage.setItem('vjailbreakSelectedVersion', select.value);
|
|
select.onchange = (e) => {
|
|
localStorage.setItem('vjailbreakSelectedVersion', e.target.value);
|
|
|
|
const version = e.target.value;
|
|
const btns = document.querySelectorAll('.version-btn');
|
|
btns.forEach(btn => {
|
|
if (btn.textContent === version) {
|
|
btn.click();
|
|
}
|
|
});
|
|
};
|
|
}
|
|
});
|
|
})();</script> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
|
|
StarlightThemeProvider.updatePickers();
|
|
</script> <script type="module">const r="starlight-theme",o=e=>e==="auto"||e==="dark"||e==="light"?e:"auto",c=()=>o(typeof localStorage<"u"&&localStorage.getItem(r));function n(e){typeof localStorage<"u"&&localStorage.setItem(r,e==="light"||e==="dark"?e:"")}const l=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function t(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e==="auto"?l():e,n(e)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{c()==="auto"&&t("auto")});class s extends HTMLElement{constructor(){super(),t(c()),this.querySelector("select")?.addEventListener("change",a=>{a.currentTarget instanceof HTMLSelectElement&&t(o(a.currentTarget.value))})}}customElements.define("starlight-theme-select",s);</script> <script type="module">class s extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&(e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)}),window.addEventListener("pageshow",t=>{if(!t.persisted)return;const n=e.querySelector("option[selected]")?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}}customElements.define("starlight-lang-select",s);</script> </div> </div> </header> <div class="main-frame astro-vrdttmbt"> <script type="module">const a=document.getElementById("starlight__sidebar"),n=a?.querySelector("sl-sidebar-state-persist"),o="sl-sidebar-state",i=()=>{let t=[];const e=n?.dataset.hash||"";try{const s=sessionStorage.getItem(o),r=JSON.parse(s||"{}");Array.isArray(r.open)&&r.hash===e&&(t=r.open)}catch{}return{hash:e,open:t,scroll:a?.scrollTop||0}},c=t=>{try{sessionStorage.setItem(o,JSON.stringify(t))}catch{}},d=()=>c(i()),l=(t,e)=>{const s=i();s.open[e]=t,c(s)};n?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const s=e.querySelector("sl-sidebar-restore"),r=parseInt(s?.dataset.index||"");isNaN(r)||l(!e.open,r)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&d()});addEventListener("pageHide",d);</script> <div class="lg:sl-flex astro-67yu43on"> <div class="main-pane astro-67yu43on"> <main data-pagefind-body class="astro-bguv2lll" lang="en" dir="ltr"> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <div class="hero astro-jbfsktt5"> <div class="hero-html sl-flex astro-jbfsktt5"><div class="video-container">
|
|
<div class="video-wrapper">
|
|
<iframe
|
|
src="https://www.youtube.com/embed/FgkBWttOfsc"
|
|
title="vJailbreak Demo"
|
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
allowfullscreen
|
|
></iframe>
|
|
</div>
|
|
</div>
|
|
</div> <div class="sl-flex stack astro-jbfsktt5"> <div class="sl-flex copy astro-jbfsktt5"> <h1 id="_top" data-page-title class="astro-jbfsktt5">vJailbreak</h1> <div class="tagline astro-jbfsktt5">Effortless Open-Source VMware to OpenStack Migration</div> </div> <div class="sl-flex actions astro-jbfsktt5"> <a class="sl-link-button not-content primary astro-jbfsktt5 astro-xwgiixxa" href="introduction/getting_started/"> Getting Started <svg aria-hidden="true" class="astro-xwgiixxa astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg> </a> <a class="sl-link-button not-content minimal astro-jbfsktt5 astro-xwgiixxa" href="https://github.com/platform9/vjailbreak"> Clone the Repo <svg aria-hidden="true" class="astro-xwgiixxa astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a> </div> </div> </div> <div class="sl-markdown-content"> <div class="not-content astro-yn2hoprg"> <div class="aurora astro-yn2hoprg"> <div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.06666666666666667;margin-right:0.3rem;height:100%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.13333333333333333;margin-right:1rem;height:85%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.13333333333333333;margin-right:0.3rem;height:85%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.2;margin-right:0;height:85%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.2;margin-right:0.3rem;height:95%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.26666666666666666;margin-right:0.3rem;height:100%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.26666666666666666;margin-right:0;height:100%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.3333333333333333;margin-right:0.3rem;height:100%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.3333333333333333;margin-right:0;height:95%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.4;margin-right:1rem;height:90%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.4;margin-right:0;height:80%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.4666666666666667;margin-right:0.3rem;height:85%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.4666666666666667;margin-right:0.3rem;height:95%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.5333333333333333;margin-right:1rem;height:85%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.5333333333333333;margin-right:1rem;height:100%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:0.6;margin-right:0;height:100%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:0.6;margin-right:0.3rem;height:80%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.6666666666666666;margin-right:1rem;height:80%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.6666666666666666;margin-right:0;height:85%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.7333333333333333;margin-right:0;height:95%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.7333333333333333;margin-right:0.3rem;height:85%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.8;margin-right:0.3rem;height:80%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.8;margin-right:1rem;height:100%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.8666666666666667;margin-right:0;height:95%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.8666666666666667;margin-right:0.3rem;height:90%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.9333333333333333;margin-right:0;height:100%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.9333333333333333;margin-right:0;height:80%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:1;margin-right:0;height:85%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:1;margin-right:0;height:100%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:1.0666666666666667;margin-right:0.3rem;height:85%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:1.0666666666666667;margin-right:0;height:95%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:1.1333333333333333;margin-right:1rem;height:95%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:1.1333333333333333;margin-right:0.3rem;height:85%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:1.2;margin-right:0.3rem;height:95%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:1.2;margin-right:1rem;height:90%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:1.2666666666666666;margin-right:0;height:80%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:1.2666666666666666;margin-right:0.3rem;height:80%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:1.3333333333333333;margin-right:1rem;height:100%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:1.3333333333333333;margin-right:0;height:90%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:1.4;margin-right:1rem;height:85%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:1.4;margin-right:1rem;height:90%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:1.4666666666666666;margin-right:1rem;height:95%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:1.4666666666666666;margin-right:1rem;height:80%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:1.5333333333333334;margin-right:0.3rem;height:80%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:1.5333333333333334;margin-right:0.3rem;height:95%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:1.6;margin-right:0.3rem;height:95%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:1.6;margin-right:1rem;height:85%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:1.6666666666666667;margin-right:0.3rem;height:80%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:1.6666666666666667;margin-right:0;height:95%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:1.7333333333333334;margin-right:0;height:95%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.4666666666666667;margin-right:0;height:95%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.6666666666666666;margin-right:1rem;height:80%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.5333333333333333;margin-right:1rem;height:100%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.6;margin-right:0.3rem;height:85%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.5333333333333333;margin-right:0.3rem;height:100%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.4666666666666667;margin-right:0;height:80%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.6666666666666666;margin-right:0;height:85%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.4;margin-right:1rem;height:80%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.4;margin-right:1rem;height:100%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.6666666666666666;margin-right:0.3rem;height:80%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.6666666666666666;margin-right:0.3rem;height:90%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.6;margin-right:1rem;height:85%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.5333333333333333;margin-right:0.3rem;height:95%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.4;margin-right:0;height:80%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.5333333333333333;margin-right:0.3rem;height:90%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.6666666666666666;margin-right:0;height:85%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:0.6;margin-right:0.3rem;height:85%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.6;margin-right:0;height:80%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.4666666666666667;margin-right:0.3rem;height:85%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.4;margin-right:1rem;height:85%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.4666666666666667;margin-right:1rem;height:85%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.4666666666666667;margin-right:0.3rem;height:85%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.6666666666666666;margin-right:0;height:100%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.4;margin-right:0;height:80%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:0.6;margin-right:0;height:95%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.6;margin-right:0;height:100%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.5333333333333333;margin-right:0;height:95%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.6;margin-right:1rem;height:80%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.6;margin-right:1rem;height:100%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.6;margin-right:0;height:85%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.5333333333333333;margin-right:0.3rem;height:95%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.6666666666666666;margin-right:1rem;height:90%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:10s;opacity:0.6666666666666666;margin-right:0.3rem;height:90%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.4666666666666667;margin-right:0;height:95%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:0.6666666666666666;margin-right:0;height:85%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.6666666666666666;margin-right:0;height:100%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.5333333333333333;margin-right:0.3rem;height:100%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.5333333333333333;margin-right:1rem;height:100%;width:2.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.6666666666666666;margin-right:0;height:80%;width:1rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:0.6;margin-right:0.3rem;height:95%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.6666666666666666;margin-right:1rem;height:95%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.6666666666666666;margin-right:1rem;height:90%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.6;margin-right:0;height:80%;width:4rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.5333333333333333;margin-right:0;height:100%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:7s;opacity:0.4666666666666667;margin-right:1rem;height:90%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-4s;animation-duration:11s;opacity:0.4;margin-right:0;height:90%;width:2rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-6s;animation-duration:12s;opacity:0.3333333333333333;margin-right:1rem;height:95%;width:0.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:0s;animation-duration:4s;opacity:0.26666666666666666;margin-right:1rem;height:85%;width:3rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-3s;animation-duration:9s;opacity:0.2;margin-right:1rem;height:80%;width:1.5rem"></div><div class="aurora-slice astro-yn2hoprg" style="animation-delay:-2s;animation-duration:8s;opacity:0.13333333333333333;margin-right:1rem;height:80%;width:3rem"></div> </div> </div>
|
|
<h3 id="download-the-latest-version">Download the latest Version</h3>
|
|
<ol role="list" class="sl-steps"><li><p><strong>Install ORAS</strong></p><starlight-tabs data-sync-key="oras" class="astro-esqgolmp"> <div class="tablist-wrapper not-content astro-esqgolmp"> <ul role="tablist" class="astro-esqgolmp"> <li role="presentation" class="tab astro-esqgolmp"> <a role="tab" href="#tab-panel-3" id="tab-3" aria-selected="true" tabindex="0" class="astro-esqgolmp"> brew </a> </li><li role="presentation" class="tab astro-esqgolmp"> <a role="tab" href="#tab-panel-4" id="tab-4" aria-selected="false" tabindex="-1" class="astro-esqgolmp"> snap </a> </li><li role="presentation" class="tab astro-esqgolmp"> <a role="tab" href="#tab-panel-5" id="tab-5" aria-selected="false" tabindex="-1" class="astro-esqgolmp"> Apple Silicon </a> </li><li role="presentation" class="tab astro-esqgolmp"> <a role="tab" href="#tab-panel-6" id="tab-6" aria-selected="false" tabindex="-1" class="astro-esqgolmp"> Linux </a> </li> </ul> </div> <div id="tab-panel-3" aria-labelledby="tab-3" role="tabpanel"> <div class="expressive-code"><link rel="stylesheet" href="/vjailbreak/_astro/ec.tm3va.css"><script type="module" src="/vjailbreak/_astro/ec.8zarh.js"></script><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">brew install oras</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="brew install oras"><div></div></button></div></figure></div> </div><div id="tab-panel-4" aria-labelledby="tab-4" role="tabpanel" hidden> <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">snap install oras --classic</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="snap install oras --classic"><div></div></button></div></figure></div> </div><div id="tab-panel-5" aria-labelledby="tab-5" role="tabpanel" hidden> <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">VERSION="1.2.2"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">curl -LO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_darwin_arm64.tar.gz"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">mkdir -p oras-install/</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">sudo mv oras-install/oras /usr/local/bin/</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">rm -rf oras_${VERSION}_*.tar.gz oras-install/</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="VERSION="1.2.2"curl -LO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_darwin_arm64.tar.gz"mkdir -p oras-install/tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/sudo mv oras-install/oras /usr/local/bin/rm -rf oras_${VERSION}_*.tar.gz oras-install/"><div></div></button></div></figure></div> </div><div id="tab-panel-6" aria-labelledby="tab-6" role="tabpanel" hidden> <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">VERSION="1.2.2"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">curl -LO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">mkdir -p oras-install/</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">sudo mv oras-install/oras /usr/local/bin/</span></div></div><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">rm -rf oras_${VERSION}_*.tar.gz oras-install/</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="VERSION="1.2.2"curl -LO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz"mkdir -p oras-install/tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/sudo mv oras-install/oras /usr/local/bin/rm -rf oras_${VERSION}_*.tar.gz oras-install/"><div></div></button></div></figure></div> </div> <starlight-tabs-restore class="astro-esqgolmp"></starlight-tabs-restore> </starlight-tabs> </li><li><p><strong>Download Image</strong></p><div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">oras pull quay.io/platform9/vjailbreak:v0.4.10</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="oras pull quay.io/platform9/vjailbreak:v0.4.10"><div></div></button></div></figure></div></li><li><p><strong>Get PCD</strong></p><script>
|
|
(() => {
|
|
class StarlightTabsRestore extends HTMLElement {
|
|
connectedCallback() {
|
|
const starlightTabs = this.closest('starlight-tabs');
|
|
if (!(starlightTabs instanceof HTMLElement) || typeof localStorage === 'undefined') return;
|
|
const syncKey = starlightTabs.dataset.syncKey;
|
|
if (!syncKey) return;
|
|
const label = localStorage.getItem(`starlight-synced-tabs__${syncKey}`);
|
|
if (!label) return;
|
|
const tabs = [...starlightTabs?.querySelectorAll('[role="tab"]')];
|
|
const tabIndexToRestore = tabs.findIndex(
|
|
(tab) => tab instanceof HTMLAnchorElement && tab.textContent?.trim() === label
|
|
);
|
|
const panels = starlightTabs?.querySelectorAll(':scope > [role="tabpanel"]');
|
|
const newTab = tabs[tabIndexToRestore];
|
|
const newPanel = panels[tabIndexToRestore];
|
|
if (tabIndexToRestore < 1 || !newTab || !newPanel) return;
|
|
tabs[0]?.setAttribute('aria-selected', 'false');
|
|
tabs[0]?.setAttribute('tabindex', '-1');
|
|
panels?.[0]?.setAttribute('hidden', 'true');
|
|
newTab.removeAttribute('tabindex');
|
|
newTab.setAttribute('aria-selected', 'true');
|
|
newPanel.removeAttribute('hidden');
|
|
}
|
|
}
|
|
customElements.define('starlight-tabs-restore', StarlightTabsRestore);
|
|
})()
|
|
</script><starlight-tabs data-sync-key="pcd" class="astro-esqgolmp"> <div class="tablist-wrapper not-content astro-esqgolmp"> <ul role="tablist" class="astro-esqgolmp"> <li role="presentation" class="tab astro-esqgolmp"> <a role="tab" href="#tab-panel-0" id="tab-0" aria-selected="true" tabindex="0" class="astro-esqgolmp"> PCD </a> </li><li role="presentation" class="tab astro-esqgolmp"> <a role="tab" href="#tab-panel-1" id="tab-1" aria-selected="false" tabindex="-1" class="astro-esqgolmp"> PCD Community Edition (Free) </a> </li><li role="presentation" class="tab astro-esqgolmp"> <a role="tab" href="#tab-panel-2" id="tab-2" aria-selected="false" tabindex="-1" class="astro-esqgolmp"> OpenStack </a> </li> </ul> </div> <div id="tab-panel-0" aria-labelledby="tab-0" role="tabpanel"> <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">https://platform9.com/private-cloud-director/</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="https://platform9.com/private-cloud-director/"><div></div></button></div></figure></div> </div><div id="tab-panel-1" aria-labelledby="tab-1" role="tabpanel" hidden> <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">https://platform9.com/docs/private-cloud-director/private-cloud-director/getting-started-with-community-edition</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="https://platform9.com/docs/private-cloud-director/private-cloud-director/getting-started-with-community-edition"><div></div></button></div></figure></div> </div><div id="tab-panel-2" aria-labelledby="tab-2" role="tabpanel" hidden> <div class="expressive-code"><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="plaintext"><code><div class="ec-line"><div class="code"><span style="--0:#d6deeb;--1:#403f53">https://www.openstack.org/</span></div></div></code></pre><div class="copy"><button title="Copy to clipboard" data-copied="Copied!" data-code="https://www.openstack.org/"><div></div></button></div></figure></div> </div> <starlight-tabs-restore class="astro-esqgolmp"></starlight-tabs-restore> </starlight-tabs> <script type="module">class r extends HTMLElement{static#e=new Map;#t;#n="starlight-synced-tabs__";constructor(){super();const t=this.querySelector('[role="tablist"]');if(this.tabs=[...t.querySelectorAll('[role="tab"]')],this.panels=[...this.querySelectorAll(':scope > [role="tabpanel"]')],this.#t=this.dataset.syncKey,this.#t){const i=r.#e.get(this.#t)??[];i.push(this),r.#e.set(this.#t,i)}this.tabs.forEach((i,c)=>{i.addEventListener("click",e=>{e.preventDefault();const n=t.querySelector('[aria-selected="true"]');e.currentTarget!==n&&this.switchTab(e.currentTarget,c)}),i.addEventListener("keydown",e=>{const n=this.tabs.indexOf(e.currentTarget),s=e.key==="ArrowLeft"?n-1:e.key==="ArrowRight"?n+1:e.key==="Home"?0:e.key==="End"?this.tabs.length-1:null;s!==null&&this.tabs[s]&&(e.preventDefault(),this.switchTab(this.tabs[s],s))})})}switchTab(t,i,c=!0){if(!t)return;const e=c?this.getBoundingClientRect().top:0;this.tabs.forEach(s=>{s.setAttribute("aria-selected","false"),s.setAttribute("tabindex","-1")}),this.panels.forEach(s=>{s.hidden=!0});const n=this.panels[i];n&&(n.hidden=!1),t.removeAttribute("tabindex"),t.setAttribute("aria-selected","true"),c&&(t.focus(),r.#r(this,t),window.scrollTo({top:window.scrollY+(this.getBoundingClientRect().top-e),behavior:"instant"}))}#i(t){!this.#t||typeof localStorage>"u"||localStorage.setItem(this.#n+this.#t,t)}static#r(t,i){const c=t.#t,e=r.#s(i);if(!c||!e)return;const n=r.#e.get(c);if(n){for(const s of n){if(s===t)continue;const a=s.tabs.findIndex(o=>r.#s(o)===e);a!==-1&&s.switchTab(s.tabs[a],a,!1)}t.#i(e)}}static#s(t){return t.textContent?.trim()}}customElements.define("starlight-tabs",r);</script></li></ol>
|
|
<div style="text-align: center; width: 100%; padding: 2rem 1rem;"><h2 class="gradient-heading" style="font-size: 2.4rem; margin-bottom: 1.5rem;"><p>Enterprise VM Migration: VMware to OpenStack, Simplified</p></h2><p style="font-size: 1.2rem; line-height: 1.6; color: var(--sl-color-gray-2); max-width: 1200px; margin: 0 auto;"><p>vJailbreak is an open-source tool featuring a user-friendly interface
|
|
designed to simplify and accelerate the migration of virtual machines (VMs)
|
|
from VMware vSphere environments to any OpenStack-compliant cloud. It
|
|
eliminates the complexities of cross-platform VM migration, enabling you to
|
|
modernize your infrastructure with minimal disruption and a streamlined,
|
|
visual workflow.</p></p></div>
|
|
<h2 class="section-title">Key Benefits</h2>
|
|
<div class="card-grid stagger astro-zntqmydn"><article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <span class="astro-v5tidmuc">Visual Interface</span> </p> <div class="body astro-v5tidmuc"><p>Intuitive UI with no command-line requirements for seamless VM migration</p></div> </article> <article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path fill-rule="evenodd" d="M1.44 8.855v-.001l3.527-3.516c.34-.344.802-.541 1.285-.548h6.649l.947-.947c3.07-3.07 6.207-3.072 7.62-2.868a1.821 1.821 0 0 1 1.557 1.557c.204 1.413.203 4.55-2.868 7.62l-.946.946v6.649a1.845 1.845 0 0 1-.549 1.286l-3.516 3.528a1.844 1.844 0 0 1-3.11-.944l-.858-4.275-4.52-4.52-2.31-.463-1.964-.394A1.847 1.847 0 0 1 .98 10.693a1.843 1.843 0 0 1 .46-1.838Zm5.379 2.017-3.873-.776L6.32 6.733h4.638l-4.14 4.14Zm8.403-5.655c2.459-2.46 4.856-2.463 5.89-2.33.134 1.035.13 3.432-2.329 5.891l-6.71 6.71-3.561-3.56 6.71-6.711Zm-1.318 15.837-.776-3.873 4.14-4.14v4.639l-3.364 3.374Z" clip-rule="evenodd"/><path d="M9.318 18.345a.972.972 0 0 0-1.86-.561c-.482 1.435-1.687 2.204-2.934 2.619a8.22 8.22 0 0 1-1.23.302c.062-.365.157-.79.303-1.229.415-1.247 1.184-2.452 2.62-2.935a.971.971 0 1 0-.62-1.842c-.12.04-.236.084-.35.13-2.02.828-3.012 2.588-3.493 4.033a10.383 10.383 0 0 0-.51 2.845l-.001.016v.063c0 .536.434.972.97.972H2.24a7.21 7.21 0 0 0 .878-.065c.527-.063 1.248-.19 2.02-.447 1.445-.48 3.205-1.472 4.033-3.494a5.828 5.828 0 0 0 .147-.407Z"/></svg> <span class="astro-v5tidmuc">Fast & Efficient</span> </p> <div class="body astro-v5tidmuc"><p>Automated tasks with real-time progress tracking reduce migration time</p></div> </article> <article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path d="M12 16a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm10.67 1.47-8.05-14a3 3 0 0 0-5.24 0l-8 14A3 3 0 0 0 3.94 22h16.12a3 3 0 0 0 2.61-4.53Zm-1.73 2a1 1 0 0 1-.88.51H3.94a1 1 0 0 1-.88-.51 1 1 0 0 1 0-1l8-14a1 1 0 0 1 1.78 0l8.05 14a1 1 0 0 1 .05 1.02v-.02ZM12 8a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1Z"/></svg> <span class="astro-v5tidmuc">Zero Disruption</span> </p> <div class="body astro-v5tidmuc"><p>Maintain source environment operations with minimal downtime</p></div> </article> <article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path d="M3.726 0.261L12 0.261L19.476 0.261Q21.030 0.261 22.206 1.227Q23.382 2.193 23.676 3.663L23.676 3.663Q23.802 3.915 23.802 4.461L23.802 4.461L23.802 19.413Q23.802 21.009 22.815 22.206Q21.828 23.403 20.274 23.613L20.274 23.613Q20.148 23.613 19.875 23.676Q19.602 23.739 19.476 23.739L19.476 23.739L4.650 23.739Q2.676 23.739 1.437 22.521Q0.198 21.303 0.198 19.413L0.198 19.413L0.198 4.587Q0.198 2.907 1.164 1.731Q2.130 0.555 3.726 0.261L3.726 0.261ZM3.726 12.063L3.726 12.063L3.726 19.539Q3.726 20.337 4.650 20.337L4.650 20.337L19.350 20.337Q19.728 20.337 20.001 20.064Q20.274 19.791 20.274 19.413L20.274 19.413L20.274 4.713Q20.148 4.209 19.917 3.999Q19.686 3.789 19.224 3.789L19.224 3.789L4.524 3.789Q4.020 3.789 3.810 3.999Q3.600 4.209 3.600 4.713L3.600 4.713Q3.726 7.065 3.726 12.063ZM6.876 10.341L6.876 10.341Q7.002 10.425 7.212 10.467L7.212 10.467L7.548 10.635Q8.010 10.803 8.913 11.265Q9.816 11.727 10.278 11.937L10.278 11.937Q10.488 12.021 10.530 12.021Q10.572 12.021 10.698 11.937L10.698 11.937L12.420 10.635Q15.066 8.661 16.452 7.737L16.452 7.737Q16.620 7.569 16.914 7.443L16.914 7.443Q17.082 7.401 17.124 7.359L17.124 7.359Q17.418 7.233 17.607 7.464Q17.796 7.695 17.796 7.989L17.796 7.989L17.628 8.241Q17.502 8.451 17.502 8.535L17.502 8.535Q16.830 9.417 15.528 11.307L15.528 11.307L14.226 13.113Q12.672 15.255 11.874 16.263L11.874 16.263Q11.370 17.019 10.698 16.977Q10.026 16.935 9.522 16.137L9.522 16.137L6.498 11.685Q6.204 11.391 6.204 11.265L6.204 11.265Q6.120 10.887 6.309 10.614Q6.498 10.341 6.876 10.341Z"/></svg> <span class="astro-v5tidmuc">Cost Effective</span> </p> <div class="body astro-v5tidmuc"><p>Open-source solution eliminating expensive licensing costs</p></div> </article> <article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path d="M17 22H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1a4 4 0 0 1 7.3-2.18c.448.64.692 1.4.7 2.18h3a1 1 0 0 1 1 1v3a4 4 0 0 1 2.18 7.3A3.86 3.86 0 0 1 18 18v3a1 1 0 0 1-1 1ZM5 8a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h11v-3.18a1 1 0 0 1 1.33-.95 1.77 1.77 0 0 0 1.74-.23 2 2 0 0 0 .93-1.37 2 2 0 0 0-.48-1.59 1.89 1.89 0 0 0-2.17-.55 1 1 0 0 1-1.33-.95V8h-3.2a1 1 0 0 1-1-1.33 1.77 1.77 0 0 0-.23-1.74 1.939 1.939 0 0 0-3-.43A2 2 0 0 0 8 6c.002.23.046.456.13.67A1 1 0 0 1 7.18 8H5Z"/></svg> <span class="astro-v5tidmuc">OpenStack Ready</span> </p> <div class="body astro-v5tidmuc"><p>Compatible with any standard OpenStack-compliant cloud platform</p></div> </article> <article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path d="M3.71 16.29a1 1 0 0 0-.33-.21 1 1 0 0 0-.76 0 1 1 0 0 0-.33.21 1 1 0 0 0-.21.33 1 1 0 0 0 .21 1.09c.097.088.209.16.33.21a.94.94 0 0 0 .76 0 1.15 1.15 0 0 0 .33-.21 1 1 0 0 0 .21-1.09 1 1 0 0 0-.21-.33ZM7 8h14a1 1 0 1 0 0-2H7a1 1 0 0 0 0 2Zm-3.29 3.29a1 1 0 0 0-1.09-.21 1.15 1.15 0 0 0-.33.21 1 1 0 0 0-.21.33.94.94 0 0 0 0 .76c.05.121.122.233.21.33.097.088.209.16.33.21a.94.94 0 0 0 .76 0 1.15 1.15 0 0 0 .33-.21 1.15 1.15 0 0 0 .21-.33.94.94 0 0 0 0-.76 1 1 0 0 0-.21-.33ZM21 11H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2ZM3.71 6.29a1 1 0 0 0-.33-.21 1 1 0 0 0-1.09.21 1.15 1.15 0 0 0-.21.33.94.94 0 0 0 0 .76c.05.121.122.233.21.33.097.088.209.16.33.21a1 1 0 0 0 1.09-.21 1.15 1.15 0 0 0 .21-.33.94.94 0 0 0 0-.76 1.15 1.15 0 0 0-.21-.33ZM21 16H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2Z"/></svg> <span class="astro-v5tidmuc">Step-by-Step Guide</span> </p> <div class="body astro-v5tidmuc"><p>Guided workflow with automated health checks and validation</p></div> </article> </div>
|
|
<h2 class="section-title">Get Started</h2>
|
|
<p style="text-align: center; color: var(--sl-color-gray-2); font-size: 1.2rem; margin-bottom: 2rem;"><p>Ready to experience simplified, UI-driven VM migration?</p></p>
|
|
<div class="card-grid stagger astro-zntqmydn"><article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path fill-rule="evenodd" d="M1.44 8.855v-.001l3.527-3.516c.34-.344.802-.541 1.285-.548h6.649l.947-.947c3.07-3.07 6.207-3.072 7.62-2.868a1.821 1.821 0 0 1 1.557 1.557c.204 1.413.203 4.55-2.868 7.62l-.946.946v6.649a1.845 1.845 0 0 1-.549 1.286l-3.516 3.528a1.844 1.844 0 0 1-3.11-.944l-.858-4.275-4.52-4.52-2.31-.463-1.964-.394A1.847 1.847 0 0 1 .98 10.693a1.843 1.843 0 0 1 .46-1.838Zm5.379 2.017-3.873-.776L6.32 6.733h4.638l-4.14 4.14Zm8.403-5.655c2.459-2.46 4.856-2.463 5.89-2.33.134 1.035.13 3.432-2.329 5.891l-6.71 6.71-3.561-3.56 6.71-6.711Zm-1.318 15.837-.776-3.873 4.14-4.14v4.639l-3.364 3.374Z" clip-rule="evenodd"/><path d="M9.318 18.345a.972.972 0 0 0-1.86-.561c-.482 1.435-1.687 2.204-2.934 2.619a8.22 8.22 0 0 1-1.23.302c.062-.365.157-.79.303-1.229.415-1.247 1.184-2.452 2.62-2.935a.971.971 0 1 0-.62-1.842c-.12.04-.236.084-.35.13-2.02.828-3.012 2.588-3.493 4.033a10.383 10.383 0 0 0-.51 2.845l-.001.016v.063c0 .536.434.972.97.972H2.24a7.21 7.21 0 0 0 .878-.065c.527-.063 1.248-.19 2.02-.447 1.445-.48 3.205-1.472 4.033-3.494a5.828 5.828 0 0 0 .147-.407Z"/></svg> <span class="astro-v5tidmuc">Deploy vJailbreak</span> </p> <div class="body astro-v5tidmuc"><p>Deploy vJailbreak and connect it to your vSphere and OpenStack environments.
|
|
Learn more about installation, configuration, and usage in the <a href="introduction/getting_started/">vJailbreak
|
|
Documentation</a>.</p></div> </article> <article class="card sl-flex astro-v5tidmuc"> <p class="title sl-flex astro-v5tidmuc"> <svg aria-hidden="true" class="icon astro-v5tidmuc astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.333em;"><path d="M20 8.94a1.3 1.3 0 0 0-.06-.27v-.09c-.05-.1-.11-.2-.19-.28l-6-6a1.07 1.07 0 0 0-.28-.19h-.09a.88.88 0 0 0-.33-.11H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8.94Zm-6-3.53L16.59 8H15a1 1 0 0 1-1-1V5.41ZM18 19a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-4-5h-1v-1a1 1 0 0 0-2 0v1h-1a1 1 0 0 0 0 2h1v1a1 1 0 0 0 2 0v-1h1a1 1 0 0 0 0-2Z"/></svg> <span class="astro-v5tidmuc">Contribute to vJailbreak</span> </p> <div class="body astro-v5tidmuc"><p>Help improve vJailbreak by contributing code, documentation, or bug reports.
|
|
View our <a href="https://github.com/platform9/vjailbreak/blob/main/CONTRIBUTING.md">contribution
|
|
guidelines</a>
|
|
to get started.</p></div> </article> </div>
|
|
<footer class="site-footer astro-4khl2bf4"> <div class="footer-content astro-4khl2bf4"> <div class="footer-info astro-4khl2bf4"> <p class="astro-4khl2bf4">Built and maintained with ❤️ at <a href="https://platform9.com" class="footer-link astro-4khl2bf4">Platform9</a></p> </div> <div class="footer-brand astro-4khl2bf4" style="text-align: center;"> <a href="https://platform9.com" class="footer-logo astro-4khl2bf4"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="-2.72 -1.34 120 60" width="120" height="60" class="astro-4khl2bf4"><path d="M102.768 40.478c-1.87 0-3.452 1.5-3.452 3.38 0 1.798 1.5 3.38 3.38 3.38.288 0 .575-.072.647-.072l-1.87 2.59c-.072.072-.072.144-.072.216s.144.144.216.144h.575c.144 0 .36-.144.503-.216l2.66-3.74c.072-.144.216-.36.288-.432 0-.072.575-1.08.575-1.798-.072-1.942-1.5-3.452-3.452-3.452zm2.373 3.38c0 1.295-1.08 2.373-2.373 2.373s-2.373-1.08-2.373-2.373 1.08-2.373 2.373-2.373 2.373 1.08 2.373 2.373z" fill="#00aae7" class="astro-4khl2bf4"></path><path d="M34.087 40.982c-.072-.144-.144-.216-.216-.216h-.72c-.144 0-.216.144-.288.216l-4.17 8.846c-.072.072-.072.216-.072.288 0 0 .072.072.144.072h.863c.072 0 .216 0 .216-.072.072-.072.072-.144.072-.216l.863-1.87c.072-.072.072-.144.072-.144h5.178c.072 0 .072 0 .072.072l.935 1.942c.072.072.072.216.288.216h.863c.072 0 .144-.072.144-.072s.072-.072 0-.144zm1.582 5.825h-4.315l2.158-4.53zm-9.925 2.23h-4.962V40.9c0-.144-.072-.216-.216-.216h-.72c-.216 0-.216.072-.216.216v9c0 .144.072.216.216.216h5.825c.144 0 .216-.072.216-.216l-.072-.647c0-.072 0-.144-.072-.216zm-12.873-8.27H8.628c-.288 0-.288.144-.288.36v8.846c0 .072.072.144.216.144h.647c.144 0 .216-.072.216-.288v-3.812c0-.072 0-.144.144-.144h3.524c1.654 0 2.805-1.08 2.805-2.59 0-1.223-.935-2.517-3.02-2.517zm1.942 2.59c0 .79-.647 1.582-1.87 1.582H9.635c-.072 0-.144-.072-.144-.144v-2.95c0-.072.072-.072.072-.072h3.38c.647 0 1.15.216 1.438.503s.432.647.432 1.08zm33.37-2.66H38.69c-.144 0-.144.072-.144.216v.575c0 .144 0 .216.216.216h4.1v8.127c0 .144.072.216.216.216h.72c.144 0 .216-.072.216-.216v-8.055h4.1c.216 0 .216-.072.216-.216V40.9c.072-.216-.072-.216-.144-.216zm34.017 2.59c0-1.295-.935-2.59-3.02-2.59h-4.243c-.288 0-.288.216-.288.36V49.9c0 .144.072.216.216.216h.647c.144 0 .216-.072.216-.288v-3.812c0-.072 0-.144.144-.144h1.438c.36.503 2.086 2.517 3.308 4.027a.55.55 0 0 0 .36.144h.863s.36 0 .216-.144l-.144-.144-3.236-3.955h.575c1.798.144 2.95-.935 2.95-2.517zm-1.08.072c0 .79-.647 1.582-1.87 1.582h-3.308c-.072 0-.144-.072-.144-.144v-2.95c0-.072.072-.072.072-.072h3.38c.647 0 1.15.216 1.438.503s.432.647.432 1.08zm-22.222-2.517h-7.264a.31.31 0 0 0-.288.288v8.918c0 .144.072.216.144.216h.79c.072 0 .144-.072.144-.144v-4.027h5.466c.072 0 .144-.072.144-.144v-.72c0-.072-.072-.144-.144-.144h-5.466v-2.95c0-.072 0-.072.072-.072h6.4c.144 0 .216-.072.216-.216v-.647c0-.072 0-.144-.072-.144 0-.216-.072-.216-.144-.216zm35.96-.144h-.575c-.144 0-.216.072-.288.144l-3.524 3.596s-.072 0-.072-.072l-3.452-3.524s-.144-.072-.288-.072h-.575c-.072 0-.216 0-.216.216v9c0 .216.072.216.216.216h.72c.072 0 .216 0 .216-.216V42.78L90.1 45.8a.55.55 0 0 0 .36.144c.216 0 .36-.144.36-.144l3.092-3.092v7.264c0 .144.072.216.216.216h.79c.144 0 .216-.072.216-.216v-9c-.072-.072-.072-.216-.288-.288zm-28.623-.216c-2.877 0-5.178 2.23-5.178 4.962s2.3 4.962 5.178 4.962 5.178-2.23 5.178-4.962-2.3-4.962-5.178-4.962zm4.027 4.9c0 2.086-1.798 3.812-4.027 3.812s-4.027-1.726-4.027-3.812 1.798-3.812 4.027-3.812c2.23.072 4.027 1.726 4.027 3.812z" fill="#00000a" class="astro-4khl2bf4"></path><path d="M82.068 16.98l-7.633-3.127-9.196-3.678-7.817-3.22c-.184-.092-.276 0-.276 0l-7.725 3.127-1.38.552-6.437 2.667L32.4 16.98s-.092.092 0 .092l8.644 3.494 16.093 6.62h.276l16-6.53 8.644-3.494c.276-.092 0-.184 0-.184zm-10.483-3.127l-6.437 2.575-6.437-2.575 6.437-2.667zm-7.817 3.22L57.33 19.74l-6.437-2.575 6.437-2.667zM57.24 8.06l6.437 2.667-6.437 2.667-6.437-2.667zm-7.817 3.127l6.437 2.667-6.437 2.667-6.53-2.667zM35.17 17.073l6.437-2.575 6.437 2.667-6.437 2.575zm7.91 3.22l6.437-2.667 6.437 2.667-6.437 2.575zm14.162 5.793l-6.437-2.667 6.437-2.667 6.437 2.575zm7.91-3.22l-6.437-2.575 6.437-2.667 6.437 2.575zm7.91-3.22l-6.437-2.575 6.437-2.575 6.437 2.575z" fill="#00aae7" class="astro-4khl2bf4"></path><path d="M63.768 17.073L57.33 19.74l-6.437-2.667 6.437-2.667zm7.817 3.22l-6.437 2.575-6.437-2.575 6.437-2.667zm-7.91 3.22l-6.437 2.575-6.345-2.575 6.437-2.667z" fill="#008ccc" class="astro-4khl2bf4"></path><path d="M81.15 23.878l-24 9.84-24.093-9.84 7.91-3.22 16.093 6.62h.276l16-6.53z" fill="#007bb6" class="astro-4khl2bf4"></path><path d="M48.043 17.073l-6.437 2.667-6.437-2.667 6.345-2.667z" fill="#68cef2" class="astro-4khl2bf4"></path><path d="M55.86 20.292l-6.437 2.667-6.345-2.667 6.345-2.575z" fill="#008ccc" class="astro-4khl2bf4"></path><path d="M55.952 13.855l-6.53 2.667-6.437-2.667 6.437-2.667zm7.817-3.22l-6.437 2.667-6.437-2.667L57.24 8.06zm7.817 3.22l-6.437 2.667-6.437-2.667 6.437-2.575zm7.817 3.22l-6.345 2.575-6.437-2.575 6.345-2.667z" fill="#68cef2" class="astro-4khl2bf4"></path></svg> </a> <p class="copyright astro-4khl2bf4">© 2025 Platform9 Systems, Inc. All Rights Reserved</p> </div> </div> </footer> </div> <footer class="sl-flex astro-3yyafb3n"> <div class="meta sl-flex astro-3yyafb3n"> <a href="https://platform9.github.io/vjailbreak/src/content/docs/index.mdx" class="sl-flex print:hidden astro-eez2twj6"><svg aria-hidden="true" class="astro-eez2twj6 astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"><path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z"/></svg> Edit page</a> </div> <div class="pagination-links print:hidden astro-u2l5gyhi" dir="ltr"> </div> </footer> </div> </div> </main> </div> </div> </div> </div> </body></html> |