CINXE.COM
airship/promenade: A declarative framework for resilient Kubernetes deployment. - promenade - OpenDev: Free Software Needs Free Tools
<!DOCTYPE html> <html lang="en-US" data-theme="gitea-auto"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>airship/promenade: A declarative framework for resilient Kubernetes deployment. - promenade - OpenDev: Free Software Needs Free Tools</title> <link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiT3BlbkRldjogRnJlZSBTb2Z0d2FyZSBOZWVkcyBGcmVlIFRvb2xzIiwic2hvcnRfbmFtZSI6Ik9wZW5EZXY6IEZyZWUgU29mdHdhcmUgTmVlZHMgRnJlZSBUb29scyIsInN0YXJ0X3VybCI6Imh0dHBzOi8vb3BlbmRldi5vcmcvIiwiaWNvbnMiOlt7InNyYyI6Imh0dHBzOi8vb3BlbmRldi5vcmcvYXNzZXRzL2ltZy9sb2dvLnBuZyIsInR5cGUiOiJpbWFnZS9wbmciLCJzaXplcyI6IjUxMng1MTIifSx7InNyYyI6Imh0dHBzOi8vb3BlbmRldi5vcmcvYXNzZXRzL2ltZy9sb2dvLnN2ZyIsInR5cGUiOiJpbWFnZS9zdmcreG1sIiwic2l6ZXMiOiI1MTJ4NTEyIn1dfQ=="> <meta name="author" content="airship"> <meta name="description" content="promenade - A declarative framework for resilient Kubernetes deployment."> <meta name="keywords" content="go,git,self-hosted,gitea"> <meta name="referrer" content="no-referrer"> <link rel="alternate" type="application/atom+xml" title="" href="/airship/promenade.atom"> <link rel="alternate" type="application/rss+xml" title="" href="/airship/promenade.rss"> <link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml"> <link rel="alternate icon" href="/assets/img/favicon.png" type="image/png"> <script> window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.config = { appUrl: 'https:\/\/opendev.org\/', appSubUrl: '', assetVersionEncoded: encodeURIComponent('v1.23.3'), assetUrlPrefix: '\/assets', runModeIsProd: true , customEmojis: {"codeberg":":codeberg:","git":":git:","gitea":":gitea:","github":":github:","gitlab":":gitlab:","gogs":":gogs:"}, csrfToken: 'XadMZ9u_kxDnSCo4uWwR44yDCBY6MTczOTgzNzA1MDg2NzQzOTY4MA', pageData: {}, notificationSettings: {"EventSourceUpdateTime":10000,"MaxTimeout":60000,"MinTimeout":10000,"TimeoutStep":10000}, enableTimeTracking: false , mermaidMaxSourceCharacters: 5000 , i18n: { copy_success: "Copied!", copy_error: "Copy failed", error_occurred: "An error occurred", network_error: "Network error", remove_label_str: "Remove item \"%s\"", modal_confirm: "Confirm", modal_cancel: "Cancel", more_items: "More items", }, }; window.config.pageData = window.config.pageData || {}; </script> <script src="/assets/js/webcomponents.js?v=v1.23.3"></script> <noscript> <style> .dropdown:hover > .menu { display: block; } .ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } </style> </noscript> <meta property="og:title" content="promenade"> <meta property="og:url" content="https://opendev.org/airship/promenade"> <meta property="og:description" content="A declarative framework for resilient Kubernetes deployment."> <meta property="og:type" content="object"> <meta property="og:image" content="https://opendev.org/avatars/airship"> <meta property="og:site_name" content="OpenDev: Free Software Needs Free Tools"> <link rel="stylesheet" href="/assets/css/index.css?v=v1.23.3"> <link rel="stylesheet" href="/assets/css/theme-gitea-auto.css?v=v1.23.3"> <meta name="theme-color" content="#ee265e"/> </head> <body hx-headers='{"x-csrf-token": "XadMZ9u_kxDnSCo4uWwR44yDCBY6MTczOTgzNzA1MDg2NzQzOTY4MA"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false"> <div class="full height"> <noscript>This website requires JavaScript.</noscript> <nav id="navbar" aria-label="Navigation Bar"> <div class="navbar-left"> <a class="item" id="navbar-logo" href="/" aria-label="Home"> <img width="30" height="30" src="/assets/img/logo.svg" alt="Logo" aria-hidden="true"> </a> <div class="ui secondary menu navbar-mobile-right only-mobile"> <button class="item tw-w-auto ui icon mini button tw-p-2 tw-m-0" id="navbar-expand-toggle" aria-label="Navigation Menu"><svg viewBox="0 0 16 16" class="svg octicon-three-bars" aria-hidden="true" width="16" height="16"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75m0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75M1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5"/></svg></button> </div> <a class="item" href="/explore/repos">Explore</a> <a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.opendev.org/opendev/infra-manual/latest/gettingstarted.html">Get Started</a> </div> <div class="navbar-right"> </div> </nav> <div role="main" aria-label="airship/promenade: A declarative framework for resilient Kubernetes deployment." class="page-content repository file list "> <div class="secondary-nav"> <div class="ui container"> <div class="repo-header"> <div class="flex-item tw-items-center"> <div class="flex-item-leading"> <svg viewBox="0 0 16 16" class="svg octicon-repo" aria-hidden="true" width="24" height="24"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg> </div> <div class="flex-item-main"> <div class="flex-item-title tw-text-18"> <a class="muted tw-font-normal" href="/airship">airship</a>/<a class="muted" href="/airship/promenade">promenade</a> </div> </div> <div class="flex-item-trailing"> </div> </div> </div> </div> <div class="ui container"> <overflow-menu class="ui secondary pointing menu"> <div class="overflow-menu-items"> <a class="active item" href="/airship/promenade"> <svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg> Code </a> <a class="item" href="https://storyboard.openstack.org/#!/project/airship/promenade" target="_blank" rel="noopener noreferrer"> <svg viewBox="0 0 16 16" class="svg octicon-link-external" aria-hidden="true" width="16" height="16"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2m6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.75.75 0 0 1-1.042-.018.75.75 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1"/></svg> Issues </a> <a href="https://review.opendev.org/#/q/status:open+project:airship/promenade" class="item"> <svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg> Proposed changes </a> </div> </overflow-menu> </div> <div class="ui tabs divider"></div> </div> <div class="ui container "> <div class="repo-grid-filelist-sidebar"> <div class="repo-home-filelist"> <div class="ui segments repository-summary tw-my-0"> <div class="ui segment sub-menu repository-menu"> <a class="item muted " href="/airship/promenade/commits/branch/master"> <svg viewBox="0 0 16 16" class="svg octicon-history" aria-hidden="true" width="16" height="16"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177M7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.75.75 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4"/></svg> <b>1,053</b> Commits </a> <a class="item muted " href="/airship/promenade/branches"> <svg viewBox="0 0 16 16" class="svg octicon-git-branch" aria-hidden="true" width="16" height="16"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.5 2.5 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25m-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5"/></svg> <b>3</b> Branches </a> <a class="item muted " href="/airship/promenade/tags"> <svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg> <b>0</b> Tags </a> </div> </div> <div class="repo-button-row"> <div class="repo-button-row-left"> <div class="js-branch-tag-selector " data-text-release-compare="Compare" data-text-branches="Branches" data-text-tags="Tags" data-text-filter-branch="Filter branch" data-text-filter-tag="Find tag" data-text-default-branch-label="default" data-text-create-tag="Create tag %s" data-text-create-branch="Create branch %s" data-text-create-ref-from="from "%s"" data-text-no-results="No results found." data-text-view-all-branches="View all branches" data-text-view-all-tags="View all tags" data-current-repo-default-branch="master" data-current-repo-link="/airship/promenade" data-current-tree-path="" data-current-ref-type="branch" data-current-ref-short-name="master" data-ref-link-template="{RepoLink}/src/{RefType}/{RefShortName}/{TreePath}" data-ref-form-action-template="" data-dropdown-fixed-text="" data-show-tab-branches="true" data-show-tab-tags="true" data-allow-create-new-ref="false" data-show-view-all-refs-entry="true" data-enable-feed="true" > <div class="ui dropdown custom branch-selector-dropdown ellipsis-items-nowrap"> <div class="ui button branch-dropdown-button"> <span class="flex-text-block gt-ellipsis"> <svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg> <strong class="tw-ml-2 tw-inline-block gt-ellipsis"></strong> </span> <svg viewBox="0 0 16 16" class="dropdown icon svg octicon-triangle-down" aria-hidden="true" width="14" height="14"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg> </div> </div> </div> <a href="/airship/promenade/find/branch/master" class="ui compact basic button">Go to file</a> </div> <div class="repo-button-row-right"> <button class="ui primary button js-btn-clone-panel"> <svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg> <span>Code</span> <svg viewBox="0 0 16 16" class="dropdown icon svg octicon-triangle-down" aria-hidden="true" width="14" height="14"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg> </button> <div class="clone-panel-popup tippy-target"> <div class="flex-text-block clone-panel-field"><svg viewBox="0 0 16 16" class="svg octicon-terminal" aria-hidden="true" width="16" height="16"><path d="M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25Zm1.75-.25a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM7.25 8a.75.75 0 0 1-.22.53l-2.25 2.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L5.44 8 3.72 6.28a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215l2.25 2.25c.141.14.22.331.22.53m1.5 1.5h3a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5"/></svg> Clone</div> <div class="clone-panel-tab"> <button class="item repo-clone-https" data-link="https://opendev.org/airship/promenade.git">HTTPS</button> </div> <div class="divider"></div> <div class="clone-panel-field"> <div class="ui input tiny action"> <input size="30" class="repo-clone-url js-clone-url" value="https://opendev.org/airship/promenade.git" readonly> <div class="ui small compact icon button" data-clipboard-target=".js-clone-url" data-tooltip-content="Copy URL"> <svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="14" height="14"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg> </div> </div> </div> <div class="flex-items-block clone-panel-list"> <a class="item muted js-clone-url-editor" data-href-template="vscode://vscode.git/clone?url={url}"><svg viewBox="-1 -1 34 34" class="svg gitea-vscode" aria-hidden="true" width="16" height="16"><path d="M30.9 3.4 24.3.3a2 2 0 0 0-2.3.4L9.4 12.2 3.9 8c-.5-.4-1.2-.4-1.7 0L.4 9.8c-.5.5-.5 1.4 0 2L5.2 16 .4 20.3c-.5.6-.5 1.5 0 2L2.2 24c.5.5 1.2.5 1.7 0l5.5-4L22 31.2a2 2 0 0 0 2.3.4l6.6-3.2a2 2 0 0 0 1.1-1.8V5.2a2 2 0 0 0-1.1-1.8M24 23.3 14.4 16 24 8.7z"/></svg>Open with VS Code</a> <a class="item muted js-clone-url-editor" data-href-template="vscodium://vscode.git/clone?url={url}"><svg xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 16 16" class="svg gitea-vscodium" aria-hidden="true" width="16" height="16"><path fill-rule="nonzero" d="m10.2.2.5-.3c.3 0 .5.2.7.4l.2.8-.2 1-.8 2.4c-.3 1-.4 2 0 2.9l.8-2c.2 0 .4.1.4.3l-.3 1L9.2 13l3.1-2.9c.3-.2.7-.5.8-1a2 2 0 0 0-.3-1c-.2-.5-.5-.9-.6-1.4l.1-.7c.1-.1.3-.2.5-.1.2 0 .3.2.4.4.3.5.4 1.2.5 1.8l.6-1.2c0-.2.2-.4.4-.6l.4-.2c.2 0 .4.3.4.4v.6l-.8 1.6-1.4 1.8 1-.4c.2 0 .6.2.7.5 0 .2 0 .4-.2.5-.3.2-.6.2-1 .2-1 0-2.2.6-2.9 1.4L9.6 15c-.4.4-.9 1-1.4.8-.8-.1-.8-1.3-1-1.8 0-.3-.2-.6-.4-.7-.3-.2-.5-.3-.8-.3-.6-.1-1.2 0-1.8-.2l-.8-.4-.4-.7c-.3-.6-.3-1.2-.5-1.8A4 4 0 0 0 1 8l-.4-.4v-.4c.2-.2.5-.2.7 0 .5.2.5.8 1 1.1V6.2s.3-.1.4 0l.2.5L3 9c.4-.4.6-1 .5-1.5L3.4 7l.3-.2c.2 0 .3.2.4.3v.7c0 .6-.3 1.1-.4 1.7-.2.4-.3 1-.1 1.4.1.5.5.9.9 1 .5.3 1.1.4 1.7.4-.4-.6-.7-1.2-.7-2 0-.7.4-1.3.6-2C6.3 7 5.7 5.8 4.8 5l-1.5-.7c-.4-.2-.7-.7-.7-1.2.3-.1.7 0 1 .1L5 4.5l.6.1c.2-.3 0-.6-.2-.8-.3-.5-1-.6-1.3-1a.9.9 0 0 1-.2-.8c0-.2.3-.4.5-.4.4 0 .7.3.9.5.8.8 1.2 1.8 1.4 3s0 2.5-.2 3.7c0 .3-.2.5-.1.8l.2.2c.2 0 .4 0 .5-.2.4-.3.8-.8.9-1.3l.1-1.2.1-.6.4-.2.3.3v.6c-.1.5-.2 1-.5 1.6a2 2 0 0 1-.6 1l-1 1c-.1.2-.2.6-.1.9 0 .2.2.4.4.5.4.2.8.2 1 0 .3-.1.5-.4.7-.6l.5-1.4.4-2.5C9.7 7 9.6 6 9 5.2c-.2-.4-.5-.7-1-1l-1-.8c-.2-.3-.4-.7-.3-1.2h.6c.4.1.7.4.9.8s.4.8.9 1l-1-2c-.1-.3-.3-.5-.2-.8 0-.2.2-.4.4-.4s.4.1.5.3l.2.5 1 3.1a4 4 0 0 0 .4-2.3L10 1V.2Z"/></svg>Open with VSCodium</a> <a class="item muted js-clone-url-editor" data-href-template="jetbrains://idea/checkout/git?idea.required.plugins.id=Git4Idea&checkout.repo={url}"><svg xml:space="preserve" viewBox="0 0 70 70" class="svg gitea-jetbrains" aria-hidden="true" width="16" height="16"><linearGradient id="gitea-jetbrains__a" x1=".79" x2="33.317" y1="40.089" y2="40.089" gradientUnits="userSpaceOnUse"><stop offset=".258" style="stop-color:#f97a12"/><stop offset=".459" style="stop-color:#b07b58"/><stop offset=".724" style="stop-color:#577bae"/><stop offset=".91" style="stop-color:#1e7ce5"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="M17.7 54.6.8 41.2l8.4-15.6L33.3 35z" style="fill:url(#gitea-jetbrains__a)"/><linearGradient id="gitea-jetbrains__b" x1="25.767" x2="79.424" y1="24.88" y2="54.57" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#f97a12"/><stop offset=".072" style="stop-color:#cb7a3e"/><stop offset=".154" style="stop-color:#9e7b6a"/><stop offset=".242" style="stop-color:#757b91"/><stop offset=".334" style="stop-color:#537bb1"/><stop offset=".432" style="stop-color:#387ccc"/><stop offset=".538" style="stop-color:#237ce0"/><stop offset=".655" style="stop-color:#147cef"/><stop offset=".792" style="stop-color:#0b7cf7"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="m70 18.7-1.3 40.5L41.8 70 25.6 59.6 49.3 35 38.9 12.3l9.3-11.2z" style="fill:url(#gitea-jetbrains__b)"/><linearGradient id="gitea-jetbrains__c" x1="63.228" x2="48.29" y1="42.915" y2="-1.719" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fe315d"/><stop offset=".078" style="stop-color:#cb417e"/><stop offset=".16" style="stop-color:#9e4e9b"/><stop offset=".247" style="stop-color:#755bb4"/><stop offset=".339" style="stop-color:#5365ca"/><stop offset=".436" style="stop-color:#386ddb"/><stop offset=".541" style="stop-color:#2374e9"/><stop offset=".658" style="stop-color:#1478f3"/><stop offset=".794" style="stop-color:#0b7bf8"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="M70 18.7 48.7 43.9l-9.8-31.6 9.3-11.2z" style="fill:url(#gitea-jetbrains__c)"/><linearGradient id="gitea-jetbrains__d" x1="10.72" x2="55.524" y1="16.473" y2="90.58" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fe315d"/><stop offset=".04" style="stop-color:#f63462"/><stop offset=".104" style="stop-color:#df3a71"/><stop offset=".167" style="stop-color:#c24383"/><stop offset=".291" style="stop-color:#ad4a91"/><stop offset=".55" style="stop-color:#755bb4"/><stop offset=".917" style="stop-color:#1d76ed"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="M33.7 58.1 5.6 68.3l4.5-15.8L16 33.1 0 27.7 10.1 0l22 2.7 21.6 24.7z" style="fill:url(#gitea-jetbrains__d)"/><path d="M13.7 13.5h43.2v43.2H13.7z" style="fill:#000"/><path d="M17.7 48.6h16.2v2.7H17.7zM29.4 22.4v-3.3h-9v3.3H23v11.3h-2.6V37h9v-3.3h-2.5V22.4zM38 37.3c-1.4 0-2.6-.3-3.5-.8s-1.7-1.2-2.3-1.9l2.5-2.8c.5.6 1 1 1.5 1.3s1.1.5 1.7.5c.7 0 1.3-.2 1.8-.7.4-.5.6-1.2.6-2.3V19.1h4v11.7c0 1.1-.1 2-.4 2.8s-.7 1.4-1.3 2c-.5.5-1.2 1-2 1.2-.8.3-1.6.5-2.6.5" style="fill:#fff"/></svg>Open with Intellij IDEA</a> </div> <div class="divider"></div> <div class="flex-items-block clone-panel-list"> <a class="item muted archive-link" href="/airship/promenade/archive/master.zip" rel="nofollow"><svg viewBox="0 0 16 16" class="svg octicon-file-zip" aria-hidden="true" width="16" height="16"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25m3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75M6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25m.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75M8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75m-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25"/></svg> Download ZIP</a> <a class="item muted archive-link" href="/airship/promenade/archive/master.tar.gz" rel="nofollow"><svg viewBox="0 0 16 16" class="svg octicon-file-zip" aria-hidden="true" width="16" height="16"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25m3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75M6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25m.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75M8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75m-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25"/></svg> Download TAR.GZ</a> <a class="item muted archive-link" href="/airship/promenade/archive/master.bundle" rel="nofollow"><svg viewBox="0 0 16 16" class="svg octicon-package" aria-hidden="true" width="16" height="16"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0M7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.25.25 0 0 0-.25 0M2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"/></svg> Download BUNDLE</a> </div> </div> </div> </div> <div id="repo-files-table" > <div class="repo-file-line repo-file-last-commit"> <div class="latest-commit"> <img loading="lazy" class="ui avatar tw-align-middle" src="/assets/img/avatar_default.png" title="Sergiy Markin" width="24" height="24"/> <span class="author-wrapper" title="Sergiy Markin"><strong>Sergiy Markin</strong></span> <a rel="nofollow" class="ui sha label " href="/airship/promenade/commit/5a5d318d4a3c7ea1b3605d94ef28b17ccd5d1d6f"> <span class="shortsha">5a5d318d4a</span> </a> <span class="grey commit-summary" title="HTK uplift and fix for helm_tk.sh"><span class="message-wrapper"><a href="/airship/promenade/commit/5a5d318d4a3c7ea1b3605d94ef28b17ccd5d1d6f" class="muted">HTK uplift and fix for helm_tk.sh</a></span> <button class="ui button js-toggle-commit-body ellipsis-button" aria-expanded="false">...</button> <pre class="commit-body tw-hidden">Update helm_tk script to be able to build unmerged code. Change-Id: I037fe74efd1fe03612f266b208ae5cf59faf9fdc</pre> </span> </div> <div><relative-time prefix="" tense="past" datetime="2025-02-11T21:53:06Z" data-tooltip-content data-tooltip-interactive="true">2025-02-11 21:53:06 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/.github" title=".github"> .github </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/048783611fc0103cb721213c52cf30d1d4e60508" class="muted">Update Airship vulnerability link</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2020-05-18T21:27:18Z" data-tooltip-content data-tooltip-interactive="true">2020-05-18 21:27:18 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/charts" title="charts"> charts </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/d6157c306991e56d7b8aafb771f75bf83de0a45a" class="muted">Use command and args</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-10-22T12:31:04-04:00" data-tooltip-content data-tooltip-interactive="true">2024-10-22 12:31:04 -04:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/doc" title="doc"> doc </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/525e257b74a3bea4eae471ca34073ae3de4ca1c7" class="muted">Bump up docker Pypi module version</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-10-08T22:23:50Z" data-tooltip-content data-tooltip-interactive="true">2024-10-08 22:23:50 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/etc/promenade" title="etc/promenade"> <span class="text light-2">etc</span>/promenade </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/b9dceb2a9a2c23a4569d26efb564b215da9c6eed" class="muted">Minor testing-related cleanup</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2018-01-02T10:14:10-06:00" data-tooltip-content data-tooltip-interactive="true">2018-01-02 10:14:10 -06:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/examples" title="examples"> examples </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/afd97decf2c0d15c8c7d5141f2c2b2b5491ee67c" class="muted">Etcd network policy</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-10-03T16:18:47Z" data-tooltip-content data-tooltip-interactive="true">2024-10-03 16:18:47 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/images/promenade" title="images/promenade"> <span class="text light-2">images</span>/promenade </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/40fd108fd976c19bc142d10cc52b24d48de37100" class="muted">Schema updates</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-12-23T20:58:23Z" data-tooltip-content data-tooltip-interactive="true">2024-12-23 20:58:23 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/promenade" title="promenade"> promenade </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/40fd108fd976c19bc142d10cc52b24d48de37100" class="muted">Schema updates</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-12-23T20:58:23Z" data-tooltip-content data-tooltip-interactive="true">2024-12-23 20:58:23 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/tests" title="tests"> tests </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/afd97decf2c0d15c8c7d5141f2c2b2b5491ee67c" class="muted">Etcd network policy</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-10-03T16:18:47Z" data-tooltip-content data-tooltip-interactive="true">2024-10-03 16:18:47 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/tools" title="tools"> tools </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/5a5d318d4a3c7ea1b3605d94ef28b17ccd5d1d6f" class="muted">HTK uplift and fix for helm_tk.sh</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2025-02-11T21:53:06Z" data-tooltip-content data-tooltip-interactive="true">2025-02-11 21:53:06 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/zuul.d" title="zuul.d"> zuul.d </a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/5a5d318d4a3c7ea1b3605d94ef28b17ccd5d1d6f" class="muted">HTK uplift and fix for helm_tk.sh</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2025-02-11T21:53:06Z" data-tooltip-content data-tooltip-interactive="true">2025-02-11 21:53:06 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/.dockerignore" title=".dockerignore">.dockerignore</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/9d696ca0a4923d0a9dd6096228fa4e74775ee2ec" class="muted">Use helm 3 in chart build</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2021-09-30T16:57:05-05:00" data-tooltip-content data-tooltip-interactive="true">2021-09-30 16:57:05 -05:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/.gitignore" title=".gitignore">.gitignore</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/2f2455f0d159287565a279a99c0bbeb235e81ffb" class="muted">Restored ubuntu_bionic image build</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2023-05-25T22:53:15Z" data-tooltip-content data-tooltip-interactive="true">2023-05-25 22:53:15 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/.gitreview" title=".gitreview">.gitreview</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/44b5fae04788c6a28de0f9a2e132204561474d47" class="muted">OpenDev Migration Patch</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2019-04-19T19:52:18Z" data-tooltip-content data-tooltip-interactive="true">2019-04-19 19:52:18 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/.readthedocs.yaml" title=".readthedocs.yaml">.readthedocs.yaml</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/525e257b74a3bea4eae471ca34073ae3de4ca1c7" class="muted">Bump up docker Pypi module version</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-10-08T22:23:50Z" data-tooltip-content data-tooltip-interactive="true">2024-10-08 22:23:50 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/bindep.txt" title="bindep.txt">bindep.txt</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/32ad8a96b055993c4a8ef229800b67140d1aeea7" class="muted">[focal] Python modules sync with Airship project</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2023-04-21T06:09:14Z" data-tooltip-content data-tooltip-interactive="true">2023-04-21 06:09:14 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/entrypoint.sh" title="entrypoint.sh">entrypoint.sh</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/3771faa8fa03379fa283c5830cef0b2124c81162" class="muted">[uwsgi] remove extraneous argument</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2020-04-23T22:28:39Z" data-tooltip-content data-tooltip-interactive="true">2020-04-23 22:28:39 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/LICENSE" title="LICENSE">LICENSE</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/3cc16fce5098b2c7e56c38e4ff7a07719c6b8069" class="muted">Initial commit</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2017-02-14T11:13:39-08:00" data-tooltip-content data-tooltip-interactive="true">2017-02-14 11:13:39 -08:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/Makefile" title="Makefile">Makefile</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/ac573b9fb53fd543172c50bbbcdfac3656fb8e66" class="muted">Airflow 2.10.2 + ubuntu_jammy</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-09-26T17:41:24Z" data-tooltip-content data-tooltip-interactive="true">2024-09-26 17:41:24 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/README.md" title="README.md">README.md</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/7cad8077e48c6c10442d20c058021d8d1315ae2e" class="muted">Update the README.md File</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2018-07-30T15:52:23-05:00" data-tooltip-content data-tooltip-interactive="true">2018-07-30 15:52:23 -05:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/requirements-direct.txt" title="requirements-direct.txt">requirements-direct.txt</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/40fd108fd976c19bc142d10cc52b24d48de37100" class="muted">Schema updates</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-12-23T20:58:23Z" data-tooltip-content data-tooltip-interactive="true">2024-12-23 20:58:23 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/requirements-frozen.txt" title="requirements-frozen.txt">requirements-frozen.txt</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/40fd108fd976c19bc142d10cc52b24d48de37100" class="muted">Schema updates</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-12-23T20:58:23Z" data-tooltip-content data-tooltip-interactive="true">2024-12-23 20:58:23 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/requirements.txt" title="requirements.txt">requirements.txt</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/73704e44568291a8edfa693815c84272f028a7c8" class="muted">Pull requirements-direct into requirements</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2019-08-26T13:52:04Z" data-tooltip-content data-tooltip-interactive="true">2019-08-26 13:52:04 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/setup.cfg" title="setup.cfg">setup.cfg</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/2f2455f0d159287565a279a99c0bbeb235e81ffb" class="muted">Restored ubuntu_bionic image build</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2023-05-25T22:53:15Z" data-tooltip-content data-tooltip-interactive="true">2023-05-25 22:53:15 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/setup.py" title="setup.py">setup.py</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/8ce937a9f7ac94d51d4d946b6c2288975c53853a" class="muted">updates for focal</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2023-02-27T12:11:07-05:00" data-tooltip-content data-tooltip-interactive="true">2023-02-27 12:11:07 -05:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/test-requirements.txt" title="test-requirements.txt">test-requirements.txt</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/4283b05cbee451007edde96951d31ee6b243a642" class="muted">Airflow and Openstack modules upgrade</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-12-18T14:31:36Z" data-tooltip-content data-tooltip-interactive="true">2024-12-18 14:31:36 +00:00</relative-time></div> </div> <div class="repo-file-item"> <div class="repo-file-cell name "> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/airship/promenade/src/branch/master/tox.ini" title="tox.ini">tox.ini</a> </div> <div class="repo-file-cell message loading-icon-2px"> <a href="/airship/promenade/commit/4283b05cbee451007edde96951d31ee6b243a642" class="muted">Airflow and Openstack modules upgrade</a> </div> <div class="repo-file-cell age"><relative-time prefix="" tense="past" datetime="2024-12-18T14:31:36Z" data-tooltip-content data-tooltip-interactive="true">2024-12-18 14:31:36 +00:00</relative-time></div> </div> </div> <div id="readme" class="tab-size-4 non-diff-file-content"> <h4 class="file-header ui top attached header tw-flex tw-items-center tw-justify-between tw-flex-wrap"> <div class="file-header-left tw-flex tw-items-center tw-py-2 tw-pr-4"> <svg viewBox="0 0 16 16" class="tw-mr-2 svg octicon-book" aria-hidden="true" width="16" height="16"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.74 3.74 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574M8.755 4.75l-.004 7.322a3.75 3.75 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25"/></svg> <strong><a class="muted" href="#readme">README.md</a></strong> </div> <div class="file-header-right file-actions tw-flex tw-items-center tw-flex-wrap"> </div> </h4> <div class="ui bottom attached table unstackable segment"> <div class="file-view markup markdown"> <h1 id="user-content-promenade" dir="auto">Promenade</h1> <p dir="auto">Promenade is a tool for bootstrapping a resilient Kubernetes cluster and managing its life-cycle via Helm charts.</p> <p dir="auto">Documentation can be found <a href="https://airship-promenade.readthedocs.io" rel="nofollow">here</a>.</p> <h2 id="user-content-roadmap" dir="auto">Roadmap</h2> <p dir="auto">The detailed Roadmap can be viewed on the <a href="https://storyboard.openstack.org/#!/project/1009" rel="nofollow">OpenStack StoryBoard</a>.</p> <ul dir="auto"> <li>Cluster bootstrapping <ul dir="auto"> <li>Initial Genesis process results in a single node Kubernetes cluster with Under-cloud components deployed using <a href="https://git.airshipit.org/cgit/airship-armada/" rel="nofollow">Armada</a>.</li> <li>Joining sufficient master nodes results in a resilient Kubernetes cluster.</li> <li>Destroy Genesis node after bootstrapping and re-provision as a normal node to ensure consistency.</li> </ul> </li> <li>Life-cycle management <ul dir="auto"> <li>Decommissioning of nodes.</li> <li>Updating Kubernetes version.</li> </ul> </li> </ul> <h2 id="user-content-getting-started" dir="auto">Getting Started</h2> <p dir="auto">To get started, see <a href="https://airship-promenade.readthedocs.io/en/latest/getting-started.html" rel="nofollow">getting started</a>.</p> <p dir="auto">Configuration is documented <a href="https://airship-promenade.readthedocs.io/en/latest/configuration/index.html" rel="nofollow">here</a>.</p> <h2 id="user-content-bugs" dir="auto">Bugs</h2> <p dir="auto">Bugs are tracked in <a href="https://storyboard.openstack.org/#!/project/1009" rel="nofollow">OpenStack StoryBoard</a>.</p> </div> </div> </div> </div> <div class="repo-home-sidebar-top"> <form class="ignore-dirty tw-flex tw-flex-1" action="/airship/promenade/search" method="get"> <div class="ui small action input tw-flex-1"> <input name="q" size="10" placeholder="Search code..."> <button class="ui small icon button" aria-label="Search..." ><svg viewBox="0 0 16 16" class="svg octicon-search" aria-hidden="true" width="16" height="16"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7"/></svg></button> </div> </form> <div class="flex-list"> <div class="flex-item"> <div class="flex-item-main"> <div class="flex-item-title">Description</div> <div class="flex-item-body tw-text-16"> <div class="tw-flex tw-flex-col tw-gap-2 tw-mt-2"> <div class="repo-description tw-break-anywhere tw-gap-2">A declarative framework for resilient Kubernetes deployment. </div> <div id="repo-topics" class="flex-text-block tw-flex-wrap tw-gap-1 tw-my-1 tw-text-text"> </div> <a class="flex-text-block muted" href="/airship/promenade/src/branch/master/README.md"> <svg viewBox="0 0 16 16" class="svg octicon-book" aria-hidden="true" width="16" height="16"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.74 3.74 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574M8.755 4.75l-.004 7.322a3.75 3.75 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25"/></svg> Readme </a> <span class="flex-text-block muted" data-tooltip-placement="top" data-tooltip-content="git: 11 MiB, lfs: 0 B"> <svg viewBox="0 0 16 16" class="svg octicon-database" aria-hidden="true" width="16" height="16"><path d="M1 3.5c0-.626.292-1.165.7-1.59.406-.422.956-.767 1.579-1.041C4.525.32 6.195 0 8 0s3.475.32 4.722.869c.622.274 1.172.62 1.578 1.04.408.426.7.965.7 1.591v9c0 .626-.292 1.165-.7 1.59-.406.422-.956.767-1.579 1.041C11.476 15.68 9.806 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.62-1.579-1.04-.408-.426-.7-.965-.7-1.591Zm1.5 0c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 5.205 6.353 5.5 8 5.5s3.101-.295 4.118-.742c.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55s-.058-.318-.282-.551c-.227-.237-.591-.483-1.101-.707C11.102 1.795 9.647 1.5 8 1.5s-3.101.295-4.118.742c-.508.224-.873.471-1.1.708-.224.232-.282.417-.282.55m0 4.5c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 9.705 6.353 10 8 10s3.101-.295 4.118-.742c.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55V5.724c-.241.15-.503.286-.778.407C11.475 6.68 9.805 7 8 7s-3.475-.32-4.721-.869a6 6 0 0 1-.779-.407Zm0 2.225V12.5c0 .133.058.318.282.55.227.237.592.484 1.1.708 1.016.447 2.471.742 4.118.742s3.102-.295 4.117-.742c.51-.224.874-.47 1.101-.707.224-.233.282-.418.282-.551v-2.275c-.241.15-.503.285-.778.406-1.247.549-2.917.869-4.722.869s-3.475-.32-4.721-.869a6 6 0 0 1-.779-.406"/></svg> <b>11</b> MiB </span> </div> </div> </div> </div> </div> </div> <div class="repo-home-sidebar-bottom"> <div class="flex-list"> <div class="flex-item"> <div class="flex-item-main"> <div class="flex-item-title"> Languages </div> <div class="flex-item-body"> <div class="language-stats"> <div class="bar" style="width: 47.6%; background-color: #3572A5" data-tooltip-placement="top" data-tooltip-content=Python data-tooltip-follow-cursor="horizontal"></div> <div class="bar" style="width: 26.8%; background-color: #89e051" data-tooltip-placement="top" data-tooltip-content=Shell data-tooltip-follow-cursor="horizontal"></div> <div class="bar" style="width: 24%; background-color: #f0c040" data-tooltip-placement="top" data-tooltip-content=Smarty data-tooltip-follow-cursor="horizontal"></div> <div class="bar" style="width: 1.6%; background-color: #427819" data-tooltip-placement="top" data-tooltip-content=Makefile data-tooltip-follow-cursor="horizontal"></div> </div> <div class="language-stats-details"> <div class="item"> <i class="color-icon" style="background-color: #3572A5"></i> <span class="tw-font-semibold"> Python </span> 47.6% </div> <div class="item"> <i class="color-icon" style="background-color: #89e051"></i> <span class="tw-font-semibold"> Shell </span> 26.8% </div> <div class="item"> <i class="color-icon" style="background-color: #f0c040"></i> <span class="tw-font-semibold"> Smarty </span> 24% </div> <div class="item"> <i class="color-icon" style="background-color: #427819"></i> <span class="tw-font-semibold"> Makefile </span> 1.6% </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <footer class="page-footer" role="group" aria-label="Footer"> <div class="left-links" role="contentinfo" aria-label="About Software"> <a target="_blank" rel="noopener noreferrer" href="https://about.gitea.com">Powered by Gitea</a> Version: v1.23.3 Page: <strong>30ms</strong> Template: <strong>5ms</strong> </div> <div class="right-links" role="group" aria-label="Links"> <div class="ui dropdown upward"> <span class="flex-text-inline"><svg viewBox="0 0 16 16" class="svg octicon-globe" aria-hidden="true" width="14" height="14"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M5.78 8.75a9.64 9.64 0 0 0 1.363 4.177q.383.64.857 1.215c.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a10 10 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.51 6.51 0 0 0 4.666 5.5q-.184-.271-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948m-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948q.18-.295.353-.552a6.51 6.51 0 0 0-4.666 5.5m10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948q-.18.296-.353.552a6.51 6.51 0 0 0 4.666-5.5Zm2.733-1.5a6.51 6.51 0 0 0-4.666-5.5q.184.272.353.552c.714 1.192 1.436 2.874 1.58 4.948Z"/></svg> English</span> <div class="menu language-menu"> <a lang="id-ID" data-url="/?lang=id-ID" class="item ">Bahasa Indonesia</a> <a lang="de-DE" data-url="/?lang=de-DE" class="item ">Deutsch</a> <a lang="en-US" data-url="/?lang=en-US" class="item selected">English</a> <a lang="es-ES" data-url="/?lang=es-ES" class="item ">Español</a> <a lang="fr-FR" data-url="/?lang=fr-FR" class="item ">Français</a> <a lang="ga-IE" data-url="/?lang=ga-IE" class="item ">Gaeilge</a> <a lang="it-IT" data-url="/?lang=it-IT" class="item ">Italiano</a> <a lang="lv-LV" data-url="/?lang=lv-LV" class="item ">Latviešu</a> <a lang="hu-HU" data-url="/?lang=hu-HU" class="item ">Magyar nyelv</a> <a lang="nl-NL" data-url="/?lang=nl-NL" class="item ">Nederlands</a> <a lang="pl-PL" data-url="/?lang=pl-PL" class="item ">Polski</a> <a lang="pt-PT" data-url="/?lang=pt-PT" class="item ">Português de Portugal</a> <a lang="pt-BR" data-url="/?lang=pt-BR" class="item ">Português do Brasil</a> <a lang="fi-FI" data-url="/?lang=fi-FI" class="item ">Suomi</a> <a lang="sv-SE" data-url="/?lang=sv-SE" class="item ">Svenska</a> <a lang="tr-TR" data-url="/?lang=tr-TR" class="item ">Türkçe</a> <a lang="cs-CZ" data-url="/?lang=cs-CZ" class="item ">Čeština</a> <a lang="el-GR" data-url="/?lang=el-GR" class="item ">Ελληνικά</a> <a lang="bg-BG" data-url="/?lang=bg-BG" class="item ">Български</a> <a lang="ru-RU" data-url="/?lang=ru-RU" class="item ">Русский</a> <a lang="uk-UA" data-url="/?lang=uk-UA" class="item ">Українська</a> <a lang="fa-IR" data-url="/?lang=fa-IR" class="item ">فارسی</a> <a lang="ml-IN" data-url="/?lang=ml-IN" class="item ">മലയാളം</a> <a lang="ja-JP" data-url="/?lang=ja-JP" class="item ">日本語</a> <a lang="zh-CN" data-url="/?lang=zh-CN" class="item ">简体中文</a> <a lang="zh-TW" data-url="/?lang=zh-TW" class="item ">繁體中文(台灣)</a> <a lang="zh-HK" data-url="/?lang=zh-HK" class="item ">繁體中文(香港)</a> <a lang="ko-KR" data-url="/?lang=ko-KR" class="item ">한국어</a> </div> </div> <a href="/assets/licenses.txt">Licenses</a> <a href="/api/swagger">API</a> </div> </footer> <script src="/assets/js/index.js?v=v1.23.3" onerror="alert('Failed to load asset files from ' + this.src + '. Please make sure the asset files can be accessed.')"></script> </body> </html>