diff --git a/pr-preview/pr-1298/404.html b/pr-preview/pr-1298/404.html deleted file mode 100644 index 52b7ad717a..0000000000 --- a/pr-preview/pr-1298/404.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -找不到页面 | SCOW - - - - - -
跳到主要内容

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/css/styles.5147d359.css b/pr-preview/pr-1298/assets/css/styles.5147d359.css deleted file mode 100644 index e9cea9ed19..0000000000 --- a/pr-preview/pr-1298/assets/css/styles.5147d359.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_RaCl,html{-webkit-tap-highlight-color:transparent}*,.loadingRing_WpbY div{box-sizing:border-box}.clean-list,.containsTaskList_ZZRN,.details_iBre>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_YCV5 article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_CKqo{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_LTRr,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_znvL{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EGIi .wordWrapButtonIcon_SK6d{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_osBM,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.searchBarContainer_jyB6.searchIndexLoading_ARSa .searchBarLoadingRing_Gs_b{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.content_evsg a,.hitFooter_o86x a,.suggestion_QpW_.cursor_oCEa mark{text-decoration:underline}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_hdOv:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.sidebar_juGB,.tableOfContents_J_au{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_TbBv article>:first-child,.docItemContainer_TbBv header+*,.footer__item{margin-top:0}.admonitionContent_lxAI>:last-child,.cardContainer_OG0l :last-child,.collapsibleContent_y6MQ p:last-child,.details_iBre>summary>p:last-child,.footer__items,.searchResultItem_q0zg>h2,.tabItem_pFUt>:last-child{margin-bottom:0}.codeBlockStandalone_QHsy,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_EYHO{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_iBre[data-collapsed=false].isBrowser_fo7J>summary:before,.details_iBre[open]:not(.isBrowser_fo7J)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_LQTH,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_iMkt:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_ZZRN>li)>.containsTaskList_ZZRN{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#94070a;--ifm-color-primary-dark:#f1a83f;--ifm-color-primary-darker:#3a312c;--ifm-color-primary-darkest:#5e4a44;--ifm-color-primary-light:#f1a83f;--ifm-color-primary-lighter:#fcd16c;--ifm-color-primary-lightest:#f9e7d4;--ifm-color-success-dark:#f1a83f;--ifm-color-success-contrast-background:#f9e7d4;--ifm-color-success-contrast-foreground:#94070a;--ifm-alert-background-color-highlight:#fcd16c;--ifm-code-font-size:95%;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.alert--success{--ifm-alert-background-color-highlight:#fcd1b4}.docusaurus-highlight-code-line{background-color:rgba(0,0,0,.1);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}html[data-theme=dark] .docusaurus-highlight-code-line{background-color:rgba(29,29,29,.3)}html[data-theme=dark] .alert--success{--ifm-alert-background-color:#3a312c;--ifm-color-success-contrast-foreground:#ffefe1;--ifm-alert-background-color-highlight:#5e4a44}.backToTopButton_mket{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_mket:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_tycI{opacity:1;transform:scale(1);visibility:visible}.skipToContent_DaBv{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_DaBv:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_Pzdz{line-height:0;padding:0}.content_evsg{font-size:85%;padding:5px 0;text-align:center}.content_evsg a{color:inherit}.announcementBar_il64{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_nc4M,.hideAction_j448>svg,.sidebarLogo_GYUm,.themedComponent_WQSP,[data-theme=dark] .lightToggleIcon_J9d5,[data-theme=light] .darkToggleIcon_XeEH,html[data-announcement-bar-initially-dismissed=true] .announcementBar_il64{display:none}.announcementBarPlaceholder_hea3{flex:0 0 10px}.announcementBarClose_m_42{align-self:stretch;flex:0 0 30px}.toggle_mqUd{height:2rem;width:2rem}.toggleButton_RaCl{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_RaCl:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_evVP{cursor:not-allowed}.darkNavbarColorModeToggle_ox95:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_PWdW,[data-theme=light] .themedComponent--light_qcU3,html:not([data-theme]) .themedComponent--light_qcU3{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_c5RZ{display:none;margin:0}.iconExternalLink_in87{margin-left:.3rem}.docMainContainer_ZWqf,.docRoot_kL5f{display:flex;width:100%}.docsWrapper_ZINP{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_GNO0{cursor:pointer}.iconLanguage_vjSp{margin-right:5px;vertical-align:text-bottom}.searchBar_pqcy .dropdownMenu_roJv{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_pqcy .dropdownMenu_roJv{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_pqcy .dropdownMenu_roJv .suggestion_QpW_{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree_Ioxh,.noResults_M2t4{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_roJv .suggestion_QpW_{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_pqcy .dropdownMenu_roJv .suggestion_QpW_:not(:last-child){margin-bottom:4px}.searchBar_pqcy .dropdownMenu_roJv .suggestion_QpW_.cursor_oCEa{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_o86x a,.hitIcon_ARYa,.hitPath_yqmk,.hitTree_Ioxh,.noResultsIcon_ZYnd{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_ARYa,html[data-theme=dark] .hitPath_yqmk,html[data-theme=dark] .hitTree_Ioxh,html[data-theme=dark] .noResultsIcon_ZYnd{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree_Ioxh>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_ARYa,.hitTree_Ioxh>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_Kee_,.hitIcon_ARYa{height:20px;width:20px}.hitWrapper_Aco1{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_Aco1 mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_Vuma{font-size:.9em}.hitPath_yqmk{font-size:.75em}.hitPath_yqmk,.hitTitle_Vuma{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.noResults_M2t4{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_ZYnd{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_o86x{font-size:.85em;margin-top:var(--search-local-spacing,12px);text-align:center}.cursor_oCEa .hideAction_j448>svg,.tocCollapsibleContent_ecpr a{display:block}.suggestion_QpW_.cursor_oCEa,.suggestion_QpW_.cursor_oCEa .hitIcon_ARYa,.suggestion_QpW_.cursor_oCEa .hitPath_yqmk,.suggestion_QpW_.cursor_oCEa .hitTree_Ioxh,.suggestion_QpW_.cursor_oCEa mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_jyB6{margin-left:16px}.searchBarContainer_jyB6 .searchBarLoadingRing_Gs_b{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_jyB6 .searchClearButton_qO14{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.navbar__search{position:relative}.searchIndexLoading_ARSa .navbar__search-input{background-image:none}.searchHintContainer_gO9p{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_j8ml{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_WpbY{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_WpbY div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite a;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) transparent transparent transparent;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_WpbY div:first-child{animation-delay:-.45s}.loadingRing_WpbY div:nth-child(2){animation-delay:-.3s}.loadingRing_WpbY div:nth-child(3){animation-delay:-.15s}@keyframes a{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@supports selector(:has(*)){.navbarSearchContainer_cDAb:not(:has(>*)){display:none}}.navbarHideable_TwCu{transition:transform var(--ifm-transition-fast) ease}.navbarHidden__TOU{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_suSn{color:red;white-space:pre-wrap}.errorBoundaryFallback_3KpY{color:red;padding:.55rem}.footerLogoLink_okxG{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_okxG:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_FvRs{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_jfPV{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_DPu9{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_juGB{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_gYDd{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_St4F,.sidebarItemList_HtN8{font-size:.9rem}.sidebarItem_wNWX{margin-top:.7rem}.sidebarItemLink_iMkt{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_FwE7{color:var(--ifm-color-primary)!important}.cardContainer_OG0l{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 rgba(0,0,0,.15);transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_OG0l:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 rgba(0,0,0,.2)}.cardTitle_YNeR{font-size:1.2rem}.cardDescription_jbMI{font-size:.8rem}.searchContextInput_NS1l,.searchQueryInput_MsdA{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_q0zg{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_Fqpt{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.buttonGroup__juc button,.codeBlockContainer_mBXq{background:var(--prism-background-color);color:var(--prism-color)}.searchResultItemSummary_N2Mb{font-style:italic;margin:.5rem 0 0}.features_xdhU{align-items:center;display:flex;padding:2rem 0;width:100%}.featureSvg__8YW{height:200px;width:200px}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN{align-items:center;display:flex;justify-content:center}.authorCol_lElp{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_ZLU4{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_D6VN{margin-left:.3rem;margin-right:.3rem}.codeBlockContainer_mBXq{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_MrE0{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_NJat{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_L0Z9{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_NJat+.codeBlockContent_MrE0 .codeBlock_L0Z9{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_Dw7K{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_Pb5B{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__juc{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__juc button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__juc button:focus-visible,.buttonGroup__juc button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__juc button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_uNlT{counter-increment:a;display:table-row}.codeLineNumber_hdOv{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_hdOv:before{content:counter(a);opacity:.4}.codeLineContent_BbH7{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_diEf{opacity:1!important}.copyButtonIcons_T8h3{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_ccQ4,.copyButtonSuccessIcon_TNjr{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_TNjr{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_diEf .copyButtonIcon_ccQ4{opacity:0;transform:scale(.33)}.copyButtonCopied_diEf .copyButtonSuccessIcon_TNjr{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag__kek{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag__kek:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_u5cB{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_n6gD{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_n6gD:after,.tagWithCount_n6gD:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_n6gD:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_n6gD:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_n6gD span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_o1Ik{display:inline-block;margin:.5rem .5rem 0 1rem}.wordWrapButtonIcon_SK6d{height:1.2rem;width:1.2rem}.tags_WN9V{display:inline}.tag_KC_g{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_knyl{margin-right:.3em;vertical-align:sub}.lastUpdated_hXYt{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_Hhl3{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_Hhl3:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_Yxxo:after,.tocCollapsibleExpanded_cG7G{transform:none}.tocCollapsible_LWH4{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_ecpr>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_ecpr ul li{margin:.4rem .8rem}.details_iBre{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_iBre>summary{cursor:pointer;padding-left:1rem;position:relative}.details_iBre>summary::-webkit-details-marker{display:none}.details_iBre>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_y6MQ{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_dDbS{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_vHTP{height:auto}.tableOfContents_J_au{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_StIO{margin-bottom:1em}.admonitionHeading_osBM{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_osBM:not(:last-child){margin-bottom:.3rem}.admonitionHeading_osBM code{text-transform:none}.admonitionIcon_Hdfn{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Hdfn svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_NxNg{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_O_z6{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_CWsN{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.mdxPageWrapper_C3_b{justify-content:center}@media (min-width:997px){.collapseSidebarButton_c5RZ,.expandButton_EkTf{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_m_42,.announcementBarPlaceholder_hea3{flex-basis:50px}.collapseSidebarButton_c5RZ{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_gDab{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_zxgy,[dir=rtl] .collapseSidebarButtonIcon_gDab{transform:rotate(0)}.collapseSidebarButton_c5RZ:focus,.collapseSidebarButton_c5RZ:hover,.expandButton_EkTf:focus,.expandButton_EkTf:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_kLD_{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_dEPY{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_dEPY{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_scNb{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_qLg2{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_ORQj{padding-top:0}.sidebarHidden_RJoM{opacity:0;visibility:hidden}.sidebarLogo_GYUm{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_GYUm img{height:2rem;margin-right:.5rem}.expandButton_EkTf{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_zxgy{transform:rotate(180deg)}.docSidebarContainer_nc4M{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden__s9J{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_FCil{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_ZWqf{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_L0iF{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_XlKL{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_cDAb{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_hXYt{text-align:right}.tocMobile_H_wA{display:none}.docItemCol_twGq,.generatedIndexPage_Ciyt{max-width:75%!important}.list_YCV5 article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_kPDy,.footer__link-separator,.navbar__item,.sidebar_juGB,.tableOfContents_J_au{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_cDAb{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_UNai{padding:0 .3rem}}@media not (max-width:996px){.searchBar_pqcy.searchBarLeft_CXc5 .dropdownMenu_roJv{left:0!important;right:auto!important}}@media only screen and (max-width:996px){.searchQueryColumn_Vl7W{max-width:60%!important}.searchContextColumn_oi2r{max-width:40%!important}}@media screen and (max-width:966px){.heroBanner_qdFl{padding:2rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.navbar__search-input:not(:focus){width:2rem}.searchBar_pqcy .dropdownMenu_roJv{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_jyB6:not(.focused_U3qw) .searchClearButton_qO14,.searchHintContainer_gO9p{display:none}.title_EYHO{font-size:2rem}}@media screen and (max-width:576px){.searchQueryColumn_Vl7W{max-width:100%!important}.searchContextColumn_oi2r{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_mket:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_il64,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_H_wA{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_Dw7K{white-space:pre-wrap}} \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/images/-5-i1-fd9782d10636ad2d13e4152dd8d8afb6.PNG b/pr-preview/pr-1298/assets/images/-5-i1-fd9782d10636ad2d13e4152dd8d8afb6.PNG deleted file mode 100644 index eb5c912792..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-5-i1-fd9782d10636ad2d13e4152dd8d8afb6.PNG and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-5-i2-15560cb74ba50809fab7ae370ae185f2.png b/pr-preview/pr-1298/assets/images/-5-i2-15560cb74ba50809fab7ae370ae185f2.png deleted file mode 100644 index f696a65438..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-5-i2-15560cb74ba50809fab7ae370ae185f2.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-5-i3-299474f0cee4e015eb0129118906fff1.PNG b/pr-preview/pr-1298/assets/images/-5-i3-299474f0cee4e015eb0129118906fff1.PNG deleted file mode 100644 index 97585140d6..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-5-i3-299474f0cee4e015eb0129118906fff1.PNG and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-5-i4-b909226a6bcdd7a937e2aa2aab93bff9.png b/pr-preview/pr-1298/assets/images/-5-i4-b909226a6bcdd7a937e2aa2aab93bff9.png deleted file mode 100644 index 90756c51c0..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-5-i4-b909226a6bcdd7a937e2aa2aab93bff9.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-5-i5-8ca8a45ba9d6fa51172e4234e344789a.PNG b/pr-preview/pr-1298/assets/images/-5-i5-8ca8a45ba9d6fa51172e4234e344789a.PNG deleted file mode 100644 index ef2bf6e2bf..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-5-i5-8ca8a45ba9d6fa51172e4234e344789a.PNG and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-5-i7-b786c6f8a7f41ab3f15f1c005c021c44.png b/pr-preview/pr-1298/assets/images/-5-i7-b786c6f8a7f41ab3f15f1c005c021c44.png deleted file mode 100644 index f4eeb801ba..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-5-i7-b786c6f8a7f41ab3f15f1c005c021c44.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-5-i8-5d5f95c0aaae6f44609fa23ff0c3a988.png b/pr-preview/pr-1298/assets/images/-5-i8-5d5f95c0aaae6f44609fa23ff0c3a988.png deleted file mode 100644 index d36967ee0d..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-5-i8-5d5f95c0aaae6f44609fa23ff0c3a988.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-6-1-beffe3fe746fa6ea8e15ede2f693d0f9.PNG b/pr-preview/pr-1298/assets/images/-6-1-beffe3fe746fa6ea8e15ede2f693d0f9.PNG deleted file mode 100644 index 096934e32a..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-6-1-beffe3fe746fa6ea8e15ede2f693d0f9.PNG and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-1-414eb05502574573dfec447976457e65.png b/pr-preview/pr-1298/assets/images/-7-1-414eb05502574573dfec447976457e65.png deleted file mode 100644 index 1921f13b18..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-1-414eb05502574573dfec447976457e65.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-2-a7014c5e36dffcf7f77b98df419567b3.png b/pr-preview/pr-1298/assets/images/-7-2-a7014c5e36dffcf7f77b98df419567b3.png deleted file mode 100644 index a7b199b032..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-2-a7014c5e36dffcf7f77b98df419567b3.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-3-65c8df01ee37667b3b8d5d62a4277441.png b/pr-preview/pr-1298/assets/images/-7-3-65c8df01ee37667b3b8d5d62a4277441.png deleted file mode 100644 index 49b862407a..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-3-65c8df01ee37667b3b8d5d62a4277441.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-4-71081f81255027477f2f22437aa8b915.png b/pr-preview/pr-1298/assets/images/-7-4-71081f81255027477f2f22437aa8b915.png deleted file mode 100644 index 66475f23ec..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-4-71081f81255027477f2f22437aa8b915.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-5-b0a7abd38f7b61e0b34f61722e4fefee.png b/pr-preview/pr-1298/assets/images/-7-5-b0a7abd38f7b61e0b34f61722e4fefee.png deleted file mode 100644 index eddcd87c56..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-5-b0a7abd38f7b61e0b34f61722e4fefee.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-6-e6ab6a8f5759758d373ad0a1b0ff491f.png b/pr-preview/pr-1298/assets/images/-7-6-e6ab6a8f5759758d373ad0a1b0ff491f.png deleted file mode 100644 index f781f0f60d..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-6-e6ab6a8f5759758d373ad0a1b0ff491f.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-7-74b06f488107a4f58b5e983450323645.png b/pr-preview/pr-1298/assets/images/-7-7-74b06f488107a4f58b5e983450323645.png deleted file mode 100644 index 771e2b21d7..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-7-74b06f488107a4f58b5e983450323645.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-8-24819f6377c22464d98b1138f1cf0c92.png b/pr-preview/pr-1298/assets/images/-7-8-24819f6377c22464d98b1138f1cf0c92.png deleted file mode 100644 index 6c774cf68b..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-8-24819f6377c22464d98b1138f1cf0c92.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-7-9-89d72ee2be7473a1dfda2bfc331acb42.png b/pr-preview/pr-1298/assets/images/-7-9-89d72ee2be7473a1dfda2bfc331acb42.png deleted file mode 100644 index 255ebb471f..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-7-9-89d72ee2be7473a1dfda2bfc331acb42.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-8-1-98f4acb6a06731634dd622623661ef0a.png b/pr-preview/pr-1298/assets/images/-8-1-98f4acb6a06731634dd622623661ef0a.png deleted file mode 100644 index 37498d154d..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-8-1-98f4acb6a06731634dd622623661ef0a.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-8-2-98386af57ed61941286eb62f36f7a00c.png b/pr-preview/pr-1298/assets/images/-8-2-98386af57ed61941286eb62f36f7a00c.png deleted file mode 100644 index 52d761a804..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-8-2-98386af57ed61941286eb62f36f7a00c.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/-8-3-59eb28c9faf44c4ac944c9a2a489be3b.png b/pr-preview/pr-1298/assets/images/-8-3-59eb28c9faf44c4ac944c9a2a489be3b.png deleted file mode 100644 index 2911f2369e..0000000000 Binary files a/pr-preview/pr-1298/assets/images/-8-3-59eb28c9faf44c4ac944c9a2a489be3b.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/account-log-1aafb37331fec33e9606f80c476c60cb.png b/pr-preview/pr-1298/assets/images/account-log-1aafb37331fec33e9606f80c476c60cb.png deleted file mode 100644 index d79b9e8694..0000000000 Binary files a/pr-preview/pr-1298/assets/images/account-log-1aafb37331fec33e9606f80c476c60cb.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/account_state_explanation_without_frozen-e162e1469837655a31a736e14c685eb4.png b/pr-preview/pr-1298/assets/images/account_state_explanation_without_frozen-e162e1469837655a31a736e14c685eb4.png deleted file mode 100644 index e1069d5dee..0000000000 Binary files a/pr-preview/pr-1298/assets/images/account_state_explanation_without_frozen-e162e1469837655a31a736e14c685eb4.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/add-init-admins-1f2f3bf2f81fec13f49f57fa9e1a6a9b.png b/pr-preview/pr-1298/assets/images/add-init-admins-1f2f3bf2f81fec13f49f57fa9e1a6a9b.png deleted file mode 100644 index 8413b4bdb4..0000000000 Binary files a/pr-preview/pr-1298/assets/images/add-init-admins-1f2f3bf2f81fec13f49f57fa9e1a6a9b.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/alarmLog-4de6d965a6fb8d85697f231116ae54c5.png b/pr-preview/pr-1298/assets/images/alarmLog-4de6d965a6fb8d85697f231116ae54c5.png deleted file mode 100644 index 19c177011e..0000000000 Binary files a/pr-preview/pr-1298/assets/images/alarmLog-4de6d965a6fb8d85697f231116ae54c5.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/app-56ad59efc29b7ccb56acaaf895950d2e.png b/pr-preview/pr-1298/assets/images/app-56ad59efc29b7ccb56acaaf895950d2e.png deleted file mode 100644 index 8379b94caf..0000000000 Binary files a/pr-preview/pr-1298/assets/images/app-56ad59efc29b7ccb56acaaf895950d2e.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/app_comment-5fe54391816a2e1a128b69c29eb2a7b7.png b/pr-preview/pr-1298/assets/images/app_comment-5fe54391816a2e1a128b69c29eb2a7b7.png deleted file mode 100644 index eaa4104f61..0000000000 Binary files a/pr-preview/pr-1298/assets/images/app_comment-5fe54391816a2e1a128b69c29eb2a7b7.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/architecture-af0bd61dffc5a272c6b85c30b818ffa1.png b/pr-preview/pr-1298/assets/images/architecture-af0bd61dffc5a272c6b85c30b818ffa1.png deleted file mode 100644 index e8112910ff..0000000000 Binary files a/pr-preview/pr-1298/assets/images/architecture-af0bd61dffc5a272c6b85c30b818ffa1.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/auth-aced6bc5ed584662434b1eda9b744ba2.png b/pr-preview/pr-1298/assets/images/auth-aced6bc5ed584662434b1eda9b744ba2.png deleted file mode 100644 index 7de4f2a9c4..0000000000 Binary files a/pr-preview/pr-1298/assets/images/auth-aced6bc5ed584662434b1eda9b744ba2.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/auth-title-en-fbf476eaf9aee70182427f6a8e2a8e33.png b/pr-preview/pr-1298/assets/images/auth-title-en-fbf476eaf9aee70182427f6a8e2a8e33.png deleted file mode 100644 index 5d0043799a..0000000000 Binary files a/pr-preview/pr-1298/assets/images/auth-title-en-fbf476eaf9aee70182427f6a8e2a8e33.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/auth-title-zhcn-a036722acb66e312ccfd47627222b1c4.png b/pr-preview/pr-1298/assets/images/auth-title-zhcn-a036722acb66e312ccfd47627222b1c4.png deleted file mode 100644 index acded91001..0000000000 Binary files a/pr-preview/pr-1298/assets/images/auth-title-zhcn-a036722acb66e312ccfd47627222b1c4.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/charge_types1-b1aa4e993bfeea723e39e4ee7872d9a3.png b/pr-preview/pr-1298/assets/images/charge_types1-b1aa4e993bfeea723e39e4ee7872d9a3.png deleted file mode 100644 index e67ea32a8e..0000000000 Binary files a/pr-preview/pr-1298/assets/images/charge_types1-b1aa4e993bfeea723e39e4ee7872d9a3.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/charge_types2-97acb82af7a82f8a425ea3b4290a638a.png b/pr-preview/pr-1298/assets/images/charge_types2-97acb82af7a82f8a425ea3b4290a638a.png deleted file mode 100644 index 2538ae734d..0000000000 Binary files a/pr-preview/pr-1298/assets/images/charge_types2-97acb82af7a82f8a425ea3b4290a638a.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/ci-9164a4ad8a815a6362f757909d630ffc.png b/pr-preview/pr-1298/assets/images/ci-9164a4ad8a815a6362f757909d630ffc.png deleted file mode 100644 index 35edab3d07..0000000000 Binary files a/pr-preview/pr-1298/assets/images/ci-9164a4ad8a815a6362f757909d630ffc.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/conda-install-1-175b5bd94a046c2ffef5d3feeab41bf2.png b/pr-preview/pr-1298/assets/images/conda-install-1-175b5bd94a046c2ffef5d3feeab41bf2.png deleted file mode 100644 index 1b9173ddaa..0000000000 Binary files a/pr-preview/pr-1298/assets/images/conda-install-1-175b5bd94a046c2ffef5d3feeab41bf2.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/conda-install-3-2defa02f919251a4a735accce2c48291.png b/pr-preview/pr-1298/assets/images/conda-install-3-2defa02f919251a4a735accce2c48291.png deleted file mode 100644 index 9b7407ac5f..0000000000 Binary files a/pr-preview/pr-1298/assets/images/conda-install-3-2defa02f919251a4a735accce2c48291.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/conda-install-4-adbbd81ec7fbc8a7716767eae17274a1.png b/pr-preview/pr-1298/assets/images/conda-install-4-adbbd81ec7fbc8a7716767eae17274a1.png deleted file mode 100644 index 7b1d6ce3b5..0000000000 Binary files a/pr-preview/pr-1298/assets/images/conda-install-4-adbbd81ec7fbc8a7716767eae17274a1.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/conda-install-5-638065fbacfc82916f2cb375e8691901.png b/pr-preview/pr-1298/assets/images/conda-install-5-638065fbacfc82916f2cb375e8691901.png deleted file mode 100644 index c0ab6b2145..0000000000 Binary files a/pr-preview/pr-1298/assets/images/conda-install-5-638065fbacfc82916f2cb375e8691901.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/custom-user-link-549d80b3d0a0adad51dcb5ead74969ee.png b/pr-preview/pr-1298/assets/images/custom-user-link-549d80b3d0a0adad51dcb5ead74969ee.png deleted file mode 100644 index 394b91aa98..0000000000 Binary files a/pr-preview/pr-1298/assets/images/custom-user-link-549d80b3d0a0adad51dcb5ead74969ee.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/customEvent-e4fe0f4a8cdb2e493d6b1f223d8d844f.png b/pr-preview/pr-1298/assets/images/customEvent-e4fe0f4a8cdb2e493d6b1f223d8d844f.png deleted file mode 100644 index e1bb3d7a17..0000000000 Binary files a/pr-preview/pr-1298/assets/images/customEvent-e4fe0f4a8cdb2e493d6b1f223d8d844f.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/edit-price-item-d984facac9485f1863b7a8f2382e8f2b.png b/pr-preview/pr-1298/assets/images/edit-price-item-d984facac9485f1863b7a8f2382e8f2b.png deleted file mode 100644 index 6fa1c2da0c..0000000000 Binary files a/pr-preview/pr-1298/assets/images/edit-price-item-d984facac9485f1863b7a8f2382e8f2b.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/extension-7ee06d4108896cf5170fe5da382b80fc.gif b/pr-preview/pr-1298/assets/images/extension-7ee06d4108896cf5170fe5da382b80fc.gif deleted file mode 100644 index e3b665eb25..0000000000 Binary files a/pr-preview/pr-1298/assets/images/extension-7ee06d4108896cf5170fe5da382b80fc.gif and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/files-071b5eeb040b4594c5f1d8b22eae08ac.png b/pr-preview/pr-1298/assets/images/files-071b5eeb040b4594c5f1d8b22eae08ac.png deleted file mode 100644 index 40bd52bf25..0000000000 Binary files a/pr-preview/pr-1298/assets/images/files-071b5eeb040b4594c5f1d8b22eae08ac.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/history-jobs-d3996e151f178bb2d98f4c56a987ec00.png b/pr-preview/pr-1298/assets/images/history-jobs-d3996e151f178bb2d98f4c56a987ec00.png deleted file mode 100644 index 7074c41e55..0000000000 Binary files a/pr-preview/pr-1298/assets/images/history-jobs-d3996e151f178bb2d98f4c56a987ec00.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/import-users-bf3cfc54075a63287a0b7dbf5ce0d53c.png b/pr-preview/pr-1298/assets/images/import-users-bf3cfc54075a63287a0b7dbf5ce0d53c.png deleted file mode 100644 index 80ba4dc92a..0000000000 Binary files a/pr-preview/pr-1298/assets/images/import-users-bf3cfc54075a63287a0b7dbf5ce0d53c.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/init-b48915cd077c0934531a81d93ee5d481.png b/pr-preview/pr-1298/assets/images/init-b48915cd077c0934531a81d93ee5d481.png deleted file mode 100644 index 65dd075868..0000000000 Binary files a/pr-preview/pr-1298/assets/images/init-b48915cd077c0934531a81d93ee5d481.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/init-complete-d9c8a5ace34b378afc712ce8dc39e60f.png b/pr-preview/pr-1298/assets/images/init-complete-d9c8a5ace34b378afc712ce8dc39e60f.png deleted file mode 100644 index 4cc1641b46..0000000000 Binary files a/pr-preview/pr-1298/assets/images/init-complete-d9c8a5ace34b378afc712ce8dc39e60f.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/init-prices-5a570b2331f983023b46c9c932e8b28f.png b/pr-preview/pr-1298/assets/images/init-prices-5a570b2331f983023b46c9c932e8b28f.png deleted file mode 100644 index 7428ad02d9..0000000000 Binary files a/pr-preview/pr-1298/assets/images/init-prices-5a570b2331f983023b46c9c932e8b28f.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/integration-14be13722d8a2d7ad171a3a1eae37da2.png b/pr-preview/pr-1298/assets/images/integration-14be13722d8a2d7ad171a3a1eae37da2.png deleted file mode 100644 index 52eb3a41f7..0000000000 Binary files a/pr-preview/pr-1298/assets/images/integration-14be13722d8a2d7ad171a3a1eae37da2.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/interactive-apps-37466d9524fe2a515d454d6ea003e7b2.png b/pr-preview/pr-1298/assets/images/interactive-apps-37466d9524fe2a515d454d6ea003e7b2.png deleted file mode 100644 index e9b2144f7d..0000000000 Binary files a/pr-preview/pr-1298/assets/images/interactive-apps-37466d9524fe2a515d454d6ea003e7b2.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/job-charge-metadata-cn-09667d8c5e0baf1431222389579baad7.png b/pr-preview/pr-1298/assets/images/job-charge-metadata-cn-09667d8c5e0baf1431222389579baad7.png deleted file mode 100644 index 7d8f903514..0000000000 Binary files a/pr-preview/pr-1298/assets/images/job-charge-metadata-cn-09667d8c5e0baf1431222389579baad7.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/job-charge-metadata-en-214c7b425cbfadcd04aeffb1607f33e8.png b/pr-preview/pr-1298/assets/images/job-charge-metadata-en-214c7b425cbfadcd04aeffb1607f33e8.png deleted file mode 100644 index 3f51219b53..0000000000 Binary files a/pr-preview/pr-1298/assets/images/job-charge-metadata-en-214c7b425cbfadcd04aeffb1607f33e8.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/job-charge-metadata-no-display-37aa2dfedc35e828bcbc0e4658b7cf58.png b/pr-preview/pr-1298/assets/images/job-charge-metadata-no-display-37aa2dfedc35e828bcbc0e4658b7cf58.png deleted file mode 100644 index 99d42ff14c..0000000000 Binary files a/pr-preview/pr-1298/assets/images/job-charge-metadata-no-display-37aa2dfedc35e828bcbc0e4658b7cf58.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/job-error-b54c870c011f6b7749feb443ea1eb0dc.png b/pr-preview/pr-1298/assets/images/job-error-b54c870c011f6b7749feb443ea1eb0dc.png deleted file mode 100644 index 25317739d7..0000000000 Binary files a/pr-preview/pr-1298/assets/images/job-error-b54c870c011f6b7749feb443ea1eb0dc.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/m-nu-634318b6ee9e7ef6056a7644d369c3b0.png b/pr-preview/pr-1298/assets/images/m-nu-634318b6ee9e7ef6056a7644d369c3b0.png deleted file mode 100644 index 9876250ef7..0000000000 Binary files a/pr-preview/pr-1298/assets/images/m-nu-634318b6ee9e7ef6056a7644d369c3b0.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/m-uns-db0fd6b814df46bbefb943eb4b2f8d05.PNG b/pr-preview/pr-1298/assets/images/m-uns-db0fd6b814df46bbefb943eb4b2f8d05.PNG deleted file mode 100644 index d14c0ca02c..0000000000 Binary files a/pr-preview/pr-1298/assets/images/m-uns-db0fd6b814df46bbefb943eb4b2f8d05.PNG and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/manage-users-69fc6c0a0176870ad3f1186b2163b536.png b/pr-preview/pr-1298/assets/images/manage-users-69fc6c0a0176870ad3f1186b2163b536.png deleted file mode 100644 index 1a277590cf..0000000000 Binary files a/pr-preview/pr-1298/assets/images/manage-users-69fc6c0a0176870ad3f1186b2163b536.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/mis-custom-nav-links-6a305e7d30f038c6e8b3579653768a18.png b/pr-preview/pr-1298/assets/images/mis-custom-nav-links-6a305e7d30f038c6e8b3579653768a18.png deleted file mode 100644 index 9f061d4a49..0000000000 Binary files a/pr-preview/pr-1298/assets/images/mis-custom-nav-links-6a305e7d30f038c6e8b3579653768a18.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/mis-custom-strategy-3302a8a404f5234ff7ab592c6bb69501.png b/pr-preview/pr-1298/assets/images/mis-custom-strategy-3302a8a404f5234ff7ab592c6bb69501.png deleted file mode 100644 index 5e5cc034f3..0000000000 Binary files a/pr-preview/pr-1298/assets/images/mis-custom-strategy-3302a8a404f5234ff7ab592c6bb69501.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/mis-server-log-5fb92970283c503d80cbbaecd321733d.png b/pr-preview/pr-1298/assets/images/mis-server-log-5fb92970283c503d80cbbaecd321733d.png deleted file mode 100644 index 4ad5e51639..0000000000 Binary files a/pr-preview/pr-1298/assets/images/mis-server-log-5fb92970283c503d80cbbaecd321733d.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/multi-cluster-49e41d6904a0c2dc07981bcb4bfd1e7d.png b/pr-preview/pr-1298/assets/images/multi-cluster-49e41d6904a0c2dc07981bcb4bfd1e7d.png deleted file mode 100644 index ad733a7150..0000000000 Binary files a/pr-preview/pr-1298/assets/images/multi-cluster-49e41d6904a0c2dc07981bcb4bfd1e7d.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/munge-ac339cde1c99cfe1080e69b85cd2988f.PNG b/pr-preview/pr-1298/assets/images/munge-ac339cde1c99cfe1080e69b85cd2988f.PNG deleted file mode 100644 index ecbe2a979a..0000000000 Binary files a/pr-preview/pr-1298/assets/images/munge-ac339cde1c99cfe1080e69b85cd2988f.PNG and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/platform-log-0d48699d344063c6b4ccb6b480ef5357.png b/pr-preview/pr-1298/assets/images/platform-log-0d48699d344063c6b4ccb6b480ef5357.png deleted file mode 100644 index 54bef26c9d..0000000000 Binary files a/pr-preview/pr-1298/assets/images/platform-log-0d48699d344063c6b4ccb6b480ef5357.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/portal-custom-nav-links-392621febb04de50294f0f1feec3145c.png b/pr-preview/pr-1298/assets/images/portal-custom-nav-links-392621febb04de50294f0f1feec3145c.png deleted file mode 100644 index bf6637bae6..0000000000 Binary files a/pr-preview/pr-1298/assets/images/portal-custom-nav-links-392621febb04de50294f0f1feec3145c.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/price-table-1d232d50cbdc495a0d3bf3b0c11c0ed8.png b/pr-preview/pr-1298/assets/images/price-table-1d232d50cbdc495a0d3bf3b0c11c0ed8.png deleted file mode 100644 index 07966d7c91..0000000000 Binary files a/pr-preview/pr-1298/assets/images/price-table-1d232d50cbdc495a0d3bf3b0c11c0ed8.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/prompt-when-user-does-not-exist-4fc9ab0fcf0f083c76f3f7cef418cd91.gif b/pr-preview/pr-1298/assets/images/prompt-when-user-does-not-exist-4fc9ab0fcf0f083c76f3f7cef418cd91.gif deleted file mode 100644 index 9b25e0a2d4..0000000000 Binary files a/pr-preview/pr-1298/assets/images/prompt-when-user-does-not-exist-4fc9ab0fcf0f083c76f3f7cef418cd91.gif and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/resourceStatus-08081b8fb398cc77dbba5e390cf42e69.png b/pr-preview/pr-1298/assets/images/resourceStatus-08081b8fb398cc77dbba5e390cf42e69.png deleted file mode 100644 index 5c60469bd2..0000000000 Binary files a/pr-preview/pr-1298/assets/images/resourceStatus-08081b8fb398cc77dbba5e390cf42e69.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/rmp-8b2c521f1beb07f2d4fa07005555da24.png b/pr-preview/pr-1298/assets/images/rmp-8b2c521f1beb07f2d4fa07005555da24.png deleted file mode 100644 index 1cc26f0dad..0000000000 Binary files a/pr-preview/pr-1298/assets/images/rmp-8b2c521f1beb07f2d4fa07005555da24.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/rngd-da4b6a610e210dfbea1357d984dc2d7f.PNG b/pr-preview/pr-1298/assets/images/rngd-da4b6a610e210dfbea1357d984dc2d7f.PNG deleted file mode 100644 index 07de90b455..0000000000 Binary files a/pr-preview/pr-1298/assets/images/rngd-da4b6a610e210dfbea1357d984dc2d7f.PNG and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/servers-log-0f2b978cd19362266f36a460f8f28a6e.png b/pr-preview/pr-1298/assets/images/servers-log-0f2b978cd19362266f36a460f8f28a6e.png deleted file mode 100644 index 9debe0fcb1..0000000000 Binary files a/pr-preview/pr-1298/assets/images/servers-log-0f2b978cd19362266f36a460f8f28a6e.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/submitGPUJob-cac2fa98442096a5f2dd1be31eea8107.png b/pr-preview/pr-1298/assets/images/submitGPUJob-cac2fa98442096a5f2dd1be31eea8107.png deleted file mode 100644 index 76e9c15af3..0000000000 Binary files a/pr-preview/pr-1298/assets/images/submitGPUJob-cac2fa98442096a5f2dd1be31eea8107.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/submitJob-7ff928eecd27021bde5870582f65911f.png b/pr-preview/pr-1298/assets/images/submitJob-7ff928eecd27021bde5870582f65911f.png deleted file mode 100644 index 92c993d1cc..0000000000 Binary files a/pr-preview/pr-1298/assets/images/submitJob-7ff928eecd27021bde5870582f65911f.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/system-language-i18n-399a2c3472f203938a384f7908ae6eab.png b/pr-preview/pr-1298/assets/images/system-language-i18n-399a2c3472f203938a384f7908ae6eab.png deleted file mode 100644 index 8995fbdec6..0000000000 Binary files a/pr-preview/pr-1298/assets/images/system-language-i18n-399a2c3472f203938a384f7908ae6eab.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/system-language-zh_cn-ed80719020a100e033eb2c29f626f07a.png b/pr-preview/pr-1298/assets/images/system-language-zh_cn-ed80719020a100e033eb2c29f626f07a.png deleted file mode 100644 index 23128432bb..0000000000 Binary files a/pr-preview/pr-1298/assets/images/system-language-zh_cn-ed80719020a100e033eb2c29f626f07a.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/tenant-log-2abc3bbaa56437431d38f0efec9b0d5a.png b/pr-preview/pr-1298/assets/images/tenant-log-2abc3bbaa56437431d38f0efec9b0d5a.png deleted file mode 100644 index bf2f392b2d..0000000000 Binary files a/pr-preview/pr-1298/assets/images/tenant-log-2abc3bbaa56437431d38f0efec9b0d5a.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/user-log-68fc44c25c61b26a1dabe9e28141e757.png b/pr-preview/pr-1298/assets/images/user-log-68fc44c25c61b26a1dabe9e28141e757.png deleted file mode 100644 index 544f8b5836..0000000000 Binary files a/pr-preview/pr-1298/assets/images/user-log-68fc44c25c61b26a1dabe9e28141e757.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/user-model-920a0c5f60fad3a123ed482de61aae1a.png b/pr-preview/pr-1298/assets/images/user-model-920a0c5f60fad3a123ed482de61aae1a.png deleted file mode 100644 index c57e2fc088..0000000000 Binary files a/pr-preview/pr-1298/assets/images/user-model-920a0c5f60fad3a123ed482de61aae1a.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/user_state_in_account_explanation-78072c0c0c90f8b5deecc6c50b5adc3b.png b/pr-preview/pr-1298/assets/images/user_state_in_account_explanation-78072c0c0c90f8b5deecc6c50b5adc3b.png deleted file mode 100644 index e82fd1e7ee..0000000000 Binary files a/pr-preview/pr-1298/assets/images/user_state_in_account_explanation-78072c0c0c90f8b5deecc6c50b5adc3b.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/vagrant-download-9c064b07d4aa5b85ee9ea3750725e93f.png b/pr-preview/pr-1298/assets/images/vagrant-download-9c064b07d4aa5b85ee9ea3750725e93f.png deleted file mode 100644 index 71e00b7139..0000000000 Binary files a/pr-preview/pr-1298/assets/images/vagrant-download-9c064b07d4aa5b85ee9ea3750725e93f.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/vagrant-up-ea5a65efcb800612313b2bbbde412c66.png b/pr-preview/pr-1298/assets/images/vagrant-up-ea5a65efcb800612313b2bbbde412c66.png deleted file mode 100644 index 708352bffd..0000000000 Binary files a/pr-preview/pr-1298/assets/images/vagrant-up-ea5a65efcb800612313b2bbbde412c66.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/virtualbox-download-d6ba0365937ab8ddc39b30bbf729554b.png b/pr-preview/pr-1298/assets/images/virtualbox-download-d6ba0365937ab8ddc39b30bbf729554b.png deleted file mode 100644 index c80f8b6372..0000000000 Binary files a/pr-preview/pr-1298/assets/images/virtualbox-download-d6ba0365937ab8ddc39b30bbf729554b.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/vscode-ext-install-1-f0f827f20fbcf215b5e4468706e143fd.png b/pr-preview/pr-1298/assets/images/vscode-ext-install-1-f0f827f20fbcf215b5e4468706e143fd.png deleted file mode 100644 index 636e1ce984..0000000000 Binary files a/pr-preview/pr-1298/assets/images/vscode-ext-install-1-f0f827f20fbcf215b5e4468706e143fd.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/vscode-ext-install-2-f5867f1ebc9a1d680dc895dc9a6552c7.png b/pr-preview/pr-1298/assets/images/vscode-ext-install-2-f5867f1ebc9a1d680dc895dc9a6552c7.png deleted file mode 100644 index d54e17f1d0..0000000000 Binary files a/pr-preview/pr-1298/assets/images/vscode-ext-install-2-f5867f1ebc9a1d680dc895dc9a6552c7.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/vscode-ext-install-3-f5867f1ebc9a1d680dc895dc9a6552c7.png b/pr-preview/pr-1298/assets/images/vscode-ext-install-3-f5867f1ebc9a1d680dc895dc9a6552c7.png deleted file mode 100644 index d54e17f1d0..0000000000 Binary files a/pr-preview/pr-1298/assets/images/vscode-ext-install-3-f5867f1ebc9a1d680dc895dc9a6552c7.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/vscode-ext-shop-e7624cf5878850cfa077f46f715b450c.png b/pr-preview/pr-1298/assets/images/vscode-ext-shop-e7624cf5878850cfa077f46f715b450c.png deleted file mode 100644 index 32ad01bdda..0000000000 Binary files a/pr-preview/pr-1298/assets/images/vscode-ext-shop-e7624cf5878850cfa077f46f715b450c.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/was-audioadapter-error-6a429ed3e90d34880ee7a2a2a5caff23.png b/pr-preview/pr-1298/assets/images/was-audioadapter-error-6a429ed3e90d34880ee7a2a2a5caff23.png deleted file mode 100644 index ed4c7c97ac..0000000000 Binary files a/pr-preview/pr-1298/assets/images/was-audioadapter-error-6a429ed3e90d34880ee7a2a2a5caff23.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/was-audioadapter-error-fix-1348588c841c023dac24bad4af0bd1bc.png b/pr-preview/pr-1298/assets/images/was-audioadapter-error-fix-1348588c841c023dac24bad4af0bd1bc.png deleted file mode 100644 index 9df0709114..0000000000 Binary files a/pr-preview/pr-1298/assets/images/was-audioadapter-error-fix-1348588c841c023dac24bad4af0bd1bc.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/with-gateway-565dcd5558e0df67f6bb8a11b0c3c73d.png b/pr-preview/pr-1298/assets/images/with-gateway-565dcd5558e0df67f6bb8a11b0c3c73d.png deleted file mode 100644 index 6a4d073b49..0000000000 Binary files a/pr-preview/pr-1298/assets/images/with-gateway-565dcd5558e0df67f6bb8a11b0c3c73d.png and /dev/null differ diff --git a/pr-preview/pr-1298/assets/images/without-gateway-59647d2778a21946d71b9343b121c90f.png b/pr-preview/pr-1298/assets/images/without-gateway-59647d2778a21946d71b9343b121c90f.png deleted file mode 100644 index ecec3e5c75..0000000000 Binary files a/pr-preview/pr-1298/assets/images/without-gateway-59647d2778a21946d71b9343b121c90f.png and /dev/null differ diff --git "a/pr-preview/pr-1298/assets/images/\351\252\214\350\257\201\347\240\201\347\231\273\345\275\225UI-e706d1f9b21221bb70af6166e0cf48b8.png" "b/pr-preview/pr-1298/assets/images/\351\252\214\350\257\201\347\240\201\347\231\273\345\275\225UI-e706d1f9b21221bb70af6166e0cf48b8.png" deleted file mode 100644 index 4b9fa509a0..0000000000 Binary files "a/pr-preview/pr-1298/assets/images/\351\252\214\350\257\201\347\240\201\347\231\273\345\275\225UI-e706d1f9b21221bb70af6166e0cf48b8.png" and /dev/null differ diff --git a/pr-preview/pr-1298/assets/js/0023ffb3.b8848765.js b/pr-preview/pr-1298/assets/js/0023ffb3.b8848765.js deleted file mode 100644 index ab79321405..0000000000 --- a/pr-preview/pr-1298/assets/js/0023ffb3.b8848765.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4391],{25963:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=r(49214),c=r(5409);const l={slug:"scow-scheduler-adapter",title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",authors:["quhan"],tags:["scow","scow-scheduler-adapter"]},t=void 0,i={permalink:"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-06-26-scow-scheduler-adapter.md",source:"@site/blog/2023-06-26-scow-scheduler-adapter.md",title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",description:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",date:"2023-06-26T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-scheduler-adapter",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter"}],readingTime:2.935,hasTruncateMarker:!1,authors:[{name:"Qu Han",title:"Developer",imageURL:"https://avatars.githubusercontent.com/u/98016770",key:"quhan"}],frontMatter:{slug:"scow-scheduler-adapter",title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",authors:["quhan"],tags:["scow","scow-scheduler-adapter"]},unlisted:!1,prevItem:{title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",permalink:"/SCOW/pr-preview/pr-1298/blog/update-portal-app"},nextItem:{title:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-cli-release"}},o={authorsImageUrls:[void 0]},d=[{value:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:2},{value:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:2},{value:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7",id:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7",level:2},{value:"1. \u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"1-\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:3},{value:"2. \u4fee\u6539SCOW\u914d\u7f6e\u6587\u4ef6",id:"2-\u4fee\u6539scow\u914d\u7f6e\u6587\u4ef6",level:3},{value:"3. \u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93",id:"3-\u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93",level:3}];function h(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,c.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsx)(s.p,{children:"SCOW\u662f\u5efa\u7acb\u5728\u5e95\u5c42\u4f5c\u4e1a\u8c03\u5ea6\u5668\u57fa\u7840\u4e0a\u7684\u7cfb\u7edf\uff0c\u5b83\u901a\u8fc7\u4e0e\u5e95\u5c42\u8c03\u5ea6\u5668\u8fdb\u884c\u529f\u80fd\u5bf9\u63a5\uff0c\u5411\u7528\u6237\u63d0\u4f9b\u5404\u79cd\u8d85\u7b97\u529f\u80fd\u3002"}),"\n",(0,n.jsx)(s.p,{children:"\u5728\u4e4b\u524d\u7684\u5b9e\u73b0\u4e2d\uff0cscow\u76f4\u63a5\u4e0e\u4f5c\u4e1a\u8c03\u5ea6\u5668\u672c\u8eab\u4ea4\u4e92\uff0c\u56e0\u6b64scow\u5fc5\u987b\u77e5\u9053\u5e95\u5c42\u8c03\u5ea6\u5668\u5185\u90e8\u7684\u67d0\u4e9b\u7ec6\u8282\uff0c\n\u5bfc\u81f4scow\u5185\u90e8\u7684\u67d0\u4e9b\u4ee3\u7801\u662f\u4e0e\u8c03\u5ea6\u5668\u79cd\u7c7b\u76f4\u63a5\u76f8\u5173\u7684\uff08\u5982\u6700\u5148\u9002\u914d\u7684slurm\uff09\uff0c\u8fd9\u4f1a\u4f7f\u9002\u914d\u5176\u5b83\u8c03\u5ea6\u5668\u65f6\u6bd4\u8f83\u9ebb\u70e6\u3002"}),"\n",(0,n.jsxs)(s.p,{children:["\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff08",(0,n.jsx)(s.code,{children:"scheduler-adapter"}),"\uff09\u5219\u662f\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e00\u95ee\u9898\uff0c\u901a\u8fc7\u4e00\u5c42\u9002\u914d\u5668\u5c42\uff0cscow\u53ea\u4e0e\u9002\u914d\u5668\u8fdb\u884c\u4ea4\u4e92\uff0c\n\u9002\u914d\u5668\u518d\u5bf9\u63a5\u4f5c\u4e1a\u8c03\u5ea6\u5668\uff0c\u5b9e\u73b0scow\u9700\u8981\u7684\u8c03\u5ea6\u5668\u529f\u80fd\u3002"]}),"\n",(0,n.jsx)(s.h2,{id:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsxs)(s.p,{children:["\u8c03\u5ea6\u5668\u9002\u914d\u5668\u672c\u8d28\u4e0a\u662f\u4e00\u4e2agRPC\u670d\u52a1\u5668\uff0c\u5b83\u5b9e\u73b0\u4e86scow\u5b9a\u4e49\u7684\u4e00\u5957",(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-scheduler-adapter-interface",children:"\u63a5\u53e3"}),"\uff0c\nscow\u53ea\u4f1a\u8c03\u7528\u8fd9\u5957\u63a5\u53e3\u6765\u5b9e\u73b0\u8c03\u5ea6\u5668\u529f\u80fd\u3002"]}),"\n",(0,n.jsx)(s.p,{children:"\u56e0\u6b64\uff0c\u53ea\u9700\u8981\u4e3a\u5bf9\u5e94\u79cd\u7c7b\u7684\u4f5c\u4e1a\u8c03\u5ea6\u5668\u5b9e\u73b0\u8fd9\u6837\u4e00\u4e2agRPC\u670d\u52a1\u5668\uff0c\u6ee1\u8db3\u4e0a\u8ff0\u63a5\u53e3\u5b9a\u4e49\uff0c\u5c31\u80fd\u591f\u8f7b\u677e\u5bf9\u63a5scow\u7cfb\u7edf"}),"\n",(0,n.jsx)(s.p,{children:"\u6211\u4eec\u5df2\u7ecf\u5b9e\u73b0\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff1a"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter",children:"slurm"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7",children:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7"}),"\n",(0,n.jsx)(s.p,{children:"\u8fd9\u4e00\u90e8\u5206\u4ecb\u7ecd\u5982\u4f55\u4ece\u65e7\u7248\u672cscow\u5347\u7ea7\u81f3\u65b0\u7248\u672c\uff0c\u4f7f\u7528\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsx)(s.h3,{id:"1-\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"1. \u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsx)(s.p,{children:"\u9996\u5148\u9700\u8981\u786e\u4fdd\u60a8\u7684\u96c6\u7fa4\u4e0a\u90e8\u7f72\u4e86\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff0c\u5f97\u5230\u8bbf\u95ee\u5b83\u7684\u5730\u5740\u53ca\u7aef\u53e3\u53f7"}),"\n",(0,n.jsx)(s.p,{children:"\u90e8\u7f72\u9002\u914d\u5668\u53ef\u53c2\u8003\u6587\u6863\uff1a"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter",children:"slurm"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"2-\u4fee\u6539scow\u914d\u7f6e\u6587\u4ef6",children:"2. \u4fee\u6539SCOW\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,n.jsxs)(s.p,{children:["\u9996\u5148\u786e\u4fdd\u60a8\u4f7f\u7528\u4e86\u6700\u65b0\u7684SCOW\u955c\u50cf\uff08\u53ef\u67e5\u770b",(0,n.jsx)(s.code,{children:"install.yaml"}),"\u4e2d\u7684",(0,n.jsx)(s.code,{children:"imageTag"}),"\u5b57\u6bb5\uff09"]}),"\n",(0,n.jsxs)(s.p,{children:["\u5728\u7528\u4e8e\u90e8\u7f72scow\u7684",(0,n.jsx)(s.code,{children:"scow-deployment"}),"\u6587\u4ef6\u5939\u4e2d\uff0c\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff1a"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["\u9996\u5148\u4fee\u6539",(0,n.jsx)(s.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",children:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"})]}),"\n",(0,n.jsxs)(s.p,{children:["\u4e3b\u8981\u53d8\u5316\u4e3a\u5220\u9664",(0,n.jsx)(s.code,{children:"slurm"}),"\u914d\u7f6e\u9879, \u5c06",(0,n.jsx)(s.code,{children:"loginNodes"}),"\u914d\u7f6e\u9879\u4f5c\u4e3a\u72ec\u7acb\u7684\u4e00\u9879\u914d\u7f6e\u3002\u65b0\u589e",(0,n.jsx)(s.code,{children:"adapterUrl"}),"\u914d\u7f6e\u9879\uff0c\u6807\u8bc6\u9002\u914d\u5668\u5730\u5740"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["\u4fee\u6539",(0,n.jsx)(s.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro",children:"\u7ba1\u7406\u7cfb\u7edf\u914d\u7f6e\u6587\u4ef6"})]}),"\n",(0,n.jsxs)(s.p,{children:["\u5220\u9664\u4e86",(0,n.jsx)(s.code,{children:"fetchJobs"}),"\u914d\u7f6e\u9879\u4e2d\u7684",(0,n.jsx)(s.code,{children:"db"}),"\u9879\uff0c\u5373\u4e0d\u518d\u91c7\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93\uff0c\u901a\u8fc7\u9002\u914d\u5668\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"3-\u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93",children:"3. \u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93"}),"\n",(0,n.jsxs)(s.p,{children:["\u90e8\u7f72\u4f7f\u7528\u9002\u914d\u5668\u540e\uff0c\u53ef\u4ee5\u4e0d\u518d\u90e8\u7f72",(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/export-jobs",children:(0,n.jsx)(s.code,{children:"export-jobs"})}),"\u9879\u76ee\uff0c\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f\u7684\u529f\u80fd\u7531\u9002\u914d\u5668\u5b8c\u6210"]})]})}function a(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},5409:(e,s,r)=>{r.d(s,{R:()=>t,x:()=>i});var n=r(48318);const c={},l=n.createContext(c);function t(e){const s=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:t(e.components),n.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/006bd8ee.e21d06e2.js b/pr-preview/pr-1298/assets/js/006bd8ee.e21d06e2.js deleted file mode 100644 index 298b731d12..0000000000 --- a/pr-preview/pr-1298/assets/js/006bd8ee.e21d06e2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2165],{363:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>a,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=n(49214),r=n(5409);const o={},s=void 0,l={id:"refs/config/portal/definition-properties-shell",title:"definition-properties-shell",description:"shell Type",source:"@site/docs/refs/config/portal/definition-properties-shell.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-shell",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-shell.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-savedjobsdir",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir"},next:{title:"definition-properties-submitjobdefaultpwd",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd"}},p={},c=[{value:"shell Type",id:"shell-type",level:2},{value:"shell Default Value",id:"shell-default-value",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"shell-type",children:"shell Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"boolean"})}),"\n",(0,i.jsx)(t.h2,{id:"shell-default-value",children:"shell Default Value"}),"\n",(0,i.jsx)(t.p,{children:"The default value is:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:"true\n"})})]})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>l});var i=n(48318);const r={},o=i.createContext(r);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/01a85c17.dfb1b9a7.js b/pr-preview/pr-1298/assets/js/01a85c17.dfb1b9a7.js deleted file mode 100644 index b539386cbe..0000000000 --- a/pr-preview/pr-1298/assets/js/01a85c17.dfb1b9a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8209],{25698:(e,s,t)=>{t.d(s,{A:()=>v});var a=t(48318),i=t(46601),r=t(68665),l=t(88524),n=t(33985),c=t(7866),o=t(66325),d=t(63352);function m(e){const{pathname:s}=(0,o.zy)();return(0,a.useMemo)((()=>e.filter((e=>function(e,s){return!(e.unlisted&&!(0,d.ys)(e.permalink,s))}(e,s)))),[e,s])}const u={sidebar:"sidebar_juGB",sidebarItemTitle:"sidebarItemTitle_gYDd",sidebarItemList:"sidebarItemList_HtN8",sidebarItem:"sidebarItem_wNWX",sidebarItemLink:"sidebarItemLink_iMkt",sidebarItemLinkActive:"sidebarItemLinkActive_FwE7"};var g=t(49214);function b(e){let{sidebar:s}=e;const t=m(s.items);return(0,g.jsx)("aside",{className:"col col--3",children:(0,g.jsxs)("nav",{className:(0,i.A)(u.sidebar,"thin-scrollbar"),"aria-label":(0,c.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,g.jsx)("div",{className:(0,i.A)(u.sidebarItemTitle,"margin-bottom--md"),children:s.title}),(0,g.jsx)("ul",{className:(0,i.A)(u.sidebarItemList,"clean-list"),children:t.map((e=>(0,g.jsx)("li",{className:u.sidebarItem,children:(0,g.jsx)(n.A,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var h=t(86167);function j(e){let{sidebar:s}=e;const t=m(s.items);return(0,g.jsx)("ul",{className:"menu__list",children:t.map((e=>(0,g.jsx)("li",{className:"menu__list-item",children:(0,g.jsx)(n.A,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function p(e){return(0,g.jsx)(h.GX,{component:j,props:e})}function x(e){let{sidebar:s}=e;const t=(0,l.l)();return s?.items.length?"mobile"===t?(0,g.jsx)(p,{sidebar:s}):(0,g.jsx)(b,{sidebar:s}):null}function v(e){const{sidebar:s,toc:t,children:a,...l}=e,n=s&&s.items.length>0;return(0,g.jsx)(r.A,{...l,children:(0,g.jsx)("div",{className:"container margin-vert--lg",children:(0,g.jsxs)("div",{className:"row",children:[(0,g.jsx)(x,{sidebar:s}),(0,g.jsx)("main",{className:(0,i.A)("col",{"col--7":n,"col--9 col--offset-1":!n}),children:a}),t&&(0,g.jsx)("div",{className:"col col--2",children:t})]})})})}},69130:(e,s,t)=>{t.r(s),t.d(s,{default:()=>j});t(48318);var a=t(46601),i=t(7866);const r=()=>(0,i.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var l=t(30763),n=t(83682),c=t(25698),o=t(85339),d=t(31773);const m={tag:"tag_o1Ik"};var u=t(49214);function g(e){let{letterEntry:s}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(d.A,{as:"h2",id:s.letter,children:s.letter}),(0,u.jsx)("ul",{className:"padding--none",children:s.tags.map((e=>(0,u.jsx)("li",{className:m.tag,children:(0,u.jsx)(o.A,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function b(e){let{tags:s}=e;const t=function(e){const s={};return Object.values(e).forEach((e=>{const t=function(e){return e[0].toUpperCase()}(e.label);s[t]??=[],s[t].push(e)})),Object.entries(s).sort(((e,s)=>{let[t]=e,[a]=s;return t.localeCompare(a)})).map((e=>{let[s,t]=e;return{letter:s,tags:t.sort(((e,s)=>e.label.localeCompare(s.label)))}}))}(s);return(0,u.jsx)("section",{className:"margin-vert--lg",children:t.map((e=>(0,u.jsx)(g,{letterEntry:e},e.letter)))})}var h=t(5270);function j(e){let{tags:s,sidebar:t}=e;const i=r();return(0,u.jsxs)(l.e3,{className:(0,a.A)(n.G.wrapper.blogPages,n.G.page.blogTagsListPage),children:[(0,u.jsx)(l.be,{title:i}),(0,u.jsx)(h.A,{tag:"blog_tags_list"}),(0,u.jsxs)(c.A,{sidebar:t,children:[(0,u.jsx)(d.A,{as:"h1",children:i}),(0,u.jsx)(b,{tags:s})]})]})}},85339:(e,s,t)=>{t.d(s,{A:()=>n});t(48318);var a=t(46601),i=t(33985);const r={tag:"tag__kek",tagRegular:"tagRegular_u5cB",tagWithCount:"tagWithCount_n6gD"};var l=t(49214);function n(e){let{permalink:s,label:t,count:n}=e;return(0,l.jsxs)(i.A,{href:s,className:(0,a.A)(r.tag,n?r.tagWithCount:r.tagRegular),children:[t,n&&(0,l.jsx)("span",{children:n})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/041c0eb7.7e50fd26.js b/pr-preview/pr-1298/assets/js/041c0eb7.7e50fd26.js deleted file mode 100644 index 921c13c777..0000000000 --- a/pr-preview/pr-1298/assets/js/041c0eb7.7e50fd26.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3367],{28315:(s,n,e)=>{e.r(n),e.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>x,frontMatter:()=>t,metadata:()=>c,toc:()=>h});var r=e(49214),d=e(5409);const t={sidebar_position:3,title:"\u4f5c\u4e1a"},i="\u4f5c\u4e1a",c={id:"info/portal/job",title:"\u4f5c\u4e1a",description:"\u501f\u52a9\u4f5c\u4e1a\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u4e0a\u70b9\u51fb\u63d0\u4ea4\u4f5c\u4e1a\u6765\u4f7f\u7528\u8d85\u7b97\u96c6\u7fa4\uff0c\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u672a\u7ed3\u675f\u4f5c\u4e1a\u4e2d\u770b\u5230\u8be5\u4f5c\u4e1a\u7684\u8fd0\u884c\u72b6\u6001\u7b49\u8be6\u7ec6\u4fe1\u606f\uff0c\u5e76\u5728\u6240\u6709\u4f5c\u4e1a\u4e2d\u770b\u5230\u4f5c\u4e1a\u7684\u6267\u884c\u7ed3\u679c\u3002",source:"@site/docs/info/portal/job.md",sourceDirName:"info/portal",slug:"/info/portal/job",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/job",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/portal/job.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"\u4f5c\u4e1a"},sidebar:"info",previous:{title:"\u4ea4\u4e92\u5f0f\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/app"},next:{title:"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/"}},l={},h=[{value:"\u5206\u533a\uff08\u961f\u5217\uff09",id:"\u5206\u533a\u961f\u5217",level:2},{value:"\u63d0\u4ea4\u4f5c\u4e1a",id:"\u63d0\u4ea4\u4f5c\u4e1a",level:2}];function j(s){const n={a:"a",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...s.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u4f5c\u4e1a",children:"\u4f5c\u4e1a"}),"\n",(0,r.jsxs)(n.p,{children:["\u501f\u52a9\u4f5c\u4e1a\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u4e0a\u70b9\u51fb",(0,r.jsx)(n.strong,{children:"\u63d0\u4ea4\u4f5c\u4e1a"}),"\u6765\u4f7f\u7528\u8d85\u7b97\u96c6\u7fa4\uff0c\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728",(0,r.jsx)(n.strong,{children:"\u672a\u7ed3\u675f\u4f5c\u4e1a"}),"\u4e2d\u770b\u5230\u8be5\u4f5c\u4e1a\u7684\u8fd0\u884c\u72b6\u6001\u7b49\u8be6\u7ec6\u4fe1\u606f\uff0c\u5e76\u5728",(0,r.jsx)(n.strong,{children:"\u6240\u6709\u4f5c\u4e1a"}),"\u4e2d\u770b\u5230\u4f5c\u4e1a\u7684\u6267\u884c\u7ed3\u679c\u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"\u5206\u533a\u961f\u5217",children:"\u5206\u533a\uff08\u961f\u5217\uff09"}),"\n",(0,r.jsx)(n.p,{children:"\u4f5c\u4e1a\u9700\u5728\u7279\u5b9a\u5206\u533a\uff08\u961f\u5217\uff09\u4e2d\u8fd0\u884c\uff0c\u4e00\u822c\u4e0d\u540c\u5206\u533a\uff08\u961f\u5217\uff09\u5141\u8bb8\u7684\u8d44\u6e90\u4e0d\u4e00\u6837\uff0c\u6bd4\u5982\u5355\u4f5c\u4e1a\u6838\u6570\u7b49\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["\u6211\u4eec\u5c06\u96c6\u7fa4\u5206\u533a\u5206\u4e3a\u4e24\u7c7b\uff1a",(0,r.jsx)(n.strong,{children:"CPU\u5206\u533a"}),"\u548c",(0,r.jsx)(n.strong,{children:"GPU\u5206\u533a"}),"\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"CPU\u5206\u533a"}),"\u662f\u6307\u4ec5\u63d0\u4f9bCPU\u8d44\u6e90\u7684\u5206\u533a\uff1b"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"GPU\u5206\u533a"}),"\u662f\u540c\u65f6\u63d0\u4f9bGPU\u8d44\u6e90\u548cCPU\u8d44\u6e90\u7684\u5206\u533a\uff0c\u5176CPU\u6838\u6570\u6839\u636eGPU\u5361\u6570\u6309\u6bd4\u4f8b\u5206\u914d\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u7cfb\u7edf\u540c\u65f6\u652f\u6301\u4e24\u79cd\u5206\u533a\u3002\u60a8\u53ea\u9700\u8981\u5728\u521d\u59cb\u5316\u7cfb\u7edf\u65f6\u589e\u52a0\u5bf9\u5e94\u7684\u914d\u7f6e\uff0c\u5c31\u53ef\u4ee5\u8ba9\u7528\u6237\u5728\u6d4f\u89c8\u5668\u63d0\u4ea4\u4f5c\u4e1a\u65f6\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u4e0d\u540c\u7684\u5206\u533a\u63d0\u4ea4\u4f5c\u4e1a\u3002\u5206\u533a\u4e0e\u96c6\u7fa4\u7684\u914d\u7f6e\u8be6\u89c1",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",children:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"}),"\u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"\u63d0\u4ea4\u4f5c\u4e1a",children:"\u63d0\u4ea4\u4f5c\u4e1a"}),"\n",(0,r.jsx)(n.p,{children:"\u7528\u4e8e\u7528\u6237\u586b\u5199\u4f5c\u4e1a\u4fe1\u606f\u5e76\u63d0\u4ea4\u5230\u8d85\u7b97\u7cfb\u7edf\u8ba1\u7b97\uff0c\u540c\u65f6\u652f\u6301\u5c06\u4f5c\u4e1a\u4fe1\u606f\u4fdd\u5b58\u4e3a\u6a21\u677f\u65b9\u4fbf\u540e\u7eed\u4f7f\u7528\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5206\u522b\u5728CPU\u5206\u533a\u548cGPU\u5206\u533a\u4e0a\u63d0\u4ea4\u4f5c\u4e1a\u4f5c\u4e1a\u3002"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"submitJob",src:e(28641).A+"",width:"2203",height:"1218"})}),"\n",(0,r.jsx)(n.p,{children:"\u5982\u679c\u4f7f\u7528GPU\u5206\u533a\u7684\u8282\u70b9\uff0c\u6709\u533a\u522b\u7684\u9009\u9879\u5982\u4e0b\u56fe\uff08\u5206\u533a\u53ef\u80fd\u4e3a\u5176\u5b83\u540d\u5b57\u800c\u975eGPU\uff09\uff1a"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"submitGPUJob",src:e(59025).A+"",width:"1966",height:"676"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u4e3b\u8981\u53c2\u6570\u8bf4\u660e\uff1a"})}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"\u53c2\u6570"}),(0,r.jsx)(n.th,{children:"\u8bf4\u660e"}),(0,r.jsx)(n.th,{children:"\u5907\u6ce8"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u96c6\u7fa4"}),(0,r.jsx)(n.td,{children:"\u6307\u5b9a\u672c\u6b21\u4f5c\u4e1a\u5728\u54ea\u4e2a\u96c6\u7fa4\u4e0a\u8fd0\u884c"}),(0,r.jsx)(n.td,{children:"\u9009\u9879\u7531\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u91cc\u6307\u5b9a"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u4f5c\u4e1a\u540d"}),(0,r.jsx)(n.td,{children:"\u4e3a\u672c\u6b21\u4f5c\u4e1a\u547d\u540d"}),(0,r.jsx)(n.td,{children:"-"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u547d\u4ee4"}),(0,r.jsx)(n.td,{children:"\u4f5c\u4e1a\u547d\u4ee4"}),(0,r.jsx)(n.td,{children:"-"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u8d26\u6237"}),(0,r.jsx)(n.td,{children:"\u6307\u5b9a\u672c\u6b21\u4f5c\u4e1a\u7684\u6263\u6b3e\u8d26\u6237"}),(0,r.jsx)(n.td,{children:"\u9009\u9879\u4e3a\u5f53\u524d\u7528\u6237\u5173\u8054\u8d26\u6237"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u5206\u533a"}),(0,r.jsx)(n.td,{children:"\u6307\u5b9a\u672c\u6b21\u4f5c\u4e1a\u60f3\u8981\u5728\u54ea\u4e2a\u5206\u533a\u4e0a\u8ba1\u7b97"}),(0,r.jsx)(n.td,{children:"\u9009\u9879\u5728\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u91cc\u6307\u5b9a\uff0c\u5206\u533a\u7684\u9009\u62e9\u5f71\u54cdCPU/GPU\u76f8\u5173\u53c2\u6570"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"QOS"}),(0,r.jsx)(n.td,{children:"\u9009\u62e9\u4f5c\u4e1a\u7684\u670d\u52a1\u8d28\u91cf"}),(0,r.jsx)(n.td,{children:"\u9009\u9879\u5728\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u91cc\u6307\u5b9a"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u8282\u70b9\u6570"}),(0,r.jsx)(n.td,{children:"\u7533\u8bf7\u7684\u8282\u70b9\u6570"}),(0,r.jsx)(n.td,{children:"\u4e0a\u9650\u4e3a\u5f53\u524d\u5206\u533a\u8282\u70b9\u6570"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u5355\u8282\u70b9\u6838\u5fc3\u6570"}),(0,r.jsx)(n.td,{children:"\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7533\u8bf7\u7684CPU\u6838\u5fc3\u6570"}),(0,r.jsx)(n.td,{children:"CPU\u5206\u533a\u5355\u8282\u70b9\u6838\u5fc3\u6570\u4e3a\u8f93\u5165\u503c\uff1b\u5982\u679c\u662fGPU\u5206\u533a\uff0c\u6b64\u9009\u9879\u4e0d\u5c55\u793a\uff0c\u901a\u8fc7\u8ba1\u7b97\u5f97\u5230\uff1aGPU\u5206\u533a\u5355\u8282\u70b9\u6838\u5fc3\u6570=\u8282\u70b9\u603b\u6838\u5fc3\u6570 *\uff08\u5355\u8282\u70b9GPU\u5361\u6570/\u5355\u8282\u70b9\u603bGPU\u5361\u6570\uff09"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u5355\u8282\u70b9GPU\u5361\u6570"}),(0,r.jsx)(n.td,{children:"\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7533\u8bf7\u7684GPU\u5361\u6570"}),(0,r.jsx)(n.td,{children:"\u4ec5GPU\u5206\u533a\u5c55\u793a"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u6700\u957f\u8fd0\u884c\u65f6\u95f4"}),(0,r.jsx)(n.td,{children:"\u672c\u6b21\u4f5c\u4e1a\u7684\u6700\u957f\u8ba1\u7b97\u65f6\u95f4"}),(0,r.jsx)(n.td,{children:"-"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u5de5\u4f5c\u76ee\u5f55"}),(0,r.jsx)(n.td,{children:"\u6307\u5b9a\u4f5c\u4e1a\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8def\u5f84"}),(0,r.jsx)(n.td,{children:"-"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u6807\u51c6\u8f93\u51fa\u6587\u4ef6"}),(0,r.jsx)(n.td,{children:"\u6307\u5b9a\u4f5c\u4e1a\u6807\u51c6\u8f93\u51fa\u6587\u4ef6\u7684\u6587\u4ef6\u540d"}),(0,r.jsx)(n.td,{children:"-"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u9519\u8bef\u8f93\u51fa\u6587\u4ef6"}),(0,r.jsx)(n.td,{children:"\u6307\u5b9a\u4f5c\u4e1a\u9519\u8bef\u8f93\u51fa\u6587\u4ef6\u7684\u6587\u4ef6\u540d"}),(0,r.jsx)(n.td,{children:"-"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u603b\u8282\u70b9\u6570"}),(0,r.jsx)(n.td,{children:"\u7533\u8bf7\u7684\u8282\u70b9\u6570"}),(0,r.jsx)(n.td,{children:"\u603b\u8282\u70b9\u6570=\u8282\u70b9\u6570"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u603b\u6838\u5fc3\u6570"}),(0,r.jsx)(n.td,{children:"\u7533\u8bf7\u7684\u603b\u6838\u5fc3\u6570"}),(0,r.jsx)(n.td,{children:"\u603b\u6838\u5fc3\u6570\uff08CPU\u5206\u533a\uff09=\u8282\u70b9\u6570 * \u5355\u8282\u70b9\u6838\u5fc3\u6570\uff1b\u603b\u6838\u5fc3\u6570\uff08GPU\u5206\u533a\uff09=\u8282\u70b9\u6570 * \u5355\u8282\u70b9\u603b\u6838\u5fc3\u6570 *\uff08\u5355\u8282\u70b9GPU\u5361\u6570/\u5355\u8282\u70b9\u603bGPU\u5361\u6570\uff09"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u603b\u5361\u6570"}),(0,r.jsx)(n.td,{children:"\u7533\u8bf7\u7684GPU\u5361\u603b\u6570"}),(0,r.jsx)(n.td,{children:"\u4ec5GPU\u5206\u533a\u5c55\u793a\uff1b\u603b\u5361\u6570 = \u8282\u70b9\u6570 * \u5355\u8282\u70b9GPU\u5361\u6570"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u603b\u5185\u5b58\u5bb9\u91cf"}),(0,r.jsx)(n.td,{children:"\u7533\u8bf7\u7684\u603b\u5185\u5b58\u5bb9\u6570"}),(0,r.jsx)(n.td,{children:"\u603b\u5185\u5b58\u5bb9\u91cf = \u8282\u70b9\u6570 * \u5355\u8282\u70b9\u6838\u5fc3\u6570 *\uff08\u5355\u8282\u70b9\u5185\u5b58\u6570/\u5355\u8282\u70b9\u603b\u6838\u5fc3\u6570\uff09"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u5907\u6ce8"}),(0,r.jsx)(n.td,{children:"\u5907\u6ce8\u4fe1\u606f"}),(0,r.jsx)(n.td,{children:"-"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u4fdd\u5b58\u4e3a\u6a21\u677f"}),(0,r.jsx)(n.td,{children:"\u5c06\u672c\u6b21\u4f5c\u4e1a\u4fdd\u5b58\u4e3a\u6a21\u677f"}),(0,r.jsx)(n.td,{children:"-"})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u751f\u6210\u7684slurm\u8c03\u5ea6\u5668\u811a\u672c\u4e2d\u53c2\u6570\u53d6\u503c"}),"\uff1a"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u6838\u5fc3\u6570"})," -c \u53d6\u5355\u8282\u70b9\u6838\u5fc3\u6570\uff1b"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u5185\u5b58"})," --mem \u53d6\u603b\u5185\u5b58\u5bb9\u91cf\uff1b"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"GPU\u5361\u6570"})," --gres=gpu: \u53d6\u5355\u8282\u70b9GPU\u5361\u6570\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u203b\u6ce8\u610f\uff1a\u4e0a\u9762\u7684",(0,r.jsx)(n.strong,{children:"\u8ba1\u7b97"}),"\u82e5\u672a\u6574\u9664\uff0c\u7ed3\u679c\u7686",(0,r.jsx)(n.strong,{children:"\u5411\u4e0b\u53d6\u6574"}),"\u3002"]})]})}function x(s={}){const{wrapper:n}={...(0,d.R)(),...s.components};return n?(0,r.jsx)(n,{...s,children:(0,r.jsx)(j,{...s})}):j(s)}},59025:(s,n,e)=>{e.d(n,{A:()=>r});const r=e.p+"assets/images/submitGPUJob-cac2fa98442096a5f2dd1be31eea8107.png"},28641:(s,n,e)=>{e.d(n,{A:()=>r});const r=e.p+"assets/images/submitJob-7ff928eecd27021bde5870582f65911f.png"},5409:(s,n,e)=>{e.d(n,{R:()=>i,x:()=>c});var r=e(48318);const d={},t=r.createContext(d);function i(s){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof s?s(n):{...n,...s}}),[n,s])}function c(s){let n;return n=s.disableParentContext?"function"==typeof s.components?s.components(d):s.components||d:i(s.components),r.createElement(t.Provider,{value:n},s.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/04add352.c3f6721f.js b/pr-preview/pr-1298/assets/js/04add352.c3f6721f.js deleted file mode 100644 index 3e01f44802..0000000000 --- a/pr-preview/pr-1298/assets/js/04add352.c3f6721f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[878],{86235:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>p,toc:()=>a});var r=n(49214),o=n(5409);const i={},s=void 0,p={id:"refs/config/portal/definition-properties-turbovncpath",title:"definition-properties-turbovncpath",description:"turboVNCPath Type",source:"@site/docs/refs/config/portal/definition-properties-turbovncpath.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-turbovncpath",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-turbovncpath.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-submitjobdefaultpwd",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd"},next:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition"}},c={},a=[{value:"turboVNCPath Type",id:"turbovncpath-type",level:2},{value:"turboVNCPath Default Value",id:"turbovncpath-default-value",level:2}];function u(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"turbovncpath-type",children:"turboVNCPath Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})}),"\n",(0,r.jsx)(t.h2,{id:"turbovncpath-default-value",children:"turboVNCPath Default Value"}),"\n",(0,r.jsx)(t.p,{children:"The default value is:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-json",children:'"/opt/TurboVNC"\n'})})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>p});var r=n(48318);const o={},i=r.createContext(o);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/058f61b7.8f3afe86.js b/pr-preview/pr-1298/assets/js/058f61b7.8f3afe86.js deleted file mode 100644 index c933eb7d95..0000000000 --- a/pr-preview/pr-1298/assets/js/058f61b7.8f3afe86.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4586],{57891:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>p,default:()=>a,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var r=n(49214),i=n(5409);const s={},p=void 0,c={id:"refs/config/app/definition-properties-vnc",title:"definition-properties-vnc",description:"vnc Type",source:"@site/docs/refs/config/app/definition-properties-vnc.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-vnc",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-vnc.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-vnc-properties-xstartup",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup"},next:{title:"definition-properties-web-properties-beforescript",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript"}},l={},d=[{value:"vnc Type",id:"vnc-type",level:2},{value:"xstartup",id:"xstartup",level:2},{value:"xstartup Type",id:"xstartup-type",level:3}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"vnc-type",children:"vnc Type"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"object"})," (",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",children:"Details"}),")"]}),"\n",(0,r.jsx)(t.h1,{id:"vnc-properties",children:"vnc Properties"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.a,{href:"#xstartup",children:"xstartup"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup",title:"undefined#/properties/vnc/properties/xstartup",children:"Untitled schema"})})]})})]}),"\n",(0,r.jsx)(t.h2,{id:"xstartup",children:"xstartup"}),"\n",(0,r.jsx)(t.p,{children:"\u542f\u52a8\u6b64app\u7684xstartup\u811a\u672c"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"xstartup"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["Type: ",(0,r.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["defined in: ",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup",title:"undefined#/properties/vnc/properties/xstartup",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"xstartup-type",children:"xstartup Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>p,x:()=>c});var r=n(48318);const i={},s=r.createContext(i);function p(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0719cfb4.1072e150.js b/pr-preview/pr-1298/assets/js/0719cfb4.1072e150.js deleted file mode 100644 index 13d0f28f14..0000000000 --- a/pr-preview/pr-1298/assets/js/0719cfb4.1072e150.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[247],{99235:(e,n,d)=>{d.r(n),d.d(n,{assets:()=>t,contentTitle:()=>i,default:()=>a,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var r=d(49214),s=d(5409);const l={sidebar_position:3,title:"LDAP"},i="LDAP\u8ba4\u8bc1\u7cfb\u7edf",c={id:"deploy/config/auth/ldap",title:"LDAP",description:"\u672c\u8282\u4ecb\u7ecd\u4f7f\u7528\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u5e76\u4f7f\u7528LDAP\u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\u3002",source:"@site/docs/deploy/config/auth/ldap.md",sourceDirName:"deploy/config/auth",slug:"/deploy/config/auth/ldap",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/auth/ldap.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"LDAP"},sidebar:"deploy",previous:{title:"SSH",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh"},next:{title:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config"}},t={},h=[{value:"LDAP\u8ba4\u8bc1\u8981\u6c42\u548c\u6d41\u7a0b",id:"ldap\u8ba4\u8bc1\u8981\u6c42\u548c\u6d41\u7a0b",level:2},{value:"\u4f7f\u7528LDAP\u767b\u5f55\u96c6\u7fa4",id:"\u4f7f\u7528ldap\u767b\u5f55\u96c6\u7fa4",level:3},{value:"\u767b\u5f55",id:"\u767b\u5f55",level:3},{value:"\u521b\u5efa\u7528\u6237",id:"\u521b\u5efa\u7528\u6237",level:3},{value:"\u914d\u7f6eLDAP\u8ba4\u8bc1\u670d\u52a1",id:"\u914d\u7f6eldap\u8ba4\u8bc1\u670d\u52a1",level:2},{value:"LDAP\u5feb\u901f\u914d\u7f6e\u811a\u672c",id:"ldap\u5feb\u901f\u914d\u7f6e\u811a\u672c",level:2},{value:"LDAP\u955c\u50cf",id:"ldap\u955c\u50cf",level:2}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"ldap\u8ba4\u8bc1\u7cfb\u7edf",children:"LDAP\u8ba4\u8bc1\u7cfb\u7edf"}),"\n",(0,r.jsx)(n.p,{children:"\u672c\u8282\u4ecb\u7ecd\u4f7f\u7528\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u5e76\u4f7f\u7528LDAP\u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\u3002"}),"\n",(0,r.jsx)(n.p,{children:"LDAP\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u7684\u529f\u80fd\u5982\u4e0b\u8868\uff1a"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"\u529f\u80fd"}),(0,r.jsx)(n.th,{children:"\u662f\u5426\u652f\u6301"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u7528\u6237\u767b\u5f55"}),(0,r.jsx)(n.td,{children:"\u662f"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u83b7\u53d6\u7528\u6237\u4fe1\u606f"}),(0,r.jsx)(n.td,{children:"\u662f"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u7528\u6237\u521b\u5efa"}),(0,r.jsx)(n.td,{children:"\u5982\u679c\u914d\u7f6e\u4e86\u76f8\u5173\u914d\u7f6e\u5373\u652f\u6301"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u7528\u6237\u540d\u548c\u59d3\u540d\u9a8c\u8bc1"}),(0,r.jsx)(n.td,{children:"\u662f"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u4fee\u6539\u5bc6\u7801"}),(0,r.jsx)(n.td,{children:"\u662f"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u7ba1\u7406\u7528\u6237\u8d26\u6237\u5173\u7cfb"}),(0,r.jsx)(n.td,{children:"\u5426"})]})]})]}),"\n",(0,r.jsx)(n.h2,{id:"ldap\u8ba4\u8bc1\u8981\u6c42\u548c\u6d41\u7a0b",children:"LDAP\u8ba4\u8bc1\u8981\u6c42\u548c\u6d41\u7a0b"}),"\n",(0,r.jsx)(n.p,{children:"\u4e3a\u4e86\u66f4\u597d\u7684\u7406\u89e3\u5e76\u914d\u7f6eLDAP\u8ba4\u8bc1\u7cfb\u7edf\uff0c\u672c\u8282\u5c06\u4ecb\u7ecd\u5404\u4e2a\u64cd\u4f5c\u65f6\uff0cLDAP\u8ba4\u8bc1\u7cfb\u7edf\u6240\u8fdb\u884c\u7684\u64cd\u4f5c\u3002\u8bf7\u786e\u8ba4\u60a8\u7684LDAP\u914d\u7f6e\u517c\u5bb9\u8fd9\u91cc\u6240\u79f0\u7684\u6d41\u7a0b"}),"\n",(0,r.jsxs)(n.p,{children:["\u4e0b\u6587\u4e2d\uff0c\u4ee3\u7801\u5757\uff08\u5982",(0,r.jsx)(n.code,{children:"ldap.bindDn"}),"\uff09\u4e3a\u914d\u7f6e\u6587\u4ef6",(0,r.jsx)(n.code,{children:"config/auth.yml"}),"\u4e2d\u7684\u5bf9\u5e94\u503c\u3002"]}),"\n",(0,r.jsx)(n.h3,{id:"\u4f7f\u7528ldap\u767b\u5f55\u96c6\u7fa4",children:"\u4f7f\u7528LDAP\u767b\u5f55\u96c6\u7fa4"}),"\n",(0,r.jsxs)(n.p,{children:["\u8981\u4f7f\u7528LDAP\u8fdb\u884cSCOW\u7cfb\u7edf\u7684\u7528\u6237\u8ba4\u8bc1\uff0c\u60a8\u5fc5\u987b\u914d\u7f6eLDAP\u670d\u52a1\u5668\u548c\u96c6\u7fa4\u4e2d\u7684\u6bcf\u4e2a\u8282\u70b9\uff0c\u4f7f\u5f97\u96c6\u7fa4\u4e2d\u7684\u4efb\u4f55\u8282\u70b9\u90fd\u53ef\u4ee5\u4f7f\u7528LDAP\u7528\u6237\u8282\u70b9\u7684",(0,r.jsx)(n.code,{children:"ldap.attrs.uid"}),"\u5bf9\u5e94\u7684\u5c5e\u6027\u7684\u503c\u548c\u5bc6\u7801\u4f5c\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u3002\u8bf7\u53c2\u8003",(0,r.jsx)(n.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/dev/ldap/client.sh",children:"client.sh"}),"\u914d\u7f6e\u4f7f\u7528LDAP\u670d\u52a1\u5668\u767b\u5f55Linux\u8282\u70b9\u3002"]}),"\n",(0,r.jsx)(n.h3,{id:"\u767b\u5f55",children:"\u767b\u5f55"}),"\n",(0,r.jsx)(n.p,{children:"\u5f53\u7528\u6237\u767b\u5f55\u65f6\uff0c\u8ba4\u8bc1\u7cfb\u7edf\u83b7\u5f97\u7528\u6237\u8f93\u5165\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\u4f7f\u7528",(0,r.jsx)(n.code,{children:"ldap.bindDn"}),"\u548c",(0,r.jsx)(n.code,{children:"ldap.bindPassword"}),"\u4f5c\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u5411LDAP\u670d\u52a1\u5668\u6240\u5728\u7684",(0,r.jsx)(n.code,{children:"ldap.url"}),"\u53d1\u8d77bind\u8bf7\u6c42"]}),"\n",(0,r.jsxs)(n.li,{children:["bind\u6210\u529f\u540e\uff0c\u4ee5",(0,r.jsx)(n.code,{children:"ldap.searchBase"}),"\u4e3a\u641c\u7d22\u6839\uff0c\u4ee5sub\u6a21\u5f0f\uff0c\u4ee5",(0,r.jsx)(n.code,{children:"ldap.filter"})," && (",(0,r.jsx)(n.code,{children:"ldap.attrs.uid"}),"\u7b49\u4e8e\u8f93\u5165\u7684\u7528\u6237\u540d) \u4e3a\u7b5b\u9009\u6761\u4ef6\u641c\u7d22\u8282\u70b9","\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"\u5982\u679c\u641c\u7d22\u7ed3\u679c\u4e3a\u7a7a\uff0c\u5219\u767b\u5f55\u5931\u8d25"}),"\n",(0,r.jsx)(n.li,{children:"\u5982\u679c\u641c\u7d22\u8282\u70b9\u6709\u591a\u4e2a\uff0c\u53d6\u7b2c\u4e00\u4e2a\u7ed3\u679c"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\u4ee5",(0,r.jsx)(n.strong,{children:"\u4e0a\u4e00\u4e2a\u7ed3\u679c\u7684DN"}),"\u4ee5\u53ca",(0,r.jsx)(n.strong,{children:"\u8f93\u5165\u7684\u5bc6\u7801"}),"\u4f5c\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u4e0eLDAP\u670d\u52a1\u5668\u53d1\u8d77bind\u8bf7\u6c42","\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"\u5982\u679cbind\u5931\u8d25\uff0c\u5219\u767b\u5f55\u5931\u8d25"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\u767b\u5f55\u6210\u529f\u3002\u751f\u6210\u4e00\u4e2aUUID\u4f5c\u4e3atoken\uff0c\u5c06token\u4e0e",(0,r.jsx)(n.strong,{children:"\u8f93\u5165\u7684\u7528\u6237\u540d"}),"\u5b58\u5165redis"]}),"\n",(0,r.jsxs)(n.li,{children:["\u91cd\u5b9a\u5411\u5230\u7528\u6237\u5728\u767b\u5f55\u65f6\uff0c\u901a\u8fc7querystring\u6307\u5b9a\u7684callback URL\uff0c\u5e76\u4f20\u5165",(0,r.jsx)(n.code,{children:"token={token}"}),"\u4f5c\u4e3aquerystring\u53c2\u6570"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\u521b\u5efa\u7528\u6237",children:"\u521b\u5efa\u7528\u6237"}),"\n",(0,r.jsx)(n.p,{children:"\u7cfb\u7edf\u4f1a\u5bf9\u6bcf\u4e2a\u65b0\u7528\u6237\u521b\u5efa\u4e00\u4e2a\u65b0\u7684LDAP\u8282\u70b9\u8868\u793a\u7528\u6237\uff0c\u5e76\u652f\u6301\u540c\u65f6\u521b\u5efa\u4e00\u4e2aLDAP\u8282\u70b9\u8868\u793a\u7528\u6237\u7684\u7ec4\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u5f53\u7528\u6237\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\u521b\u5efa\u540e\uff0c\u8ba4\u8bc1\u7cfb\u7edf\u83b7\u5f97\u65b0\u7528\u6237\u7684\u7528\u6237\u540d\u3001\u7528\u6237\u59d3\u540d\u3001\u5bc6\u7801\u548c\u90ae\u7bb1\uff0c\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\u4f7f\u7528",(0,r.jsx)(n.code,{children:"ldap.bindDn"}),"\u548c",(0,r.jsx)(n.code,{children:"ldap.bindPassword"}),"\u4f5c\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\u4e0e\u5411LDAP\u670d\u52a1\u5668\u6240\u5728\u7684",(0,r.jsx)(n.code,{children:"ldap.url"}),"\u53d1\u8d77bind\u8bf7\u6c42"]}),"\n",(0,r.jsx)(n.li,{children:"\u521b\u5efa\u4e00\u4e2a\u65b0\u7684entry\u4f5c\u4e3a\u7528\u6237\uff0c\u5176DN\u4ee5\u53ca\u5c5e\u6027\u503c\u5982\u4e0b\u8868\u6240\u793a"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["\u8868\u4e2d",(0,r.jsx)(n.code,{children:"??"}),"\u8868\u793a\u5982\u679c\u524d\u9762\u7684\u914d\u7f6e\u503c\u8bbe\u7f6e\u4e86\uff0c\u5c31\u91c7\u7528\u524d\u9762\u7684\u503c\uff0c\u5982\u679c\u6ca1\u6709\u8bbe\u7f6e\uff0c\u5219\u91c7\u7528\u540e\u9762\u7684\u503c\u3002"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"\u5c5e\u6027\u540d"}),(0,r.jsx)(n.th,{children:"\u503c"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"DN"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{ldap.addUser.userIdDnKey ?? ldap.attrs.uid}=\u7528\u6237\u540d,{ldap.addUser.userBase}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"ldap.attrs.uid"})}),(0,r.jsx)(n.td,{children:"\u7528\u6237\u540d"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"sn"}),(0,r.jsx)(n.td,{children:"\u7528\u6237\u540d"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"loginShell"}),(0,r.jsx)(n.td,{children:"/bin/bash"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"objectClass"}),(0,r.jsx)(n.td,{children:'["inetOrgPerson", "posixAccount", "shadowAccount"]'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"homeDirectory"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"ldap.addUser.homeDir"}),"\uff0c\u5176\u4e2d\u7684",(0,r.jsx)(n.code,{children:"{{ username }}"}),"\u66ff\u6362\u4e3a\u7528\u6237\u540d"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"uidNumber"}),(0,r.jsxs)(n.td,{children:["\u6570\u636e\u5e93\u4e2d\u7684\u7528\u6237\u9879\u7684id + ",(0,r.jsx)(n.code,{children:"ldap.addUser.uidStart"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"gidNumber"}),(0,r.jsxs)(n.td,{children:["\u53d6\u51b3\u4e8e",(0,r.jsx)(n.code,{children:"ldap.groupStrategy"}),"\uff0c\u89c1\u4e0b\u6587"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"ldap.attrs.name"}),"\uff08\u5982\u679c\u8bbe\u7f6e\u4e86\uff09"]}),(0,r.jsx)(n.td,{children:"\u7528\u6237\u59d3\u540d"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"ldap.attrs.mail"}),"\uff08\u5982\u679c\u8bbe\u7f6e\u4e86\uff09"]}),(0,r.jsx)(n.td,{children:"\u7528\u6237\u7684\u90ae\u7bb1"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"ldap.addUser.extraProps"}),"\u4e2d\u7684\u6bcf\u4e2akey"]}),(0,r.jsxs)(n.td,{children:["key\u5bf9\u5e94\u7684\u503c\uff0c\u5bf9\u5e94\u7684\u503c\u53ef\u4ee5\u4e3a\u5b57\u7b26\u4e32\u3001\u5b57\u7b26\u4e32\u5217\u8868\u6216\u8005",(0,r.jsx)(n.code,{children:"null"}),"\u3002\u5b57\u7b26\u4e32\u6216\u8005\u5b57\u7b26\u4e32\u5217\u8868\u4e2d\u7684\u6bcf\u4e00\u9879\u5176\u4e2d\u7684",(0,r.jsx)(n.code,{children:"{{ key }}"}),"\u66ff\u6362\u4e3a",(0,r.jsx)(n.code,{children:"key"}),"\u672c\u8282\u70b9\u7684\u5bf9\u5e94\u7684\u5c5e\u6027\u7684\u503c\u3002"]})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c",(0,r.jsx)(n.code,{children:"ldap.addUser.extraProps"}),"\u4e2d\u5305\u62ec\u5df2\u7ecf\u5b58\u5728\u7684\u5c5e\u6027\u540d\uff0c\u5219\u4f1a\u66ff\u6362\u5bf9\u5e94\u7684\u5c5e\u6027\u3002\u5982\u679c\u8fd9\u91cc\u9762\u67d0\u4e2a\u503c\u4e3a",(0,r.jsx)(n.code,{children:"null"}),"\uff0c\u5219\u4f1a\u5220\u9664\u5bf9\u5e94\u7684\u5c5e\u6027\u3002"]}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsx)(n.li,{children:"\u914d\u7f6e\u65b0\u7528\u6237\u6240\u5c5e\u7684\u7ec4\u3002"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c",(0,r.jsx)(n.code,{children:"ldap.addUser.groupStrategy"}),"\u8bbe\u7f6e\u4e3a",(0,r.jsx)(n.code,{children:"oneGroupForAllUsers"}),"\uff0c\u5219\u65b0\u7528\u6237\u7684",(0,r.jsx)(n.code,{children:"gidNumber"}),"\u4e3a",(0,r.jsx)(n.code,{children:"ldap.addUser.oneGroupForAllUsers.gidNumber"}),"\u7684\u503c\uff0c\u4e14\u4e0d\u4f1a\u65b0\u5efa\u65b0\u7684\u8868\u793a\u7ec4\u7684LDAP\u8282\u70b9\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c",(0,r.jsx)(n.code,{children:"ldap.addUser.groupStrategy"}),"\u8bbe\u7f6e\u4e3a",(0,r.jsx)(n.code,{children:"newGroupPerUser"}),"\uff0c\u5219\u65b0\u7528\u6237\u7684",(0,r.jsx)(n.code,{children:"gidNumber"}),"\u7684\u503c\u7b49\u4e8e\u7528\u6237\u7684uidNumber\uff0c\u5e76\u4e14\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684LDAP\u8282\u70b9\u4f5c\u4e3a\u65b0\u7528\u6237\u7684group\uff0c\u5176DN\u4ee5\u53ca\u5c5e\u6027\u503c\u5982\u4e0b\u8868\u6240\u793a\u3002"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"\u5c5e\u6027\u540d"}),(0,r.jsx)(n.th,{children:"\u503c"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"DN"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{ldap.newGroupPerUser.groupIdDnKey ?? ldap.attrs.userId}=\u7528\u6237\u540d,{ldap.addUser.newGroupPerUser.groupBase}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"objectClass"}),(0,r.jsx)(n.td,{children:'["posixGroup"]'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"memberUid"}),(0,r.jsx)(n.td,{children:"\u7528\u6237\u540d"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"gidNumber"}),(0,r.jsx)(n.td,{children:"\u540c\u7528\u6237\u7684uidNumber"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"ldap.addUser.newGroupPerUser.extraProps"}),"\u4e2d\u7684\u6bcf\u4e2akey"]}),(0,r.jsxs)(n.td,{children:["key\u5bf9\u5e94\u7684\u503c\uff0c\u5bf9\u5e94\u7684\u503c\u53ef\u4ee5\u4e3a\u5b57\u7b26\u4e32\u3001\u5b57\u7b26\u4e32\u5217\u8868\u6216\u8005",(0,r.jsx)(n.code,{children:"null"}),"\u3002\u5b57\u7b26\u4e32\u6216\u8005\u5b57\u7b26\u4e32\u5217\u8868\u4e2d\u7684\u6bcf\u4e00\u9879\u5176\u4e2d\u7684",(0,r.jsx)(n.code,{children:"{{ key }}"}),"\u66ff\u6362\u4e3a",(0,r.jsx)(n.code,{children:"key"}),"\u672c\u8282\u70b9\u7684\u5bf9\u5e94\u7684\u5c5e\u6027\u7684\u503c\u3002"]})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c",(0,r.jsx)(n.code,{children:"ldap.addUser.newGroupPerUser.extraProps"}),"\u4e2d\u5305\u62ec\u5df2\u7ecf\u5b58\u5728\u7684\u5c5e\u6027\u540d\uff0c\u5219\u4f1a\u66ff\u6362\u5bf9\u5e94\u7684\u5c5e\u6027\u3002\u5982\u679c\u8fd9\u91cc\u9762\u67d0\u4e2a\u503c\u4e3a",(0,r.jsx)(n.code,{children:"null"}),"\uff0c\u5219\u4f1a\u5220\u9664\u5bf9\u5e94\u7684\u5c5e\u6027\u3002"]}),"\n",(0,r.jsxs)(n.ol,{start:"4",children:["\n",(0,r.jsx)(n.li,{children:"\u8bbe\u7f6e\u65b0\u7528\u6237\u7684\u5bc6\u7801\u4e3a\u7528\u6237\u8f93\u5165\u7684\u5bc6\u7801"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"\u914d\u7f6eldap\u8ba4\u8bc1\u670d\u52a1",children:"\u914d\u7f6eLDAP\u8ba4\u8bc1\u670d\u52a1"}),"\n",(0,r.jsxs)(n.p,{children:["\u5728",(0,r.jsx)(n.code,{children:"config/auth.yml"}),"\u4e2d\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff0c\u5e76\u6839\u636e\u60c5\u51b5\u914d\u7f6e\u3002"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/auth.yml"',children:'# \u6307\u5b9a\u4f7f\u7528\u8ba4\u8bc1\u7c7b\u578b\u4e3aLDAP\nauthType: ldap\n\n# \u5728\u6b64\u90e8\u5206\u8f93\u5165LDAP\u7684\u914d\u7f6e\nldap:\n # LDAP\u670d\u52a1\u5668\u5730\u5740\u3002\u5fc5\u586b\n url: ldap://LDAP\u670d\u52a1\u5668\u5730\u5740\n\n # \u8fdb\u884cLDAP\u64cd\u4f5c\u7684\u7528\u6237DN\u3002\u9ed8\u8ba4\u4e3a\u7a7a\n # bindDN: ""\n # \u8fdb\u884cLDAP\u64cd\u4f5c\u7684\u7528\u6237\u5bc6\u7801\u3002\u9ed8\u8ba4\u4e3a\u7a7a\n # bindPassword: ""\n\n # \u5728\u54ea\u4e2a\u8282\u70b9\u4e0b\u641c\u7d22\u8981\u767b\u5f55\u7684\u7528\u6237\u3002\u5fc5\u586b\u3002\n searchBase: ""\n # \u641c\u7d22\u767b\u5f55\u7528\u6237\u65f6\u7684\u7b5b\u9009\u5668\u3002\u5fc5\u586b\n userFilter: "(uid=*)"\n\n # \u5c5e\u6027\u6620\u5c04\n attrs:\n # LDAP\u4e2d\u5bf9\u5e94\u7528\u6237ID\u7684\u5c5e\u6027\u540d\n uid: uid\n\n # LDAP\u5bf9\u5e94\u7528\u6237\u59d3\u540d\u7684\u5c5e\u6027\u540d\n # \u6b64\u5b57\u6bb5\u7528\u4e8e\n # 1. \u767b\u5f55\u65f6\u663e\u793a\u4e3a\u7528\u6237\u7684\u59d3\u540d\n # 2. \u521b\u5efa\u7528\u6237\u7684\u65f6\u5019\u628a\u59d3\u540d\u4fe1\u606f\u586b\u5165LDAP\n # 3. \u7ba1\u7406\u7cfb\u7edf\u6dfb\u52a0\u7528\u6237\u65f6\uff0c\u9a8c\u8bc1ID\u548c\u59d3\u540d\u662f\u5426\u5339\u914d\n #\n # \u5982\u679c\u4e0d\u8bbe\u7f6e\u6b64\u5b57\u6bb5\uff0c\u90a3\u4e48\n # 1. \u7528\u6237\u663e\u793a\u7684\u59d3\u540d\u4e3a\u7528\u6237\u7684ID\n # 2. \u521b\u5efa\u7528\u6237\u65f6\u59d3\u540d\u4fe1\u606f\u586b\u5165LDAP\n # 3. \u7ba1\u7406\u7cfb\u7edf\u6dfb\u52a0\u7528\u6237\u65f6\uff0c\u4e0d\u9a8c\u8bc1ID\u4e0e\u59d3\u540d\u662f\u5426\u5339\u914d\n # name: cn\n\n # LDAP\u4e2d\u5bf9\u5e94\u7528\u6237\u7684\u90ae\u7bb1\u7684\u5c5e\u6027\u540d\u3002\u53ef\u4e0d\u586b\u3002\u6b64\u5b57\u6bb5\u53ea\u7528\u4e8e\u5728\u521b\u5efa\u7528\u6237\u7684\u65f6\u5019\u628a\u90ae\u4ef6\u4fe1\u606f\u586b\u5165LDAP\u3002\n # mail: mail\n\n # \u6dfb\u52a0\u7528\u6237\u7684\u76f8\u5173\u914d\u7f6e\u3002\u53ef\u4e0d\u586b\uff0c\u4e0d\u586b\u7684\u8bddSCOW\u4e0d\u652f\u6301\u521b\u5efa\u7528\u6237\u3002\n addUser:\n # \u589e\u52a0\u7528\u6237\u8282\u70b9\u65f6\uff0c\u628a\u7528\u6237\u589e\u52a0\u5230\u54ea\u4e2a\u8282\u70b9\u4e0b\n userBase: "ou=People,ou={ou},o={dn}"\n\n # \u7528\u6237\u7684homeDirectory\u503c\u3002\u4f7f\u7528{{ userId }}\u4ee3\u66ff\u65b0\u7528\u6237\u7684\u7528\u6237\u540d\u3002\u9ed8\u8ba4\u5982\u4e0b\n homeDir: /nfs/{{ userId }}\n\n # LDAP\u589e\u52a0\u7528\u6237\u65f6\uff0c\u65b0\u7528\u6237\u8282\u70b9\u7684DN\u4e2d\uff0c\u7b2c\u4e00\u4e2a\u8def\u5f84\u7684\u5c5e\u6027\u7684key\u3002\n # \u65b0\u7528\u6237\u8282\u70b9\u7684DN\u4e3a{userIdDnKey}={\u7528\u6237ID},{userBase}\n # \u5982\u679c\u4e0d\u586b\u5199\uff0c\u5219\u4f7f\u7528ldap.attrs.uid\u7684\u503c\n # userIdDnKey: uid\n\n # \u5982\u4f55\u786e\u5b9a\u65b0\u7528\u6237\u7684\u7ec4\u3002\u53ef\u53d6\u7684\u503c\u5305\u62ec\uff1a\n # newGroupPerUser: \u7ed9\u6bcf\u4e2a\u7528\u6237\u521b\u5efa\u65b0\u7684\u7ec4\n # oneGroupForAllUsers: \u4e0d\u521b\u5efa\u65b0\u7684\u7ec4\uff0c\u7ed9\u6240\u6709\u7528\u6237\u8bbe\u5b9a\u4e00\u4e2a\u56fa\u5b9a\u7684\u7ec4\n groupStrategy: newGroupPerUser\n\n newGroupPerUser:\n # \u7528\u6237\u5bf9\u5e94\u7684\u65b0\u7ec4\u5e94\u8be5\u52a0\u5728\u54ea\u4e2a\u8282\u70b9\u4e0b\n groupBase: "ou=Group,ou={ou},o={dn}"\n\n # \u65b0\u7684\u7ec4\u8282\u70b9\u7684DN\u4e2d\uff0c\u7b2c\u4e00\u4e2a\u8def\u5f84\u7684\u5c5e\u6027\u7684key\u3002\n # \u65b0\u7684\u7ec4\u8282\u70b9\u7684DN\u4e3a{groupIdDnKey}={\u7528\u6237ID},{groupBase}\n # \u5982\u679c\u4e0d\u586b\u5199\uff0c\u5219\u4f7f\u7528ldap.attrs.uid\u7684\u503c\n # groupIdDnKey: uid\n\n # \u7ec4\u7684\u8282\u70b9\u5e94\u8be5\u989d\u5916\u62e5\u6709\u7684\u5c5e\u6027\u503c\u3002\u53ef\u4ee5\u4f7f\u7528 {{ \u7528\u6237\u8282\u70b9\u7684\u5c5e\u6027key }}\u6765\u4f7f\u7528\u7528\u6237\u8282\u70b9\u7684\u5c5e\u6027\u503c\n # extraProps:\n # greetings: hello this is group {{ userId }}\n\n # \u5982\u679cgroupStrategy\u8bbe\u7f6e\u4e3aoneGroupForAllUsers\uff0c\u90a3\u4e48\u5fc5\u987b\u8bbe\u7f6e\u6b64\u5c5e\u6027\n oneGroupForAllUsers:\n # \u7528\u6237\u7684gidNumber\u5c5e\u6027\u7684\u503c\n gidNumber: 5000\n\n # \u662f\u5426\u5e94\u8be5\u628a\u65b0\u7528\u6237\u52a0\u5230\u54ea\u4e2aLDAP\u7ec4\u4e0b\u3002\u5982\u679c\u4e0d\u586b\uff0c\u5219\u4e0d\u52a0\n # addUserToLdapGroup: group\n\n # uid\u4ece\u591a\u5c11\u5f00\u59cb\u3002\u751f\u6210\u7684\u7528\u6237\u7684uid\u7b49\u4e8e\u6b64\u503c\u52a0\u4e0a\u7528\u6237\u8d26\u6237\u4e2d\u521b\u5efa\u7684\u7528\u6237ID\n # \u9ed8\u8ba4\u5982\u4e0b\n # uidStart: 66000\n\n # \u7528\u6237\u9879\u9664\u4e86id\u3001name\u548cmail\uff0c\u8fd8\u5e94\u8be5\u6dfb\u52a0\u54ea\u4e9b\u5c5e\u6027\u3002\u7c7b\u578b\u662f\u4e2adict\n # \u5982\u679c\u8fd9\u91cc\u51fa\u73b0\u4e86\u540d\u4e3auid, name\u6216email\u7684\u5c5e\u6027\uff0c\u8fd9\u91cc\u7684\u503c\u5c06\u66ff\u4ee3\u7528\u6237\u8f93\u5165\u7684\u503c\u3002\n # \u5c5e\u6027\u503c\u652f\u6301\u4f7f\u7528 {{ LDAP\u5c5e\u6027\u503ckey }} \u683c\u5f0f\u6765\u4f7f\u7528\u7528\u6237\u586b\u5165\u7684\u503c\u3002\n # \u4f8b\u5982\uff1asn: "{{ cn }}"\uff0c\u90a3\u4e48\u6dfb\u52a0\u65f6\u5c06\u4f1a\u589e\u52a0\u4e00\u4e2asn\u5c5e\u6027\uff0c\u5176\u503c\u4e3acn\u7684\u5c5e\u6027\uff0c\u5373\u4e3a\u7528\u6237\u8f93\u5165\u7684\u59d3\u540d\n # extraProps: \n # key: value\n'})}),"\n",(0,r.jsxs)(n.p,{children:["\u589e\u52a0\u597d\u914d\u7f6e\u540e\uff0c\u8fd0\u884c",(0,r.jsx)(n.code,{children:"./cli compose restart"}),"\u91cd\u542f\u7cfb\u7edf\u5373\u53ef\u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"ldap\u5feb\u901f\u914d\u7f6e\u811a\u672c",children:"LDAP\u5feb\u901f\u914d\u7f6e\u811a\u672c"}),"\n",(0,r.jsxs)(n.p,{children:["\u6211\u4eec\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u4e2a\u811a\u672c\u53ef\u4ee5\u7528\u6765\u5728",(0,r.jsx)(n.strong,{children:"CentOS 7"}),"\u73af\u5883\u5feb\u901f\u5b89\u88c5\u548c\u914d\u7f6eLDAP\u670d\u52a1\u5668"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/dev/ldap/provider.sh",children:"provider.sh"}),": \u7528\u4e8e\u914d\u7f6eLDAP\u670d\u52a1\u5668"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/dev/ldap/client.sh",children:"client.sh"}),": \u7528\u4e8e\u914d\u7f6eLDAP\u5ba2\u6237\u7aef"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["\u8bf7\u4e0b\u8f7d\u8fd9\u4e24\u4e2a\u6587\u4ef6\uff0c\u4fee\u6539\u4e24\u4e2a\u6587\u4ef6\u5f00\u5934\u90e8\u5206\u7684\u76f8\u5173\u914d\u7f6e\uff08",(0,r.jsx)(n.code,{children:"Start Configuratin Part"}),"\u548c",(0,r.jsx)(n.code,{children:"End Configuration Part"}),"\u4e4b\u95f4\u7684\u53d8\u91cf\uff09\uff0c\u8fd0\u884c\u5373\u53ef\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u4f7f\u7528provider.sh\u811a\u672c\u914d\u7f6e\u60a8\u7684\u670d\u52a1\u5668\uff0c\u60a8\u7684LDAP\u76f8\u5173\u914d\u7f6e\u4e3a\u5982\u4e0b\u3002\u5176\u4e2d",(0,r.jsx)(n.code,{children:"{\u53d8\u91cf}"}),"\u66ff\u6362\u4e3aprovider.sh\u4e2d\u7684\u5bf9\u5e94\u53d8\u91cf\u503c\u3002"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/auth.yml"',children:'\n# ...\u5176\u4ed6\u914d\u7f6e\n\nauthType: ldap\nldap:\n url: ldap://LDAP\u670d\u52a1\u5668\u5730\u5740\n bindDN: cn=Manager,ou={ou},o={dn}\n bindPassword: {adminPasswd}\n searchBase: "ou={ou},o={dn}"\n userFilter: "(uid=*)"\n addUser:\n userBase: "ou=People,ou={ou},o={dn}"\n userIdDnKey: uid\n # \u628ahomeDir\u8bbe\u7f6e\u4e3a\u5171\u4eab\u5b58\u50a8\u4e0a\u7684\u7528\u6237\u7684\u5bb6\u8def\u5f84\n homeDir: /nfs/{{ userId }} \n\n groupStrategy: newGroupPerUser\n newGroupPerUser:\n groupBase: "ou=Group,ou={ou},o={dn}"\n groupIdDnKey: cn\n attrs:\n uid: uid\n name: cn\n mail: mail\n'})}),"\n",(0,r.jsx)(n.h2,{id:"ldap\u955c\u50cf",children:"LDAP\u955c\u50cf"}),"\n",(0,r.jsx)(n.p,{children:"\u60a8\u8fd8\u53ef\u4ee5\u4f7f\u7528\u6211\u4eec\u63d0\u4f9b\u7684\u5df2\u7ecf\u914d\u7f6e\u597d\u7684LDAP docker\u955c\u50cf\u8fdb\u884c\u4f53\u9a8c\u3002\u6ce8\u610f\uff0c\u6b64\u955c\u50cf\u4ec5\u7528\u4e8e\u6d4b\u8bd5\u548c\u529f\u80fd\u4f53\u9a8c\uff0c\u8bf7\u52ff\u7528\u4e8e\u751f\u4ea7\u73af\u5883\uff01"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u5728\u6574\u4e2a\u9879\u76ee\u7684\u6839\u76ee\u5f55\u6784\u5efa\u955c\u50cf \ndocker build -f dev/ldap/Dockerfile -t ldap .\n\n# \u542f\u52a8\u955c\u50cf\u3002\u670d\u52a1\u5728389\u7aef\u53e3\u76d1\u542c\u3002\n# \u7ba1\u7406\u5458\u7528\u6237\u4e3acn=Manager,ou=hpc,o=pku\uff0c\u5bc6\u7801\u4e3aadmin\ndocker run -p 389:389 ldap\n"})})]})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5409:(e,n,d)=>{d.d(n,{R:()=>i,x:()=>c});var r=d(48318);const s={},l=r.createContext(s);function i(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/07bec90e.c13c2854.js b/pr-preview/pr-1298/assets/js/07bec90e.c13c2854.js deleted file mode 100644 index fee60979d0..0000000000 --- a/pr-preview/pr-1298/assets/js/07bec90e.c13c2854.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2242],{98959:o=>{o.exports=JSON.parse('{"title":"\u4f7f\u7528\u793a\u4f8b","description":"\u5e38\u7528\u8bed\u8a00\u7684\u4f7f\u7528API\u548cHook\u7684\u793a\u4f8b","slug":"/category/\u4f7f\u7528\u793a\u4f8b","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b","navigation":{"previous":{"title":"SCOW Hook","permalink":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook"},"next":{"title":"Go","permalink":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0809e651.b4f60377.js b/pr-preview/pr-1298/assets/js/0809e651.b4f60377.js deleted file mode 100644 index 42b4f584ae..0000000000 --- a/pr-preview/pr-1298/assets/js/0809e651.b4f60377.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5165],{27531:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>a,contentTitle:()=>n,default:()=>l,frontMatter:()=>p,metadata:()=>s,toc:()=>c});var t=i(49214),o=i(5409);const p={},n=void 0,s={id:"refs/config/portal/definition-properties-appjobsdir",title:"definition-properties-appjobsdir",description:"appJobsDir Type",source:"@site/docs/refs/config/portal/definition-properties-appjobsdir.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-appjobsdir",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-appjobsdir.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"portal",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/"},next:{title:"definition-properties-apps",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps"}},a={},c=[{value:"appJobsDir Type",id:"appjobsdir-type",level:2},{value:"appJobsDir Default Value",id:"appjobsdir-default-value",level:2}];function d(e){const r={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"appjobsdir-type",children:"appJobsDir Type"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.h2,{id:"appjobsdir-default-value",children:"appJobsDir Default Value"}),"\n",(0,t.jsx)(r.p,{children:"The default value is:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-json",children:'"scow/appData"\n'})})]})}function l(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>n,x:()=>s});var t=i(48318);const o={},p=t.createContext(o);function n(e){const r=t.useContext(p);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),t.createElement(p.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0a219fe5.55c4f5b1.js b/pr-preview/pr-1298/assets/js/0a219fe5.55c4f5b1.js deleted file mode 100644 index 722bf6b871..0000000000 --- a/pr-preview/pr-1298/assets/js/0a219fe5.55c4f5b1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1754],{87123:s=>{s.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow","page":1,"postsPerPage":10,"totalPages":1,"totalCount":6,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0b0ea684.afa26a73.js b/pr-preview/pr-1298/assets/js/0b0ea684.afa26a73.js deleted file mode 100644 index 8663d4f690..0000000000 --- a/pr-preview/pr-1298/assets/js/0b0ea684.afa26a73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[665],{58702:e=>{e.exports=JSON.parse('{"title":"UI\u6269\u5c55","description":"\u4ecb\u7ecd\u5982\u4f55\u5f00\u53d1UI\u6269\u5c55\u7ad9\uff0c\u5e76\u5c06SCOW\u4e0eUI\u6269\u5c55\u7ad9\u96c6\u6210\u8d77\u6765","slug":"/category/ui\u6269\u5c55","permalink":"/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55","navigation":{"previous":{"title":"Go","permalink":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go"},"next":{"title":"UI\u6269\u5c55 (Beta)","permalink":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0d635f54.fe54ee3f.js b/pr-preview/pr-1298/assets/js/0d635f54.fe54ee3f.js deleted file mode 100644 index 5be530a528..0000000000 --- a/pr-preview/pr-1298/assets/js/0d635f54.fe54ee3f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4960],{12003:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>p,default:()=>a,frontMatter:()=>s,metadata:()=>n,toc:()=>d});var o=t(49214),i=t(5409);const s={},p=void 0,n={id:"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port",title:"definition-properties-fetchjobs-properties-db-properties-port",description:"port Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-db-properties-password",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password"},next:{title:"definition-properties-fetchjobs-properties-db-properties-tablename",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename"}},c={},d=[{value:"port Type",id:"port-type",level:2}];function f(e){const r={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h2,{id:"port-type",children:"port Type"}),"\n",(0,o.jsx)(r.p,{children:(0,o.jsx)(r.code,{children:"integer"})})]})}function a(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>p,x:()=>n});var o=t(48318);const i={},s=o.createContext(i);function p(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0ebeba4c.b4be1efe.js b/pr-preview/pr-1298/assets/js/0ebeba4c.b4be1efe.js deleted file mode 100644 index 86f0f712b9..0000000000 --- a/pr-preview/pr-1298/assets/js/0ebeba4c.b4be1efe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6093],{86255:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>n,metadata:()=>p,toc:()=>d});var r=i(49214),s=i(5409);const n={},o=void 0,p={id:"refs/config/mis/definition-properties-fetchjobs-properties-startindex",title:"definition-properties-fetchjobs-properties-startindex",description:"startIndex Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-startindex",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-periodicfetch",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch"},next:{title:"definition-properties-fetchjobs",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs"}},c={},d=[{value:"startIndex Type",id:"startindex-type",level:2}];function f(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"startindex-type",children:"startIndex Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"integer"})})]})}function a(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>p});var r=i(48318);const s={},n=r.createContext(s);function o(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0ed0cbdf.8baf9512.js b/pr-preview/pr-1298/assets/js/0ed0cbdf.8baf9512.js deleted file mode 100644 index 2f494219f7..0000000000 --- a/pr-preview/pr-1298/assets/js/0ed0cbdf.8baf9512.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4323],{45392:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var t=i(49214),s=i(5409);const o={sidebar_position:1,title:"UI\u6269\u5c55 (Beta)"},r="UI\u6269\u5c55 (Beta)",c={id:"integration/ui-extension/ui-extension",title:"UI\u6269\u5c55 (Beta)",description:"\u5b9e\u9a8c\u6027\u529f\u80fd\uff01",source:"@site/docs/integration/ui-extension/ui-extension.md",sourceDirName:"integration/ui-extension",slug:"/integration/ui-extension/",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/ui-extension/ui-extension.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"UI\u6269\u5c55 (Beta)"},sidebar:"integration",previous:{title:"UI\u6269\u5c55",permalink:"/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55"},next:{title:"\u5f00\u53d1UI\u6269\u5c55",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop"}},a={},l=[{value:"\u5f00\u53d1UI\u6269\u5c55",id:"\u5f00\u53d1ui\u6269\u5c55",level:2},{value:"\u914d\u7f6eSCOW\u4f7f\u7528UI\u6269\u5c55",id:"\u914d\u7f6escow\u4f7f\u7528ui\u6269\u5c55",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"ui\u6269\u5c55-beta",children:"UI\u6269\u5c55 (Beta)"}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsx)(n.p,{children:"\u5b9e\u9a8c\u6027\u529f\u80fd\uff01"})}),"\n",(0,t.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u9700\u8981\u5728SCOW\u7684\u754c\u9762\u4e2d\u589e\u52a0\u66f4\u591a\u7684\u9875\u9762\uff0c\u60a8\u53ef\u4ee5\u5f00\u53d1\u81ea\u5df1\u7684UI\uff0c\u5e76\u901a\u8fc7",(0,t.jsx)(n.strong,{children:"UI\u6269\u5c55"}),"\u529f\u80fd\u5c06\u60a8\u7684UI\u96c6\u6210\u8fdbSCOW\u7684UI\u4e2d\u3002\u8fd9\u6837\uff0c\u60a8\u7684\u7528\u6237\u5728\u8bbf\u95ee\u60a8\u81ea\u5df1\u7684\u9875\u9762\u65f6\uff0c\u4e5f\u53ef\u4ee5\u83b7\u5f97\u4e0e\u8bbf\u95eeSCOW\u7684\u529f\u80fd\u4e00\u81f4\u7684\u4f53\u9a8c\u3002"]}),"\n",(0,t.jsx)(n.p,{children:"\u4e0b\u56fe\u4e3a\u4e00\u4e2aUI\u6269\u5c55\u6f14\u793a\u3002\u6f14\u793a\u4e2d\u7684UI\u6269\u5c55\u589e\u52a0\u4e86\u4e00\u4e2a\u9876\u7ea7\u5bfc\u822a\u9879\uff0c\u5e76\u5728\u4e0b\u9762\u589e\u52a0\u4e86\u4e24\u4e2a\u4e8c\u7ea7\u5bfc\u822a\u9879\u3002"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\u7b2c\u4e00\u4e2a\u4e8c\u7ea7\u5bfc\u822a\u9879\u663e\u793a\u4e86\u4e00\u4e2a\u767b\u5f55\u754c\u9762\uff0c\u5176\u83b7\u53d6\u4e86SCOW\u7684\u767b\u5f55\u7528\u6237\u7684token\uff0c\u5e76\u4e0eSCOW\u7684\u56fd\u9645\u5316\u548c\u9ed1\u6697\u6a21\u5f0f\u76f8\u540c\u6b65\u3002\u6b64\u5bfc\u822a\u9879\u7684\u56fe\u6807\u4e5f\u662f\u7531UI\u6269\u5c55\u81ea\u5df1\u63d0\u4f9b\u3002"}),"\n",(0,t.jsxs)(n.li,{children:["\u7b2c\u4e8c\u4e2a\u4e8c\u7ea7\u5bfc\u822a\u9879\u662f\u4e00\u4e2a\u81f3",(0,t.jsx)(n.a,{href:"http://github.com",children:"GitHub"}),"\u7684\u94fe\u63a5"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"UI\u6269\u5c55\u6f14\u793a",src:i(87992).A+"",width:"1401",height:"968"})}),"\n",(0,t.jsx)(n.h2,{id:"\u5f00\u53d1ui\u6269\u5c55",children:"\u5f00\u53d1UI\u6269\u5c55"}),"\n",(0,t.jsxs)(n.p,{children:["\u8bf7\u53c2\u8003",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop",children:"\u5f00\u53d1UI\u6269\u5c55"}),"\u3002"]}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6escow\u4f7f\u7528ui\u6269\u5c55",children:"\u914d\u7f6eSCOW\u4f7f\u7528UI\u6269\u5c55"}),"\n",(0,t.jsxs)(n.p,{children:["\u5f53\u60a8\u7684\u6269\u5c55\u7ad9\u5f00\u53d1\u5e76\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u8bf7\u5728",(0,t.jsx)(n.code,{children:"config/portal.yaml"}),"\u548c/\u6216",(0,t.jsx)(n.code,{children:"config/mis.yaml"}),"\u4e2d\u589e\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff0c\u4ee5\u5f00\u542fSCOW UI\u6269\u5c55\u3002"]}),"\n",(0,t.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u5728\u95e8\u6237\u7cfb\u7edf\u6216\u8005\u7ba1\u7406\u7cfb\u7edf\u4e2d\u4ec5\u4f7f\u7528\u4e00\u4e2aUI\u6269\u5c55\uff0c\u53ef\u4f7f\u7528\u4ee5\u4e0b\u914d\u7f6e\u3002\u60a8\u5c06\u53ef\u4ee5\u4f7f\u7528",(0,t.jsx)(n.code,{children:"{SCOW URL}/extensions"}),"\u8bbf\u95ee\u5230\u6b64UI\u6269\u5c55\u3002"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/{portal,mis}.yaml"',children:"uiExtension:\n # \u60a8\u7684UI\u6269\u5c55\u9875\u90e8\u7f72URL\u3002\n url: http://localhost:16566/basepath\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u5728\u95e8\u6237\u7cfb\u7edf\u6216\u8005\u7ba1\u7406\u7cfb\u7edf\u4e2d\u9700\u4f7f\u7528\u591a\u4e2aUI\u6269\u5c55\uff0c\u8bf7\u4f7f\u7528\u4ee5\u4e0b\u914d\u7f6e\u3002\u60a8\u5c06\u53ef\u4ee5\u4f7f\u7528",(0,t.jsx)(n.code,{children:"{SCOW URL}/extensions/{name}"}),"\u8bbf\u95ee\u5230\u5bf9\u5e94\u540d\u79f0\u7684UI\u6269\u5c55\u3002\u540c\u4e00\u4efd\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u591a\u4e2aUI\u6269\u5c55\u540d\u79f0\u4e4b\u95f4\u7684\u540d\u79f0\u4e0d\u53ef\u91cd\u590d\u3002"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/{portal,mis}.yaml"',children:"uiExtension:\n - # \u8fd9\u4e2aUI\u6269\u5c55\u7684\u540d\u79f0\n name: extension1\n # \u60a8\u7684\u6b64UI\u6269\u5c55\u9875\u90e8\u7f72URL \n url: http://localhost:16566/basepath\n\n - # \u8fd9\u4e2aUI\u6269\u5c55\u7684\u540d\u79f0\n name: extension2\n # \u60a8\u7684\u6b64UI\u6269\u5c55\u9875\u90e8\u7f72URL \n url: http://localhost:16567/basepath\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},87992:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/extension-7ee06d4108896cf5170fe5da382b80fc.gif"},5409:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>c});var t=i(48318);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/0f17fb15.d387a49a.js b/pr-preview/pr-1298/assets/js/0f17fb15.d387a49a.js deleted file mode 100644 index 0481262d79..0000000000 --- a/pr-preview/pr-1298/assets/js/0f17fb15.d387a49a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5863],{57070:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>a,frontMatter:()=>o,metadata:()=>p,toc:()=>c});var n=t(49214),r=t(5409);const o={},s=void 0,p={id:"refs/config/mis/definition-properties-db-properties-dbname",title:"definition-properties-db-properties-dbname",description:"dbName Type",source:"@site/docs/refs/config/mis/definition-properties-db-properties-dbname.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-db-properties-dbname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-db-properties-dbname.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-changejobpricetype",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype"},next:{title:"definition-properties-db-properties-debug",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug"}},d={},c=[{value:"dbName Type",id:"dbname-type",level:2}];function f(e){const i={code:"code",h2:"h2",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h2,{id:"dbname-type",children:"dbName Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})})]})}function a(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}},5409:(e,i,t)=>{t.d(i,{R:()=>s,x:()=>p});var n=t(48318);const r={},o=n.createContext(r);function s(e){const i=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/102a15c7.05a73ac6.js b/pr-preview/pr-1298/assets/js/102a15c7.05a73ac6.js deleted file mode 100644 index 13280ecf8c..0000000000 --- a/pr-preview/pr-1298/assets/js/102a15c7.05a73ac6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8211],{74652:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>p,metadata:()=>s,toc:()=>d});var t=n(49214),r=n(5409);const p={},o=void 0,s={id:"refs/config/app/definition-properties-type",title:"definition-properties-type",description:"type Type",source:"@site/docs/refs/config/app/definition-properties-type.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-type",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-type.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-type-anyof-1",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1"},next:{title:"definition-properties-vnc-properties-xstartup",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup"}},c={},d=[{value:"type Type",id:"type-type",level:2}];function f(e){const i={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h2,{id:"type-type",children:"type Type"}),"\n",(0,t.jsxs)(i.p,{children:["merged type (",(0,t.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type",children:"Details"}),")"]}),"\n",(0,t.jsx)(i.p,{children:"any of"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n",(0,t.jsxs)(i.li,{children:["\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n"]})]})}function a(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(f,{...e})}):f(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>o,x:()=>s});var t=n(48318);const r={},p=t.createContext(r);function o(e){const i=t.useContext(p);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function s(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(p.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/104930f1.6f36da85.js b/pr-preview/pr-1298/assets/js/104930f1.6f36da85.js deleted file mode 100644 index 8cb4d2b849..0000000000 --- a/pr-preview/pr-1298/assets/js/104930f1.6f36da85.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1107],{41518:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>a});var p=t(49214),n=t(5409);const i={},o=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties",title:"definition-properties-web-properties-connect-properties-query-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-query-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-"},next:{title:"definition-properties-web-properties-connect-properties-query",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query"}},c={},a=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function f(e){const r={h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(r.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,p.jsx)(r.p,{children:"unknown"})]})}function d(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,p.jsx)(r,{...e,children:(0,p.jsx)(f,{...e})}):f(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>s});var p=t(48318);const n={},i=p.createContext(n);function o(e){const r=p.useContext(i);return p.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),p.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/10b97c91.b87b2c39.js b/pr-preview/pr-1298/assets/js/10b97c91.b87b2c39.js deleted file mode 100644 index eb28ebc50c..0000000000 --- a/pr-preview/pr-1298/assets/js/10b97c91.b87b2c39.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[263],{20807:(A,e,n)=>{n.r(e),n.d(e,{assets:()=>m,contentTitle:()=>c,default:()=>t,frontMatter:()=>r,metadata:()=>d,toc:()=>i});var s=n(49214),l=n(5409);const r={sidebar_label:"slurm\u96c6\u7fa4\u90e8\u7f72",title:"slurm\u96c6\u7fa4\u90e8\u7f72",slug:"/slurm",sidebar_position:5},c=void 0,d={id:"hpccluster/slurm",title:"slurm\u96c6\u7fa4\u90e8\u7f72",description:"1. \u5b89\u88c5Munge",source:"@site/docs/hpccluster/slurm.md",sourceDirName:"hpccluster",slug:"/slurm",permalink:"/SCOW/pr-preview/pr-1298/docs/slurm",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/slurm.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_label:"slurm\u96c6\u7fa4\u90e8\u7f72",title:"slurm\u96c6\u7fa4\u90e8\u7f72",slug:"/slurm",sidebar_position:5},sidebar:"hpccluster",previous:{title:"slurmdbd.conf \u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf"},next:{title:"\u6570\u636e\u76d8\u6302\u8f7d",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk"}},m={},i=[{value:"1. \u5b89\u88c5Munge",id:"1-\u5b89\u88c5munge",level:2},{value:"1.1 \u521b\u5efaMunge\u7528\u6237",id:"11-\u521b\u5efamunge\u7528\u6237",level:3},{value:"1.2 \u751f\u6210\u71b5\u6c60",id:"12-\u751f\u6210\u71b5\u6c60",level:3},{value:"1.3 \u90e8\u7f72Munge",id:"13-\u90e8\u7f72munge",level:3},{value:"1.4 \u6d4b\u8bd5Munge\u670d\u52a1",id:"14-\u6d4b\u8bd5munge\u670d\u52a1",level:3},{value:"2. \u5b89\u88c5slurm",id:"2-\u5b89\u88c5slurm",level:2},{value:"2.1 \u5b89\u88c5mariadb",id:"21-\u5b89\u88c5mariadb",level:3},{value:"2.2 \u521b\u5efaslurm\u7528\u6237",id:"22-\u521b\u5efaslurm\u7528\u6237",level:3},{value:"2.3 \u5b89\u88c5slurm\u4f9d\u8d56",id:"23-\u5b89\u88c5slurm\u4f9d\u8d56",level:3},{value:"2.4 \u5236\u4f5crpm\u5305",id:"24-\u5236\u4f5crpm\u5305",level:3},{value:"2.5 \u5b89\u88c5\u4e0e\u914d\u7f6e",id:"25-\u5b89\u88c5\u4e0e\u914d\u7f6e",level:3},{value:"3. \u521d\u59cb\u5316\u8d26\u6237\u548c\u7528\u6237(\u53ef\u9009)",id:"3-\u521d\u59cb\u5316\u8d26\u6237\u548c\u7528\u6237\u53ef\u9009",level:2}];function a(A){const e={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...A.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h2,{id:"1-\u5b89\u88c5munge",children:"1. \u5b89\u88c5Munge"}),"\n",(0,s.jsx)(e.h3,{id:"11-\u521b\u5efamunge\u7528\u6237",children:"1.1 \u521b\u5efaMunge\u7528\u6237"}),"\n",(0,s.jsx)(e.p,{children:"Munge\u7528\u6237\u8981\u786e\u4fdd\u7ba1\u7406\u8282\u70b9\u548c\u8ba1\u7b97(\u767b\u5f55)\u8282\u70b9\u7684UID\u548cGID\u76f8\u540c\uff0c\u6240\u6709\u8282\u70b9\u90fd\u9700\u8981\u5b89\u88c5Munge\u3002"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"groupadd -g 1108 munge\nuseradd -m -c \"Munge Uid 'N' Gid Emporium\" -d /var/lib/munge -u 1108 -g munge -s /sbin/nologin munge\n"})}),"\n",(0,s.jsx)(e.h3,{id:"12-\u751f\u6210\u71b5\u6c60",children:(0,s.jsx)(e.strong,{children:"1.2 \u751f\u6210\u71b5\u6c60"})}),"\n",(0,s.jsx)(e.p,{children:"\u5728\u7ba1\u7406\u8282\u70b9\u4e0a\u6267\u884c"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"yum install -y rng-tools\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u4f7f\u7528/dev/urandom\u6765\u505a\u71b5\u6e90"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"rngd -r /dev/urandom\n\n# \u4fee\u6539service\u53c2\u6570\nvim /usr/lib/systemd/system/rngd.service\n# \u4fee\u6539\u5982\u4e0b\uff1a\n[service]\nExecStart=/sbin/rngd -f -r /dev/urandom\n#\u9000\u51fa\u62a5\u5b58\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u542f\u52a8rngd"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"systemctl daemon-reload\nsystemctl start rngd\nsystemctl enable rngd\n"})}),"\n",(0,s.jsxs)(e.p,{children:["\u67e5\u770b\u670d\u52a1\u72b6\u6001",(0,s.jsx)(e.code,{children:"systemctl status rngd"})]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"img",src:n(99968).A+"",width:"1280",height:"249"})}),"\n",(0,s.jsx)(e.h3,{id:"13-\u90e8\u7f72munge",children:(0,s.jsx)(e.strong,{children:"1.3 \u90e8\u7f72Munge"})}),"\n",(0,s.jsx)(e.p,{children:"Munge\u662f\u8ba4\u8bc1\u670d\u52a1\uff0c\u5b9e\u73b0\u672c\u5730\u6216\u8005\u8fdc\u7a0b\u4e3b\u673a\u8fdb\u7a0b\u7684UID\u3001GID\u9a8c\u8bc1\u3002"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"yum install epel-release -y\nyum install munge munge-libs munge-devel -y\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u521b\u5efa\u5168\u5c40\u5bc6\u94a5\uff0c\u5728\u7ba1\u7406\u8282\u70b9\u521b\u5efa\u5168\u5c40\u4f7f\u7528\u7684\u5bc6\u94a5"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"/usr/sbin/create-munge-key -r\ndd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.key\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u5bc6\u94a5\u540c\u6b65\u5230\u6240\u6709\u5176\u4ed6\u8282\u70b9\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"scp -p /etc/munge/munge.key root@login01:/etc/munge/\nscp -p /etc/munge/munge.key root@compute01:/etc/munge/\nscp -p /etc/munge/munge.key root@compute02:/etc/munge/\n\n# \u6240\u6709\u8282\u70b9\u8d4b\u6743\nchown munge: /etc/munge/munge.key\nchmod 400 /etc/munge/munge.key\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u6240\u6709\u8282\u70b9\u90fd\u6267\u884c\u542f\u52a8\u547d\u4ee4\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"systemctl start munge\nsystemctl enable munge\n"})}),"\n",(0,s.jsxs)(e.p,{children:["\u67e5\u770b\u72b6\u6001",(0,s.jsx)(e.code,{children:"systemctl status munge"})]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"img",src:n(33433).A+"",width:"1019",height:"257"})}),"\n",(0,s.jsx)(e.h3,{id:"14-\u6d4b\u8bd5munge\u670d\u52a1",children:(0,s.jsx)(e.strong,{children:"1.4 \u6d4b\u8bd5Munge\u670d\u52a1"})}),"\n",(0,s.jsx)(e.p,{children:"\u6bcf\u4e2a\u8282\u70b9\u4e0e\u63a7\u5236\u8282\u70b9\u8fdb\u884c\u8fde\u63a5\u9a8c\u8bc1"}),"\n",(0,s.jsx)(e.p,{children:"\u672c\u5730\u67e5\u770b\u51ed\u636e\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"munge -n\n"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"img",src:n(47653).A+"",width:"1193",height:"47"})}),"\n",(0,s.jsx)(e.p,{children:"\u672c\u5730\u89e3\u7801\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"munge -n | unmunge\n"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"img",src:n(88252).A+"",width:"745",height:"237"})}),"\n",(0,s.jsx)(e.p,{children:"\u9a8c\u8bc1\u8fdc\u7a0b\u89e3\u7801\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"munge -n | ssh compute01 unmunge\n"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"img",src:n(34603).A+"",width:"1169",height:"240"})}),"\n",(0,s.jsx)(e.p,{children:"munge\u51ed\u8bc1\u57fa\u51c6\u6d4b\u8bd5"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"remunge\n"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"img",src:n(9614).A+"",width:"1130",height:"83"})}),"\n",(0,s.jsx)(e.h2,{id:"2-\u5b89\u88c5slurm",children:(0,s.jsx)(e.strong,{children:"2. \u5b89\u88c5slurm"})}),"\n",(0,s.jsx)(e.h3,{id:"21-\u5b89\u88c5mariadb",children:"2.1 \u5b89\u88c5mariadb"}),"\n",(0,s.jsx)(e.p,{children:"\u5b89\u88c5mariadb\uff0c\u4f5c\u4e3aSlurm Accounting\u914d\u7f6e\uff0c\u5728\u7ba1\u7406\u8282\u70b9\u6267\u884c\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-PowerShell",children:"yum -y install mariadb-server\nsystemctl start mariadb\nsystemctl enable mariadb\nmysql\n\nset password=password('81SLURM@@rabGTjN7');\ncreate database slurm_acct_db;\nquit\n"})}),"\n",(0,s.jsxs)(e.p,{children:["\u521b\u5efa",(0,s.jsx)(e.code,{children:"slurm"}),"\u7528\u6237\uff0c\u5e76\u4e3a\u5176\u8d4b\u4e88",(0,s.jsx)(e.code,{children:"slurm_acct_db"}),"\u6570\u636e\u5e93\u7684\u6240\u6709\u6743\u9650"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-SQL",children:"mysql -uroot -p'81SLURM@@rabGTjN7'\ncreate user slurm;\n\ngrant all on slurm_acct_db.* TO 'slurm'@'localhost' identified by '123456' with grant option;\n\nflush privileges;\n"})}),"\n",(0,s.jsx)(e.h3,{id:"22-\u521b\u5efaslurm\u7528\u6237",children:"2.2 \u521b\u5efaslurm\u7528\u6237"}),"\n",(0,s.jsx)(e.p,{children:"\u5728\u6240\u6709\u8282\u70b9\u6267\u884c\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:'groupadd -g 1109 slurm\nuseradd -m -c "Slurm manager" -d /var/lib/slurm -u 1109 -g slurm -s /bin/bash slurm\n'})}),"\n",(0,s.jsx)(e.h3,{id:"23-\u5b89\u88c5slurm\u4f9d\u8d56",children:"2.3 \u5b89\u88c5slurm\u4f9d\u8d56"}),"\n",(0,s.jsx)(e.p,{children:"\u5728\u6240\u6709\u8282\u70b9\u6267\u884c\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"yum install gcc gcc-c++ readline-devel perl-ExtUtils-MakeMaker pam-devel rpm-build mysql-devel python3 -y\n"})}),"\n",(0,s.jsx)(e.h3,{id:"24-\u5236\u4f5crpm\u5305",children:"2.4 \u5236\u4f5crpm\u5305"}),"\n",(0,s.jsxs)(e.blockquote,{children:["\n",(0,s.jsx)(e.p,{children:"\u4ee5\u4e0b\u64cd\u4f5c\u5728\u7ba1\u7406\u8282\u70b9\u6267\u884c"}),"\n"]}),"\n",(0,s.jsx)(e.p,{children:"\u4e0b\u8f7dslurm"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"wget https://download.schedmd.com/slurm/slurm-22.05.3.tar.bz2\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u5b89\u88c5rpmbuild\uff0c\u7f16\u8bd1slurm\uff0crpmbuild\u5236\u4f5crpm\u5305"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"yum install rpm-build -y\n\nrpmbuild -ta --nodeps slurm-22.05.3.tar.bz2\n"})}),"\n",(0,s.jsxs)(e.p,{children:["\u7f16\u8bd1\u5236\u4f5c\u5b8c\u6210\u540e\uff0c\u53ef\u5728\u76ee\u5f55",(0,s.jsx)(e.code,{children:"/root/rpmbuild/RPMS/x86_64"}),"\u4e0b\u5f97\u5230\u5982\u4e0brpm\u5305"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"img",src:n(92180).A+"",width:"1057",height:"272"})}),"\n",(0,s.jsx)(e.p,{children:"\u5c06\u7f16\u8bd1\u597d\u7684rpm\u5305\u62f7\u8d1d\u5230\u5176\u4ed6\u8282\u70b9"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"mkdir -p /root/rpmbuild/RPMS/\nscp -r /root/rpmbuild/RPMS/x86_64 root@login01:/root/rpmbuild/RPMS/x86_64\nscp -r /root/rpmbuild/RPMS/x86_64 root@compute01:/root/rpmbuild/RPMS/x86_64\nscp -r /root/rpmbuild/RPMS/x86_64 root@compute02:/root/rpmbuild/RPMS/x86_64\n"})}),"\n",(0,s.jsx)(e.h3,{id:"25-\u5b89\u88c5\u4e0e\u914d\u7f6e",children:"2.5 \u5b89\u88c5\u4e0e\u914d\u7f6e"}),"\n",(0,s.jsx)(e.p,{children:"\u6240\u6709\u8282\u70b9\u5b89\u88c5slurm"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:" cd /root/rpmbuild/RPMS/x86_64/\n yum localinstall slurm-*\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u914d\u7f6e\u63a7\u5236\u8282\u70b9slurm"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"cp /etc/slurm/cgroup.conf.example /etc/slurm/cgroup.conf\ncp /etc/slurm/slurm.conf.example /etc/slurm/slurm.conf\ncp /etc/slurm/slurmdbd.conf.example /etc/slurm/slurmdbd.conf\n"})}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.code,{children:"cgroup.conf "}),"\u4f7f\u7528\u4e86\u9ed8\u8ba4\u914d\u7f6e\uff1b"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["slurm.conf \u914d\u7f6e\u53c2\u89c1",(0,s.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf",children:"\u9644\u5f551\uff1aslurm.conf \u914d\u7f6e"})," \uff1b"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["slurmdbd.conf \u914d\u7f6e\u53c2\u89c1",(0,s.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf",children:"\u9644\u5f552\uff1aslurmdbd.conf \u914d\u7f6e"})," \u3002"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.p,{children:"\u590d\u5236\u914d\u7f6e\u6587\u4ef6\u5230\u5176\u4ed6\u8282\u70b9"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"# slurmdbd.conf\u53ef\u4e0d\u7528\u590d\u5236\nscp -r /etc/slurm/*.conf root@login01:/etc/slurm/\nscp -r /etc/slurm/*.conf root@compute01:/etc/slurm/\nscp -r /etc/slurm/*.conf root@compute02:/etc/slurm/\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u8bbe\u7f6e\u5404\u8282\u70b9\u6587\u4ef6\u6743\u9650"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"mkdir /var/spool/slurmd\nchown slurm: /var/spool/slurmd\nmkdir /var/log/slurm\nchown slurm: /var/log/slurm\n\nmkdir /var/spool/slurmctld\nchown slurm: /var/spool/slurmctld\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u542f\u52a8\u670d\u52a1\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"# \u670d\u52a1\u8282\u70b9\nsystemctl start slurmdbd\nsystemctl enable slurmdbd\n\nsystemctl start slurmctld\nsystemctl enable slurmctld\n\n# \u6240\u6709\u8282\u70b9\nsystemctl start slurmd\nsystemctl enable slurmd\n\n# \u901a\u8fc7 systemctl status \xd7\xd7\xd7 \u67e5\u770b\u670d\u52a1\u72b6\u6001\uff0c\u5e76\u786e\u4fdd\u4e2a\u670d\u52a1\u72b6\u6001\u6b63\u5e38\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u53ef\u80fd\u7684\u62a5\u9519\uff1a"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-PowerShell",children:"# 1. \u542f\u52a8slurmdbd\u65f6\u62a5\u9519(\u4e00)\uff1a\nslurmdbd: fatal: slurmdbd.conf file /etc/slurm/slurmdbd.conf should be 600 is 644 acc... others\n# \u89e3\u51b3\u65b9\u6cd5\nchmod 600 slurmdbd.conf\nsystemctl restart slurmdbd\n\n# 2. \u542f\u52a8slurmdbd\u65f6\u62a5\u9519(\u4e8c)\uff1a\nslurmdbd: fatal: slurmdbd.conf not owned by SlurmUser root!=slurm\n# \u89e3\u51b3\u65b9\u6cd5\nchown slurm: /etc/slurm/slurmdbd.conf\nsystemctl restart slurmdbd\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u67e5\u770b\u914d\u7f6e"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"scontrol show config\n"})}),"\n",(0,s.jsx)(e.p,{children:"\u68c0\u67e5slurm\u96c6\u7fa4"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"sinfo\nscontrol show partition\nscontrol show node\n\n# \u63d0\u4ea4\u4f5c\u4e1a\nsrun -N2 hostname\nscontrol show jobs\n\n# \u67e5\u770b\u4f5c\u4e1a\nsqueue -a\n"})}),"\n",(0,s.jsx)(e.admonition,{type:"tip",children:(0,s.jsx)(e.p,{children:"slurm\u9ed8\u8ba4\u7684qos\u53ea\u6709\u4e00\u4e2aqos: normal\uff0c\u5728\u5bf9\u63a5scow\u65f6\uff0c\u9700\u8981low\u3001normal\u3001high\u4e09\u4e2aqos\uff0c\u624b\u52a8\u521b\u5efalow\u3001high\u4e24\u4e2a"})}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:"# \u67e5\u770b\u5df2\u6709\u7684qos\nsacctmgr show qos\n\n# \u521b\u5efalow\u3001high\u4e24\u4e2aqos\nsacctmgr create qos name=low\nsacctmgr create qos name=high\n\n# \u7ed9\u7528\u6237\u6dfb\u52a0qos\nsacctmgr modify user name={username} set qos=low,high,normal defaultQOS=low\n"})}),"\n",(0,s.jsx)(e.h2,{id:"3-\u521d\u59cb\u5316\u8d26\u6237\u548c\u7528\u6237\u53ef\u9009",children:"3. \u521d\u59cb\u5316\u8d26\u6237\u548c\u7528\u6237(\u53ef\u9009)"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-Bash",children:'# \u521d\u59cb\u5316\u8d26\u6237.\u4f8b\u5982\u8d26\u6237\u4e3aa_admin\nsacctmgr add account name=a_admin \n\n# \u521d\u59cb\u5316\u7528\u6237.\u4f8b\u5982\u7528\u6237demo_admin\uff0c\u6307\u5b9a\u8d26\u6237\u4e3aa_admin\uff0c\u5206\u533a\u4e3acompute\nsacctmgr add user name=demo_admin account=a_admin partition=compute qos=low,high,normal defaultQOS=low\n\n# \u67e5\u770b\u7528\u6237\u4fe1\u606f\nsacctmgr show ass format="Cluster,Account,User,Partition,QOS"\n'})})]})}function t(A={}){const{wrapper:e}={...(0,l.R)(),...A.components};return e?(0,s.jsx)(e,{...A,children:(0,s.jsx)(a,{...A})}):a(A)}},47653:(A,e,n)=>{n.d(e,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABKkAAAAvCAIAAACnhw4/AAAZSElEQVR4nOydv27yvvfHo59+d8GCaJfOGdmQEFO5gjBmYKm6sWZlq1gYGMkV0AkhZWPM/CxPUZbex1exncR27GMn0Ke0n/draps6Pj4+Pv537PxfAMBvJtp/fu6j75YCAAAAAACA7wZzPwAAAAAAAAAAAAAAAAAAAAB+Ptj3AwAAAAAAAIDfD+Z+AAAAAAAAAPD7wdwPAAAAAAAAAH4/mPsBAAAAAAAAwO9Hn/tF+0/OOQm/SaSfTRjtz0KDe02FYfmMPbz+mwN1Pd3kbR6EyZnKLtoLi6l/AAAAAAAAANwTpn2/YjcfDMZJ/sVZl7MJyzShniSZplD3TJhs1qPTaj4YDObbID5I5QuT183s+PKyym6RUboYMG7zNg/yZExkFz6OgsvfXPoBAAAAAAAAcFfcYcxntP88LIPtC5vbzFenkTKFumui13iYbZO0nPvk6duuGE6fK8nzZDFepPmvnBaFz9NhdkylHwAAAAAAAAD3hffcL9qzaL8qovG8j6pJTZjsbXt0lkc8YPEQD4NhfNAiCaP9epKtylkS+zVPk20WsClUmep8Zi887xPx5npWGEZNXrJ0XG5bIKYtlSr8eR8leznYMYySs+GF4eMoKD7+VL/m7yd58tcLbQc08nlZpMiq/2qrSlq9NvF4JGhZlZO1/AMdh0rkRQhPV2WP+uqHQwwAAAAAAADuk077fqPlfnbk+3Evx0c2qQmT8yEeneZ8k07Zo7M/4gGL813Bw0sZi5SnWU6K3VsqHZw7z4KiEeH0Nh6ssuEkfjiOyzcM41c2wo+eZ4EQje0Vrg/SBGKyFGLPd8Ek3kiTUHuqaN8I//KxjCeNDNH+sI4v23ldrirR08OQBTzy2cENZgRhsllPRE6lzoPZ843O9hmqMiDUa6OOBOUVWf8gqpOka14Me1X2qK/+WMUAAAAAAADgXuk09xtejtJ+XJLzGL9i9yLOBubJSxPmSDyyU82exKxnNS8H8qNh/Zw9+/MhJoP530v1IE0WiRBN7BVOZvUIvzi98Wf5+6kIhg9PzlR8DqoIX6UpHwXZSiiCPZos24P/0aPQWZNbd0p1FB9/GgkXyY3iKdtVGVDqJel32K9fXpaqvL6+umG1KAAAAAAAAO6VTnM/KZ5RUM/VBOUQXoyEiUdWmqDJMnV2LMfXbHRNiDJ65FPNpAmO/PxcT+R/bsTQpxi2VCbhpUeyIgzlShfNXTltnXUgPWYFC4s9n/f7JApvt73kEKulXoqnh2FdaT2K2ykvS1VeV182pMtUteBXu0UBAAAAAABwp/x/l3++2wscWXhpsFvNq128aP+5/qJUJeV8LJb/wK+//PNRBNNy/nIzNaWLcRqEUfT8OJvG60M8W/lEU3pwk6os9SWmy5NKIeUPxW7+9dfEdsFSXy7SxQDX1gAAAAAAgN/Clfd8lrMdebdGuu2EeGSl2ZMpU09mUchjR11isF3CbR2+yfJyQ6QyCS89ylYDFT4h07aUWNTr6f3qSVCepkmyGM93hRzI6oufLnrBzm2WYjF9NIf9bjfx8xW+X30BAAAAAADwH+LKuR+7yrK+6yJMNnE92yEeibTlTEk7ASimfOxc1iobrQ+fn5uHiyHmU4Unq7KK9pvYOV2kU+XJNiuFj8JaePnRZC1dcxol+0TMyNI3dpiMPQujV73EnWGvrq7OKefArclzM0fW/iaOtIXRq3vqfA3N5x1u82W/fsL3rC8AAAAAAAD+O1z7fb88Gc93lyn/UsNhepGi/YhHnPRtlwXVRx743Ys5u2+FDf3zdDFmm0iLxdi1k8RniuJVm9mH3wfUyVTpohR+zR5uHrbao9XHbCNOgm1mwfE9lV4pUh2WgVpicXpsPQn4ZxBcH0Ioc3o/BlVGJg3yu0v4HLk5k8b+xhV7fn18237p59+rM363+rJfX+H71RcAAAAAAAD/WdiX1773ynr2zbjzTb6RcDNKmX7KB+a/kta3Au8U1BcAAAAAAAAO6qsNv3XkzD65fv5eSaR4y/AOZsTfjfiKu89u5feA+gIAAAAAAAD0Iozq+ee5OXYH7hXUFwAAAAAAAAAAAAAAAAAA/tNce9cLAAAAAAAAAID7B3M/AAAAAAAAAPj9YO4HAAAAAAAAAL8fzP0AAAAAAAAA4PdTzf3EFf7N/f3NH9hP8sX+zcfT+D9Jt+nr31ULo0S6ezFUXq3ifyU//wxFlyv8w2jfEkITw3IzJJGX9VGY7M/0W7W3tN8hq1x9Xahkr3xuQfmLOZWmefl9hmpR5VIe1xn3/+CfuVKoBJTwPfOqP2kiQ5WHrC+ipdB4fJMi2qvfPGnlxf6BPaMURZoN+7SKt+k2yc0KIyR0FT2s72zVtek2AF1R3es46OgPLZq/9WWzrByKc6UbbC/MmneJdfvPvti9Q2e/QeXyBfVFm5uxQ3Q+ql9M17BaFR69nsFwnOq1eECj8IRt9GqV/dCLrI1EDN0ck8NQUOErXX6e0qHpGSmGnHuHz16F0rXXn2fpc8m08F49kbfHDtTrt9lXm69vYoR6/WzeUCuGjq+dys89WN3yFeNep1s2Dg/MefV2enbbsBqbeOzwbNL795HHkLgrVPu6cjLyk9H2/Sazau7wPB36vmMYv9oM8rCenrbzwWAwmG+DeCOpNFsNFMZJ7pdbNJsERVEMp8+e9VNKMTrVQhyUihVizLcf0/WhVeVEXpZH0f7zMA14kVl2y2dteqVm8uejCIYPTwaxi48/LMEhDk7idadRfKjMP12ssmCybgYVyXISZKtFGlCpAlnzbW0ExW5uq5I8GfM/rzJa316EyWY9Oq3mZjHsUML3zEu3xAHToQVHfX0V0X49CUTdmFpKmJzZPzTPLIoizCZMXmfB8aVONV0fbjgWa0tI/OvrZnZ8eTEamsMADIpKF0rtzndFEGRHoo4l3P7QqnmLS+lLtF9ODH8mGmwPSM3/Q7jLZi128HIMXuVhXD+/QfAF9WVzKUSHSPWVffDp9dqGQ6aiM+so/DWtsg+N31iVHSIvWJ687Ap5+BImm3hY7N5KOdJjFqjde/g48hCSMlGzYZNiNEktXYBxgTF6PaxHF5HT4GUb3NAVmYps8xu8wNt6KLI+WMaKppcaF04JEyWdg9EAxBvtYzYp1WXi3yHa3XKfca/TLVtsg8jrpk6PNrauzuH2Qyxn++o9GfnRKHO/LMvEYCd8ngZZVni9oiiKeogkUxpkthonKdNjni7m27/XC1z63+K0vVjMo/3/yXJS7F4SIcTbzjiTy9NkvMr0SSyRl/mRyGzBi+xT5vzvxfDXp4dhcPmb8xFndhSWmCfbrBmNimH8UqzlbOKhmPnRqZRCW7Tx9USv8TDbctPoJ4Z/quvzkrMl6+tLsWbAp/q2aZVeZKvZ5MliIRorM12b2fSAkLAcA2p/zpPFeJHmDnXaq5KsibJxaKMqK05/SGne7FJ6EibL0Wm183PI/fHT/FdTdhyly646jmRRq/embVnlpvVlhOgQffpKQ0ux4tfr9UrVFuMGHX2XVnklecpGgqJgvHdciuFoaV61AvjkT+reRb/qEJIwUbthU2JIdOhjPnbzce3Ob9pUunjsaDYJKmWw5eP57uOqzCkT9XQOqgH4jtlyud/8x3i55V7jjxs5PcLYujuHrxhiebav/xbqvt/xyAc75VDndPRspZftNjO0CbYxpkzU8zT11XYrmLR+UHYSp/fSLVcDU+v6ENvU1WymNCzLrFF+py0v+pH4a24oMw9xOcTDYBgfxM4yW0T681EEo8dQCb5jE0uPNY7SHQ3jTRIyr7ei9qvMlMq5BfZIC2WhrK4prYD5+6l2FlqYEBE1JAtPpCLyImgFL1e/960v6wuN//lZhU2IkIT1JAgma1NAApt+DEvvam1bei13NxuuTyKSiQoUs0goBX31XHdUyuVUlMi1dPtyE5XjXFthPaQ/9NC86h+0YBblV1KMcop+2SZdFj3VSKtEf58xjNz6LtLBVr/YIhmT5kmUqEGJZjH4stq7SamOtmyNLaI0LyPXF2HzhGcjIDpEuq+kWoqi3sf6z/69ngydyiaGs6N3B+mqrZJwle0IrbMcOOnnYFVqbyhiILZNcy59vdS9l+px7/rZTZQwbEoMu2ezDiqCIE1uMLJVeqI+HpttlCrkSZIqxTJVJVEuwkR7dvT2MZtOaQ5KUtl/3SBcvKNbDvx7PRJ9EEv1RFrO4ilhbA7nYHRf5BCLHB8Sfp5o5vYCuno9V/r7jh7VYj5TNtiJyqHOu/9QIz1m5lZ2872QuqVKBmvu2NiK0zFteZ/GsFpoj0x50Y+ItQke4jLfFVI4ABt019JzSeuXsfeIPTvR70VshUpZHGVLLPFhPZGH8M5UVSmSsmEqfq/2te2gbTuT5YyHCs53waTZ0m9tODY9fKUo3pB6tQ6D8Gb65aX1HE0PQdZXnxeqRPvzYXpZDRbNUulAxNlWgQnyXGO2P8TDYjcn5m8mRRnNRk3FwkjkkY6llh2P7BKKoK/e4YVauRyKEkS6LqJnKc51dRppYT12f+ihed2lpIv5Lqjir6s9gNwpRjnzC2x7IuYGGyab9eQiopgGL8dg9iwfXDzEIzkg3NU/kQ6W/Ww1gGjf5PXysYybsFW7GLzBPtWDgnOijL6tbTnaH9axKLQW6E5oXkXrArp7NgeEl7A/srYURYeyerv0etLr6FRUgyXKRTkHgdYqCVdZHzyoJJEcgJ+DrQK+pEfcG27OG30lrHxlU8/tYawJwkQJw6bEsHs266CiXWarNqzoPVEfj80VuC6dUxJFqjaIqrSXizJR745eMYAO+0nKWmO0/zzEQeNiH5/lyuw+jurulgPvXs+B0swdHaL4p5ZtKEXRjM2mXpv76jvEcvh5azM3Q/Z6xtPKX3Ve+avQ7/ksBzvLZTnU6WJB6dsuMMRL1j9XSzySOVfLFOaFJG7TLTNmURfcBKQ1uXICxm1XuoXGc+vMjjkv6lF7lcsHsZpUvjPb7YqyIE8Pw0p2Zs1T5kgO6+llpQ9ZmHdtRUKTqWrNH+JRJj/6e9qJkO3BfNshur04vYkd/VIYqb1o2x4z43LLSCz3+MXwWoX3wpiX2RKVoYTszej6Ul93iJvewvrCmqdo/7keXVZj7w3cyWRSFObztrSizGYjNdXDepStlImNtZbJR4SE/bjGAAwrfmkix7m2w6Nt/rBfudjBg8l6nyRnHgmTu8WIXuPAMlOxNthylFJ8/GleuKhW20V03UsdEP7iEQzmdLAWA1ACtHhegZ8Y9YRhMD8F8do0DNLacn1wNW8ULQWjWDVP0tezmVwK0SG6+koLBh36FMrZ+XbDJTzhHKpEeqt0u0pxzlapSDpVU+Ry1KpGaXPzG7ajTpnIYljcWjZyY+huKMO2inEt0f6g+RBbJyXo3hNZyJPxfLXLgmASr9frA9veaf1TuyqvxqR5owF4j9n4YmhlAKq3YS629rD0OMrS9Pq4ZSd9mrmrQ3TahmJslHOwuy/XEIuA8vP29mVUFNXraaeVB4aFF8sU5o5ofeMhPWbDYcepH3eSqo3IUbtMDXO1Z9KOV3rpSA64l9fk/nzwhhI+T4MiYE2mtJWuhfDKi3hkDlR2UaYaPYZPD8PsmPy9DB+epAbDFlg+mmPI+rlcfmArE7vZfqkazbOz1/Uj5r/qVt8hur1Zj9E1wIZI4iXyPkH9XDo64DdTtwnvxpqXxRKloYQykCDrS3udYvO2FwqG8Xo9CYJLl/sOit18PFYvb/FSlNlsAmk1li/5yanstUw9IiTsR38DMJ/XCZMmOJIHz6hY/GHfcuXJeJVN4tbSo00MdlzCEp9ib7DpMSvY0vP5vN8nyt16+jq3Vzigy8FaDMCUl58Y9YTBPAwytGUx3bWXy6Z5ir6ezeRSiA7R1VdaINTroE/na8MlPOEcGKZW6XCV1QBT23QnU1VFnq+y4WStL9kw0QwDhuaVZMCmAUt3Qxu2TYxrMM6srJ1U0LMnspOnyWI85qrfFcOWwzRW5TVYNG82AFebaZYa2WJo9V4q/JceR1maXi+37KJXM6c7RIdt6MZGOQe7+3INsUgoP29rX2ZFfcW04p5of9+vy5Hyhjxhh/40Y3WGmXSC37VXtUa2XMVnXVVDeXoITttTWUtld8yjJvW2Tezxy4+seVGPvCJrWpQm9vD8OCr91J+PYvT4XPeY0WwylI5Kt84v80Orb4s35RojV6oacnnJft1SB+q8QyXytJ+iVHzXxnrnVff72kCCqK9+LxQUu/l8V0yMmxwWWK761Z2tbFuKMpuNmii9zdKjl4T96Lo4ahhkiqiTbX0pmyGeyewPPctl8Dala9Jco0MM2dWwGZ05Q7nBpouyn12tTqdgFK8P117YSjjYr0F/tSiXoy03p4OM03iD5nX8I8Asns0Bkfct+8ouvd61qRj9hTdfoEK6Sus+kcPB8v/pdmdHZfneQZMOE7UY9lfBPMtl1XFm1aMn8oH3Kbrn67TlR5moZ0evGYAjlTQrGJsjHF3cZBz1pUg6dHeIhG3YjO2mQ2IPPPy8F0Sv9ytjPg14LieyQ3+zB/n3G9s8W9qVLs8t7ZJXMN+eTWaj03v6fgpKs6n6E/0Qnz0WVFm+tedFPDIcLw4jZ7g3W+WYToelUeXvp2A6nVL7241Om4Dmaqfbbnrda6JZSFfL0C2aVqgkUrtObVWLOJvRK4xWSeWdl032REvRsb7cL+SUf8n5rVtd73fvNrfqYja34mtmf50QE16lX2LLt/UqSQ9zc5SrvSPElT+XjiXQYsjBJfUBGPNITt/5CvI0TZLFuEzWBC3oYx2/5kw4WAJTXm4xmlibBvGIaMvlC8mvtRg1r2GKTbBh9mwERIfYr6/0V6+nz+6X6qqO3tQqA9JVRvuDde+WdLCNwMSaV/ufeXSvMg2mRkSEiRKG/SVUtxB3nbNc0RPpRAn1AqoqLRAm6t/RywbQb8ymnwIiaLlln3Ld4MySN7LTc3aIVtuwGBvhHAj35T3EMnTYPn7eE3uv5xHzef94zP2U+JayZVgOtqdvu2AyaWLHy3FRsz4QPj10EMt0SU4r4F76AM+fj2IYxyNhK6M4rk0lT7aNnVplD6PkvJaWb4m8KDFEZvUljdH+sHyUsmHuqbVTUQo/HHKjyv9ehsO6mxGar1/3GjdrpPwyjq3yJQc+CKVSaaWW1BEl0nWAIfucWPX2x+WhOrIcRs1ZRy+4Staa2kvvW4moVgrzqsu6uuxfmVSSUanseTllL/uFONZT2Our5wtl+H1UXb0WNQdRy2w3G80A9BsRruT2s79udWk8rsO78KRurZv20RcX1nLpLkVZ5RazbuHg+olBNFj5EdtYaTpOboJVv92698KG3cESVL63+layVC5KjPTIbh03PrK2ZRZ4st7LBrxP5AtujJqXMNSXT+l0z0ZAdIi9+kqla9PU69XrkS/0b15XdPT2Q3RmVxnyOrLuY3k42PqghufWHxsALpfKogA1IiK6G8Kwr8A8qKA//ONDv55I4yGuhw5an+KqSnO5KBP17+hlA3CN2cwvqPrN2gSSytkQbpl6YT+3fC260/PtiTTbIL/hZHMOhPsihlj0+NDDz3ehV6/XiPKz7vk0ky7mq8tUxNMcljaPIi6Q0NNtqnjpy27bWLN2vNKtJEM30cy6eNaXylaUHWJJeha0PTZcfHJYPpykA+BEXqQYbEFgfgqWh1pVW/2CxSyoIpMUr1oZFTvnWlsYl31dva65f0P+lHv1r/Ug1JpK03wpX31dRvp+fFhumienOlGevKwuo2VzdUy3EJJSPYHu/9g7uYiqQZVtVqjo/Pr4ttViDizCk6mseTmprkQxeGFzfV3xwpp+syQ9lVlRlNmk78dgtjlXxxuml2sGDleVS0RUSDdXN4ksBuCAlbut9dIyspFoj5vZR6+Pmls0r7kUfZVbXjztJ4a9wYqqFE+0imQf2aq8uf7QqnnKwZK6KfPinmjzsJXKRYlR+q/ah6qPiLZcpvqoSv25mQXH99Sleaq+PEpn8mwOddg6RKqvpN5X63DzsN1lelZ0r9fufMlUvcpFYWmVHKOrZFctKqG9+iVxHg5WDN19w8XZiV9t9ZQaETlM1GLYV2AaVLAFX1VT3UPSrvfY6dtqVw0dtD7FWZWWwRJhov4dvWIAjjGbTTeD+a5K9LmZ/X1vfK/NLQdE0+vnlmmIMbbF6fn3RLJt0MZmdw6E+wpsQyxqpEf7+R6K6tnrgfuDTcXveSb+K2l/DQuACu/v5YAfj+8n134K/9az9W0p/Xo9ayo02P84d2MAGM4BAHyJ9qZbhsHXYf2QMgCwjl+OFAEV/ra6/rfluSa3fr2eMdVvq0TQkbsyAAznAADg3hChCnfTU4C7ob4o67yHdfxmwqi+MvwsHYT54fxDz3YnLeVOxADfBQwAAAAAAAAAAAAA4CfhddcLAAAAAAAAAIAfDeZ+AAAAAAAAAPD7wdwPAAAAAAAAAH4/mPsBAAAAAAAAwO9HzP0Mn0r5wo8X3c0XYn4MLY3Vt271+GSr8YW34V9+8eqbvhvYQfM3lPAaA8AHFgEAAAAAQNDM/fLkZVcM49d6gBgmm3hY7N7Sb5QN2EkXA8Yq+25JZMLn6T8zmn+Zl4y/5r9UwjsRo8rjl321GwAAAADgV/K/AAAA///plr41KeZWygAAAABJRU5ErkJggg=="},88252:(A,e,n)=>{n.d(e,{A:()=>s});const s=n.p+"assets/images/m-nu-634318b6ee9e7ef6056a7644d369c3b0.png"},34603:(A,e,n)=>{n.d(e,{A:()=>s});const s=n.p+"assets/images/m-uns-db0fd6b814df46bbefb943eb4b2f8d05.PNG"},33433:(A,e,n)=>{n.d(e,{A:()=>s});const s=n.p+"assets/images/munge-ac339cde1c99cfe1080e69b85cd2988f.PNG"},9614:(A,e,n)=>{n.d(e,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABGoAAABTCAIAAABI73YnAAAboUlEQVR4nOydv3LqPrDHfe/83iINQ9Kc2mU6z2SowhOY0gVNJh2tWrpMGgpK+wlIxTBDR0mdJmFo8hz3juV/kiytZGEISb6f5hwQknZXCmit1ep/AwAAAAAAAAAADsB9AgAAAAAAAAAn4D4BAAAAAAAAgBNwnwAAAAAAAADACbhPAAAAAAAAAOAE3CcAAAAAAAAAcALuEwAAAAAAAAA4obpPcfpVsGPhN4n0swnjdFdaMFVMGOZlvDCNT+2mHqdeWnMgZDuquzgtZ0z9HwAAAAAAAH4dut2n43J8c3PP9mfuOl+QG1batZ+h80KumZC9zoeb2fjm5ma8CJKVoF/Inl9H66en2baPjrLJDaef1hzYs3uiu/BuGBw+9sJ/AAAAAAAA+H1cYfBenH6tpsHiibsH49lmKHkhV038nAy2C5bl7sM+e1keBw+PleR7NrmfZPtf6VmEjw+D7ToT/gMAAAAAAMAvxNl9ilMetlWFpu3SuPILQpaadooMRUXk2SoZBINkpYSExek82s5yR4O/3GdssQ24F5LX2u14g7uUlS3XjlUYN32J0hVymyLqTLVk4XdpzFIxai2M2U7TYHg3DI6f79XL/dtG9J+8UPbhYpfGYklW9aVpKGnzmsQrQvryoYzm4n8cAgqJGaU3LyEhoTI9ATxGGQAAAAAA/F067T4Np+loXewKPa3vuF8Qst0qGW7GxVaRtFNkLioiz8bLYxEnyJlkRZ1pdFy+ZMIhot0oODYibF7ub2bbQZTcru/zFgbJM1/uxo+joBSN71jNV8JqOpqWYo+XQZS8Cgtyc604bYR/+pwmUSNDnK7myWExrvWqKv27HfDItWLF3sN6O2Sv86jsKbd5MHrs6ZyTZigDwrwm6pC+YiDr/5TD6SWG0bxeEnLME8BjlAEAAAAAwN+lk/s0OKyFXSG2L4K1jsun8pzUnj018WpEkZnKASkdh9k4X9UOB3U5L3v/LP2p/cehKsjYhJWilTtW0ahe7h43L0XZ/m1zDAa3/6y1CjdOEr6qkxcF21lpCF4UTdt7E8O70mZNb93JzXH8fG8knLCeAuPaQxlQ5iU54eCTZkbR5vWT0DABTh9lAAAAAADwt+jkPgmBaSW1u1OSr2fL1SlRZKSJfstrb9f54pWveAlRhneFt8aaKLevr3kkfrgRQ11vm2rphBeKRENo9MomTeqNts06kK23Rx7fuNulKYvD/pbvFrFa5qX4dzuoB62juvoZZTFvdwkNE+C0UQYAAAAAAH+P/7p8+GpTqvE4wWA5G1d7SXH6NT9TrZzcpUnEN4qEdO+fx+AhX8z3ZqZscp8FYRw/3o0ekvkqGc1cw+Is9DKUub1KjzOqDJL/57gcOyZu1IthMO+luRIxAAAAAADA9XBi5r3cYRCf/gvJE4giI80z/rx2NIrDIgjQJgbfq1rUcXi8LztELZ3wQtF2diNT+DTKFgUPX9y8neyn7LOMscn9eHkUIxJdcbOFF/wMWy4Wt0dz8OmUpPeEeZ1xVdlvlAEAAAAAwN/lRPeJJ5erz+KH7DWpHQaiqKybOxvKaajSa+KnTWbb4Xz19fV6e9AE78kU1aqu4vQ1sXpcdK09W2xz4eOwFl4siuZSmriUlU5N9sKPyPCyMH5WNe4Mb7rKxJG7kS3/s3EzlffKgzph/Gz3Pk+hyVnez41PlHnN+KnsOcoAAAAAAODPcuq9T3t2P14eHor046uHgxC2RRQVZC/LbVBlLi/ymu15+ga+Dt5nk3u+lTGZ3Nv2Mwpnq2zqdfTpdjctWSub5MLPeeHr7UIpmn2OXssDU6+jYP2WCU2WtVbTQNa4SNfOw914bm+H7N7Z2zqoOtJZsEhqULiZTZZx/l5h2N3z3cvirDFn1Xmn/m58IsxrxFdlv1EGAAAAAACggN+t870ZxvhdQrteEn/3Ri7TT7m795y07pD6VWCUAQAAAABAN8otkm/2ofhttrvvlUQInAuvwKn8bsoLct1uxP05YJQBAAAAAADogzCuXbhdcwQJ/C4wygAAAAAAAAAAAAAAAABAz5yaOgIAAAAAAAAA/ghwnwAAAAAAAADACbhPAAAAAAAAAOAE3CcAAAAAAAAAcKJxn0IhB9nXTr13KS+s85MJJUQtukECU188fXZat6iWEQ3WkkhJt+sk7SJOabkv1aCnyk2S8Vbud99BkaqlcfitGeoudPsUMSjd+dYbszp2HqfffGnAedFY43ffZwYAAACAs8AvvTHdgVPcJ8rL5BKiFtkggbGvwiuoPIjihZNrwlK+4LctkZxbvGCDfiqbr3/1HJTic3FXy5+Liyx2XUdZV1Nj/p/jPv3666/gPgEAAACgD2Imr5jENaC8uJBKzLWoBik5jH2py/auSx7L5x3lu2iDnioT7pPXoGjkYn9mrfkn3adf7Ur8egUBAAAAcE7q4L2Msb3hM+HdMDh+vlcv92+b4+DhMbTUIooIiL7OS/ycDI6bNw+RuzRYhNX1+Gy/Y4Neg5KPicyesaz4H1+KMlO0ZRg3kYdfVaSgwWUrF7XFP6ZQ0SYqUV7/krXEAMhdGrPzrZ6L6M1VMggGyUonqDkstVZ/JxmrMOKug3l1Kt85SV9adx4FQTRvBe9RQaRm4anu9HpZhlKWw6AyPQHu2jpf7YwCAAAAwNVhSh0RPj7Ui/9/t4Pg8LEvVxTUwkis5V4kQvS1Z4ttEI2KZUwYs2l0XL5kNgUdiUdR0K/31EeDJ6hcr9+pA05ug5L7sPmCerdLWRy3G4uS6efTTc54M0xWzZI7fhwF66LkZjzbDOerfJG5/zgEg9t/SiO5vbbrQrdoOiqqjZdBlLw2C9c9u8/fnm11YhprxekqGW7GXIynz2kS0eqeQDYp+j8Gx2XR383NJLNLWDKcpuUHbp7Wd8VDgzhdzZPDYlybt1mn680bFE6Bh8qCdbezotn70tuWGlRGmRCegNCLHMqvVRIsStvm/VS1CAkpa1z7jAIAAADAD0E+/lAFu1Tvmg6/EIcmnM9TWPoyP3p2b1qD33GeyzTooXIYs+qgUnG+SS9Kl0MufKND3OkwtEFFA9bqxWn5mebT9f90x91U4dt2ImqpEnUdmh6D9yi99MOkfs7JvCeqrFFY16D42jzHDBB6WYbS0A0hoYs1LjqjAAAAAPCj0ew+hWw3j7az+1aYVzZpHkcLAXaWWqYiIU2dZkGo6ytOd6uHz/LR83gRzOVH4HSDFOHjw6De+uiD3hq0qGxgnzGW7av/T2bbIJqq1YjxMjQ5ub8v9jmWx0E0F5aLh4+mDXlrKRR9Lh4Vxnn/LCIyw8eH4Bjw2Mx/t8I2WNNg3pwrhlrVfmbg0WTP2PRq/VFx4cV3nczbv8q6BtUNxLbwlgbNelFDafirIiT0t8b1zygAAAAAXB7VfeKBLofZWAg5yle7wfCODNrT1LIVFYFOUogQ3Vc8igbbReUX7LOXpXwsSt+gA1fsPVlUdiO3qbzYJcbLyj5jT0vbhAiamKkq0kqIkKrWtv9ug81ik/tP8SiSVqR/E70FmmNUko9kNu/30Hn4DHoBAAAAAFw1kvvEV2TBcjzJpJWQ8mhYPTBjqGUpMmDpS6V9hqY7PMdDf6eoztCgRHeVlUf93QdFzdenIHpSQuoPvldQ+35SBopsvQ2Gd2w03Lxlb5vg9vFu2Kv/KqI65O1EGFdMLnx1DqmmcHoJ8/ausq7BTrtNugYNellqRSNtlBwh4UWsAQAAAIA/g3Btbrmq1uzcZC/LYzSt7mKSMsoRtYgiAnNf+Zq7KinL+lhzXzRpRNdEeVaVdQ3GrL7ZiZ99mkb5OlvIAdB5UG6TVX3uKozZq5xTcFCfqg/FomKxy+orpl6TQd3g++dxkCTDw8c+2L9thkkyOGk1TrFni20uYZX2TxTjTD1+HIKe0kXmwkdzKQtfWuaMJ8xbqSwMyolivG2OhlH2bNCsl6VWIFTjZ/ysEvZvjYvPKAAAAABcI8LJoQYhZ4M+hS9Ry9IggaEvqYTOKGdTTb5YqnMicf8GDe4T0aBFZW2DeR0hzUPjS/kOipo4QkkzbUpcLsieF4jn88Xj9lLiAeUQv/RSJ30z2Yj7saQ00665IKhRttlLSCguKEnd4GWWSkxPLg0mYd5TMmsbJHFIXN4Ng142Q52euFywxmVnFAAAAAAA+Ov8vJVj99uMAaDAjAIAAAD+FKZ7nwD4NQjRjGHv1yODPwhmFAAAAAAA8OFn7D4J0YxS+BsAfmBGAQAAAAAAAAAAAAAAAAWC9wAAAAAAAADACbhPAAAAAAAAAOAE3CcAAAAAAAAAcALuEwAAAAAAAAA40bhPoXjZauuCVtNVtkQtukEC87W55N2dRIO1JK2bSg2XZl5Jg54qF3fpCjS30vgMitpch6G8Jn5GkkALl1CiSx/ilO9bLuFW4DPeqkT86f0wfsUEBwAAAH4Q+W/vTrjMJJUW3fxiSF4mlxC1yAYJjH0Vy/jKgyheOLkmLM0X/KFtdeHc4gUb9FPZfI+n16DI/fJKP3GZ9itWl/0oQV/06tNH/8Z1/sI4Cde/5Z/Ab9ABAAAA+EnETF6qiCss+XdZKjHXohqk5DD2pXoPXVcLls87ynfRBj1VJtwnn0FpuW2XWdkCDZdwn3w4j/t0OWfgN7gev0EHAAAA4AdQB+9ljJnuzQ/vhsHx8716uX/bHAcPj6GlFlFEQPR1XuLnZHDcvHmI3KXBIg6ux5Vrxwb9BkXl/fMovS7XbVWwlRDcR0UeSmVSOGAYs50+VFSMPJRvK6WKmuBDeXVZyG0MFW0E3KUxc16bmvWiDGVSWRHjTu5KX4vQqwi2WyWDYJCsVKMYDVV0VavlHL5JDAplP15lHgVBNG8F71EzymzeniH1IoaSmvN6vbpM0bvzKAsAAAAAGVPqiPDxoV78/7sdBIePfflTTq1IxFruRSJEX3u22AbRqFg/hDGbRsflS2ZT0JF4FAX9ek99NHiCyvXqmDrg5DgoKvkgqQyn6Wj9dJPztL7jDm/IdqtkuBnzN8ebYbJqlsFx+rVKgkVRxmvU6/U4Xc2TQ1HEa1VL+ZC9zqNDUycYPTYLf2NRbsX7/N3ZVqdLNC3FHi+DKHkVF66N8E+f0yRyMg2hl9lQZpVlGypimGuZ9comxXvH4LgshbyZZHZDxY+joJT6ZjzbDOcruy9JDooZQYrtrKh7Xzr91IwizNszpF7EoJjnBq2XaYpScwMAAAAAF0aOzqqCQqp3TWdwiJgu53AvS1/Ek33npjW4H6S6fIMeKocxq5+IE0eVXAdFd/ZJqqfvQo0QE14T5lGLxHDQ0+ZX27q6o3WxWXj7gNo+ZTaUQWVCDGdDaYQ6+exT6yO6OqfFeGpaJGZUXcUzfK1rugyDXpahJOa8Qa/epygAAAAATkWz+xSy3Tzazu5bYV7ZpHkOLATYWWqZioScXZq1iK6vON2tHj7Lp7fjRTBftRfxXpm6wseHQbBd97WT1WODFpUN7DPGsn31/8lsG0RTtRoxXlqqOKqv1Xy4nY1b9VoTot5IrKX6OASD239VkcE8eZHYllArW2+PfFNtt0tTFoeCRkSRhUbCvCdSeDuEXjV6QxlUJsQgahF6eZN78U0CxrnLRof/oBggZlRN27y9Q+hlGUpizhN69TpFAQAAAHAqqvvEA0IOs/FE+J1//zwGwzsyaE9Ty1ZUhBFJsTl0X/EoGmwXlV+wz16W8rEofYMOXLH3ZFHZjdym8iqTGC8TVRxVbt1J1javuJA7leZYjrxSzyb3Nzfj2WyzCYbJfCXGjxFFV4beUCaVafxqdacME6vizkyBkCrfMSh9zkMTtF6XGhQAAAAAfA+S+8RXScFyrCyPlYeh6oEZQy1LkQFLXyrqs2cfeI6H/k5RnaFBie4qK4/Euw+KH6onLGQFyYuikXYxnRcJrppyOoc7kRljk/vxst0EUdSH8G61uvdMqEyIYTVUj/Cdk9qNd7VGwZkH5QK7TXq0elmGkpjz3fXym6IAAAAAOBXh2txyVa3ZuclelsdoWt3FJGWUI2oRRQTmvrI1D0Kr7yx6TnrZ4rlo0oiuifKsKusajJmQDCyM02mUr32Fw/edB8ULnjWxPukestdmLIuUGPO0OaDFWLmwzIuEEp7xrSwT9eIbfM0SkyjyFJ4ttrnwcVgL71jLoJellkHlSgzBhg617D1+HIIu25jF0p/Vt4W1rVE6B3Kewd4HxTyjLgmhl2UoTXPeSy9ibgAAAADgEggnhxqEnA363LlELUuDBIa+pBI6o5xNNfliqc7n2/0bNLhPRIMWlbUNinmV5cTKXoNiPZNuPnfvnbg81eWFVt4nqoSKdOYpStyqJWWFds8tYE9crqtkUFkVQ86fbqhl0UsRsi4zG0qahrl5tXkdajFZqBWvl0wvDonLO3fT7c/BphcxlL6Jy40aeubWBwAAAAAA4Kz0f9EsAAAAAAAAAPwWhBit8LQc3AAAAAAAAADwuxFiINUgLAAAAAAAAAAAAAAAAAAAGNFcmwsAAAAAAAAAoA3cJwAAAAAAAABwAu4TAAAAAAAAADgB9wkAAAAAAAAAnGjcp1C8bLV1QavpKluiFt0ggfnaXPLSTKLBWhLpVskTLva9UIOeKhd36QoIObepSz0dm+swlD+Mrveu8gHfMddbiamJbS76NnxuoT1nH6J1e5arT1WJv2WqltfcONu0iVNTon51ztNyKNct6+v88DlvvVb8ZPIecCEyAABcI/xmG9NFN8WlobxMLiFqkQ0SGPsqf6bKl+6/Wbn/kcZhaPtldG7xgg36qWy+4zVkaeMyFesXe4Nyv1zKX/pj3m3xVC7/zLNaMZxxYlNF30g/PgV94bBPH2dw6/pr0vXLQa3lMzfONm3MwmvnfNF38bUSxqzxhcqviqpAnAhE0XfiMREucqP2JR5lAAAA6E7MlGeDwo+C/N0tlZhrUQ1Schj7Ur0Hn60C4vPdfwXP36Cnyu49OzXYctuuZ4XfM12mVMh2O0au+8LWelE/sami7+QS7pMPP2Ip2UlIv7lxtmljlF07583fBmqJsIlCFH0r3efWhWbjj5j0AADwZ6iD9zLG9obPhHfD4Pj5Xr3cv22Og4fH0FKLKCIg+jov8XMyOG7ePETu0mARB9fjarL3Bl14/zxKr8uf9ioYRwjuoyIPpbJYjvhhO32oqBgOKkceEkVEg6IUuzS+czZByF6Tw4K9Ex+RJwAxsU+Y82YbUoPiZQ1DraIbbexWEWy3SgbBIFmpQXdCRGg7XlUIMHUOFSUnAGFAgxiEXr3jNzfIaeNnjYJ4FAXbddYWUzvnuRjmL87Dh1wyvAsdiiguNuddbBiyaXRcvmSOtQgxKL3yn9P1NohG8J8AAOA6MKWOCB8f6rXfv9sB/6krfpyonzixlnuRCNHXni3yXxBWxXuov1snkS8Z+vWe+mjwBJXrFav51FkYp3P9QslCPkgqw2k6Wj/d5Dyt7/gqLmS7VTLcjPmb480wWUl7MaskWBRlvEa9MojT1Tw5FEW8VrWuDdnrPDo0dYLRY7MYNxYRDcoSPn1Ok8jNAPlCMrCMhDIBiInt/vel9GC2YYlmUDytYa4VBEE0LXsZL4Moea0GOZsU7x2D47IU8mZS2WzP7vPXs61Gr8dRUEp9M55thvOVS4ApMQEICDGMevWO39wginytwTF4T6Y5X4jxr3ZBdkzqivCJHN0lWbiLzXknG8bPyWC7EJ4Ten4ROegF/wkAAK4eObSiihuo3jWdwSFiupzDvSx90U/o3JrW4Hf49zINeqgcxkw84KQ+WW+euLs1qDv7JA2m/jSUGk0kvCbMoxaJ4aBe84toUCehy6g15+qNEVPagEfDxHb9+7L00BbSMCjdreE8KBqhTj771PqIrs6J8aTtJq16dW7R/tluc8NS5GsNw3gZ53zxdVB9kXAhpPBC6YBTMyWJIlq2S815BxtqTOX/RWTV/mqCegEAAOh2n0K2m0fb2X0r9i6b3NxU7wpRI5ZapiIhj5bmR0HXV5zuVg+f5RO68SKYr9qLeGODFOHjw8BnF+b8DVpUNrDPGMv21f8ns20QTYVq5RP38sm+o62ieWnb1Xy4nY1b49yaEPXT8brbj0MwuP1XFRnMkxeJbQm1svX2yDfVdjueAEOQmygiGtRJaCdO55H0xFmDeQIQf0Tk31cLwoY1+kHpbg2iViBFYblZ0EbImvinr6+5y5YgMQH86VsvG35zQ1PUuzUsc/64eSm/b/bsadnEEGaT8Ww7nPN98NdRsFgea+GJIjOXnPN2G7a2nk76Iurz9wcAAMCZUd0nHsxwmI0nwnf5++fREmihq2UrKkJ7OMJanOgrHkX5r1X1O529LOUjIvoGHbhi78mishu5TYXFbs0+k9Y6NNtZY91J1javepDhFJqjMvLqOZvc507fbLMJhsl8JcZ0EUVEg95UzmR9sEfZcWlPAGJi2/++fNEPip81erehgTKcqopjMgXWqdAT4LrxmxvUtDmHNYg5r86z5ttmzyUpvjVYIAX9EkWn0Nuct9gwZFNdkOOFv4gAAAB8C5L7xFcuwXKsLI+VZ83qKSZDLUuRAUtfKjqvoCv8iH9/p6jO0KBEd5XVx54XQl3eCUfd8yJDHH9eJLhqyokZvurKGJvcj5ftJrRFRIM6Ce0IbnpzsEd6OqCbAMTE7jjnBb26n4Xws4Z1UHqEP4mvHxm4DkoBMTeuGb+5YZ02ftZQmi0g5ny23ra8OP23DXEc1PGk6CXnfIHRhtzcpi95ny8iq17qThkAAIDvQ7g2t3R1NDs32cvyGE2rC0bkhGLmWkQRgbkvfnZ22lwk9Zz0ssVz0aQRHRPl2VXWNRgzIeFTGKfTKKhiTJQi9tpzukERngqsPnAfin0VKTHmaXNAi1UHzvMioaS4RyZu6cX3d5pVGlFENJgXKRL2obh+AhB/RESRGcKGllrdrUHUsveYL8c7bJkWS8lKijhtD0q52JTPnJgnwHWh/QbwmxvmopOs0TVHQbbeDpLnWPNnzgVpLv6bN99DdJGRS8552oa6wD1LLYsYNr1M+RABAAB8J+KV/jVCzgZ9Cl+ilqVBAvNV+sJF9URGObtq8m0pnQ/k+jdocJ+IBi0qaxsUc+cqyXN5TmixrHPqCIM9TIkgPBOXp7rcv8r7RBXVSoYGAyVtMet6uYrmODcxAcwTmyqi+7clcdaK4WMNQy2lG12vgpB1me7boc6wGEtDqWlSEJOFWvEcTWgWw0Ev1yY1eVva88NvbpiK/Kzhpqxuzsfmv0tBQDWJt7GI5FJznvq2MWdx8P4isuQIwr1PAAAAAAAAXCfXcontlfINrgy8JwAAAAAAAK6WJk85+H7gzgIAAAAAAAAAAACAn4jm3icAAAAAAAAAAG3gPgEAAAAAAACAE/99twDg7/F/5qL/uaQcAAAAAAAAdAO7TwAAAAAAAADgBNwnAAAAAAAAAHDi/wMAAP//6LeejorLKbAAAAAASUVORK5CYII="},92180:(A,e,n)=>{n.d(e,{A:()=>s});const s=n.p+"assets/images/rmp-8b2c521f1beb07f2d4fa07005555da24.png"},99968:(A,e,n)=>{n.d(e,{A:()=>s});const s=n.p+"assets/images/rngd-da4b6a610e210dfbea1357d984dc2d7f.PNG"},5409:(A,e,n)=>{n.d(e,{R:()=>c,x:()=>d});var s=n(48318);const l={},r=s.createContext(l);function c(A){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function d(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(l):A.components||l:c(A.components),s.createElement(r.Provider,{value:e},A.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/10f77ea9.72a8d33c.js b/pr-preview/pr-1298/assets/js/10f77ea9.72a8d33c.js deleted file mode 100644 index 2da0e9d3bc..0000000000 --- a/pr-preview/pr-1298/assets/js/10f77ea9.72a8d33c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2831],{22574:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>a,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var r=n(49214),s=n(5409);const i={sidebar_position:1,title:"\u5b89\u88c5\u548c\u914d\u7f6e"},o=void 0,c={id:"deploy/index",title:"\u5b89\u88c5\u548c\u914d\u7f6e",description:"\u672c\u90e8\u5206\u5e2e\u52a9\u60a8\u5b89\u88c5\u548c\u914d\u7f6eSCOW\u3002",source:"@site/docs/deploy/index.md",sourceDirName:"deploy",slug:"/deploy/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u5b89\u88c5\u548c\u914d\u7f6e"},sidebar:"deploy",next:{title:"\u67b6\u6784",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/architecture/"}},d={},l=[];function p(e){const t={a:"a",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"\u672c\u90e8\u5206\u5e2e\u52a9\u60a8\u5b89\u88c5\u548c\u914d\u7f6eSCOW\u3002"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["\u8bbf\u95ee",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/architecture/",children:"\u67b6\u6784"}),"\u6765\u4e86\u89e3\u7cfb\u7edf\u7684\u67b6\u6784"]}),"\n",(0,r.jsxs)(t.li,{children:["\u901a\u8fc7",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/",children:"vagrant"}),"\u6765\u4f7f\u7528vagrant\u5feb\u901f\u542f\u52a8\u4e00\u4e2aslurm+SCOW\u96c6\u7fa4"]}),"\n",(0,r.jsxs)(t.li,{children:["\u53c2\u8003",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/install/",children:"\u5b89\u88c5"}),"\u5728\u60a8\u7684\u96c6\u7fa4\u4e0a\u5b89\u88c5SCOW"]}),"\n",(0,r.jsxs)(t.li,{children:["\u53c2\u8003",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/",children:"\u914d\u7f6e"}),"\u914d\u7f6eSCOW"]}),"\n"]})]})}function a(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var r=n(48318);const s={},i=r.createContext(s);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/134a9cd2.c86a7761.js b/pr-preview/pr-1298/assets/js/134a9cd2.c86a7761.js deleted file mode 100644 index ebabd1e450..0000000000 --- a/pr-preview/pr-1298/assets/js/134a9cd2.c86a7761.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7744],{12696:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>a,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var i=t(49214),o=t(5409);const r={sidebar_position:1,title:"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb"},s="\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb",c={id:"info/portal/index",title:"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb",description:"\u95e8\u6237\u7cfb\u7edf\u7ed9\u9ad8\u6027\u80fd\u8ba1\u7b97\u96c6\u7fa4\u7684\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u672cweb\u7684\u529f\u80fd\u5165\u53e3\u3002",source:"@site/docs/info/portal/index.md",sourceDirName:"info/portal",slug:"/info/portal/",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/portal/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb"},sidebar:"info",previous:{title:"\u5e73\u53f0\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/info/"},next:{title:"\u4ea4\u4e92\u5f0f\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/app"}},l={},d=[];function p(e){const n={h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb",children:"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb"}),"\n",(0,i.jsx)(n.p,{children:"\u95e8\u6237\u7cfb\u7edf\u7ed9\u9ad8\u6027\u80fd\u8ba1\u7b97\u96c6\u7fa4\u7684\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u672cweb\u7684\u529f\u80fd\u5165\u53e3\u3002"}),"\n",(0,i.jsx)(n.h1,{id:"\u652f\u6301\u7684\u529f\u80fd",children:"\u652f\u6301\u7684\u529f\u80fd"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u8fde\u63a5\u5230\u767b\u5f55\u8282\u70b9\u7684\u7ec8\u7aef"}),"\n",(0,i.jsx)(n.li,{children:"\u4f5c\u4e1a\u7ba1\u7406\u3001\u63d0\u4ea4"}),"\n",(0,i.jsx)(n.li,{children:"\u6587\u4ef6\u7ba1\u7406"}),"\n",(0,i.jsx)(n.li,{children:"\u4f7f\u7528\u684c\u9762\u8282\u70b9\u7684\u684c\u9762"}),"\n",(0,i.jsx)(n.li,{children:"\u4ee5GUI\u548cWeb\u5f62\u5f0f\u542f\u52a8\u8ba1\u7b97\u4f5c\u4e1a\uff0c\u5e76\u5728\u6d4f\u89c8\u5668\u4e0a\u4f7f\u7528\u8f6f\u4ef6"}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var i=t(48318);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/134ac117.c4f9754a.js b/pr-preview/pr-1298/assets/js/134ac117.c4f9754a.js deleted file mode 100644 index b03e7e8171..0000000000 --- a/pr-preview/pr-1298/assets/js/134ac117.c4f9754a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4030],{54072:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>c});var i=t(49214),n=t(5409);const s={},o=void 0,p={id:"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",title:"definition-properties-primarycolor-properties-hostnamemap",description:"hostnameMap Type",source:"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-primarycolor-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties"},next:{title:"definition-properties-primarycolor",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor"}},l={},c=[{value:"hostnameMap Type",id:"hostnamemap-type",level:2},{value:"Pattern: ^.*$",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function d(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"object"})," (",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",children:"Details"}),")"]}),"\n",(0,i.jsx)(r.h1,{id:"hostnamemap-properties",children:"hostnameMap Properties"}),"\n",(0,i.jsxs)(r.table,{children:[(0,i.jsx)(r.thead,{children:(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsx)(r.tbody,{children:(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"^.*$"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"string"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-",title:"undefined#/properties/primaryColor/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,i.jsxs)(r.h2,{id:"pattern-",children:["Pattern: ",(0,i.jsx)(r.code,{children:"^.*$"})]}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"^.*$"})}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["Type: ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["defined in: ",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-",title:"undefined#/properties/primaryColor/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function a(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>p});var i=t(48318);const n={},s=i.createContext(n);function o(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/135cdc30.6f90e505.js b/pr-preview/pr-1298/assets/js/135cdc30.6f90e505.js deleted file mode 100644 index 36ae5c8698..0000000000 --- a/pr-preview/pr-1298/assets/js/135cdc30.6f90e505.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7565],{53471:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>o,metadata:()=>p,toc:()=>a});var i=t(49214),r=t(5409);const o={},s=void 0,p={id:"refs/config/app/definition-properties-name",title:"definition-properties-name",description:"name Type",source:"@site/docs/refs/config/app/definition-properties-name.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-name",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-name.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"app",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/"},next:{title:"definition-properties-nodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items"}},c={},a=[{value:"name Type",id:"name-type",level:2}];function d(e){const n={code:"code",h2:"h2",p:"p",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"name-type",children:"name Type"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})})]})}function f(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var i=t(48318);const r={},o=i.createContext(r);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/14eb3368.bbc8ca42.js b/pr-preview/pr-1298/assets/js/14eb3368.bbc8ca42.js deleted file mode 100644 index 38450cbde5..0000000000 --- a/pr-preview/pr-1298/assets/js/14eb3368.bbc8ca42.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6969],{61952:(e,t,n)=>{n.d(t,{A:()=>g});n(48318);var s=n(46601),r=n(83682),i=n(53347),a=n(63352),l=n(33985),o=n(7866),c=n(90246),d=n(49214);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_NxNg"};function h(){const e=(0,c.A)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.A,{"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const b={breadcrumbsContainer:"breadcrumbsContainer_O_z6"};function x(e){let{children:t,href:n,isLast:s}=e;const r="breadcrumbs__link";return s?(0,d.jsx)("span",{className:r,itemProp:"name",children:t}):n?(0,d.jsx)(l.A,{className:r,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:r,children:t})}function p(e){let{children:t,active:n,index:r,addMicrodata:i}=e;return(0,d.jsxs)("li",{...i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(r+1)})]})}function g(){const e=(0,i.OF)(),t=(0,a.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(r.G.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,r="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(p,{active:s,index:n,addMicrodata:!!r,children:(0,d.jsx)(x,{href:r,isLast:s,children:t.label})},n)}))]})}):null}},54540:(e,t,n)=>{n.r(t),n.d(t,{default:()=>y});n(48318);var s=n(30763),r=n(53347),i=n(90246),a=n(46601),l=n(33985),o=n(53628),c=n(96583),d=n(7866),u=n(31773);const m={cardContainer:"cardContainer_OG0l",cardTitle:"cardTitle_YNeR",cardDescription:"cardDescription_jbMI"};var h=n(49214);function b(e){let{href:t,children:n}=e;return(0,h.jsx)(l.A,{href:t,className:(0,a.A)("card padding--lg",m.cardContainer),children:n})}function x(e){let{href:t,icon:n,title:s,description:r}=e;return(0,h.jsxs)(b,{href:t,children:[(0,h.jsxs)(u.A,{as:"h2",className:(0,a.A)("text--truncate",m.cardTitle),title:s,children:[n," ",s]}),r&&(0,h.jsx)("p",{className:(0,a.A)("text--truncate",m.cardDescription),title:r,children:r})]})}function p(e){let{item:t}=e;const n=(0,r.Nr)(t),s=function(){const{selectMessage:e}=(0,o.W)();return t=>e(t,(0,d.T)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return n?(0,h.jsx)(x,{href:n,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:t.description??s(t.items.length)}):null}function g(e){let{item:t}=e;const n=(0,c.A)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",s=(0,r.cC)(t.docId??void 0);return(0,h.jsx)(x,{href:t.href,icon:n,title:t.label,description:t.description??s?.description})}function v(e){let{item:t}=e;switch(t.type){case"link":return(0,h.jsx)(g,{item:t});case"category":return(0,h.jsx)(p,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function f(e){let{className:t}=e;const n=(0,r.$S)();return(0,h.jsx)(j,{items:n.items,className:t})}function j(e){const{items:t,className:n}=e;if(!t)return(0,h.jsx)(f,{...e});const s=(0,r.d1)(t);return(0,h.jsx)("section",{className:(0,a.A)("row",n),children:s.map(((e,t)=>(0,h.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,h.jsx)(v,{item:e})},t)))})}var A=n(16702),N=n(29971),_=n(17128),L=n(61952);const T={generatedIndexPage:"generatedIndexPage_Ciyt",list:"list_YCV5",title:"title_CWsN"};function k(e){let{categoryGeneratedIndex:t}=e;return(0,h.jsx)(s.be,{title:t.title,description:t.description,keywords:t.keywords,image:(0,i.A)(t.image)})}function w(e){let{categoryGeneratedIndex:t}=e;const n=(0,r.$S)();return(0,h.jsxs)("div",{className:T.generatedIndexPage,children:[(0,h.jsx)(N.A,{}),(0,h.jsx)(L.A,{}),(0,h.jsx)(_.A,{}),(0,h.jsxs)("header",{children:[(0,h.jsx)(u.A,{as:"h1",className:T.title,children:t.title}),t.description&&(0,h.jsx)("p",{children:t.description})]}),(0,h.jsx)("article",{className:"margin-top--lg",children:(0,h.jsx)(j,{items:n.items,className:T.list})}),(0,h.jsx)("footer",{className:"margin-top--lg",children:(0,h.jsx)(A.A,{previous:t.navigation.previous,next:t.navigation.next})})]})}function y(e){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(k,{...e}),(0,h.jsx)(w,{...e})]})}},16702:(e,t,n)=>{n.d(t,{A:()=>a});n(48318);var s=n(7866),r=n(31423),i=n(49214);function a(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(r.A,{...t,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(r.A,{...n,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},17128:(e,t,n)=>{n.d(t,{A:()=>o});n(48318);var s=n(46601),r=n(7866),i=n(83682),a=n(71679),l=n(49214);function o(e){let{className:t}=e;const n=(0,a.r)();return n.badge?(0,l.jsx)("span",{className:(0,s.A)(t,i.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(r.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},29971:(e,t,n)=>{n.d(t,{A:()=>p});n(48318);var s=n(46601),r=n(62429),i=n(33985),a=n(7866),l=n(14914),o=n(83682),c=n(9456),d=n(71679),u=n(49214);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function b(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(i.A,{to:n,onClick:s,children:(0,u.jsx)(a.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:i}}=(0,r.A)(),{pluginId:a}=(0,l.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,c.g1)(a),{latestDocSuggestion:m,latestVersionSuggestion:x}=(0,l.HW)(a),p=m??(g=x).docs.find((e=>e.id===g.mainDocId));var g;return(0,u.jsxs)("div",{className:(0,s.A)(t,o.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:i,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(b,{versionLabel:x.label,to:p.path,onClick:()=>d(x.name)})})]})}function p(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,u.jsx)(x,{className:t,versionMetadata:n}):null}},31423:(e,t,n)=>{n.d(t,{A:()=>a});n(48318);var s=n(46601),r=n(33985),i=n(49214);function a(e){const{permalink:t,title:n,subLabel:a,isNext:l}=e;return(0,i.jsxs)(r.A,{className:(0,s.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[a&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:a}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},53628:(e,t,n)=>{n.d(t,{W:()=>c});var s=n(48318),r=n(62429);const i=["zero","one","two","few","many","other"];function a(e){return i.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:a(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,r.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:a(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),l}}),[e])}function c(){const e=o();return{selectMessage:(t,n)=>function(e,t,n){const s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const r=n.select(t),i=n.pluralForms.indexOf(r);return s[Math.min(i,s.length-1)]}(n,t,e)}}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1531.496182e6.js b/pr-preview/pr-1298/assets/js/1531.496182e6.js deleted file mode 100644 index 5291a815f3..0000000000 --- a/pr-preview/pr-1298/assets/js/1531.496182e6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1531],{25698:(e,t,a)=>{a.d(t,{A:()=>f});var s=a(48318),n=a(46601),l=a(68665),r=a(88524),i=a(33985),o=a(7866),c=a(66325),d=a(63352);function m(e){const{pathname:t}=(0,c.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,d.ys)(e.permalink,t))}(e,t)))),[e,t])}const u={sidebar:"sidebar_juGB",sidebarItemTitle:"sidebarItemTitle_gYDd",sidebarItemList:"sidebarItemList_HtN8",sidebarItem:"sidebarItem_wNWX",sidebarItemLink:"sidebarItemLink_iMkt",sidebarItemLinkActive:"sidebarItemLinkActive_FwE7"};var h=a(49214);function g(e){let{sidebar:t}=e;const a=m(t.items);return(0,h.jsx)("aside",{className:"col col--3",children:(0,h.jsxs)("nav",{className:(0,n.A)(u.sidebar,"thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,h.jsx)("div",{className:(0,n.A)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,h.jsx)("ul",{className:(0,n.A)(u.sidebarItemList,"clean-list"),children:a.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(i.A,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var p=a(86167);function x(e){let{sidebar:t}=e;const a=m(t.items);return(0,h.jsx)("ul",{className:"menu__list",children:a.map((e=>(0,h.jsx)("li",{className:"menu__list-item",children:(0,h.jsx)(i.A,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,h.jsx)(p.GX,{component:x,props:e})}function b(e){let{sidebar:t}=e;const a=(0,r.l)();return t?.items.length?"mobile"===a?(0,h.jsx)(j,{sidebar:t}):(0,h.jsx)(g,{sidebar:t}):null}function f(e){const{sidebar:t,toc:a,children:s,...r}=e,i=t&&t.items.length>0;return(0,h.jsx)(l.A,{...r,children:(0,h.jsx)("div",{className:"container margin-vert--lg",children:(0,h.jsxs)("div",{className:"row",children:[(0,h.jsx)(b,{sidebar:t}),(0,h.jsx)("main",{className:(0,n.A)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:s}),a&&(0,h.jsx)("div",{className:"col col--2",children:a})]})})})}},77472:(e,t,a)=>{a.d(t,{A:()=>C});a(48318);var s=a(46601),n=a(59974),l=a(49214);function r(e){let{children:t,className:a}=e;return(0,l.jsx)("article",{className:a,children:t})}var i=a(33985);const o={title:"title_EYHO"};function c(e){let{className:t}=e;const{metadata:a,isBlogPostPage:r}=(0,n.e)(),{permalink:c,title:d}=a,m=r?"h1":"h2";return(0,l.jsx)(m,{className:(0,s.A)(o.title,t),children:r?d:(0,l.jsx)(i.A,{to:c,children:d})})}var d=a(7866),m=a(53628),u=a(90851);const h={container:"container_St4F"};function g(e){let{readingTime:t}=e;const a=function(){const{selectMessage:e}=(0,m.W)();return t=>{const a=Math.ceil(t);return e(a,(0,d.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:a}))}}();return(0,l.jsx)(l.Fragment,{children:a(t)})}function p(e){let{date:t,formattedDate:a}=e;return(0,l.jsx)("time",{dateTime:t,children:a})}function x(){return(0,l.jsx)(l.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:a}=(0,n.e)(),{date:r,readingTime:i}=a,o=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,l.jsxs)("div",{className:(0,s.A)(h.container,"margin-vert--md",t),children:[(0,l.jsx)(p,{date:r,formattedDate:(c=r,o.format(new Date(c)))}),void 0!==i&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(x,{}),(0,l.jsx)(g,{readingTime:i})]})]});var c}function b(e){return e.href?(0,l.jsx)(i.A,{...e}):(0,l.jsx)(l.Fragment,{children:e.children})}function f(e){let{author:t,className:a}=e;const{name:n,title:r,url:i,imageURL:o,email:c}=t,d=i||c&&`mailto:${c}`||void 0;return(0,l.jsxs)("div",{className:(0,s.A)("avatar margin-bottom--sm",a),children:[o&&(0,l.jsx)(b,{href:d,className:"avatar__photo-link",children:(0,l.jsx)("img",{className:"avatar__photo",src:o,alt:n})}),n&&(0,l.jsxs)("div",{className:"avatar__intro",children:[(0,l.jsx)("div",{className:"avatar__name",children:(0,l.jsx)(b,{href:d,children:(0,l.jsx)("span",{children:n})})}),r&&(0,l.jsx)("small",{className:"avatar__subtitle",children:r})]})]})}const v={authorCol:"authorCol_lElp",imageOnlyAuthorRow:"imageOnlyAuthorRow_ZLU4",imageOnlyAuthorCol:"imageOnlyAuthorCol_D6VN"};function A(e){let{className:t}=e;const{metadata:{authors:a},assets:r}=(0,n.e)();if(0===a.length)return null;const i=a.every((e=>{let{name:t}=e;return!t}));return(0,l.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",i?v.imageOnlyAuthorRow:"row",t),children:a.map(((e,t)=>(0,l.jsx)("div",{className:(0,s.A)(!i&&"col col--6",i?v.imageOnlyAuthorCol:v.authorCol),children:(0,l.jsx)(f,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function N(){return(0,l.jsxs)("header",{children:[(0,l.jsx)(c,{}),(0,l.jsx)(j,{}),(0,l.jsx)(A,{})]})}var _=a(52005),k=a(19273);function U(e){let{children:t,className:a}=e;const{isBlogPostPage:r}=(0,n.e)();return(0,l.jsx)("div",{id:r?_.blogPostContainerID:void 0,className:(0,s.A)("markdown",a),children:(0,l.jsx)(k.A,{children:t})})}var w=a(83682),y=a(4154),T=a(88997);function P(){return(0,l.jsx)("b",{children:(0,l.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function L(e){const{blogPostTitle:t,...a}=e;return(0,l.jsx)(i.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...a,children:(0,l.jsx)(P,{})})}function I(){const{metadata:e,isBlogPostPage:t}=(0,n.e)(),{tags:a,title:r,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,u=a.length>0;if(!(u||m||i))return null;if(t){const e=!!(i||d||c);return(0,l.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,l.jsx)("div",{className:(0,s.A)("row","margin-top--sm",w.G.blog.blogFooterEditMetaRow),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(T.A,{tags:a})})}),e&&(0,l.jsx)(y.A,{className:(0,s.A)("margin-top--sm",w.G.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,l.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,l.jsx)("div",{className:(0,s.A)("col",{"col--9":m}),children:(0,l.jsx)(T.A,{tags:a})}),m&&(0,l.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":u}),children:(0,l.jsx)(L,{blogPostTitle:r,to:e.permalink})})]})}function C(e){let{children:t,className:a}=e;const i=function(){const{isBlogPostPage:e}=(0,n.e)();return e?void 0:"margin-bottom--xl"}();return(0,l.jsxs)(r,{className:(0,s.A)(i,a),children:[(0,l.jsx)(N,{}),(0,l.jsx)(U,{children:t}),(0,l.jsx)(I,{})]})}},4154:(e,t,a)=>{a.d(t,{A:()=>x});a(48318);var s=a(46601),n=a(7866),l=a(83682),r=a(33985);const i={iconEdit:"iconEdit_knyl"};var o=a(49214);function c(e){let{className:t,...a}=e;return(0,o.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(i.iconEdit,t),"aria-hidden":"true",...a,children:(0,o.jsx)("g",{children:(0,o.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,o.jsxs)(r.A,{to:t,className:l.G.common.editThisPage,children:[(0,o.jsx)(c,{}),(0,o.jsx)(n.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var m=a(90851);function u(e){let{lastUpdatedAt:t}=e;const a=new Date(t),s=(0,m.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(a);return(0,o.jsx)(n.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,o.jsx)("b",{children:(0,o.jsx)("time",{dateTime:a.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,o.jsx)(n.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,o.jsx)("b",{children:t})},children:" by {user}"})}function g(e){let{lastUpdatedAt:t,lastUpdatedBy:a}=e;return(0,o.jsxs)("span",{className:l.G.common.lastUpdated,children:[(0,o.jsx)(n.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,o.jsx)(u,{lastUpdatedAt:t}):"",byUser:a?(0,o.jsx)(h,{lastUpdatedBy:a}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const p={lastUpdated:"lastUpdated_hXYt"};function x(e){let{className:t,editUrl:a,lastUpdatedAt:n,lastUpdatedBy:l}=e;return(0,o.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,o.jsx)("div",{className:"col",children:a&&(0,o.jsx)(d,{editUrl:a})}),(0,o.jsx)("div",{className:(0,s.A)("col",p.lastUpdated),children:(n||l)&&(0,o.jsx)(g,{lastUpdatedAt:n,lastUpdatedBy:l})})]})}},31423:(e,t,a)=>{a.d(t,{A:()=>r});a(48318);var s=a(46601),n=a(33985),l=a(49214);function r(e){const{permalink:t,title:a,subLabel:r,isNext:i}=e;return(0,l.jsxs)(n.A,{className:(0,s.A)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[r&&(0,l.jsx)("div",{className:"pagination-nav__sublabel",children:r}),(0,l.jsx)("div",{className:"pagination-nav__label",children:a})]})}},85339:(e,t,a)=>{a.d(t,{A:()=>i});a(48318);var s=a(46601),n=a(33985);const l={tag:"tag__kek",tagRegular:"tagRegular_u5cB",tagWithCount:"tagWithCount_n6gD"};var r=a(49214);function i(e){let{permalink:t,label:a,count:i}=e;return(0,r.jsxs)(n.A,{href:t,className:(0,s.A)(l.tag,i?l.tagWithCount:l.tagRegular),children:[a,i&&(0,r.jsx)("span",{children:i})]})}},88997:(e,t,a)=>{a.d(t,{A:()=>o});a(48318);var s=a(46601),n=a(7866),l=a(85339);const r={tags:"tags_WN9V",tag:"tag_KC_g"};var i=a(49214);function o(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(n.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.A)(r.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:a}=e;return(0,i.jsx)("li",{className:r.tag,children:(0,i.jsx)(l.A,{label:t,permalink:a})},a)}))})]})}},59974:(e,t,a)=>{a.d(t,{e:()=>o,i:()=>i});var s=a(48318),n=a(84091),l=a(49214);const r=s.createContext(null);function i(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,l.jsx)(r.Provider,{value:i,children:t})}function o(){const e=(0,s.useContext)(r);if(null===e)throw new n.dV("BlogPostProvider");return e}},90851:(e,t,a)=>{a.d(t,{i:()=>n});var s=a(62429);function n(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),a=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:a,...e})}},53628:(e,t,a)=>{a.d(t,{W:()=>c});var s=a(48318),n=a(62429);const l=["zero","one","two","few","many","other"];function r(e){return l.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:r(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,n.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:r(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,a)=>function(e,t,a){const s=e.split("|");if(1===s.length)return s[0];s.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const n=a.select(t),l=a.pluralForms.indexOf(n);return s[Math.min(l,s.length-1)]}(a,t,e)}}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/15341993.6fecdaf5.js b/pr-preview/pr-1298/assets/js/15341993.6fecdaf5.js deleted file mode 100644 index 5f47e9d1e6..0000000000 --- a/pr-preview/pr-1298/assets/js/15341993.6fecdaf5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7730],{53142:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var c=s(49214),t=s(5409);const a={sidebar_position:1},i="Emacs",o={id:"deploy/config/portal/apps/apps/emacs/index",title:"Emacs",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/emacs/index.md",sourceDirName:"deploy/config/portal/apps/apps/emacs",slug:"/deploy/config/portal/apps/apps/emacs/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/emacs/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"Desktop",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop/"},next:{title:"IGV",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv/"}},r={},p=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001TurboVNC\u5b89\u88c5",id:"1turbovnc\u5b89\u88c5",level:3},{value:"2\u3001Emacs\u5b89\u88c5",id:"2emacs\u5b89\u88c5",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function l(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.h1,{id:"emacs",children:"Emacs"}),"\n",(0,c.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,c.jsx)(n.p,{children:"Emacs\u662f\u4e00\u4e2a\u975e\u5e38\u5f3a\u5927\u7684\u6587\u672c\u7f16\u8f91\u5668\u548c\u5f00\u53d1\u73af\u5883\uff0c\u5b83\u6709\u4e00\u4e2a\u5f3a\u5927\u7684\u547d\u4ee4\u884c\u754c\u9762\u548c\u4e00\u7cfb\u5217\u56fe\u5f62\u7528\u6237\u754c\u9762\uff0c\u5b83\u652f\u6301\u591a\u4e2a\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5305\u62ecUnix\u3001Linux\u3001Windows\u548cmacOS\u3002"}),"\n",(0,c.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,c.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,c.jsxs)(n.ul,{children:["\n",(0,c.jsxs)(n.li,{children:["\n",(0,c.jsx)(n.p,{children:"TurboVNC 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"}),"\n"]}),"\n",(0,c.jsxs)(n.li,{children:["\n",(0,c.jsx)(n.p,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684Emacs"}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(n.h3,{id:"1turbovnc\u5b89\u88c5",children:"1\u3001TurboVNC\u5b89\u88c5"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate\nmv TurboVNC.repo /etc/yum.repos.d\n# \u5b89\u88c5\u6700\u65b0\u7248\u672c\nyum install turbovnc -y\n"})}),"\n",(0,c.jsx)(n.h3,{id:"2emacs\u5b89\u88c5",children:"2\u3001Emacs\u5b89\u88c5"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"yum install emacs -y\n"})}),"\n",(0,c.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528Emacs\u3002"}),"\n",(0,c.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,c.jsxs)(n.p,{children:["\u521b\u5efa",(0,c.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,c.jsx)(n.code,{children:"emacs.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/emacs.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: emacs\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: emacs\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n emacs -mm\n \n# \u914d\u7f6eHTML\u8868\u5355 \nattributes:\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})})]})}function d(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(l,{...e})}):l(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>o});var c=s(48318);const t={},a=c.createContext(t);function i(e){const n=c.useContext(a);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),c.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/15d314a9.6a5475c1.js b/pr-preview/pr-1298/assets/js/15d314a9.6a5475c1.js deleted file mode 100644 index be2c673780..0000000000 --- a/pr-preview/pr-1298/assets/js/15d314a9.6a5475c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4011],{19731:e=>{e.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/162a2e8e.42d10bf0.js b/pr-preview/pr-1298/assets/js/162a2e8e.42d10bf0.js deleted file mode 100644 index 00dc89866d..0000000000 --- a/pr-preview/pr-1298/assets/js/162a2e8e.42d10bf0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4535],{72251:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>x,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(49214),s=r(5409);const i={},l=void 0,c={id:"refs/config/clusterTexts/definition-patternproperties-",title:"definition-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/clusterTexts/definition-patternproperties-.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-patternproperties--properties-extras",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras"},next:{title:"definition-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties"}},d={},p=[{value:"^.*$ Type",id:"-type",level:2},{value:"clusterComment",id:"clustercomment",level:2},{value:"clusterComment Type",id:"clustercomment-type",level:3},{value:"extras",id:"extras",level:2},{value:"extras Type",id:"extras-type",level:3}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",children:"Details"}),")"]}),"\n",(0,n.jsx)(t.h1,{id:"-properties",children:"^.*$ Properties"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"#clustercomment",children:"clusterComment"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment",title:"undefined#/patternProperties/^.*$/properties/clusterComment",children:"Untitled schema"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"#extras",children:"extras"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"array"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras",title:"undefined#/patternProperties/^.*$/properties/extras",children:"Untitled schema"})})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"clustercomment",children:"clusterComment"}),"\n",(0,n.jsx)(t.p,{children:"\u96c6\u7fa4\u8bf4\u660e"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"clusterComment"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment",title:"undefined#/patternProperties/^.*$/properties/clusterComment",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"clustercomment-type",children:"clusterComment Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})}),"\n",(0,n.jsx)(t.h2,{id:"extras",children:"extras"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"extras"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"object[]"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",children:"Details"}),")"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras",title:"undefined#/patternProperties/^.*$/properties/extras",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"extras-type",children:"extras Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object[]"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",children:"Details"}),")"]})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>l,x:()=>c});var n=r(48318);const s={},i=n.createContext(s);function l(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/16f748ee.83a030a6.js b/pr-preview/pr-1298/assets/js/16f748ee.83a030a6.js deleted file mode 100644 index a47dc9a9f4..0000000000 --- a/pr-preview/pr-1298/assets/js/16f748ee.83a030a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4473],{79454:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>r,default:()=>a,frontMatter:()=>l,metadata:()=>d,toc:()=>t});var c=n(49214),i=n(5409);const l={sidebar_position:1,title:"\u5b89\u88c5",description:"\u5982\u4f55\u5728\u5df2\u6709\u8d85\u7b97\u96c6\u7fa4\u4e0a\u90e8\u7f72SCOW\u7cfb\u7edf"},r="\u5b89\u88c5",d={id:"deploy/install/index",title:"\u5b89\u88c5",description:"\u5982\u4f55\u5728\u5df2\u6709\u8d85\u7b97\u96c6\u7fa4\u4e0a\u90e8\u7f72SCOW\u7cfb\u7edf",source:"@site/docs/deploy/install/index.md",sourceDirName:"deploy/install",slug:"/deploy/install/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/install/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u5b89\u88c5",description:"\u5982\u4f55\u5728\u5df2\u6709\u8d85\u7b97\u96c6\u7fa4\u4e0a\u90e8\u7f72SCOW\u7cfb\u7edf"},sidebar:"deploy",previous:{title:"\u5b89\u88c5",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5"},next:{title:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli"}},o={},t=[{value:"\u96c6\u7fa4\u8981\u6c42",id:"\u96c6\u7fa4\u8981\u6c42",level:2},{value:"\u51c6\u5907\u73af\u5883",id:"\u51c6\u5907\u73af\u5883",level:2},{value:"\u90e8\u7f72SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"\u90e8\u7f72scow\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:2},{value:"\u4e0b\u8f7dscow-cli",id:"\u4e0b\u8f7dscow-cli",level:2},{value:"\u51c6\u5907\u914d\u7f6e\u6587\u4ef6",id:"\u51c6\u5907\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:2}];function h(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.h1,{id:"\u5b89\u88c5",children:"\u5b89\u88c5"}),"\n",(0,c.jsx)(s.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u5df2\u6709\u7684\u8d85\u7b97\u96c6\u7fa4\u4e0a\u90e8\u7f72SCOW\u7cfb\u7edf\u3002\u60a8\u53ef\u53c2\u8003\u672c\u6587\u6863\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u90e8\u7f72SCOW\u3002"}),"\n",(0,c.jsx)(s.h2,{id:"\u96c6\u7fa4\u8981\u6c42",children:"\u96c6\u7fa4\u8981\u6c42"}),"\n",(0,c.jsxs)(s.p,{children:["\u6211\u4eec\u63a8\u8350\u5c06SCOW\u90e8\u7f72\u5728\u4e00\u4e2a",(0,c.jsx)(s.strong,{children:"\u5355\u72ec"}),"\u7684\u8282\u70b9\u4e0a\u3002\u4e0b\u6587\u79f0\u90e8\u7f72\u8fd9\u4e9b\u7ec4\u4ef6\u7684\u8282\u70b9\u4e3a",(0,c.jsx)(s.strong,{children:"\u670d\u52a1\u8282\u70b9"}),"\u3002"]}),"\n",(0,c.jsx)(s.p,{children:"\u8981\u5728\u60a8\u7684\u96c6\u7fa4\u4e0a\u4f7f\u7528SCOW\uff0c\u8bf7\u4fdd\u8bc1\u60a8\u7684\u96c6\u7fa4\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsx)(s.li,{children:"\u96c6\u7fa4\u4e2d\u7684\u5404\u4e2a\u8282\u70b9\u53ef\u76f8\u4e92\u901a\u8fc7\u7f51\u7edc\u8fde\u63a5"}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.strong,{children:"\u670d\u52a1\u8282\u70b9"}),"\u53ef\u4ee5\u514d\u5bc6\u4ee5root\u7528\u6237SSH\u767b\u5f55\u5230\u5404\u4e2a",(0,c.jsx)(s.strong,{children:"\u767b\u5f55\u8282\u70b9"}),"\uff0c\u5e76\u4e14",(0,c.jsx)(s.strong,{children:"\u670d\u52a1\u8282\u70b9"}),"\u7684",(0,c.jsx)(s.code,{children:"~/.ssh"}),"\u76ee\u5f55\u4e0b\u6709\u767b\u5f55\u6240\u9700\u8981\u7684",(0,c.jsx)(s.code,{children:"id_rsa.pub"}),"\u548c",(0,c.jsx)(s.code,{children:"id_rsa"}),"\u6587\u4ef6","\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:["\u8fd0\u884c\u6240\u6709\u90e8\u7f72\u7684\u547d\u4ee4\u7528\u6237\u4e0d\u9700\u8981\u4e3aroot\uff0c\u4f46\u662f\u6b64\u7528\u6237\u7684",(0,c.jsx)(s.code,{children:"~/.ssh"}),"\u4e0b\u7684\u5bc6\u94a5\u5bf9\u9700\u53ef\u4ee5\u4ee5root\u7528\u6237\u767b\u5f55\u767b\u5f55\u8282\u70b9"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.strong,{children:"\u670d\u52a1\u8282\u70b9"}),"\u53ef\u4ee5SSH\u8fde\u63a5\u5230\u6240\u6709",(0,c.jsx)(s.strong,{children:"\u8ba1\u7b97\u8282\u70b9"}),"\uff0c\u5e76\u4e14",(0,c.jsx)(s.strong,{children:"\u8ba1\u7b97\u8282\u70b9"}),"\u548c",(0,c.jsx)(s.strong,{children:"\u767b\u5f55\u8282\u70b9"}),"\u7684\u6240\u6709\u7528\u6237\u5171\u4eab\u540c\u6837\u7684",(0,c.jsx)(s.code,{children:"SSH authorized_keys"}),"\u914d\u7f6e\u6587\u4ef6"]}),"\n",(0,c.jsxs)(s.li,{children:["\u4f7f\u7528slurm\u8c03\u5ea6\u5668\uff0c\u5e76\u4e14","\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsx)(s.li,{children:"\u7248\u672c\u4e3a21.08.4\u53ca\u4ee5\u4e0a"}),"\n",(0,c.jsxs)(s.li,{children:["\u5df2\u7ecf\u90e8\u7f72slurm\u7684",(0,c.jsx)(s.a,{href:"https://slurm.schedmd.com/accounting.html#database-configuration",children:"Accounting"}),"\u529f\u80fd"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.admonition,{type:"caution",children:[(0,c.jsxs)(s.p,{children:["\u56e0\u4e3a",(0,c.jsx)(s.a,{href:"https://github.com/mscdex/ssh2/issues/989",children:"\u8fd9\u4e2aissue"}),"\uff0c\u5982\u679c\u60a8\u7684\u767b\u5f55\u8282\u70b9\u548c\u8ba1\u7b97\u8282\u70b9\u7684\u6240\u4f7f\u7528\u7684OpenSSH\u7684\u7248\u672c\u9ad8\u4e8e",(0,c.jsx)(s.strong,{children:"8.2"}),"\uff08\u5927\u591a\u6bd4CentOS 7\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u9ed8\u8ba4\u7684\u7248\u672c\u5747\u9ad8\u4e8e\u6b64\uff09\uff0c\u90a3\u4e48\u5373\u4f7f\u60a8\u80fd\u5728SCOW\u8282\u70b9\u4e0a\u901a\u8fc7",(0,c.jsx)(s.code,{children:"ssh"}),"\u547d\u4ee4\u8fde\u63a5\u5230\u767b\u5f55\u548c\u8ba1\u7b97\u8282\u70b9\u4e0a\uff0cSCOW\u53ef\u80fd\u4e5f\u65e0\u6cd5\u901a\u8fc7SSH\u8fde\u63a5\u5230\u8fd9\u4e9b\u8282\u70b9\u4e0a\u3002\u5982\u679c\u60a8\u9047\u5230\u4e86\u8fd9\u4e2a\u95ee\u9898\uff0c\u60a8\u9700\u8981\u5728\u60a8\u7684\u5404\u4e2a\u8282\u70b9\u7684",(0,c.jsx)(s.code,{children:"/etc/ssh/sshd_config"}),"\u6587\u4ef6\u4e2d\u589e\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff0c\u5e76\u91cd\u542f",(0,c.jsx)(s.code,{children:"sshd"}),"\u670d\u52a1\u3002"]}),(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"PubkeyAcceptedKeyTypes=+ssh-rsa\n"})}),(0,c.jsxs)(s.p,{children:["\u8fd9\u662f\u56e0\u4e3aOpenSSH\u4ece8.2\u7248\u672c\u5f00\u59cb\u9ed8\u8ba4\u53d6\u6d88\u4e86\u5bf9",(0,c.jsx)(s.code,{children:"ssh-rsa"}),"\u516c\u94a5\u7b7e\u540d\u7b97\u6cd5\u7684\u652f\u6301\uff08",(0,c.jsx)(s.a,{href:"https://www.openssh.com/txt/release-8.2",children:"OpenSSH 8.2 Release Note"}),"\uff09\u3002\u5f53\u524d\u7cfb\u7edf\u4ec5\u652f\u6301\u4f7f\u7528",(0,c.jsx)(s.code,{children:"ssh-rsa"}),"\u7c7b\u578b\u7684\u516c\u94a5\u5bf9\u8fdb\u884cSSH\u767b\u5f55\uff0c\u5728\u540e\u7eed\u6211\u4eec\u4f1a\u589e\u52a0\u5bf9\u4f7f\u7528\u66f4\u65b0\u7b97\u6cd5\uff08\u4f8b\u5982",(0,c.jsx)(s.code,{children:"ed25519"}),"\uff09\u7684\u516c\u79c1\u94a5\u5bf9\u7684\u9ed8\u8ba4\u652f\u6301\u3002"]})]}),"\n",(0,c.jsx)(s.h2,{id:"\u51c6\u5907\u73af\u5883",children:"\u51c6\u5907\u73af\u5883"}),"\n",(0,c.jsx)(s.p,{children:"\u4e3a\u4e86\u7b80\u5316\u90e8\u7f72\uff0c\u7cfb\u7edf\u7ec4\u4ef6\u4ee5docker\u955c\u50cf\u7684\u5f62\u5f0f\u5206\u53d1\u3002\u670d\u52a1\u8282\u70b9\u5e94\u8be5\u5b89\u88c5\u597d"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docker"}),"\uff08",(0,c.jsx)(s.a,{href:"https://docs.docker.com/engine/install/",children:"\u5b89\u88c5docker\u7684\u5b98\u65b9\u6587\u6863"}),"\uff09"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docker compose"}),"\uff08",(0,c.jsx)(s.a,{href:"https://docs.docker.com/compose/install/",children:"\u5b89\u88c5docker compose\u7684\u5b98\u65b9\u6587\u6863"}),"\uff09\u3002"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"\u90e8\u7f72scow\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"\u90e8\u7f72SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,c.jsxs)(s.p,{children:["\u9488\u5bf9\u4e0d\u540c\u79cd\u7c7b\u7684\u8c03\u5ea6\u5668\uff0c\u9700\u8981\u5728\u96c6\u7fa4\u4e0a\u90e8\u7f72\u5bf9\u5e94\u7684\u9002\u914d\u5668\u3002\u9002\u914d\u5668\u662f\u5728SCOW\u548c\u5e95\u5c42\u8c03\u5ea6\u5668\u4e4b\u95f4\u7684\u4e2d\u95f4\u5c42\uff0c\u5411SCOW\u63d0\u4f9b\u4e00\u7ec4",(0,c.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-scheduler-adapter-interface",children:"\u63a5\u53e3"}),"\uff0cSCOW\u901a\u8fc7\u8fd9\u7ec4\u63a5\u53e3\u8c03\u7528\u9002\u914d\u5668\u529f\u80fd\u3002\u7406\u8bba\u4e0a\uff0c\u53ea\u8981\u9002\u914d\u5668\u5b9e\u73b0\u4e86\u63a5\u53e3\u6240\u5b9a\u4e49\u7684\u529f\u80fd\uff0cSCOW\u5c31\u80fd\u65b9\u4fbf\u5730\u90e8\u7f72\u5728\u5bf9\u5e94\u96c6\u7fa4\u4e0a\u3002"]}),"\n",(0,c.jsx)(s.p,{children:"\u9002\u914d\u5668\u672c\u8d28\u4e0a\u662f\u4e00\u4e2agRPC\u670d\u52a1\u5668\uff0c\u6211\u4eec\u5df2\u7ecf\u5b9e\u73b0\u4e86\u90e8\u5206\u8c03\u5ea6\u5668\u5bf9\u5e94\u7684\u9002\u914d\u5668\uff0c\u53ef\u4ee5\u53c2\u8003\u4e0b\u5217\u6587\u6863\u90e8\u7f72\u9002\u914d\u5668"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsx)(s.li,{children:(0,c.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter",children:"slurm"})}),"\n"]}),"\n",(0,c.jsx)(s.admonition,{type:"note",children:(0,c.jsxs)(s.p,{children:["\u9002\u914d\u5668\u5c06\u4f1a\u66b4\u9732\u4e00\u4e2a\u7aef\u53e3\u6765\u63d0\u4f9b\u670d\u52a1\uff0cSCOW\u5c06\u901a\u8fc7",(0,c.jsx)(s.code,{children:"ip\u5730\u5740+\u7aef\u53e3\u53f7"}),"\u8bbf\u95ee\u9002\u914d\u5668\uff0c\u8c03\u7528\u63a5\u53e3\u3002\u8bf7\u8bb0\u5f55\u4e0b\u9002\u914d\u5668\u7684\u5730\u5740\u4fe1\u606f\uff0c\u7528\u4e8e\u540e\u7eed\u90e8\u7f72\u3002"]})}),"\n",(0,c.jsx)(s.h2,{id:"\u4e0b\u8f7dscow-cli",children:"\u4e0b\u8f7dscow-cli"}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.code,{children:"scow-cli"}),"\u662f\u6211\u4eec\u5b98\u65b9\u7ef4\u62a4\u7684SCOW\u90e8\u7f72\u548c\u8fd0\u7ef4\u5de5\u5177\uff0c\u80fd\u591f\u5e2e\u52a9\u60a8\u5feb\u901f\u90e8\u7f72\u3001\u7ba1\u7406\u548c\u7ef4\u62a4SCOW\u96c6\u7fa4\u3002"]}),"\n",(0,c.jsxs)(s.p,{children:["\u53c2\u8003",(0,c.jsx)(s.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli",children:"scow-cli"}),"\u4e0b\u8f7d",(0,c.jsx)(s.code,{children:"scow-cli"}),"\uff0c\u5e76\u5c06\u5176\u5b58\u653e\u5230\u4e00\u4e2a\u4f60\u7528\u4e8e\u5b58\u653eSCOW\u914d\u7f6e\u6587\u4ef6\u7684\u76ee\u5f55\u4e0b\u3002"]}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# scow\u76ee\u5f55\u5c06\u4f1a\u7528\u4e8e\u5b58\u5728SCOW\u76f8\u5173\u7684\u914d\u7f6e\u6587\u4ef6\nmkdir scow\ncd scow\n\n# \u5c06\u4e0b\u8f7d\u7684scow-cli\u79fb\u52a8\u5230scow\u76ee\u5f55\u4e0b\ncp /path/to/scow-cli ./\nchmod +x scow-cli\n"})}),"\n",(0,c.jsx)(s.h2,{id:"\u51c6\u5907\u914d\u7f6e\u6587\u4ef6",children:"\u51c6\u5907\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,c.jsx)(s.p,{children:"\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u751f\u6210\u793a\u4f8b\u914d\u7f6e\u6587\u4ef6\uff1a"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"# \u751f\u6210\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6./install.yaml\u548c\u793a\u4f8b\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55./config\n./cli init\n"})}),"\n",(0,c.jsx)(s.h2,{id:"\u914d\u7f6e",children:"\u914d\u7f6e"}),"\n",(0,c.jsx)(s.p,{children:"\u6839\u636e\u4ee5\u4e0b\u987a\u5e8f\u914d\u7f6e\u7cfb\u7edf\uff1a"}),"\n",(0,c.jsxs)(s.ol,{children:["\n",(0,c.jsx)(s.li,{children:"SCOW\u5b89\u88c5\u6587\u4ef6install.yaml\uff08\u6309\u7167\u81ea\u5df1\u96c6\u7fa4\u9700\u6c42\u4fee\u6539\u5bf9\u5e94\u53c2\u6570\uff09"}),"\n",(0,c.jsx)(s.li,{children:(0,c.jsx)(s.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",children:"\u7f16\u5199\u96c6\u7fa4\u4fe1\u606f\u914d\u7f6e\u6587\u4ef6"})}),"\n",(0,c.jsx)(s.li,{children:(0,c.jsx)(s.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro",children:"\u914d\u7f6e\u8ba4\u8bc1\u7cfb\u7edf"})}),"\n",(0,c.jsxs)(s.li,{children:["\uff08\u53ef\u9009\uff09",(0,c.jsx)(s.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro",children:"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf"})]}),"\n",(0,c.jsxs)(s.li,{children:["\uff08\u53ef\u9009\uff09",(0,c.jsx)(s.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro",children:"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf"})]}),"\n",(0,c.jsxs)(s.li,{children:["\uff08\u53ef\u9009\uff09",(0,c.jsx)(s.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro",children:"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf"})]}),"\n"]}),"\n",(0,c.jsx)(s.p,{children:"\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8\u7cfb\u7edf\u3002"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"./cli compose up -d\n"})}),"\n",(0,c.jsx)(s.p,{children:"\u5f53\u4fee\u6539\u4e86\u914d\u7f6e\u6587\u4ef6\u540e\uff0c\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u91cd\u542f\u7cfb\u7edf"}),"\n",(0,c.jsx)(s.pre,{children:(0,c.jsx)(s.code,{className:"language-bash",children:"./cli compose restart\n"})})]})}function a(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(h,{...e})}):h(e)}},5409:(e,s,n)=>{n.d(s,{R:()=>r,x:()=>d});var c=n(48318);const i={},l=c.createContext(i);function r(e){const s=c.useContext(l);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),c.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/17208778.b64dfcf8.js b/pr-preview/pr-1298/assets/js/17208778.b64dfcf8.js deleted file mode 100644 index 0c004d25a8..0000000000 --- a/pr-preview/pr-1298/assets/js/17208778.b64dfcf8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2071],{97506:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>p,metadata:()=>n,toc:()=>a});var i=r(49214),s=r(5409);const p={},o=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items",title:"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items",description:"items Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-qos",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos"}},c={},a=[{value:"items Type",id:"items-type",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"items-type",children:"items Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>n});var i=r(48318);const s={},p=i.createContext(s);function o(e){const t=i.useContext(p);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(p.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/17896441.9bd3d7a3.js b/pr-preview/pr-1298/assets/js/17896441.9bd3d7a3.js deleted file mode 100644 index 0c6ac2a8c3..0000000000 --- a/pr-preview/pr-1298/assets/js/17896441.9bd3d7a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8401],{61952:(e,t,n)=>{n.d(t,{A:()=>b});n(48318);var s=n(46601),a=n(83682),i=n(53347),l=n(63352),o=n(33985),r=n(7866),c=n(90246),d=n(49214);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_NxNg"};function h(){const e=(0,c.A)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(o.A,{"aria-label":(0,r.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const v={breadcrumbsContainer:"breadcrumbsContainer_O_z6"};function x(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,d.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,d.jsx)(o.A,{className:a,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:a,children:t})}function p(e){let{children:t,active:n,index:a,addMicrodata:i}=e;return(0,d.jsxs)("li",{...i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(a+1)})]})}function b(){const e=(0,i.OF)(),t=(0,l.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(a.G.docs.docBreadcrumbs,v.breadcrumbsContainer),"aria-label":(0,r.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(p,{active:s,index:n,addMicrodata:!!a,children:(0,d.jsx)(x,{href:a,isLast:s,children:t.label})},n)}))]})}):null}},50644:(e,t,n)=>{n.r(t),n.d(t,{default:()=>V});var s=n(48318),a=n(30763),i=n(84091),l=n(49214);const o=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,l.jsx)(o.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(o);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,l.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(46601),m=n(88524),h=n(16702);function v(){const{metadata:e}=c();return(0,l.jsx)(h.A,{previous:e.previous,next:e.next})}var x=n(29971),p=n(17128),b=n(83682),g=n(88997),f=n(4154);function j(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,o=!!(t||n||s);return i||o?(0,l.jsxs)("footer",{className:(0,u.A)(b.G.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,l.jsx)("div",{className:(0,u.A)("row margin-top--sm",b.G.docs.docFooterTagsRow),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(g.A,{tags:a})})}),o&&(0,l.jsx)(f.A,{className:(0,u.A)("margin-top--sm",b.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var A=n(65937),N=n(83903),_=n(7866);const C={tocCollapsibleButton:"tocCollapsibleButton_Hhl3",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_Yxxo"};function L(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",C.tocCollapsibleButton,!t&&C.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(_.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const k={tocCollapsible:"tocCollapsible_LWH4",tocCollapsibleContent:"tocCollapsibleContent_ecpr",tocCollapsibleExpanded:"tocCollapsibleExpanded_cG7G"};function T(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:o}=(0,A.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.A)(k.tocCollapsible,!i&&k.tocCollapsibleExpanded,n),children:[(0,l.jsx)(L,{collapsed:i,onClick:o}),(0,l.jsx)(A.N,{lazy:!0,className:k.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(N.A,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const H={tocMobile:"tocMobile_H_wA"};function y(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(T,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(b.G.docs.docTocMobile,H.tocMobile)})}var w=n(70829);function U(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(w.A,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:b.G.docs.docTocDesktop})}var M=n(31773),B=n(19273);function I(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.A)(b.G.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(M.A,{as:"h1",children:n})}),(0,l.jsx)(B.A,{children:t})]})}var E=n(61952),O=n(1181);const G={docItemContainer:"docItemContainer_TbBv",docItemCol:"docItemCol_twGq"};function S(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,l.jsx)(y,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,l.jsx)(U,{})}}(),{metadata:{unlisted:s}}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&G.docItemCol),children:[s&&(0,l.jsx)(O.A,{}),(0,l.jsx)(x.A,{}),(0,l.jsxs)("div",{className:G.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(E.A,{}),(0,l.jsx)(p.A,{}),n.mobile,(0,l.jsx)(I,{children:t}),(0,l.jsx)(j,{})]}),(0,l.jsx)(v,{})]})]}),n.desktop&&(0,l.jsx)("div",{className:"col col--3",children:n.desktop})]})}function V(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(a.e3,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(S,{children:(0,l.jsx)(n,{})})]})})}},16702:(e,t,n)=>{n.d(t,{A:()=>l});n(48318);var s=n(7866),a=n(31423),i=n(49214);function l(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(a.A,{...t,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(a.A,{...n,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},17128:(e,t,n)=>{n.d(t,{A:()=>r});n(48318);var s=n(46601),a=n(7866),i=n(83682),l=n(71679),o=n(49214);function r(e){let{className:t}=e;const n=(0,l.r)();return n.badge?(0,o.jsx)("span",{className:(0,s.A)(t,i.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,o.jsx)(a.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},29971:(e,t,n)=>{n.d(t,{A:()=>p});n(48318);var s=n(46601),a=n(62429),i=n(33985),l=n(7866),o=n(14914),r=n(83682),c=n(9456),d=n(71679),u=n(49214);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(l.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(l.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function v(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(l.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(i.A,{to:n,onClick:s,children:(0,u.jsx)(l.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:i}}=(0,a.A)(),{pluginId:l}=(0,o.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,c.g1)(l),{latestDocSuggestion:m,latestVersionSuggestion:x}=(0,o.HW)(l),p=m??(b=x).docs.find((e=>e.id===b.mainDocId));var b;return(0,u.jsxs)("div",{className:(0,s.A)(t,r.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:i,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(v,{versionLabel:x.label,to:p.path,onClick:()=>d(x.name)})})]})}function p(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,u.jsx)(x,{className:t,versionMetadata:n}):null}},4154:(e,t,n)=>{n.d(t,{A:()=>p});n(48318);var s=n(46601),a=n(7866),i=n(83682),l=n(33985);const o={iconEdit:"iconEdit_knyl"};var r=n(49214);function c(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(o.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(l.A,{to:t,className:i.G.common.editThisPage,children:[(0,r.jsx)(c,{}),(0,r.jsx)(a.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(90851);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(a.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(a.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function v(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:i.G.common.lastUpdated,children:[(0,r.jsx)(a.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const x={lastUpdated:"lastUpdated_hXYt"};function p(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:i}=e;return(0,r.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(d,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.A)("col",x.lastUpdated),children:(a||i)&&(0,r.jsx)(v,{lastUpdatedAt:a,lastUpdatedBy:i})})]})}},31423:(e,t,n)=>{n.d(t,{A:()=>l});n(48318);var s=n(46601),a=n(33985),i=n(49214);function l(e){const{permalink:t,title:n,subLabel:l,isNext:o}=e;return(0,i.jsxs)(a.A,{className:(0,s.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},70829:(e,t,n)=>{n.d(t,{A:()=>c});n(48318);var s=n(46601),a=n(83903);const i={tableOfContents:"tableOfContents_J_au",docItemContainer:"docItemContainer_UNai"};var l=n(49214);const o="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,l.jsx)("div",{className:(0,s.A)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.A,{...n,linkClassName:o,linkActiveClassName:r})})}},83903:(e,t,n)=>{n.d(t,{A:()=>x});var s=n(48318),a=n(12449);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function l(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=l({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function o(e){const t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>o(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),o=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),c=r(o,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}var u=n(33985),m=n(49214);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const v=s.memo(h);function x(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const x=(0,a.p)(),p=c??x.tableOfContents.minHeadingLevel,b=u??x.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>l({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:p,maxHeadingLevel:b});return d((0,s.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:p,maxHeadingLevel:b}}),[o,r,p,b])),(0,m.jsx)(v,{toc:g,className:n,linkClassName:o,...h})}},85339:(e,t,n)=>{n.d(t,{A:()=>o});n(48318);var s=n(46601),a=n(33985);const i={tag:"tag__kek",tagRegular:"tagRegular_u5cB",tagWithCount:"tagWithCount_n6gD"};var l=n(49214);function o(e){let{permalink:t,label:n,count:o}=e;return(0,l.jsxs)(a.A,{href:t,className:(0,s.A)(i.tag,o?i.tagWithCount:i.tagRegular),children:[n,o&&(0,l.jsx)("span",{children:o})]})}},88997:(e,t,n)=>{n.d(t,{A:()=>r});n(48318);var s=n(46601),a=n(7866),i=n(85339);const l={tags:"tags_WN9V",tag:"tag_KC_g"};var o=n(49214);function r(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,s.A)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,o.jsx)("li",{className:l.tag,children:(0,o.jsx)(i.A,{label:t,permalink:n})},n)}))})]})}},1181:(e,t,n)=>{n.d(t,{A:()=>h});n(48318);var s=n(46601),a=n(7866),i=n(39527),l=n(49214);function o(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,l.jsx)(i.A,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(83682),u=n(35940);function m(e){let{className:t}=e;return(0,l.jsx)(u.A,{type:"caution",title:(0,l.jsx)(o,{}),className:(0,s.A)(t,d.G.common.unlistedBanner),children:(0,l.jsx)(r,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(m,{...e})]})}},90851:(e,t,n)=>{n.d(t,{i:()=>a});var s=n(62429);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1880ad5d.60d502cb.js b/pr-preview/pr-1298/assets/js/1880ad5d.60d502cb.js deleted file mode 100644 index 90abfe17e5..0000000000 --- a/pr-preview/pr-1298/assets/js/1880ad5d.60d502cb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3784],{99147:(e,l,n)=>{n.r(l),n.d(l,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>d});var i=n(49214),r=n(5409);const o={title:"\u591a\u67b6\u6784\u652f\u6301",sidebar_position:4,description:"SCOW\u5bf9\u5404\u7c7b\u7cfb\u7edf\u548c\u67b6\u6784\u7684\u652f\u6301"},s="\u591a\u67b6\u6784\u652f\u6301",t={id:"deploy/install/multi-platform",title:"\u591a\u67b6\u6784\u652f\u6301",description:"SCOW\u5bf9\u5404\u7c7b\u7cfb\u7edf\u548c\u67b6\u6784\u7684\u652f\u6301",source:"@site/docs/deploy/install/multi-platform.md",sourceDirName:"deploy/install",slug:"/deploy/install/multi-platform",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/install/multi-platform.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"\u591a\u67b6\u6784\u652f\u6301",sidebar_position:4,description:"SCOW\u5bf9\u5404\u7c7b\u7cfb\u7edf\u548c\u67b6\u6784\u7684\u652f\u6301"},sidebar:"deploy",previous:{title:"\u4ece\u6e90\u7801\u6784\u5efa",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source"},next:{title:"\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e"}},c={},d=[{value:"scow-cli",id:"scow-cli",level:2},{value:"\u7f16\u8bd1\u652f\u6301\u591a\u67b6\u6784\u7684\u955c\u50cf",id:"\u7f16\u8bd1\u652f\u6301\u591a\u67b6\u6784\u7684\u955c\u50cf",level:2}];function a(e){const l={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.h1,{id:"\u591a\u67b6\u6784\u652f\u6301",children:"\u591a\u67b6\u6784\u652f\u6301"}),"\n",(0,i.jsx)(l.p,{children:"SCOW\u7cfb\u7edf\u652f\u6301\u4ee5\u4e0b\u8fd0\u884c\u73af\u5883\u7684\u955c\u50cf\u3002\u60a8\u53ea\u9700\u5728\u652f\u6301\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u5bf9\u5e94\u7248\u672c\u7684docker\uff0c\u5c31\u53ef\u4ee5\u62c9\u53d6\u6216\u8005\u6784\u5efa\u7b26\u5408\u4f60\u5f53\u524d\u673a\u5668\u67b6\u6784\u7684\u955c\u50cf\u3002"}),"\n",(0,i.jsxs)(l.ul,{children:["\n",(0,i.jsx)(l.li,{children:(0,i.jsx)(l.code,{children:"linux/amd64"})}),"\n",(0,i.jsx)(l.li,{children:(0,i.jsx)(l.code,{children:"linux/arm64"})}),"\n"]}),"\n",(0,i.jsx)(l.h2,{id:"scow-cli",children:(0,i.jsx)(l.code,{children:"scow-cli"})}),"\n",(0,i.jsxs)(l.p,{children:[(0,i.jsx)(l.code,{children:"scow-cli"}),"\u540c\u6837\u652f\u6301\u4e0a\u8ff0\u8fd0\u884c\u73af\u5883\u3002\u8bf7\u5728\u4e0b\u8f7d\u65f6\u9009\u62e9\u60a8\u90e8\u7f72\u6240\u5728\u7684\u673a\u5668\u7684\u64cd\u4f5c\u7cfb\u7edf\u548c\u67b6\u6784\u4e0b\u8f7d\u3002"]}),"\n",(0,i.jsx)(l.h2,{id:"\u7f16\u8bd1\u652f\u6301\u591a\u67b6\u6784\u7684\u955c\u50cf",children:"\u7f16\u8bd1\u652f\u6301\u591a\u67b6\u6784\u7684\u955c\u50cf"}),"\n",(0,i.jsxs)(l.p,{children:["\u76f4\u63a5\u8fd0\u884c",(0,i.jsx)(l.code,{children:"docker build"}),"\u6784\u5efa\u51fa\u6765\u7684\u955c\u50cf\u4e3a\u53ea\u652f\u6301\u60a8\u7f16\u8bd1\u65f6\u673a\u5668\u7684\u67b6\u6784\u7684\u955c\u50cf\u3002\u8981\u60f3\u7f16\u8bd1\u51fa\u540c\u65f6\u652f\u6301\u4ee5\u4e0a\u6240\u6709\u67b6\u6784\u7684\u7684\u955c\u50cf\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff1a"]}),"\n",(0,i.jsxs)(l.ol,{children:["\n",(0,i.jsxs)(l.li,{children:["\u6839\u636edocker\u5b98\u65b9\u7684",(0,i.jsxs)(l.a,{href:"https://docs.docker.com/build/building/multi-platform/",children:[(0,i.jsx)(l.code,{children:"Multi-platform images"}),"\u6587\u6863"]}),"\uff0c\u521b\u5efa\u5e76\u4f7f\u7528\u652f\u6301\u591a\u5e73\u53f0\u7f16\u8bd1\u7684builder"]}),"\n"]}),"\n",(0,i.jsx)(l.pre,{children:(0,i.jsx)(l.code,{className:"language-bash",children:"docker buildx create --name mybuilder --driver docker-container --bootstrap --use\n"})}),"\n",(0,i.jsxs)(l.ol,{start:"2",children:["\n",(0,i.jsx)(l.li,{children:"\u901a\u8fc7\u8fd9\u4e2abuilder\u6784\u5efa\u955c\u50cf"}),"\n"]}),"\n",(0,i.jsx)(l.pre,{children:(0,i.jsx)(l.code,{className:"language-bash",children:"# \ndocker buildx build -f docker/Dockerfile.scow -t scow --platform=linux/arm64,linux/cmd64 .\n"})})]})}function p(e={}){const{wrapper:l}={...(0,r.R)(),...e.components};return l?(0,i.jsx)(l,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5409:(e,l,n)=>{n.d(l,{R:()=>s,x:()=>t});var i=n(48318);const r={},o=i.createContext(r);function s(e){const l=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(l):{...l,...e}}),[l,e])}function t(e){let l;return l=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:l},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/18e39512.dee08c9c.js b/pr-preview/pr-1298/assets/js/18e39512.dee08c9c.js deleted file mode 100644 index c191e0651b..0000000000 --- a/pr-preview/pr-1298/assets/js/18e39512.dee08c9c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4819],{71281:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>f,frontMatter:()=>n,metadata:()=>p,toc:()=>a});var s=r(49214),i=r(5409);const n={},o=void 0,p={id:"refs/config/clusterTexts/definition-patternproperties--properties-extras",title:"definition-patternproperties--properties-extras",description:"extras Type",source:"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition-patternproperties--properties-extras",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-patternproperties--properties-extras-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items"},next:{title:"definition-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-"}},c={},a=[{value:"extras Type",id:"extras-type",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"extras-type",children:"extras Type"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"object[]"})," (",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",children:"Details"}),")"]})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>p});var s=r(48318);const i={},n=s.createContext(i);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/19b62525.9c67046c.js b/pr-preview/pr-1298/assets/js/19b62525.9c67046c.js deleted file mode 100644 index 092b135a6f..0000000000 --- a/pr-preview/pr-1298/assets/js/19b62525.9c67046c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7805],{4467:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>p,contentTitle:()=>n,default:()=>l,frontMatter:()=>t,metadata:()=>d,toc:()=>a});var s=i(49214),o=i(5409);const t={},n=void 0,d={id:"refs/config/portal/definition-properties-savedjobsdir",title:"definition-properties-savedjobsdir",description:"savedJobsDir Type",source:"@site/docs/refs/config/portal/definition-properties-savedjobsdir.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-savedjobsdir",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-savedjobsdir.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-misurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl"},next:{title:"definition-properties-shell",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell"}},p={},a=[{value:"savedJobsDir Type",id:"savedjobsdir-type",level:2},{value:"savedJobsDir Default Value",id:"savedjobsdir-default-value",level:2}];function c(e){const r={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h2,{id:"savedjobsdir-type",children:"savedJobsDir Type"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.h2,{id:"savedjobsdir-default-value",children:"savedJobsDir Default Value"}),"\n",(0,s.jsx)(r.p,{children:"The default value is:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-json",children:'"scow/savedJobs"\n'})})]})}function l(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>n,x:()=>d});var s=i(48318);const o={},t=s.createContext(o);function n(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),s.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1a2a2bba.5a66d9b5.js b/pr-preview/pr-1298/assets/js/1a2a2bba.5a66d9b5.js deleted file mode 100644 index 7ccbffe4ef..0000000000 --- a/pr-preview/pr-1298/assets/js/1a2a2bba.5a66d9b5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8925],{28552:(e,n,c)=>{c.r(n),c.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>t,toc:()=>o});var d=c(49214),r=c(5409);const s={sidebar_position:2,title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"},i="\u914d\u7f6eWeb\u7c7b\u5e94\u7528",t={id:"deploy/config/portal/apps/configure-web-app",title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528",description:"\u524d\u63d0\u6761\u4ef6",source:"@site/docs/deploy/config/portal/apps/configure-web-app.md",sourceDirName:"deploy/config/portal/apps",slug:"/deploy/config/portal/apps/configure-web-app",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/configure-web-app.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"},sidebar:"deploy",previous:{title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro"},next:{title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app"}},l={},o=[{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2},{value:"proxyType",id:"proxytype",level:3},{value:"beforeScript\u548cscript",id:"beforescript\u548cscript",level:3},{value:"connect",id:"connect",level:3},{value:"attributes",id:"attributes",level:3}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.h1,{id:"\u914d\u7f6eweb\u7c7b\u5e94\u7528",children:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"}),"\n",(0,d.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,d.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u5b89\u88c5\u6709\u9700\u8981\u7684\u8f6f\u4ef6\u5305\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,d.jsxs)(n.p,{children:["\u4e0b\u9762\u4ee5\u4f7f\u7528",(0,d.jsx)(n.a,{href:"https://github.com/coder/code-server",children:"coder/code-server"}),"\u542f\u52a8VSCode\u7684\u914d\u7f6e\u4e3a\u4f8b\u6765\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4e00\u4e2a\u670d\u52a1\u5668\u7c7b\u5e94\u7528\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u521b\u5efa",(0,d.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,d.jsx)(n.code,{children:"vscode/config.yml"}),"\u6216",(0,d.jsx)(n.code,{children:"vscode.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/vscode/config.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: vscode\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: VSCode\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n\n'})}),"\n",(0,d.jsx)(n.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0\u5373\u53ef\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,d.jsx)(n.h3,{id:"proxytype",children:(0,d.jsx)(n.code,{children:"proxyType"})}),"\n",(0,d.jsx)(n.p,{children:"\u7528\u6237\u901a\u8fc7\u4ee5\u4e0b\u683c\u5f0f\u7684URL\u8bbf\u95eeWeb\u7c7b\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528"}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsxs)(n.p,{children:["http[s]://",(0,d.jsx)(n.code,{children:"${\u57df\u540d\u6216\u8005IP}"}),"/",(0,d.jsx)(n.code,{children:"${SCOW\u7cfb\u7edf\u7684base path}"}),"/api/proxy/",(0,d.jsx)(n.code,{children:"${\u8fd0\u884c\u5e94\u7528\u7684\u96c6\u7fa4ID}"}),"/",(0,d.jsx)(n.code,{children:"${\u8fd9\u4e2a\u5e94\u7528\u7684proxyType}"}),"/",(0,d.jsx)(n.code,{children:"${\u8ba1\u7b97\u8282\u70b9\u7684IP\u6216\u8005\u4e3b\u673a\u540d}"}),"/",(0,d.jsx)(n.code,{children:"${\u5e94\u7528\u6240\u5728\u7684\u7aef\u53e3\u53f7}"}),"/",(0,d.jsx)(n.code,{children:"${...\u5e94\u7528\u6240\u9700\u8981\u7684path}"})]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["\u5bf9\u4e8eweb\u7c7b\u578b\u7684\u5e94\u7528\uff0c\u9700\u8981\u914d\u7f6e",(0,d.jsx)(n.code,{children:"proxyType"}),"\u3002\u4e0d\u540c\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4f7f\u7528\u4e86\u4e0d\u540c\u7684nginx proxy\u65b9\u5f0f\uff0c\u901a\u8fc7\u914d\u7f6e",(0,d.jsx)(n.code,{children:"proxyType"}),"\uff0c\u53ef\u4ee5\u5141\u8bb8\u5e94\u7528\u643a\u5e26\u4e0d\u540c\u7c7b\u578b\u7684uri\u5230\u540e\u7aef\u8ba1\u7b97\u8282\u70b9\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"proxyType"}),"\u53ef\u4ee5\u914d\u7f6e\u4e3a",(0,d.jsx)(n.code,{children:"relative"}),"\u6216\u8005",(0,d.jsx)(n.code,{children:"absolute"}),"\uff0c\u5982\u679c\u4e0d\u914d\u7f6e\u9ed8\u8ba4\u662f",(0,d.jsx)(n.code,{children:"relative"}),"\u3002"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u8bbe\u7f6e\u6210",(0,d.jsx)(n.code,{children:"absolute"}),"\uff0c\u4f1a\u628a\u5b8c\u6574URL\u8bf7\u6c42\u8def\u5f84\u53cd\u5411\u4ee3\u7406\u5230\u7ed9\u5b9a\u7684\u4e3b\u673a\u548c\u7aef\u53e3\u3002\u6bd4\u5982\u8bbf\u95ee\u4ee5\u4e0b\u5730\u5740\uff1a"]}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/absolute/192.168.220.133/7383/index.html",children:"https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/absolute/192.168.220.133/7383/index.html"})}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["\u4ee5\u4e0bURL\u8bf7\u6c42\u5c06\u4f1a\u88ab\u53d1\u9001\u7ed9\u8ba1\u7b97\u8282\u70b9",(0,d.jsx)(n.code,{children:"192.168.220.133"}),"\u7684",(0,d.jsx)(n.code,{children:"7383"}),"\u7aef\u53e3\u3002"]}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsx)(n.p,{children:"/demo/scow/api/proxy/hpc01/absolute/192.168.220.133/7383/index.html"}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u8bbe\u7f6e\u6210",(0,d.jsx)(n.code,{children:"relative"}),"\uff0c\u53ea\u4f7f\u7528URL\u8bf7\u6c42\u8def\u5f84\u7684\u8def\u5f84\u90e8\u5206\u5c06\u8bf7\u6c42\u53cd\u5411\u4ee3\u7406\u5230\u7ed9\u5b9a\u7684\u4e3b\u673a\u548c\u7aef\u53e3\u3002\u6bd4\u5982\u8bbf\u95ee\u4ee5\u4e0b\u5730\u5740\uff1a"]}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/relative/192.168.220.133/4253/index.html",children:"https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/relative/192.168.220.133/4253/index.html"})}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:["\u4ee5\u4e0bURL\u8bf7\u6c42\u5c06\u4f1a\u88ab\u53d1\u9001\u7ed9\u8ba1\u7b97\u8282\u70b9",(0,d.jsx)(n.code,{children:"192.168.220.133"}),"\u7684",(0,d.jsx)(n.code,{children:"4253"}),"\u7aef\u53e3\u3002"]}),"\n",(0,d.jsxs)(n.blockquote,{children:["\n",(0,d.jsx)(n.p,{children:"/index.html"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(n.h3,{id:"beforescript\u548cscript",children:[(0,d.jsx)(n.code,{children:"beforeScript"}),"\u548c",(0,d.jsx)(n.code,{children:"script"})]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"beforeScript"}),"\u90e8\u5206\u4e3a\u51c6\u5907\u811a\u672c\u3002\u8fd9\u4e2a\u811a\u672c\u7528\u6765\u51c6\u5907\u8fd0\u884c\u4efb\u52a1\u7684\u73af\u5883\u3002\u8fd9\u4e2a\u811a\u672c\u8981\u6c42\u5fc5\u987bexport\u4e24\u4e2a\u53d8\u91cf\uff1a"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.code,{children:"PORT"}),"\uff1a\u7a0b\u5e8f\u5c06\u4f1a\u8fd0\u884c\u5728\u7684\u7aef\u53e3"]}),"\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.code,{children:"PASSWORD"}),": \u8fde\u63a5\u7a0b\u5e8f\u7528\u7684\u5bc6\u7801"]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"connect"}),"\u7684",(0,d.jsx)(n.code,{children:"formData"}),"\u9879\u9700\u8981\u4f7f\u7528\u7684\u53d8\u91cf\u4e5f\u9700\u8981\u5728\u6b64\u5904export\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u51c6\u5907\u811a\u672c\u4e2d\u7684",(0,d.jsx)(n.code,{children:"export"}),"\u7684\u53d8\u91cf\u53ef\u4ee5\u5728",(0,d.jsx)(n.code,{children:"script"}),"\u4e2d\u4f7f\u7528\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"script"}),"\u90e8\u5206\u4e3a\u5982\u4f55\u542f\u52a8\u8fd9\u4e2a\u5e94\u7528\u7684\u811a\u672c\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"beforeScript"}),"\u548c",(0,d.jsx)(n.code,{children:"script"}),"\u4e2d\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u8f85\u52a9\u51fd\u6570\uff1a"]}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u51fd\u6570\u540d"}),(0,d.jsx)(n.th,{children:"\u4f5c\u7528"}),(0,d.jsx)(n.th,{children:"\u53c2\u6570"}),(0,d.jsx)(n.th,{children:"\u8fd4\u56de\u503c"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"get_port"})}),(0,d.jsx)(n.td,{children:"\u83b7\u5f97\u4e00\u4e2a\u53ef\u7528\u7684TCP\u7aef\u53e3"}),(0,d.jsx)(n.td,{children:"\u65e0"}),(0,d.jsx)(n.td,{children:"\u4e00\u4e2a\u8c03\u7528\u65f6\u53ef\u7528\u7684TCP\u7aef\u53e3"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"get_password"})}),(0,d.jsx)(n.td,{children:"\u751f\u6210\u4e00\u4e2a\u5305\u542bA-Za-z0-9\u7684\u968f\u673a\u5bc6\u7801"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"$1"}),": \u5bc6\u7801\u957f\u5ea6"]}),(0,d.jsx)(n.td,{children:"\u5bc6\u7801"})]})]})]}),"\n",(0,d.jsxs)(n.p,{children:["\u8fd8\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u53d8\u91cf\u3002\u5982\u679c",(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",children:"\u81ea\u5b9a\u4e49\u5c5e\u6027"}),"\u4e2d\u51fa\u73b0\u4e86\u548c\u8fd9\u91cc\u540c\u540d\u7684\u53d8\u91cf\uff0c\u8fd9\u91cc\u7684\u53d8\u91cf\u5c06\u4f1a\u88ab\u8986\u76d6\u3002"]}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u53d8\u91cf\u540d"}),(0,d.jsx)(n.th,{children:"\u503c"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"PROXY_BASE_PATH"})}),(0,d.jsxs)(n.td,{children:["\u8fd9\u4e2a\u5e94\u7528\u5728\u88ab\u8bbf\u95ee\u65f6\uff0c\u5176URL\u4e2d\u4f4d\u4e8e",(0,d.jsx)(n.strong,{children:"\u8ba1\u7b97\u8282\u70b9IP"}),"\u4e4b\u524d\u7684\u5185\u5bb9\uff0c\u4e0d\u4ee5",(0,d.jsx)(n.code,{children:"/"}),"\u7ed3\u5c3e\u3002\u5bf9SCOW\u6765\u8bf4\uff0c\u4e3a",(0,d.jsx)(n.code,{children:"${SCOW\u7684base path}/api/proxy/${\u96c6\u7fa4ID}/${\u6b64\u5e94\u7528\u7684proxyType}"})]})]})})]}),"\n",(0,d.jsx)(n.p,{children:"\u8fd9\u4e9b\u811a\u672c\uff0c\u4ee5\u53ca\u4e00\u4e9b\u8f85\u52a9\u7684\u811a\u672c\u5c06\u4f1a\u88ab\u4f5c\u4e3a\u4e00\u4e2a\u4f5c\u4e1a\u63d0\u4ea4\u7ed9\u8c03\u5ea6\u7cfb\u7edf\uff0c\u5e76\u6700\u7ec8\u5728\u67d0\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e0a\u8fd0\u884c\u3002"}),"\n",(0,d.jsx)(n.h3,{id:"connect",children:(0,d.jsx)(n.code,{children:"connect"})}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"connect"}),"\u90e8\u5206\u5b9a\u4e49\u5982\u4f55\u8fde\u63a5\u5230\u5e94\u7528\u3002\u7cfb\u7edf\u5c06\u4f1a\u7ed9\u53ef\u4ee5\u8fde\u63a5\u7684\u5e94\u7528\u521b\u5efa\u4e00\u4e2a\u7528\u4e8e\u8fde\u63a5\u5e94\u7528\u7684a\u6807\u7b7e\u3002\u70b9\u51fba\u6807\u7b7e\u4e4b\u540e\uff0c\u7cfb\u7edf\u5c06\u4f1a\u6253\u5f00\u4e00\u4e2a\u65b0\u6807\u7b7e\u9875\uff0c\u6253\u5f00\u65b0\u6807\u7b7e\u9875\u65f6\u5b9e\u9645\u8fdb\u884c\u7684\u52a8\u4f5c\u5c06\u53ef\u4ee5\u5728\u8fd9\u91cc\u81ea\u5b9a\u4e49\u3002"]}),"\n",(0,d.jsx)(n.p,{children:"\u914d\u7f6e\u5982\u4e0b\uff1a"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u5c5e\u6027"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u586b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"path"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u65b0\u6807\u7b7e\u9875\u6240\u8bbf\u95ee\u7684\u76f8\u5bf9\u8def\u5f84"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"method"})}),(0,d.jsx)(n.td,{children:'"GET" \u6216\u8005 "POST"'}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u53d1\u8d77\u4e00\u4e2a\u4ec0\u4e48\u7684HTTP\u8bf7\u6c42"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"query"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32\u5230\u5b57\u7b26\u4e32\u7684\u5b57\u5178"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsx)(n.td,{children:"\u8fde\u63a5\u65f6\u9644\u5e26\u7684query"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"formData"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32\u5230\u5b57\u7b26\u4e32\u7684\u5b57\u5178"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u5982\u679c",(0,d.jsx)(n.code,{children:"method"}),"\u662fPOST\uff0c\u8fd9\u4e2a\u8bf7\u6c42\u5c06\u4f1a\u5e26\u7684form data"]})]})]})]}),"\n",(0,d.jsxs)(n.p,{children:["\u6211\u4eec\u63a8\u8350\u5c06\u5e94\u7528\u4f7f\u7528\u5bc6\u7801\u65b9\u5f0f\u8fdb\u884c\u52a0\u5bc6\uff0c\u6240\u4ee5\u4e00\u822c\u5728\u8fde\u63a5\u65f6\u9700\u8981\u5c06\u5bc6\u7801\u8f93\u5165\u7ed9\u5e94\u7528\u3002",(0,d.jsx)(n.code,{children:"path"}),", ",(0,d.jsx)(n.code,{children:"query"}),"\u7684\u503c\u548c",(0,d.jsx)(n.code,{children:"formData"}),"\u7684\u503c\u90e8\u5206\u53ef\u4ee5\u4f7f\u7528",(0,d.jsx)(n.code,{children:"{{ PASSWORD }}"}),"\u4ee3\u66ff\u5e94\u7528\u5728\u521b\u5efa\u65f6\u751f\u6210\u7684\u5bc6\u7801\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u6b64\u5916\uff0c\u5982\u679c",(0,d.jsx)(n.code,{children:"formData"}),"\u9700\u8981\u4f7f\u7528\u5176\u4ed6\u53d8\u91cf\uff0c\u53ef\u4ee5\u5728\u51c6\u5907\u811a\u672c",(0,d.jsx)(n.code,{children:"beforeScript"}),"\u4e2dexport\u9700\u8981\u7684\u53d8\u91cf\uff0c\u7136\u540e\u4ee5",(0,d.jsx)(n.code,{children:"{{ \u53d8\u91cf\u540d }}"}),"\u7684\u5f62\u5f0f\u4f7f\u7528\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"attributes",children:(0,d.jsx)(n.code,{children:"attributes"})}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u9700\u8981\u6307\u5b9a\u5e94\u7528\u7248\u672c\uff0c\u53ef\u4ee5\u901a\u8fc7",(0,d.jsx)(n.code,{children:"attributes"}),"\u914d\u7f6e\u9879\u6dfb\u52a0\u81ea\u5b9a\u4e49HTML\u8868\u5355\uff0c\u5177\u4f53\u914d\u7f6e\u793a\u4f8b\u8bf7\u53c2\u8003",(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",children:"attributes\u914d\u7f6e"}),"\u3002"]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(h,{...e})}):h(e)}},5409:(e,n,c)=>{c.d(n,{R:()=>i,x:()=>t});var d=c(48318);const r={},s=d.createContext(r);function i(e){const n=d.useContext(s);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),d.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1a4e3797.37fc0cd6.js b/pr-preview/pr-1298/assets/js/1a4e3797.37fc0cd6.js deleted file mode 100644 index 541e73e456..0000000000 --- a/pr-preview/pr-1298/assets/js/1a4e3797.37fc0cd6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2138],{53628:(e,t,r)=>{r.d(t,{W:()=>u});var s=r(48318),a=r(62429);const n=["zero","one","two","few","many","other"];function c(e){return n.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:c(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,a.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:c(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),l}}),[e])}function u(){const e=o();return{selectMessage:(t,r)=>function(e,t,r){const s=e.split("|");if(1===s.length)return s[0];s.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const a=r.select(t),n=r.pluralForms.indexOf(a);return s[Math.min(n,s.length-1)]}(r,t,e)}}},24542:(e,t,r)=>{r.r(t),r.d(t,{default:()=>_});var s=r(48318),a=r(62429),n=r(68665),c=r(39527),l=r(33985),o=r(7866),u=r(53628),h=r(82767),i=r(66325),m=r(12144),d=r(69730);const p=function(){const e=(0,m.A)(),t=(0,i.W6)(),r=(0,i.zy)(),{siteConfig:{baseUrl:s}}=(0,a.A)(),n=e?new URLSearchParams(r.search):null,c=n?.get("q")||"",l=n?.get("ctx")||"",o=n?.get("version")||"",u=e=>{const t=new URLSearchParams(r.search);return e?t.set("q",e):t.delete("q"),t};return{searchValue:c,searchContext:l&&Array.isArray(d.Hg)&&d.Hg.some((e=>"string"==typeof e?e===l:e.path===l))?l:"",searchVersion:o,updateSearchPath:e=>{const r=u(e);t.replace({search:r.toString()})},updateSearchContext:e=>{const s=new URLSearchParams(r.search);s.set("ctx",e),t.replace({search:s.toString()})},generateSearchPageLink:e=>{const t=u(e);return`${s}search?${t.toString()}`}}};var g=r(77831),x=r(26327),f=r(47061),y=r(99765),C=r(53144),S=r(68478),j=r(88530),w=r(37619);const A={searchContextInput:"searchContextInput_NS1l",searchQueryInput:"searchQueryInput_MsdA",searchResultItem:"searchResultItem_q0zg",searchResultItemPath:"searchResultItemPath_Fqpt",searchResultItemSummary:"searchResultItemSummary_N2Mb",searchQueryColumn:"searchQueryColumn_Vl7W",searchContextColumn:"searchContextColumn_oi2r"};var v=r(46037),I=r(49214);function R(){const{siteConfig:{baseUrl:e},i18n:{currentLocale:t}}=(0,a.A)(),{selectMessage:r}=(0,u.W)(),{searchValue:n,searchContext:l,searchVersion:i,updateSearchPath:m,updateSearchContext:f}=p(),[y,C]=(0,s.useState)(n),[S,w]=(0,s.useState)(),[R,_]=(0,s.useState)(),b=`${e}${i}`,T=(0,s.useMemo)((()=>y?(0,o.T)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:y}):(0,o.T)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"})),[y]);(0,s.useEffect)((()=>{m(y),S&&(y?S(y,(e=>{_(e)})):_(void 0))}),[y,S]);const $=(0,s.useCallback)((e=>{C(e.target.value)}),[]);return(0,s.useEffect)((()=>{n&&n!==y&&C(n)}),[n]),(0,s.useEffect)((()=>{!async function(){const{wrappedIndexes:e,zhDictionary:t}=!Array.isArray(d.Hg)||l||d.dz?await(0,g.Z)(b,l):{wrappedIndexes:[],zhDictionary:[]};w((()=>(0,x.m)(e,t,100)))}()}),[l,b]),(0,I.jsxs)(s.Fragment,{children:[(0,I.jsxs)(c.A,{children:[(0,I.jsx)("meta",{property:"robots",content:"noindex, follow"}),(0,I.jsx)("title",{children:T})]}),(0,I.jsxs)("div",{className:"container margin-vert--lg",children:[(0,I.jsx)("h1",{children:T}),(0,I.jsxs)("div",{className:"row",children:[(0,I.jsx)("div",{className:(0,h.A)("col",{[A.searchQueryColumn]:Array.isArray(d.Hg),"col--9":Array.isArray(d.Hg),"col--12":!Array.isArray(d.Hg)}),children:(0,I.jsx)("input",{type:"search",name:"q",className:A.searchQueryInput,"aria-label":"Search",onChange:$,value:y,autoComplete:"off",autoFocus:!0})}),Array.isArray(d.Hg)?(0,I.jsx)("div",{className:(0,h.A)("col","col--3","padding-left--none",A.searchContextColumn),children:(0,I.jsxs)("select",{name:"search-context",className:A.searchContextInput,id:"context-selector",value:l,onChange:e=>f(e.target.value),children:[d.dz&&(0,I.jsx)("option",{value:"",children:(0,o.T)({id:"theme.SearchPage.searchContext.everywhere",message:"Everywhere"})}),d.Hg.map((e=>{const{label:r,path:s}=(0,v.p)(e,t);return(0,I.jsx)("option",{value:s,children:r},s)}))]})}):null]}),!S&&y&&(0,I.jsx)("div",{children:(0,I.jsx)(j.A,{})}),R&&(R.length>0?(0,I.jsx)("p",{children:r(R.length,(0,o.T)({id:"theme.SearchPage.documentsFound.plurals",message:"1 document found|{count} documents found",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)'},{count:R.length}))}):(0,I.jsx)("p",{children:(0,o.T)({id:"theme.SearchPage.noResultsText",message:"No documents were found",description:"The paragraph for empty search result"})})),(0,I.jsx)("section",{children:R&&R.map((e=>(0,I.jsx)(P,{searchResult:e},e.document.i)))})]})]})}function P(e){let{searchResult:{document:t,type:r,page:s,tokens:a,metadata:n}}=e;const c=r===f.i.Title,o=r===f.i.Keywords,u=r===f.i.Description,h=u||o,i=c||h,m=r===f.i.Content,p=(c?t.b:s.b).slice(),g=m||h?t.s:t.t;i||p.push(s.t);let x="";if(d.CU&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append("_highlight",t);x=`?${e.toString()}`}return(0,I.jsxs)("article",{className:A.searchResultItem,children:[(0,I.jsx)("h2",{children:(0,I.jsx)(l.A,{to:t.u+x+(t.h||""),dangerouslySetInnerHTML:{__html:m||h?(0,y.Z)(g,a):(0,C.C)(g,(0,S.g)(n,"t"),a,100)}})}),p.length>0&&(0,I.jsx)("p",{className:A.searchResultItemPath,children:(0,w.$)(p)}),(m||u)&&(0,I.jsx)("p",{className:A.searchResultItemSummary,dangerouslySetInnerHTML:{__html:(0,C.C)(t.t,(0,S.g)(n,"t"),a,100)}})]})}const _=function(){return(0,I.jsx)(n.A,{children:(0,I.jsx)(R,{})})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1c1d17b7.a27cf928.js b/pr-preview/pr-1298/assets/js/1c1d17b7.a27cf928.js deleted file mode 100644 index 72568b4c75..0000000000 --- a/pr-preview/pr-1298/assets/js/1c1d17b7.a27cf928.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6277],{93529:e=>{e.exports=JSON.parse('{"title":"\u5ba1\u8ba1\u7cfb\u7edf","description":"\u5173\u4e8e\u5ba1\u8ba1\u7cfb\u7edf\u7684\u90e8\u7f72\u548c\u914d\u7f6e","slug":"/category/\u5ba1\u8ba1\u7cfb\u7edf","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf","navigation":{"previous":{"title":"VSCode","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode/"},"next":{"title":"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1c4e3edd.ddbbcb61.js b/pr-preview/pr-1298/assets/js/1c4e3edd.ddbbcb61.js deleted file mode 100644 index 0ea4adc34e..0000000000 --- a/pr-preview/pr-1298/assets/js/1c4e3edd.ddbbcb61.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6414],{23153:e=>{e.exports=JSON.parse('{"label":"scow-deployment","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment","allTagsPath":"/SCOW/pr-preview/pr-1298/blog/tags","count":3,"unlisted":false}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1df93b7f.77ad130e.js b/pr-preview/pr-1298/assets/js/1df93b7f.77ad130e.js deleted file mode 100644 index 2fe234fa99..0000000000 --- a/pr-preview/pr-1298/assets/js/1df93b7f.77ad130e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4583],{6551:(e,s,n)=>{n.r(s),n.d(s,{default:()=>j});var i=n(33985),r=n(90246),t=n(62429),a=n(68665),c=n(46601);n(48318);const o={features:"features_xdhU",featureSvg:"featureSvg__8YW"};var d=n(49214);const l=[{title:"\u65b9\u4fbf\u4f7f\u7528",image:"/img/undraw_docusaurus_react.svg",description:(0,d.jsx)(d.Fragment,{children:"SCOW\u8ba9\u8d85\u7b97\u7528\u6237\u548c\u8fd0\u7ef4\u4eba\u5458\u90fd\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u4e2d\u5b8c\u6210\u65e5\u5e38\u79d1\u7814\u548c\u8fd0\u7ef4\u4efb\u52a1\u3002"})},{title:"\u65b9\u4fbf\u90e8\u7f72",image:"/img/undraw_docusaurus_tree.svg",description:(0,d.jsx)(d.Fragment,{children:"SCOW\u4f7f\u7528\u6a21\u5757\u5316\u7ed3\u6784\uff0c\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u90e8\u7f72\u5168\u90e8\u6216\u8005\u90e8\u5206\u529f\u80fd\u3002"})},{title:"\u65b9\u4fbf\u6269\u5c55",image:"/img/undraw_docusaurus_mountain.svg",description:(0,d.jsxs)("p",{children:["\u4f7f\u7528\u4efb\u4f55\u8bed\u8a00\uff0c",(0,d.jsx)("br",{}),"\u901a\u8fc7",(0,d.jsx)(i.A,{href:"/docs/integration/scow-api-hook/api",children:"SCOW API"}),"\u8c03\u7528SCOW API\uff0c",(0,d.jsx)("br",{}),"\u6216\u8005\u901a\u8fc7",(0,d.jsx)(i.A,{href:"/docs/integration/scow-api-hook/hook",children:"SCOW Hook"}),"\u76d1\u542cSCOW\u4e8b\u4ef6"]})}];function h(e){let{title:s,image:n,description:i}=e;return(0,d.jsxs)("div",{className:(0,c.A)("col col--4"),children:[(0,d.jsx)("div",{className:"text--center",children:(0,d.jsx)("img",{className:o.featureSvg,alt:s,src:(0,r.A)(n)})}),(0,d.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,d.jsx)("h3",{children:s}),(0,d.jsx)("p",{children:i})]})]})}function u(){return(0,d.jsx)("section",{className:o.features,children:(0,d.jsx)("div",{className:"container",children:(0,d.jsx)("div",{className:"row",children:l.map(((e,s)=>(0,d.jsx)(h,{...e},s)))})})})}const x={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};function m(){const{siteConfig:e}=(0,t.A)();return(0,d.jsx)("header",{className:(0,c.A)("hero hero--primary",x.heroBanner),children:(0,d.jsxs)("div",{className:"container",children:[(0,d.jsx)("h1",{className:"hero__title",children:e.title}),(0,d.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,d.jsx)("div",{className:x.buttons,children:(0,d.jsx)(i.A,{className:"button button--secondary button--lg",to:(0,r.A)("docs/info"),children:"\u7b80\u4ecb"})})]})})}function j(){return(0,d.jsxs)(a.A,{description:"Description will go into a meta tag in ",children:[(0,d.jsx)(m,{}),(0,d.jsx)("main",{children:(0,d.jsx)(u,{})})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/1f391b9e.05180b19.js b/pr-preview/pr-1298/assets/js/1f391b9e.05180b19.js deleted file mode 100644 index 411783224a..0000000000 --- a/pr-preview/pr-1298/assets/js/1f391b9e.05180b19.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6061],{56959:(e,n,t)=>{t.r(n),t.d(n,{default:()=>u});t(48318);var i=t(46601),a=t(30763),s=t(83682),l=t(68665),r=t(19273),c=t(70829),o=t(1181);const d={mdxPageWrapper:"mdxPageWrapper_C3_b"};var m=t(49214);function u(e){const{content:n}=e,{metadata:{title:t,description:u,frontMatter:f,unlisted:v},assets:h}=n,{keywords:g,wrapperClassName:x,hide_table_of_contents:p}=f,L=h.image??f.image;return(0,m.jsx)(a.e3,{className:(0,i.A)(x??s.G.wrapper.mdxPages,s.G.page.mdxPage),children:(0,m.jsxs)(l.A,{children:[(0,m.jsx)(a.be,{title:t,description:u,keywords:g,image:L}),(0,m.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,m.jsxs)("div",{className:(0,i.A)("row",d.mdxPageWrapper),children:[(0,m.jsxs)("div",{className:(0,i.A)("col",!p&&"col--8"),children:[v&&(0,m.jsx)(o.A,{}),(0,m.jsx)("article",{children:(0,m.jsx)(r.A,{children:(0,m.jsx)(n,{})})})]}),!p&&n.toc.length>0&&(0,m.jsx)("div",{className:"col col--2",children:(0,m.jsx)(c.A,{toc:n.toc,minHeadingLevel:f.toc_min_heading_level,maxHeadingLevel:f.toc_max_heading_level})})]})})]})})}},70829:(e,n,t)=>{t.d(n,{A:()=>o});t(48318);var i=t(46601),a=t(83903);const s={tableOfContents:"tableOfContents_J_au",docItemContainer:"docItemContainer_UNai"};var l=t(49214);const r="table-of-contents__link toc-highlight",c="table-of-contents__link--active";function o(e){let{className:n,...t}=e;return(0,l.jsx)("div",{className:(0,i.A)(s.tableOfContents,"thin-scrollbar",n),children:(0,l.jsx)(a.A,{...t,linkClassName:r,linkActiveClassName:c})})}},83903:(e,n,t)=>{t.d(n,{A:()=>h});var i=t(48318),a=t(12449);function s(e){const n=e.map((e=>({...e,parentIndex:-1,children:[]}))),t=Array(7).fill(-1);n.forEach(((e,n)=>{const i=t.slice(2,e.level);e.parentIndex=Math.max(...i),t[e.level]=n}));const i=[];return n.forEach((e=>{const{parentIndex:t,...a}=e;t>=0?n[t].children.push(a):i.push(a)})),i}function l(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:i}=e;return n.flatMap((e=>{const n=l({toc:e.children,minHeadingLevel:t,maxHeadingLevel:i});return function(e){return e.level>=t&&e.level<=i}(e)?[{...e,children:n}]:n}))}function r(e){const n=e.getBoundingClientRect();return n.top===n.bottom?r(e.parentNode):n}function c(e,n){let{anchorTopOffset:t}=n;const i=e.find((e=>r(e).top>=t));if(i){return function(e){return e.top>0&&e.bottom{e.current=n?0:document.querySelector(".navbar").clientHeight}),[n]),e}function d(e){const n=(0,i.useRef)(void 0),t=o();(0,i.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:i,linkActiveClassName:a,minHeadingLevel:s,maxHeadingLevel:l}=e;function r(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(i),r=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const i=[];for(let a=n;a<=t;a+=1)i.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(i.join()))}({minHeadingLevel:s,maxHeadingLevel:l}),o=c(r,{anchorTopOffset:t.current}),d=e.find((e=>o&&o.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(a),e.classList.add(a),n.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",r),document.addEventListener("resize",r),r(),()=>{document.removeEventListener("scroll",r),document.removeEventListener("resize",r)}}),[e,t])}var m=t(33985),u=t(49214);function f(e){let{toc:n,className:t,linkClassName:i,isChild:a}=e;return n.length?(0,u.jsx)("ul",{className:a?void 0:t,children:n.map((e=>(0,u.jsxs)("li",{children:[(0,u.jsx)(m.A,{to:`#${e.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,u.jsx)(f,{isChild:!0,toc:e.children,className:t,linkClassName:i})]},e.id)))}):null}const v=i.memo(f);function h(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:r="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:o,maxHeadingLevel:m,...f}=e;const h=(0,a.p)(),g=o??h.tableOfContents.minHeadingLevel,x=m??h.tableOfContents.maxHeadingLevel,p=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:a}=e;return(0,i.useMemo)((()=>l({toc:s(n),minHeadingLevel:t,maxHeadingLevel:a})),[n,t,a])}({toc:n,minHeadingLevel:g,maxHeadingLevel:x});return d((0,i.useMemo)((()=>{if(r&&c)return{linkClassName:r,linkActiveClassName:c,minHeadingLevel:g,maxHeadingLevel:x}}),[r,c,g,x])),(0,u.jsx)(v,{toc:p,className:t,linkClassName:r,...f})}},1181:(e,n,t)=>{t.d(n,{A:()=>f});t(48318);var i=t(46601),a=t(7866),s=t(39527),l=t(49214);function r(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function c(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,l.jsx)(s.A,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(83682),m=t(35940);function u(e){let{className:n}=e;return(0,l.jsx)(m.A,{type:"caution",title:(0,l.jsx)(r,{}),className:(0,i.A)(n,d.G.common.unlistedBanner),children:(0,l.jsx)(c,{})})}function f(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(o,{}),(0,l.jsx)(u,{...e})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2000e6e1.cd603114.js b/pr-preview/pr-1298/assets/js/2000e6e1.cd603114.js deleted file mode 100644 index a64b6dee72..0000000000 --- a/pr-preview/pr-1298/assets/js/2000e6e1.cd603114.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3262],{5968:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>d,default:()=>a,frontMatter:()=>c,metadata:()=>r,toc:()=>l});var s=n(49214),t=n(5409);const c={sidebar_position:5,title:"\u7cfb\u7edf\u521d\u59cb\u5316"},d="\u7ba1\u7406\u7cfb\u7edf\u521d\u59cb\u5316",r={id:"deploy/config/mis/init/index",title:"\u7cfb\u7edf\u521d\u59cb\u5316",description:"\u5f53\u7ba1\u7406\u7cfb\u7edf\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u8bbf\u95ee\u90e8\u7f72\u8def\u5f84\u7684/init\u8def\u5f84\u4e0b\uff0c\u5373\u53ef\u8fdb\u884c\u7ba1\u7406\u7cfb\u7edf\u7684\u521d\u59cb\u5316\u9875\u9762\u3002",source:"@site/docs/deploy/config/mis/init/index.md",sourceDirName:"deploy/config/mis/init",slug:"/deploy/config/mis/init/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/mis/init/index.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"\u7cfb\u7edf\u521d\u59cb\u5316"},sidebar:"deploy",previous:{title:"\u540c\u6b65\u5c01\u9501\u72b6\u6001",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync"},next:{title:"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor/"}},o={},l=[{value:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",id:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",level:2},{value:"\u67e5\u770b\u7cfb\u7edf\u7684\u7528\u6237\u548c\u8d26\u6237\uff0c\u8bbe\u7f6e\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237",id:"\u67e5\u770b\u7cfb\u7edf\u7684\u7528\u6237\u548c\u8d26\u6237\u8bbe\u7f6e\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237",level:2},{value:"\u6dfb\u52a0\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237",id:"\u6dfb\u52a0\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237",level:2},{value:"\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868",id:"\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868",level:2},{value:"\u5b8c\u6210\u521d\u59cb\u5316",id:"\u5b8c\u6210\u521d\u59cb\u5316",level:2}];function p(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h1,{id:"\u7ba1\u7406\u7cfb\u7edf\u521d\u59cb\u5316",children:"\u7ba1\u7406\u7cfb\u7edf\u521d\u59cb\u5316"}),"\n",(0,s.jsxs)(i.p,{children:["\u5f53\u7ba1\u7406\u7cfb\u7edf\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u8bbf\u95ee\u90e8\u7f72\u8def\u5f84\u7684",(0,s.jsx)(i.code,{children:"/init"}),"\u8def\u5f84\u4e0b\uff0c\u5373\u53ef\u8fdb\u884c\u7ba1\u7406\u7cfb\u7edf\u7684\u521d\u59cb\u5316\u9875\u9762\u3002"]}),"\n",(0,s.jsx)(i.h2,{id:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",children:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f"}),"\n",(0,s.jsx)(i.p,{children:"\u5728\u7b2c\u4e00\u4e2a\u9009\u9879\u5361\u91cc\uff0c\u60a8\u53ef\u4ee5\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f\u3002\u6839\u636e\u6240\u4f7f\u7528\u7684\u8c03\u5ea6\u5668\u4e0d\u540c\uff0c\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u7684\u65b9\u5f0f\u4e5f\u6709\u6240\u4e0d\u540c\u3002"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm#%E5%AF%BC%E5%85%A5%E5%B7%B2%E6%9C%89%E7%94%A8%E6%88%B7%E4%BF%A1%E6%81%AF",children:"slurm"})}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",src:n(75806).A+"",width:"885",height:"769"})}),"\n",(0,s.jsx)(i.h2,{id:"\u67e5\u770b\u7cfb\u7edf\u7684\u7528\u6237\u548c\u8d26\u6237\u8bbe\u7f6e\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237",children:"\u67e5\u770b\u7cfb\u7edf\u7684\u7528\u6237\u548c\u8d26\u6237\uff0c\u8bbe\u7f6e\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237"}),"\n",(0,s.jsx)(i.p,{children:"\u5728\u7b2c\u4e8c\u4e2a\u9009\u9879\u5361\u91cc\uff0c\u60a8\u53ef\u4ee5\u67e5\u770b\u7cfb\u7edf\u5f53\u524d\u9ed8\u8ba4\u79df\u6237\u4e0b\u7684\u7528\u6237\u548c\u8d26\u6237\uff0c\u4ee5\u53ca\u8bbe\u7f6e\u7528\u6237\u7684\u5e73\u53f0\u89d2\u8272\u548c\u79df\u6237\u89d2\u8272\u3002\u5176\u4e2d\u5e73\u53f0\u89d2\u8272\u5305\u62ec\u5e73\u53f0\u7ba1\u7406\u5458\u548c\u8d22\u52a1\u4eba\u5458\uff0c\u79df\u6237\u89d2\u8272\u5305\u62ec\u79df\u6237\u7ba1\u7406\u5458\u548c\u8d22\u52a1\u4eba\u5458\u3002"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"\u7ba1\u7406\u7cfb\u7edf\u7684\u7528\u6237\u548c\u8d26\u6237",src:n(32180).A+"",width:"987",height:"787"})}),"\n",(0,s.jsx)(i.h2,{id:"\u6dfb\u52a0\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237",children:"\u6dfb\u52a0\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237"}),"\n",(0,s.jsx)(i.p,{children:"\u5728\u7b2c\u4e09\u4e2a\u9009\u9879\u5361\u91cc\uff0c\u60a8\u53ef\u4ee5\u6dfb\u52a0\u7cfb\u7edf\u7684\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237\u3002\u521d\u59cb\u7ba1\u7406\u5458\u65e2\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u4e5f\u662f\u79df\u6237\u7ba1\u7406\u5458\u3002\u6ce8\u610f\uff0c\u8fd9\u91cc\u6dfb\u52a0\u7684\u7528\u6237\u7684\u7528\u6237ID\u5fc5\u987b\u548c\u8ba4\u8bc1\u7cfb\u7edf\u91cc\u7684\u7528\u6237ID\u76f8\u540c\u3002"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"\u6dfb\u52a0\u5e73\u53f0\u7ba1\u7406\u5458\u7528\u6237",src:n(82337).A+"",width:"1707",height:"938"})}),"\n",(0,s.jsx)(i.h2,{id:"\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868",children:"\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868"}),"\n",(0,s.jsxs)(i.p,{children:["\u5728\u7b2c\u4e09\u4e2a\u9009\u9879\u5361\u4e2d\uff0c\u60a8\u53ef\u4ee5\u8bbe\u7f6e\u4f5c\u4e1a\u4ef7\u683c\u8868\u3002\u8bf7\u53c2\u8003",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing#%E4%BB%8E%E7%BD%91%E9%A1%B5%E7%BC%96%E8%BE%91%E4%BD%9C%E4%B8%9A%E4%BB%B7%E6%A0%BC%E8%A1%A8",children:"\u8ba1\u8d39\u6536\u8d39\u6a21\u578b"}),"\u6587\u6863\u4e86\u89e3\u7cfb\u7edf\u8ba1\u8d39\u6536\u8d39\u6a21\u578b\u4ee5\u53ca\u5982\u4f55\u4fee\u6539\u4f5c\u4e1a\u4ef7\u683c\u8868\u3002"]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"\u4fee\u6539\u4f5c\u4e1a\u4ef7\u683c\u8868",src:n(14665).A+"",width:"1924",height:"1316"})}),"\n",(0,s.jsx)(i.admonition,{type:"tip",children:(0,s.jsx)(i.p,{children:"\u82e5\u67d0\u4e2a(\u96c6\u7fa4,\u5206\u533a,QOS)\u9879\u672a\u8bbe\u7f6e\u8ba1\u8d39\u4ef7\u683c\uff0c\u5219\u4f7f\u7528\u8be5(\u96c6\u7fa4,\u5206\u533a,QOS)\u9879\u63d0\u4ea4\u7684\u4f5c\u4e1a\u5c06\u4e0d\u4f1a\u88ab\u5bfc\u5165\u5230\u5df2\u5b8c\u6210\u7684\u4f5c\u4e1a\u5217\u8868\uff01"})}),"\n",(0,s.jsx)(i.h2,{id:"\u5b8c\u6210\u521d\u59cb\u5316",children:"\u5b8c\u6210\u521d\u59cb\u5316"}),"\n",(0,s.jsxs)(i.p,{children:["\u5f53\u60a8\u5b8c\u6210\u7cfb\u7edf\u7684\u521d\u59cb\u5316\u540e\uff0c\u8bf7\u4e00\u5b9a\u70b9\u51fb\u5e76\u786e\u8ba4",(0,s.jsx)(i.strong,{children:"\u5b8c\u6210\u521d\u59cb\u5316"}),"\u6309\u94ae\u3002"]}),"\n",(0,s.jsx)(i.admonition,{type:"tip",children:(0,s.jsx)(i.p,{children:"\u672a\u5b8c\u6210\u521d\u59cb\u5316\u7684\u7cfb\u7edf\u5c06\u4f1a\u5141\u8bb8\u4efb\u4f55\u7528\u6237\u6267\u884c\u4e0a\u8ff0\u4e09\u4e2a\u64cd\u4f5c\uff0c\u6240\u4ee5\u8bf7\u4e00\u5b9a\u8981\u786e\u8ba4\u521d\u59cb\u5316\uff01"})}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"\u521d\u59cb\u5316\u5b8c\u6210",src:n(2882).A+"",width:"797",height:"357"})})]})}function a(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},82337:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/add-init-admins-1f2f3bf2f81fec13f49f57fa9e1a6a9b.png"},75806:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/import-users-bf3cfc54075a63287a0b7dbf5ce0d53c.png"},2882:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/init-complete-d9c8a5ace34b378afc712ce8dc39e60f.png"},14665:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/init-prices-5a570b2331f983023b46c9c932e8b28f.png"},32180:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/manage-users-69fc6c0a0176870ad3f1186b2163b536.png"},5409:(e,i,n)=>{n.d(i,{R:()=>d,x:()=>r});var s=n(48318);const t={},c=s.createContext(t);function d(e){const i=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2046b0a8.97619a45.js b/pr-preview/pr-1298/assets/js/2046b0a8.97619a45.js deleted file mode 100644 index 05e1204116..0000000000 --- a/pr-preview/pr-1298/assets/js/2046b0a8.97619a45.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6578],{69402:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>p,toc:()=>a});var n=t(49214),s=t(5409);const o={},i=void 0,p={id:"refs/config/mis/definition-properties-accountnamepattern-properties-errormessage",title:"definition-properties-accountnamepattern-properties-errormessage",description:"errorMessage Type",source:"@site/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"mis",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/"},next:{title:"definition-properties-accountnamepattern-properties-regex",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex"}},c={},a=[{value:"errorMessage Type",id:"errormessage-type",level:2}];function m(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h2,{id:"errormessage-type",children:"errorMessage Type"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})})]})}function d(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>i,x:()=>p});var n=t(48318);const s={},o=n.createContext(s);function i(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/20b0fd8e.4a26b9df.js b/pr-preview/pr-1298/assets/js/20b0fd8e.4a26b9df.js deleted file mode 100644 index 6819ac880e..0000000000 --- a/pr-preview/pr-1298/assets/js/20b0fd8e.4a26b9df.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8840],{26875:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>n,default:()=>f,frontMatter:()=>p,metadata:()=>s,toc:()=>a});var o=t(49214),i=t(5409);const p={},n=void 0,s={id:"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-",title:"definition-properties-primarycolor-properties-hostnamemap-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-primarycolor-properties-defaultcolor",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor"},next:{title:"definition-properties-primarycolor-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties"}},c={},a=[{value:"^.*$ Type",id:"-type",level:2}];function d(e){const r={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,o.jsx)(r.p,{children:(0,o.jsx)(r.code,{children:"string"})})]})}function f(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>n,x:()=>s});var o=t(48318);const i={},p=o.createContext(i);function n(e){const r=o.useContext(p);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),o.createElement(p.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/235dd83b.bfc1eec4.js b/pr-preview/pr-1298/assets/js/235dd83b.bfc1eec4.js deleted file mode 100644 index 4755389326..0000000000 --- a/pr-preview/pr-1298/assets/js/235dd83b.bfc1eec4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3758],{48440:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var a=e(49214),r=e(5409);const s={sidebar_position:2,title:"vagrant\u73af\u5883\u642d\u5efa"},i=void 0,o={id:"deploy/get-started/vagrant/vagrant-env",title:"vagrant\u73af\u5883\u642d\u5efa",description:"vagrant\u652f\u6301\u7684provider\u5305\u62ecvirtualbox\u3001hyperv\u3001libvirt\u7b49\u3002virtualbox\u652f\u6301windows\u3001linux\u3001macos\u7684\u5b89\u88c5\uff0c\u56e0\u6b64\u672c\u6559\u7a0b\u4ee5virtualbox\u4f5c\u4e3aprovider\u3002",source:"@site/docs/deploy/get-started/vagrant/vagrant-env.md",sourceDirName:"deploy/get-started/vagrant",slug:"/deploy/get-started/vagrant/vagrant-env",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/get-started/vagrant/vagrant-env.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"vagrant\u73af\u5883\u642d\u5efa"},sidebar:"deploy",previous:{title:"\u4f7f\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/"},next:{title:"\u81ea\u5b9a\u4e49\u90e8\u7f72",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization"}},d={},l=[{value:"1. \u5b89\u88c5virtualbox",id:"1-\u5b89\u88c5virtualbox",level:2},{value:"2. \u5b89\u88c5vagrant",id:"2-\u5b89\u88c5vagrant",level:2},{value:"3. vagrant\u57fa\u672c\u64cd\u4f5c",id:"3-vagrant\u57fa\u672c\u64cd\u4f5c",level:2}];function v(t){const n={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,r.R)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"vagrant\u652f\u6301\u7684provider\u5305\u62ecvirtualbox\u3001hyperv\u3001libvirt\u7b49\u3002virtualbox\u652f\u6301windows\u3001linux\u3001macos\u7684\u5b89\u88c5\uff0c\u56e0\u6b64\u672c\u6559\u7a0b\u4ee5virtualbox\u4f5c\u4e3aprovider\u3002"}),"\n",(0,a.jsx)(n.h2,{id:"1-\u5b89\u88c5virtualbox",children:"1. \u5b89\u88c5virtualbox"}),"\n",(0,a.jsxs)(n.p,{children:["\u70b9\u51fb\u8fdb\u5165",(0,a.jsx)(n.a,{href:"https://www.virtualbox.org/wiki/Downloads",children:"\u5b98\u7f51"}),"\u4e0b\u8f7dvirtualbox"]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"image-20221121104833452",src:e(11523).A+"",width:"1905",height:"574"})}),"\n",(0,a.jsx)(n.p,{children:"\u6b64\u5904\u53ef\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u9009\u62e9Windows\u7248\u672c\u4e0b\u8f7d\u3001\u5b89\u88c5(\u5176\u4ed6\u64cd\u4f5c\u7cfb\u7edf\u7c7b\u4f3c)\u3002"}),"\n",(0,a.jsx)(n.p,{children:"\u5b89\u88c5\u8fc7\u7a0b\u6bd4\u8f83\u7b80\u5355\uff0c\u8ddf\u7740\u6307\u5f15\u5373\u53ef\u3002"}),"\n",(0,a.jsx)(n.h2,{id:"2-\u5b89\u88c5vagrant",children:"2. \u5b89\u88c5vagrant"}),"\n",(0,a.jsxs)(n.p,{children:["\u70b9\u51fb\u8fdb\u5165",(0,a.jsx)(n.a,{href:"https://developer.hashicorp.com/vagrant/downloads",children:"\u5b98\u7f51"}),"\u4e0b\u8f7dvagrant"]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"image-20221121104754043",src:e(84700).A+"",width:"1901",height:"797"})}),"\n",(0,a.jsx)(n.p,{children:"\u8fd9\u91cc\u9009\u62e9Windows 64\u4f4d\u7248\u672c\uff0c\u5b89\u88c5\u8fc7\u7a0b\u8ddf\u7740\u6307\u5f15\u5373\u53ef\u3002"}),"\n",(0,a.jsx)(n.h2,{id:"3-vagrant\u57fa\u672c\u64cd\u4f5c",children:"3. vagrant\u57fa\u672c\u64cd\u4f5c"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-Bash",children:"# \u65b0\u5efa\u865a\u62df\u673a\uff0c\u4ee5\u521b\u5efa\u4e00\u4e2acentos7\u865a\u62df\u673a\u4e3a\u4f8b\n\n# 1. \u521d\u59cb\u5316\nvagrant init centos/7\n\n# 2. \u542f\u52a8\uff0c\u521d\u6b21\u542f\u52a8\u4f1a\u6bd4\u8f83\u6162\uff0c\u9700\u8981\u62c9\u955c\u50cf\nvagrant up\n\n# 3. \u67e5\u770b\u72b6\u6001\nvagrant status\n\n# 4. ssh\u5230\u865a\u673a\nvagrant ssh\n \n# 5. \u505c\u6b62\u865a\u673a\nvagrant halt\n \n# 6. \u6682\u505c\u865a\u673a\nvagrant suspend\n \n# 7. \u6062\u590d\u865a\u673a\nvagrant resume\n \n# 8. \u5220\u9664\u865a\u673a\nvagrant destroy\n"})})]})}function c(t={}){const{wrapper:n}={...(0,r.R)(),...t.components};return n?(0,a.jsx)(n,{...t,children:(0,a.jsx)(v,{...t})}):v(t)}},84700:(t,n,e)=>{e.d(n,{A:()=>a});const a=e.p+"assets/images/vagrant-download-9c064b07d4aa5b85ee9ea3750725e93f.png"},11523:(t,n,e)=>{e.d(n,{A:()=>a});const a=e.p+"assets/images/virtualbox-download-d6ba0365937ab8ddc39b30bbf729554b.png"},5409:(t,n,e)=>{e.d(n,{R:()=>i,x:()=>o});var a=e(48318);const r={},s=a.createContext(r);function i(t){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function o(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),a.createElement(s.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/24164a22.7cbb31f8.js b/pr-preview/pr-1298/assets/js/24164a22.7cbb31f8.js deleted file mode 100644 index fbc7b8dab9..0000000000 --- a/pr-preview/pr-1298/assets/js/24164a22.7cbb31f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9893],{34185:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=r(49214),c=r(5409);const l={slug:"scow-scheduler-adapter",title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",authors:["quhan"],tags:["scow","scow-scheduler-adapter"]},t=void 0,i={permalink:"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-06-26-scow-scheduler-adapter.md",source:"@site/blog/2023-06-26-scow-scheduler-adapter.md",title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",description:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",date:"2023-06-26T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-scheduler-adapter",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter"}],readingTime:2.935,hasTruncateMarker:!1,authors:[{name:"Qu Han",title:"Developer",imageURL:"https://avatars.githubusercontent.com/u/98016770",key:"quhan"}],frontMatter:{slug:"scow-scheduler-adapter",title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",authors:["quhan"],tags:["scow","scow-scheduler-adapter"]},unlisted:!1,prevItem:{title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",permalink:"/SCOW/pr-preview/pr-1298/blog/update-portal-app"},nextItem:{title:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-cli-release"}},o={authorsImageUrls:[void 0]},d=[{value:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:2},{value:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:2},{value:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7",id:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7",level:2},{value:"1. \u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"1-\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:3},{value:"2. \u4fee\u6539SCOW\u914d\u7f6e\u6587\u4ef6",id:"2-\u4fee\u6539scow\u914d\u7f6e\u6587\u4ef6",level:3},{value:"3. \u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93",id:"3-\u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93",level:3}];function h(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,c.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsx)(s.p,{children:"SCOW\u662f\u5efa\u7acb\u5728\u5e95\u5c42\u4f5c\u4e1a\u8c03\u5ea6\u5668\u57fa\u7840\u4e0a\u7684\u7cfb\u7edf\uff0c\u5b83\u901a\u8fc7\u4e0e\u5e95\u5c42\u8c03\u5ea6\u5668\u8fdb\u884c\u529f\u80fd\u5bf9\u63a5\uff0c\u5411\u7528\u6237\u63d0\u4f9b\u5404\u79cd\u8d85\u7b97\u529f\u80fd\u3002"}),"\n",(0,n.jsx)(s.p,{children:"\u5728\u4e4b\u524d\u7684\u5b9e\u73b0\u4e2d\uff0cscow\u76f4\u63a5\u4e0e\u4f5c\u4e1a\u8c03\u5ea6\u5668\u672c\u8eab\u4ea4\u4e92\uff0c\u56e0\u6b64scow\u5fc5\u987b\u77e5\u9053\u5e95\u5c42\u8c03\u5ea6\u5668\u5185\u90e8\u7684\u67d0\u4e9b\u7ec6\u8282\uff0c\n\u5bfc\u81f4scow\u5185\u90e8\u7684\u67d0\u4e9b\u4ee3\u7801\u662f\u4e0e\u8c03\u5ea6\u5668\u79cd\u7c7b\u76f4\u63a5\u76f8\u5173\u7684\uff08\u5982\u6700\u5148\u9002\u914d\u7684slurm\uff09\uff0c\u8fd9\u4f1a\u4f7f\u9002\u914d\u5176\u5b83\u8c03\u5ea6\u5668\u65f6\u6bd4\u8f83\u9ebb\u70e6\u3002"}),"\n",(0,n.jsxs)(s.p,{children:["\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff08",(0,n.jsx)(s.code,{children:"scheduler-adapter"}),"\uff09\u5219\u662f\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e00\u95ee\u9898\uff0c\u901a\u8fc7\u4e00\u5c42\u9002\u914d\u5668\u5c42\uff0cscow\u53ea\u4e0e\u9002\u914d\u5668\u8fdb\u884c\u4ea4\u4e92\uff0c\n\u9002\u914d\u5668\u518d\u5bf9\u63a5\u4f5c\u4e1a\u8c03\u5ea6\u5668\uff0c\u5b9e\u73b0scow\u9700\u8981\u7684\u8c03\u5ea6\u5668\u529f\u80fd\u3002"]}),"\n",(0,n.jsx)(s.h2,{id:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"\u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsxs)(s.p,{children:["\u8c03\u5ea6\u5668\u9002\u914d\u5668\u672c\u8d28\u4e0a\u662f\u4e00\u4e2agRPC\u670d\u52a1\u5668\uff0c\u5b83\u5b9e\u73b0\u4e86scow\u5b9a\u4e49\u7684\u4e00\u5957",(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-scheduler-adapter-interface",children:"\u63a5\u53e3"}),"\uff0c\nscow\u53ea\u4f1a\u8c03\u7528\u8fd9\u5957\u63a5\u53e3\u6765\u5b9e\u73b0\u8c03\u5ea6\u5668\u529f\u80fd\u3002"]}),"\n",(0,n.jsx)(s.p,{children:"\u56e0\u6b64\uff0c\u53ea\u9700\u8981\u4e3a\u5bf9\u5e94\u79cd\u7c7b\u7684\u4f5c\u4e1a\u8c03\u5ea6\u5668\u5b9e\u73b0\u8fd9\u6837\u4e00\u4e2agRPC\u670d\u52a1\u5668\uff0c\u6ee1\u8db3\u4e0a\u8ff0\u63a5\u53e3\u5b9a\u4e49\uff0c\u5c31\u80fd\u591f\u8f7b\u677e\u5bf9\u63a5scow\u7cfb\u7edf"}),"\n",(0,n.jsx)(s.p,{children:"\u6211\u4eec\u5df2\u7ecf\u5b9e\u73b0\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff1a"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter",children:"slurm"})}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7",children:"\u5982\u4f55\u5e73\u6ed1\u5347\u7ea7"}),"\n",(0,n.jsx)(s.p,{children:"\u8fd9\u4e00\u90e8\u5206\u4ecb\u7ecd\u5982\u4f55\u4ece\u65e7\u7248\u672cscow\u5347\u7ea7\u81f3\u65b0\u7248\u672c\uff0c\u4f7f\u7528\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsx)(s.h3,{id:"1-\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"1. \u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,n.jsx)(s.p,{children:"\u9996\u5148\u9700\u8981\u786e\u4fdd\u60a8\u7684\u96c6\u7fa4\u4e0a\u90e8\u7f72\u4e86\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff0c\u5f97\u5230\u8bbf\u95ee\u5b83\u7684\u5730\u5740\u53ca\u7aef\u53e3\u53f7"}),"\n",(0,n.jsx)(s.p,{children:"\u90e8\u7f72\u9002\u914d\u5668\u53ef\u53c2\u8003\u6587\u6863\uff1a"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter",children:"slurm"})}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"2-\u4fee\u6539scow\u914d\u7f6e\u6587\u4ef6",children:"2. \u4fee\u6539SCOW\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,n.jsxs)(s.p,{children:["\u9996\u5148\u786e\u4fdd\u60a8\u4f7f\u7528\u4e86\u6700\u65b0\u7684SCOW\u955c\u50cf\uff08\u53ef\u67e5\u770b",(0,n.jsx)(s.code,{children:"install.yaml"}),"\u4e2d\u7684",(0,n.jsx)(s.code,{children:"imageTag"}),"\u5b57\u6bb5\uff09"]}),"\n",(0,n.jsxs)(s.p,{children:["\u5728\u7528\u4e8e\u90e8\u7f72scow\u7684",(0,n.jsx)(s.code,{children:"scow-deployment"}),"\u6587\u4ef6\u5939\u4e2d\uff0c\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff1a"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["\u9996\u5148\u4fee\u6539",(0,n.jsx)(s.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",children:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"})]}),"\n",(0,n.jsxs)(s.p,{children:["\u4e3b\u8981\u53d8\u5316\u4e3a\u5220\u9664",(0,n.jsx)(s.code,{children:"slurm"}),"\u914d\u7f6e\u9879, \u5c06",(0,n.jsx)(s.code,{children:"loginNodes"}),"\u914d\u7f6e\u9879\u4f5c\u4e3a\u72ec\u7acb\u7684\u4e00\u9879\u914d\u7f6e\u3002\u65b0\u589e",(0,n.jsx)(s.code,{children:"adapterUrl"}),"\u914d\u7f6e\u9879\uff0c\u6807\u8bc6\u9002\u914d\u5668\u5730\u5740"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["\u4fee\u6539",(0,n.jsx)(s.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro",children:"\u7ba1\u7406\u7cfb\u7edf\u914d\u7f6e\u6587\u4ef6"})]}),"\n",(0,n.jsxs)(s.p,{children:["\u5220\u9664\u4e86",(0,n.jsx)(s.code,{children:"fetchJobs"}),"\u914d\u7f6e\u9879\u4e2d\u7684",(0,n.jsx)(s.code,{children:"db"}),"\u9879\uff0c\u5373\u4e0d\u518d\u91c7\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93\uff0c\u901a\u8fc7\u9002\u914d\u5668\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"3-\u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93",children:"3. \u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93"}),"\n",(0,n.jsxs)(s.p,{children:["\u90e8\u7f72\u4f7f\u7528\u9002\u914d\u5668\u540e\uff0c\u53ef\u4ee5\u4e0d\u518d\u90e8\u7f72",(0,n.jsx)(s.a,{href:"https://github.com/PKUHPC/export-jobs",children:(0,n.jsx)(s.code,{children:"export-jobs"})}),"\u9879\u76ee\uff0c\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f\u7684\u529f\u80fd\u7531\u9002\u914d\u5668\u5b8c\u6210"]})]})}function a(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},5409:(e,s,r)=>{r.d(s,{R:()=>t,x:()=>i});var n=r(48318);const c={},l=n.createContext(c);function t(e){const s=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:t(e.components),n.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/264eac15.73926e83.js b/pr-preview/pr-1298/assets/js/264eac15.73926e83.js deleted file mode 100644 index 792af69658..0000000000 --- a/pr-preview/pr-1298/assets/js/264eac15.73926e83.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2796],{72223:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>i,contentTitle:()=>t,default:()=>a,frontMatter:()=>c,metadata:()=>d,toc:()=>l});var r=o(49214),s=o(5409);const c={sidebar_position:6,title:"\u914d\u7f6e\u5e94\u7528\u56fe\u6807"},t="\u914d\u7f6e\u5e94\u7528\u56fe\u6807",d={id:"deploy/config/portal/apps/configure-app-logo",title:"\u914d\u7f6e\u5e94\u7528\u56fe\u6807",description:"Web\u548cVNC\u7c7b\u5e94\u7528\u90fd\u53ef\u4ee5\u901a\u8fc7logoPath\u914d\u7f6e\u9879\uff0c\u4fee\u6539\u521b\u5efa\u5e94\u7528\u7684\u56fe\u6807\u3002",source:"@site/docs/deploy/config/portal/apps/configure-app-logo.md",sourceDirName:"deploy/config/portal/apps",slug:"/deploy/config/portal/apps/configure-app-logo",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/configure-app-logo.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"\u914d\u7f6e\u5e94\u7528\u56fe\u6807"},sidebar:"deploy",previous:{title:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps"},next:{title:"\u914d\u7f6e\u8bf4\u660e\u6587\u5b57",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment"}},i={},l=[{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2}];function p(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u914d\u7f6e\u5e94\u7528\u56fe\u6807",children:"\u914d\u7f6e\u5e94\u7528\u56fe\u6807"}),"\n",(0,r.jsxs)(n.p,{children:["Web\u548cVNC\u7c7b\u5e94\u7528\u90fd\u53ef\u4ee5\u901a\u8fc7",(0,r.jsx)(n.code,{children:"logoPath"}),"\u914d\u7f6e\u9879\uff0c\u4fee\u6539\u521b\u5efa\u5e94\u7528\u7684\u56fe\u6807\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u7ba1\u7406\u5458\u901a\u8fc7\u628a\u5b58\u653e\u5728\u548c",(0,r.jsx)(n.code,{children:"install.yml"}),"\u540c\u7ea7\u7684",(0,r.jsx)(n.code,{children:"public"}),"\u76ee\u5f55\u4e0b\u56fe\u7247\u6587\u4ef6\u7684\u8def\u5f84\u6dfb\u52a0\u5230",(0,r.jsx)(n.code,{children:"logoPath"}),"\u6765\u8fdb\u884c\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u3002\u516c\u5171\u6587\u4ef6\u8def\u5f84\u7684\u4f7f\u7528\u8be6\u89c1",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files",children:"\u516c\u5171\u6587\u4ef6"}),"\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u7ba1\u7406\u5458\u6240\u6dfb\u52a0\u7684\u56fe\u7247\u6587\u4ef6\u540e\u7f00\u5e94\u4e3a\u5e38\u7528\u56fe\u7247\u6587\u4ef6",(0,r.jsx)(n.code,{children:".svg"}),"\uff0c",(0,r.jsx)(n.code,{children:".png"}),"\u6216\u8005",(0,r.jsx)(n.code,{children:".jpg"}),"\u7b49\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u5c06\u56fe\u7247",(0,r.jsx)(n.code,{children:"app1.svg"}),"\u4e0a\u4f20\u5230\u516c\u5171\u6587\u4ef6",(0,r.jsx)(n.code,{children:"public"}),"\u76ee\u5f55\u4e0b\u65b0\u5efa\u7684",(0,r.jsx)(n.code,{children:"apps"}),"\u8def\u5f84\u4e0b,\u5219\u5728\u914d\u7f6e\u65f6\u9700\u586b\u5199",(0,r.jsx)(n.code,{children:'logoPath:"/apps/app1.svg"'}),"\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"logoPath"}),"\u53ef\u4ee5\u9009\u586b\uff0c\u5982\u4e0d\u586b\u5199\uff0c\u5219\u5c06\u7edf\u4e00\u663e\u793a\u7cfb\u7edf\u9ed8\u8ba4\u56fe\u7247\u56fe\u6807\u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,r.jsx)(n.p,{children:"\u65e0\u8bbaWeb\u7c7b\u5e94\u7528\u8fd8\u662fVNC\u7c7b\u5e94\u7528\uff0c\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u65b9\u6cd5\u90fd\u76f8\u540c\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["\u4ee5",(0,r.jsx)(n.a,{href:"https://github.com/coder/code-server",children:"coder/code-server"}),"\u521b\u5efaVSCode\u4e3a\u4f8b\uff0c\u5e26\u6709\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u7684\u914d\u7f6e\u6587\u4ef6\u5982\u4e0b\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/vscode.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: vscode\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: VSCode\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u56fe\u6807\u56fe\u7247\u5728\u516c\u5171\u6587\u4ef6\u4e0b\u7684\u5730\u5740\nlogoPath: /apps/VScode.svg\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u4f7f\u7528\u4e86\u7528\u6237\u5728\u81ea\u5b9a\u4e49\u8868\u5355\u4e2d\u9009\u62e9\u7684\u9009\u9879\n script: |\n module load ${selectVersion}\n PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n\n# \u914d\u7f6eHTML\u8868\u5355\uff0c\u7528\u6237\u53ef\u4ee5\u6307\u5b9acode-server\u7248\u672c \nattributes:\n - type: select\n name: selectVersion\n label: \u9009\u62e9\u7248\u672c\n required: true # \u7528\u6237\u5fc5\u987b\u9009\u62e9\u4e00\u4e2a\u7248\u672c\n placeholder: \u9009\u62e9code-server\u7684\u7248\u672c # \u63d0\u793a\u4fe1\u606f\n select:\n - value: code-server/4.8.0\n label: version 4.8.0\n - value: code-server/4.9.0\n label: version 4.9.0\n'})}),"\n",(0,r.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"logoPath"}),"\u7684\u914d\u7f6e\u89e3\u91ca\u5982\u4e0b\uff1a"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"\u5c5e\u6027"}),(0,r.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,r.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u586b"}),(0,r.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"logoPath"})}),(0,r.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,r.jsx)(n.td,{children:"\u5426"}),(0,r.jsxs)(n.td,{children:["\u81ea\u5b9a\u4e49\u5e94\u7528\u56fe\u6807\u7684\u56fe\u7247\u6e90\u5730\u5740\uff0c",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files",children:"\u516c\u5171\u6587\u4ef6"}),"\u4e0b\u7684\u81ea\u5b9a\u4e49\u5e94\u7528\u56fe\u7247\u7684\u8def\u5f84\u3002\u53ef\u9009\u586b\uff0c\u5982\u672a\u586b\u5199\u5219\u663e\u793a\u7cfb\u7edf\u9ed8\u8ba4\u56fe\u7247\u56fe\u6807\u3002\u652f\u6301\u683c\u5f0f\u4e3a\u5e38\u7528\u56fe\u7247\u6587\u4ef6\u683c\u5f0f",(0,r.jsx)(n.code,{children:".svg"}),"\uff0c",(0,r.jsx)(n.code,{children:".png"}),"\u6216\u8005",(0,r.jsx)(n.code,{children:".jpg"}),"\u7b49\u3002"]})]})})]})]})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},5409:(e,n,o)=>{o.d(n,{R:()=>t,x:()=>d});var r=o(48318);const s={},c=r.createContext(s);function t(e){const n=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/270aea63.52003902.js b/pr-preview/pr-1298/assets/js/270aea63.52003902.js deleted file mode 100644 index 4ba488a295..0000000000 --- a/pr-preview/pr-1298/assets/js/270aea63.52003902.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9688],{97052:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var n=r(49214),i=r(5409);const o={title:"\u67b6\u6784",sidebar_position:2},c=void 0,s={id:"deploy/architecture/index",title:"\u67b6\u6784",description:"\u7cfb\u7edf\u5404\u4e2a\u7ec4\u4ef6\u7684\u5173\u7cfb\u5982\u4e0b\u56fe\u3002\u6b64\u90e8\u5206\u7b80\u8981\u4ecb\u7ecd\u5404\u4e2a\u7ec4\u4ef6\u7684\u529f\u80fd\uff0c\u5177\u4f53\u90e8\u7f72\u8bf7\u53c2\u8003\u5404\u4e2a\u7ec4\u4ef6\u7684\u9875\u9762\u3002",source:"@site/docs/deploy/architecture/index.md",sourceDirName:"deploy/architecture",slug:"/deploy/architecture/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/architecture/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/architecture/index.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"\u67b6\u6784",sidebar_position:2},sidebar:"deploy",previous:{title:"\u5b89\u88c5\u548c\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/"},next:{title:"\u5feb\u901f\u4f53\u9a8c",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c"}},a={},p=[];function d(e){const t={img:"img",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"\u7cfb\u7edf\u5404\u4e2a\u7ec4\u4ef6\u7684\u5173\u7cfb\u5982\u4e0b\u56fe\u3002\u6b64\u90e8\u5206\u7b80\u8981\u4ecb\u7ecd\u5404\u4e2a\u7ec4\u4ef6\u7684\u529f\u80fd\uff0c\u5177\u4f53\u90e8\u7f72\u8bf7\u53c2\u8003\u5404\u4e2a\u7ec4\u4ef6\u7684\u9875\u9762\u3002"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"\u67b6\u6784",src:r(27307).A+"",width:"1050",height:"762"})}),"\n",(0,n.jsx)(t.p,{children:"SCOW\u7531\u591a\u4e2a\u5bb9\u5668\u6a21\u5757\u7ec4\u6210\uff0c\u5305\u62ecgateway\u3001auth\u3001audit\u7b49\u57fa\u672c\u6a21\u5757\uff0c\u4f5c\u4e3a\u95e8\u6237\u7cfb\u7edf\u7684novnc-client\u3001portal-web\u3001portal-server\u6a21\u5757\uff0c\u4f5c\u4e3a\u7ba1\u7406\u7cfb\u7edf\u7684mis-web\u3001mis-server\u6a21\u5757\uff0c\u6267\u884cSCOW\u4e0e\u8ba1\u7b97\u96c6\u7fa4\u4ea4\u4e92\u7684App Proxy\u3001Adapter\u6a21\u5757\uff0c\u4ee5\u53ca\u4f5c\u4e3a\u90e8\u7f72\u5de5\u5177\u7684cli\u6a21\u5757\u3002"})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},27307:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/architecture-af0bd61dffc5a272c6b85c30b818ffa1.png"},5409:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>s});var n=r(48318);const i={},o=n.createContext(i);function c(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/27118133.d72b4c83.js b/pr-preview/pr-1298/assets/js/27118133.d72b4c83.js deleted file mode 100644 index 650f7c1c35..0000000000 --- a/pr-preview/pr-1298/assets/js/27118133.d72b4c83.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4839],{58660:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>p,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var s=i(49214),t=i(5409);const c={sidebar_label:"\u591a\u96c6\u7fa4\u7ba1\u7406",title:"\u591a\u96c6\u7fa4\u7ba1\u7406",slug:"/multi_cluster",sidebar_position:1},r=void 0,l={id:"deploy/config/multi-cluster/index",title:"\u591a\u96c6\u7fa4\u7ba1\u7406",description:"SCOW\u591a\u96c6\u7fa4\u90e8\u7f72\u67b6\u6784\u5982\u4e0b\u56fe\u6240\u793a\uff1a",source:"@site/docs/deploy/config/multi-cluster/index.md",sourceDirName:"deploy/config/multi-cluster",slug:"/multi_cluster",permalink:"/SCOW/pr-preview/pr-1298/docs/multi_cluster",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/multi-cluster/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_label:"\u591a\u96c6\u7fa4\u7ba1\u7406",title:"\u591a\u96c6\u7fa4\u7ba1\u7406",slug:"/multi_cluster",sidebar_position:1},sidebar:"deploy",previous:{title:"\u591a\u96c6\u7fa4\u7ba1\u7406",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406"},next:{title:"\u8fd0\u7ef4",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4"}},o={},d=[];function a(e){const n={admonition:"admonition",code:"code",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"SCOW\u591a\u96c6\u7fa4\u90e8\u7f72\u67b6\u6784\u5982\u4e0b\u56fe\u6240\u793a\uff1a"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"img",src:i(75658).A+"",width:"1329",height:"761"})}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsx)(n.p,{children:"SCOW\u4e3b\u8981\u670d\u52a1\u5305\u62ecportal\u3001mis\u3001auth\u3001gateway\u3001db\u3001audit\u3001cli\uff0c\u652f\u6301\u591aHPC\u96c6\u7fa4\u7ba1\u7406\uff0c\u652f\u6301\u591a\u79cd\u8c03\u5ea6\u5668(Slurm/CraneSched/K8S)\u3002\u5f85\u63a5\u5165\u7684HPC\u96c6\u7fa4\u9700\u6ee1\u8db3\u5982\u4e0b\u6761\u4ef6\uff1a"}),(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u6240\u6709\u96c6\u7fa4\u90fd\u5fc5\u987b\u4f7f\u7528\u540c\u4e00\u4e2aLDAP\uff1b"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["\u6bcf\u4e2aHPC\u96c6\u7fa4NFS\u8def\u5f84\u9700\u76f8\u540c\uff0c\u4f8b\u5982\u7528\u6237Home\u76ee\u5f55\u90fd\u4e3a",(0,s.jsx)(n.code,{children:"/data/home"}),"\uff0c\u8f6f\u4ef6\u5b89\u88c5\u76ee\u5f55\u90fd\u4e3a",(0,s.jsx)(n.code,{children:"/data/software"}),"\u3002"]}),"\n"]}),"\n"]}),(0,s.jsx)(n.p,{children:"SCOW\u591a\u96c6\u7fa4\u7ba1\u7406\u8bbe\u7f6e\uff1a"}),(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"\u5728\u6bcf\u4e2a\u96c6\u7fa4\u7ba1\u7406\u8282\u70b9\u4e0a\u542f\u52a8\u4e00\u4e2a\u9002\u914d\u5668\u670d\u52a1\uff1b"}),"\n",(0,s.jsxs)(n.li,{children:["\u6bcf\u4e2a\u96c6\u7fa4\u6709\u4e00\u4e2a\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\uff0c\u5373\u5728",(0,s.jsx)(n.code,{children:"config/clusters"}),"\u76ee\u5f55\u4e0b\u6bcf\u4e2a\u96c6\u7fa4\u6709\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\uff1b"]}),"\n",(0,s.jsx)(n.li,{children:"\u652f\u6301\u6bcf\u4e2a\u96c6\u7fa4\u72ec\u7acb\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\uff0c\u4e5f\u652f\u6301\u6240\u6709\u96c6\u7fa4\u4f7f\u7528\u5168\u5c40\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u3002"}),"\n"]})]}),"\n",(0,s.jsx)(n.p,{children:"SCOW\u63a5\u5165\u591a\u96c6\u7fa4\u90e8\u7f72\uff0c\u4e0e\u63a5\u5165\u4e00\u4e2a\u96c6\u7fa4\u7684\u533a\u522b\u4e3b\u8981\u5728\u4e8e\uff1a"}),"\n",(0,s.jsxs)(n.p,{children:["(1) \u6bcf\u4e2aslurm\u96c6\u7fa4\u6709\u4e00\u4e2a\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\uff0c\u5373\u5728",(0,s.jsx)(n.code,{children:"config/clusters"}),"\u76ee\u5f55\u4e0b\u6bcf\u4e2a\u96c6\u7fa4\u6709\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\uff0c\u5982\u4e0b\u6240\u793a\uff1a"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-Bash",children:'# \u96c6\u7fa4\u663e\u793a\u540d\u79f0\ndisplayName: hpc01\n\n#\u767b\u5f55\u8282\u70b9\u914d\u7f6e\nloginNodes:\n - name: hpc01_login01\n address: hpc01_login01\n\n#\u9002\u914d\u5668url\u914d\u7f6e\nadapterUrl: "192.168.188.102:8999"\n'})}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsx)(n.p,{children:"\u6bcf\u4e2a\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u8bf7\u6309\u7167\u8be5\u96c6\u7fa4\u7684\u5b9e\u9645\u60c5\u51b5\u4fee\u6539\u914d\u7f6e\u3002"})}),"\n",(0,s.jsxs)(n.p,{children:["(2) \u5404\u96c6\u7fa4\u72ec\u7acb\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4f4d\u4e8e",(0,s.jsx)(n.code,{children:"config/clusters/{clusterID}/apps"}),"\u76ee\u5f55\u4e0b\u3002\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\uff0c\u76ee\u5f55\u4e3a",(0,s.jsx)(n.code,{children:"config/apps"}),"(\u72ec\u7acb\u7684\u4f18\u5148\u7ea7\u9ad8\u4e8e\u5168\u5c40\u7684)\u3002"]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},75658:(e,n,i)=>{i.d(n,{A:()=>s});const s=i.p+"assets/images/multi-cluster-49e41d6904a0c2dc07981bcb4bfd1e7d.png"},5409:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>l});var s=i(48318);const t={},c=s.createContext(t);function r(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/27379729.62632731.js b/pr-preview/pr-1298/assets/js/27379729.62632731.js deleted file mode 100644 index 0ecbdfb782..0000000000 --- a/pr-preview/pr-1298/assets/js/27379729.62632731.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9771],{913:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>a});var r=s(49214),t=s(5409);const c={sidebar_label:"NFS\u5b89\u88c5\u548c\u914d\u7f6e",title:"NFS\u5b89\u88c5\u548c\u914d\u7f6e",sidebar_position:4},l=void 0,i={id:"hpccluster/nfs",title:"NFS\u5b89\u88c5\u548c\u914d\u7f6e",description:"\u672c\u65b9\u6848\u4ee5NFS\u4f5c\u4e3a\u5171\u4eab\u5b58\u50a8\u3002",source:"@site/docs/hpccluster/nfs.md",sourceDirName:"hpccluster",slug:"/hpccluster/nfs",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/nfs.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_label:"NFS\u5b89\u88c5\u548c\u914d\u7f6e",title:"NFS\u5b89\u88c5\u548c\u914d\u7f6e",sidebar_position:4},sidebar:"hpccluster",previous:{title:"\u57fa\u7840\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/basic-config"},next:{title:"slurm.conf \u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf"}},o={},a=[{value:"1. \u5b89\u88c5NFS\u670d\u52a1\u7aef",id:"1-\u5b89\u88c5nfs\u670d\u52a1\u7aef",level:2},{value:"2. \u5ba2\u6237\u7aef\u642d\u5efa",id:"2-\u5ba2\u6237\u7aef\u642d\u5efa",level:2},{value:"3. \u4f7f\u7528",id:"3-\u4f7f\u7528",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"\u672c\u65b9\u6848\u4ee5NFS\u4f5c\u4e3a\u5171\u4eab\u5b58\u50a8\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"1-\u5b89\u88c5nfs\u670d\u52a1\u7aef",children:"1. \u5b89\u88c5NFS\u670d\u52a1\u7aef"}),"\n",(0,r.jsxs)(n.p,{children:["\u9009\u62e9\u4e00\u53f0\u673a\u5668\u4f5c\u4e3aNFS\u7684\u670d\u52a1\u7aef\uff0c\u4f8b\u5982\u9009\u62e9\u670d\u52a1\u8282\u70b9",(0,r.jsx)(n.code,{children:"manage01"}),"\uff0cIP\u4e3a",(0,r.jsx)(n.code,{children:"192.168.29.106"}),"\u3002"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u5b89\u88c5NFS\u3001RPC\u670d\u52a1"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"yum install -y nfs-utils rpcbind\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u521b\u5efa\u5171\u4eab\u76ee\u5f55"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"# \u6b64\u5904\u9700\u8981\u6267\u884c\u6743\u9650\nmkdir /data\nchmod 755 /data\n"})}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["\u82e5\u9700\u5355\u72ec\u6302\u8f7d\u4e00\u4e2a\u78c1\u76d8\u4f5c\u4e3a\u5171\u4eab\u76ee\u5f55\uff0c\u53ef\u53c2\u8003\u8be5\u94fe\u63a5",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk",children:"\u6570\u636e\u76d8\u6302\u8f7d"})]})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsxs)(n.strong,{children:["\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",(0,r.jsx)(n.code,{children:"vim /etc/exports"}),"\uff0c\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9"]})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"/data *(rw,sync,insecure,no_subtree_check,no_root_squash)\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u542f\u52a8RPC\uff0cNFS\u670d\u52a1"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-Bash",children:"systemctl start rpcbind \nsystemctl start nfs-server \n\nsystemctl enable rpcbind \nsystemctl enable nfs-server\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u67e5\u770b\u670d\u52a1\u7aef\u662f\u5426\u6b63\u5e38\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"showmount -e localhost\n\n# \u6709\u5982\u4e0b\u8f93\u51fa\nExport list for localhost:\n/data *\n"})}),"\n",(0,r.jsx)(n.h2,{id:"2-\u5ba2\u6237\u7aef\u642d\u5efa",children:"2. \u5ba2\u6237\u7aef\u642d\u5efa"}),"\n",(0,r.jsx)(n.p,{children:"\u9700\u8981\u4f7f\u7528\u5171\u4eab\u5b58\u50a8\u7684\u8282\u70b9\u5305\u62ec\u6240\u6709\u7684\u767b\u5f55\u8282\u70b9\u548c\u8ba1\u7b97\u8282\u70b9"}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"\u4ee5\u4e0b\u64cd\u4f5c\u5728\u6240\u6709\u767b\u5f55\u8282\u70b9\u548c\u8ba1\u7b97\u8282\u70b9\u4e0a\u6267\u884c"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u5b89\u88c5NFS\u5ba2\u6237\u7aefnfs-utils"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"yum install nfs-utils -y\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u67e5\u770b\u670d\u52a1\u7aef\u53ef\u5171\u4eab\u7684\u76ee\u5f55"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"# 192.168.29.106\u4e3aNFS\u670d\u52a1\u7aefIP\nshowmount -e 192.168.29.106\n\n# \u6709\u5982\u4e0b\u8f93\u51fa\nExport list for 192.168.29.106:\n/data *\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u6302\u8f7d\u670d\u52a1\u7aef\u5171\u4eab\u76ee\u5f55"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"# \u521b\u5efa\u76ee\u5f55\nmkdir /data\n#\u5c06\u5171\u4eab\u5b58\u50a8/data \u6302\u8f7d\u81f3192.168.29.106\u670d\u52a1\u5668\u7684/data\u76ee\u5f55\u4e0b\nmount 192.168.29.106:/data /data -o proto=tcp -o nolock\n\n# \u8bbe\u7f6e\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\nvim /etc/fstab\n# \u5728\u6587\u6863\u672b\u5c3e\u6dfb\u52a0\n192.168.29.106:/data /data nfs rw,auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u67e5\u770b\u6302\u8f7d"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"df -h |grep data\n\n# \u6709\u5982\u4e0b\u8f93\u51fa\n192.168.29.106:/data 79G 56M 75G 1% /data\n"})}),"\n",(0,r.jsx)(n.h2,{id:"3-\u4f7f\u7528",children:"3. \u4f7f\u7528"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u6d4b\u8bd5"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:'# \u4f8b\u5982\u5728NFS\u670d\u52a1\u7aef\u8282\u70b9(\u5176\u4ed6\u8282\u70b9\u4e5f\u53ef\u4ee5)\u5199\u5165\u4e00\u4e2a\u6d4b\u8bd5\u6587\u4ef6\necho "hello nfs server" > /data/test.txt\n\ncat /data/test.txt\n# \u5728\u670d\u52a1\u7aef\u8282\u70b9\u6216\u5ba2\u6237\u7aef\u8282\u70b9\u5747\u53ef\u4ee5\u67e5\u770b\u4ee5\u4e0b\u5185\u5bb9\nhello nfs server\n'})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u521b\u5efa\u76ee\u5f55"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-PowerShell",children:"# \u521b\u5efahome\u76ee\u5f55\u4f5c\u4e3a\u7528\u6237\u5bb6\u76ee\u5f55\u7684\u96c6\u5408\uff0c\u53ef\u81ea\u5b9a\u4e49\nmkdir /data/home\n\n# \u521b\u5efasoftware\u76ee\u5f55\u4f5c\u4e3a\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u5b89\u88c5\u76ee\u5f55\nmkdir /data/software\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>i});var r=s(48318);const t={},c=r.createContext(t);function l(e){const n=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),r.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2781b32a.63575cee.js b/pr-preview/pr-1298/assets/js/2781b32a.63575cee.js deleted file mode 100644 index a1ee6c3bd6..0000000000 --- a/pr-preview/pr-1298/assets/js/2781b32a.63575cee.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2941],{65766:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>a,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var s=i(49214),t=i(5409);const l={},r=void 0,d={id:"refs/config/portal/definition-properties-logindesktop",title:"definition-properties-logindesktop",description:"loginDesktop Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop-properties-wms",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms"},next:{title:"definition-properties-misurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl"}},o={},p=[{value:"loginDesktop Type",id:"logindesktop-type",level:2},{value:"enabled",id:"enabled",level:2},{value:"enabled Type",id:"enabled-type",level:3},{value:"enabled Default Value",id:"enabled-default-value",level:3},{value:"wms",id:"wms",level:2},{value:"wms Type",id:"wms-type",level:3},{value:"wms Default Value",id:"wms-default-value",level:3},{value:"maxDesktops",id:"maxdesktops",level:2},{value:"maxDesktops Type",id:"maxdesktops-type",level:3},{value:"maxDesktops Default Value",id:"maxdesktops-default-value",level:3}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"logindesktop-type",children:"loginDesktop Type"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"object"})," (",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",children:"Details"}),")"]}),"\n",(0,s.jsx)(n.h1,{id:"logindesktop-properties",children:"loginDesktop Properties"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Property"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Nullable"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"#enabled",children:"enabled"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled",title:"undefined#/properties/loginDesktop/properties/enabled",children:"Untitled schema"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"#wms",children:"wms"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"array"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms",title:"undefined#/properties/loginDesktop/properties/wms",children:"Untitled schema"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"#maxdesktops",children:"maxDesktops"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.code,{children:"integer"})}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops",title:"undefined#/properties/loginDesktop/properties/maxDesktops",children:"Untitled schema"})})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"enabled",children:"enabled"}),"\n",(0,s.jsx)(n.p,{children:"\u662f\u5426\u542f\u52a8\u767b\u5f55\u8282\u70b9\u4e0a\u7684\u684c\u9762\u529f\u80fd"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"enabled"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Type: ",(0,s.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["defined in: ",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled",title:"undefined#/properties/loginDesktop/properties/enabled",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"enabled-type",children:"enabled Type"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"boolean"})}),"\n",(0,s.jsx)(n.h3,{id:"enabled-default-value",children:"enabled Default Value"}),"\n",(0,s.jsx)(n.p,{children:"The default value is:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:"true\n"})}),"\n",(0,s.jsx)(n.h2,{id:"wms",children:"wms"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"wms"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Type: ",(0,s.jsx)(n.code,{children:"object[]"})," (",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items",children:"Details"}),")"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["defined in: ",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms",title:"undefined#/properties/loginDesktop/properties/wms",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"wms-type",children:"wms Type"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"object[]"})," (",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items",children:"Details"}),")"]}),"\n",(0,s.jsx)(n.h3,{id:"wms-default-value",children:"wms Default Value"}),"\n",(0,s.jsx)(n.p,{children:"The default value is:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'[\n {\n "name": "xfce",\n "wm": "xfce"\n }\n]\n'})}),"\n",(0,s.jsx)(n.h2,{id:"maxdesktops",children:"maxDesktops"}),"\n",(0,s.jsx)(n.p,{children:"\u6700\u591a\u521b\u5efa\u591a\u5c11\u4e2a\u684c\u9762"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"maxDesktops"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Type: ",(0,s.jsx)(n.code,{children:"integer"})]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["defined in: ",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops",title:"undefined#/properties/loginDesktop/properties/maxDesktops",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"maxdesktops-type",children:"maxDesktops Type"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.code,{children:"integer"})}),"\n",(0,s.jsx)(n.h3,{id:"maxdesktops-default-value",children:"maxDesktops Default Value"}),"\n",(0,s.jsx)(n.p,{children:"The default value is:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:"3\n"})})]})}function a(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>d});var s=i(48318);const t={},l=s.createContext(t);function r(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/288d6068.32328e91.js b/pr-preview/pr-1298/assets/js/288d6068.32328e91.js deleted file mode 100644 index a7ddf44a6d..0000000000 --- a/pr-preview/pr-1298/assets/js/288d6068.32328e91.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7017],{15914:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>p,contentTitle:()=>l,default:()=>a,frontMatter:()=>n,metadata:()=>d,toc:()=>c});var s=i(49214),t=i(5409);const n={},l=void 0,d={id:"refs/config/cluster/definition-properties-slurm-properties-mis",title:"definition-properties-slurm-properties-mis",description:"mis Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-mis",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-mis.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-mis-properties-scriptpath",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-comment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment"}},p={},c=[{value:"mis Type",id:"mis-type",level:2},{value:"managerUrl",id:"managerurl",level:2},{value:"managerUrl Type",id:"managerurl-type",level:3},{value:"dbPassword",id:"dbpassword",level:2},{value:"dbPassword Type",id:"dbpassword-type",level:3},{value:"associationTableName",id:"associationtablename",level:2},{value:"associationTableName Type",id:"associationtablename-type",level:3},{value:"scriptPath",id:"scriptpath",level:2},{value:"scriptPath Type",id:"scriptpath-type",level:3}];function o(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h2,{id:"mis-type",children:"mis Type"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"object"})," (",(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",children:"Details"}),")"]}),"\n",(0,s.jsx)(r.h1,{id:"mis-properties",children:"mis Properties"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{style:{textAlign:"left"},children:"Property"}),(0,s.jsx)(r.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(r.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(r.th,{style:{textAlign:"left"},children:"Nullable"}),(0,s.jsx)(r.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"#managerurl",children:"managerUrl"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.code,{children:"string"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl",title:"undefined#/properties/slurm/properties/mis/properties/managerUrl",children:"Untitled schema"})})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"#dbpassword",children:"dbPassword"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.code,{children:"string"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword",title:"undefined#/properties/slurm/properties/mis/properties/dbPassword",children:"Untitled schema"})})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"#associationtablename",children:"associationTableName"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.code,{children:"string"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename",title:"undefined#/properties/slurm/properties/mis/properties/associationTableName",children:"Untitled schema"})})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"#scriptpath",children:"scriptPath"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.code,{children:"string"})}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(r.td,{style:{textAlign:"left"},children:(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath",title:"undefined#/properties/slurm/properties/mis/properties/scriptPath",children:"Untitled schema"})})]})]})]}),"\n",(0,s.jsx)(r.h2,{id:"managerurl",children:"managerUrl"}),"\n",(0,s.jsx)(r.p,{children:"slurm manager\u8282\u70b9\u7684URL"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"managerUrl"})}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["Type: ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["defined in: ",(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl",title:"undefined#/properties/slurm/properties/mis/properties/managerUrl",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"managerurl-type",children:"managerUrl Type"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.h2,{id:"dbpassword",children:"dbPassword"}),"\n",(0,s.jsx)(r.p,{children:"slurmdbd\u7684\u6570\u636e\u5e93\u5bc6\u7801"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"dbPassword"})}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["Type: ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["defined in: ",(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword",title:"undefined#/properties/slurm/properties/mis/properties/dbPassword",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"dbpassword-type",children:"dbPassword Type"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.h2,{id:"associationtablename",children:"associationTableName"}),"\n",(0,s.jsx)(r.p,{children:"user_association\u8868\u540d"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"associationTableName"})}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["Type: ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["defined in: ",(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename",title:"undefined#/properties/slurm/properties/mis/properties/associationTableName",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"associationtablename-type",children:"associationTableName Type"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})}),"\n",(0,s.jsx)(r.h2,{id:"scriptpath",children:"scriptPath"}),"\n",(0,s.jsx)(r.p,{children:"slurm.sh\u7edd\u5bf9\u8def\u5f84"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"scriptPath"})}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["Type: ",(0,s.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:["defined in: ",(0,s.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath",title:"undefined#/properties/slurm/properties/mis/properties/scriptPath",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"scriptpath-type",children:"scriptPath Type"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.code,{children:"string"})})]})}function a(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>l,x:()=>d});var s=i(48318);const t={},n=s.createContext(t);function l(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/296ec80a.dea977a8.js b/pr-preview/pr-1298/assets/js/296ec80a.dea977a8.js deleted file mode 100644 index bde28da2b4..0000000000 --- a/pr-preview/pr-1298/assets/js/296ec80a.dea977a8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8383],{23921:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var t=o(49214),r=o(5409);const i={sidebar_position:1,title:"\u914d\u7f6e\u7b80\u4ecb"},c="\u914d\u7f6e\u7b80\u4ecb",s={id:"deploy/config/index",title:"\u914d\u7f6e\u7b80\u4ecb",description:"SCOW\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u7cfb\u7edf\u7684\u914d\u7f6e\u3002",source:"@site/docs/deploy/config/index.md",sourceDirName:"deploy/config",slug:"/deploy/config/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u914d\u7f6e\u7b80\u4ecb"},sidebar:"deploy",previous:{title:"\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e"},next:{title:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config"}},d={},l=[];function p(e){const n={a:"a",code:"code",h1:"h1",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"\u914d\u7f6e\u7b80\u4ecb",children:"\u914d\u7f6e\u7b80\u4ecb"}),"\n",(0,t.jsx)(n.p,{children:"SCOW\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u7cfb\u7edf\u7684\u914d\u7f6e\u3002"}),"\n",(0,t.jsxs)(n.p,{children:["SCOW\u7684\u914d\u7f6e\u6587\u4ef6\u5747\u4f7f\u7528",(0,t.jsx)(n.code,{children:"yaml"}),"\u6216\u8005",(0,t.jsx)(n.code,{children:"JSON"}),"\u683c\u5f0f\uff0c\u5b58\u653e\u4e8e",(0,t.jsx)(n.code,{children:"config"}),"\u76ee\u5f55\u4e0b\u3002"]}),"\n",(0,t.jsx)(n.p,{children:"\u9879\u76ee\u5728\u542f\u52a8\u65f6\u5c06\u4f1a\u68c0\u67e5\u914d\u7f6e\u6587\u4ef6\u662f\u5426\u7b26\u5408\u683c\u5f0f\uff0c\u5982\u679c\u914d\u7f6e\u6587\u4ef6\u6709\u9519\uff0c\u5219\u7cfb\u7edf\u4f1a\u76f4\u63a5\u62a5\u9519\u3002"}),"\n",(0,t.jsxs)(n.p,{children:["\u60a8\u4e5f\u53ef\u4ee5\u4f7f\u7528",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli",children:"scow-cli"}),"\u7684",(0,t.jsx)(n.code,{children:"check-config"}),"\u5b50\u547d\u4ee4\uff0c\u5728\u4e0d\u8fd0\u884c\u7cfb\u7edf\u7684\u60c5\u51b5\u4e0b\u68c0\u67e5\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u3002"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"> ./cli check-config \n\nERROR: Error reading config file config/clusters/hpc01.yaml: data/slurm/loginNodes/0 must be string\nWARN: mis.yaml userIdPattern is deprecated and will be removed in a future version. Use createUser.userIdPattern instead\n"})})]})}function a(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},5409:(e,n,o)=>{o.d(n,{R:()=>c,x:()=>s});var t=o(48318);const r={},i=t.createContext(r);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2c0abe55.7cd5ed92.js b/pr-preview/pr-1298/assets/js/2c0abe55.7cd5ed92.js deleted file mode 100644 index 8b2a48e633..0000000000 --- a/pr-preview/pr-1298/assets/js/2c0abe55.7cd5ed92.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1914],{53717:e=>{e.exports=JSON.parse('{"label":"scow-scheduler-adapter","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter","allTagsPath":"/SCOW/pr-preview/pr-1298/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2cba0029.6b78807c.js b/pr-preview/pr-1298/assets/js/2cba0029.6b78807c.js deleted file mode 100644 index 013ee0b7e4..0000000000 --- a/pr-preview/pr-1298/assets/js/2cba0029.6b78807c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7362],{32350:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>p,contentTitle:()=>s,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=n(49214),t=n(5409);const o={},s=void 0,c={id:"refs/config/cluster/definition-properties-misignore",title:"definition-properties-misignore",description:"misIgnore Type",source:"@site/docs/refs/config/cluster/definition-properties-misignore.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-misignore",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-misignore.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-displayname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname"},next:{title:"definition-properties-scheduler-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0"}},p={},d=[{value:"misIgnore Type",id:"misignore-type",level:2}];function f(e){const i={code:"code",h2:"h2",p:"p",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h2,{id:"misignore-type",children:"misIgnore Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"boolean"})})]})}function l(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>s,x:()=>c});var r=n(48318);const t={},o=r.createContext(t);function s(e){const i=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2d109f9d.39834888.js b/pr-preview/pr-1298/assets/js/2d109f9d.39834888.js deleted file mode 100644 index b85012e122..0000000000 --- a/pr-preview/pr-1298/assets/js/2d109f9d.39834888.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4560],{13201:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>f,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=r(49214),p=r(5409);const n={},i=void 0,s={id:"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties",title:"definition-properties-hometext-properties-hostnamemap-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometext-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-"},next:{title:"definition-properties-hometext-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap"}},a={},c=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function m(e){const t={h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,o.jsx)(t.p,{children:"unknown"})]})}function f(e={}){const{wrapper:t}={...(0,p.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>s});var o=r(48318);const p={},n=o.createContext(p);function i(e){const t=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:i(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2efbb146.8353e12a.js b/pr-preview/pr-1298/assets/js/2efbb146.8353e12a.js deleted file mode 100644 index 1778850275..0000000000 --- a/pr-preview/pr-1298/assets/js/2efbb146.8353e12a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6605],{30042:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>o});var r=t(49214),s=t(5409);const i={sidebar_position:2,title:"\u521b\u5efa\u7528\u6237\u914d\u7f6e"},c="\u521b\u5efa\u7528\u6237\u914d\u7f6e",d={id:"deploy/config/mis/create-user/index",title:"\u521b\u5efa\u7528\u6237\u914d\u7f6e",description:"\u5728\u4ee5\u4e0b\u60c5\u51b5\u4e0b\uff0c\u7ba1\u7406\u7cfb\u7edf\u5141\u8bb8\u7528\u6237\u6216\u8005\u7ba1\u7406\u5458\u5728SCOW\u4e2d\u521b\u5efa\u7528\u6237\u3002",source:"@site/docs/deploy/config/mis/create-user/index.md",sourceDirName:"deploy/config/mis/create-user",slug:"/deploy/config/mis/create-user/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/mis/create-user/index.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u521b\u5efa\u7528\u6237\u914d\u7f6e"},sidebar:"deploy",previous:{title:"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro"},next:{title:"\u8c03\u5ea6\u5668",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668"}},l={},o=[{value:"\u5185\u7f6e\u521b\u5efa\u7528\u6237\u9875\u9762",id:"\u5185\u7f6e\u521b\u5efa\u7528\u6237\u9875\u9762",level:2},{value:"\u5916\u7f6e\u521b\u5efa\u7528\u6237\u754c\u9762",id:"\u5916\u7f6e\u521b\u5efa\u7528\u6237\u754c\u9762",level:2},{value:"\u5173\u95edSCOW\u4e2d\u521b\u5efa\u7528\u6237\u529f\u80fd",id:"\u5173\u95edscow\u4e2d\u521b\u5efa\u7528\u6237\u529f\u80fd",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u521b\u5efa\u7528\u6237\u914d\u7f6e",children:"\u521b\u5efa\u7528\u6237\u914d\u7f6e"}),"\n",(0,r.jsx)(n.p,{children:"\u5728\u4ee5\u4e0b\u60c5\u51b5\u4e0b\uff0c\u7ba1\u7406\u7cfb\u7edf\u5141\u8bb8\u7528\u6237\u6216\u8005\u7ba1\u7406\u5458\u5728SCOW\u4e2d\u521b\u5efa\u7528\u6237\u3002"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u521d\u59cb\u5316\u7cfb\u7edf\u65f6\uff0c\u521b\u5efa\u521d\u59cb\u7ba1\u7406\u5458\u8d26\u53f7"}),"\n",(0,r.jsx)(n.li,{children:"\u6dfb\u52a0\u7528\u6237\u5230\u8d26\u6237\u65f6\uff0c\u7528\u6237\u4e0d\u5b58\u5728"}),"\n",(0,r.jsx)(n.li,{children:"\u79df\u6237\u7ba1\u7406\u5458\u6dfb\u52a0\u7528\u6237"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["\u7531\u4e8e\u4e0d\u540c\u673a\u6784\u521b\u5efa\u7528\u6237\u7684\u65b9\u5f0f\u5b8c\u5168\u4e0d\u540c\uff0c\u4e3a\u4e86\u517c\u5bb9\u6613\u7528\u6027\u548c\u53ef\u6269\u5c55\u6027\uff0c\u6211\u4eec\u4eceSCOW\u4e2d\u521b\u5efa\u7528\u6237\u7684\u65b9\u5f0f\u5177\u6709**\u5185\u7f6e(builtin)",(0,r.jsx)(n.strong,{children:"\u548c"}),"\u5916\u7f6e(external)**\u4e24\u79cd\u65b9\u5f0f\u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"\u5185\u7f6e\u521b\u5efa\u7528\u6237\u9875\u9762",children:"\u5185\u7f6e\u521b\u5efa\u7528\u6237\u9875\u9762"}),"\n",(0,r.jsx)(n.p,{children:"\u5f53\u6240\u4f7f\u7528\u7684\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u521b\u5efa\u7528\u6237\u65f6\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7ba1\u7406\u7cfb\u7edf\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u8868\u5355\u6765\u5b8c\u6210\u521b\u5efa\u7528\u6237\u7684\u529f\u80fd\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u914d\u7f6e\uff1a"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'createUser:\n # \u5141\u8bb8\u7528\u6237\u521b\u5efa\u7528\u6237\u3002\u9ed8\u8ba4\u4e3atrue\n enabled: true\n\n # \u4f7f\u7528SCOW\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u529f\u80fd\u3002\u9ed8\u8ba4\u4e3abuiltin\n type: builtin\n\n # \u5185\u7f6e\u521b\u5efa\u7528\u6237\u529f\u80fd\u914d\u7f6e\n builtin:\n # \u521b\u5efa\u7528\u6237\u65f6\uff0c\u7528\u6237ID\u7684\u89c4\u5219\u3002\u4e0d\u8bbe\u7f6e\u5c31\u6ca1\u6709\u9650\u5236\n userIdPattern:\n # \u6b63\u5219\u8868\u8fbe\u5f0f\n regex: "^[a-z][a-z0-9_]{2,19}$"\n # \u51fa\u9519\u65f6\u7684\u6d88\u606f\n errorMessage: "\u8981\u6c42\u8f93\u5165\u957f\u5ea6\u4e3a3-20\u4f4d\uff0c\u7531\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\u7ec4\u6210\uff0c\u4e14\u4ee5\u5c0f\u5199\u5b57\u6bcd\u5f00\u5934\u7684\u5b57\u7b26\u4e32"\n'})}),"\n",(0,r.jsxs)(n.p,{children:["\u521b\u5efa\u65f6\u5bf9\u5bc6\u7801\u7684\u8981\u6c42\uff0c\u8bf7\u53c2\u8003",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern",children:"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e"})]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsx)(n.p,{children:"\u5982\u679c\u60a8\u7684\u8ba4\u8bc1\u7cfb\u7edf\u4e0d\u652f\u6301\u521b\u5efa\u7528\u6237\uff0c\u4e14\u4f7f\u7528\u4e86\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u529f\u80fd\uff0c\u90a3SCOW\u5c06\u4f1a\u5728\u521b\u5efa\u7528\u6237\u65f6\u5e76\u4e0d\u4f1a\u663e\u793a\u521b\u5efa\u7528\u6237\u7684\u754c\u9762\uff0c\u800c\u4f1a\u901a\u8fc7\u62a5\u9519\u7b49\u65b9\u5f0f\u53d1\u51fa\u4e00\u4e2a\u901a\u77e5\uff0c\u544a\u77e5\u7528\u6237\u7cfb\u7edf\u65e0\u6cd5\u521b\u5efa\u7528\u6237\u3002"})}),"\n",(0,r.jsx)(n.h2,{id:"\u5916\u7f6e\u521b\u5efa\u7528\u6237\u754c\u9762",children:"\u5916\u7f6e\u521b\u5efa\u7528\u6237\u754c\u9762"}),"\n",(0,r.jsx)(n.p,{children:"\u5982\u679c\u5185\u7f6e\u521b\u5efa\u7528\u6237\u754c\u9762\u4e0d\u5408\u60a8\u7684\u9700\u6c42\uff0c\u60a8\u53ef\u4ee5\u81ea\u5df1\u5f00\u53d1\u5355\u72ec\u7684\u521b\u5efa\u7528\u6237\u754c\u9762\u3002SCOW\u5c06\u4f1a\u5728\u7528\u6237\u4eceSCOW\u4e2d\u521b\u5efa\u7528\u6237\u65f6\uff0c\u8df3\u8f6c\u5230\u60a8\u6307\u5b9a\u7684\u5730\u5740\u4e2d\u3002"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:"createUser:\n # \u5141\u8bb8\u7528\u6237\u521b\u5efa\u7528\u6237\u3002\u9ed8\u8ba4\u4e3atrue\n enabled: true\n\n # \u4f7f\u7528SCOW\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u529f\u80fd \n type: external\n\n # \u5916\u7f6e\u521b\u5efa\u7528\u6237\u754c\u9762\n external:\n url: http://your-create-user-page.com\n"})}),"\n",(0,r.jsx)(n.p,{children:"SCOW\u5728\u8df3\u8f6c\u65f6\uff0c\u8fd8\u4f1a\u7ed9URL\u9644\u4e0a\u5982\u4e0b\u67e5\u8be2\u5b57\u7b26\u4e32\uff08querystring\uff09\uff0c\u60a8\u7684\u7cfb\u7edf\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e9b\u67e5\u8be2\u5b57\u7b26\u4e32\u83b7\u53d6\u7528\u6237\u7684\u610f\u56fe\uff0c\u5e76\u5b8c\u6210\u7528\u6237\u6240\u6307\u5b9a\u7684\u64cd\u4f5c\u3002"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"\u60c5\u5f62"}),(0,r.jsx)(n.th,{children:"\u589e\u52a0\u7684\u67e5\u8be2\u5b57\u7b26\u4e32"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u6dfb\u52a0\u7528\u6237\u5230\u8d26\u6237\u65f6\u7528\u6237\u4e0d\u5b58\u5728"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"?type=addUserToAccont&accountName=\u8d26\u6237\u540d&userId=\u7528\u6237ID&userName=\u7528\u6237\u59d3\u540d&token=\u64cd\u4f5c\u7528\u6237\u7684token"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"\u79df\u6237\u7ba1\u7406\u5458\u521b\u5efa\u7528\u6237"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"?type=createUser&token=\u64cd\u4f5c\u7528\u6237\u7684token"})})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"\u521d\u59cb\u5316\u7cfb\u7edf\u65f6\u521b\u5efa\u521d\u59cb\u7ba1\u7406\u5458\u4e0d\u652f\u6301\u8df3\u8f6c\u5230\u5916\u7f6e\u521b\u5efa\u7528\u6237\u754c\u9762\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u4e0b\u56fe\u4e3a\u5f53\u6dfb\u52a0\u7528\u6237\u5230\u8d26\u6237\u4f46\u7528\u6237\u4e0d\u5b58\u5728\u65f6\uff0cUI\u4ea4\u4e92\u7684\u60c5\u51b5\uff1a"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"\u6dfb\u52a0\u7528\u6237\u5230\u8d26\u6237\u4f46\u7528\u6237\u4e0d\u5b58\u5728",src:t(45166).A+"",width:"1055",height:"589"})}),"\n",(0,r.jsx)(n.h2,{id:"\u5173\u95edscow\u4e2d\u521b\u5efa\u7528\u6237\u529f\u80fd",children:"\u5173\u95edSCOW\u4e2d\u521b\u5efa\u7528\u6237\u529f\u80fd"}),"\n",(0,r.jsx)(n.p,{children:"\u8981\u60f3\u5173\u95edSCOW\u7684\u521b\u5efa\u7528\u6237\u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6e"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:"createUser:\n # \u5728SCOW\u4e2d\u5173\u95ed\u521b\u5efa\u7528\u6237\u529f\u80fd\n enabled: false\n"})}),"\n",(0,r.jsx)(n.p,{children:"\u5f53\u60a8\u5173\u95ed\u6b64\u529f\u80fd\u65f6\uff0cUI\u4e0a\u6240\u6709\u5173\u4e8e\u521b\u5efa\u7528\u6237\u7684\u529f\u80fd\u7684\u94fe\u63a5\u90fd\u4f1a\u88ab\u9690\u85cf\u3002"})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},45166:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/prompt-when-user-does-not-exist-4fc9ab0fcf0f083c76f3f7cef418cd91.gif"},5409:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>d});var r=t(48318);const s={},i=r.createContext(s);function c(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/2f9acf95.630c5e58.js b/pr-preview/pr-1298/assets/js/2f9acf95.630c5e58.js deleted file mode 100644 index 25194c08f9..0000000000 --- a/pr-preview/pr-1298/assets/js/2f9acf95.630c5e58.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4804],{96600:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>a,frontMatter:()=>c,metadata:()=>i,toc:()=>o});var t=s(49214),r=s(5409);const c={sidebar_position:10,title:"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c"},d="\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c",i={id:"deploy/config/customization/custom-config-i18n",title:"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c",description:"\u5728SCOW\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\u4e2d\uff0c\u7cfb\u7edf\u652f\u6301\u7ba1\u7406\u5458\u81ea\u5b9a\u4e49\u914d\u7f6e\u5404\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u6587\u672c\u663e\u793a\u4e3a\u56fd\u9645\u5316\u663e\u793a\u3002",source:"@site/docs/deploy/config/customization/custom-config-i18n.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/custom-config-i18n",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/custom-config-i18n.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,title:"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata"},next:{title:"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language"}},l={},o=[{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u652f\u6301\u56fd\u9645\u5316\u6587\u672c\u5207\u6362\u7684\u914d\u7f6e\u9879",id:"\u652f\u6301\u56fd\u9645\u5316\u6587\u672c\u5207\u6362\u7684\u914d\u7f6e\u9879",level:2}];function h(e){const n={code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c",children:"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c"}),"\n",(0,t.jsx)(n.p,{children:"\u5728SCOW\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\u4e2d\uff0c\u7cfb\u7edf\u652f\u6301\u7ba1\u7406\u5458\u81ea\u5b9a\u4e49\u914d\u7f6e\u5404\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u6587\u672c\u663e\u793a\u4e3a\u56fd\u9645\u5316\u663e\u793a\u3002\n\u5f53\u7528\u6237\u5207\u6362\u7cfb\u7edf\u8bed\u8a00\u65f6\uff0c\u5982\u679c\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u6587\u672c\u5df2\u7ecf\u88ab\u81ea\u5b9a\u4e49\u914d\u7f6e\u4e3a\u56fd\u9645\u5316\u7c7b\u578b\u7684\u6587\u672c\uff0c\u90a3\u4e48\u76f8\u5e94\u7684\u914d\u7f6e\u6587\u672c\u4e5f\u53ef\u4ee5\u968f\u7740\u7cfb\u7edf\u8bed\u8a00\u7684\u5207\u6362\u800c\u53d8\u6362\u3002\n\u76ee\u524dSCOW\u9ed8\u8ba4\u652f\u6301\u7684\u56fd\u9645\u5316\u8bed\u8a00\u6682\u4e3a\u7b80\u4f53\u4e2d\u6587\u4e0e\u82f1\u6587\u3002"}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,t.jsxs)(n.p,{children:["\u7cfb\u7edf\u517c\u5bb9\u4e0a\u4e00\u7248\u672c\u7684\u6587\u672c\u914d\u7f6e\u7684",(0,t.jsx)(n.strong,{children:"string\u7c7b\u578b"}),"\uff0c\u540c\u65f6\u652f\u6301\u53ef\u4ee5\u968f\u7740\u8bed\u8a00\u5207\u6362\u800c\u53d8\u6362\u7684",(0,t.jsx)(n.strong,{children:"i18n\u56fd\u9645\u5316\u7c7b\u578b"}),"\u3002\n\u4e0b\u65b9\u662f\u5728",(0,t.jsx)(n.code,{children:"auth.yaml"}),"\u4e2d\u914d\u7f6e\u9996\u9875\u6807\u9898\u4fe1\u606f\u6587\u672c\u7684\u56fd\u9645\u5316\u914d\u7f6e\u793a\u4f8b\u3002"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/auth.yaml"',children:'\nslogan:\n\n # \u9ed8\u8ba4\u6587\u672c\uff0c\u7c7b\u578b\u8981\u6c42\u4e3astring\uff0c\u5982\u914d\u7f6e\u4e3a\u6b64\u5b57\u7b26\u4e32\u7c7b\u578b\u7684\u6587\u672c\uff0c\u90a3\u4e48\u5207\u6362\u8bed\u8a00\u65f6\u4e0d\u968f\u7740\u8bed\u8a00\u7684\u5207\u6362\u800c\u53d8\u6362\n # title: "\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0"\n \n # \u9ed8\u8ba4\u6587\u672c\uff0c\u56fd\u9645\u5316I18n\u7c7b\u578b\n title:\n i18n\uff1a\n # \u9ed8\u8ba4\u663e\u793a\u6587\u672c\uff0c\u5982\u679c\u662fi18n\u7c7b\u578b\u5219\u5fc5\u586b\uff0c\u7c7b\u578b\u8981\u6c42\u4e3astring\n # \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u7cfb\u7edf\u53ef\u652f\u6301\u7684\u5bf9\u5e94\u6587\u672c\uff0c\u5982\u6ca1\u6709\u914d\u7f6e\u4e0b\u65b9\u7684en\u6216zh_cn\uff0c\u5219\u5207\u6362\u76f8\u5e94\u7684\u8bed\u8a00\u65f6\u5c55\u793adefault\u4e2d\u914d\u7f6e\u7684\u6587\u672c\u4fe1\u606f\n default: "\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0"\n # \u82f1\u6587\u6587\u672c\uff0c\u53ef\u9009\u586b\uff0c\u7c7b\u578b\u8981\u6c42\u4e3astring\u3002\u5207\u6362\u8bed\u8a00\u4e3a\u82f1\u6587\u65f6\u663e\u793a\u914d\u7f6e\u7684\u82f1\u6587\u6587\u672c\u4fe1\u606f\n en: "Open-source Compute Center Portal and Management Platform"\n # \u7b80\u4f53\u4e2d\u6587\u6587\u672c\uff0c\u53ef\u9009\u586b\uff0c\u7c7b\u578b\u8981\u6c42\u4e3astring\u3002\u5207\u6362\u8bed\u8a00\u4e3a\u7b80\u4f53\u4e2d\u6587\u65f6\u663e\u793a\u914d\u7f6e\u7684\u7b80\u4f53\u4e2d\u6587\u6587\u672c\u4fe1\u606f\n zh_cn: "\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0"\n\n'})}),"\n",(0,t.jsxs)(n.p,{children:["\u5982\u679c\u7ba1\u7406\u5458\u6309\u4e0a\u8ff0\u914d\u7f6e\u793a\u4f8b\u4e2d\u7684i18n\u7c7b\u578b\u914d\u7f6e\u4e86auth\u7cfb\u7edf\u7684\u6807\u9898\u4fe1\u606f\u3002\u90a3\u4e48\u5f53\u7528\u6237\u8fdb\u5165SCOW\u7684\u767b\u5f55\u9875\u9762\u65f6\uff0c\u8bed\u8a00\u4e3a\u7b80\u4f53\u4e2d\u6587\u65f6\u7528\u6237\u53ef\u4ee5\u770b\u5230\u7684\u6807\u9898\u663e\u793a\u4e3a\uff1a\n",(0,t.jsx)(n.img,{alt:"\u767b\u5f55\u9875\u9762\u4e2d\u6587\u6807\u9898",src:s(70127).A+"",width:"1920",height:"863"}),"\n\u5f53\u7528\u6237\u8fdb\u5165\u7cfb\u7edf\u540e\u901a\u8fc7\u53f3\u4e0a\u89d2\u8bed\u8a00\u5207\u6362\u5668\u5207\u6362\u5f53\u524d\u663e\u793a\u8bed\u8a00\u4e3a\u82f1\u6587\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u770b\u5230\u7684\u6807\u9898\u663e\u793a\u4e3a\uff1a\n",(0,t.jsx)(n.img,{alt:"\u767b\u5f55\u9875\u9762\u82f1\u6587\u6807\u9898",src:s(17747).A+"",width:"1920",height:"862"})]}),"\n",(0,t.jsx)(n.h2,{id:"\u652f\u6301\u56fd\u9645\u5316\u6587\u672c\u5207\u6362\u7684\u914d\u7f6e\u9879",children:"\u652f\u6301\u56fd\u9645\u5316\u6587\u672c\u5207\u6362\u7684\u914d\u7f6e\u9879"}),"\n",(0,t.jsx)(n.p,{children:"\u968f\u7740SCOW\u6027\u80fd\u7684\u4f18\u5316\u4e0e\u529f\u80fd\u7684\u589e\u52a0\uff0c\u5728\u672a\u6765\u6211\u4eec\u53ef\u80fd\u4f1a\u589e\u52a0\u66f4\u591a\u7684\u53ef\u81ea\u5b9a\u4e49\u56fd\u9645\u5316\u6587\u672c\u914d\u7f6e\u7684\u914d\u7f6e\u9879\u3002\n\u5f53\u524dSCOW\u5df2\u7ecf\u652f\u6301\u7684\u53ef\u914d\u7f6e\u56fd\u9645\u5316\u7c7b\u578b\u7684\u6587\u672c\u5305\u542b\u4ee5\u4e0b\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u6587\u672c\u3002"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"\u914d\u7f6e\u6587\u4ef6"}),(0,t.jsx)(n.th,{children:"\u53ef\u4ee5\u914d\u7f6e\u56fd\u9645\u5316\u6587\u672c\u7c7b\u578b\u7684\u914d\u7f6e\u9879"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"common.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"passwordPattern\uff1a"}),(0,t.jsx)(n.strong,{children:"errorMessage"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"auth.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"slogan"}),"\uff1a",(0,t.jsx)(n.strong,{children:"title"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"auth.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"slogan\uff1a"}),(0,t.jsx)(n.strong,{children:"texts"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"clusterTexts.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"default\uff1a"}),(0,t.jsx)(n.strong,{children:"clusterComment"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"clusterTexts.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"default\uff1aextra:"})," ",(0,t.jsx)(n.strong,{children:"title"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"clusterTexts.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"default\uff1aextra:"})," ",(0,t.jsx)(n.strong,{children:"comment"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"clusterTexts.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"tenant_1:"})," ",(0,t.jsx)(n.strong,{children:"clusterComment"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"mis.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"accountNamePattern:"})," ",(0,t.jsx)(n.strong,{children:"errorMessage"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"mis.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"createUser\uff1auserIdPattern:"})," ",(0,t.jsx)(n.strong,{children:"errorMessage"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"portal.yaml"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.strong,{children:"submitJobPromptText"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"{cluster}.yaml"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.strong,{children:"displayName"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"{cluster}.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"loginNodes:"})," ",(0,t.jsx)(n.strong,{children:"name"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"{app}.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"attributes:"})," ",(0,t.jsx)(n.strong,{children:"label"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"{app}.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"attributes:"})," ",(0,t.jsx)(n.strong,{children:"placeholder"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"{app}.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"attributes: select:"})," ",(0,t.jsx)(n.strong,{children:"label"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"{app}.yaml"})}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"attributes: select:"})," ",(0,t.jsx)(n.strong,{children:"placeholder"})]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"{app}.yaml"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.strong,{children:"appComment"})})]})]})]})]})}function a(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},17747:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/auth-title-en-fbf476eaf9aee70182427f6a8e2a8e33.png"},70127:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/auth-title-zhcn-a036722acb66e312ccfd47627222b1c4.png"},5409:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>i});var t=s(48318);const r={},c=t.createContext(r);function d(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),t.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/300fc5e8.fd2e14b5.js b/pr-preview/pr-1298/assets/js/300fc5e8.fd2e14b5.js deleted file mode 100644 index 09089e9d34..0000000000 --- a/pr-preview/pr-1298/assets/js/300fc5e8.fd2e14b5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2455],{99944:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>t,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var d=r(49214),c=r(5409);const i={sidebar_position:2,title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"},s="\u914d\u7f6eWeb\u7c7b\u5e94\u7528",o={id:"deploy/config/ai/apps/configure-web-app",title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528",description:"\u524d\u63d0\u6761\u4ef6",source:"@site/docs/deploy/config/ai/apps/configure-web-app.md",sourceDirName:"deploy/config/ai/apps",slug:"/deploy/config/ai/apps/configure-web-app",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/ai/apps/configure-web-app.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"},sidebar:"deploy",previous:{title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro"},next:{title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app"}},t={},l=[{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2},{value:"proxyType",id:"proxytype",level:3},{value:"image",id:"image",level:3},{value:"logoPath",id:"logopath",level:3},{value:"appComment",id:"appcomment",level:3},{value:"beforeScript\uff0cstartCommand \u548cscript",id:"beforescriptstartcommand-\u548cscript",level:3},{value:"attributes",id:"attributes",level:3}];function p(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,c.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.h1,{id:"\u914d\u7f6eweb\u7c7b\u5e94\u7528",children:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"}),"\n",(0,d.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,d.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u8ba1\u7b97\u8282\u70b9\u53ef\u4ee5\u62c9\u53d6\u6216\u8005\u5df2\u7ecf\u5b58\u5728\u914d\u7f6e\u4e2d\u5e94\u7528\u7684\u955c\u50cf\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,d.jsxs)(n.p,{children:["\u4e0b\u9762\u4ee5\u4f7f\u7528",(0,d.jsx)(n.a,{href:"https://github.com/coder/code-server",children:"coder/code-server"}),"\u542f\u52a8VSCode\u7684\u914d\u7f6e\u4e3a\u4f8b\u6765\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4e00\u4e2a\u670d\u52a1\u5668\u7c7b\u5e94\u7528\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u521b\u5efa",(0,d.jsx)(n.code,{children:"config/ai/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,d.jsx)(n.code,{children:"vscode/config.yml"}),"\u6216",(0,d.jsx)(n.code,{children:"vscode.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/ai/apps/vscode/config.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: vscode\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: VSCode\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\nimage:\n # \u955c\u50cf\u540d\u79f0\n name: codercom/code-server\n # \u955c\u50cf\u7248\u672c\n tag: 4.20.0\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PASSWORD=$(get_password 12)\n\n # \u6307\u660e\u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u4e2d\u7684\u542f\u52a8\u547d\u4ee4\uff0c\u7528\u6237\u5728\u521b\u5efa\u5e94\u7528\u9875\u9762\u53ef\u4ee5\u5728\u811a\u672c\u4e2d\u66ff\u6362\u8be5\u547d\u4ee4\n startCommand:\n code-server\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n\n'})}),"\n",(0,d.jsx)(n.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0\u5373\u53ef\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,d.jsx)(n.h3,{id:"proxytype",children:(0,d.jsx)(n.code,{children:"proxyType"})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app#proxytype",children:"\u53c2\u8003\u95e8\u6237\u7cfb\u7edf"})}),"\n",(0,d.jsx)(n.h3,{id:"image",children:(0,d.jsx)(n.code,{children:"image"})}),"\n",(0,d.jsxs)(n.p,{children:["\u8be5\u955c\u50cf\u5c06\u4f1a\u88ab\u7528\u6765\u542f\u52a8\u5e94\u7528\u3002",(0,d.jsx)(n.code,{children:"name"}),"\u548c",(0,d.jsx)(n.code,{children:"tag"}),"\u5206\u522b\u6307\u5b9a\u955c\u50cf\u7684\u540d\u79f0\u548c\u7248\u672c\u3002\u5982\u679c\u672c\u5730\u6ca1\u6709\u8be5\u955c\u50cf\uff0c\u5c06\u4f1a\u5c1d\u8bd5\u4ece\u955c\u50cf\u4ed3\u5e93\u62c9\u53d6\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"logopath",children:(0,d.jsx)(n.code,{children:"logoPath"})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo",children:"\u53c2\u8003\u95e8\u6237\u7cfb\u7edf"})}),"\n",(0,d.jsx)(n.h3,{id:"appcomment",children:(0,d.jsx)(n.code,{children:"appComment"})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment",children:"\u53c2\u8003\u95e8\u6237\u7cfb\u7edf"})}),"\n",(0,d.jsxs)(n.h3,{id:"beforescriptstartcommand-\u548cscript",children:[(0,d.jsx)(n.code,{children:"beforeScript"}),"\uff0c",(0,d.jsx)(n.code,{children:"startCommand"})," \u548c",(0,d.jsx)(n.code,{children:"script"})]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"beforeScript"}),"\u90e8\u5206\u4e3a\u51c6\u5907\u811a\u672c\u3002\u8fd9\u4e2a\u811a\u672c\u7528\u6765\u51c6\u5907\u8fd0\u884c\u4efb\u52a1\u7684\u73af\u5883\u3002\u8fd9\u4e2a\u811a\u672c\u8981\u6c42\u5fc5\u987bexport\u4e00\u4e2a\u53d8\u91cf\uff1a"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:[(0,d.jsx)(n.code,{children:"PASSWORD"}),": \u8fde\u63a5\u7a0b\u5e8f\u7528\u7684\u5bc6\u7801"]}),"\n"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"connect"}),"\u7684",(0,d.jsx)(n.code,{children:"formData"}),"\u9879\u9700\u8981\u4f7f\u7528\u7684\u53d8\u91cf\u4e5f\u9700\u8981\u5728\u6b64\u5904export\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u51c6\u5907\u811a\u672c\u4e2d\u7684",(0,d.jsx)(n.code,{children:"export"}),"\u7684\u53d8\u91cf\u53ef\u4ee5\u5728",(0,d.jsx)(n.code,{children:"script"}),"\u4e2d\u4f7f\u7528\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"script"}),"\u90e8\u5206\u4e3a\u5982\u4f55\u542f\u52a8\u8fd9\u4e2a\u5e94\u7528\u7684\u811a\u672c\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"startCommand"})," \u9700\u8981\u6307\u660e",(0,d.jsx)(n.code,{children:"scipt"}),"\u4e2d\u542f\u52a8\u5e94\u7528\u7684\u547d\u4ee4\uff0c\u53ef\u4f9b\u7528\u6237\u5728\u4f7f\u7528\u81ea\u5b9a\u4e49\u955c\u50cf\u65f6\u6307\u5b9a\u542f\u52a8\u7684\u547d\u4ee4\uff0c\u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4e3a",(0,d.jsx)(n.code,{children:"code-server"})]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"beforeScript"}),"\u548c",(0,d.jsx)(n.code,{children:"script"}),"\u4e2d\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u8f85\u52a9\u51fd\u6570\uff1a"]}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u51fd\u6570\u540d"}),(0,d.jsx)(n.th,{children:"\u4f5c\u7528"}),(0,d.jsx)(n.th,{children:"\u53c2\u6570"}),(0,d.jsx)(n.th,{children:"\u8fd4\u56de\u503c"})]})}),(0,d.jsx)(n.tbody,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"get_password"})}),(0,d.jsx)(n.td,{children:"\u751f\u6210\u4e00\u4e2a\u5305\u542bA-Za-z0-9\u7684\u968f\u673a\u5bc6\u7801"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"$1"}),": \u5bc6\u7801\u957f\u5ea6"]}),(0,d.jsx)(n.td,{children:"\u5bc6\u7801"})]})})]}),"\n",(0,d.jsx)(n.p,{children:"\u8fd8\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u53d8\u91cf\u3002"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u53d8\u91cf\u540d"}),(0,d.jsx)(n.th,{children:"\u503c"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"PROXY_BASE_PATH"})}),(0,d.jsxs)(n.td,{children:["\u8fd9\u4e2a\u5e94\u7528\u5728\u88ab\u8bbf\u95ee\u65f6\uff0c\u5176URL\u4e2d\u4f4d\u4e8e",(0,d.jsx)(n.strong,{children:"\u8ba1\u7b97\u8282\u70b9IP"}),"\u4e4b\u524d\u7684\u5185\u5bb9\uff0c\u4e0d\u4ee5",(0,d.jsx)(n.code,{children:"/"}),"\u7ed3\u5c3e\u3002\u5bf9SCOW AI\u6765\u8bf4\uff0c\u4e3a",(0,d.jsx)(n.code,{children:"${SCOW AI\u7684base path}/api/proxy/${\u96c6\u7fa4ID}/${\u6b64\u5e94\u7528\u7684proxyType}"}),"\uff0c \u5982\u679c",(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",children:"\u81ea\u5b9a\u4e49\u5c5e\u6027"}),"\u4e2d\u51fa\u73b0\u4e86\u540c\u540d\u7684\u53d8\u91cf\uff0c\u8be5\u503c\u5c06\u4f1a\u88ab\u8986\u76d6\u3002"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"PORT"})}),(0,d.jsx)(n.td,{children:"\u8fd9\u4e2a\u5e94\u7528\u542f\u52a8\u65f6\u5bb9\u5668\u5185\u7684\u7aef\u53e3"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"HOST"})}),(0,d.jsx)(n.td,{children:"\u8fd9\u4e2a\u5e94\u7528\u542f\u52a8\u65f6\u5bb9\u5668\u6620\u5c04\u7684\u4e3b\u673a\u540d"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"SVCPORT"})}),(0,d.jsxs)(n.td,{children:["\u8fd9\u4e2a\u5e94\u7528\u542f\u52a8\u540e\uff0cSCOW AI \u8282\u70b9\u53ef\u901a\u8fc7",(0,d.jsx)(n.code,{children:"HOST"}),":",(0,d.jsx)(n.code,{children:"SVCPORT"}),"\u8bbf\u95ee\u8be5\u5e94\u7528"]})]})]})]}),"\n",(0,d.jsx)(n.p,{children:"\u8fd9\u4e9b\u811a\u672c\u4f1a\u88ab\u63d0\u4ea4\u7ed9\u8c03\u5ea6\u7cfb\u7edf\uff0c\u5e76\u6700\u7ec8\u8fd0\u884c\u540e\u5728\u8ba1\u7b97\u8282\u70b9\u4e0a\u542f\u52a8\u5e94\u7528\u3002"}),"\n",(0,d.jsx)(n.h3,{id:"attributes",children:(0,d.jsx)(n.code,{children:"attributes"})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",children:"\u53c2\u8003\u95e8\u6237\u7cfb\u7edf"})})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(p,{...e})}):p(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var d=r(48318);const c={},i=d.createContext(c);function s(e){const n=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:s(e.components),d.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3033e5d5.1a45389b.js b/pr-preview/pr-1298/assets/js/3033e5d5.1a45389b.js deleted file mode 100644 index 27f33906ea..0000000000 --- a/pr-preview/pr-1298/assets/js/3033e5d5.1a45389b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8575],{65154:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>p});var n=i(49214),l=i(5409);const r={},s=void 0,d={id:"refs/config/portal/definition-properties-hometitle",title:"definition-properties-hometitle",description:"homeTitle Type",source:"@site/docs/refs/config/portal/definition-properties-hometitle.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometitle",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometitle.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometitle-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap"},next:{title:"definition-properties-jobmanagement",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement"}},o={},p=[{value:"homeTitle Type",id:"hometitle-type",level:2},{value:"defaultText",id:"defaulttext",level:2},{value:"defaultText Type",id:"defaulttext-type",level:3},{value:"defaultText Default Value",id:"defaulttext-default-value",level:3},{value:"hostnameMap",id:"hostnamemap",level:2},{value:"hostnameMap Type",id:"hostnamemap-type",level:3},{value:"hostnameMap Default Value",id:"hostnamemap-default-value",level:3}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"hometitle-type",children:"homeTitle Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",children:"Details"}),")"]}),"\n",(0,n.jsx)(t.h1,{id:"hometitle-properties",children:"homeTitle Properties"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"#defaulttext",children:"defaultText"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext",title:"undefined#/properties/homeTitle/properties/defaultText",children:"Untitled schema"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"#hostnamemap",children:"hostnameMap"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"object"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",title:"undefined#/properties/homeTitle/properties/hostnameMap",children:"Untitled schema"})})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"defaulttext",children:"defaultText"}),"\n",(0,n.jsx)(t.p,{children:"\u9ed8\u8ba4\u4e3b\u9875\u6807\u9898"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"defaultText"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext",title:"undefined#/properties/homeTitle/properties/defaultText",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"defaulttext-type",children:"defaultText Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})}),"\n",(0,n.jsx)(t.h3,{id:"defaulttext-default-value",children:"defaultText Default Value"}),"\n",(0,n.jsx)(t.p,{children:"The default value is:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"SCOW"\n'})}),"\n",(0,n.jsx)(t.h2,{id:"hostnamemap",children:"hostnameMap"}),"\n",(0,n.jsx)(t.p,{children:"\u6839\u636e\u57df\u540d(hostname\uff0c\u4e0d\u5305\u62ecport)\u4e0d\u540c\uff0c\u663e\u793a\u5728\u4e3b\u9875\u4e0a\u7684\u6807\u9898"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"hostnameMap"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",children:"Details"}),")"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",title:"undefined#/properties/homeTitle/properties/hostnameMap",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",children:"Details"}),")"]}),"\n",(0,n.jsx)(t.h3,{id:"hostnamemap-default-value",children:"hostnameMap Default Value"}),"\n",(0,n.jsx)(t.p,{children:"The default value is:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:"{}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,l.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>d});var n=i(48318);const l={},r=n.createContext(l);function s(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/30e80eb6.659ea24b.js b/pr-preview/pr-1298/assets/js/30e80eb6.659ea24b.js deleted file mode 100644 index 34196e2e76..0000000000 --- a/pr-preview/pr-1298/assets/js/30e80eb6.659ea24b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8260],{81142:s=>{s.exports=JSON.parse('{"name":"@easyops-cn/docusaurus-search-local","id":"default"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/32e25c5c.7d6039ad.js b/pr-preview/pr-1298/assets/js/32e25c5c.7d6039ad.js deleted file mode 100644 index a3b24b5d78..0000000000 --- a/pr-preview/pr-1298/assets/js/32e25c5c.7d6039ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1605],{79723:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>p,metadata:()=>n,toc:()=>u});var i=t(49214),s=t(5409);const p={},o=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath",title:"definition-properties-slurm-properties-mis-properties-scriptpath",description:"scriptPath Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-mis-properties-managerurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl"},next:{title:"definition-properties-slurm-properties-mis",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis"}},c={},u=[{value:"scriptPath Type",id:"scriptpath-type",level:2}];function l(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"scriptpath-type",children:"scriptPath Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function d(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>n});var i=t(48318);const s={},p=i.createContext(s);function o(e){const r=i.useContext(p);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(p.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/32e6b22b.55cb9ce5.js b/pr-preview/pr-1298/assets/js/32e6b22b.55cb9ce5.js deleted file mode 100644 index 68ffe68451..0000000000 --- a/pr-preview/pr-1298/assets/js/32e6b22b.55cb9ce5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5409],{76073:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>d,contentTitle:()=>t,default:()=>x,frontMatter:()=>l,metadata:()=>c,toc:()=>o});var s=i(49214),r=i(5409);const l={sidebar_position:1,title:"\u5e73\u53f0\u7b80\u4ecb"},t="\u5e73\u53f0\u7b80\u4ecb",c={id:"info/index",title:"\u5e73\u53f0\u7b80\u4ecb",description:"SCOW\u662f\u4e00\u4e2a\u9762\u5411\u7528\u6237\u548c\u8fd0\u7ef4\u4eba\u5458\u7684\u8d85\u7b97\u95e8\u6237\u4e0e\u7ba1\u7406\u7cfb\u7edf\u3002",source:"@site/docs/info/index.md",sourceDirName:"info",slug:"/info/",permalink:"/SCOW/pr-preview/pr-1298/docs/info/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u5e73\u53f0\u7b80\u4ecb"},sidebar:"info",next:{title:"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/"}},d={},o=[{value:"\u529f\u80fd\u548c\u7279\u70b9",id:"\u529f\u80fd\u548c\u7279\u70b9",level:2},{value:"\u4f53\u9a8c\u73af\u5883",id:"\u4f53\u9a8c\u73af\u5883",level:2}];function h(n){const e={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{id:"\u5e73\u53f0\u7b80\u4ecb",children:"\u5e73\u53f0\u7b80\u4ecb"}),"\n",(0,s.jsx)(e.p,{children:"SCOW\u662f\u4e00\u4e2a\u9762\u5411\u7528\u6237\u548c\u8fd0\u7ef4\u4eba\u5458\u7684\u8d85\u7b97\u95e8\u6237\u4e0e\u7ba1\u7406\u7cfb\u7edf\u3002"}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u8d85\u7b97\u95e8\u6237"}),"\u4f7f\u8d85\u7b97\u7528\u6237\u65e0\u9700\u5b89\u88c5\u4efb\u4f55\u8f6f\u4ef6\uff0c\u53ea\u4f7f\u7528\u4e00\u4e2a\u73b0\u4ee3\u6d4f\u89c8\u5668\u5373\u53ef\u6709\u6548\u4f7f\u7528\u8d85\u7b97\u8d44\u6e90\u5b8c\u6210\u8ba1\u7b97\u4efb\u52a1\u3002"]}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"\u8d85\u7b97\u7ba1\u7406\u7cfb\u7edf"}),"\u9762\u5411\u8fd0\u7ef4\u5de5\u4f5c\u8005\uff0c\u534f\u52a9\u8fd0\u8425\u4eba\u5458\u5efa\u7acb\u6210\u719f\u7684\u8d85\u7b97\u8fd0\u8425\u673a\u5236\uff0c\u7ba1\u7406\u8d85\u7b97\u7684\u4eba\u5458\u3001\u8d39\u7528\u7b49\u4fe1\u606f\uff0c\u5e2e\u52a9\u8d85\u7b97\u7684\u8fd0\u8425\u5de5\u4f5c\u3002"]}),"\n",(0,s.jsx)(e.h2,{id:"\u529f\u80fd\u548c\u7279\u70b9",children:"\u529f\u80fd\u548c\u7279\u70b9"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["\u95e8\u6237\u529f\u80fd","\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u7ec8\u7aef\uff08Shell\uff09"}),"\n",(0,s.jsx)(e.li,{children:"\u4efb\u52a1\u7ba1\u7406\u3001\u63d0\u4ea4"}),"\n",(0,s.jsx)(e.li,{children:"\u6587\u4ef6\u7ba1\u7406"}),"\n",(0,s.jsx)(e.li,{children:"\u8fdc\u7a0b\u684c\u9762\uff0cGUI\u7a0b\u5e8f"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\u7ba1\u7406\u7cfb\u7edf\u529f\u80fd","\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u7528\u6237\u8d26\u6237\u7ba1\u7406"}),"\n",(0,s.jsx)(e.li,{children:"\u8ba1\u7b97\u8d44\u6e90\u8ba1\u8d39\u6536\u8d39\uff08\u4f5c\u4e1a\uff09"}),"\n",(0,s.jsx)(e.li,{children:"\u8d26\u6237\u3001\u7528\u6237\u9650\u989d"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(e.li,{children:"\u652f\u6301\u591a\u96c6\u7fa4"}),"\n",(0,s.jsx)(e.li,{children:"\u73b0\u4ee3\u5316\u7684UI\uff0c\u4f18\u79c0\u7684\u7528\u6237\u4f53\u9a8c"}),"\n",(0,s.jsx)(e.li,{children:"\u91c7\u7528\u73b0\u4ee3\u6280\u672f\u6808\u548c\u90e8\u7f72\u65b9\u6848\uff0c\u65b9\u4fbf\u90e8\u7f72\u3001\u7ef4\u62a4\u3001\u81ea\u5b9a\u4e49\u548c\u6269\u5c55"}),"\n"]}),"\n",(0,s.jsx)(e.h2,{id:"\u4f53\u9a8c\u73af\u5883",children:"\u4f53\u9a8c\u73af\u5883"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsxs)(e.p,{children:["\u8bbf\u95ee\u5730\u5740\uff1a",(0,s.jsx)(e.a,{href:"https://hpc.pku.edu.cn/demo/scow",children:"https://hpc.pku.edu.cn/demo/scow"})]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\n",(0,s.jsx)(e.p,{children:"\u7528\u6237\u540d/\u5bc6\u7801"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u7ba1\u7406\u5458\uff1ademo_admin / demo_admin"}),"\n",(0,s.jsx)(e.li,{children:"\u7528\u6237\uff1ademo_user / demo_user"}),"\n"]}),"\n"]}),"\n"]})]})}function x(n={}){const{wrapper:e}={...(0,r.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(h,{...n})}):h(n)}},5409:(n,e,i)=>{i.d(e,{R:()=>t,x:()=>c});var s=i(48318);const r={},l=s.createContext(r);function t(n){const e=s.useContext(l);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:t(n.components),s.createElement(l.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/35441759.7586eca7.js b/pr-preview/pr-1298/assets/js/35441759.7586eca7.js deleted file mode 100644 index 54a59bd776..0000000000 --- a/pr-preview/pr-1298/assets/js/35441759.7586eca7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8701],{86468:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=r(49214),p=r(5409);const i={},n=void 0,s={id:"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties",title:"definition-properties-footer-properties-hostnamemap-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-footer-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-"},next:{title:"definition-properties-footer-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap"}},a={},c=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function f(e){const t={h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,o.jsx)(t.p,{children:"unknown"})]})}function d(e={}){const{wrapper:t}={...(0,p.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>s});var o=r(48318);const p={},i=o.createContext(p);function n(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:n(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/35ce270c.caa99d7b.js b/pr-preview/pr-1298/assets/js/35ce270c.caa99d7b.js deleted file mode 100644 index d7d17fdb81..0000000000 --- a/pr-preview/pr-1298/assets/js/35ce270c.caa99d7b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4281],{39163:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>t,contentTitle:()=>s,default:()=>l,frontMatter:()=>o,metadata:()=>p,toc:()=>d});var c=i(49214),r=i(5409);const o={sidebar_position:3,title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528"},s=void 0,p={id:"deploy/config/ai/apps/configure-vnc-app",title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528",description:"\u524d\u63d0\u6761\u4ef6",source:"@site/docs/deploy/config/ai/apps/configure-vnc-app.md",sourceDirName:"deploy/config/ai/apps",slug:"/deploy/config/ai/apps/configure-vnc-app",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/ai/apps/configure-vnc-app.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528"},sidebar:"deploy",previous:{title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app"},next:{title:"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1"}},t={},d=[{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2},{value:"logoPath",id:"logopath",level:3},{value:"image",id:"image",level:3},{value:"beforeScript",id:"beforescript",level:3},{value:"xstartup",id:"xstartup",level:3}];function a(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,c.jsx)(n.p,{children:"\u955c\u50cf\u8981\u6c42\uff1a"}),"\n",(0,c.jsxs)(n.ul,{children:["\n",(0,c.jsx)(n.li,{children:"\u5b89\u88c5\u6709VNC\uff08TigerVNC or TurboVNC\uff09"}),"\n",(0,c.jsx)(n.li,{children:"\u5b89\u88c5\u5bf9\u5e94\u7684\u5e94\u7528"}),"\n",(0,c.jsx)(n.li,{children:"\u76f8\u5e94\u7684\u811a\u672c\u542f\u52a8VNC\u670d\u52a1\u4ee5\u53ca\u684c\u9762\u5e94\u7528"}),"\n",(0,c.jsxs)(n.li,{children:["\u786e\u4fddvnc\u8fde\u63a5\u7684\u5bc6\u7801\u4fdd\u5b58\u5728",(0,c.jsx)(n.code,{children:"~/.vnc/passwd"}),"\u6587\u4ef6\u4e2d\uff0c\u5e94\u7528\u5728\u8fde\u63a5\u65f6\uff0c\u4f1a\u7ed9\u6bcf\u6b21\u8fde\u63a5\u751f\u6210\u4e00\u4e2a\u65b0\u7684\u5bc6\u7801\uff0c\u751f\u6210\u7684\u4f4d\u7f6e\u4e3a",(0,c.jsx)(n.code,{children:"~/.vnc/passwd"}),"\u3002"]}),"\n"]}),"\n",(0,c.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u8ba1\u7b97\u8282\u70b9\u53ef\u4ee5\u62c9\u53d6\u6216\u8005\u5df2\u7ecf\u5b58\u5728\u914d\u7f6e\u4e2d\u5e94\u7528\u7684\u955c\u50cf\u3002"}),"\n",(0,c.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,c.jsx)(n.p,{children:"\u4e0b\u9762\u4ee5\u4f7f\u7528pycharm\u4e3a\u793a\u4f8b\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528\u3002"}),"\n",(0,c.jsx)(n.p,{children:"\u521b\u5efaconfig/ai/apps\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efapycharm/config.yml\u6216vscode.yml\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-yaml",metastring:'title="config/ai/apps/pycharm/config.yml"',children:"# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: pycharm\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: pycharm\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u56fe\u6807\u6587\u4ef6\u5728\u516c\u5171\u6587\u4ef6\u4e0b\u7684\u8def\u5f84\nlogoPath: /test.svg\n\ntype: vnc\nimage:\n # \u955c\u50cf\u540d\u79f0\n name: 10.129.227.64/test/admin/pycharm\n # \u955c\u50cf\u7248\u672c\n tag: v1.1\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n /dockerstartup/vnc_startup.sh pycharm\n\n"})}),"\n",(0,c.jsx)(n.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0\u5373\u53ef\u3002"}),"\n",(0,c.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,c.jsx)(n.h3,{id:"logopath",children:(0,c.jsx)(n.code,{children:"logoPath"})}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo",children:"\u53c2\u8003\u95e8\u6237\u7cfb\u7edf"})}),"\n",(0,c.jsx)(n.h3,{id:"image",children:(0,c.jsx)(n.code,{children:"image"})}),"\n",(0,c.jsxs)(n.p,{children:["\u8be5\u955c\u50cf\u4f1a\u88ab\u7528\u6765\u542f\u52a8\u5e94\u7528\uff0c",(0,c.jsx)(n.code,{children:"name"}),"\u548c",(0,c.jsx)(n.code,{children:"tag"}),"\u5206\u522b\u6307\u5b9a\u955c\u50cf\u7684\u540d\u79f0\u548c\u7248\u672c\u3002\u5982\u679c\u672c\u5730\u6ca1\u6709\u8be5\u955c\u50cf\uff0c\u5c06\u4f1a\u5c1d\u8bd5\u4ece\u955c\u50cf\u4ed3\u5e93\u62c9\u53d6\u3002"]}),"\n",(0,c.jsx)(n.h3,{id:"beforescript",children:(0,c.jsx)(n.code,{children:"beforeScript"})}),"\n",(0,c.jsx)(n.p,{children:(0,c.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app#beforescript",children:"\u53c2\u8003\u95e8\u6237\u7cfb\u7edf"})}),"\n",(0,c.jsx)(n.h3,{id:"xstartup",children:(0,c.jsx)(n.code,{children:"xstartup"})}),"\n",(0,c.jsx)(n.p,{children:"\u6b64\u5904\u5e94\u8be5\u586b\u5199\u542f\u52a8\u955c\u50cf\u65f6\uff0cvnc\u670d\u52a1\u542f\u52a8\u65f6\u7684xstartup\u811a\u672c\uff0c\u811a\u672c\u4e2d\u5e94\u8be5\u5305\u542b\u542f\u52a8\u684c\u9762\u5e94\u7528\u7684\u547d\u4ee4\u3002"})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(a,{...e})}):a(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>p});var c=i(48318);const r={},o=c.createContext(r);function s(e){const n=c.useContext(o);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),c.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/35db44dc.fa4c5ab6.js b/pr-preview/pr-1298/assets/js/35db44dc.fa4c5ab6.js deleted file mode 100644 index 861202c8fb..0000000000 --- a/pr-preview/pr-1298/assets/js/35db44dc.fa4c5ab6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9798],{58265:(e,n,c)=>{c.r(n),c.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>a});var d=c(49214),i=c(5409);const t={sidebar_position:9,title:"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5"},s="\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5",o={id:"deploy/config/customization/custom-job-charge-metadata",title:"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5",description:"\u7cfb\u7edf\u652f\u6301\u5728mis.yaml\u4e2d\u901a\u8fc7\u53ef\u9009\u914d\u7f6ejobChargeMetadata\u5c06\u4f5c\u4e1a\u76f8\u5173\u7684\u5b57\u6bb5\u4ee5Json\u683c\u5f0f\u4fdd\u5b58\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u3002",source:"@site/docs/deploy/config/customization/custom-job-charge-metadata.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/custom-job-charge-metadata",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/custom-job-charge-metadata.md",tags:[],version:"current",sidebarPosition:9,frontMatter:{sidebar_position:9,title:"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types"},next:{title:"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n"}},r={},a=[{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u8bf4\u660e",id:"\u914d\u7f6e\u8bf4\u660e",level:2},{value:"\u914d\u7f6e\u6548\u679c\u5c55\u793a",id:"\u914d\u7f6e\u6548\u679c\u5c55\u793a",level:2},{value:"entities/JobInfo",id:"entitiesjobinfo",level:3}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.h1,{id:"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5",children:"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5"}),"\n",(0,d.jsxs)(n.p,{children:["\u7cfb\u7edf\u652f\u6301\u5728",(0,d.jsx)(n.code,{children:"mis.yaml"}),"\u4e2d\u901a\u8fc7\u53ef\u9009\u914d\u7f6e",(0,d.jsx)(n.code,{children:"jobChargeMetadata"}),"\u5c06\u4f5c\u4e1a\u76f8\u5173\u7684\u5b57\u6bb5\u4ee5",(0,d.jsx)(n.strong,{children:"Json"}),"\u683c\u5f0f\u4fdd\u5b58\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u3002\n\u4ee5\u4fbf\u540e\u7eed\u5bf9\u6b64\u4fdd\u5b58\u5b57\u6bb5\u8fdb\u884c\u67e5\u8be2\u6216\u5728\u9875\u9762\u524d\u7aef\u8fdb\u884c\u683c\u5f0f\u5316\u663e\u793a\u3002"]}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'\n# \u81ea\u5b9a\u4e49\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4f5c\u4e1a\u76f8\u5173\u7684\u5b58\u50a8\u5185\u5bb9\njobChargeMetadata:\n # \u53ef\u9009\u3002\u9700\u8981\u4fdd\u5b58\u7684\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5\uff0c\u5b57\u6bb5\u53c2\u8003[entities/JobInfo](#entitiesjobinfo)\n savedFields: ["idJob", "account"]\n\n # \u53ef\u9009\u3002\u5b9a\u4e49\u663e\u793a\u51fa\u6765\u7684\u683c\u5f0f\u3002\u5982\u679c\u4e0d\u914d\u7f6e\uff0c\u76f4\u63a5\u663e\u793a\u4e0a\u9762\u4fdd\u5b58\u7684Json\u5b57\u6bb5\u7684\u4fe1\u606f\n displayFormats:\n # i18n\u56fd\u9645\u5316\u7c7b\u578b\uff0c\u6839\u636e\u7cfb\u7edf\u8bed\u8a00\u663e\u793a\u4e0d\u540c\u7684\u4fe1\u606f\n # \u6216\u5b57\u7b26\u4e32\u683c\u5f0f\uff0c\u76f4\u63a5\u663e\u793a\u5b57\u7b26\u4e32\n # \u5229\u7528 {{ \u5c5e\u6027\u540d }} \u4f7f\u7528\u4e0a\u8ff0savedFields\u4e2d\u4fdd\u5b58\u7684\u5c5e\u6027\u503c\n i18n:\n default: "\u8d26\u6237 {{ account }} \u7684\u4f5c\u4e1aID {{ idJob }} \u7684\u8ba1\u8d39"\n en: "The billing for jobId {{ idJob }} of Account {{ account }}"\n zh_cn: "\u8d26\u6237 {{ account }} \u7684\u4f5c\u4e1aID {{ idJob }} \u7684\u8ba1\u8d39"\n\n'})}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u8bf4\u660e",children:"\u914d\u7f6e\u8bf4\u660e"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u53c2\u6570"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"savedFields"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string[]"})}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u60f3\u8981\u5728\u6570\u636e\u5e93\u5b9e\u4f53",(0,d.jsx)(n.strong,{children:"ChargeRecord"}),"\u4e2d\u7684",(0,d.jsx)(n.strong,{children:"metadata"}),"\u5b57\u6bb5\u4e2d\u4fdd\u5b58\u7684\u4f5c\u4e1a\u76f8\u5173\u7684\u4fe1\u606f\uff0c\u5b57\u6bb5\u53c2\u8003",(0,d.jsx)(n.a,{href:"#entitiesjobinfo",children:"entities/JobInfo"}),"\uff0c \u4fdd\u5b58\u7684\u683c\u5f0f\u4e3a",(0,d.jsx)(n.strong,{children:"Json"}),"\u683c\u5f0f"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"displayFormats"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string | i18n\u56fd\u9645\u5316\u7c7b\u578b"})}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u5b9a\u4e49\u4e0a\u8ff0\u4fdd\u5b58\u7684\u5b57\u6bb5\u663e\u793a\u51fa\u6765\u7684\u683c\u5f0f\u3002\u5982\u679c\u4e0d\u914d\u7f6e\u5219\u76f4\u63a5\u663e\u793a\u4e0a\u9762\u4fdd\u5b58\u7684",(0,d.jsx)(n.strong,{children:"Json"}),"\u5b57\u6bb5\u4fe1\u606f\u3002\u5982",(0,d.jsx)(n.code,{children:'{"jobId": 1, "account": "a_account"}'}),"\u3002",(0,d.jsx)(n.code,{children:"string | i18n\u56fd\u9645\u5316\u7c7b\u578b"}),"\u5747\u53ef\u4ee5\u5229\u7528 ",(0,d.jsx)(n.strong,{children:"{{ \u5c5e\u6027\u540d }}"})," \u4f7f\u7528\u4e0a\u8ff0",(0,d.jsx)(n.code,{children:"savedFields"}),"\u4e2d\u4fdd\u5b58\u7684\u5c5e\u6027\u503c\u3002"]})]})]})]}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u6548\u679c\u5c55\u793a",children:"\u914d\u7f6e\u6548\u679c\u5c55\u793a"}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7ba1\u7406\u5458\u6309\u4e0a\u8ff0\u914d\u7f6e\u793a\u4f8b\u4e2d\u7684",(0,d.jsx)(n.code,{children:"jobChargeMetadata"}),"\u914d\u7f6e\uff0c\u4fdd\u5b58\u4e86",(0,d.jsx)(n.code,{children:"idJob"}),"\u4e0e",(0,d.jsx)(n.code,{children:"account"}),"\u7684\u5b57\u6bb5\u4fe1\u606f\uff0c",(0,d.jsx)(n.code,{children:"displayFormats"}),"\u7c7b\u578b\u4e3a",(0,d.jsx)(n.code,{children:"i18n\u56fd\u9645\u5316\u7c7b\u578b"}),"\u683c\u5f0f\uff0c\u90a3\u4e48\u5f53\u7528\u6237\u67e5\u8be2\u6d88\u8d39\u8bb0\u5f55\u9875\u9762\u65f6\uff0c\u8bed\u8a00\u4e3a\u7b80\u4f53\u4e2d\u6587\u65f6\u7528\u6237\u53ef\u4ee5\u770b\u5230\u7684\u6d88\u8d39\u8bb0\u5f55\u663e\u793a\u4e3a\uff1a\n",(0,d.jsx)(n.img,{alt:"\u6d88\u8d39\u8bb0\u5f55\u4e2d\u6587metadata",src:c(10970).A+"",width:"1906",height:"465"})]}),"\n",(0,d.jsxs)(n.p,{children:["\u5f53\u7528\u6237\u8fdb\u5165\u7cfb\u7edf\u540e\u901a\u8fc7\u53f3\u4e0a\u89d2\u8bed\u8a00\u5207\u6362\u5668\u5207\u6362\u5f53\u524d\u663e\u793a\u8bed\u8a00\u4e3a\u82f1\u6587\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u770b\u5230\u7684\u6d88\u8d39\u8bb0\u5f55\u663e\u793a\u4e3a\uff1a\n",(0,d.jsx)(n.img,{alt:"\u6d88\u8d39\u8bb0\u5f55\u82f1\u6587metadata",src:c(41500).A+"",width:"1893",height:"542"})]}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7ba1\u7406\u5458\u6309\u4e0a\u8ff0\u914d\u7f6e\u793a\u4f8b\u4e2d\u7684",(0,d.jsx)(n.code,{children:"jobChargeMetadata"}),"\u914d\u7f6e\uff0c\u4fdd\u5b58\u4e86",(0,d.jsx)(n.code,{children:"idJob"}),"\u4e0e",(0,d.jsx)(n.code,{children:"account"}),"\u7684\u5b57\u6bb5\u4fe1\u606f\uff0c\u4f46\u6ca1\u6709\u914d\u7f6e",(0,d.jsx)(n.code,{children:"displayFormats"}),"\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u770b\u5230\u7684\u6d88\u8d39\u8bb0\u5f55\u663e\u793a\u4e3a\uff1a\n",(0,d.jsx)(n.img,{alt:"\u6d88\u8d39\u8bb0\u5f55Json",src:c(4305).A+"",width:"1902",height:"466"})]}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7ba1\u7406\u5458\u6ca1\u6709\u914d\u7f6e",(0,d.jsx)(n.code,{children:"jobChargeMetadata"}),"\uff0c\u5219\u7528\u6237\u5728\u6d88\u8d39\u8bb0\u5f55\u4e0d\u80fd\u770b\u5230\u8be5\u5217\u7684\u663e\u793a\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"entitiesjobinfo",children:"entities/JobInfo"}),"\n",(0,d.jsxs)(n.admonition,{type:"note",children:[(0,d.jsxs)(n.p,{children:["\u5f53\u524d\u6807\u51c6\u90e8\u7f72\u7684",(0,d.jsx)(n.strong,{children:"SCOW"}),"\u6570\u636e\u5e93\u5b9e\u4f53",(0,d.jsx)(n.strong,{children:"JobInfo"}),"\u4e2d\u652f\u6301\u7684\u5b57\u6bb5\u4e3a\uff1a"]}),(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"idJob"}),"\uff0c",(0,d.jsx)(n.code,{children:"account"}),"\uff0c",(0,d.jsx)(n.code,{children:"user"}),"\uff0c",(0,d.jsx)(n.code,{children:"partition"}),"\uff0c",(0,d.jsx)(n.code,{children:"nodelist"}),"\uff0c",(0,d.jsx)(n.code,{children:"jobName"}),"\uff0c",(0,d.jsx)(n.code,{children:"cluster"}),"\uff0c",(0,d.jsx)(n.code,{children:"timeSubmit"}),"\uff0c",(0,d.jsx)(n.code,{children:"timeStart"}),"\uff0c",(0,d.jsx)(n.code,{children:"timeEnd"}),"\uff0c",(0,d.jsx)(n.code,{children:"gpu"}),"\uff0c",(0,d.jsx)(n.code,{children:"cpusReq"}),"\uff0c",(0,d.jsx)(n.code,{children:"memReq"}),"\uff0c",(0,d.jsx)(n.code,{children:"nodesReq"}),"\uff0c",(0,d.jsx)(n.code,{children:"cpusAlloc"}),"\uff0c",(0,d.jsx)(n.code,{children:"memAlloc"}),"\uff0c",(0,d.jsx)(n.code,{children:"nodesAlloc"}),"\uff0c",(0,d.jsx)(n.code,{children:"timelimit"}),"\uff0c",(0,d.jsx)(n.code,{children:"timeUsed"}),"\uff0c",(0,d.jsx)(n.code,{children:"timeWait"}),"\uff0c",(0,d.jsx)(n.code,{children:"qos"}),"\uff0c",(0,d.jsx)(n.code,{children:"recordTime"}),"\uff0c",(0,d.jsx)(n.code,{children:"tenant"}),"\uff0c",(0,d.jsx)(n.code,{children:"accountBillingItemId"}),"\uff0c",(0,d.jsx)(n.code,{children:"tenantBillingItemId"}),"\uff0c",(0,d.jsx)(n.code,{children:"tenantPrice"}),"\uff0c",(0,d.jsx)(n.code,{children:"accountPrice"})]}),(0,d.jsxs)(n.p,{children:["\u5177\u4f53\u60c5\u51b5\u8bf7\u53c2\u8003\u5b9e\u9645\u90e8\u7f72",(0,d.jsx)(n.strong,{children:"SCOW"}),"\u7684\u6570\u636e\u5e93\u4fe1\u606f\u3002"]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(l,{...e})}):l(e)}},10970:(e,n,c)=>{c.d(n,{A:()=>d});const d=c.p+"assets/images/job-charge-metadata-cn-09667d8c5e0baf1431222389579baad7.png"},41500:(e,n,c)=>{c.d(n,{A:()=>d});const d=c.p+"assets/images/job-charge-metadata-en-214c7b425cbfadcd04aeffb1607f33e8.png"},4305:(e,n,c)=>{c.d(n,{A:()=>d});const d=c.p+"assets/images/job-charge-metadata-no-display-37aa2dfedc35e828bcbc0e4658b7cf58.png"},5409:(e,n,c)=>{c.d(n,{R:()=>s,x:()=>o});var d=c(48318);const i={},t=d.createContext(i);function s(e){const n=d.useContext(t);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3845b85f.bfcde5aa.js b/pr-preview/pr-1298/assets/js/3845b85f.bfcde5aa.js deleted file mode 100644 index 1b2c4d8e92..0000000000 --- a/pr-preview/pr-1298/assets/js/3845b85f.bfcde5aa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7156],{88536:(n,e,a)=>{a.r(e),a.d(e,{assets:()=>r,contentTitle:()=>s,default:()=>i,frontMatter:()=>t,metadata:()=>d,toc:()=>c});var o=a(49214),A=a(5409);const t={sidebar_position:1},s="Jupyter",d={id:"deploy/config/portal/apps/apps/jupyter/index",title:"Jupyter",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/jupyter/index.md",sourceDirName:"deploy/config/portal/apps/apps/jupyter",slug:"/deploy/config/portal/apps/apps/jupyter/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/jupyter/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"IGV",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv/"},next:{title:"JupyterLab",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab/"}},r={},c=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u9644\u7ae0",id:"\u9644\u7ae0",level:2},{value:"1\u3001Anaconda\u5b89\u88c5",id:"1anaconda\u5b89\u88c5",level:3},{value:"2\u3001\u6dfb\u52a0modulefile\u6587\u4ef6",id:"2\u6dfb\u52a0modulefile\u6587\u4ef6",level:3}];function l(n){const e={code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,A.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"jupyter",children:"Jupyter"}),"\n",(0,o.jsx)(e.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,o.jsx)(e.p,{children:"Jupyter Notebook\u662f\u4e00\u4e2a\u5f00\u6e90\u7684Web\u5e94\u7528\u7a0b\u5e8f\uff0c\u53ef\u7528\u4e8e\u521b\u5efa\u548c\u5171\u4eab\u6587\u6863\uff0c\u5176\u4e2d\u5305\u62ec\u4ee3\u7801\u3001\u6587\u672c\u3001\u6570\u5b66\u65b9\u7a0b\u5f0f\u548c\u53ef\u89c6\u5316\u6548\u679c\u3002"}),"\n",(0,o.jsx)(e.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,o.jsx)(e.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u5b89\u88c5\u6709Jupyter Notebook\u3002"}),"\n",(0,o.jsx)(e.p,{children:"Jupyter Notebook\u5efa\u8bae\u901a\u8fc7Anaconda\u8fdb\u884c\u5b89\u88c5\uff08\u5177\u4f53\u5b89\u88c5\u8bf7\u53c2\u8003\u9644\u7ae0\u4e2dAnaconda\u5b89\u88c5\u7ae0\u8282\uff09\uff0cAnaconda\u96c6\u6210\u4e86Jupyter Notebook\uff0c\u5b89\u88c5\u4e0aAnaconda\u53d1\u884c\u7248\u540e\u4e5f\u5c31\u81ea\u52a8\u5b89\u88c5\u4e0a\u4e86Jupyter Notebook\uff0c\u5b89\u88c5\u597dAnaconda\u540e\u5982\u679cJupyter Notebook\u6ca1\u6709\u81ea\u52a8\u5b89\u88c5\u6210\u529f\u7684\u8bdd\uff0c\u5728\u7ec8\u7aef\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5b89\u88c5\uff1a"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"conda install jupyter notebook\n"})}),"\n",(0,o.jsx)(e.p,{children:"Jupyter Notebook\u8fd0\u884c\u65f6\u4f9d\u8d56\u7684Python\u73af\u5883\uff0c\u5efa\u8bae\u7528\u6237\u53ef\u81ea\u884c\u4f7f\u7528conda\u521b\u5efa\u6240\u9700\u7684Python\u73af\u5883\uff0c\u5e76\u5728\u8be5\u73af\u5883\u5185\u5b89\u88c5ipykernel\uff0c\u73af\u5883\u521b\u5efa\u597d\u540e\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4e24\u79cd\u65b9\u5f0f\u6765\u4f7f\u7528\uff1a"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5728\u542f\u52a8Jupyter\u5e94\u7528\u65f6\uff0c\u7528\u6237\u53ef\u586b\u5165\u6240\u521b\u5efa\u7684conda\u73af\u5883\u540d\u6765\u4f7f\u7528\u8be5Python\u73af\u5883\uff1b"}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5728Jupyter\u542f\u52a8\u540e\uff0c\u5728Kernel\u83dc\u5355\u5207\u6362\u5230\u65b0\u521b\u5efa\u7684Python\u73af\u5883\u3002"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"\u4ee5\u4e0b\u793a\u4f8b\u521b\u5efa\u4e00\u4e2aPython3.7\u7684\u865a\u62df\u73af\u5883\uff1a"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:'# \u521b\u5efa\u4e00\u4e2aPython\u7248\u672c\u4e3a3.7\u7684conda\u865a\u62df\u73af\u5883\uff0c\u73af\u5883\u540d\u5b57\u4e3apython3.7\nconda create -n python3.7 python=3.7 -y\n# \u6fc0\u6d3b\u8fdb\u5165\u5230python3.7\u73af\u5883\nconda activate python3.7\n# \u5728\u65b0\u7684\u73af\u5883\u5b89\u88c5ipykernel\nconda install ipykernel\n# \u5c06\u65b0\u73af\u5883\u7684ipykernel\u5230base\u73af\u5883\u7684jupyter\u4e2d\npython -m ipykernel install --user --name python3.7 --display-name "python3.7"\n'})}),"\n",(0,o.jsx)(e.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528Jupyter Notebook\u3002"}),"\n",(0,o.jsx)(e.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,o.jsxs)(e.p,{children:["\u521b\u5efa",(0,o.jsx)(e.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,o.jsx)(e.code,{children:"jupyter.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-yaml",metastring:'title="config/apps/jupyter.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: jupyter\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: jupyter\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: absolute\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n export SALT=123\n export PASSWORD_SHA1="$(echo -n "${PASSWORD}${SALT}" | openssl dgst -sha1 | awk \'{print $NF}\')"\n export CONFIG_FILE="${PWD}/config.py"\n export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)\n export SHELL_NAME=$(echo ${SHELL} | awk -F\'/\' \'{print $NF}\')\n export CONDA_VERSION="anaconda/3-2023.03"\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n for m in ${textModuleName}; do module switch ${m}; done\n\n conda -V &> /dev/null\n if [ $? -ne 0 ]; then\n module switch ${CONDA_VERSION}\n fi\n # init conda\n eval "$($(which conda) shell.${SHELL_NAME} hook)"\n\n if [[ "" == "${textCondaName}" ]]; then\n textCondaName="base"\n fi\n conda activate ${textCondaName}\n if [ $? -ne 0 ]; then\n exit 1\n fi\n\n (\n umask 077\n cat > "${CONFIG_FILE}" << EOL\n c.NotebookApp.ip = \'0.0.0.0\'\n c.NotebookApp.port = ${PORT}\n c.NotebookApp.port_retries = 0\n c.NotebookApp.password = u\'sha1:${SALT}:${PASSWORD_SHA1}\'\n c.NotebookApp.open_browser = False\n c.NotebookApp.base_url = "${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"\n c.NotebookApp.allow_origin = \'*\'\n c.NotebookApp.disable_check_xsrf = True\n EOL\n )\n cd ~\n jupyter notebook --config=${CONFIG_FILE} --notebook-dir=${HOME}\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n \n# \u914d\u7f6eHTML\u8868\u5355 \nattributes:\n - type: text\n name: textModuleName\n label: Modules\n required: false # \u8f93\u5165\u9700\u8981\u989d\u5916\u52a0\u8f7d\u7684\u73af\u5883\u6a21\u5757\u5217\u8868\n placeholder: \u8f93\u5165\u9700\u8981\u989d\u5916\u52a0\u8f7d\u7684\u73af\u5883\u6a21\u5757\u5217\u8868\uff0c\u6a21\u5757\u4e4b\u95f4\u7528\u7a7a\u683c\u5206\u5f00\uff08\u6bd4\u5982\uff1apython/2.7.5 code-server/4.9.1\uff09 # \u63d0\u793a\u4fe1\u606f\n - type: text\n name: textCondaName\n label: conda\u73af\u5883\n required: false # \u8f93\u5165\u8fd0\u884cJupyter\u7684conda\u73af\u5883\uff0c\u9ed8\u8ba4\u4f7f\u7528base\u73af\u5883\n placeholder: \u8f93\u5165conda\u865a\u62df\u73af\u5883\u540d\u79f0 # \u63d0\u793a\u4fe1\u606f\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,o.jsx)(e.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0WEB\u6d4f\u89c8\u5668\u5373\u53ef\u3002"}),"\n",(0,o.jsx)(e.p,{children:"\u5bf9\u4e8eJupyter\uff0cexport\u4ee5\u4e0b\u53d8\u91cf\u7684\u542b\u4e49\u662f\uff1a"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"SLURM_COMPUTE_NODE_HOSTNAME"}),": \u8ba1\u7b97\u8282\u70b9\u7684\u4e3b\u673a\u540d"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"CONFIG_FILE"}),": \u6307\u5b9aJupyter\u7684\u914d\u7f6e\u6587\u4ef6"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"SHELL_NAME"}),"\uff1a\u5f53\u524d\u4f1a\u8bdd\u7684shell\u540d\u79f0"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"CONDA_VERSION"}),"\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u7684conda\u7248\u672c"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"\u9644\u7ae0",children:"\u9644\u7ae0"}),"\n",(0,o.jsx)(e.h3,{id:"1anaconda\u5b89\u88c5",children:"1\u3001Anaconda\u5b89\u88c5"}),"\n",(0,o.jsx)(e.p,{children:"Anaconda\u5efa\u8bae\u5b89\u88c5\u5728\u5171\u4eab\u5b58\u50a8\u4e0a\uff0c\u96c6\u7fa4\u5404\u8282\u70b9\u53ea\u9700\u8981\u6302\u8f7d\u4e0a\u5171\u4eab\u5b58\u50a8\uff0c\u5e76\u914d\u7f6e\u597d\u73af\u5883\u53d8\u91cf\u540e\u4fbf\u53ef\u4ee5\u4f7f\u7528\u3002\u5b89\u88c5Anaconda\u4e4b\u524d\u8bf7\u5148\u9884\u75596GB\u5b58\u50a8\u7a7a\u95f4\u3002"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u4e0b\u8f7dAnaconda\u5b89\u88c5\u811a\u672c\uff1a"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-x86_64.sh\n"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u811a\u672c\u4e0b\u8f7d\u540e\uff0c\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\u6765\u9a8c\u8bc1\u4e0b\u8f7d\u7684\u5b89\u88c5\u811a\u672c\u6587\u4ef6\u662f\u5426\u5b8c\u6574\uff1a"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"sha256sum Anaconda3-2023.03-Linux-x86_64.sh\n"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u6267\u884c\u5b89\u88c5\uff1a"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"bash Anaconda3-2023.03-Linux-x86_64.sh\n"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5b89\u88c5\u8fc7\u7a0b\u4e2d\uff0c\u770b\u5230\u63d0\u793a\u201cIn order to continue the installation process, please review the license agreement.\u201d\uff08\u201c\u8bf7\u6d4f\u89c8\u8bb8\u53ef\u8bc1\u534f\u8bae\u4ee5\u4fbf\u7ee7\u7eed\u5b89\u88c5\u3002\u201d\uff09\uff0c\u70b9\u51fb\u201cEnter\u201d\u67e5\u770b\u201c\u8bb8\u53ef\u8bc1\u534f\u8bae\u201d\u3002"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{alt:"anaconda\u5b89\u88c5\u56fe1",src:a(82313).A+"",width:"829",height:"154"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5728\u201c\u8bb8\u53ef\u8bc1\u534f\u8bae\u201d\u754c\u9762\u5c06\u5c4f\u5e55\u6eda\u52a8\u81f3\u5e95\uff0c\u8f93\u5165\u201cyes\u201d\u8868\u793a\u540c\u610f\u8bb8\u53ef\u8bc1\u534f\u8bae\u5185\u5bb9\u3002\u7136\u540e\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{alt:"anaconda\u5b89\u88c5\u56fe2",src:a(51346).A+"",width:"916",height:"103"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5b89\u88c5\u8fc7\u7a0b\u4e2d\uff0c\u63d0\u793a\u9009\u62e9Anaconda\u7684\u5b89\u88c5\u8def\u5f84\uff0c\u8fd9\u91cc\u6307\u5b9a\u5b89\u88c5\u5230\u5171\u4eab\u5b58\u50a8\u4e0a\uff1a/data/software/anaconda/3-2023.03\u3002"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{alt:"anaconda\u5b89\u88c5\u56fe3",src:a(66171).A+"",width:"912",height:"195"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f1a\u63d0\u793a\u662f\u5426\u901a\u8fc7\u5b89\u88c5\u7a0b\u5e8f\u8fd0\u884cconda init\u6765\u521d\u59cb\u5316Anaconda\u3002"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{alt:"anaconda\u5b89\u88c5\u56fe4",src:a(2308).A+"",width:"1099",height:"363"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5982\u679c\u5b89\u88c5\u65f6\u4e0d\u8fdb\u884c\u521d\u59cb\u5316\u7684\u8bdd\uff0c\u7528\u6237\u540e\u7eed\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u8fdb\u884c\u521d\u59cb\u5316\uff1a"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:'# \u547d\u4ee4\u4e2d/data/software/anaconda/3-2023.03\u6839\u636e\u5b9e\u9645\u5b89\u88c5\u8def\u5f84\u8fdb\u884c\u66ff\u6362\n# \u547d\u4ee4\u4e2dshell.bash\u6839\u636e\u5b9e\u9645\u4f7f\u7528\u4f1a\u8bddshell\u66ff\u6362\u6210\u76f8\u5e94\u7684shell\neval "$(/data/software/anaconda/3-2023.03/bin/conda shell.bash hook)"\nconda init\n'})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u9a8c\u8bc1\u662f\u5426\u5b89\u88c5\u6210\u529f\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5982\u679c\u663e\u793a\u5305\u540d\u548c\u7248\u672c\u53f7\uff0c\u8bf4\u660eAnaconda\u3001Jupyter Notebook\u548cJupyterLab\u90fd\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u3002"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{alt:"anaconda\u5b89\u88c5\u56fe5",src:a(56205).A+"",width:"1075",height:"252"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h3,{id:"2\u6dfb\u52a0modulefile\u6587\u4ef6",children:"2\u3001\u6dfb\u52a0modulefile\u6587\u4ef6"}),"\n",(0,o.jsx)(e.p,{children:"\u914d\u7f6e\u5df2\u5b89\u88c5\u597d\u7684Anaconda\u7684modulefile\u6587\u4ef6:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:'# ${MODULEPATH}\u4e3amodulefile\u6240\u5728\u7684\u8def\u5f84\nmkdir -p ${MODULEPATH}/anaconda\ncat >> ${MODULEPATH}/anaconda/3-2023.03 << EOF\n#%Module1.0#####################################################################\n##\n## Anaconda3-2023.03 modulefile\n##\n\nproc ModulesHelp { } {\n puts stderr "\\tThis module defines environment variables, aliases and add PATH for Anaconda"\n puts stderr "\\tVersion Anaconda3-2023.03"\n InfoOut\n}\n\n## Set module name and version\nmodule-whatis "Anaconda3-2023.03"\n\n## Set version\nset version 3-2023.03\n\n## Set the path to the installation directory\nset anaconda_root /data/software/anaconda/3-2023.03\n\n## Add anaconda bin directory to PATH\nprepend-path PATH $anaconda_root/bin\n\n## Add anaconda library directory to LD_LIBRARY_PATH\nprepend-path LD_LIBRARY_PATH $anaconda_root/lib\n\n## Add Anaconda include directory to CPATH\nprepend-path CPATH $anaconda_root/include\n\n## Set environment variables for Anaconda\nsetenv ANACONDA_HOME $anaconda_root\nsetenv CONDA_ENVS_PATH $anaconda_root/envs\nsetenv CONDA_PKGS_DIRS $anaconda_root/pkgs\nEOF\n'})})]})}function i(n={}){const{wrapper:e}={...(0,A.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(l,{...n})}):l(n)}},82313:(n,e,a)=>{a.d(e,{A:()=>o});const o=a.p+"assets/images/conda-install-1-175b5bd94a046c2ffef5d3feeab41bf2.png"},51346:(n,e,a)=>{a.d(e,{A:()=>o});const o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5QAAABnCAIAAADwupo1AAAWxklEQVR4nOzdXWsaW/v48XX/uc+N3Nbsfz2QepIdBG0t2yNJmrNAoTXgCwiBPL2GEEIJeQ02LYS+gIDTQCBn1uCRpbYKQ+qJQTbTvbUW48k+2/DD8WnUOA9xTDLt93OUxJWZtZYar1xzrTX//fefPwUAAADgBP/vrjsAAAAAmEXwCgAAAMcgeFXVi/sH77akyq/Uh8rRnQ8ZAADAov/edQeAqavWK6epL7lao/WNNxBfCC/PufoP14v7h3ll4DcC2zsL4dvsQ7tN6fzNcVntiTuaeLY22MDwCGZOAQCA05F5xU+vcnqY7oR0QohaWTpOHZXuXR+q2fd7nchVCNHIHaf2s00rR7gPwwQAYOoGM6/tFFRw6XXcP8Vz3s5Zpu3OR3FNvrAjmlhdm7v9Dt1fD4OR7Vgo7BGdGDHTyJ0Xn8+FZjVtfIsru7Ep5ikN+lAvvsk0hAhsby602rSf3EyhEOsngA1HYWaYAAA4HZlX/PT8y/FOSCeEmI09i3uFqF39fZ/6UP16qbT+61jotPGENhbdQpRP+slXw1Hch2ECADB1lmteq6Xi6fll9+qk2xd8vBH3D6Z2mmfSh49yo50U9Hndvvlna2pOqyC9S8rdVnJ6q/e1cMc3Xy57zJy/cnSQzg3kO9WfeCOv1tsZpm6DmDjLfpHkVj99waXRThakD8nOo5GNmIVhmh5F6xQnnXlwRxc7k2C+D6YYpH4N+9B5vq6fqH52eUZznF5m1/C5EMYvGINTNM/epqTacAVq6yn4PnAWy7wzv934d+3S70Pz80VDiMBTTb589vdHvkxDqV8JMT4fbDiK+zBMAABsZTHzWi++Oc736+pEQ5HTbwYq89RooxuCCCGUWiN3Uana01vzKkeH6XZA1urDdZ1M9h/N7w1dfzcepqHOKfoljJmhEkajPtjAsA/956vbjWuHOXQcK8zO5LhTuJ7MDyUgW8c8kUV04aaRa6kg1YRvfuifGaFkUlsH7/bfnhfqNzvuJH24+lYbCTQ9Lp8Q4nvz+vfOmFFYaAAAgDNZzby6fMGljZh/VlNXN5Acqlc+tj6GNVmxerPwo/NgOL76On4r1aJyOeeNbK+Eri8fVD/XRb9B5SiVztXMDtPMKKrZD63QoZfIrLeC6Zy1PkzKuA+ticpL3sj25piJ6rcJxBPtpeuVo4O0lV4YvWCMTtFJQF5UqrHOK0q9wh54ccOi3srRcVl4IxtjyluVWjl52IgmXk6zaNigD10zD7vX/UcCUMMjmDwFAADOYzF49fjX4v3vOoHFQAOXrxUBXJ5mXc9jaszkcYVN1QPYShs9e0IvgvmkXP5UWgirEUnhoiyEO77SLRD0+NdWIoo28Wk4TAPqVWBvpH993ON/vujOZRp/1UX7pMZ9MGmgbkFoL7gb9sFworptAtvrvXDWv7azaqF7JmdS5xSdXl1+rofUkozKaaYhgo9vtI9V8+xtOtc612DW1hPa3QmJ9j9a2Q9JuZE7Pn9q91ZZBn2w8wiTnwIAgPvL+j6v9cpR6otSGxfM+dcSAeW4nMukc5m722zygUv7sf2bxy1E78p186/vQgj3/9cPqQ2GqU+9Cizyewf5oQe+/RDCY7oPEzHsg0pvonpt/BOFcWZmUvcU4fmAkMsfvzaXYy5RquSEOx67Qc5eLZAQupWyHlc4/nJbvLsmgreHiT70XVdLYHwES6cAAMB5LAavpfOt47JvcWljRb0QfO1uTXMLuzsL1VLx88WlJJel47LkddpHqZlh3hP3fMcxW2Zyzh8V5XbBg7goC2/kieWgv7fwy/h1eH0EbwOdPlxXIVBvKsP/XRiOwsIwAQBwKEvBq1pIF1zaNZH3mp0LLc+FluPNgpRKyvnTUsjOIkJ1FUuvptYwGPq73hDC/fB/Jo9uYZh67kPIbrEPFidKpfdc2DSTol3wUP6UnVFk4Vu0vAipXf4bTZiqBFAnwX66fXA9mXdLtYF0b3vzLJ9nxtwRTDUAAOAnYH2fV7ly1l6OXa+cZVufrwMLokvFfalYqGvWhnvc446jWdZtaSG/ELWrz+rvVkvn12fy5PR+trPFQbV0npSF8D7qpus6C9iTUq/BdelA/WEajML/NChELf9GKlY1j1ZLxW5jc32YiGEf2v3XmShzjJ8LczOpa/b3Rz4hcpm8IgIvrC5Cau//7408H/fvU73Se8V2JmFw16qu5tnbd1sH77beFi3vnmHUh84Aj7t7HXTvWdAfrPEojBoAAPBTuC7zOrIGqLuDafviZlk6LEvdn6vLs/J7B/nuOqErRS4n5aE6y8FQwOP/w5tXl3WXez8zfVOo4T74FiPRTD430k7JpPcy/W+1Oyt1lg3J6b3uMH3BgE/u3ZnTzDANRhGOL0W/p3Nyfm9wKqKJzgotoz7YwLAPbToTZcTwuTA3k2Z0ZluIoOUC3HYKU9SGyn81e8f+qCSPB7ZQsD15adwHT2hj8XIvM/By8i2Gw6aPYHwKAAB+CpYyr67l9ZV4sJNJ9QUj25svdxMBX+u77rXmufCrRCTq7WVb3WqzoY9P1/LKkqaNEF73Q/N9aP1u5+DRcbf0DC696nRMXTS2ORgneUK7m5HBg8xYG6bxKPxr6yvbiwGft/9odHGpnxUz6IMtjPqg3hNVb6IMGD4XJmfS1LnUXLWIzk+hwPd//v7z6A3EEyt3cnPd2djL/nMh3NHEdG9XCwCAQ/3n33/+vOs+2Gv0tk/4GdhwVy0bqCuiHvDqAgDgzliveQVuXbsU9e7vF6Xeg2Mq2V8AAGCO9X1egVvUvimX+qX1pVo2a56l8iK4dCdFBQAAoI3gFU7gDcRX7nzhkWt5fXX5jvsAAMCv7uereQUAAMBPi5pXAAAAOAbBKwAAAByD4BUAAACOQfAKAAAAxyB4BQAAgGMQvAIAAMAxCF4BAADgGASvAAAAcAyCVwAAADgGwSsAAAAcg+AVAAAAjkHwCgAAAMcgeAUAAIBjELwCAADAMQheAQAA4BgErwAAAHAMglcAAAA4BsErAAAAHIPgFQAAAI5B8AoAAADHIHgFAACAYxC8AgAAwDEIXgEAAOAYBK8AAABwDIJXAAAAOAbBKwAAAByD4BUAAACOQfAKAAAAxyB4BQAAgGMQvAIAAMAxCF4BAADgGASvAAAAcAyCVwAAADgGwSsAAAAcg+AVAAAAjkHwCgAAAMcgeAUAAIBj/PeuO4C7Ujk6SOeCS6/j/umdoyC9S8raHwS2dxbC0zsf7gX1paX9wZRfZterF/cPL//YfLnssfnA1ez7vUxD8wN3fApnAQCMQ/CK+6F0vnVcJrq9O80z6cPH7w2l1v2B1x2df/w85p+9234BADCI4BVTFI6vvo63v2yevU1JtbvuEMa6+iY3FO0Pao1cLZ2r3zBp6ltc2Y257OvePTIbe/k61vlazcLecX8A4FejDV6HL/b5vIE/FsLLcz/nJ5AD1Iv7h3llkkuukx/h1swtvN5ZuOtOTJMTnotoYnVtrvN1tXS+d1wWcqUQ95MLBwDcH3oLtpRaWTpO7UuVW+wPgDvhX9vpR65CiNm5he3gXXYIAIBrjZQN9DNDzWqp8Oa4rMjpo3ntp1rzTPogye31Cm5f8PFG3HxVXPva8XBdY0F6l/weebUemjU+xegyI/UnXu2vG6uWiqfnl7maziiahWzh5KLcLQF0+4KPXsRCYY+VBtKHk86lWHd08dla/ypqdxQxcZb90h6pL7jU68PAOic5vdVf82R2aYiVIwz2M/FSG8HojsIGwyu6rn8e7Zjq+Iz+MM+kDx+71819XrdvfmikN58H08+F7in6iVvtQLq5UvVRsbiyIQpvMmURXNqN+wvS+6Tc8Klfmx7mwJz89V2IoI1pV7Nvf6OptjSKIRZeDzf9KwcAmC6dzKtrdm5hNxEQQuQuesnXytFBqvs3XQjRUOT03tvzgtnTuZ7Mu4Uon2Sb/Z/ViyeyiC6EZu05hQn14pvjfDdy7ZzijbZL6qdsMlPuL15ptcmffG1aa9AvImzkMqn9gVOoIz1M90Y60ofbMdLP4/dn9fGPXjOKW+nhpFNtPExJU/Gp1Bq5i0pV59ftnweTpxhqNujiw16mrLReS1/OsudJ9aXV+rre/13dYQ6cqCClJBF5ZWeRg5m3v+E8WBrFOPqvh+n/CQIATMBowdacPyrKuW7dW0FSi2K9ke0VNe9Vr5yl0lKtfJINh81lPmZ/f+TLNJSLSjXW+biqfr1UROBFN+0x+SlMcPmCSxsx/6ya9GpvfKPUr4ToHL+a/aAuLXLHE8+6Jb/Naqnyufv7Jhv0k6n1VpyayxQKMU3OSS7n+sNU82rdBp11ThNUSZo9gpyX+qNoJ8Ya334I4TE9isloVnSN7K8khH1TrTdMUa98rA0mfevNwo/hPtx4Hsw8F2ZPIeclbyCeaFeit2ZM+6BSa0QTK2uisHVcljIivrn65KtmOZHRMDUqR2/TuQdLr9ZtTjcavv2N58HCKMbTfT3cyp8gAMDNGd6kYOaht/d15ZOsbtW53r1i6/Evr0R8QijmMx+e0IugELXLz508R+U009BcmrTjFMZ98K/FO5Fr5wN14OHm54tG55Juf7Gaa3Yu1AueTDXwRvqXGj3+54tuIRp/1TXnUT+Au8NUp0WUP5XsGqQ53sD2Tm8UruWFQCsG+t60MIrpsmuqdYYphMfVegHULk+z3deYxxWec81q+zDdeTB9Cm9ge32hO5DhKlURXFrrzVLw8bJHzD5w9x81GGa/M2dq5Pp6GhfKDd7+JubB7Ch06b0ebuVPEABgAta3yvLO/Kb91uP/w5tXald/C2Hy8yM8HxBy+ePX5nLMJUqVnHDHY357T2GsXjlKfVFq115+vfpWE8L76MnY0lJzDUR+7yA/9EA/2yeEeDDwifubp/UhbXUck3qgU9FobhTTZddU6xdu+tcSAeW4nMukc5lWZBMf2GTjFubB9Cl0B+LzzPS+js6P5nf1h9lVKkg1d3xlWlsi6L79zcyDuVHoM3g93MqfIADATRlmXtvRw+Cf8gnN+aNCKJlCQYjCRVk3NJmO0vnWYVqZf7yxufp6Z/X1ZsR3u+fHvTO3sLuz+ioRiQfdQt1kY+tt8SdMs5kYZvX7lP+Dmvzt/4s8WQCAMYwyr6VKbihHOJR+6JSgWYpu/c8X3blM+VN2RpGFb3Hk6qThKb43q70G9eb1i1fGqhwdq8uxY+NyS2qlRO3ycz00Zl2/YQOVxQ0Q/q43hHA//J/pX7gdFkdht6lM9ThqNUJoOd4sSKmknD8thfoX5W9hHm5rqvWGObgD/3QYvf3NzYP+KCZlw185AMC0jM+81puF7Pn+cVn0r+v5n6p1mcm3xUK7BK1eOUvlFSF889bK49plprlMXhGBFwNrIMydonbVrpmrls73D/MWg1eVXDnrHT97qXQDYlV7TXRDOnx/Vur9UFTrlbNS01wDdRS1/BupWNUsaa+WuoPq9CG9363bq5bOk/KY6+NyRfNbN1rhfsMjmBvFdNk01fpKxX2pWKhrZsajKRW1dx6ufy5uZaoNhnl7DN7++vMw9VHY9lcOADAlI5nXgX0ohbqR5LNe0iscX4rK6VwtnzzUFKV5hz6BTOjUkF2zi6TRKdqpuLJ0WJbU732LkWgmP7pKfbzhIwjh9gmh1PJ7B/n2rpmzsWfxi5RUa0jHKUn7q8GldnWdYYPWKL6nc3J+Tx6o3osmtLuTCiWT1t5bUrNhkHaWysnDsuYIqxYyTJMdweQopsquqdZ1pcjlpDxUZxl42p0le+ZB97m4lak2GKaqcxdfay8zq/Tf/gbzYGYUE7HtrxwAYDp0al7dPm9ge3N1bWAxhH9tZyUedPfbBJderd9g46R2Rm3MshK9U7iWV5ainQ0Q3NGb3D/dtbzeP74vGNnefLmbCKhlr72r9q02rxIBX3+nBXerZb/SwLCBf219ZXtR08Drji4uPR9cG/6qc1513cnmaLjQHqwmseR1P7Q62ImOYGIUU2fHVOubC79KRDSzpB5/U/uqtmUe9J+L6U+18TBvje7bX38ebmMUdv2VAwBMxX/+/efPOznxyG11fimj9wkDfhqtl7ei+4/lbbz968X9w8s/zN2R7sbUXaKFyfveAQBsYX2rLDu0SzyvWasB4KegZFJbvZKYwf/TnP72b9/WRPODuykdBoBf1m0Hr5q/+9SQAb8W3v4AgMndTeZVeAPxFWrIgJ+Seusvncdv5+3vCe3uhKZx4OnvJgYA0HNtzevIXebtq84cveJGuRgAAABMMrzDFgAAAHBfjC0b8N1kFypj2itu7YW6AAAAgElkXgEAAOAYBK8AAABwDEu7DfS21p8pSB9O5IYi1NtcJV6uDd1hUvogye1VWW5f8PFG3L4NHevFo6zrecw/O26N1+QNjLVvoRnY3hlYMT2y73pzYJYWn60Nl2G0Jupjp4Hwed2++dE2AAAA6LtB5rUVuiW7IZcQjdzx+7N679HK0UGqG7m2HlXk9N7b84ItnVW1Dnj4fl+qVKfWwEj75pblk2yz/7N68UQW0YV+5Do8S5nUvrZ9OwLuNxBKrZG7uHGXAAAAfgnW93mV85JwxxPPludc3Rxk49sPIdREZkFS99jyRrZXQmGPEPXKWSot1con2XDYlpyiJ7SREKfn+Zyc3pPd0cXHz2ODad3JG5gw+/sjX6ahXFSqsU60Wv16qYjAi24Gupr9INWEL7jUyTrXK0eH6VymUIh1k7X1ysdaa6L6mdp6s/DjxvMCAADwS7CeefUGtndeqpGrEMK1vBAQQijf2znFyidZCBHYXlcj11ak6F9eifiEUOzLKc7OhdbWV19vLkW9IpdJ7x28Pyo17W1gzBN6ERSidvm5k3KunGYaIujvVhE0P180hDfSr5fw+J8vuoVo/NVLUXtcPtE6wmm2OzMeV3jO5dAbZgIAANwO65nXB36DW+N4Z37Tfuvx/+HNK7Wrv4WwMzLz+NfW/Wv1yln2i3ScynkD8YVwN6S2qYGu8HxAyOWPX5vLMZcoVXLCHY/17uNw9a0mhMjvHeSHfquXohbCv5YIKMflXCady6j3HLJydgAAgF8Tuw3c1Jw/KoSSKRSEKFyUhffRE6srwOYWdndWXyUi8aBb1MrScWrrbZGaVwAAAB3WM6+GhpKsneLOwXTs5OqVo9SXXK2hbnewsjaas5y8gQH/80V3LlP+lJ1RZOFbHCmc1dazjjc7F1qeCy3HmwUplZTzp6XQ4NYNAAAA6LM3ePU/DYqcXE6+ndEs2MorQvjmbdstq1oqnp7nc7X2/lNLo8utJm9gUnvZVi6TFyKwPbAcrT0P+TeS2IiFuntyNaulyt//61YDl4r7F+JFzB/2dH/R4xaicaOOAAAA/CpszryG40tROZ2r5ZOHmnJPb+CFXduX1otvjvOKzvaxkzcwr1POKzRLtTpa8/A9nZPze/JA2Ws00Q1exZUil5PyUFFs4ClpVwAAgPFsLxvwr+2sPJzeTQqEuv+U7i0GJm9gmuvJvFuqNaLz/pGH/GvrK0+zhZOLciu6bUXw7uj84+e92HQu/Coxc3p+qdYttCfq0YtYyGAxHAAAwK/tP//+8+fIDytHB2llcWV3ynd7qmbf72VEfPPlsg1x5N0YuasWAAAApmhs5lXJpLYy3W+CS6/jo8nFm1ADVm1lp9uWw96Jauk8ee1SLQAAAEzHFHYb+AVoQnD7ynkBAABg5NqyARjoBK/eQHxlwbk1DwAAAI5D8AoAAADH4A5bAAAAcAyCVwAAADgGwSsAAAAcg+AVAAAAjvF/AQAA///l9PzjVgr93AAAAABJRU5ErkJggg=="},66171:(n,e,a)=>{a.d(e,{A:()=>o});const o=a.p+"assets/images/conda-install-3-2defa02f919251a4a735accce2c48291.png"},2308:(n,e,a)=>{a.d(e,{A:()=>o});const o=a.p+"assets/images/conda-install-4-adbbd81ec7fbc8a7716767eae17274a1.png"},56205:(n,e,a)=>{a.d(e,{A:()=>o});const o=a.p+"assets/images/conda-install-5-638065fbacfc82916f2cb375e8691901.png"},5409:(n,e,a)=>{a.d(e,{R:()=>s,x:()=>d});var o=a(48318);const A={},t=o.createContext(A);function s(n){const e=o.useContext(t);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function d(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(A):n.components||A:s(n.components),o.createElement(t.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/393be207.d9304be5.js b/pr-preview/pr-1298/assets/js/393be207.d9304be5.js deleted file mode 100644 index 34f429c425..0000000000 --- a/pr-preview/pr-1298/assets/js/393be207.d9304be5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4134],{95651:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>p,toc:()=>d});var o=t(49214),a=t(5409);const r={title:"Markdown page example"},s="Markdown page example",p={type:"mdx",permalink:"/SCOW/pr-preview/pr-1298/markdown-page",source:"@site/src/pages/markdown-page.md",title:"Markdown page example",description:"You don't need React to write simple standalone pages.",frontMatter:{title:"Markdown page example"},unlisted:!1},c={},d=[];function i(e){const n={h1:"h1",p:"p",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"}),"\n",(0,o.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var o=t(48318);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/399409c2.0aba3ead.js b/pr-preview/pr-1298/assets/js/399409c2.0aba3ead.js deleted file mode 100644 index 400f9a36e9..0000000000 --- a/pr-preview/pr-1298/assets/js/399409c2.0aba3ead.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9398],{98374:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>x,frontMatter:()=>n,metadata:()=>c,toc:()=>h});var t=r(49214),d=r(5409);const n={title:"mis-server"},i="mis-server",c={id:"refs/env/mis-server",title:"mis-server",description:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",source:"@site/docs/refs/env/mis-server.md",sourceDirName:"refs/env",slug:"/refs/env/mis-server",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/env/mis-server.md",tags:[],version:"current",frontMatter:{title:"mis-server"},sidebar:"refs",previous:{title:"gateway",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway"},next:{title:"mis-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web"}},l={},h=[{value:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",level:2}];function o(e){const s={code:"code",h1:"h1",h2:"h2",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h1,{id:"mis-server",children:"mis-server"}),"\n",(0,t.jsx)(s.h2,{id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",children:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"\u540d\u5b57"}),(0,t.jsx)(s.th,{children:"\u7c7b\u578b"}),(0,t.jsx)(s.th,{children:"\u63cf\u8ff0"}),(0,t.jsx)(s.th,{children:"\u9ed8\u8ba4\u503c"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.code,{children:"HOST"})}),(0,t.jsx)(s.td,{children:"\u4e3b\u673a\u540d"}),(0,t.jsx)(s.td,{children:"\u76d1\u542c\u5730\u5740"}),(0,t.jsx)(s.td,{children:"0.0.0.0"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.code,{children:"PORT"})}),(0,t.jsx)(s.td,{children:"\u7aef\u53e3\u53f7"}),(0,t.jsx)(s.td,{children:"\u76d1\u542c\u7aef\u53e3"}),(0,t.jsx)(s.td,{children:"5000"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.code,{children:"LOG_LEVEL"})}),(0,t.jsx)(s.td,{children:"\u5b57\u7b26\u4e32"}),(0,t.jsx)(s.td,{children:"\u65e5\u5fd7\u7b49\u7ea7"}),(0,t.jsx)(s.td,{children:"info"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.code,{children:"SSH_PRIVATE_KEY_PATH"})}),(0,t.jsx)(s.td,{children:"\u5b57\u7b26\u4e32"}),(0,t.jsx)(s.td,{children:"SSH\u79c1\u94a5\u8def\u5f84"}),(0,t.jsx)(s.td,{children:"~/.ssh/id_rsa"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.code,{children:"SSH_PUBLIC_KEY_PATH"})}),(0,t.jsx)(s.td,{children:"\u5b57\u7b26\u4e32"}),(0,t.jsx)(s.td,{children:"SSH\u516c\u94a5\u8def\u5f84"}),(0,t.jsx)(s.td,{children:"~/.ssh/id_rsa.pub"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.code,{children:"DB_NAME"})}),(0,t.jsx)(s.td,{children:"\u5b57\u7b26\u4e32"}),(0,t.jsx)(s.td,{children:"\u5b58\u653e\u7cfb\u7edf\u6570\u636e\u7684\u6570\u636e\u5e93\u540d\uff0c\u5c06\u4f1a\u8986\u5199\u914d\u7f6e\u6587\u4ef6\u3002\u7528\u4e8e\u6d4b\u8bd5"}),(0,t.jsx)(s.td,{children:"\u4e0d\u8bbe\u7f6e"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.code,{children:"DB_PASSWORD"})}),(0,t.jsx)(s.td,{children:"\u5b57\u7b26\u4e32"}),(0,t.jsx)(s.td,{children:"\u7ba1\u7406\u7cfb\u7edf\u6570\u636e\u5e93\u5bc6\u7801\uff0c\u5c06\u4f1a\u8986\u5199\u914d\u7f6e\u6587\u4ef6"}),(0,t.jsx)(s.td,{children:"\u4e0d\u8bbe\u7f6e"})]})]})]})]})}function x(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},5409:(e,s,r)=>{r.d(s,{R:()=>i,x:()=>c});var t=r(48318);const d={},n=t.createContext(d);function i(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3a4721f9.4eea86ad.js b/pr-preview/pr-1298/assets/js/3a4721f9.4eea86ad.js deleted file mode 100644 index 698e1b8456..0000000000 --- a/pr-preview/pr-1298/assets/js/3a4721f9.4eea86ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9712],{87991:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>n,default:()=>u,frontMatter:()=>o,metadata:()=>p,toc:()=>d});var i=t(49214),s=t(5409);const o={},n=void 0,p={id:"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user",title:"definition-properties-fetchjobs-properties-db-properties-user",description:"user Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-db-properties-tablename",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename"},next:{title:"definition-properties-fetchjobs-properties-db",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db"}},c={},d=[{value:"user Type",id:"user-type",level:2}];function f(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"user-type",children:"user Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function u(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>n,x:()=>p});var i=t(48318);const s={},o=i.createContext(s);function n(e){const r=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),i.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3b168db0.91d68fce.js b/pr-preview/pr-1298/assets/js/3b168db0.91d68fce.js deleted file mode 100644 index 29f42658f2..0000000000 --- a/pr-preview/pr-1298/assets/js/3b168db0.91d68fce.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5995],{54374:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>p,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var r=o(49214),i=o(5409);const n={},p=void 0,s={id:"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default",title:"definition-properties-hometitle-properties-hostnamemap-default",description:"default Type",source:"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometitle-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext"},next:{title:"definition-properties-hometitle-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-"}},a={},l=[{value:"default Type",id:"default-type",level:2}];function f(e){const t={h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"default-type",children:"default Type"}),"\n",(0,r.jsx)(t.p,{children:"unknown"})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},5409:(e,t,o)=>{o.d(t,{R:()=>p,x:()=>s});var r=o(48318);const i={},n=r.createContext(i);function p(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3ca54f8b.eb9c3f7b.js b/pr-preview/pr-1298/assets/js/3ca54f8b.eb9c3f7b.js deleted file mode 100644 index edd49adb49..0000000000 --- a/pr-preview/pr-1298/assets/js/3ca54f8b.eb9c3f7b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7259],{87165:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>p,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>d,toc:()=>l});var r=n(49214),t=n(5409);const s={title:"portal"},o="README",d={id:"refs/config/portal/index",title:"portal",description:"Top-level Schemas",source:"@site/docs/refs/config/portal/index.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/index.md",tags:[],version:"current",frontMatter:{title:"portal"},sidebar:"refs",previous:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition"},next:{title:"definition-properties-appjobsdir",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir"}},p={},l=[{value:"Top-level Schemas",id:"top-level-schemas",level:2},{value:"Other Schemas",id:"other-schemas",level:2},{value:"Objects",id:"objects",level:3},{value:"Arrays",id:"arrays",level:3}];function c(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h1,{id:"readme",children:"README"}),"\n",(0,r.jsx)(i.h2,{id:"top-level-schemas",children:"Top-level Schemas"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"-"})]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"other-schemas",children:"Other Schemas"}),"\n",(0,r.jsx)(i.h3,{id:"objects",children:"Objects"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/loginDesktop"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/loginDesktop/properties/wms/items"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/homeText"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",title:"\u6839\u636e\u57df\u540d(hostname\uff0c\u4e0d\u5305\u62ecport)\u4e0d\u540c\uff0c\u663e\u793a\u5728\u4e3b\u9875\u4e0a\u7684\u6587\u672c",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/homeText/properties/hostnameMap"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/homeTitle"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",title:"\u6839\u636e\u57df\u540d(hostname\uff0c\u4e0d\u5305\u62ecport)\u4e0d\u540c\uff0c\u663e\u793a\u5728\u4e3b\u9875\u4e0a\u7684\u6807\u9898",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/homeTitle/properties/hostnameMap"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"arrays",children:"Arrays"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms",children:"Untitled array in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/loginDesktop/properties/wms"})]}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>o,x:()=>d});var r=n(48318);const t={},s=r.createContext(t);function o(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3dd28916.1a07cf2f.js b/pr-preview/pr-1298/assets/js/3dd28916.1a07cf2f.js deleted file mode 100644 index 9148bcf09b..0000000000 --- a/pr-preview/pr-1298/assets/js/3dd28916.1a07cf2f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6784],{18389:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=t(49214),i=t(5409);const r={},a=void 0,s={id:"refs/config/portal/definition-properties-jobmanagement",title:"definition-properties-jobmanagement",description:"jobManagement Type",source:"@site/docs/refs/config/portal/definition-properties-jobmanagement.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-jobmanagement",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-jobmanagement.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometitle",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle"},next:{title:"definition-properties-logindesktop-properties-enabled",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled"}},p={},c=[{value:"jobManagement Type",id:"jobmanagement-type",level:2},{value:"jobManagement Default Value",id:"jobmanagement-default-value",level:2}];function l(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"jobmanagement-type",children:"jobManagement Type"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"boolean"})}),"\n",(0,o.jsx)(n.h2,{id:"jobmanagement-default-value",children:"jobManagement Default Value"}),"\n",(0,o.jsx)(n.p,{children:"The default value is:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"true\n"})})]})}function d(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>s});var o=t(48318);const i={},r=o.createContext(i);function a(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3df23af8.5de0ebe2.js b/pr-preview/pr-1298/assets/js/3df23af8.5de0ebe2.js deleted file mode 100644 index 43c90c5b3c..0000000000 --- a/pr-preview/pr-1298/assets/js/3df23af8.5de0ebe2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5616],{19515:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>i});var a=s(49214),t=s(5409);const o={slug:"scow-update-to-v1.0",title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",authors:["huangjun"],tags:["scow","scow-deployment","v1.0.0"]},l="1. \u5347\u7ea7cli",c={permalink:"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-10-20-scow-update1.0.md",source:"@site/blog/2023-10-20-scow-update1.0.md",title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",description:"\u672c\u6587\u6863\u9002\u7528\u4e8e\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5347\u7ea7\u5230v1.0.0\u3002",date:"2023-10-20T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-deployment",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"},{label:"v1.0.0",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0"}],readingTime:3.285,hasTruncateMarker:!1,authors:[{name:"Huangjun",title:"Developer",url:"https://blog.csdn.net/huangjun0210?type=blog",imageURL:"https://avatars.githubusercontent.com/u/26295600",key:"huangjun"}],frontMatter:{slug:"scow-update-to-v1.0",title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",authors:["huangjun"],tags:["scow","scow-deployment","v1.0.0"]},unlisted:!1,nextItem:{title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",permalink:"/SCOW/pr-preview/pr-1298/blog/update-portal-app"}},r={authorsImageUrls:[void 0]},i=[];function d(n){const e={a:"a",admonition:"admonition",code:"code",h1:"h1",p:"p",pre:"pre",...(0,t.R)(),...n.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:"\u672c\u6587\u6863\u9002\u7528\u4e8e\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5347\u7ea7\u5230v1.0.0\u3002"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-bash",children:"# \u4e24\u79cd\u65b9\u5f0f\u5347\u7ea7cli\n# 1. \u76f4\u63a5\u4e0b\u8f7d\u66ff\u6362\u672c\u5730cli\nwget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64\n\n# 2. \u4f7f\u7528\u547d\u4ee4\u5347\u7ea7\n./cli update --release v1.0.0\n"})}),"\n",(0,a.jsx)(e.h1,{id:"2-\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd",children:"2. \u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd"}),"\n",(0,a.jsx)(e.p,{children:"\u5728install.yaml\u6dfb\u52a0\u5982\u4e0b\u914d\u7f6e\uff1a"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'# \u53ef\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\uff0c\u5e76\u914d\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u6570\u636e\u5e93\u5bc6\u7801\naudit:\n dbPassword: "must!chang3this"\n'})}),"\n",(0,a.jsx)(e.p,{children:"install.yaml\u914d\u7f6e\u53c2\u8003(\u6781\u7b80\u914d\u7f6e)\uff1a"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'port: 80\nbasePath: /\nimageTag: v1.0.0\nportal:\n portMappings: {}\nmis:\n dbPassword: must!chang3this\n portMappings: {}\nlog:\n fluentd:\n logDir: /var/log/fluentd\nauth:\n portMappings: {}\naudit:\n dbPassword: "must!chang3this"\ngateway:\n proxyReadTimeout: 36000s\n'})}),"\n",(0,a.jsxs)(e.p,{children:["\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u914d\u7f6e\u6587\u4ef6\uff0c\u5728",(0,a.jsx)(e.code,{children:"./config"}),"\u76ee\u5f55\u4e0b\u6dfb\u52a0audit.yaml"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:"# \u5ba1\u8ba1\u7cfb\u7edf\u6570\u636e\u5e93\u7684\u4fe1\u606f\u3002\u53ef\u4ee5\u4e0d\u4fee\u6539\ndb:\n host: audit-db\n port: 3306\n user: root\n dbName: scow_audit\n"})}),"\n",(0,a.jsx)(e.h1,{id:"3-\u4fee\u6539misyaml",children:"3. \u4fee\u6539mis.yaml"}),"\n",(0,a.jsxs)(e.p,{children:["\u4fee\u6539mis.yaml\uff0c\u53bb\u6389\u6e90\u4f5c\u4e1a\u6570\u636e\u5e93\u76f8\u5173\u914d\u7f6e\uff0c\u53bb\u6389",(0,a.jsx)(e.code,{children:"fetchJobs.db"}),"\u914d\u7f6e\uff0c\u7c7b\u4f3c\u5982\u4e0b\uff1a"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'fetchJobs:\n # \u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93\u7684\u6570\u636e\u5e93\u4fe1\u606f\n db:\n host: 192.168.188.11\n port: 3306\n user: root\n password: "aUTx373~5pU@!&^6"\n dbName: hpc\n tableName: job_table\n type: mysql\n'})}),"\n",(0,a.jsx)(e.p,{children:"mis.yaml\u914d\u7f6e\u53c2\u8003(\u6781\u7b80\u914d\u7f6e)\uff1a"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'db:\n host: db\n port: 3306\n user: root\n dbName: scow\n\nfetchJobs:\n periodicFetch:\n enabled: true\n cron: "*/10 * * * *"\n\npredefinedChargingTypes:\n - \u6d4b\u8bd5\n\naccountNamePattern:\n regex: "(a_)[a-z]+$"\n'})}),"\n",(0,a.jsx)(e.h1,{id:"4-\u90e8\u7f72\u9002\u914d\u5668",children:"4. \u90e8\u7f72\u9002\u914d\u5668"}),"\n",(0,a.jsxs)(e.p,{children:["\u9002\u914d\u5668\u7f16\u8bd1\u90e8\u7f72\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter/blob/master/docs/deploy.md",children:"\u6587\u6863"}),"\u3002"]}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsx)(e.p,{children:"\u7531\u4e8egithub\u4ee3\u7801\u4ed3\u5e93\u4e0b\u8f7d\u7684\u9002\u914d\u5668\u53ef\u6267\u884c\u7a0b\u5e8f\u662f\u7531github action\u751f\u6210\uff0cglibc\u7248\u672c(2.34)\u8f83\u9ad8\uff0c\u82e5slurm\u9002\u914d\u5668\u90e8\u7f72\u8282\u70b9\u7684glibc\u7248\u672c\u4f4e\u4e8e\u8be5\u7248\u672c\uff0c\u5efa\u8bae\u4e0b\u8f7d\u6e90\u7801\uff0c\u81ea\u884c\u7f16\u8bd1\u3002"})}),"\n",(0,a.jsx)(e.h1,{id:"5-\u4fee\u6539\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",children:"5. \u4fee\u6539\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'displayName: hpc01\n\nloginNodes:\n - name: hpc01_login01\n address: hpc01_login01\n\nadapterUrl: "192.168.188.102:8999"\n'})}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["\u6ce8\u610f\u5c06\u767b\u5f55\u8282\u70b9",(0,a.jsx)(e.code,{children:"loginNodes.address"}),"\u53c2\u6570\u548c\u9002\u914d\u5668url",(0,a.jsx)(e.code,{children:"adapterUrl"}),"\u4fee\u6539\u4e3a\u5b9e\u9645\u96c6\u7fa4\u7684\u503c\u3002\u8be6\u7ec6\u914d\u7f6e\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://pkuhpc.github.io/SCOW/docs/deploy/config/cluster-config",children:"\u8be5\u6587\u6863"}),"\u3002"]})}),"\n",(0,a.jsx)(e.h1,{id:"6-\u4ea4\u4e92\u5f0f\u5e94\u7528\u589e\u52a0\u56fe\u6807\u53ef\u9009",children:"6. \u4ea4\u4e92\u5f0f\u5e94\u7528\u589e\u52a0\u56fe\u6807(\u53ef\u9009)"}),"\n",(0,a.jsxs)(e.p,{children:["\u652f\u6301\u4e3a\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u56fe\u6807\uff1a\u5c06\u56fe\u6807\u6587\u4ef6\u4e0a\u4f20\u81f3",(0,a.jsx)(e.code,{children:"./public/apps/"}),"\u76ee\u5f55\uff0c\u5e76\u5728\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u56fe\u6807\u7684\u8def\u5f84\u3002"]}),"\n",(0,a.jsxs)(e.p,{children:["\u4f8b\u5982\u7ed9jupyter\u6dfb\u52a0\u4e00\u4e2a\u56fe\u6807(\u5df2\u5c06",(0,a.jsx)(e.code,{children:"jupyter.png"}),"\u4e0a\u4f20\u81f3",(0,a.jsx)(e.code,{children:"./public/apps/"}),")\uff0c\u5728jupyter.yaml\u4e2d\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:"logoPath: /apps/jupyter.png\n"})}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["\u591a\u96c6\u7fa4\u4e0b\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://pkuhpc.github.io/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps",children:"\u8be5\u6587\u6863"}),"\u3002"]})}),"\n",(0,a.jsx)(e.h1,{id:"7-\u767b\u5f55\u9875\u9762\u6dfb\u52a0slogan\u53ef\u9009",children:"7. \u767b\u5f55\u9875\u9762\u6dfb\u52a0slogan(\u53ef\u9009)"}),"\n",(0,a.jsxs)(e.p,{children:["\u652f\u6301\u767b\u5f55\u754c\u9762\u81ea\u5b9a\u4e49slogan\u5185\u5bb9\uff0c\u4fee\u6539",(0,a.jsx)(e.code,{children:"./config/auth.yaml"}),"\u6587\u4ef6\uff0c\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'ui:\n backgroundImagePath: "./assets/background.png"\n backgroundFallbackColor: "#9a0000"\n logoType: "dark"\n slogan: \n color: "white"\n title: "\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0"\n texts:\n - "\u56fe\u5f62\u5316\u754c\u9762\uff0c\u4f7f\u7528\u65b9\u4fbf"\n - "\u529f\u80fd\u4e30\u5bcc\uff0c\u7ba1\u7406\u7b80\u5355"\n - "\u4e00\u4f53\u5316\u90e8\u7f72\uff0c\u5f00\u7bb1\u5373\u7528"\n - "\u6807\u51c6\u5316\u5e73\u53f0\uff0c\u652f\u6301\u7b97\u529b\u878d\u5408"\n - "\u5f00\u6e90\u4e2d\u7acb\uff0c\u72ec\u7acb\u81ea\u4e3b"\n'})}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["\u8be6\u7ec6\u914d\u7f6e\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config",children:"\u8be5\u6587\u6863"}),"\u3002"]})}),"\n",(0,a.jsx)(e.h1,{id:"8-\u91cd\u542f\u670d\u52a1",children:"8. \u91cd\u542f\u670d\u52a1"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-Bash",children:"./cli compose down\n./cli compose up -d \n"})})]})}function p(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,a.jsx)(e,{...n,children:(0,a.jsx)(d,{...n})}):d(n)}},5409:(n,e,s)=>{s.d(e,{R:()=>l,x:()=>c});var a=s(48318);const t={},o=a.createContext(t);function l(n){const e=a.useContext(o);return a.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:l(n.components),a.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3fb875ce.286f025d.js b/pr-preview/pr-1298/assets/js/3fb875ce.286f025d.js deleted file mode 100644 index f91dc42e2e..0000000000 --- a/pr-preview/pr-1298/assets/js/3fb875ce.286f025d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4454],{82692:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>o});var l=i(49214),t=i(5409);const s={},r=void 0,d={id:"refs/config/portal/definition",title:"definition",description:"Untitled object in undefined Type",source:"@site/docs/refs/config/portal/definition.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-turbovncpath",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath"},next:{title:"ui",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/"}},c={},o=[{value:"Untitled object in undefined Type",id:"untitled-object-in-undefined-type",level:2},{value:"jobManagement",id:"jobmanagement",level:2},{value:"jobManagement Type",id:"jobmanagement-type",level:3},{value:"jobManagement Default Value",id:"jobmanagement-default-value",level:3},{value:"loginDesktop",id:"logindesktop",level:2},{value:"loginDesktop Type",id:"logindesktop-type",level:3},{value:"apps",id:"apps",level:2},{value:"apps Type",id:"apps-type",level:3},{value:"apps Default Value",id:"apps-default-value",level:3},{value:"homeText",id:"hometext",level:2},{value:"homeText Type",id:"hometext-type",level:3},{value:"homeTitle",id:"hometitle",level:2},{value:"homeTitle Type",id:"hometitle-type",level:3},{value:"misUrl",id:"misurl",level:2},{value:"misUrl Type",id:"misurl-type",level:3},{value:"shell",id:"shell",level:2},{value:"shell Type",id:"shell-type",level:3},{value:"shell Default Value",id:"shell-default-value",level:3},{value:"submitJobDefaultPwd",id:"submitjobdefaultpwd",level:2},{value:"submitJobDefaultPwd Type",id:"submitjobdefaultpwd-type",level:3},{value:"submitJobDefaultPwd Default Value",id:"submitjobdefaultpwd-default-value",level:3},{value:"savedJobsDir",id:"savedjobsdir",level:2},{value:"savedJobsDir Type",id:"savedjobsdir-type",level:3},{value:"savedJobsDir Default Value",id:"savedjobsdir-default-value",level:3},{value:"appJobsDir",id:"appjobsdir",level:2},{value:"appJobsDir Type",id:"appjobsdir-type",level:3},{value:"appJobsDir Default Value",id:"appjobsdir-default-value",level:3},{value:"turboVNCPath",id:"turbovncpath",level:2},{value:"turboVNCPath Type",id:"turbovncpath-type",level:3},{value:"turboVNCPath Default Value",id:"turbovncpath-default-value",level:3}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.h2,{id:"untitled-object-in-undefined-type",children:"Untitled object in undefined Type"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition",children:"Details"}),")"]}),"\n",(0,l.jsx)(n.h1,{id:"untitled-object-in-undefined-properties",children:"Untitled object in undefined Properties"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Property"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Nullable"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#jobmanagement",children:"jobManagement"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"boolean"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement",title:"undefined#/properties/jobManagement",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#logindesktop",children:"loginDesktop"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"object"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",title:"undefined#/properties/loginDesktop",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#apps",children:"apps"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"boolean"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps",title:"undefined#/properties/apps",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#hometext",children:"homeText"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"object"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",title:"undefined#/properties/homeText",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#hometitle",children:"homeTitle"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"object"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",title:"undefined#/properties/homeTitle",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#misurl",children:"misUrl"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"string"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl",title:"undefined#/properties/misUrl",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#shell",children:"shell"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"boolean"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell",title:"undefined#/properties/shell",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#submitjobdefaultpwd",children:"submitJobDefaultPwd"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"string"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd",title:"undefined#/properties/submitJobDefaultPwd",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#savedjobsdir",children:"savedJobsDir"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"string"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir",title:"undefined#/properties/savedJobsDir",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#appjobsdir",children:"appJobsDir"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"string"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir",title:"undefined#/properties/appJobsDir",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#turbovncpath",children:"turboVNCPath"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"string"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath",title:"undefined#/properties/turboVNCPath",children:"Untitled schema"})})]})]})]}),"\n",(0,l.jsx)(n.h2,{id:"jobmanagement",children:"jobManagement"}),"\n",(0,l.jsx)(n.p,{children:"\u662f\u5426\u542f\u52a8\u4f5c\u4e1a\u7ba1\u7406\u529f\u80fd"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"jobManagement"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement",title:"undefined#/properties/jobManagement",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"jobmanagement-type",children:"jobManagement Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"boolean"})}),"\n",(0,l.jsx)(n.h3,{id:"jobmanagement-default-value",children:"jobManagement Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:"true\n"})}),"\n",(0,l.jsx)(n.h2,{id:"logindesktop",children:"loginDesktop"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"loginDesktop"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",children:"Details"}),")"]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",title:"undefined#/properties/loginDesktop",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"logindesktop-type",children:"loginDesktop Type"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",children:"Details"}),")"]}),"\n",(0,l.jsx)(n.h2,{id:"apps",children:"apps"}),"\n",(0,l.jsx)(n.p,{children:"\u662f\u5426\u542f\u7528\u4ea4\u4e92\u5f0f\u4efb\u52a1\u529f\u80fd"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"apps"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps",title:"undefined#/properties/apps",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"apps-type",children:"apps Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"boolean"})}),"\n",(0,l.jsx)(n.h3,{id:"apps-default-value",children:"apps Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:"true\n"})}),"\n",(0,l.jsx)(n.h2,{id:"hometext",children:"homeText"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"homeText"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",children:"Details"}),")"]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",title:"undefined#/properties/homeText",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"hometext-type",children:"homeText Type"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",children:"Details"}),")"]}),"\n",(0,l.jsx)(n.h2,{id:"hometitle",children:"homeTitle"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"homeTitle"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",children:"Details"}),")"]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",title:"undefined#/properties/homeTitle",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"hometitle-type",children:"homeTitle Type"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",children:"Details"}),")"]}),"\n",(0,l.jsx)(n.h2,{id:"misurl",children:"misUrl"}),"\n",(0,l.jsx)(n.p,{children:"\u7ba1\u7406\u7cfb\u7edf\u7684\u90e8\u7f72URL\u6216\u8005\u8def\u5f84"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"misUrl"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl",title:"undefined#/properties/misUrl",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"misurl-type",children:"misUrl Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"string"})}),"\n",(0,l.jsx)(n.h2,{id:"shell",children:"shell"}),"\n",(0,l.jsx)(n.p,{children:"\u662f\u5426\u542f\u7528\u7ec8\u7aef\u529f\u80fd"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"shell"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell",title:"undefined#/properties/shell",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"shell-type",children:"shell Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"boolean"})}),"\n",(0,l.jsx)(n.h3,{id:"shell-default-value",children:"shell Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:"true\n"})}),"\n",(0,l.jsx)(n.h2,{id:"submitjobdefaultpwd",children:"submitJobDefaultPwd"}),"\n",(0,l.jsx)(n.p,{children:"\u63d0\u4ea4\u4f5c\u4e1a\u7684\u9ed8\u8ba4\u5de5\u4f5c\u76ee\u5f55\u3002\u4f7f\u7528{name}\u4ee3\u66ff\u4f5c\u4e1a\u540d\u79f0\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u7684\u5bb6\u76ee\u5f55"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"submitJobDefaultPwd"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd",title:"undefined#/properties/submitJobDefaultPwd",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"submitjobdefaultpwd-type",children:"submitJobDefaultPwd Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"string"})}),"\n",(0,l.jsx)(n.h3,{id:"submitjobdefaultpwd-default-value",children:"submitJobDefaultPwd Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'"scow/jobs/{name}"\n'})}),"\n",(0,l.jsx)(n.h2,{id:"savedjobsdir",children:"savedJobsDir"}),"\n",(0,l.jsx)(n.p,{children:"\u5c06\u4fdd\u5b58\u7684\u4f5c\u4e1a\u4fdd\u5b58\u5230\u4ec0\u4e48\u4f4d\u7f6e\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u5bb6\u76ee\u5f55"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"savedJobsDir"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir",title:"undefined#/properties/savedJobsDir",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"savedjobsdir-type",children:"savedJobsDir Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"string"})}),"\n",(0,l.jsx)(n.h3,{id:"savedjobsdir-default-value",children:"savedJobsDir Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'"scow/savedJobs"\n'})}),"\n",(0,l.jsx)(n.h2,{id:"appjobsdir",children:"appJobsDir"}),"\n",(0,l.jsx)(n.p,{children:"\u5c06\u4ea4\u4e92\u5f0f\u4efb\u52a1\u7684\u4fe1\u606f\u4fdd\u5b58\u5230\u4ec0\u4e48\u4f4d\u7f6e\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u7684\u5bb6\u76ee\u5f55"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"appJobsDir"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir",title:"undefined#/properties/appJobsDir",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"appjobsdir-type",children:"appJobsDir Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"string"})}),"\n",(0,l.jsx)(n.h3,{id:"appjobsdir-default-value",children:"appJobsDir Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'"scow/appData"\n'})}),"\n",(0,l.jsx)(n.h2,{id:"turbovncpath",children:"turboVNCPath"}),"\n",(0,l.jsx)(n.p,{children:"TurboVNC\u7684\u5b89\u88c5\u8def\u5f84"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"turboVNCPath"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath",title:"undefined#/properties/turboVNCPath",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"turbovncpath-type",children:"turboVNCPath Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"string"})}),"\n",(0,l.jsx)(n.h3,{id:"turbovncpath-default-value",children:"turboVNCPath Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'"/opt/TurboVNC"\n'})})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>d});var l=i(48318);const t={},s=l.createContext(t);function r(e){const n=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),l.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/3fbcfebf.a17da8df.js b/pr-preview/pr-1298/assets/js/3fbcfebf.a17da8df.js deleted file mode 100644 index fc08da7b28..0000000000 --- a/pr-preview/pr-1298/assets/js/3fbcfebf.a17da8df.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8122],{20841:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>a,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var s=r(49214),n=r(5409);const i={title:"clusterTexts"},c="README",o={id:"refs/config/clusterTexts/index",title:"clusterTexts",description:"Top-level Schemas",source:"@site/docs/refs/config/clusterTexts/index.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/index.md",tags:[],version:"current",frontMatter:{title:"clusterTexts"},sidebar:"refs",previous:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition"},next:{title:"definition-patternproperties--properties-clustercomment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment"}},l={},d=[{value:"Top-level Schemas",id:"top-level-schemas",level:2},{value:"Other Schemas",id:"other-schemas",level:2},{value:"Objects",id:"objects",level:3},{value:"Arrays",id:"arrays",level:3}];function p(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"readme",children:"README"}),"\n",(0,s.jsx)(t.h2,{id:"top-level-schemas",children:"Top-level Schemas"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition",children:"Untitled object in undefined"})," \u2013 ",(0,s.jsx)(t.code,{children:"-"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"other-schemas",children:"Other Schemas"}),"\n",(0,s.jsx)(t.h3,{id:"objects",children:"Objects"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",title:"\u5176\u4ed6\u5185\u5bb9",children:"Untitled object in undefined"})," \u2013 ",(0,s.jsx)(t.code,{children:"undefined#/patternProperties/^.*$"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",children:"Untitled object in undefined"})," \u2013 ",(0,s.jsx)(t.code,{children:"undefined#/patternProperties/^.*$/properties/extras/items"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"arrays",children:"Arrays"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras",children:"Untitled array in undefined"})," \u2013 ",(0,s.jsx)(t.code,{children:"undefined#/patternProperties/^.*$/properties/extras"})]}),"\n"]})]})}function a(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>o});var s=r(48318);const n={},i=s.createContext(n);function c(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/41beef73.df0e3117.js b/pr-preview/pr-1298/assets/js/41beef73.df0e3117.js deleted file mode 100644 index e7b894e510..0000000000 --- a/pr-preview/pr-1298/assets/js/41beef73.df0e3117.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6634],{8375:(o,e,r)=>{r.r(e),r.d(e,{assets:()=>d,contentTitle:()=>t,default:()=>a,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var n=r(49214),i=r(5409);const s={sidebar_position:1,title:"SCOW Protobuf\u6587\u4ef6"},t="SCOW Protobuf\u6587\u4ef6",c={id:"integration/scow-api-hook/proto",title:"SCOW Protobuf\u6587\u4ef6",description:"SCOW API\u548cHook\u7684\u6570\u636e\u7ed3\u6784\u548c\u670d\u52a1\u90fd\u901a\u8fc7Protocol Buffer\u683c\u5f0f\u7edf\u4e00\u5b9a\u4e49\u5e76\u5206\u53d1\u3002\u8981\u60f3\u4f7f\u7528SCOW API\u548cHook\uff0c\u60a8\u9700\u8981\u9996\u5148\u83b7\u53d6proto\u6587\u4ef6\uff0c\u901a\u8fc7proto\u6587\u4ef6\u751f\u6210\u60a8\u5bf9\u5e94\u7684\u8bed\u8a00\u7684\u4ee3\u7801\uff0c\u7136\u540e\u624d\u80fd\u8fdb\u884c\u5f00\u53d1\u3002",source:"@site/docs/integration/scow-api-hook/proto.md",sourceDirName:"integration/scow-api-hook",slug:"/integration/scow-api-hook/proto",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/scow-api-hook/proto.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"SCOW Protobuf\u6587\u4ef6"},sidebar:"integration",previous:{title:"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic"},next:{title:"SCOW Hook",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook"}},d={},l=[{value:"\u83b7\u53d6Proto\u6587\u4ef6",id:"\u83b7\u53d6proto\u6587\u4ef6",level:2},{value:"1. \u4f7f\u7528Buf\u83b7\u53d6\u548c\u751f\u6210\u4ee3\u7801\uff08\u63a8\u8350\uff09",id:"1-\u4f7f\u7528buf\u83b7\u53d6\u548c\u751f\u6210\u4ee3\u7801\u63a8\u8350",level:3},{value:"2. \u901a\u8fc7npm\u83b7\u53d6proto\u6587\u4ef6",id:"2-\u901a\u8fc7npm\u83b7\u53d6proto\u6587\u4ef6",level:3},{value:"API\u7248\u672c\u63a7\u5236",id:"api\u7248\u672c\u63a7\u5236",level:2}];function p(o){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h1,{id:"scow-protobuf\u6587\u4ef6",children:"SCOW Protobuf\u6587\u4ef6"}),"\n",(0,n.jsxs)(e.p,{children:["SCOW API\u548cHook\u7684\u6570\u636e\u7ed3\u6784\u548c\u670d\u52a1\u90fd\u901a\u8fc7",(0,n.jsx)(e.a,{href:"https://protobuf.dev/",children:"Protocol Buffer"}),"\u683c\u5f0f\u7edf\u4e00\u5b9a\u4e49\u5e76\u5206\u53d1\u3002\u8981\u60f3\u4f7f\u7528SCOW API\u548cHook\uff0c\u60a8\u9700\u8981\u9996\u5148\u83b7\u53d6proto\u6587\u4ef6\uff0c\u901a\u8fc7proto\u6587\u4ef6\u751f\u6210\u60a8\u5bf9\u5e94\u7684\u8bed\u8a00\u7684\u4ee3\u7801\uff0c\u7136\u540e\u624d\u80fd\u8fdb\u884c\u5f00\u53d1\u3002"]}),"\n",(0,n.jsx)(e.h2,{id:"\u83b7\u53d6proto\u6587\u4ef6",children:"\u83b7\u53d6Proto\u6587\u4ef6"}),"\n",(0,n.jsxs)(e.p,{children:["\u6211\u4eec\u5c06SCOW API\u548cHook\u7684proto\u6587\u4ef6\u653e\u5230\u4e86\u4ee3\u7801\u4ed3\u5e93\u4e2d\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u4ece\u4ee3\u7801\u4ed3\u5e93\u4e2d\u83b7\u53d6\u3002\u4ee3\u7801\u4ed3\u5e93\u4e2d",(0,n.jsx)(e.code,{children:"protos"}),"\u76ee\u5f55\u4e0b\u5219\u4e3aproto\u6587\u4ef6\uff1a",(0,n.jsx)(e.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/protos",children:"master\u5206\u652fprotos\u76ee\u5f55\u94fe\u63a5"})]}),"\n",(0,n.jsxs)(e.p,{children:["proto\u6587\u4ef6\u5206\u4e3a",(0,n.jsx)(e.code,{children:"common"}),", ",(0,n.jsx)(e.code,{children:"portal"}),", ",(0,n.jsx)(e.code,{children:"server"}),", ",(0,n.jsx)(e.code,{children:"audit"}),"\u548c",(0,n.jsx)(e.code,{children:"hook"}),"\u3002\u5176\u4e2d\uff0c"]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"common"}),"\u4e2d\u5b9a\u4e49\u4e86\u516c\u7528\u7684\u6570\u636e\u7ed3\u6784"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"portal"}),"\u5b9a\u4e49\u4e86\u95e8\u6237\u7cfb\u7edf\u7684SCOW API\u3002",(0,n.jsx)(e.code,{children:"portal-server"}),"\u95e8\u6237\u7cfb\u7edf\u540e\u7aef\u5b9e\u73b0\u4e86",(0,n.jsx)(e.code,{children:"portal"}),"\u4e2d\u5b9a\u4e49\u7684\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7",(0,n.jsx)(e.code,{children:"portal"}),"\u4e0b\u7684\u6587\u4ef6\u4e0e",(0,n.jsx)(e.code,{children:"portal-server"}),"\u4ea4\u4e92"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"server"}),"\u5b9a\u4e49\u4e86\u7ba1\u7406\u7cfb\u7edf\u7684SCOW API\u3002",(0,n.jsx)(e.code,{children:"mis-server"}),"\u7ba1\u7406\u7cfb\u7edf\u540e\u7aef\u5b9e\u73b0\u4e86",(0,n.jsx)(e.code,{children:"server"}),"\u4e2d\u5b9a\u4e49\u7684\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7",(0,n.jsx)(e.code,{children:"server"}),"\u4e0b\u7684\u6587\u4ef6\u4e0e",(0,n.jsx)(e.code,{children:"mis-server"}),"\u4ea4\u4e92"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"audit"}),"\u5b9a\u4e49\u4e86\u5ba1\u8ba1\u7cfb\u7edf\u7684SCOW API\u3002",(0,n.jsx)(e.code,{children:"audit-server"}),"\u5ba1\u8ba1\u7cfb\u7edf\u7cfb\u7edf\u540e\u7aef\u5b9e\u73b0\u4e86",(0,n.jsx)(e.code,{children:"audit"}),"\u4e2d\u5b9a\u4e49\u7684\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7",(0,n.jsx)(e.code,{children:"audit"}),"\u4e0b\u7684\u6587\u4ef6\u4e0e",(0,n.jsx)(e.code,{children:"audit-server"}),"\u4ea4\u4e92"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"hook"}),"\u5b9a\u4e49\u4e86SCOW Hook\u7684\u4e8b\u4ef6\u548c\u670d\u52a1\u3002",(0,n.jsx)(e.code,{children:"portal-server"}),"\u548c",(0,n.jsx)(e.code,{children:"mis-server"}),"\u5c06\u4f1a\u901a\u8fc7",(0,n.jsx)(e.code,{children:"hook"}),"\u4e0b\u7684\u6587\u4ef6\u4e0e\u60a8\u914d\u7f6e\u7684SCOW Hook\u670d\u52a1\u5668\u4ea4\u4e92"]}),"\n"]}),"\n",(0,n.jsx)(e.p,{children:"\u9664\u4e86\u76f4\u63a5\u4ece\u4ee3\u7801\u4ed3\u5e93\u4e2d\u83b7\u53d6\uff0c\u6211\u4eec\u66f4\u63a8\u8350\u4f7f\u7528\u5de5\u5177\u83b7\u53d6Protobuf\u6587\u4ef6\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u83b7\u53d6\u5230SCOW\u7684Protobuf\u6587\u4ef6"}),"\n",(0,n.jsx)(e.h3,{id:"1-\u4f7f\u7528buf\u83b7\u53d6\u548c\u751f\u6210\u4ee3\u7801\u63a8\u8350",children:"1. \u4f7f\u7528Buf\u83b7\u53d6\u548c\u751f\u6210\u4ee3\u7801\uff08\u63a8\u8350\uff09"}),"\n",(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.a,{href:"https://buf.build/docs/tutorials/getting-started-with-buf-cli/",children:"Buf"}),"\u662f\u4e00\u4e2a\u7ba1\u7406gRPC API\u548cproto\u6587\u4ef6\u7684\u4e00\u7ad9\u5f0f\u5de5\u5177\uff0c\u53ef\u5b8c\u6210\u83b7\u53d6\u6587\u4ef6\u3001\u751f\u6210\u4ee3\u7801\u7b49\u5e38\u89c1\u529f\u80fd\u3002\u6211\u4eec\u63a8\u8350\u901a\u8fc7\u4f7f\u7528Buf\u76f4\u63a5\u4eceGitHub\u4e0a\u83b7\u53d6\u4ee3\u7801\u5e76\u751f\u6210\u60a8\u7684\u8bed\u8a00\u7684\u6a21\u677f\u7684\u4ee3\u7801\u7684\u5de5\u4f5c\u3002"]}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-bash",children:"# \u4f7f\u7528\u672c\u5730buf.gen.yaml\u751f\u6210\u6a21\u677f\uff0c\u4f7f\u7528v0.3.0\u7248\u672c\u7684SCOW API(v0.3.0\u5f00\u59cb\u53ef\u4ee5\u901a\u8fc7\u6b64\u65b9\u5f0f\uff0c\u63a8\u8350)\nbuf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0\n\n# \u4f7f\u7528\u672c\u5730buf.gen.yaml\u751f\u6210\u6a21\u677f\uff0c\u4f7f\u7528SCOW\u4ed3\u5e93\u7684master\u5206\u652f\u7684\u4ee3\u7801\u5bf9\u5e94\u7684SCOW API\nbuf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=master\n"})}),"\n",(0,n.jsx)(e.p,{children:"\u8be6\u7ec6\u7684\u793a\u4f8b\u8bf7\u53c2\u8003\uff1a"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go#%E4%BD%BF%E7%94%A8buf%E8%8E%B7%E5%8F%96proto%E6%96%87%E4%BB%B6%E5%B9%B6%E7%94%9F%E6%88%90%E4%BB%A3%E7%A0%81",children:"Go"})}),"\n"]}),"\n",(0,n.jsx)(e.h3,{id:"2-\u901a\u8fc7npm\u83b7\u53d6proto\u6587\u4ef6",children:"2. \u901a\u8fc7npm\u83b7\u53d6proto\u6587\u4ef6"}),"\n",(0,n.jsxs)(e.p,{children:["\u60a8\u53ef\u4ee5\u901a\u8fc7npm\u4ece",(0,n.jsx)(e.code,{children:"npmjs.org"}),"\u4e0a\u83b7\u53d6\u4efb\u610f\u7248\u672c\u7684proto\u6587\u4ef6"]}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-bash",children:"# \u6700\u65b0\u7248\u672c\u7684API\u6587\u4ef6\nnpm install -g @scow/grpc-api\n\n# \u7279\u5b9a\u7248\u672c(0.1.2)\u7684API\nnpm install -g @scow/grpc-api@0.1.2\n\n# \u5b89\u88c5\u597d\u540e\uff0c\u53ef\u4ee5\u53bbnpm\u7684\u5168\u5c40\u6a21\u5757\u7684\u76ee\u5f55\u4e2d\u67e5\u627e\u5230\u8fd9\u4e2a\u5305\uff0c\u5e76\u83b7\u53d6\u5185\u90e8\u7684\u6587\u4ef6\ncd $(npm root -g)/@scow/grpc-api\n\n# \u5982\u679c\u60a8\u4f7f\u7528npm\u5bf9\u60a8\u7684\u9879\u76ee\u8fdb\u884c\u4f9d\u8d56\u7ba1\u7406\uff0c\u5219\u53ef\u4ee5\u5728\u60a8\u7684\u9879\u76ee\u4e2d\u5b89\u88c5\u6b64\u5305\uff0c\u5e76\u76f4\u63a5\u5728\u6b64\u5305\u7684node_modules\u4e2d\u83b7\u53d6\u5230proto\u6587\u4ef6\nnpm install --save @scow/grpc-api\ncd node_modules/@scow/grpc-api\n"})}),"\n",(0,n.jsx)(e.h2,{id:"api\u7248\u672c\u63a7\u5236",children:"API\u7248\u672c\u63a7\u5236"}),"\n",(0,n.jsxs)(e.p,{children:["\u6211\u4eec\u901a\u8fc7npm\u4ee5\u53capackage.json\u6587\u4ef6\u5bf9API\u7248\u672c\u8fdb\u884c\u63a7\u5236\u3002\u5f53\u524d\u7684\u7248\u672c\u4e3a\uff1a",(0,n.jsx)(e.img,{src:"https://img.shields.io/npm/v/@scow/grpc-api?label=%40scow%2Fgrpc-api",alt:"npm"})]}),"\n",(0,n.jsxs)(e.p,{children:["API\u7684\u7248\u672c\u901a\u8fc7",(0,n.jsx)(e.code,{children:"@scow/grpc-api"}),"\u5305\u7684\u7248\u672c\u8fdb\u884c\u5b9a\u4e49\u3002SCOW gRPC API\u7248\u672c\u63a7\u5236\u539f\u5219\uff1a"]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"\u4e0d\u5f71\u54cdAPI\u7684\u4fee\u6539\uff0c\u4f8b\u5982lint\u6587\u4ef6\uff1a\u63d0\u9ad8PATCH\u53f7"}),"\n",(0,n.jsx)(e.li,{children:"\u4fee\u6539\u4e86API\uff0c\u4f46\u662f\u517c\u5bb9\u5f53\u524d\u7684API\uff1a\u63d0\u9ad8MINOR\u53f7"}),"\n",(0,n.jsx)(e.li,{children:"\u4e0d\u517c\u5bb9\u5df2\u6709\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u63d0\u9ad8MAJOR\u7248\u672c"}),"\n"]}),"\n",(0,n.jsx)(e.p,{children:"\u5f53\u524d\uff0c\u6211\u4eec\u5e76\u4e0d\u4fdd\u8bc1\u65b0\u7248\u672cSCOW\u5bf9\u8001\u7248\u672cAPI\u7684\u517c\u5bb9\u6027\u3002SCOW\u6bcf\u6b21\u53d1\u5e03\u7248\u672c\u65f6\uff0c\u4f1a\u540c\u65f6\u516c\u5e03\u6b64\u7248\u672c\u652f\u6301\u7684SCOW API\u7684\u7248\u672c\u53f7\u3002"})]})}function a(o={}){const{wrapper:e}={...(0,i.R)(),...o.components};return e?(0,n.jsx)(e,{...o,children:(0,n.jsx)(p,{...o})}):p(o)}},5409:(o,e,r)=>{r.d(e,{R:()=>t,x:()=>c});var n=r(48318);const i={},s=n.createContext(i);function t(o){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof o?o(e):{...e,...o}}),[e,o])}function c(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(i):o.components||i:t(o.components),n.createElement(s.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/42228e1f.5da6eca3.js b/pr-preview/pr-1298/assets/js/42228e1f.5da6eca3.js deleted file mode 100644 index 25db9ebb3c..0000000000 --- a/pr-preview/pr-1298/assets/js/42228e1f.5da6eca3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7897],{93646:(s,n,e)=>{e.r(n),e.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var r=e(49214),o=e(5409);const c={sidebar_position:4,title:"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09"},t="\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09",i={id:"deploy/config/portal/transfer-cross-clusters",title:"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09",description:"1. \u4e3a\u6bcf\u4e2a\u96c6\u7fa4\u6dfb\u52a0\u4f20\u8f93\u8282\u70b9",source:"@site/docs/deploy/config/portal/transfer-cross-clusters.md",sourceDirName:"deploy/config/portal",slug:"/deploy/config/portal/transfer-cross-clusters",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/transfer-cross-clusters.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09"},sidebar:"deploy",previous:{title:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop"},next:{title:"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell"}},l={},d=[{value:"1. \u4e3a\u6bcf\u4e2a\u96c6\u7fa4\u6dfb\u52a0\u4f20\u8f93\u8282\u70b9",id:"1-\u4e3a\u6bcf\u4e2a\u96c6\u7fa4\u6dfb\u52a0\u4f20\u8f93\u8282\u70b9",level:2},{value:"\u7f51\u7edc\u533a\u5206",id:"\u7f51\u7edc\u533a\u5206",level:3},{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:3},{value:"2. \u5efa\u7acbscow\u8282\u70b9\u5230\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u7684root\u7528\u6237\u514d\u5bc6",id:"2-\u5efa\u7acbscow\u8282\u70b9\u5230\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u7684root\u7528\u6237\u514d\u5bc6",level:2},{value:"3. \u5728\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u4e0a\u5b89\u88c5scow-sync\u4f20\u8f93\u8f6f\u4ef6",id:"3-\u5728\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u4e0a\u5b89\u88c5scow-sync\u4f20\u8f93\u8f6f\u4ef6",level:2},{value:"4. \u53ef\u9009\uff1a\u81ea\u5b9a\u4e49scow-sync\u7684\u65e5\u5fd7\u8def\u5f84",id:"4-\u53ef\u9009\u81ea\u5b9a\u4e49scow-sync\u7684\u65e5\u5fd7\u8def\u5f84",level:2}];function a(s){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...s.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\u53ef\u9009",children:"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09"}),"\n",(0,r.jsx)(n.h2,{id:"1-\u4e3a\u6bcf\u4e2a\u96c6\u7fa4\u6dfb\u52a0\u4f20\u8f93\u8282\u70b9",children:"1. \u4e3a\u6bcf\u4e2a\u96c6\u7fa4\u6dfb\u52a0\u4f20\u8f93\u8282\u70b9"}),"\n",(0,r.jsx)(n.h3,{id:"\u7f51\u7edc\u533a\u5206",children:"\u7f51\u7edc\u533a\u5206"}),"\n",(0,r.jsxs)(n.p,{children:["\u901a\u5e38\u60c5\u51b5\u4e0b\uff0c\u540c\u5c5e\u4e00\u4e2a\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\uff0c\u5747\u5728\u540c\u4e00\u4e2a\u5b50\u7f51\u4e0b\uff0c\u6211\u4eec\u79f0\u4e4b\u4e3a",(0,r.jsx)(n.strong,{children:"\u96c6\u7fa4\u5185\u7f51"}),"\u3002\u4f8b\u5982\uff1a\u767b\u5f55\u8282\u70b9\u8bbf\u95ee\u8ba1\u7b97\u7ed3\u70b9\u4fbf\u662f\u901a\u8fc7\u96c6\u7fa4\u5185\u7f51\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u4e0d\u540c\u96c6\u7fa4\u4e4b\u95f4\u7684\u8282\u70b9\uff0c\u4e92\u76f8\u901a\u5e38\u662f\u8bbf\u95ee\u4e0d\u5230\u7684\uff0c\u9664\u975e\u63a5\u5165\u5230\u66f4\u5927\u7684\u7f51\u7edc\u4e4b\u4e2d\uff0c\u6211\u4eec\u79f0\u4e4b\u4e3a",(0,r.jsx)(n.strong,{children:"\u96c6\u7fa4\u95f4\u53ef\u8fbe\u7f51"}),"\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u4efb\u4f55\u673a\u5668\u90fd\u53ef\u4ee5\u901a\u8fc7\u7f51\u7edc\u8bbf\u95ee\u5230\u7684\u5730\u5740\uff0c\u4e3a\u516c\u7f51\u5730\u5740\uff0c\u6211\u4eec\u79f0\u4e4b\u4e3a",(0,r.jsx)(n.strong,{children:"\u4e92\u8054\u7f51\u516c\u7f51"}),"\u3002"]}),"\n",(0,r.jsx)(n.p,{children:"\u7f51\u7edc\u8303\u56f4\u6392\u5e8f\uff1a\u4e92\u8054\u7f51\u516c\u7f51 > \u96c6\u7fa4\u95f4\u53ef\u8fbe\u7f51 > \u96c6\u7fa4\u5185\u7f51"}),"\n",(0,r.jsx)(n.h3,{id:"\u914d\u7f6e",children:"\u914d\u7f6e"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["\u5728\u8de8\u96c6\u7fa4\u4f20\u8f93\u529f\u80fd\u7684\u914d\u7f6e\u4e2d\uff0c\u6bcf\u4e2a\u96c6\u7fa4\u9700\u8981\u6709\u4e00\u4e2a\u4e13\u95e8\u7528\u6765\u505a\u6587\u4ef6\u4f20\u8f93\u7684\u8282\u70b9TransferNode\uff0c\u8be5TransferNode\u8981\u6c42\u5177\u6709",(0,r.jsx)(n.strong,{children:"\u96c6\u7fa4\u95f4\u53ef\u8fbe\u7f51"}),"\u7684\u5730\u5740\uff0c\u4e5f\u5c31\u662f\u8bf4\u63a5\u5165SCOW\u7cfb\u7edf\u7684\u6240\u6709\u96c6\u7fa4\u7684\u4f20\u8f93\u8282\u70b9\u4e4b\u95f4\u5f7c\u6b64\u662f\u53ef\u4ee5\u8bbf\u95ee\u7684\u3002\u4f20\u8f93\u8282\u70b9TransferNode\u548c\u767b\u5f55\u8282\u70b9LoginNode\u53ef\u4ee5\u662f\u540c\u4e00\u4e2a\u8282\u70b9\u3002"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"\u4f20\u8f93\u8282\u70b9\u80fd\u591f\u8bbf\u95ee\u6587\u4ef6\u7cfb\u7edf\uff0c\u4e14\u6302\u8f7d\u76ee\u5f55\u8def\u5f84\u548c\u767b\u5f55\u8282\u70b9\u8bbf\u95ee\u6587\u4ef6\u7cfb\u7edf\u7684\u8def\u5f84\u76f8\u540c\u3002\u51fa\u4e8e\u5b89\u5168\u6027\u7684\u8003\u8651\uff0c\u4f20\u8f93\u8282\u70b9\u6700\u597d\u4e0d\u5177\u5907\u8bbf\u95ee\u4f5c\u4e1a\u6743\u9650\uff08\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e0eslurm\u7ba1\u7406\u8282\u70b9\u7f51\u7edc\u4e0d\u901a\uff09"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["\u51c6\u5907\u597d\u4f20\u8f93\u8282\u70b9\u540e\uff0c\u9700\u8981\u5c06\u5176\u63a5\u5165\u5230scow\u96c6\u7fa4\u4e2d\u3002\u63a5\u4e0b\u6765\u9700\u8981\u4fee\u6539\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",(0,r.jsx)(n.code,{children:"config/clusters/xxx.yaml"}),"\uff0c\u5728yaml\u6587\u4ef6\u672b\u5c3e\u6dfb\u52a0crossClusterFileTransfer\u6a21\u5757\uff0c\u6dfb\u52a0enabled\u548ctransferNode\u5c5e\u6027\u3002\u5982\u679cenabled\u4e3atrue\u8868\u793a\u5f00\u542f\u8be5\u529f\u80fd\u9700\u8981\u914d\u7f6etransferNode\uff0c\u4e3afalse\u8868\u793a\u4e0d\u5f00\u542f\u8be5\u529f\u80fd\u65e0\u9700\u914d\u7f6etransferNode\u3002transferNode\u914d\u7f6e\u683c\u5f0f\u4e3aip",":port","\uff0c\u5982\u679c\u4e0d\u914d\u7f6eport\u9ed8\u8ba4\u4e3a22\u7aef\u53e3\u3002"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/clusters/hpc01.yaml"',children:"displayName: hpc01Name\nadapterUrl: 0.0.0.0:6000\nloginNodes:\n - name: loginNode01\n address: localhost:22222\ncrossClusterFileTransfer:\n enabled: true\n transferNode: localhost:22222\n"})}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"\u4f20\u8f93\u8282\u70b9\u5982\u679c\u662f\u4e00\u4e2a\u65b0\u8282\u70b9\uff0c\u5219\u8be5\u8282\u70b9\u9700\u8981\u4e0e\u96c6\u7fa4\u6709\u4e00\u81f4\u7684\u7528\u6237\uff0c\u5373\u914d\u7f6e\u4e0e\u8be5\u96c6\u7fa4\u76f8\u540c\u7684\u8ba4\u8bc1\u7cfb\u7edf(LDAP)\uff0c\u6302\u8f7d\u76f8\u540c\u7684\u5171\u4eab\u76ee\u5f55\u3002"})}),"\n",(0,r.jsx)(n.h2,{id:"2-\u5efa\u7acbscow\u8282\u70b9\u5230\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u7684root\u7528\u6237\u514d\u5bc6",children:"2. \u5efa\u7acbscow\u8282\u70b9\u5230\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u7684root\u7528\u6237\u514d\u5bc6"}),"\n",(0,r.jsx)(n.p,{children:"\u5728scow\u8282\u70b9\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u8fde\u7eed\u56de\u8f66\uff0c\u8f93\u5165\u5bc6\u7801\u540e\u8bbe\u7f6e\u514d\u5bc6\u6210\u529f\nssh-copy-id root@[TransferNodeIP]\n"})}),"\n",(0,r.jsx)(n.h2,{id:"3-\u5728\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u4e0a\u5b89\u88c5scow-sync\u4f20\u8f93\u8f6f\u4ef6",children:"3. \u5728\u6bcf\u4e2a\u4f20\u8f93\u8282\u70b9\u4e0a\u5b89\u88c5scow-sync\u4f20\u8f93\u8f6f\u4ef6"}),"\n",(0,r.jsx)(n.p,{children:"scow-sync\u4f20\u8f93\u8f6f\u4ef6\u76ee\u524d\u53ea\u652f\u6301\u4ece\u6e90\u7801\u6784\u5efa\u3002"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\u62c9\u53d6scow-sync\u4ee3\u7801\u3002\u9996\u5148\u9700\u8981\u4ee5root\u8eab\u4efd\u767b\u5f55\u5230\u4f20\u8f93\u8282\u70b9\uff0c\u7136\u540e\u62c9\u53d6scow-sync\u7684\u4ed3\u5e93",(0,r.jsx)(n.a,{href:"https://github.com/PKUHPC/scow-sync.git%E3%80%82%E9%80%9A%E5%B8%B8%E5%B0%86scow-sync%E5%AE%89%E8%A3%85%E5%9C%A8/data/software%E7%9B%AE%E5%BD%95%E4%B8%8B%E3%80%82",children:"https://github.com/PKUHPC/scow-sync.git\u3002\u901a\u5e38\u5c06scow-sync\u5b89\u88c5\u5728/data/software\u76ee\u5f55\u4e0b\u3002"})]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u4ee5root\u8eab\u4efd\u767b\u5f55\u4f20\u8f93\u8282\u70b9\nssh root@[TransferNodeIP] -p [TransferNodePort]\n# \u62c9\u53d6scow-sync\u5230/data/software\u76ee\u5f55\ncd /data/software\ngit clone https://github.com/PKUHPC/scow-sync.git\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsx)(n.li,{children:"\u5b89\u88c5python\u4f9d\u8d56\u5e93\u3002\u5728\u4f20\u8f93\u8282\u70b9\u4e0a\u6309\u7167scow-sync\u7684requirements.txt\u6587\u4ef6\u5b89\u88c5\u597d\u5bf9\u5e94\u7248\u672c\u7684\u4f9d\u8d56\u5e93\u3002"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-txt",children:"python >= 3.6.0\nparamiko >= 3.0.0\npsutil >= 5.9.4\nsubprocess\nconcurrent\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsx)(n.li,{children:"\u8bbe\u7f6epython\u89e3\u91ca\u5668\u7684\u8def\u5f84\u3002"}),"\n"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u4f7f\u7528\u7684python\u89e3\u91ca\u5668\u7684\u8def\u5f84\u4e3a",(0,r.jsx)(n.code,{children:"/usr/bin/python3"}),"\uff0c\u5219\u53ef\u4ee5\u76f4\u63a5\u6267\u884c",(0,r.jsx)(n.code,{children:"sudo bash install.sh"}),"\uff0c\u8be5\u811a\u672c\u4f1a\u5728\u5168\u5c40\u5b89\u88c5scow-sync\u76f8\u5173\u7684\u547d\u4ee4\u3002"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684python\u89e3\u91ca\u5668\u7684\u8def\u5f84\uff0c\u9700\u8981\u4fee\u6539scow-sync\u4ee3\u7801\u4e2d\u7684",(0,r.jsx)(n.code,{children:"scow_sync/config.py"}),"\u914d\u7f6e\u6587\u4ef6\u7684",(0,r.jsx)(n.code,{children:"SHEBANG_PATH"}),"\u4e3apython\u89e3\u91ca\u5668\u7684\u8def\u5f84\uff0c\u518d\u6267\u884c",(0,r.jsx)(n.code,{children:"sudo bash install.sh update"}),"\u66f4\u65b0scow-sync\u5404\u4e2a\u811a\u672c\u7684SheBang\uff0c\u6700\u540e\u518d\u6267\u884c",(0,r.jsx)(n.code,{children:"sudo bash install.sh"}),"\u5b89\u88c5scow-sync\u3002"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.ol,{start:"4",children:["\n",(0,r.jsx)(n.li,{children:"\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\u89c2\u5bdf\u662f\u5426\u5b89\u88c5\u6210\u529f\u3002"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"[root@login01 ~]# scow-sync-start -h\nusage: scow-sync-start [-h] [-a ADDRESS] [-u USER] [-s SOURCE]\n [-d DESTINATION] [-m MAX_DEPTH] [-p PORT]\n [-k SSHKEY_PATH] [-c]\n\nargsparser for starting transferring files\n\noptional arguments:\n -h, --help show this help message and exit\n -a ADDRESS, --address ADDRESS\n address of the server\n -u USER, --user USER username for logging in\n -s SOURCE, --source SOURCE\n path of the source file or directory\n -d DESTINATION, --destination DESTINATION\n path of the destination directory\n -m MAX_DEPTH, --max-depth MAX_DEPTH\n max parallel depth of the directory\n -p PORT, --port PORT ssh port of the server\n -k SSHKEY_PATH, --sshkey-path SSHKEY_PATH\n path of the private key\n -c, --check check whether the key in scow-sync-ssh is right\n \n[root@login01 ~]# scow-sync-query\n[]\n[root@login01 ~]# scow-sync-terminate -h\nusage: scow-sync-terminate [-h] [-a ADDRESS] [-u USER] [-s SOURCE]\n\nargsparser for terminating transferring files\n\noptional arguments:\n -h, --help show this help message and exit\n -a ADDRESS, --address ADDRESS\n address of the server\n -u USER, --user USER username for logging in to the server\n -s SOURCE, --source SOURCE\n path to the source file or directory\n"})}),"\n",(0,r.jsx)(n.h2,{id:"4-\u53ef\u9009\u81ea\u5b9a\u4e49scow-sync\u7684\u65e5\u5fd7\u8def\u5f84",children:"4. \u53ef\u9009\uff1a\u81ea\u5b9a\u4e49scow-sync\u7684\u65e5\u5fd7\u8def\u5f84"}),"\n",(0,r.jsxs)(n.p,{children:["\u914d\u7f6escow-sync\u7684\u8f93\u51fa\u8def\u5f84\u4e3a\u53ef\u9009\u64cd\u4f5c\uff0c\u9ed8\u8ba4\u7684\u8f93\u51fa\u8def\u5f84\u4e3a",(0,r.jsx)(n.code,{children:"~/scow/.scow-sync"}),"\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u4fee\u6539scow-sync\u4ee3\u7801\u4e2d\u7684",(0,r.jsx)(n.code,{children:"scow_sync/config.py"}),"\u7684",(0,r.jsx)(n.code,{children:"SCOWSYNC_PATH"}),"\u3001",(0,r.jsx)(n.code,{children:"LOG_PATH"}),"\u548c",(0,r.jsx)(n.code,{children:"ERROR_PATH"}),"\uff0c\u4ee5\u4e0b\u4e3a\u9ed8\u8ba4\u914d\u7f6e:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-python",children:"SCOWSYNC_PATH = os.path.expanduser('~/scow/.scow-sync') # scow-sync\u4f20\u8f93\u6587\u4ef6\u8fdb\u5ea6\u4fdd\u5b58\u76ee\u5f55\nLOG_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.log') # scow-sync\u6253\u5370\u65e5\u5fd7\u76ee\u5f55\nERROR_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.err') # scow-sync\u9519\u8bef\u65e5\u5fd7\u76ee\u5f55\n"})}),"\n",(0,r.jsx)(n.p,{children:"SCOWSYNC_PATH\u7684\u8def\u5f84\u5fc5\u987b\u4e3a\u4ee5~\u5f00\u5934\u7684\u7528\u6237\u8def\u5f84\uff0c\u4ece\u800c\u5b9e\u73b0\u7528\u6237\u4fe1\u606f\u7684\u9694\u79bb\u3002"})]})}function h(s={}){const{wrapper:n}={...(0,o.R)(),...s.components};return n?(0,r.jsx)(n,{...s,children:(0,r.jsx)(a,{...s})}):a(s)}},5409:(s,n,e)=>{e.d(n,{R:()=>t,x:()=>i});var r=e(48318);const o={},c=r.createContext(o);function t(s){const n=r.useContext(c);return r.useMemo((function(){return"function"==typeof s?s(n):{...n,...s}}),[n,s])}function i(s){let n;return n=s.disableParentContext?"function"==typeof s.components?s.components(o):s.components||o:t(s.components),r.createElement(c.Provider,{value:n},s.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4274bccf.cc9385e1.js b/pr-preview/pr-1298/assets/js/4274bccf.cc9385e1.js deleted file mode 100644 index 7c11a08ac2..0000000000 --- a/pr-preview/pr-1298/assets/js/4274bccf.cc9385e1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6474],{69907:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var p=r(49214),t=r(5409);const o={sidebar_position:1},i="JupyterLab",s={id:"deploy/config/ai/apps/apps/jupyterlab/index",title:"JupyterLab",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/ai/apps/apps/jupyterlab/index.md",sourceDirName:"deploy/config/ai/apps/apps/jupyterlab",slug:"/deploy/config/ai/apps/apps/jupyterlab/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/ai/apps/apps/jupyterlab/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1"},next:{title:"VSCode",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode/"}},a={},l=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001\u8f6f\u4ef6\u4ecb\u7ecd",id:"1\u8f6f\u4ef6\u4ecb\u7ecd",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function c(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(n.h1,{id:"jupyterlab",children:"JupyterLab"}),"\n",(0,p.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,p.jsx)(n.p,{children:"JupyterLab\u662fJupyter Notebook\u7684\u4e0b\u4e00\u4ee3\u7248\u672c\uff0c\u63d0\u4f9b\u4e86\u66f4\u5f3a\u5927\u7684\u7528\u6237\u754c\u9762\u548c\u529f\u80fd\uff0c\u53ef\u7528\u4e8e\u66f4\u590d\u6742\u7684\u5de5\u4f5c\u6d41\u7a0b\u548c\u9879\u76ee\u3002"}),"\n",(0,p.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,p.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u6709JupyterLab\u955c\u50cf\u6216\u8005\u53ef\u4ee5\u62c9\u53d6\u5230\u914d\u7f6e\u91cc\u5bf9\u5e94\u7684\u955c\u50cf\u5730\u5740\u3002"}),"\n",(0,p.jsx)(n.h3,{id:"1\u8f6f\u4ef6\u4ecb\u7ecd",children:"1\u3001\u8f6f\u4ef6\u4ecb\u7ecd"}),"\n",(0,p.jsx)(n.p,{children:"JupyterLab\u662fJupyter Notebook\u7684\u4e0b\u4e00\u4ee3\u7248\u672c\uff0c\u63d0\u4f9b\u4e86\u66f4\u5f3a\u5927\u7684\u7528\u6237\u754c\u9762\u548c\u529f\u80fd\uff0c\u53ef\u7528\u4e8e\u66f4\u590d\u6742\u7684\u5de5\u4f5c\u6d41\u7a0b\u548c\u9879\u76ee\u3002"}),"\n",(0,p.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528JupyterLab\u3002"}),"\n",(0,p.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,p.jsxs)(n.p,{children:["\u521b\u5efa",(0,p.jsx)(n.code,{children:"config/ai/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,p.jsx)(n.code,{children:"jupyter.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,p.jsx)(n.pre,{children:(0,p.jsx)(n.code,{className:"language-yaml",metastring:'title="config/ai/apps/jupyter.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: jupyter\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: jupyter\n\nimage:\n # \u955c\u50cf\u540d\u79f0\n name: jupyter/minimal-notebook\n # \u955c\u50cf\u7248\u672c\n tag: latest\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: absolute\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PASSWORD=$(get_password 12)\n export SALT=123\n export PASSWORD_SHA1="$(echo -n "${PASSWORD}${SALT}" | openssl dgst -sha1 | awk \'{print $NF}\')"\n \n # \u6307\u660e\u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u4e2d\u7684\u542f\u52a8\u547d\u4ee4\uff0c\u7528\u6237\u5728\u521b\u5efa\u5e94\u7528\u9875\u9762\u53ef\u4ee5\u5728\u811a\u672c\u4e2d\u66ff\u6362\u8be5\u547d\u4ee4\n startCommand:\n jupyter-lab\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n jupyter-lab --ServerApp.ip=\'0.0.0.0\' --ServerApp.port=${PORT} --ServerApp.port_retries=0 --ServerApp.password="sha1:${SALT}:${PASSWORD_SHA1}" --ServerApp.open_browser=False --ServerApp.base_url="${PROXY_BASE_PATH}/${HOST}/${SVCPORT}/" --ServerApp.allow_origin=\'*\' --ServerApp.disable_check_xsrf=True --ServerApp.root_dir="${workingDir}" --allow-root\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n\n# \u914d\u7f6eHTML\u8868\u5355\nattributes:\n - type: text\n name: workingDir\n label: \u6307\u5b9ajupyter\u5de5\u4f5c\u76ee\u5f55\n required: true\n placeholder: "\u8bf7\u586b\u5199\u7edd\u5bf9\u8def\u5f84"\n'})}),"\n",(0,p.jsx)(n.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0WEB\u6d4f\u89c8\u5668\u5373\u53ef\u3002"})]})}function d(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,p.jsx)(n,{...e,children:(0,p.jsx)(c,{...e})}):c(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>s});var p=r(48318);const t={},o=p.createContext(t);function i(e){const n=p.useContext(o);return p.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),p.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4332.e27ec33a.js b/pr-preview/pr-1298/assets/js/4332.e27ec33a.js deleted file mode 100644 index 3741846724..0000000000 --- a/pr-preview/pr-1298/assets/js/4332.e27ec33a.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4332],{74332:()=>{}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/43d6633b.04bfdb7b.js b/pr-preview/pr-1298/assets/js/43d6633b.04bfdb7b.js deleted file mode 100644 index 210863ef7f..0000000000 --- a/pr-preview/pr-1298/assets/js/43d6633b.04bfdb7b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5220],{62990:e=>{e.exports=JSON.parse('{"title":"\u4ea4\u4e92\u5f0f\u4efb\u52a1 (beta)","description":"\u5173\u4e8e AI \u7cfb\u7edf\uff08beta\uff09\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u90e8\u7f72\u548c\u914d\u7f6e","slug":"/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta","navigation":{"previous":{"title":"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro"},"next":{"title":"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/447d3b5d.f2c1ca81.js b/pr-preview/pr-1298/assets/js/447d3b5d.f2c1ca81.js deleted file mode 100644 index 37b9ae0379..0000000000 --- a/pr-preview/pr-1298/assets/js/447d3b5d.f2c1ca81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8530],{15852:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>n,metadata:()=>p,toc:()=>d});var t=r(49214),o=r(5409);const n={},s=void 0,p={id:"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",title:"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",description:"enabled Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-periodicfetch-properties-cron",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron"},next:{title:"definition-properties-fetchjobs-properties-periodicfetch",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch"}},c={},d=[{value:"enabled Type",id:"enabled-type",level:2},{value:"enabled Default Value",id:"enabled-default-value",level:2}];function f(e){const i={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h2,{id:"enabled-type",children:"enabled Type"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.code,{children:"boolean"})}),"\n",(0,t.jsx)(i.h2,{id:"enabled-default-value",children:"enabled Default Value"}),"\n",(0,t.jsx)(i.p,{children:"The default value is:"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-json",children:"true\n"})})]})}function l(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(f,{...e})}):f(e)}},5409:(e,i,r)=>{r.d(i,{R:()=>s,x:()=>p});var t=r(48318);const o={},n=t.createContext(o);function s(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/44dd9873.8be22da1.js b/pr-preview/pr-1298/assets/js/44dd9873.8be22da1.js deleted file mode 100644 index 5c24981d86..0000000000 --- a/pr-preview/pr-1298/assets/js/44dd9873.8be22da1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[826],{26466:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>a,frontMatter:()=>r,metadata:()=>p,toc:()=>l});var o=i(49214),n=i(5409);const r={},s=void 0,p={id:"refs/config/portal/definition-properties-submitjobdefaultpwd",title:"definition-properties-submitjobdefaultpwd",description:"submitJobDefaultPwd Type",source:"@site/docs/refs/config/portal/definition-properties-submitjobdefaultpwd.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-submitjobdefaultpwd",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-submitjobdefaultpwd.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-shell",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell"},next:{title:"definition-properties-turbovncpath",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath"}},d={},l=[{value:"submitJobDefaultPwd Type",id:"submitjobdefaultpwd-type",level:2},{value:"submitJobDefaultPwd Default Value",id:"submitjobdefaultpwd-default-value",level:2}];function u(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"submitjobdefaultpwd-type",children:"submitJobDefaultPwd Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})}),"\n",(0,o.jsx)(t.h2,{id:"submitjobdefaultpwd-default-value",children:"submitJobDefaultPwd Default Value"}),"\n",(0,o.jsx)(t.p,{children:"The default value is:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"scow/jobs/{name}"\n'})})]})}function a(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>p});var o=i(48318);const n={},r=o.createContext(n);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4602b3cf.7342e621.js b/pr-preview/pr-1298/assets/js/4602b3cf.7342e621.js deleted file mode 100644 index 29466260b9..0000000000 --- a/pr-preview/pr-1298/assets/js/4602b3cf.7342e621.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9733],{97311:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>x,frontMatter:()=>r,metadata:()=>l,toc:()=>o});var s=n(49214),c=n(5409);const r={sidebar_position:5,title:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e"},i="\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e",l={id:"deploy/config/portal/apps/configure-cluster-apps",title:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e",description:"\u652f\u6301\u7ba1\u7406\u5458\u901a\u8fc7\u5728\u4e0d\u540c\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\u4e0b\u81ea\u5b9a\u4e49\u914d\u7f6e\u5404\u4e2a\u96c6\u7fa4\u5747\u53ef\u4f7f\u7528\u7684\u5e94\u7528\u4ee5\u53ca\u53ea\u6709\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u5e94\u7528\u3002",source:"@site/docs/deploy/config/portal/apps/configure-cluster-apps.md",sourceDirName:"deploy/config/portal/apps",slug:"/deploy/config/portal/apps/configure-cluster-apps",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/configure-cluster-apps.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e"},sidebar:"deploy",previous:{title:"\u914d\u7f6eHTML\u8868\u5355",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes"},next:{title:"\u914d\u7f6e\u5e94\u7528\u56fe\u6807",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo"}},d={},o=[{value:"\u5404\u4e2a\u96c6\u7fa4\u5171\u4eab\u5e94\u7528",id:"\u5404\u4e2a\u96c6\u7fa4\u5171\u4eab\u5e94\u7528",level:2},{value:"\u7279\u5b9a\u96c6\u7fa4\u5e94\u7528",id:"\u7279\u5b9a\u96c6\u7fa4\u5e94\u7528",level:2},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2}];function p(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e",children:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e"}),"\n",(0,s.jsx)(t.p,{children:"\u652f\u6301\u7ba1\u7406\u5458\u901a\u8fc7\u5728\u4e0d\u540c\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\u4e0b\u81ea\u5b9a\u4e49\u914d\u7f6e\u5404\u4e2a\u96c6\u7fa4\u5747\u53ef\u4f7f\u7528\u7684\u5e94\u7528\u4ee5\u53ca\u53ea\u6709\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u5e94\u7528\u3002"}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"\u65e0\u8bba\u662f\u914d\u7f6e\u5404\u4e2a\u96c6\u7fa4\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u5e94\u7528\u8fd8\u662f\u914d\u7f6e\u53ea\u6709\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u5e94\u7528\uff0c\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u96c6\u7fa4\u4e0b\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u5b89\u88c5\u6709\u9700\u8981\u7684\u8f6f\u4ef6\u5305\u3002"})}),"\n",(0,s.jsx)(t.h2,{id:"\u5404\u4e2a\u96c6\u7fa4\u5171\u4eab\u5e94\u7528",children:"\u5404\u4e2a\u96c6\u7fa4\u5171\u4eab\u5e94\u7528"}),"\n",(0,s.jsxs)(t.p,{children:["\u7ba1\u7406\u5458\u5728\u4e0e",(0,s.jsx)(t.code,{children:"install.yml"}),"\u540c\u7ea7\u7684",(0,s.jsx)(t.code,{children:"config/apps"}),"\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e3a\u5404\u4e2a\u96c6\u7fa4\u5747\u53ef\u4f7f\u7528\u7684\u5e94\u7528\u3002"]}),"\n",(0,s.jsx)(t.h2,{id:"\u7279\u5b9a\u96c6\u7fa4\u5e94\u7528",children:"\u7279\u5b9a\u96c6\u7fa4\u5e94\u7528"}),"\n",(0,s.jsxs)(t.p,{children:["\u5982\u679c\u9700\u8981\u5355\u72ec\u914d\u7f6e\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u5e94\u7528\uff0c\u7ba1\u7406\u5458\u9700\u8981\u5728",(0,s.jsx)(t.code,{children:"config/clusters"}),"\u4e0b\u65b0\u5efa\u540d\u79f0\u4e3a",(0,s.jsx)(t.code,{children:"\u96c6\u7fa4ID"}),"\u7684\u6587\u4ef6\u5939\uff0c\u5e76\u5728\u6b64\u6587\u4ef6\u5939\u4e0b\u7ee7\u7eed\u65b0\u5efa\u7528\u4e8e\u4fdd\u5b58\u8be5\u96c6\u7fa4\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684",(0,s.jsx)(t.code,{children:"apps"}),"\u6587\u4ef6\u8def\u5f84\u3002"]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"\u96c6\u7fa4ID"}),"\u7684\u786e\u8ba4\u8bf7\u53c2\u7167",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",children:"\u96c6\u7fa4\u914d\u7f6e"}),"\u3002"]}),"\n",(0,s.jsxs)(t.p,{children:["\u5728\u6b64\u6587\u4ef6\u8def\u5f84",(0,s.jsx)(t.code,{children:"config/clusters/{\u96c6\u7fa4ID}/apps"}),"\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e3a\u8be5\u96c6\u7fa4\u7279\u5b9a\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u3002"]}),"\n",(0,s.jsxs)(t.admonition,{type:"note",children:[(0,s.jsxs)(t.p,{children:["\u5f53",(0,s.jsx)(t.code,{children:"config/apps"}),"\u4e0b\u7684\u5171\u4eab\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e0e",(0,s.jsx)(t.code,{children:"config/clusters/{\u96c6\u7fa4ID}/apps"}),"\u4e0b\u7684\u7279\u5b9a\u96c6\u7fa4\u4ea4\u4e92\u5f0f\u5e94\u7528\u51fa\u73b0\u91cd\u590d\u65f6\uff08\u5373\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684",(0,s.jsx)(t.code,{children:"id"}),"\u503c\u76f8\u540c\uff09\uff0c\u90a3\u4e48\u5728\u96c6\u7fa4\u4e0b\u83b7\u53d6\u7684\u6b64\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u8be6\u7ec6\u4fe1\u606f\u4e3a\n",(0,s.jsx)(t.code,{children:"config/clusters/{\u96c6\u7fa4ID}/apps"}),"\u4e2d\u7684\u914d\u7f6e\u7684\u8be6\u7ec6\u4fe1\u606f\u3002"]}),(0,s.jsxs)(t.p,{children:["\u5e94\u7528\u914d\u7f6e\u4e2d",(0,s.jsx)(t.code,{children:"id"}),"\u7684\u786e\u8ba4\u8bf7\u53c2\u7167",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app",children:"Web\u7c7b\u5e94\u7528\u914d\u7f6e\u793a\u4f8b"}),"\u4ee5\u53ca",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app",children:"\u684c\u9762\u7c7b\u5e94\u7528\u914d\u7f6e\u793a\u4f8b"}),"\u3002"]})]}),"\n",(0,s.jsx)(t.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,s.jsxs)(t.p,{children:["\u4ee5",(0,s.jsx)(t.code,{children:"\u96c6\u7fa4ID"}),"\u4e3a",(0,s.jsx)(t.code,{children:"hpc01"}),"\u548c",(0,s.jsx)(t.code,{children:"hpc02"}),"\u4e0b\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u4e3a\u4f8b\u3002\n\u5728\u5404\u4e2a\u96c6\u7fa4\u8ba1\u7b97\u673a\u8282\u70b9\u4e0b\u5747\u5b89\u88c5\u4e86\u5bf9\u5e94\u8f6f\u4ef6\u5305\u7684\u60c5\u51b5\u4e0b\uff0c\u5404\u4e2a\u96c6\u7fa4\u914d\u7f6e\u53ca\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u5982\u4e0b\uff1a"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"\u5e94\u7528\u914d\u7f6e\u6587\u4ef6"}),(0,s.jsxs)(t.th,{style:{textAlign:"center"},children:["\u5728",(0,s.jsx)(t.code,{children:"config/apps"}),"\u4e0b\u914d\u7f6e"]}),(0,s.jsxs)(t.th,{style:{textAlign:"center"},children:["\u5728",(0,s.jsx)(t.code,{children:"config/clusters/hpc01/apps"}),"\u4e0b\u914d\u7f6e"]}),(0,s.jsxs)(t.th,{style:{textAlign:"center"},children:["\u5728",(0,s.jsx)(t.code,{children:"config/clusters/hpc02/apps"}),"\u4e0b\u914d\u7f6e"]}),(0,s.jsxs)(t.th,{style:{textAlign:"center"},children:[(0,s.jsx)(t.code,{children:"hpc01"}),"\u4e0b\u53ef\u4ee5\u4f7f\u7528"]}),(0,s.jsxs)(t.th,{style:{textAlign:"center"},children:[(0,s.jsx)(t.code,{children:"hpc02"}),"\u4e0b\u53ef\u4ee5\u4f7f\u7528"]})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"vscode.yaml"})}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"emacs.yaml"})}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"baltamatica.yaml"})}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"jupyter.yaml"})}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"\u2714"}),(0,s.jsx)(t.td,{style:{textAlign:"center"}})]})]})]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsxs)(t.p,{children:["\u5728",(0,s.jsx)(t.code,{children:"config/apps"}),"\u548c",(0,s.jsx)(t.code,{children:"config/clusters/hpc02/apps"}),"\u4e0b\u90fd\u914d\u7f6e\u4e86",(0,s.jsx)(t.code,{children:"vscode.yaml"}),"\uff0c\u82e5\u4ed6\u4eec\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684",(0,s.jsx)(t.code,{children:"id"}),"\u76f8\u540c\uff0c\u5219",(0,s.jsx)(t.code,{children:"hpc01"}),"\u96c6\u7fa4\u4e0b\u83b7\u53d6\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4fe1\u606f\u5e94\u4e3a",(0,s.jsx)(t.code,{children:"config/clusters/hpc02/apps"}),"\u4e2d\u7684",(0,s.jsx)(t.code,{children:"vscode.yaml"}),"\u7684\u5e94\u7528\u914d\u7f6e\u4fe1\u606f\u3002"]})})]})}function x(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var s=n(48318);const c={},r=s.createContext(c);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/481303a9.a201b782.js b/pr-preview/pr-1298/assets/js/481303a9.a201b782.js deleted file mode 100644 index 5382b6e960..0000000000 --- a/pr-preview/pr-1298/assets/js/481303a9.a201b782.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9650],{98200:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=r(49214),t=r(5409);const o={sidebar_position:6,title:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9"},i="\u4ee3\u7406\u7f51\u5173\u8282\u70b9",c={id:"deploy/config/portal/proxy-gateway/index",title:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9",description:"\u95e8\u6237\u7cfb\u7edf\u7684\u684c\u9762\u548c\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd\u662f\u901a\u8fc7HTTP\u4ee3\u7406\uff0c\u5c06\u7528\u6237\u7684\u6d41\u91cf\u4ee3\u7406\u5230\u4e86\u8fd0\u884c\u684c\u9762\u7684\u767b\u5f55\u8282\u70b9\u6216\u8005\u8fd0\u884c\u8ba1\u7b97\u4f5c\u4e1a\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u6765\u5b9e\u73b0\u7684\u3002\u8fd9\u8981\u6c42SCOW\u6240\u5728\u7684\u670d\u52a1\u8282\u70b9\u80fd\u591f\u76f4\u8fde\u6240\u6709\u767b\u5f55\u548c\u8ba1\u7b97\u8282\u70b9\u3002",source:"@site/docs/deploy/config/portal/proxy-gateway/index.md",sourceDirName:"deploy/config/portal/proxy-gateway",slug:"/deploy/config/portal/proxy-gateway/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/proxy-gateway/index.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard"},next:{title:"\u7ba1\u7406\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf"}},a={},d=[];function l(e){const n={a:"a",code:"code",h1:"h1",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9",children:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9"}),"\n",(0,s.jsxs)(n.p,{children:["\u95e8\u6237\u7cfb\u7edf\u7684",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop",children:"\u684c\u9762"}),"\u548c",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro",children:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a"}),"\u529f\u80fd\u662f\u901a\u8fc7HTTP\u4ee3\u7406\uff0c\u5c06\u7528\u6237\u7684\u6d41\u91cf\u4ee3\u7406\u5230\u4e86\u8fd0\u884c\u684c\u9762\u7684\u767b\u5f55\u8282\u70b9\u6216\u8005\u8fd0\u884c\u8ba1\u7b97\u4f5c\u4e1a\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u6765\u5b9e\u73b0\u7684\u3002\u8fd9\u8981\u6c42SCOW\u6240\u5728\u7684\u670d\u52a1\u8282\u70b9\u80fd\u591f\u76f4\u8fde\u6240\u6709\u767b\u5f55\u548c\u8ba1\u7b97\u8282\u70b9\u3002"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"\u76f4\u8fde",src:r(53445).A+"",width:"494",height:"342"})}),"\n",(0,s.jsx)(n.p,{children:"\u4f46\u662f\uff0c\u5728\u591a\u96c6\u7fa4\u73af\u5883\u4e2d\uff0c\u5404\u4e2a\u96c6\u7fa4\u4e4b\u95f4\u7684\u7f51\u7edc\u53ef\u80fd\u4e0d\u8fde\u901a\uff0cSCOW\u6240\u5728\u7684\u670d\u52a1\u8282\u70b9\u53ef\u80fd\u4e0d\u80fd\u76f4\u8fde\u6240\u6709\u96c6\u7fa4\u7684\u8ba1\u7b97\u8282\u70b9\u3002"}),"\n",(0,s.jsx)(n.p,{children:"\u5bf9\u4e8e\u8fd9\u79cd\u60c5\u51b5\uff0c\u60a8\u53ef\u4ee5\u7ed9\u96c6\u7fa4\u914d\u7f6e\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u3002\u5728\u6709\u4ee3\u7406\u7f51\u5173\u7684\u60c5\u51b5\u4e0b\uff0cSCOW\u5c06\u4f1a\u628a\u4ea4\u4e92\u5f0f\u5e94\u7528\uff08\u5305\u62ecVNC\u7c7b\u578b\u548cWeb\u7c7b\u578b\uff09\u7684\u6d41\u91cf\u9996\u5148\u53d1\u7ed9\u96c6\u7fa4\u7684\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u3002\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u5c06\u4f1a\u8d1f\u8d23\u5c06\u6d41\u91cf\u8fdb\u4e00\u6b65\u8f6c\u53d1\u5230\u5177\u4f53\u7684\u8282\u70b9\u4e2d\u53bb\u3002"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"\u901a\u8fc7\u4ee3\u7406\u7f51\u5173\u8282\u70b9",src:r(35995).A+"",width:"1102",height:"562"})}),"\n",(0,s.jsx)(n.h1,{id:"\u624b\u52a8\u914d\u7f6e",children:"\u624b\u52a8\u914d\u7f6e"}),"\n",(0,s.jsxs)(n.p,{children:["\u60a8\u9700\u8981\u5728\u60a8\u7684\u9700\u8981\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u7684\u96c6\u7fa4\u4e2d\u9009\u62e9\u4e00\u4e2a\u8282\u70b9\u4f5c\u4e3a",(0,s.jsx)(n.strong,{children:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9"}),"\u3002\u8fd9\u4e2a\u8282\u70b9\u5fc5\u987b\u80fd\u88abSCOW\u76f4\u63a5\u8bbf\u95ee\uff0c\u4e5f\u80fd\u8bbf\u95ee\u81ea\u5df1\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u673a\u5668\u3002\u60a8\u9700\u8981\u7ed9\u8fd9\u4e2a\u8282\u70b9\u5411SCOW\u6240\u5728\u7684\u670d\u52a1\u8282\u70b9\u5f00\u653e\u4e00\u4e2a\u7aef\u53e3\u7528\u4f5c\u4e0b\u6587\u7684\u76d1\u542c\u7aef\u53e3\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u5f53\u60a8\u9009\u62e9\u597d\u4e86\u8282\u70b9\u540e\uff0c\u60a8\u9700\u8981\u5728\u7f51\u5173\u8282\u70b9\u4e0a\u5b89\u88c5nginx\uff0c\u5e76\u521b\u5efa",(0,s.jsx)(n.code,{children:"/etc/nginx/conf.d/scow-portal-proxy-gateway.conf"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"touch /etc/nginx/conf.d/scow-portal-proxy-gateway.conf\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u7136\u540e\u5c06\u4ee5\u4e0b\u5185\u5bb9\u5199\u5165\u6b64\u6587\u4ef6\uff0c\u66ff\u6362\u5982\u4e0b\u90e8\u5206\uff1a"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"${PORT}"}),": \u76d1\u542c\u7aef\u53e3\u53f7"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"${PORTAL_BASE_PATH}"}),": ",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath",children:"\u95e8\u6237\u7cfb\u7edf\u7684base path"}),"\uff0c\u4ee5",(0,s.jsx)(n.code,{children:"/"}),"\u7ed3\u5c3e"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-conf",metastring:'title="/etc/nginx/conf.d/scow-portal-proxy-gateway.conf"',children:'server {\n # \u76d1\u542c\u7aef\u53e3\u53f7\uff0c\u53ef\u4fee\u6539\n listen 12031;\n\n proxy_set_header Host $http_host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "upgrade";\n\n location ~ ^${PORTAL_BASE_PATH}api/proxy/(?.*)/relative/(?[\\d|\\.]*)/(?\\d+)(?.*)$ {\n proxy_pass http://$node:$port$rest$is_args$args;\n }\n\n location ~ ^${PORTAL_BASE_PATH}api/proxy/(?.*)/absolute/(?[\\d|\\.]*)/(?\\d+)(?.*)$ {\n proxy_pass http://$node:$port$request_uri;\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"\u91cd\u65b0\u52a0\u8f7dnginx\u914d\u7f6e"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"nginx -s reload\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u4e4b\u540e\uff0c\u60a8\u9700\u8981\u5728SCOW\u7684\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u5bf9\u9700\u8981\u5f00\u542f\u8fd9\u4e2a\u529f\u80fd\u7684\u96c6\u7fa4\u7684\u914d\u7f6e\u6587\u4ef6\u589e\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/clusters/hpc01/config.yaml"',children:"proxyGateway: \n url: {\u4ee3\u7406\u7f51\u5173\u8282\u70b9nginx\u76d1\u542c\u5730\u5740}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["\u4f8b\u5982\uff0c\u8fd9\u4e2a\u96c6\u7fa4\u7684\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u4e3a",(0,s.jsx)(n.code,{children:"192.168.88.100"}),"\uff0c\u4e0a\u9762\u65b0\u589e\u7684\u6587\u4ef6\u4e2d\u76d1\u542c\u7aef\u53e3\u53f7\u4e3a",(0,s.jsx)(n.code,{children:"12031"}),"\uff0c\u5219\u6b64\u5904\u586b\u5199"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/clusters/hpc01/config.yaml"',children:"proxyGateway:\n url: http://192.168.88.100:12031\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u91cd\u542fportal-web\u5373\u53ef\u751f\u6548\u3002"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"./cli compose restart portal-web\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u6ce8\u610f\uff0c\u4e00\u65e6\u4fee\u6539\u4e86\u6b64\u914d\u7f6e\uff0c\u88ab\u4fee\u6539\u4e86\u914d\u7f6e\u7684\u96c6\u7fa4\u5728\u4fee\u6539\u914d\u7f6e\u4e4b\u95f4\u542f\u52a8\u7684\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u5c06\u4f1a\u65e0\u6cd5\u91cd\u65b0\u8fde\u63a5\u3002"}),"\n",(0,s.jsx)(n.h1,{id:"\u81ea\u52a8\u914d\u7f6e",children:"\u81ea\u52a8\u914d\u7f6e"}),"\n",(0,s.jsx)(n.p,{children:"\u60a8\u4e5f\u53ef\u4ee5\u8ba9SCOW\u81ea\u52a8\u5e2e\u60a8\u505a\u8fd9\u4e2a\u914d\u7f6e\u3002\u8981\u4f7f\u7528\u81ea\u52a8\u914d\u7f6e\uff0c\u60a8\u9700\u8981\u786e\u4fdd\uff1a"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"SCOW\u8282\u70b9\u53ef\u4ee5\u4f7f\u7528\u516c\u94a5\u4ee5root\u8eab\u4efdSSH\u767b\u5f55\u5230\u4ee3\u7406\u7f51\u5173\u8282\u70b9"}),"\n",(0,s.jsx)(n.li,{children:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u4e0a\u5b89\u88c5\u4e86nginx"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u60a8\u9700\u8981\u5728\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u4e2d\u7f16\u5199\u5982\u4e0b\u914d\u7f6e\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/clusters/hpc01/config.yaml"',children:"proxyGateway:\n url: {\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u7684nginx\u7684\u76d1\u542c\u5730\u5740}\n autoSetupNginx: true\n"})}),"\n",(0,s.jsxs)(n.p,{children:["\u8fd9\u6837\u4e4b\u540e\uff0c",(0,s.jsx)(n.code,{children:"portal-server"}),"\u6bcf\u6b21\u542f\u52a8\u65f6\uff0c\u90fd\u4f1aSSH\u767b\u5f55\u5230\u4ee3\u7406\u7f51\u5173\u8282\u70b9\uff0c\u5e76\u6839\u636e\u624b\u52a8\u914d\u7f6e\u90e8\u5206\u81ea\u52a8\u914d\u7f6e\u3002"]}),"\n",(0,s.jsx)(n.h1,{id:"\u914d\u7f6e\u8981\u6c42",children:"\u914d\u7f6e\u8981\u6c42"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"\u5982\u679c\u60a8\u914d\u7f6e\u4e86\u4ee3\u7406\u7f51\u5173\u8282\u70b9\uff0c\u90a3\u4e48\u9700\u8981\u786e\u4fdd\u5728\u914d\u7f6e\u5404\u96c6\u7fa4\u767b\u5f55\u8282\u70b9\u65f6\uff0c\u767b\u5f55\u8282\u70b9\u7684\u57df\u540d\u6216\u8005IP\u5730\u5740\u5728\u6240\u6709\u96c6\u7fa4\u4e2d\u90fd\u662f\u4e0d\u91cd\u590d\u7684\u3002\u5426\u5219\uff0c\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u5c06\u65e0\u6cd5\u533a\u5206\u4e0d\u540c\u7684\u767b\u5f55\u8282\u70b9\u3002"}),"\n",(0,s.jsx)(n.li,{children:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9\u53ef\u4ee5\u4f7f\u7528\u516c\u94a5\u4ee5root\u8eab\u4efdSSH\u767b\u5f55\u5230\u6240\u6709\u8ba1\u7b97\u8282\u70b9"}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},35995:(e,n,r)=>{r.d(n,{A:()=>s});const s=r.p+"assets/images/with-gateway-565dcd5558e0df67f6bb8a11b0c3c73d.png"},53445:(e,n,r)=>{r.d(n,{A:()=>s});const s=r.p+"assets/images/without-gateway-59647d2778a21946d71b9343b121c90f.png"},5409:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>c});var s=r(48318);const t={},o=s.createContext(t);function i(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/48ca4a4c.67f6cd70.js b/pr-preview/pr-1298/assets/js/48ca4a4c.67f6cd70.js deleted file mode 100644 index 7f05145c24..0000000000 --- a/pr-preview/pr-1298/assets/js/48ca4a4c.67f6cd70.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9981],{64382:s=>{s.exports=JSON.parse('{"label":"scow-cli","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli","allTagsPath":"/SCOW/pr-preview/pr-1298/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/49a81271.518a3951.js b/pr-preview/pr-1298/assets/js/49a81271.518a3951.js deleted file mode 100644 index 1448a0e293..0000000000 --- a/pr-preview/pr-1298/assets/js/49a81271.518a3951.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6412],{28035:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>f,frontMatter:()=>i,metadata:()=>s,toc:()=>a});var p=t(49214),n=t(5409);const i={},o=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-",title:"definition-properties-web-properties-connect-properties-query-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-path",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path"},next:{title:"definition-properties-web-properties-connect-properties-query-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties"}},c={},a=[{value:"^.*$ Type",id:"-type",level:2}];function d(e){const r={code:"code",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(r.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,p.jsx)(r.p,{children:(0,p.jsx)(r.code,{children:"string"})})]})}function f(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,p.jsx)(r,{...e,children:(0,p.jsx)(d,{...e})}):d(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>s});var p=t(48318);const n={},i=p.createContext(n);function o(e){const r=p.useContext(i);return p.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),p.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/49cc2738.0ee7b81c.js b/pr-preview/pr-1298/assets/js/49cc2738.0ee7b81c.js deleted file mode 100644 index 8d78b899b7..0000000000 --- a/pr-preview/pr-1298/assets/js/49cc2738.0ee7b81c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6260],{76501:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>p,contentTitle:()=>s,default:()=>l,frontMatter:()=>n,metadata:()=>c,toc:()=>f});var t=i(49214),o=i(5409);const n={},s=void 0,c={id:"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron",title:"definition-properties-fetchjobs-properties-periodicfetch-properties-cron",description:"cron Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-periodicfetch-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default"},next:{title:"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled"}},p={},f=[{value:"cron Type",id:"cron-type",level:2},{value:"cron Default Value",id:"cron-default-value",level:2}];function d(e){const r={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"cron-type",children:"cron Type"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.h2,{id:"cron-default-value",children:"cron Default Value"}),"\n",(0,t.jsx)(r.p,{children:"The default value is:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-json",children:'"* * 1 * * *"\n'})})]})}function l(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>s,x:()=>c});var t=i(48318);const o={},n=t.createContext(o);function s(e){const r=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4af1b4a4.815b6868.js b/pr-preview/pr-1298/assets/js/4af1b4a4.815b6868.js deleted file mode 100644 index 04ae4eb286..0000000000 --- a/pr-preview/pr-1298/assets/js/4af1b4a4.815b6868.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4168],{26361:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>r,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>i});var a=s(49214),t=s(5409);const o={slug:"scow-update-to-v1.0",title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",authors:["huangjun"],tags:["scow","scow-deployment","v1.0.0"]},l="1. \u5347\u7ea7cli",c={permalink:"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-10-20-scow-update1.0.md",source:"@site/blog/2023-10-20-scow-update1.0.md",title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",description:"\u672c\u6587\u6863\u9002\u7528\u4e8e\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5347\u7ea7\u5230v1.0.0\u3002",date:"2023-10-20T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-deployment",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"},{label:"v1.0.0",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0"}],readingTime:3.285,hasTruncateMarker:!1,authors:[{name:"Huangjun",title:"Developer",url:"https://blog.csdn.net/huangjun0210?type=blog",imageURL:"https://avatars.githubusercontent.com/u/26295600",key:"huangjun"}],frontMatter:{slug:"scow-update-to-v1.0",title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",authors:["huangjun"],tags:["scow","scow-deployment","v1.0.0"]},unlisted:!1,nextItem:{title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",permalink:"/SCOW/pr-preview/pr-1298/blog/update-portal-app"}},r={authorsImageUrls:[void 0]},i=[];function d(n){const e={a:"a",admonition:"admonition",code:"code",h1:"h1",p:"p",pre:"pre",...(0,t.R)(),...n.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.p,{children:"\u672c\u6587\u6863\u9002\u7528\u4e8e\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5347\u7ea7\u5230v1.0.0\u3002"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-bash",children:"# \u4e24\u79cd\u65b9\u5f0f\u5347\u7ea7cli\n# 1. \u76f4\u63a5\u4e0b\u8f7d\u66ff\u6362\u672c\u5730cli\nwget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64\n\n# 2. \u4f7f\u7528\u547d\u4ee4\u5347\u7ea7\n./cli update --release v1.0.0\n"})}),"\n",(0,a.jsx)(e.h1,{id:"2-\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd",children:"2. \u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd"}),"\n",(0,a.jsx)(e.p,{children:"\u5728install.yaml\u6dfb\u52a0\u5982\u4e0b\u914d\u7f6e\uff1a"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'# \u53ef\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\uff0c\u5e76\u914d\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u6570\u636e\u5e93\u5bc6\u7801\naudit:\n dbPassword: "must!chang3this"\n'})}),"\n",(0,a.jsx)(e.p,{children:"install.yaml\u914d\u7f6e\u53c2\u8003(\u6781\u7b80\u914d\u7f6e)\uff1a"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'port: 80\nbasePath: /\nimageTag: v1.0.0\nportal:\n portMappings: {}\nmis:\n dbPassword: must!chang3this\n portMappings: {}\nlog:\n fluentd:\n logDir: /var/log/fluentd\nauth:\n portMappings: {}\naudit:\n dbPassword: "must!chang3this"\ngateway:\n proxyReadTimeout: 36000s\n'})}),"\n",(0,a.jsxs)(e.p,{children:["\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u914d\u7f6e\u6587\u4ef6\uff0c\u5728",(0,a.jsx)(e.code,{children:"./config"}),"\u76ee\u5f55\u4e0b\u6dfb\u52a0audit.yaml"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:"# \u5ba1\u8ba1\u7cfb\u7edf\u6570\u636e\u5e93\u7684\u4fe1\u606f\u3002\u53ef\u4ee5\u4e0d\u4fee\u6539\ndb:\n host: audit-db\n port: 3306\n user: root\n dbName: scow_audit\n"})}),"\n",(0,a.jsx)(e.h1,{id:"3-\u4fee\u6539misyaml",children:"3. \u4fee\u6539mis.yaml"}),"\n",(0,a.jsxs)(e.p,{children:["\u4fee\u6539mis.yaml\uff0c\u53bb\u6389\u6e90\u4f5c\u4e1a\u6570\u636e\u5e93\u76f8\u5173\u914d\u7f6e\uff0c\u53bb\u6389",(0,a.jsx)(e.code,{children:"fetchJobs.db"}),"\u914d\u7f6e\uff0c\u7c7b\u4f3c\u5982\u4e0b\uff1a"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'fetchJobs:\n # \u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93\u7684\u6570\u636e\u5e93\u4fe1\u606f\n db:\n host: 192.168.188.11\n port: 3306\n user: root\n password: "aUTx373~5pU@!&^6"\n dbName: hpc\n tableName: job_table\n type: mysql\n'})}),"\n",(0,a.jsx)(e.p,{children:"mis.yaml\u914d\u7f6e\u53c2\u8003(\u6781\u7b80\u914d\u7f6e)\uff1a"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'db:\n host: db\n port: 3306\n user: root\n dbName: scow\n\nfetchJobs:\n periodicFetch:\n enabled: true\n cron: "*/10 * * * *"\n\npredefinedChargingTypes:\n - \u6d4b\u8bd5\n\naccountNamePattern:\n regex: "(a_)[a-z]+$"\n'})}),"\n",(0,a.jsx)(e.h1,{id:"4-\u90e8\u7f72\u9002\u914d\u5668",children:"4. \u90e8\u7f72\u9002\u914d\u5668"}),"\n",(0,a.jsxs)(e.p,{children:["\u9002\u914d\u5668\u7f16\u8bd1\u90e8\u7f72\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter/blob/master/docs/deploy.md",children:"\u6587\u6863"}),"\u3002"]}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsx)(e.p,{children:"\u7531\u4e8egithub\u4ee3\u7801\u4ed3\u5e93\u4e0b\u8f7d\u7684\u9002\u914d\u5668\u53ef\u6267\u884c\u7a0b\u5e8f\u662f\u7531github action\u751f\u6210\uff0cglibc\u7248\u672c(2.34)\u8f83\u9ad8\uff0c\u82e5slurm\u9002\u914d\u5668\u90e8\u7f72\u8282\u70b9\u7684glibc\u7248\u672c\u4f4e\u4e8e\u8be5\u7248\u672c\uff0c\u5efa\u8bae\u4e0b\u8f7d\u6e90\u7801\uff0c\u81ea\u884c\u7f16\u8bd1\u3002"})}),"\n",(0,a.jsx)(e.h1,{id:"5-\u4fee\u6539\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",children:"5. \u4fee\u6539\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'displayName: hpc01\n\nloginNodes:\n - name: hpc01_login01\n address: hpc01_login01\n\nadapterUrl: "192.168.188.102:8999"\n'})}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["\u6ce8\u610f\u5c06\u767b\u5f55\u8282\u70b9",(0,a.jsx)(e.code,{children:"loginNodes.address"}),"\u53c2\u6570\u548c\u9002\u914d\u5668url",(0,a.jsx)(e.code,{children:"adapterUrl"}),"\u4fee\u6539\u4e3a\u5b9e\u9645\u96c6\u7fa4\u7684\u503c\u3002\u8be6\u7ec6\u914d\u7f6e\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://pkuhpc.github.io/SCOW/docs/deploy/config/cluster-config",children:"\u8be5\u6587\u6863"}),"\u3002"]})}),"\n",(0,a.jsx)(e.h1,{id:"6-\u4ea4\u4e92\u5f0f\u5e94\u7528\u589e\u52a0\u56fe\u6807\u53ef\u9009",children:"6. \u4ea4\u4e92\u5f0f\u5e94\u7528\u589e\u52a0\u56fe\u6807(\u53ef\u9009)"}),"\n",(0,a.jsxs)(e.p,{children:["\u652f\u6301\u4e3a\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u56fe\u6807\uff1a\u5c06\u56fe\u6807\u6587\u4ef6\u4e0a\u4f20\u81f3",(0,a.jsx)(e.code,{children:"./public/apps/"}),"\u76ee\u5f55\uff0c\u5e76\u5728\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u56fe\u6807\u7684\u8def\u5f84\u3002"]}),"\n",(0,a.jsxs)(e.p,{children:["\u4f8b\u5982\u7ed9jupyter\u6dfb\u52a0\u4e00\u4e2a\u56fe\u6807(\u5df2\u5c06",(0,a.jsx)(e.code,{children:"jupyter.png"}),"\u4e0a\u4f20\u81f3",(0,a.jsx)(e.code,{children:"./public/apps/"}),")\uff0c\u5728jupyter.yaml\u4e2d\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:"logoPath: /apps/jupyter.png\n"})}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["\u591a\u96c6\u7fa4\u4e0b\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://pkuhpc.github.io/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps",children:"\u8be5\u6587\u6863"}),"\u3002"]})}),"\n",(0,a.jsx)(e.h1,{id:"7-\u767b\u5f55\u9875\u9762\u6dfb\u52a0slogan\u53ef\u9009",children:"7. \u767b\u5f55\u9875\u9762\u6dfb\u52a0slogan(\u53ef\u9009)"}),"\n",(0,a.jsxs)(e.p,{children:["\u652f\u6301\u767b\u5f55\u754c\u9762\u81ea\u5b9a\u4e49slogan\u5185\u5bb9\uff0c\u4fee\u6539",(0,a.jsx)(e.code,{children:"./config/auth.yaml"}),"\u6587\u4ef6\uff0c\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a"]}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-yaml",children:'ui:\n backgroundImagePath: "./assets/background.png"\n backgroundFallbackColor: "#9a0000"\n logoType: "dark"\n slogan: \n color: "white"\n title: "\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0"\n texts:\n - "\u56fe\u5f62\u5316\u754c\u9762\uff0c\u4f7f\u7528\u65b9\u4fbf"\n - "\u529f\u80fd\u4e30\u5bcc\uff0c\u7ba1\u7406\u7b80\u5355"\n - "\u4e00\u4f53\u5316\u90e8\u7f72\uff0c\u5f00\u7bb1\u5373\u7528"\n - "\u6807\u51c6\u5316\u5e73\u53f0\uff0c\u652f\u6301\u7b97\u529b\u878d\u5408"\n - "\u5f00\u6e90\u4e2d\u7acb\uff0c\u72ec\u7acb\u81ea\u4e3b"\n'})}),"\n",(0,a.jsx)(e.admonition,{type:"tip",children:(0,a.jsxs)(e.p,{children:["\u8be6\u7ec6\u914d\u7f6e\u53ef\u53c2\u8003",(0,a.jsx)(e.a,{href:"https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config",children:"\u8be5\u6587\u6863"}),"\u3002"]})}),"\n",(0,a.jsx)(e.h1,{id:"8-\u91cd\u542f\u670d\u52a1",children:"8. \u91cd\u542f\u670d\u52a1"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-Bash",children:"./cli compose down\n./cli compose up -d \n"})})]})}function p(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,a.jsx)(e,{...n,children:(0,a.jsx)(d,{...n})}):d(n)}},5409:(n,e,s)=>{s.d(e,{R:()=>l,x:()=>c});var a=s(48318);const t={},o=a.createContext(t);function l(n){const e=a.useContext(o);return a.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:l(n.components),a.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4b114181.476aa5a7.js b/pr-preview/pr-1298/assets/js/4b114181.476aa5a7.js deleted file mode 100644 index 060618ff2b..0000000000 --- a/pr-preview/pr-1298/assets/js/4b114181.476aa5a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3587],{63431:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>a});var s=n(49214),r=n(5409);const l={sidebar_position:1,title:"\u4f7f\u7528"},d=void 0,i={id:"deploy/get-started/vagrant/index",title:"\u4f7f\u7528",description:"\u672c\u9879\u76ee\u9762\u5411\u5f00\u53d1\u548c\u6d4b\u8bd5\u4eba\u5458\uff0c\u57fa\u4e8eVagrant\uff0c\u91c7\u7528VirtualBox\u4f5c\u4e3aProvider\uff0c\u63d0\u4f9bslurm+SCOW\u96c6\u7fa4\u4e00\u952e\u90e8\u7f72\u65b9\u6848\uff0c\u6781\u5927\u7b80\u5316\u4e86\u90e8\u7f72\u6d41\u7a0b\u548c\u90e8\u7f72\u95e8\u69db\u3002",source:"@site/docs/deploy/get-started/vagrant/index.md",sourceDirName:"deploy/get-started/vagrant",slug:"/deploy/get-started/vagrant/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/get-started/vagrant/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u4f7f\u7528"},sidebar:"deploy",previous:{title:"vagrant",permalink:"/SCOW/pr-preview/pr-1298/docs/category/vagrant"},next:{title:"vagrant\u73af\u5883\u642d\u5efa",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env"}},c={},a=[{value:"1. \u96c6\u7fa4\u4e00\u952e\u90e8\u7f72",id:"1-\u96c6\u7fa4\u4e00\u952e\u90e8\u7f72",level:3},{value:"2. \u96c6\u7fa4\u521d\u59cb\u5316",id:"2-\u96c6\u7fa4\u521d\u59cb\u5316",level:3},{value:"3. SCOW\u8fd0\u7ef4\u64cd\u4f5c",id:"3-scow\u8fd0\u7ef4\u64cd\u4f5c",level:3},{value:"4. \u96c6\u7fa4\u4e00\u952e\u9500\u6bc1\u547d\u4ee4",id:"4-\u96c6\u7fa4\u4e00\u952e\u9500\u6bc1\u547d\u4ee4",level:3},{value:"5. \u66f4\u591a\u6587\u6863",id:"5-\u66f4\u591a\u6587\u6863",level:3}];function o(e){const t={a:"a",blockquote:"blockquote",code:"code",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["\u672c\u9879\u76ee\u9762\u5411",(0,s.jsx)(t.strong,{children:"\u5f00\u53d1"}),"\u548c",(0,s.jsx)(t.strong,{children:"\u6d4b\u8bd5"}),"\u4eba\u5458\uff0c\u57fa\u4e8eVagrant\uff0c\u91c7\u7528VirtualBox\u4f5c\u4e3aProvider\uff0c\u63d0\u4f9bslurm+SCOW\u96c6\u7fa4\u4e00\u952e\u90e8\u7f72\u65b9\u6848\uff0c\u6781\u5927\u7b80\u5316\u4e86\u90e8\u7f72\u6d41\u7a0b\u548c\u90e8\u7f72\u95e8\u69db\u3002"]}),"\n",(0,s.jsx)(t.p,{children:"\u90e8\u7f72slurm+SCOW\u56db\u8282\u70b9\u96c6\u7fa4\uff0c\u8282\u70b9\u89d2\u8272\u53ca\u9ed8\u8ba4\u914d\u7f6e\u5982\u4e0b\u8868\u6240\u793a\uff1a"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"\u8282\u70b9\u540d\u79f0/\u89d2\u8272"}),(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"\u4e3b\u8981\u670d\u52a1"}),(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"\u79c1\u7f51IP"}),(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"\u914d\u7f6e"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"scow"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"scow\uff1aportal\u3001mis\u3001auth\u3001gateway"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"192.168.88.100"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"4C4G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"slurm"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"slurmdbd\u3001slurmctld\u3001slurmd\u3001mariadb\u3001nfs-server\u3001slapd\u3001sssd"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"192.168.88.101"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"2C2G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"login"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"slurmd\u3001sssd\u3001nfs\u3001Xfce\u3001KDE\u3001MATE\u3001cinnamon"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"192.168.88.102"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"2C2G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"cn01"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"slurmd\u3001sssd\u3001nfs\u3001Xfce\u3001KDE\u3001MATE\u3001cinnamon"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"192.168.88.103"}),(0,s.jsx)(t.td,{style:{textAlign:"center"},children:"2C2G"})]})]})]}),"\n",(0,s.jsx)(t.h3,{id:"1-\u96c6\u7fa4\u4e00\u952e\u90e8\u7f72",children:"1. \u96c6\u7fa4\u4e00\u952e\u90e8\u7f72"}),"\n",(0,s.jsxs)(t.p,{children:["\u628a",(0,s.jsx)(t.a,{href:"https://github.com/PKUHPC/scow-vagrant",children:"scow-vagrant"}),"\u9879\u76eeclone\u4e0b\u6765\uff0c\u5728\u8fd9\u4e2a\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-shell",children:"git clone https://github.com/PKUHPC/scow-vagrant.git\n"})}),"\n",(0,s.jsx)(t.p,{children:"\u90e8\u7f72\u524d\u51c6\u5907\uff1a"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\u4e0b\u8f7d\u6700\u65b0Release\u7684scow-cli\uff0c\u62f7\u8d1d\u81f3",(0,s.jsx)(t.code,{children:"scow\\scow-deployment"}),"\u76ee\u5f55\uff0c\u5e76\u547d\u540d\u4e3a",(0,s.jsx)(t.code,{children:"cli"}),";"]}),"\n",(0,s.jsxs)(t.li,{children:["\u7f16\u8bd1\u751f\u6210\u6700\u65b0\u7684\u9002\u914d\u5668\u53ef\u6267\u884c\u7a0b\u5e8f(CentOS7.9)\uff0c\u66ff\u6362",(0,s.jsx)(t.code,{children:"adapter"}),"\u76ee\u5f55\u4e0b\u7684",(0,s.jsx)(t.code,{children:"scow-slurm-adapter-amd64"}),"(\u9ed8\u8ba4\u4e3a\u4e0eSCOW",(0,s.jsx)(t.code,{children:"v1.2.3"}),"\u5339\u914d\u7248\u672c)\uff0c",(0,s.jsx)(t.a,{href:"https://github.com/PKUHPC/scow-slurm-adapter/blob/master/docs/deploy.md#12-%E4%B8%8B%E8%BD%BD%E4%BB%A3%E7%A0%81%E7%BC%96%E8%AF%91%E7%94%9F%E6%88%90%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E8%87%AA%E5%B7%B1%E7%BC%96%E8%AF%91%E7%94%9F%E6%88%90%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6",children:"\u7f16\u8bd1\u53c2\u8003\u6587\u6863"}),"\uff1b"]}),"\n",(0,s.jsxs)(t.li,{children:["\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",(0,s.jsx)(t.code,{children:"scow\\scow-deployment\\install.yaml"}),"\uff0c",(0,s.jsx)(t.code,{children:"imageTag"}),"\u4fee\u6539\u4e3a\u4e0e",(0,s.jsx)(t.code,{children:"cli"}),"\u5339\u914d\u7684\u7248\u672c\uff0c\u4f8b\u5982",(0,s.jsx)(t.code,{children:"v1.2.3"}),"\u3002"]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"\u4e00\u952e\u90e8\u7f72\u547d\u4ee4\uff1a"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-shell",children:"vagrant up\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:n(55031).A+"",width:"1910",height:"849"})}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"\u7b2c\u4e00\u6b21\u90e8\u7f72\u9700\u8981\u4ecevagrant clould\u62c9\u53d6vagrant\u955c\u50cf\uff0c\u901f\u5ea6\u4f1a\u6bd4\u8f83\u6162\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"2-\u96c6\u7fa4\u521d\u59cb\u5316",children:"2. \u96c6\u7fa4\u521d\u59cb\u5316"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.p,{children:["\u521d\u59cb\u5316\u5730\u5740\uff1a",(0,s.jsx)(t.a,{href:"http://192.168.88.100/mis/init/",children:"http://192.168.88.100/mis/init/"})," \u7528\u6237\u540d/\u5bc6\u7801\uff1ademo_admin/demo_admin"]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["\u8fdb\u5165\u521d\u59cb\u5316\u9875\u9762\uff0c\u9009\u62e9\u521b\u5efa\u521d\u59cb\u7ba1\u7406\u5458\u7528\u6237\uff0c\u5c06",(0,s.jsx)(t.code,{children:"demo_admin"}),"\u8bbe\u7f6e\u4e3a\u7ba1\u7406\u5458\u7528\u6237\u3002\u540e\u7eed\u7528\u6237\u3001\u8d26\u6237\u8bbe\u7f6e\u8bf7\u53c2\u8003\u672c\u9879\u76ee\u64cd\u4f5c\u624b\u518c\u3002"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"image-20230126081833205",src:n(98210).A+"",width:"2210",height:"1224"})}),"\n",(0,s.jsx)(t.h3,{id:"3-scow\u8fd0\u7ef4\u64cd\u4f5c",children:"3. SCOW\u8fd0\u7ef4\u64cd\u4f5c"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-shell",children:"#\u767b\u5f55\u5230\u96c6\u7fa4scow\u8282\u70b9\nvagrant ssh scow\n\n# \u8f93\u5165root\u7528\u6237\u5bc6\u7801\uff0c\u5bc6\u7801\u4e3a\uff1avagrant\n\n# \u8fdb\u5165scow\u90e8\u7f72\u76ee\u5f55\n/root/scow/scow-deployment\n\n# \u62c9\u53d6\u6700\u65b0\u955c\u50cf\n./cli compose pull\n\n# \u91cd\u542f\u670d\u52a1\n./cli compose down\n./cli compose up -d\n"})}),"\n",(0,s.jsx)(t.h3,{id:"4-\u96c6\u7fa4\u4e00\u952e\u9500\u6bc1\u547d\u4ee4",children:"4. \u96c6\u7fa4\u4e00\u952e\u9500\u6bc1\u547d\u4ee4"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-shell",children:"vagrant destroy\n"})}),"\n",(0,s.jsx)(t.h3,{id:"5-\u66f4\u591a\u6587\u6863",children:"5. \u66f4\u591a\u6587\u6863"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env",children:"vagrant\u73af\u5883\u642d\u5efa"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization",children:"\u81ea\u5b9a\u4e49\u90e8\u7f72"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images",children:"vagrant\u955c\u50cf\u5236\u4f5c"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq",children:"FAQ"})}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},98210:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/init-b48915cd077c0934531a81d93ee5d481.png"},55031:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/vagrant-up-ea5a65efcb800612313b2bbbde412c66.png"},5409:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>i});var s=n(48318);const r={},l=s.createContext(r);function d(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4b1253d4.1471b9d5.js b/pr-preview/pr-1298/assets/js/4b1253d4.1471b9d5.js deleted file mode 100644 index 4003ed4b4f..0000000000 --- a/pr-preview/pr-1298/assets/js/4b1253d4.1471b9d5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9136],{44783:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>m,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var i=t(49214),o=t(5409);const s={sidebar_position:1,title:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"},r="\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",c={id:"integration/auth/use",title:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",description:"\u5982\u679c\u7cfb\u7edf\u63d0\u4f9b\u7684\u8ba4\u8bc1\u7cfb\u7edf\u4e0d\u80fd\u6ee1\u8db3\u60a8\u7684\u9700\u6c42\uff0c\u60a8\u53ef\u4ee5\u81ea\u5df1\u4f7f\u7528\u548c\u5b9e\u73b0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u3002",source:"@site/docs/integration/auth/use.md",sourceDirName:"integration/auth",slug:"/integration/auth/use",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/auth/use",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/auth/use.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"},sidebar:"integration",previous:{title:"\u4e0eSCOW\u96c6\u6210",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/"},next:{title:"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl"}},a={},l=[{value:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1",id:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1",level:2}];function u(e){const n={code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",children:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"}),"\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u7cfb\u7edf\u63d0\u4f9b\u7684\u8ba4\u8bc1\u7cfb\u7edf\u4e0d\u80fd\u6ee1\u8db3\u60a8\u7684\u9700\u6c42\uff0c\u60a8\u53ef\u4ee5\u81ea\u5df1\u4f7f\u7528\u548c\u5b9e\u73b0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1",children:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1"}),"\n",(0,i.jsx)(n.p,{children:"\u60a8\u81ea\u5df1\u7f16\u5199\u7684\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u5e94\u8be5\u88ab\u6253\u5305\u4e3a\u4e00\u4e2adocker\u955c\u50cf\uff0c\u653e\u5728\u60a8\u90e8\u7f72\u6240\u5728\u673a\u5668\u53ef\u4ee5\u8bbf\u95ee\u7684\u5730\u5740\u4e0a\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6\u7684",(0,i.jsx)(n.code,{children:"auth.custom"}),"\u90e8\u5206\u4ee5\u4f7f\u7528\u60a8\u7684\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yaml"',children:'auth:\n custom:\n # \u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf\u7c7b\u578b\n # external\uff08\u4f7f\u7528\u5916\u90e8\u7cfb\u7edf\uff09 | image\uff08\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf\u955c\u50cf\uff09\uff0c\u9ed8\u8ba4\u4e3a image\n type: image\n # \u81ea\u5b9a\u4e49\u5916\u90e8\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e\n # \u5982\u679c type \u4e3a external \u5219\u9700\u8981\u914d\u7f6e external \u9009\u9879\uff0c\u5426\u5219\u4ecd\u7136\u4f7f\u7528\u9ed8\u8ba4\u8ba4\u8bc1\u7cfb\u7edf URL\n external:\n url: http://custom-url:port\n\n # \u5bb9\u5668\u76f8\u5173\u914d\u7f6e\n image:\n # \u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf\u955c\u50cf\u540d\u3002\u5fc5\u586b\n # imageName: my-custom-auth:v1.0\n\n # \u7aef\u53e3\u6620\u5c04\u3002\u53ef\u9009\n # ports:\n # - "5000:5000"\n\n # \u66f4\u591a\u6302\u8f7d\u5377\u3002\u53ef\u9009\n # \u9ed8\u8ba4\u6dfb\u52a0/etc/hosts:/etc/hosts\u548c./config:/etc/scow\n # volumes:\n # - "./myfile:/etc/myfile"\n\n # \u4e0b\u5217 image\u3001ports\u3001volumes \u914d\u7f6e\u4e3a\u8001\u7248\u672c\u7684\u914d\u7f6e\uff0c\u5df2\u8fc7\u65f6\uff0c\u672a\u6765\u5c06\u4f1a\u5220\u9664\n # \u517c\u5bb9\u8001\u7248\u672c,image \u5728\u8001\u7248\u672c\u4e2d\u4e3a\u5b57\u7b26\u4e32\n # \u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf\u955c\u50cf\u540d\u3002\u5fc5\u586b\n # image: my-custom-auth:v1.0\n\n # \u517c\u5bb9\u8001\u7248\u672c, \u7aef\u53e3\u6620\u5c04\u3002\u53ef\u9009\n # ports:\n # - "5000:5000"\n\n # \u517c\u5bb9\u8001\u7248\u672c, \u66f4\u591a\u6302\u8f7d\u5377\u3002\u53ef\u9009\n # \u9ed8\u8ba4\u6dfb\u52a0/etc/hosts:/etc/hosts\u548c./config:/etc/scow\n # volumes:\n # - "./myfile:/etc/myfile"\n\n # \u73af\u5883\u53d8\u91cf\uff0c\u53ef\u9009\u3002\n # environment:\n # - DEBUG=log\n'})})]})}function m(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var i=t(48318);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4b3e4006.e7859506.js b/pr-preview/pr-1298/assets/js/4b3e4006.e7859506.js deleted file mode 100644 index a1e4fb6996..0000000000 --- a/pr-preview/pr-1298/assets/js/4b3e4006.e7859506.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1959],{34062:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>s,metadata:()=>u,toc:()=>i});var t=r(49214),o=r(5409);const s={title:"slurmdbd.conf \u914d\u7f6e",sidebar_position:3},c=void 0,u={id:"hpccluster/config/slurmdbd.conf",title:"slurmdbd.conf \u914d\u7f6e",description:"",source:"@site/docs/hpccluster/config/slurmdbd.conf.md",sourceDirName:"hpccluster/config",slug:"/hpccluster/config/slurmdbd.conf",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/config/slurmdbd.conf.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{title:"slurmdbd.conf \u914d\u7f6e",sidebar_position:3},sidebar:"hpccluster",previous:{title:"slurm.conf \u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf"},next:{title:"slurm\u96c6\u7fa4\u90e8\u7f72",permalink:"/SCOW/pr-preview/pr-1298/docs/slurm"}},d={},i=[];function l(e){const n={code:"code",pre:"pre",...(0,o.R)(),...e.components};return(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-Properties",children:"#\n# slurmdbd.conf file.\n#\n# See the slurmdbd.conf man page for more information.\n#\n# Authentication info\nAuthType=auth/munge #\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u8be5\u5904\u91c7\u7528munge\u8fdb\u884c\u8ba4\u8bc1\nAuthInfo=/var/run/munge/munge.socket.2 #\u4e3a\u4e86\u4e0eslurmctld\u63a7\u5236\u8282\u70b9\u901a\u4fe1\u7684\u5176\u5b83\u8ba4\u8bc1\u4fe1\u606f\n#\n# slurmDBD info\nDbdAddr=localhost #\u6570\u636e\u5e93\u8282\u70b9\u540d\nDbdHost=localhost #\u6570\u636e\u5e93IP\u5730\u5740\nSlurmUser=slurm #\u7528\u6237\u6570\u636e\u5e93\u64cd\u4f5c\u7684\u7528\u6237\nDebugLevel=verbose #\u8c03\u8bd5\u4fe1\u606f\u7ea7\u522b\uff0cquiet\uff1a\u65e0\u8c03\u8bd5\u4fe1\u606f\uff1bfatal\uff1a\u4ec5\u4e25\u91cd\u9519\u8bef\u4fe1\u606f\uff1berror\uff1a\u4ec5\u9519\u8bef\u4fe1\u606f\uff1b info\uff1a\u9519\u8bef\u4e0e\u901a\u5e38\u4fe1\u606f\uff1bverbose\uff1a\u9519\u8bef\u548c\u8be6\u7ec6\u4fe1\u606f\uff1bdebug\uff1a\u9519\u8bef\u3001\u8be6\u7ec6\u548c\u8c03\u8bd5\u4fe1\u606f\uff1bdebug2\uff1a\u9519\u8bef\u3001\u8be6\u7ec6\u548c\u66f4\u591a\u8c03\u8bd5\u4fe1\u606f\uff1bdebug3\uff1a\u9519\u8bef\u3001\u8be6\u7ec6\u548c\u751a\u81f3\u66f4\u591a\u8c03\u8bd5\u4fe1\u606f\uff1bdebug4\uff1a\u9519\u8bef\u3001\u8be6\u7ec6\u548c\u751a\u81f3\u66f4\u591a\u8c03\u8bd5\u4fe1\u606f\uff1bdebug5\uff1a\u9519\u8bef\u3001\u8be6\u7ec6\u548c\u751a\u81f3\u66f4\u591a\u8c03\u8bd5\u4fe1\u606f\u3002debug\u6570\u5b57\u8d8a\u5927\uff0c\u4fe1\u606f\u8d8a\u8be6\u7ec6\nLogFile=/var/log/slurm/slurmdbd.log #slurmdbd\u5b88\u62a4\u8fdb\u7a0b\u65e5\u5fd7\u6587\u4ef6\u7edd\u5bf9\u8def\u5f84 \nPidFile=/var/run/slurmdbd.pid #slurmdbd\u5b88\u62a4\u8fdb\u7a0b\u5b58\u50a8\u8fdb\u7a0b\u53f7\u6587\u4ef6\u7edd\u5bf9\u8def\u5f84\n#\n# Database info\nStorageType=accounting_storage/mysql #\u6570\u636e\u5b58\u50a8\u7c7b\u578b\nStoragePass=123456 #\u5b58\u50a8\u6570\u636e\u5e93\u5bc6\u7801\nStorageUser=slurm #\u5b58\u50a8\u6570\u636e\u5e93\u7528\u6237\u540d\nStorageLoc=slurm_acct_db #\u6570\u636e\u5e93\u540d\u79f0\n"})})}function a(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>c,x:()=>u});var t=r(48318);const o={},s=t.createContext(o);function c(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function u(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4be18fe5.9e1e8c53.js b/pr-preview/pr-1298/assets/js/4be18fe5.9e1e8c53.js deleted file mode 100644 index 7c6ac700df..0000000000 --- a/pr-preview/pr-1298/assets/js/4be18fe5.9e1e8c53.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5187],{13186:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>h});var l=i(49214),r=i(5409);const s={},t=void 0,d={id:"refs/config/cluster/definition",title:"definition",description:"Untitled object in undefined Type",source:"@site/docs/refs/config/cluster/definition.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm"},next:{title:"clusterTexts",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/"}},c={},h=[{value:"Untitled object in undefined Type",id:"untitled-object-in-undefined-type",level:2},{value:"displayName",id:"displayname",level:2},{value:"displayName Type",id:"displayname-type",level:3},{value:"scheduler",id:"scheduler",level:2},{value:"scheduler Type",id:"scheduler-type",level:3},{value:"scheduler Default Value",id:"scheduler-default-value",level:3},{value:"slurm",id:"slurm",level:2},{value:"slurm Type",id:"slurm-type",level:3},{value:"misIgnore",id:"misignore",level:2},{value:"misIgnore Type",id:"misignore-type",level:3}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.h2,{id:"untitled-object-in-undefined-type",children:"Untitled object in undefined Type"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition",children:"Details"}),")"]}),"\n",(0,l.jsx)(n.h1,{id:"untitled-object-in-undefined-properties",children:"Untitled object in undefined Properties"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Property"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Nullable"}),(0,l.jsx)(n.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#displayname",children:"displayName"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"string"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname",title:"undefined#/properties/displayName",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#scheduler",children:"scheduler"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Merged"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler",title:"undefined#/properties/scheduler",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#slurm",children:"slurm"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"object"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",title:"undefined#/properties/slurm",children:"Untitled schema"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"#misignore",children:"misIgnore"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.code,{children:"boolean"})}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,l.jsx)(n.td,{style:{textAlign:"left"},children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore",title:"undefined#/properties/misIgnore",children:"Untitled schema"})})]})]})]}),"\n",(0,l.jsx)(n.h2,{id:"displayname",children:"displayName"}),"\n",(0,l.jsx)(n.p,{children:"\u96c6\u7fa4\u7684\u663e\u793a\u540d\u79f0"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"displayName"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname",title:"undefined#/properties/displayName",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"displayname-type",children:"displayName Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"string"})}),"\n",(0,l.jsx)(n.h2,{id:"scheduler",children:"scheduler"}),"\n",(0,l.jsx)(n.p,{children:"\u96c6\u7fa4\u6240\u4f7f\u7528\u7684\u8c03\u5ea6\u5668\uff0c\u76ee\u524d\u53ea\u652f\u6301slurm"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"scheduler"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: merged type (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler",children:"Details"}),")"]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler",title:"undefined#/properties/scheduler",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"scheduler-type",children:"scheduler Type"}),"\n",(0,l.jsxs)(n.p,{children:["merged type (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler",children:"Details"}),")"]}),"\n",(0,l.jsx)(n.p,{children:"any of"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"scheduler-default-value",children:"scheduler Default Value"}),"\n",(0,l.jsx)(n.p,{children:"The default value is:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-json",children:'"slurm"\n'})}),"\n",(0,l.jsx)(n.h2,{id:"slurm",children:"slurm"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"slurm"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",children:"Details"}),")"]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",title:"undefined#/properties/slurm",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"slurm-type",children:"slurm Type"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"object"})," (",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",children:"Details"}),")"]}),"\n",(0,l.jsx)(n.h2,{id:"misignore",children:"misIgnore"}),"\n",(0,l.jsx)(n.p,{children:"\u5728\u5b9e\u9645\u8fdb\u884cMIS\u64cd\u4f5c\u65f6\u5ffd\u7565\u8fd9\u4e2a\u96c6\u7fa4"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"misIgnore"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["Type: ",(0,l.jsx)(n.code,{children:"boolean"})]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:["\n",(0,l.jsxs)(n.p,{children:["defined in: ",(0,l.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore",title:"undefined#/properties/misIgnore",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"misignore-type",children:"misIgnore Type"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.code,{children:"boolean"})})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var l=i(48318);const r={},s=l.createContext(r);function t(e){const n=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),l.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4bfdffa6.8d96cc27.js b/pr-preview/pr-1298/assets/js/4bfdffa6.8d96cc27.js deleted file mode 100644 index 00677ba5f1..0000000000 --- a/pr-preview/pr-1298/assets/js/4bfdffa6.8d96cc27.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6494],{18125:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>o,metadata:()=>p,toc:()=>d});var i=t(49214),n=t(5409);const o={},s=void 0,p={id:"refs/config/mis/definition-properties-portalurl",title:"definition-properties-portalurl",description:"portalUrl Type",source:"@site/docs/refs/config/mis/definition-properties-portalurl.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-portalurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-portalurl.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-jobchargetype",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype"},next:{title:"definition-properties-predefinedchargingtypes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items"}},c={},d=[{value:"portalUrl Type",id:"portalurl-type",level:2}];function l(e){const r={code:"code",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"portalurl-type",children:"portalUrl Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function f(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>s,x:()=>p});var i=t(48318);const n={},o=i.createContext(n);function s(e){const r=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),i.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4cbc5714.db1fdb6f.js b/pr-preview/pr-1298/assets/js/4cbc5714.db1fdb6f.js deleted file mode 100644 index 04713d465d..0000000000 --- a/pr-preview/pr-1298/assets/js/4cbc5714.db1fdb6f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[506],{96586:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>i,contentTitle:()=>p,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>r});var t=a(49214),l=a(5409);const s={sidebar_position:1},p="Matlab",o={id:"deploy/config/portal/apps/apps/matlab/index",title:"Matlab",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/matlab/index.md",sourceDirName:"deploy/config/portal/apps/apps/matlab",slug:"/deploy/config/portal/apps/apps/matlab/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/matlab/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"JupyterLab",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab/"},next:{title:"Octave",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave/"}},i={},r=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function c(e){const n={code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"matlab",children:"Matlab"}),"\n",(0,t.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,t.jsx)(n.p,{children:"MATLAB\u662f\u4e00\u79cd\u7531MathWorks\u516c\u53f8\u5f00\u53d1\u7684\u4e13\u4e1a\u6570\u5b66\u8f6f\u4ef6\uff0c\u5b83\u53ef\u4ee5\u7528\u4e8e\u6570\u503c\u8ba1\u7b97\u3001\u6570\u636e\u5206\u6790\u3001\u79d1\u5b66\u7ed8\u56fe\u3001\u673a\u5668\u5b66\u4e60\u3001\u4eba\u5de5\u667a\u80fd\u7b49\u9886\u57df\u3002MATLAB\u62e5\u6709\u5f3a\u5927\u7684\u77e9\u9635\u8fd0\u7b97\u548c\u5411\u91cf\u5316\u8ba1\u7b97\u80fd\u529b\uff0c\u652f\u6301\u591a\u79cd\u6570\u636e\u7c7b\u578b\u548c\u683c\u5f0f\u7684\u5904\u7406\u3002"}),"\n",(0,t.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,t.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"TurboVNC 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684Matlab"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528Matlab\u3002"}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,t.jsxs)(n.p,{children:["\u521b\u5efa",(0,t.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,t.jsx)(n.code,{children:"matlab.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/matlab.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: matlab\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: matlab\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n module load matlab/$matlab_path\n matlab -desktop\n \n# \u914d\u7f6eHTML\u8868\u5355\nattributes:\n - type: select\n name: matlab_path\n label: \u9009\u62e9\u7248\u672c\n select:\n - value: R2019b\n label: R2019b\n - value: R2021a\n label: R2021a\n - value: R2021b\n label: R2021b\n - value: R2022b\n label: R2022b\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})})]})}function d(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},5409:(e,n,a)=>{a.d(n,{R:()=>p,x:()=>o});var t=a(48318);const l={},s=t.createContext(l);function p(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:p(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4d7b2436.b844365f.js b/pr-preview/pr-1298/assets/js/4d7b2436.b844365f.js deleted file mode 100644 index 6c9d587cc8..0000000000 --- a/pr-preview/pr-1298/assets/js/4d7b2436.b844365f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3525],{33864:o=>{o.exports=JSON.parse('{"title":"SCOW API\u548cHook","description":"\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7SCOW API\u548cHook\u8c03\u7528SCOW\u7684\u529f\u80fd\u4ee5\u53ca\u76d1\u542cSCOW\u7684\u4e8b\u4ef6","slug":"/category/scow-api\u548chook","permalink":"/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook","navigation":{"previous":{"title":"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf","permalink":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl"},"next":{"title":"SCOW API","permalink":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4dc4ac6a.d6daec48.js b/pr-preview/pr-1298/assets/js/4dc4ac6a.d6daec48.js deleted file mode 100644 index 34413bb05b..0000000000 --- a/pr-preview/pr-1298/assets/js/4dc4ac6a.d6daec48.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[929],{7918:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>a});var p=r(49214),o=r(5409);const n={},i=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties",title:"definition-properties-web-properties-connect-properties-formdata-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-formdata-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-"},next:{title:"definition-properties-web-properties-connect-properties-formdata",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata"}},c={},a=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function f(e){const t={h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,p.jsx)(t.p,{children:"unknown"})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,p.jsx)(t,{...e,children:(0,p.jsx)(f,{...e})}):f(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>s});var p=r(48318);const o={},n=p.createContext(o);function i(e){const t=p.useContext(n);return p.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),p.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4dc79cf7.1378c669.js b/pr-preview/pr-1298/assets/js/4dc79cf7.1378c669.js deleted file mode 100644 index c11014c547..0000000000 --- a/pr-preview/pr-1298/assets/js/4dc79cf7.1378c669.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[392],{24190:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=r(49214),p=r(5409);const n={},i=void 0,s={id:"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-",title:"definition-properties-hometext-properties-hostnamemap-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometext-properties-hostnamemap-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default"},next:{title:"definition-properties-hometext-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties"}},a={},c=[{value:"^.*$ Type",id:"-type",level:2}];function m(e){const t={code:"code",h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})})]})}function d(e={}){const{wrapper:t}={...(0,p.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>s});var o=r(48318);const p={},n=o.createContext(p);function i(e){const t=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:i(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4df2913f.74f18c27.js b/pr-preview/pr-1298/assets/js/4df2913f.74f18c27.js deleted file mode 100644 index c9b42a0748..0000000000 --- a/pr-preview/pr-1298/assets/js/4df2913f.74f18c27.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1854],{20933:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var i=t(49214),s=t(5409);const o={sidebar_position:1},a="Desktop",r={id:"deploy/config/portal/apps/apps/desktop/index",title:"Desktop",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/desktop/index.md",sourceDirName:"deploy/config/portal/apps/apps/desktop",slug:"/deploy/config/portal/apps/apps/desktop/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/desktop/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"Baltamatica",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica/"},next:{title:"Emacs",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs/"}},c={},l=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001TurboVNC\u5b89\u88c5",id:"1turbovnc\u5b89\u88c5",level:3},{value:"3\u3001\u684c\u9762\u73af\u5883\u5b89\u88c5",id:"3\u684c\u9762\u73af\u5883\u5b89\u88c5",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"FAQ",id:"faq",level:2},{value:"Q1\uff1a\u9996\u6b21\u8fde\u63a5\u8fdb\u5165\u5230Xfce\u684c\u9762\u65f6\uff0c\u4f1a\u62a5XFCE PolicyKit Agent\u7684\u5f39\u7a97\u9519\u8bef",id:"q1\u9996\u6b21\u8fde\u63a5\u8fdb\u5165\u5230xfce\u684c\u9762\u65f6\u4f1a\u62a5xfce-policykit-agent\u7684\u5f39\u7a97\u9519\u8bef",level:3}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"desktop",children:"Desktop"}),"\n",(0,i.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,i.jsx)(n.p,{children:"Xfce Desktop\u662f\u4e00\u6b3e\u8f7b\u91cf\u7ea7\u7684\u684c\u9762\u73af\u5883\uff0c\u5b83\u88ab\u8bbe\u8ba1\u4e3a\u5728\u8d44\u6e90\u53d7\u9650\u7684\u7cfb\u7edf\u4e0a\u8fd0\u884c\u3002\u5177\u6709\u7b80\u6d01\u3001\u5feb\u901f\u3001\u53ef\u5b9a\u5236\u7684\u7279\u70b9\uff0c\u5b83\u7684\u7528\u6237\u754c\u9762\u98ce\u683c\u975e\u5e38\u6e05\u723d\u3001\u73b0\u4ee3\u3002\u4e0e\u5176\u4ed6\u684c\u9762\u73af\u5883\u76f8\u6bd4\uff0c\u5b83\u5360\u7528\u7684\u7cfb\u7edf\u8d44\u6e90\u975e\u5e38\u5c11\uff0c\u540c\u65f6\u4e5f\u63d0\u4f9b\u4e86\u4e00\u4e9b\u5e38\u89c1\u7684\u5de5\u5177\u548c\u5e94\u7528\u7a0b\u5e8f\uff0c\u4f8b\u5982\u6587\u4ef6\u7ba1\u7406\u5668\u3001\u7ec8\u7aef\u6a21\u62df\u5668\u3001\u6587\u672c\u7f16\u8f91\u5668\u3001\u56fe\u50cf\u67e5\u770b\u5668\u548c\u97f3\u9891\u64ad\u653e\u5668\u7b49\u3002"}),"\n",(0,i.jsx)(n.p,{children:"KDE\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u684c\u9762\u73af\u5883\uff0c\u5168\u79f0\u4e3aK Desktop Environment\uff08KDE\uff09\u3002\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u529f\u80fd\u4e30\u5bcc\u3001\u53ef\u5b9a\u5236\u548c\u7528\u6237\u53cb\u597d\u7684\u56fe\u5f62\u5316\u684c\u9762\u73af\u5883\uff0c\u65e8\u5728\u4e3aLinux\u548c\u7c7bUNIX\u64cd\u4f5c\u7cfb\u7edf\u63d0\u4f9b\u5148\u8fdb\u7684\u7528\u6237\u4f53\u9a8c\u3002"}),"\n",(0,i.jsx)(n.p,{children:"MATE\u662f\u4e00\u4e2a\u57fa\u4e8e\u4f20\u7edfGNOME 2\u684c\u9762\u73af\u5883\u7684\u8f7b\u91cf\u7ea7\u684c\u9762\u73af\u5883\uff0c\u65e8\u5728\u63d0\u4f9b\u4f20\u7edf\u7684\u684c\u9762\u4f53\u9a8c\u548c\u7528\u6237\u53cb\u597d\u7684\u754c\u9762\u3002"}),"\n",(0,i.jsx)(n.p,{children:"Cinnamon\u662f\u4e00\u4e2a\u73b0\u4ee3\u5316\u7684\u684c\u9762\u73af\u5883\uff0c\u6700\u521d\u7531Linux Mint\u5f00\u53d1\uff0c\u65e8\u5728\u63d0\u4f9b\u76f4\u89c2\u3001\u6613\u7528\u4e14\u5438\u5f15\u4eba\u7684\u7528\u6237\u4f53\u9a8c\u3002\u5b83\u7684\u8bbe\u8ba1\u76ee\u6807\u662f\u4e3a\u7528\u6237\u63d0\u4f9b\u4e00\u4e2a\u719f\u6089\u800c\u9ad8\u6548\u7684\u684c\u9762\u73af\u5883\uff0c\u5177\u6709\u76f4\u89c2\u7684\u754c\u9762\u548c\u5f3a\u5927\u7684\u529f\u80fd\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,i.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"TurboVNC 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684Xfce Desktop\u3001K Desktop Environment\uff08KDE\uff09\u3001MATE\u548ccinnamon\u684c\u9762\u73af\u5883"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"1turbovnc\u5b89\u88c5",children:"1\u3001TurboVNC\u5b89\u88c5"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate\nmv TurboVNC.repo /etc/yum.repos.d\n# \u5b89\u88c5\u6700\u65b0\u7248\u672c\nyum install turbovnc -y\n"})}),"\n",(0,i.jsx)(n.h3,{id:"3\u684c\u9762\u73af\u5883\u5b89\u88c5",children:"3\u3001\u684c\u9762\u73af\u5883\u5b89\u88c5"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'yum groupinstall "Xfce" -y\nyum groupinstall "KDE Plasma Workspaces" -y\nyum groupinstall "MATE Desktop" -y\nyum install cinnamon -y\n'})}),"\n",(0,i.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528Desktop\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,i.jsxs)(n.p,{children:["\u521b\u5efa",(0,i.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,i.jsx)(n.code,{children:"desktop.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/desktop.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: desktop\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: desktop\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n # \u684c\u9762\u4f1a\u8bdd\u4e34\u65f6\u6570\u636e\u5b58\u653e\u4f4d\u7f6e\n export XDG_RUNTIME_DIR="$(mktemp -d)"\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n unset SESSION_MANAGER\n unset DBUS_SESSION_BUS_ADDRESS\n \n case ${desktop_type} in\n "kde")\n cd ~\n startkde\n ;;\n "mate")\n cd ~\n mate-session\n ;;\n "cinnamon")\n cd ~\n cinnamon-session\n ;;\n *)\n # Disable startup services \n xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false\n xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false\n xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool\n xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool\n # \u914d\u7f6e\u9ed8\u8ba4\u9762\u677f\n if [ ! -d "${HOME}/.config/xfce4/panel/launcher-9" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-10" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-11" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-12" ]; then\n cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml\n fi\n # \u684c\u9762\u7ec8\u7aef\u9ed8\u8ba4\u8fdb\u5165\u5230\u5bb6\u76ee\u5f55\n cd ~\n # \u542f\u52a8xfce\u684c\u9762\u73af\u5883\n startxfce4\n esac\n \n \n# \u914d\u7f6eHTML\u8868\u5355 \nattributes:\n - type: select\n name: desktop_type\n label: \u8bf7\u9009\u62e9\u684c\u9762\u73af\u5883\n select:\n - value: xfce\n label: Xfce Desktop\n - value: kde\n label: K Desktop Environment\uff08KDE\uff09\n - value: mate\n label: MATE\n - value: cinnamon\n label: Cinnamon\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,i.jsx)(n.h2,{id:"faq",children:"FAQ"}),"\n",(0,i.jsx)(n.h3,{id:"q1\u9996\u6b21\u8fde\u63a5\u8fdb\u5165\u5230xfce\u684c\u9762\u65f6\u4f1a\u62a5xfce-policykit-agent\u7684\u5f39\u7a97\u9519\u8bef",children:"Q1\uff1a\u9996\u6b21\u8fde\u63a5\u8fdb\u5165\u5230Xfce\u684c\u9762\u65f6\uff0c\u4f1a\u62a5XFCE PolicyKit Agent\u7684\u5f39\u7a97\u9519\u8bef"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Xfce\u8ba4\u8bc1\u4ee3\u7406\u62a5\u9519\u56fe",src:t(58340).A+"",width:"504",height:"134"})}),"\n",(0,i.jsx)(n.p,{children:"\u7cfb\u7edf\u7ba1\u7406\u5458\u53ef\u901a\u8fc7\u7981\u7528Xfce PolicyKit\u9a8c\u8bc1\u4ee3\u7406\u89e3\u51b3\uff1a"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u5c06\u9700\u8981\u542f\u52a8xfce\u684c\u9762\u7684\u8282\u70b9\u4e0axfce-polkit.desktop\u6587\u4ef6\u91cd\u547d\u540d\nmv /etc/xdg/autostart/xfce-polkit.desktop /etc/xdg/autostart/xfce-polkit.desktop.disabled\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},58340:(e,n,t)=>{t.d(n,{A:()=>i});const i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfgAAACGCAYAAAAxd5h6AAAjqklEQVR4nOzdeXRU9f038PesyWSSkAUSAgkJQQQhbCKKBYUKWIWIoLa4VcqviiI+P/Wfpx57rD2tntPTxx9PH7Gi2FZrW4q14lqrRdBaAUF2A6LIkpAA2clClsksz/l8yJ0zCZMwM9mH9+ucOZncuXPn3knmvr+f7/3eO1YEEedM8Pm87mAPERERUT/T2Nhoaj+tTcAbwb540UKYTOfNS0RERP3Qhg0bfD6fr03Q++/EOeN948ddxmAnIiIaoAoKCtDQ0KBBbgbDnYiIKCrk5eUhLi7Oh8AueintiYiIKDqYpHq/bOwYVu9ERERR4uDBg+cqeFbvRERE0YUBT0RE1AU//q+leGDFQzCbzf5pV155JTweT5+uFwOeiIioC373+1dgMltw//0r/CEvudrX2cqAJwrR+++/j4yMjPOm33nnnTh06BA/R0QXsTlz5rUZyxZJwMv+5cknn8TPf/5z1NXV6bT4+Hj84he/0FtJSUlYyzOHNTcRYfny5UhMTERCQoLe3n33XTQ2Nvb1ahFRH1mz5nmMHj0aR48ewdoXX4DX641oOU888YR27b/wwguIi4vTcF+7dq1O+9nPftbmEEAowq7gd+3aha+//jroc8aNG4crrriiz487EPWEwP/5tLQ0/fAF2r59O+x2u//30tJSzJ8/H9u2bQs6fciQIXj44YcxdepUOBwOHD58GM899xz27Nmjr7Vjx46gz+Pni6KZZIzFYtHPRVf/141ldaQ7XkM88MAKPPfcavz3fz+s4V5bV6fLDbeCX7ZsGd58802MHTsWa9as0c9/VlaW7hvkMZvNFtbywg74yy+/HLt378bJkyfbTJeVkMe486GLQWfdb1LRr1y5EtXV1driNuYLnC6t8zfeeAPZ2dnaxX/w4EE9BCAt91tvvRVFRUUdLi8nJ6fXtpOoNwVmi4RzVzNFPledBXwk3ejL7/svPeYuQf7Cmufx4MqH9P7KlQ/55/nTn/4c0fo6nU7ccMMN+pmfMGGCdvnLNuTn5yM5ORlud3jfERPRMfgpU6ZolRH4xsk0hjtdDNauXeu/73K5cNVVV7X531+1apVOHzFihH5GjONygdPnzZunPw8cOKDBLtX8Rx99hHvuuQc33XQTfvOb33S4PB7rp2gkmSLhLsWiOHHihAZ+V7Ll0KFDnXZrSzCH+3l6YMVDcDrjcdX0qzF27GVYs+a3eOCBByPulg8kn2/5nAeus+w/5D1pbGxES0tLWMuLeJDd5MmTsXfvXl0huc9wp4vF8uXLsX79+jafm8CqurS0VI/RB1bv7acPGzZMp5WVlWk3nMPhQFVVlc6fmZmJmpoa/3M7Wh5RtJAsMcLdyBOZJiEvwR9pxjz++OOdPh4bGxvR+v5o2Y/15/79+zXcuyv/EhIS8NJLLyE3N1crd/m8jxs3Dq+++iruvffesMf6dGkU/aRJky44jyybV8mjaJOamqrdaYb2n6GOwtiYboyGlcrdmCbLlM9KcXHxeTsMhjtFs2BZ0lm+hJorMTExnT7e/jMVbl5t3rQppF6AUJf71FNPYeTIkXrMPT8/X/cDH3zwgR6Tf/rppzXkA3sKLrTcXjlNjjsmijYXOnbX0ePG9M8++wyFhYX6xRDXXnutVuzXX3+9HmN7+eWXw349ootNT30ewlnuI48+CrvdgjUvvHTBLvpQlisB/uyzz+L+++/XXj2xYMECreofeeSRoK/R2XLP+7IZozVgtAyCTTd+bz9PR89nBU/RJPAYvHj44YexadOmsJbR1NSkH+aVK1di9erV2hvwzTff6LSCggIMHTqUnxuKOj2VK7253IkTJ/bo+i5cuFAP+RnzxMbG6rTs7OyQlhu4PP2ymRFZmRH9sYJtXGcvRjTQlZSUBG1Fp6am6sj4oqIi/X/PyMiA1epvP3c4vaWlRat3CXxhs9n0eLvReu/oeUQDUShVbCS5crEvN9jyCgsLzwV8VubwC75YqCvT2eNERHTxCrdbPdRcudiXG4wUB912DJ7HB4mIqDPh5kSo83O5wfFa9ERE1Cv6w8C4aF5ue1Z5Gbvd3uNd6OyiJyK6uHV3sEXa5R1ty+3otUwOZ7wPXl6khoiIKJpoF31OTo5eKaeza/YSERFR/7d06VIcOXKEXxdLREQUjRjwREREUYgBT0REFIUY8ERERFGIAU9ERBSFGPBERERRiAFPREQUhRjwREREUWhAfP+k1+1GY1kZGoqK4C4qQsupU/DU1cHncunjJrsd5oQE2DMyYMvJgSMzE3Hp6TDxwj1ERHSR6tcB31hejpq9e9G0YwcSXS6kO51ISE1FXHY27ImJsNrtOp/b5YKrthYNlZWo/fhjVDQ0oMJuR+y0aUicPBmOtLS+3hQiIqJe1S8DvrGiAlWbNsFUUICcpCSkT54Mm8UCX3U1fHV18B4/Dm9TE1ye1mvoWyywxcYiOS4OKdnZGJmUhBaPB6UFBSj8979RNWECUufORezgwX29aURERL2iXwW81+1G+ZYtaNm8GaNSUzFs5kz4KirgOXQIroaGTp7oha+lBd66OqC0VCeZ4uIwbOhQDMvLw6mvvsLR//kf2ObNw+BrroHZZuu9jaJedebMGTQ1Nen9wYMHw2q1Bp3W39aRiKi79Zs9S/OZMzj9978jrbgYo6dOhaWmBi27dsHndke0PN/Zs/AeOQJTYSGGjhiBtNxcfP3xxzhx+DAyliyBPSmp27ehJxQWFmLTpk369YLJyclYvHhxm6/e3bVrF/bt26ePjxo1CrNmzdJp+/fv7/ArCceMGYMZM2a0WU5jYyO2b9+OQ4cOoaqqyv96l1xyCaZNm6b3xc6dO8NednvBliHzO51O/eKjSZMmITY2NqL36+2338bu3bt12Y8//jiGDh0adFp3CtyeKVOm6M3Y/sDH4uLisGjRIrz11lvYs2dPm/Wpra1FeXm5PkdCf9CgQWGvx4cffoji4mL/70uWLEF8fHw3bmn36I5tJaIL6xcB31hWhtJXXsGlNhuGTZ4M9+HDaKmv75Zla2V/5AjMTifGXXEFTh09iq/XrEH6smVwdPOOvieMGDFCq72vv/5aAyEtLc0foBUVFVi/fj2am5sRExODm2++WaefOnXKH/rBSNAE+vbbb/Hyyy+jrq6uzfTS0lIN/MOHD2PFihUwm81hLzuYzpaxZcsW/POf/8SDDz6o2zoQBG7PsGHD/NM///xz/PWvf/WHu7yHDocjaOPnwIED+reUeW+77TZcc801nTaS2mtoaMDGjRvhah14KqRxdu2114a1nN7Q1W0lotD0ecBLuJ9euxYTU1ORnJSE5oICIMKqvTOe+np49u9H+qhRsJ85gy/XrkX68uX9PuRlx3f77bfj17/+te7EpfqTKjk1NRXr1q3z79Clspdp7WVlZbUJHZGbm+u/f/r0aaxdu9bfZSzzX3XVVVpVVVdXo6CgQIM9mAstOxQy/6hRo7SRsnfvXq3uqqqq8Nprr2HlypUdvnY4brnlFuTn5+v93qoWt27dqiEmnE6nhrs01npqfeS9a2lpaTPtiy++YHgSXcT6NOC1W/7lVzAhKRlJDidcXx/W4+k9xuvR10gamYMJyT58+YeXkfHA/YhJSem51+wGKSkpGuBGoMvPvLw8/b5fqYLGjRuH6dOnB92Ry3w33HBDhzv5999/X8NVSNBKENlbz04Qs2fP1p6CYEF7oWWHQhorxjKuvPJKrFq1Cl6vV3sV3G63f12kSt60aZNOr6+v14pYGgfz5s3D8OHDO32NLVu24JtvvtH36p577vEfbigvL8fmzZv1MWlYxMTEaHf5jTfeqO/toUOH9Dk//OEP9W9g+Nvf/qbrY7PZcO+99573ep999hlef/11vS/hLg2VzMzMDtdHKm/jd/HJJ59oF75YuHAhRo4cecH3cceOHfpT/k6XXnqp9vgUFRVpA659I0waA//617+0IZWWlob58+fr6x8/flzX4Uc/+pG/4VFaWoqPPvpIe3HkfY+Pj8fYsWP1b5YUcJjrgw8+8G/DkiVLdBvldYy/sTRq5G8m711Xt5WIQtNnAe91u3H69ddxic+HpPgEuI4dCzncfRYLEu66E8451+nvZzd/jLq/rIMplMrf54Pr6DEMys3FJfV1OPL668hatgzmgFDrj6Sq3r9/v1bUEj4SdBKKstOUHWpHle6ZM2dw7NixNiGcnp6uz5PGwoEDB/w7W9nB2oO8D4M7OPugs2VHIjEx0X9f1snTepaEBMLatWvbdD/L/d27d+t7snz5cg2RjhoaElJGY8hozBw9ehQvvPCCv+dCyGMS9NJwkWpbGj/S2Ni+fbu/ESKPb9u2Tddt0qRJ5w2Qk7CSUBUJCQl6qKF9A6T9+hQXF6OsrMz/uDSo5CYkVGW+zhpR8lwjnC+77DJcffXV/hCV4DcO3aB1zMarr77q/5vL8+R9kPde/p7C3fo5knWUx4z3LDY2VhsFW7du1f/DRx991N9rFLhNL774IiorK/3rJ+sg76M0lEpKSrq0rUQUuj4L+PItW5By9BiGjs+D6/BhwDjl7QJkBxD/w7uQ+P3bgNYdgdz3wof6P74KU/BDw+0Xog2KoaNH48zBApRt3Yqhs2b5l9dfSZBLoMqO0NgJ3nbbbW0qqfYkjOQW6L777tMQq66u9oeoNBAuVAmHs+xQd9KyDhIMEtgff/yxP3iGDBmiFbUEw/r16/3h/oMf/AATJ07UgHnttdc0jOTnT3/605BHo8trrFu3zh/uM2bMwJw5c/T5si4SZNJgkMaKVOqff/659hTI4/v27dN1Qmujq/12GuEulftDDz2EjIyMC66P/A2lsWJs/6xZszBhwgRdtlTfF3ovv/jiC//7dvnll2uPjmxDQ0ODBnp+fr6uu/yt3377bf+8t956q/6tdu7cqY2ZQLKN8h5JuNtsNt0Wqa6l4fD8889rQ+edd97Rar/9+slzV6xYoX8baUzIMmT77rjjDn3NrmwrEYWuTy5V21RZieaNG3HJmLFokcrD7dYPeyg3t8eD+O9+97wwjp8zB25vaMvQm9sN1/Hjug6ujR/pRXX6O9lJ29qd4hfpaHMEVGrQSwlY+uR0LQnPZ599VitFYyCh7OQXLlyoP6Xik6pR5OTk4Dvf+Y5Wm/JTfhdSLZ48eTLk15RlGlWjhLgE7ODBg7WhNHXqVIwfP15f2zh+LY0Qo7ve6HaWeceOHdthIEm4SmXe0WDEQCNGjND1MEjjZvTo0XqThkJnZPkS0PJT/n4S2PI/Io0gWbeamhp/NS+NDwlmkZ2drdsnFfj3vve983pp5P00qnAJXnkP9uzZg7Nnz2rPBFoHy3mD9LpJg0LeGwnu3NxcXQ+ZT167K9tKROHpkwq+fONG5NhiYKqthaez89uD8Pp8MAc59cccF3cuuMNYlq+hAebaWuTY7CjcvBlZS5b06yr+jTfe8HejGqR6/clPftLh6VBSec6dO7dNEEkAyO+BA7xaWlp02SlhjEfobNmhMpvN2rgwTpOT4Jk9e7ZWizItcGS/hFHgsiWUjK5pCbJQwlTIvAYJr44Ob0ybNg3vvfeehvW2bdu0h8PohpbHLEEuhTx06FANUpnnz3/+s0674ooreqwy/fbbbzV8RUZGhv/QjRHCaO0iv+yyyzScDfJ3DlwneW+l0WO8h4HvUWFhIV555ZXzXtvlcunple3/9wIr8ZiYGP/09oMAiahn9XrAS6Xs27sPQ0ZfqtU7QtwpG/TYbF2dBnogmeYNM+BFS2kZ0kaOROHefWi67jrE9tNTs7788kvtbpXtl6CRCmnz5s26I96wYYMe3wwWIlLVSZUf7DHZMUsoSEUrPv300zbHay+ks2WHSqrHzgbqBfZQtD9G2xDQOHQ4HCG/ZuAyjYZBsNeXcJo+fbp2J0u1KuFt9AAF654XU6ZM0YbK3//+d53vT3/6k3aNdzS/IdL3cPv27f5QPnHiBH73u9+dN4/870gQB46NkEZB4HYb1z4wBL5HOTk5Ha5/sDEbgQ2fYM9hNzxR7+j1Lvoze/Yg02KF78wZPUc95C71wG56qS7aNQzctbXweb3hL8/thremBhkmoHr37rAbHL1Bqlip1L1er1abd911FxYsWOAfmb1z585Oz03vTGAF/sknn+iIaaPSk9fdunWr/1zu9srKyjT4Am/Hjh2LaD06IttohIhUp6dOndL78tPo0pcglvlCDY6srCx/gElFblx0Bq0DBwMvFjNz5kx/F7O8NzLfJZdc0uHAQ3HNNdfoWAHDunXr2gRxMIENpdLS0jaHTzrS3Nzsv4iO/F8kJye3uRmNHqmc9+7dq13jRrUtfyep7Gtra7UBU97uEJW8R8b7LuGfl5enh0WMW25urj7e/pBRKCLZViIKX69W8F63G03bdyAlLQ3u8gr4vBEEgdeH5pKTcIwe3WZyc3GJPuaLoDhwV1VjSPowFG7fDu+cOf3uUrZvvPGGv6t6/vz5WsHLDvLuu+/GM888oztwaQCMHDky7POqp06dqqdTSbhLiL377rt6k8Awjq+OGTMmaJW7a9cuvQWSau+RRx7ptipNQuTGG2/U8/+lEpbtlXCtqKjwDxCUxwO7gkNZZn5+vv9Utj/+8Y86YMxqtepx50WLFvnfY3mt8ePH66A+I6A7OiUxkDQM5D00zoWXkJf38+qrrw46f2AD5T//+Y/exK9+9asOz0qQcDdGuF9++eXn9eJI42X16tX6uhLmst6y3dJgM9YJrRW1BH/g4RB5j6QRuWHDBm0EPP300xrqsixj5PvEiRP1dcP9W0eyrUQUvl6t4JvKyuCor4fVB3ibmyOq3oUroMIyGNMiWaasi9VkgvNsAxpbr2XfX0iAGhVmdnY2vvvd7/p3jhkZGboTlt+l6pbACjbo6UIWL16MZcuW6QAo4z02liOvMW3atD7tVpVt/v73v6+NFwl1qfrkZ0JCgg6QC3xPQiUBLA0koxKvrq7WKlZCOfB0PRF4NTipPidNmhTS60mle+edd/p/l2DdunVr0Epe1mPJkiU66CzUi/sY576j9dBAexLIxhkWEvYSyhLyd9xxh/91hg0bhh//+Md6PryxTUZVPmvWLJ03JSVFzzg4ePCgDjaU90meN27cuIj+LyLZViIKn8nhjPfljMjS01mCDRrqTuU7dsC5/m/ITB0MT+vAoHBJ8MRcPxdZP/nfQMDOofjX/wdNH/wL5giDyJKcjOKKcjTc/gMMvvLKfj3YridJQ8EYtJWcnNyvRjZLMEq4yDpKpRcYSl0hVbtUrzExMRo+7budXS4XHnvsMe1KltCWcBqox5FlWyRUA8+YkAr9qaee0hCXSv6Xv/zlefsCaRzIeyQNHGk0hDPmgYh619KlS7VR36td9M1HjyE9Nla/6jXS47TyrJbiEv0ZuIttOVGs0yJdrqyTMyYW1UePARLwFykJ9P4U6oEkVHvi+vSpqalBL/NbVlamF8SRytU4HCBV7UANd7SOXfj973+v3evSmGloaNCeAOOaALNnzw5aVcu8nY07IKL+p1cD3n36FGLsdvgaGyMfzObzoaXk5HnPl2kmrzfiytvnataqxH369LllD+CdOHUPaQEbX4qC1mP93f1NdL3NuBrfp59+2ma6VOzXXXfdeac9EtHA1asB76mp1a5Br8fdWouHT/Y93soKPX/e2nqur9z3VlfBapKlRtgz4HHDYrWipabmvN4BujiNGDFCTxu02Ww6/sH4spiBTLbhiSee0IGVdXV12nhJTk7W7yHorz03RBSZ3g34piaYnE54vb4un47WXFwM69ixmvhNJ06cO0WuK5WHF7BI8yDg2uR0cRs+fHjYl+8dCDo6JEFE0aXXh7D6PD49Pc7XmvGR3ERz0Qn/Mo37XVmm3tzeCOt/IiKi/qVXK3hLTCzcLW6YYOrS18L6vECThHrrsfJzFXyknfOtzCa0tLhh4ehgIiKKAr1awZsSE+ByNesR7q5V8CY0t46aF66iEsDX9WW6XC5YAq7hTURENFD1agVvyxiKpuNFsFtsXbucqc+HloCL3ej9CK5D34bZjKamRliHZXAUMRERDXi9WsHHjhqFhhYXYLFEdMW5wFtzUbH/gHxz0YnIrkMfeIU8sxkNzS7E5ozszbeEiIioR/RqBR+XmYlKewzSWwM+Uj495a4GW6acuyBNfEzMuStzdaVXwGJBbawdKZnDeQ48ERENeL0a8I60NDQnJcJV3wSr2Qxf69XBIqFfkBF77gtGdNBeF7roTWYzmt1uNCUNgiM9PeJ1IiIi6i96tYvebLUifsYMVNfWADZrl7rUzSYTLCaz3uR+l7rn7TZU1VTrupmtvf4V+URERN2u18+DT5oyGeVOB3wWq16YJqJAtlqR9sB9GPvemxj73ltIe/AB+Oz2yAJe1sFiQaUzDslTJrN7noiIokKvl6uOIUNgv3IaKjd/ihRHnH7JS7iG/NePkL70Hj13XaQvvRte+FD22xfDPr/eHGNHZXU1bHNmI3bIkLDXhYiIqD/qky9jTr/heygdFI8WqZbDrOI9Hg9SFtzoD3dD6oL5+lWy4Y6c95iAsqQEDJk7h9U7ERFFjT4J+JiUFCTctAAn62thcjj8X/MaUsDrz/OrdJ/H0/pYiDcApthYlNTWIOGmfO1ZICIiihZ9EvAibeZMuKZPQ0VdrQZtOJV36Tv/OK8r/vS7/wirgpfXrKw9g6ZpUzDkO99h9U5ERFGlz4aMm61WDF/yAxwvK4PteLGeyx7K8XgTfDix5kUN6YzFCzWYT739HorXvIgYrwc+04XbLGaHA3WNjSjNyULOHXfAbLd301YRERH1D316Tph90CBkLb8Phf9vNYaXViDB6YTnbMMFLlhjhsXjRdGzv8XR//usTrFaLLBZrHpMvdOnmkywOONQ39yE4rQUZN+/HDHJyd2+XURERH2tz7roDY60NGQ+9CCKMzNQ1VAPy6DETi9lKwluNZkQY7HAYbPrTe5bTK0Xu+noeTLPoERUna3HiYw0ZP2vlXAMHdrXm09ERNQj+jzgPR4PYgYPRubKFSi/fDKKaqqBhHiYnc5Oz5OH79zK6wacG6XX4Xnu5vh4+OKdKKquRNmk8dqgsA8Zoq9NREQUjfq0i97r9fpv1vh4DPvhXagclYuv3v8nMhoakZIyGL6mJngaGuBtael0We0vVGu22WCJizs3mK6qAqftFji/fwuGz5wBa0yMviZaL3lrNvd5O4eIiKhb9WnAm/WY+blglp8Wmw2pM2fANioXJZs2o3jXHgx1eZCcnAKbxaKD8HyuFg17vY69ccDdZILJYtFQN9ltMMfGwu3xoLy6CqddZ4FpkzFk3lwkZGTAYrH4Q924ERERRZs+v/C6BK5BglduzrQ0mBfdjPrpV6Fo7z4c3bUb8WfOItXjQ5zDgZjEBNhjY2A2n3uu1+uBq6kZjU2NaKitQeXZWpxNcMI6ewYGTZ6E+IwMOBwO/ca5wGAPfG0iIqJo0ucBj9aQl5vX69Xj4nJfwthutyMuLQ3N18zE2dOnUVxcDO+JE/CUlQP11VrNC6naER8Py4gcmLKy9Gtp04YORYzDgdjYWMTExOiypPEgy2bVTkRE0a5fBLwhsMvcZrMhLi5OA9/lcsGVmgr3mDFwu906zdvuQjdGRS4NA6NxIDejS97EC9kQEdFFpF8FfCAjlCW4JeydTmdfrxIREdGAwb5qIiKiKMSAJyIiikJmdHZpVyIiIhqQWMETERFFIQY8ERFRFGLAExERRSEGPBERURRiwBMREUUhBjwREVEUYsATERFFIQY8ERFRFGLAExERRSEGPBERURRiwBMREUUhBjwREVEUYsATERFFIQY8ERFRFGLAExERRSEGPBERURSyhjNzaWkpKisr4fP5em6NiIiIqA2TyYTU1FSkp6eH/JyQA76wsBBWqxVz585FTExMpOtIREREYXK5XNi5c6dmcXZ2dkjPCTngT58+jQULFmgVb7PZUFRUhPr6eowaNUqnDeT7R48e1V6JSZMmYf/+/bzP+7zP+7zP+/3mfl5eHpqbmzFmzBhs3LgRI0aM0Ir+QkyOuHhfTnYWXn31VVgslg5n3LZtG66//noUFBRg5MiRcDqdobYNiIiIKEINDQ1aiE6YMAEffvghpk+f3mnAL126FEeOHAnvGLzX69VjAHFxcdqqICIiop7lcDg0eyWDw8FR9ERERFEorApeqvbS0lKkpaWF1P9PREREXWdkbzjCDvghQ4b47xPRwFNTUwO73a7dfkQ0MBjZG46wAp6I+r+zZ89i06ZNOHjwoJ4pkpKSgrFjx2LWrFk6OPYPf/gDxo0bp4Nm2RNHFL3YRU/Uzzz//PPIyMjAwoUL/We2eL1evPPOOyguLsaDDz4Iszn48JkzZ85g1apVOhB2zpw5GDx4sFbsO3bs0OcvWbLEPy974YgGjh7vohcMd6KeNXz4cOzZswcejweLFy/Wz9tbb72l58ROmjSp08/f66+/ro8/+uijbS5INXnyZFRXV3f43IqKCnz11Vdwu90YPXo0MjMz/Y/JtAMHDug8sbGxyMnJ0XU01NXV6eONjY16AY6RI0dyH0HUzSLJ3rAreONGRD0jPz9fw33fvn3602q1ariPGzcON910k84T7DPY1NSkz5Eq3WaznTdPUlJSm8+w8XhBQQFeeukl7caXAN+wYYM2LGbPnq09B6tWrdKQz83N1RD/5JNP8Nhjj2kvQmFhIZ577jm98EZKSoqeoztt2jR/w4SIukck2Rt2wJeVlbGKJ+pB8tlauHChft6MK1lJuN9yyy0aqh19yE+fPq2Ppaenh7QjkHmkAfHaa6/pJagXLFigr52Xl4d169Zp1d/Q0KBXrXzmmWd0YJ7xPJlPwv8vf/mLHgowjudXV1fjqaeewtSpUzX0iah7GNkbjrDPg2e4E/VPxkUwpHoP9TNaUVGhoXz11Vf7nyPhLPePHz+OxMREXZ4EvlT6zc3N/vmqqqpw8uRJ7Rk4ePCgdtOXlJQgOTlZn8uePqLuwy56oihgDKjbt2+fVu5GF72QKr6jS0oPGjRIf0poZ2VldbozMD7H9fX1+rvT6WzzuZbf5bG4uDg8/PDD+Pe//43169frtNmzZ2sPgzQM0NrFHzjob/jw4UhISOB+gqgb9XgXPQK6CVjFE/WM9957T8M9Ly8PixYt8n/WJOSlmr755puDfv6kch42bBi2b9+u3evt55GGQ/vR9/IcUV5e7h9Y19TUpCPvjceksXD33Xfr/W+++QarV6/GxIkT/Q2K66+/vs2gPCLqfpF00fNCN0T9TElJiY6Wz8/P9weyVMxyv7i4OGhQG2699VYd9Pbuu+9i3rx5ejGblpYWHZUvIT5//nz/vPIZTkpK0m9UfP/99/ULKux2O/7xj39o13xubi4qKyt1YJ0R4BL68toWi0WvjX3ppZfqoDx5rjxHHDt2TAfcGQ0AIuq6Hr/QDbvoiXre/fff779vfNakGjdG0KOTBraE9YoVK/Dmm2/io48+0q72hoYGHfC2aNGioKPob7/9dr34zeOPP67BLSEvgW2z2VBbW4sXX3xR55Vlye9z587VbniZds899+hAuyeffFIDvb6+XoNetsEIfCLqukiyN6yvi505c6YOpBk/fjy76In6OQljCXep0mNjYy84v1TrHo9HL44T2EPg9Xr1Ajoul0sr+MDz6w1nz57V15NGAIOdqPsVFBRo9n722Wc983Wx0nqQDz/YRU/U7yUkJOgNIX5eU1JS/PcD55cdiXE8vqNlxcXF6S3U1yKi8BjZG46wvw/euBEREVHviCR7wz4PvqKigi10IiKiXhRJ9rKLnoiIqJ+LpIs+7AqeiIiI+r+wK/iKigodKWsMqCEiIqKe09jYqNkbbhVvsdnsP09KGqTf/tTRxTPEyZMn9So68fHxeprMV199pVfWkRc8ePAg7/M+7/M+7w/w+1K4HT58WE97tNlsvN9P7icmJmr2er1evUR0RkZGp6fJvfXWW+e+HjrU8+ALCwv1EpZZWVkhnVNLRERE3UPyt6ioSK9OmZ2d3em8YZ8HLws8fvy4Xg/b5XJ1x/oSERFRCOx2u34VdDhfwxzWMficnBy9ERERUf/GUfRERERRiAFPREQUhRjwREREUYgBT0REFIUY8ERERFGIAU9ERBSFGPBERERRyH8lu84ue0dEREQDx/Hjx88FPHyevl4XIiIi6kb/PwAA//9DjJ7ctPLHVgAAAABJRU5ErkJggg=="},5409:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>r});var i=t(48318);const s={},o=i.createContext(s);function a(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/4fa8152a.87d6f0d3.js b/pr-preview/pr-1298/assets/js/4fa8152a.87d6f0d3.js deleted file mode 100644 index b7392944fe..0000000000 --- a/pr-preview/pr-1298/assets/js/4fa8152a.87d6f0d3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1439],{55223:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>a});var c=t(49214),o=t(5409);const r={sidebar_position:8,title:"\u914d\u7f6e"},i="\u7f51\u5173\u914d\u7f6e",s={id:"deploy/config/gateway/config/index",title:"\u914d\u7f6e",description:"extra",source:"@site/docs/deploy/config/gateway/config/index.md",sourceDirName:"deploy/config/gateway/config",slug:"/deploy/config/gateway/config/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/gateway/config/index.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,title:"\u914d\u7f6e"},sidebar:"deploy",previous:{title:"\u7f51\u5173",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173"},next:{title:"\u81ea\u5b9a\u4e49",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49"}},l={},a=[{value:"extra",id:"extra",level:2},{value:"\u57df\u540d\u767d\u540d\u5355\u914d\u7f6e",id:"\u57df\u540d\u767d\u540d\u5355\u914d\u7f6e",level:2},{value:"SCOW \u8bbf\u95ee\u534f\u8bae",id:"scow-\u8bbf\u95ee\u534f\u8bae",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.h1,{id:"\u7f51\u5173\u914d\u7f6e",children:"\u7f51\u5173\u914d\u7f6e"}),"\n",(0,c.jsx)(n.h2,{id:"extra",children:"extra"}),"\n",(0,c.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u5728cli\u540c\u7ea7\u7684",(0,c.jsx)(n.code,{children:"install.yml"}),"\u6587\u4ef6\u4e2d\u589e\u52a0\u5bf9scow\u81ea\u5e26\u7f51\u5173\u7684\u914d\u7f6e\uff0c\u53ef\u63a5\u53d7\u7684\u683c\u5f0f\u4e3anginx\u7684server\u53ef\u63a5\u53d7\u7684\u5c5e\u6027\u914d\u7f6e\u3002"]}),"\n",(0,c.jsxs)(n.p,{children:["\u4f8b\u5982\uff0c\u589e\u52a0\u5728\u5f53\u524d\u7cfb\u7edfnginx\u9ed8\u8ba4\u7aef\u53e3\u7684http\u670d\u52a1",(0,c.jsx)(n.code,{children:"http://extra-web:3000"}),"\uff0c\u5219\u7f16\u5199"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yml"',children:"# \u7f51\u5173\u914d\u7f6e\ngateway:\n # \u66f4\u591anginx\u914d\u7f6e\n extra: >\n location /extra {\n proxy_pass http://extra-web:3000;\n include includes/headers;\n include includes/websocket;\n }\n"})}),"\n",(0,c.jsxs)(n.p,{children:["\u60a8\u589e\u52a0",(0,c.jsx)(n.code,{children:"extra"}),"\u914d\u7f6e\u540e\uff0c\u53ef\u4ee5\u5728\u4f7f\u7528",(0,c.jsx)(n.code,{children:"./cli compose up -d"}),"\u542f\u52a8scow\u540e\uff0c\u4f7f\u7528 ",(0,c.jsx)(n.code,{children:" ./cli compose exec gateway sh"})," \u8fdb\u5165gateway\u670d\u52a1\uff0c\u5728 ",(0,c.jsx)(n.code,{children:"/etc/nginx/http.d"})," \u76ee\u5f55\u4e0b\u7684 ",(0,c.jsx)(n.code,{children:"default.conf"})," \u6587\u4ef6\u6700\u4e0b\u65b9\u67e5\u770b\u5230\u60a8\u6dfb\u52a0\u7684\u914d\u7f6e\u3002\n\u5982\u679cgateway\u670d\u52a1\u542f\u52a8\u5931\u8d25\uff0c\u8bf4\u660e\u60a8\u7684\u914d\u7f6e\u4e0d\u7b26\u5408\u89c4\u8303\uff0c\u8bf7\u4fdd\u8bc1\u5176\u6b63\u786e\u6027\u3002"]}),"\n",(0,c.jsx)(n.h2,{id:"\u57df\u540d\u767d\u540d\u5355\u914d\u7f6e",children:"\u57df\u540d\u767d\u540d\u5355\u914d\u7f6e"}),"\n",(0,c.jsx)(n.p,{children:"scow \u7f51\u5173\u9ed8\u8ba4\u4e0d\u9650\u5236 HTTP Host \u5934"}),"\n",(0,c.jsx)(n.p,{children:"\u4e3a\u4e86\u9632\u6b62 host \u5934\u653b\u51fb\u7684\u53d1\u751f\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u57df\u540d\u767d\u540d\u5355\u6765\u9650\u5236 Host \u7684\u57df\u540d\u6216 IP"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{children:"gateway:\n # \u540c nginx server_name \u914d\u7f6e\n allowedServerName: example.com www.example.com\n"})}),"\n",(0,c.jsx)(n.p,{children:"\u591a\u4e2a\u57df\u540d\u6216 IP \u95f4\u7528\u7a7a\u683c\u95f4\u9694\u5373\u53ef\u3002"}),"\n",(0,c.jsx)(n.h2,{id:"scow-\u8bbf\u95ee\u534f\u8bae",children:"SCOW \u8bbf\u95ee\u534f\u8bae"}),"\n",(0,c.jsxs)(n.p,{children:["\u8bbe\u7f6e scow \u8bbf\u95ee\u534f\u8bae",(0,c.jsx)(n.code,{children:"http | https"}),"\uff0c\u5c06\u4fee\u6539\u8ba4\u8bc1\u7cfb\u7edf\u4e2d callbackUrl \u7684\u534f\u8bae\u3002\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b callbackUrl \u7684 protocol \u4e3a http\uff0c"]}),"\n",(0,c.jsx)(n.p,{children:"\u5982\u679c\u914d\u7f6e https \u4ee3\u7406\uff0c\u5219\u5efa\u8bae\u8bbe\u7f6e\u8be5\u9879\u786e\u4fdd\u7528\u6237\u4f53\u9a8c\u7684\u4e00\u81f4\u6027\u3002"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{children:'gateway:\n # scow \u8bbf\u95ee\u534f\u8bae\uff0c\u5c06\u5f71\u54cd callbackUrl \u7684 protocol\n # callbackUrl \u9ed8\u8ba4\u7684 protocol \u4e3a http\n protocol: "http"\n'})})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>s});var c=t(48318);const o={},r=c.createContext(o);function i(e){const n=c.useContext(r);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),c.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/504f4918.9b9e0eff.js b/pr-preview/pr-1298/assets/js/504f4918.9b9e0eff.js deleted file mode 100644 index e7f1c8422e..0000000000 --- a/pr-preview/pr-1298/assets/js/504f4918.9b9e0eff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5316],{75522:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>l});var i=n(49214),s=n(5409);const o={sidebar_position:1,title:"SCOW API"},c="SCOW API",t={id:"integration/scow-api-hook/api/api",title:"SCOW API",description:"SCOW\u7cfb\u7edf\u603b\u4f53\u6765\u8bf4\u5206\u4e3a\u524d\u7aef\u548c\u540e\u7aef\u90e8\u5206\uff08\u67b6\u6784\uff09\uff0cSCOW\u7684\u524d\u7aef\u548c\u540e\u7aef\u90e8\u5206\u4f7f\u7528gRPC\u8fdb\u884c\u901a\u4fe1\u3002",source:"@site/docs/integration/scow-api-hook/api/api.md",sourceDirName:"integration/scow-api-hook/api",slug:"/integration/scow-api-hook/api/",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/scow-api-hook/api/api.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"SCOW API"},sidebar:"integration",previous:{title:"SCOW API\u548cHook",permalink:"/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook"},next:{title:"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic"}},d={},l=[{value:"\u6253\u5f00\u540e\u7aef\u670d\u52a1\u7f51\u7edc\u63a5\u53e3",id:"\u6253\u5f00\u540e\u7aef\u670d\u52a1\u7f51\u7edc\u63a5\u53e3",level:2},{value:"API\u8ba4\u8bc1",id:"api\u8ba4\u8bc1",level:2},{value:"\u9759\u6001Token\u8ba4\u8bc1",id:"\u9759\u6001token\u8ba4\u8bc1",level:3},{value:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b",id:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b",level:2}];function a(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h1,{id:"scow-api",children:"SCOW API"}),"\n",(0,i.jsxs)(r.p,{children:["SCOW\u7cfb\u7edf\u603b\u4f53\u6765\u8bf4\u5206\u4e3a\u524d\u7aef\u548c\u540e\u7aef\u90e8\u5206\uff08",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/architecture/",children:"\u67b6\u6784"}),"\uff09\uff0cSCOW\u7684\u524d\u7aef\u548c\u540e\u7aef\u90e8\u5206\u4f7f\u7528gRPC\u8fdb\u884c\u901a\u4fe1\u3002"]}),"\n",(0,i.jsx)(r.p,{children:"\u8981\u4f7f\u7528SCOW API\uff0c\u60a8\u9700\u8981"}),"\n",(0,i.jsxs)(r.ol,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto",children:"\u83b7\u53d6SCOW Protobuf\u6587\u4ef6"}),"\u5e76\u751f\u6210\u76f8\u5173\u4ee3\u7801"]}),"\n",(0,i.jsxs)(r.li,{children:["\u7f16\u5199\u7a0b\u5e8f\uff0c\u8c03\u7528gRPC API\u4e0eSCOW\u7684\u540e\u7aef\u90e8\u5206\u7ec4\u4ef6",(0,i.jsx)(r.code,{children:"mis-server"}),", ",(0,i.jsx)(r.code,{children:"portal-server"}),", ",(0,i.jsx)(r.code,{children:"audit-server"}),"\u4ea4\u4e92"]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"\u6253\u5f00\u540e\u7aef\u670d\u52a1\u7f51\u7edc\u63a5\u53e3",children:"\u6253\u5f00\u540e\u7aef\u670d\u52a1\u7f51\u7edc\u63a5\u53e3"}),"\n",(0,i.jsxs)(r.p,{children:["\u90e8\u7f72\u597d\u7684\u7cfb\u7edf\u7684\u540e\u7aef\u670d\u52a1\u5bb9\u5668",(0,i.jsx)(r.code,{children:"mis-server"}),", ",(0,i.jsx)(r.code,{children:"portal-server"}),", ",(0,i.jsx)(r.code,{children:"audit-server"}),"\u4f4d\u4e8edocker compose\u521b\u5efa\u7684\u7f51\u7edc\u4e2d\uff0c\u4ece\u5916\u754c\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee",(0,i.jsx)(r.code,{children:"mis-server"}),", ",(0,i.jsx)(r.code,{children:"portal-server"}),"\u548c",(0,i.jsx)(r.code,{children:"audit-server"}),"\u670d\u52a1\u3002"]}),"\n",(0,i.jsxs)(r.p,{children:["\u8981\u60f3\u8bbf\u95ee\u8fd9\u4e9b\u670d\u52a1\uff0c\u60a8\u9700\u8981\u901a\u8fc7",(0,i.jsx)(r.code,{children:"install.yaml"}),"\u5c06\u4e3b\u673a\u4e0a\u7684\u7aef\u53e3\u6620\u5c04\u5230",(0,i.jsx)(r.code,{children:"mis-server"}),", ",(0,i.jsx)(r.code,{children:"portal-server"}),"\u548c",(0,i.jsx)(r.code,{children:"audit-server"}),"\u670d\u52a1\u76845000\u7aef\u53e3\u4e2d\u3002\u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u4ece\u90e8\u7f72SCOW\u7684\u673a\u5668\u4e0a\u901a\u8fc7\u5b9a\u4e49\u7684IP\u548c\u7aef\u53e3\u4e0e\u5bf9\u5e94\u7684\u670d\u52a1\u4ea4\u4e92\u3002"]}),"\n",(0,i.jsx)(r.pre,{children:(0,i.jsx)(r.code,{className:"language-yaml",metastring:"title=install.yaml",children:'\nportal:\n portMappings:\n # portal-server\u76845000\u7aef\u53e3\u6620\u5c04\u5230127.0.0.1:7572\n portalServer: "127.0.0.1:7572"\nmis:\n portMappings:\n # mis-server\u76845000\u7aef\u53e3\u6620\u5c04\u5230127.0.0.1:7571\n misServer: "127.0.0.1:7571"\naudit:\n portMappings:\n # audit-server\u76845000\u7aef\u53e3\u6620\u5c04\u5230127.0.0.1:7573\n auditServer: "127.0.0.1:7573"\n'})}),"\n",(0,i.jsx)(r.h2,{id:"api\u8ba4\u8bc1",children:"API\u8ba4\u8bc1"}),"\n",(0,i.jsxs)(r.p,{children:["\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,i.jsx)(r.code,{children:"mis-server"}),"\u548c",(0,i.jsx)(r.code,{children:"portal-server"}),"\u7684gRPC\u8c03\u7528\u5e76\u4e0d\u8ba4\u8bc1\u8bf7\u6c42\uff0c\u4efb\u4f55\u7528\u6237\u90fd\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528",(0,i.jsx)(r.code,{children:"mis-server"}),"\u548c",(0,i.jsx)(r.code,{children:"portal-server"}),"\u7684API\u3002"]}),"\n",(0,i.jsxs)(r.p,{children:["\u5728\u4e0d\u8ba4\u8bc1\u7684\u60c5\u51b5\u4e0b\uff0c\u5982\u679c\u60a8\u5728\u6620\u5c04\u7aef\u53e3\u65f6\u76f4\u63a5\u8f93\u5165\u7aef\u53e3\u53f7\uff08\u5982",(0,i.jsx)(r.code,{children:"7571"}),"\u4e0d\u662f",(0,i.jsx)(r.code,{children:"127.0.0.1:7571"}),"\uff09\uff0c\u7531\u4e8e\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u4e2d\u5404\u4e2a\u8282\u70b9\u7684\u7f51\u7edc\u662f\u4e92\u901a\u7684\uff0c\u5219\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u4e2d\u7684\u5176\u4ed6\u4f5c\u4e1a\u53ef\u80fd\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95eeSCOW\u7684gRPC\u540e\u7aef\uff0c\u8fdb\u800c\u76f4\u63a5\u64cd\u4f5cSCOW\u7cfb\u7edf\u7684\u6570\u636e\uff0c\u9020\u6210\u5b89\u5168\u9690\u60a3\u3002\u6240\u4ee5\u6211\u4eec\u5efa\u8bae\uff1a"]}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:"\u4e0d\u5c06SCOW\u670d\u52a1\u8282\u70b9\u7528\u4f5c\u96c6\u7fa4\u7684\u767b\u5f55\u8282\u70b9\u6216\u8005\u8ba1\u7b97\u8282\u70b9"}),"\n",(0,i.jsxs)(r.li,{children:["\u5728\u6620\u5c04\u7aef\u53e3\u65f6\u8f93\u5165",(0,i.jsx)(r.code,{children:"127.0.0.1:7571"}),"\uff0c\u4f7f\u6620\u5c04\u51fa\u7684\u7aef\u53e3\u53ea\u80fd\u5728SCOW\u670d\u52a1\u8282\u70b9\u4e0a\u4f7f\u7528"]}),"\n",(0,i.jsx)(r.li,{children:"\u7ed9SCOW\u670d\u52a1\u8282\u70b9\u8bbe\u7f6e\u597d\u9632\u706b\u5899\uff0c\u9632\u6b62\u96c6\u7fa4\u5185\u90e8\u7684\u670d\u52a1\u8bbf\u95ee\u5230SCOW\u670d\u52a1"}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:["\u60a8\u4e5f\u53ef\u4ee5\u914d\u7f6e\u670d\u52a1\u5668\u7aef\u8ba4\u8bc1\u3002\u5f53\u6253\u5f00\u4e86\u8ba4\u8bc1\u540e\uff0c\u4efb\u4f55\u6ca1\u6709\u901a\u8fc7\u8ba4\u8bc1\u7684\u8bf7\u6c42\u5c06\u4f1a\u6536\u5230",(0,i.jsx)(r.code,{children:"UNAUTHENTICATED"}),"\u54cd\u5e94\u3002"]}),"\n",(0,i.jsx)(r.h3,{id:"\u9759\u6001token\u8ba4\u8bc1",children:"\u9759\u6001Token\u8ba4\u8bc1"}),"\n",(0,i.jsx)(r.p,{children:"\u60a8\u4e5f\u53ef\u4ee5\u914d\u7f6e\u670d\u52a1\u5668\u4f7f\u7528\u9759\u6001Token\u8ba4\u8bc1\u3002"}),"\n",(0,i.jsxs)(r.p,{children:["\u5728",(0,i.jsx)(r.code,{children:"config/common.yaml"}),"\u4e2d\u589e\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a"]}),"\n",(0,i.jsx)(r.pre,{children:(0,i.jsx)(r.code,{className:"language-yaml",metastring:'title="config/common.yaml"',children:"scowApi:\n auth:\n token: <\u79d8\u5bc6\u5b57\u7b26\u4e32\uff0c\u8d8a\u957f\u8d8a\u597d>\n"})}),"\n",(0,i.jsxs)(r.p,{children:["\u5f53\u914d\u7f6e\u597d\u540e\uff0c\u4efb\u4f55\u5230\u670d\u52a1\u5668\u7684\u8bf7\u6c42\u90fd\u5fc5\u987b\u5e26\u6709",(0,i.jsx)(r.code,{children:"authorization"})," header\uff0c\u5176\u5185\u5bb9\u4e3a",(0,i.jsx)(r.code,{children:"Bearer <\u79d8\u5bc6\u5b57\u7b26\u4e32>"}),"\u3002"]}),"\n",(0,i.jsx)(r.p,{children:"\u95e8\u6237\u7cfb\u7edf\u548c\u7ba1\u7406\u7cfb\u7edf\u524d\u7aef\u53d1\u9001\u5230\u670d\u52a1\u5668\u7684\u8bf7\u6c42\u5c06\u4f1a\u81ea\u52a8\u5e26\u6709\u8fd9\u4e2aheader\uff0c\u65e0\u9700\u5355\u72ec\u914d\u7f6e\u3002"}),"\n",(0,i.jsx)(r.h2,{id:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b",children:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go#%E4%BD%BF%E7%94%A8scow-api",children:"Go"})}),"\n"]})]})}function p(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5409:(e,r,n)=>{n.d(r,{R:()=>c,x:()=>t});var i=n(48318);const s={},o=i.createContext(s);function c(e){const r=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/50cb17b0.93856697.js b/pr-preview/pr-1298/assets/js/50cb17b0.93856697.js deleted file mode 100644 index da60b8802b..0000000000 --- a/pr-preview/pr-1298/assets/js/50cb17b0.93856697.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1917],{49129:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>i,contentTitle:()=>a,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var t=s(49214),r=s(5409);const o={sidebar_position:4,title:"vagrant\u955c\u50cf\u5236\u4f5c"},a=void 0,l={id:"deploy/get-started/vagrant/images",title:"vagrant\u955c\u50cf\u5236\u4f5c",description:"1. login/compute\u8282\u70b9\u955c\u50cf\u5236\u4f5c",source:"@site/docs/deploy/get-started/vagrant/images.md",sourceDirName:"deploy/get-started/vagrant",slug:"/deploy/get-started/vagrant/images",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/get-started/vagrant/images.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"vagrant\u955c\u50cf\u5236\u4f5c"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u90e8\u7f72",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization"},next:{title:"FAQ",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq"}},i={},c=[{value:"1. login/compute\u8282\u70b9\u955c\u50cf\u5236\u4f5c",id:"1-logincompute\u8282\u70b9\u955c\u50cf\u5236\u4f5c",level:2},{value:"2. slurm\u8282\u70b9\u955c\u50cf\u5236\u4f5c",id:"2-slurm\u8282\u70b9\u955c\u50cf\u5236\u4f5c",level:2},{value:"3. SCOW\u8282\u70b9\u955c\u50cf\u5236\u4f5c",id:"3-scow\u8282\u70b9\u955c\u50cf\u5236\u4f5c",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"1-logincompute\u8282\u70b9\u955c\u50cf\u5236\u4f5c",children:"1. login/compute\u8282\u70b9\u955c\u50cf\u5236\u4f5c"}),"\n",(0,t.jsx)(n.p,{children:"\u57fa\u4e8evagrant\u5b98\u65b9centos/7\u955c\u50cf(7.8.2003)\uff0c\u6267\u884c\u7684\u547d\u4ee4\u5982\u4e0b\uff1a"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-Bash",children:"# 1. \u5347\u7ea7\u5230centos7.9.2009\nyum update -y \n\n# 2. \u5173\u95edfirewalld\u3001dnsmasq\u3001NetworkManager\nsystemctl disable --now firewalld \nsystemctl disable --now dnsmasq\nsystemctl disable --now NetworkManager\n\n# 3. \u5173\u95edselinux\nsetenforce 0\nsed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux\nsed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config\ngetenforce\n\n# 4. \u5173\u95edswap\nswapoff -a && sysctl -w vm.swappiness=0enforcing\nsed -ri '/^[^#]*swap/s@^@#@' /etc/fstab\n\n\n# 5. \u65f6\u95f4\u540c\u6b65\nrpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm\nyum install ntpdate vim -y\n\n# \u540c\u6b65\u65f6\u95f4\u3002time2.aliyun.com\u5916\u7f51\uff0cvineyard.pku.edu.cn\u5185\u7f51\n# \u65f6\u95f4\u540c\u6b65\u914d\u7f6e\u5982\u4e0b\uff1a\nln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime\necho 'Asia/Shanghai' >/etc/timezone\nntpdate time2.aliyun.com\n\ncat >>/var/spool/cron/root </etc/timezone\nntpdate time2.aliyun.com\n\ncat >>/var/spool/cron/root <{s.d(n,{R:()=>a,x:()=>l});var t=s(48318);const r={},o=t.createContext(r);function a(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/515951e7.16de3399.js b/pr-preview/pr-1298/assets/js/515951e7.16de3399.js deleted file mode 100644 index c53f4fac1e..0000000000 --- a/pr-preview/pr-1298/assets/js/515951e7.16de3399.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7577],{18713:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>o,metadata:()=>p,toc:()=>a});var i=r(49214),n=r(5409);const o={},s=void 0,p={id:"refs/config/mis/definition-properties-jobchargetype",title:"definition-properties-jobchargetype",description:"jobChargeType Type",source:"@site/docs/refs/config/mis/definition-properties-jobchargetype.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-jobchargetype",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-jobchargetype.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-jobchargecomment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment"},next:{title:"definition-properties-portalurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl"}},c={},a=[{value:"jobChargeType Type",id:"jobchargetype-type",level:2},{value:"jobChargeType Default Value",id:"jobchargetype-default-value",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"jobchargetype-type",children:"jobChargeType Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})}),"\n",(0,i.jsx)(t.h2,{id:"jobchargetype-default-value",children:"jobChargeType Default Value"}),"\n",(0,i.jsx)(t.p,{children:"The default value is:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'"\u4f5c\u4e1a\u8d39\u7528"\n'})})]})}function l(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>p});var i=r(48318);const n={},o=i.createContext(n);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/529e0f84.4eab112f.js b/pr-preview/pr-1298/assets/js/529e0f84.4eab112f.js deleted file mode 100644 index 352c975645..0000000000 --- a/pr-preview/pr-1298/assets/js/529e0f84.4eab112f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9618],{26002:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=t(49214),i=t(5409);const r={sidebar_position:2,title:"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf"},l="\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf",s={id:"deploy/config/portal/intro",title:"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf",description:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf\u3002",source:"@site/docs/deploy/config/portal/intro.md",sourceDirName:"deploy/config/portal",slug:"/deploy/config/portal/intro",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/intro.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf"},sidebar:"deploy",previous:{title:"\u95e8\u6237\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf"},next:{title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro"}},a={},c=[{value:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u7f16\u5199\u95e8\u6237\u670d\u52a1\u914d\u7f6e",id:"\u7f16\u5199\u95e8\u6237\u670d\u52a1\u914d\u7f6e",level:2},{value:"\u66f4\u591a\u914d\u7f6e",id:"\u66f4\u591a\u914d\u7f6e",level:2},{value:"\u542f\u52a8\u670d\u52a1",id:"\u542f\u52a8\u670d\u52a1",level:2}];function d(n){const e={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf",children:"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf"}),"\n",(0,o.jsx)(e.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf\u3002"}),"\n",(0,o.jsx)(e.h2,{id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",children:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,o.jsxs)(e.p,{children:["\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",(0,o.jsx)(e.code,{children:"install.yaml"})]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-yaml",metastring:'title="install.yaml"',children:"# \u786e\u4fdd\u95e8\u6237\u7cfb\u7edf\u4f1a\u90e8\u7f72\nportal:\n # \u5982\u679c\u95e8\u6237\u7cfb\u7edf\u5c06\u4f1a\u90e8\u7f72\u5728\u7cfb\u7edf\u7684\u6839\u76ee\u5f55\u4e0b\uff0c\u8bbe\u7f6eBASE_PATH\u4e3a/\u3002\u9ed8\u8ba4\u4e3a/\n basePath: /\n # \u5982\u679c\u95e8\u6237\u7cfb\u7edf\u5c06\u4f1a\u90e8\u7f72\u5728\u7cfb\u7edf\u7684/portal\u4e0b\uff0c\u8bbe\u7f6eBASE_PATH\u4e3a/portal\n # basePath: /portal\n"})}),"\n",(0,o.jsx)(e.admonition,{type:"tip",children:(0,o.jsxs)(e.p,{children:["\u5982\u679c\u60f3\u81ea\u5b9a\u4e49\u7cfb\u7edf\u90e8\u7f72\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u4e86\u89e3",(0,o.jsx)(e.code,{children:"PORTAL.BASE_PATH"}),"\u7684\u542b\u4e49\uff0c\u8bf7\u53c2\u8003",(0,o.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath",children:"\u81ea\u5b9a\u4e49\u76f8\u5bf9\u8def\u5f84"}),"\u3002"]})}),"\n",(0,o.jsx)(e.h2,{id:"\u7f16\u5199\u95e8\u6237\u670d\u52a1\u914d\u7f6e",children:"\u7f16\u5199\u95e8\u6237\u670d\u52a1\u914d\u7f6e"}),"\n",(0,o.jsxs)(e.p,{children:["\u5728",(0,o.jsx)(e.code,{children:"config/portal.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-yaml",metastring:'title="config/portal.yaml"',children:'# \u662f\u5426\u542f\u7528\u4f5c\u4e1a\u7ba1\u7406\u529f\u80fd\njobManagement: true\n\n# \u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd\nloginDesktop:\n # \u662f\u5426\u542f\u7528\u684c\u9762\u529f\u80fd\n enabled: true\n\n # \u684c\u9762\n wms: \n # \u684c\u9762\u540d\u548c\u5bf9\u5e94\u7684wm\u503c\u3002\u89c1\u6587\u6863\n - name: Xfce\n wm: xfce\n\n # \u5355\u4e2a\u767b\u5f55\u8282\u70b9\u6700\u591a\u542f\u52a8\u591a\u5c11\u4e2a\u684c\u9762\u8282\u70b9\n maxDesktops: 3\n\n # \u5c06\u521b\u5efa\u7684\u767b\u5f55\u8282\u70b9\u684c\u9762\u4fe1\u606f\u7684\u4fdd\u5b58\u5230\u4ec0\u4e48\u4f4d\u7f6e\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u7684\u5bb6\u76ee\u5f55\n desktopsDir: scow/desktops\n\n# \u662f\u5426\u542f\u7528\u4ea4\u4e92\u5f0f\u4efb\u52a1\u529f\u80fd\napps: true\n\n# \u63d0\u4ea4\u4f5c\u4e1a\u547d\u4ee4\u6846\u4e2d\u7684\u63d0\u793a\u8bed\uff0c\u53ef\u9009\u914d\u7f6e\nsubmitJobPromptText: "#\u6b64\u5904\u53c2\u6570\u8bbe\u7f6e\u7684\u4f18\u5148\u7ea7\u9ad8\u4e8e\u9875\u9762\u5176\u5b83\u5730\u65b9\uff0c\u4e24\u8005\u51b2\u7a81\u65f6\u4ee5\u6b64\u5904\u4e3a\u51c6"\n\n# \u662f\u5426\u542f\u7528\u7ec8\u7aef\u529f\u80fd\nshell: true\n\n# # \u6587\u4ef6\u7ba1\u7406\n# file:\n# # \u6587\u4ef6\u9884\u89c8\u529f\u80fd\n# preview:\n# # \u5927\u5c0f\u9650\u5236\n# # \u53ef\u63a5\u53d7\u7684\u683c\u5f0f\u4e3anginx\u7684client_max_body_size\u53ef\u63a5\u53d7\u7684\u503c\uff0c\u9ed8\u8ba4\u4e3a 50m\n# limitSize: "50m"\n# # \u6587\u4ef6\u7f16\u8f91\u529f\u80fd\n# edit:\n# # \u6587\u4ef6\u7f16\u8f91\u5927\u5c0f\u9650\u5236\n# # \u53ef\u63a5\u53d7\u7684\u683c\u5f0f\u4e3anginx\u7684client_max_body_size\u53ef\u63a5\u53d7\u7684\u503c\uff0c\u9ed8\u8ba4\u4e3a 1m\n# # \u5efa\u8bae\u8bbe\u7f6e\u4e3a\u8f83\u5927\u503c\n# limitSize: "1m"\n\n# \u63d0\u4ea4\u4f5c\u4e1a\u7684\u9ed8\u8ba4\u5de5\u4f5c\u76ee\u5f55\u3002\u4f7f\u7528{{ name }}\u4ee3\u66ff\u4f5c\u4e1a\u540d\u79f0\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u7684\u5bb6\u76ee\u5f55\n# submitJobDefaultPwd: scow/jobs/{{ name }}\n\n# \u5c06\u4fdd\u5b58\u7684\u4f5c\u4e1a\u4fdd\u5b58\u5230\u4ec0\u4e48\u4f4d\u7f6e\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u5bb6\u76ee\u5f55\n# savedJobsDir: scow/savedJobs\n\n# \u5c06\u4ea4\u4e92\u5f0f\u4efb\u52a1\u7684\u4fe1\u606f\u4fdd\u5b58\u5230\u4ec0\u4e48\u4f4d\u7f6e\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u7684\u5bb6\u76ee\u5f55\n# appJobsDir: scow/appData\n\n# TurboVNC\u7684\u5b89\u88c5\u8def\u5f84\n# turboVNCPath: /opt/TurboVNC\n\n# # \u65b0\u589e\u5bfc\u822a\u94fe\u63a5\u76f8\u5173\u914d\u7f6e\n# navLinks:\n# # \u94fe\u63a5\u540d\n# - text: "\u4e00\u7ea7\u5bfc\u822a1"\n# # \u94fe\u63a5\u5730\u5740\uff0c\u4e00\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u53ef\u9009\u586b\uff0c\u4e8c\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u5fc5\u586b\n# url: ""\n# # \u662f\u5426\u6253\u5f00\u65b0\u7684\u9875\u9762\uff0c\u53ef\u9009\u586b\uff0c\u9ed8\u8ba4\u503c\u4e3afalse\n# # openInNewPage: true\n# # \u81ea\u5b9a\u4e49\u56fe\u6807\u5730\u5740,\u53ef\u9009\u586b\n# # iconPath: ""\n# # \u53ef\u4ee5\u770b\u5230\u8fd9\u4e2a\u94fe\u63a5\u7684\u7528\u6237,\u53ef\u9009\u586b\n# # \u7528\u6237\u7c7b\u578b\uff1a user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance\n# allowedRoles: []\n# # \u4e8c\u7ea7\u5bfc\u822a,\u53ef\u9009\u586b\n# children:\n# # \u4e8c\u7ea7\u5bfc\u822a\u76f8\u5173\u914d\u7f6e\uff0c\u4e0e\u4e00\u7ea7\u5bfc\u822a\u76f8\u540c\uff0c\u4f46\u662furl\u4e3a\u5fc5\u586b\u914d\u7f6e\uff0c\u540c\u65f6\u4e0d\u5141\u8bb8\u518d\u8bbe\u7f6echildren\n# - text: "\u4e8c\u7ea7\u5bfc\u822a1"\n# url: "https://hahahaha1.1.com"\n# # openInNewPage: true\n# iconPath: ""\n# allowedRoles: [accountAdmin, accountOwner]\n# - text: "\u4e8c\u7ea7\u5bfc\u822a2"\n# url: "https://hahahaha1.2.com"\n# allowedRoles: [tenantAdmin, platformAdmin]\n# - text: "\u4e00\u7ea7\u5bfc\u822a2"\n# url: "https://hahahaha2.com"\n\n\n'})}),"\n",(0,o.jsx)(e.h2,{id:"\u66f4\u591a\u914d\u7f6e",children:"\u66f4\u591a\u914d\u7f6e"}),"\n",(0,o.jsx)(e.p,{children:"\u4e00\u4e9b\u529f\u80fd\u53ef\u80fd\u9700\u8981\u8fdb\u4e00\u6b65\u7684\u914d\u7f6e\uff0c\u8bf7\u6839\u636e\u5bf9\u5e94\u7684\u6587\u6863\u5b8c\u6210\u3002"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop",children:"\u767b\u5f55\u8282\u70b9\u684c\u9762"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters",children:"\u8de8\u96c6\u7fa4\u4f20\u8f93"})}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"\u542f\u52a8\u670d\u52a1",children:"\u542f\u52a8\u670d\u52a1"}),"\n",(0,o.jsxs)(e.p,{children:["\u8fd0\u884c",(0,o.jsx)(e.code,{children:"./cli compose up -d"}),"\u542f\u52a8\u95e8\u6237\u7cfb\u7edf\u3002"]})]})}function p(n={}){const{wrapper:e}={...(0,i.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(d,{...n})}):d(n)}},5409:(n,e,t)=>{t.d(e,{R:()=>l,x:()=>s});var o=t(48318);const i={},r=o.createContext(i);function l(n){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function s(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:l(n.components),o.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/530f30b9.f038a12e.js b/pr-preview/pr-1298/assets/js/530f30b9.f038a12e.js deleted file mode 100644 index 5251a44a5e..0000000000 --- a/pr-preview/pr-1298/assets/js/530f30b9.f038a12e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1251],{79691:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>a,frontMatter:()=>r,metadata:()=>p,toc:()=>c});var o=t(49214),i=t(5409);const r={},s=void 0,p={id:"refs/config/app/definition-properties-nodes",title:"definition-properties-nodes",description:"nodes Type",source:"@site/docs/refs/config/app/definition-properties-nodes.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-nodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-nodes.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-nodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items"},next:{title:"definition-properties-type-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0"}},d={},c=[{value:"nodes Type",id:"nodes-type",level:2}];function f(e){const n={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"nodes-type",children:"nodes Type"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"string[]"})})]})}function a(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var o=t(48318);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/541590dc.0ead0e72.js b/pr-preview/pr-1298/assets/js/541590dc.0ead0e72.js deleted file mode 100644 index 5236cb02c7..0000000000 --- a/pr-preview/pr-1298/assets/js/541590dc.0ead0e72.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1322],{92986:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>m,frontMatter:()=>o,metadata:()=>p,toc:()=>d});var s=r(49214),i=r(5409);const o={},n=void 0,p={id:"refs/config/cluster/definition-properties-slurm-properties-computenodes-items",title:"definition-properties-slurm-properties-computenodes-items",description:"items Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-computenodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-scheduler",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler"},next:{title:"definition-properties-slurm-properties-computenodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes"}},c={},d=[{value:"items Type",id:"items-type",level:2}];function u(e){const t={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"items-type",children:"items Type"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"string"})})]})}function m(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>p});var s=r(48318);const i={},o=s.createContext(i);function n(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5490b0a7.2eb143fd.js b/pr-preview/pr-1298/assets/js/5490b0a7.2eb143fd.js deleted file mode 100644 index cfef27fd37..0000000000 --- a/pr-preview/pr-1298/assets/js/5490b0a7.2eb143fd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[717],{10136:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>p,default:()=>f,frontMatter:()=>n,metadata:()=>s,toc:()=>d});var o=r(49214),i=r(5409);const n={},p=void 0,s={id:"refs/config/portal/definition-properties-hometext-properties-defaulttext",title:"definition-properties-hometext-properties-defaulttext",description:"defaultText Type",source:"@site/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometext-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-apps",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps"},next:{title:"definition-properties-hometext-properties-hostnamemap-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default"}},a={},d=[{value:"defaultText Type",id:"defaulttext-type",level:2},{value:"defaultText Default Value",id:"defaulttext-default-value",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"defaulttext-type",children:"defaultText Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})}),"\n",(0,o.jsx)(t.h2,{id:"defaulttext-default-value",children:"defaultText Default Value"}),"\n",(0,o.jsx)(t.p,{children:"The default value is:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"Super Computing on Web"\n'})})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>p,x:()=>s});var o=r(48318);const i={},n=o.createContext(i);function p(e){const t=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/56655189.5042e5fe.js b/pr-preview/pr-1298/assets/js/56655189.5042e5fe.js deleted file mode 100644 index af15b84938..0000000000 --- a/pr-preview/pr-1298/assets/js/56655189.5042e5fe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5762],{18870:(e,l,n)=>{n.r(l),n.d(l,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>d,toc:()=>i});var t=n(49214),s=n(5409);const o={sidebar_label:"module\u5b89\u88c5",title:"module\u5b89\u88c5",sidebar_position:8},c=void 0,d={id:"hpccluster/module",title:"module\u5b89\u88c5",description:"module\u662f\u7ed9\u96c6\u7fa4\u6240\u6709\u8282\u70b9\u4f7f\u7528\uff0c\u5b89\u88c5\u5728nfs\u5171\u4eab\u5b58\u50a8\u76ee\u5f55\u4e0a\u3002\u521b\u5efamodule\u5b89\u88c5\u76ee\u5f55\uff1a",source:"@site/docs/hpccluster/module.md",sourceDirName:"hpccluster",slug:"/hpccluster/module",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/module",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/module.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_label:"module\u5b89\u88c5",title:"module\u5b89\u88c5",sidebar_position:8},sidebar:"hpccluster",previous:{title:"LDAP\u65b0\u5efa\u7528\u6237",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user"},next:{title:"intel\u7f16\u8bd1\u5668\u5b89\u88c5",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel"}},r={},i=[{value:"1. tcl\u5b89\u88c5",id:"1-tcl\u5b89\u88c5",level:2},{value:"2. module\u5b89\u88c5",id:"2-module\u5b89\u88c5",level:2},{value:"3. \u914d\u7f6e",id:"3-\u914d\u7f6e",level:2}];function a(e){const l={code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.p,{children:"module\u662f\u7ed9\u96c6\u7fa4\u6240\u6709\u8282\u70b9\u4f7f\u7528\uff0c\u5b89\u88c5\u5728nfs\u5171\u4eab\u5b58\u50a8\u76ee\u5f55\u4e0a\u3002\u521b\u5efamodule\u5b89\u88c5\u76ee\u5f55\uff1a"}),"\n",(0,t.jsx)(l.pre,{children:(0,t.jsx)(l.code,{className:"language-Shell",children:"mkdir /data/software/module\n"})}),"\n",(0,t.jsx)(l.h2,{id:"1-tcl\u5b89\u88c5",children:"1. tcl\u5b89\u88c5"}),"\n",(0,t.jsx)(l.p,{children:"module\u5de5\u5177\uff0c\u4f9d\u8d56tcl\u5de5\u5177\uff0c\u56e0\u6b64\u9996\u5148\u8981\u5b89\u88c5tcl\u5de5\u5177\u3002"}),"\n",(0,t.jsx)(l.p,{children:"\u521b\u5efa\u5de5\u5177\u76ee\u5f55\uff1a"}),"\n",(0,t.jsx)(l.pre,{children:(0,t.jsx)(l.code,{className:"language-Shell",children:"mkdir -p /data/software/module/tools/tcl\n"})}),"\n",(0,t.jsx)(l.p,{children:"\u4e0b\u8f7d\u3001\u7f16\u8bd1\u3001\u5b89\u88c5\uff1a"}),"\n",(0,t.jsx)(l.pre,{children:(0,t.jsx)(l.code,{className:"language-PowerShell",children:"# \u4e0b\u8f7d\nwget https://cfhcable.dl.sourceforge.net/project/tcl/Tcl/8.5.9/tcl8.5.9-src.tar.gz\n\n# \u89e3\u538b\ntar -zxvf tcl8.5.9-src.tar.gz \ncd tcl8.5.9/unix \n\n# \u7f16\u8bd1 & \u5b89\u88c5\uff0c\u6ce8\u610f\u4fee\u6539\u6b64\u5904\u76ee\u5f55\n./configure --prefix=/data/software/module/tools/tcl \nmake \nmake install\n"})}),"\n",(0,t.jsx)(l.h2,{id:"2-module\u5b89\u88c5",children:"2. module\u5b89\u88c5"}),"\n",(0,t.jsx)(l.p,{children:"\u521b\u5efa\u5de5\u5177\u76ee\u5f55\uff1a"}),"\n",(0,t.jsx)(l.pre,{children:(0,t.jsx)(l.code,{className:"language-Shell",children:"mkdir -p /data/software/module/tools/modules\n"})}),"\n",(0,t.jsx)(l.p,{children:"\u4e0b\u8f7d\u3001\u7f16\u8bd1\u3001\u5b89\u88c5\uff1a"}),"\n",(0,t.jsx)(l.pre,{children:(0,t.jsx)(l.code,{className:"language-PowerShell",children:"# \u4e0b\u8f7d\uff0c\u6b64\u5904\u53ef\u80fd\u9700\u8981\u79d1\u5b66\u4e0a\u7f51\nwget https://newcontinuum.dl.sourceforge.net/project/modules/Modules/modules-4.2.4/modules-4.2.4.tar.gz \n\n#\u89e3\u538b\ntar -zxvf modules-4.2.4.tar.gz \ncd modules-4.2.4 \n\n# \u7f16\u8bd1 & \u5b89\u88c5,\u6ce8\u610f\u4fee\u6539\u8def\u5f84\n./configure --prefix=/data/software/module/tools/modules --with-tcl-lib=/data/software/module/tools/tcl/lib --with-tcl-inc=/data/software/module/tools/tcl/include \nmake \nmake install\n"})}),"\n",(0,t.jsx)(l.h2,{id:"3-\u914d\u7f6e",children:"3. \u914d\u7f6e"}),"\n",(0,t.jsxs)(l.p,{children:["\u5b89\u88c5\u5b8c\u6210\u4e4b\u540e\uff0c\u5728",(0,t.jsx)(l.code,{children:"/data/software/module/tools/modules"}),"\u76ee\u5f55\u4e0b\uff0c\u5c31\u6709",(0,t.jsx)(l.code,{children:"module"}),"\u5de5\u5177\u4e86\u3002\u4e0d\u8fc7\u5728",(0,t.jsx)(l.code,{children:"/usr/bin"}),"\u76ee\u5f55\u4e0b\uff0c\u662f\u6ca1\u6709",(0,t.jsx)(l.code,{children:"module"}),"\u8fd9\u4e2a\u547d\u4ee4\u7684\u3002"]}),"\n",(0,t.jsx)(l.p,{children:"\u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff1a"}),"\n",(0,t.jsx)(l.pre,{children:(0,t.jsx)(l.code,{className:"language-PowerShell",children:" source /data/software/module/tools/modules/init/profile.sh\n"})}),"\n",(0,t.jsxs)(l.p,{children:["\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u4f7f\u7528",(0,t.jsx)(l.code,{children:"module"}),"\u547d\u4ee4\u4e86\uff1a"]}),"\n",(0,t.jsx)(l.p,{children:(0,t.jsx)(l.img,{alt:"img",src:n(41406).A+"",width:"1032",height:"821"})})]})}function u(e={}){const{wrapper:l}={...(0,s.R)(),...e.components};return l?(0,t.jsx)(l,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},41406:(e,l,n)=>{n.d(l,{A:()=>t});const t=n.p+"assets/images/-6-1-beffe3fe746fa6ea8e15ede2f693d0f9.PNG"},5409:(e,l,n)=>{n.d(l,{R:()=>c,x:()=>d});var t=n(48318);const s={},o=t.createContext(s);function c(e){const l=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(l):{...l,...e}}),[l,e])}function d(e){let l;return l=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(o.Provider,{value:l},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/56e69d09.a83c09c9.js b/pr-preview/pr-1298/assets/js/56e69d09.a83c09c9.js deleted file mode 100644 index 16ec975784..0000000000 --- a/pr-preview/pr-1298/assets/js/56e69d09.a83c09c9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1909],{52945:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/575ec6fe.98782366.js b/pr-preview/pr-1298/assets/js/575ec6fe.98782366.js deleted file mode 100644 index 3af3162d4e..0000000000 --- a/pr-preview/pr-1298/assets/js/575ec6fe.98782366.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2269],{87457:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>n,default:()=>d,frontMatter:()=>p,metadata:()=>s,toc:()=>c});var o=r(49214),i=r(5409);const p={},n=void 0,s={id:"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-",title:"definition-properties-hometitle-properties-hostnamemap-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometitle-properties-hostnamemap-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default"},next:{title:"definition-properties-hometitle-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties"}},a={},c=[{value:"^.*$ Type",id:"-type",level:2}];function m(e){const t={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>s});var o=r(48318);const i={},p=o.createContext(i);function n(e){const t=o.useContext(p);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),o.createElement(p.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5793c24f.89257d41.js b/pr-preview/pr-1298/assets/js/5793c24f.89257d41.js deleted file mode 100644 index f9e7c45ae5..0000000000 --- a/pr-preview/pr-1298/assets/js/5793c24f.89257d41.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2042],{89562:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>d,metadata:()=>i,toc:()=>t});var l=n(49214),o=n(5409);const d={sidebar_position:5,title:"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd"},c="Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd",i={id:"deploy/config/portal/shell",title:"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd",description:"Shell\u7ec8\u7aef\u652f\u6301\u8f93\u5165\u547d\u4ee4\u8df3\u8f6c\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u8fdb\u884c\u6587\u4ef6\u7684\u4e0a\u4f20\u548c\u4e0b\u8f7d\uff1b\u652f\u6301\u4e0b\u8f7d\u6307\u5b9a\u6587\u4ef6\u3002",source:"@site/docs/deploy/config/portal/shell.md",sourceDirName:"deploy/config/portal",slug:"/deploy/config/portal/shell",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/shell.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd"},sidebar:"deploy",previous:{title:"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters"},next:{title:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard"}},r={},t=[{value:"sopen\u547d\u4ee4",id:"sopen\u547d\u4ee4",level:2},{value:"sup\u547d\u4ee4",id:"sup\u547d\u4ee4",level:2},{value:"sdown\u547d\u4ee4",id:"sdown\u547d\u4ee4",level:2},{value:"sedit\u547d\u4ee4",id:"sedit\u547d\u4ee4",level:2},{value:"\u6ce8\u610f",id:"\u6ce8\u610f",level:2}];function h(e){const s={code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h1,{id:"shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd",children:"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd"}),"\n",(0,l.jsx)(s.p,{children:"Shell\u7ec8\u7aef\u652f\u6301\u8f93\u5165\u547d\u4ee4\u8df3\u8f6c\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u8fdb\u884c\u6587\u4ef6\u7684\u4e0a\u4f20\u548c\u4e0b\u8f7d\uff1b\u652f\u6301\u4e0b\u8f7d\u6307\u5b9a\u6587\u4ef6\u3002"}),"\n",(0,l.jsxs)(s.h2,{id:"sopen\u547d\u4ee4",children:[(0,l.jsx)(s.code,{children:"sopen"}),"\u547d\u4ee4"]}),"\n",(0,l.jsxs)(s.p,{children:["\u8f93\u5165",(0,l.jsx)(s.code,{children:"sopen"}),"\u547d\u4ee4\u540e\uff0c\u4f1a\u8df3\u8f6c\u5230\u6587\u4ef6\u7cfb\u7edf\u7684\u5f53\u524d\u76ee\u5f55\uff0c\u7528\u6237\u53ef\u4ee5\u5728\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u6587\u4ef6\u4e0a\u4f20\u6216\u8005\u4e0b\u8f7d\u3002"]}),"\n",(0,l.jsxs)(s.h2,{id:"sup\u547d\u4ee4",children:[(0,l.jsx)(s.code,{children:"sup"}),"\u547d\u4ee4"]}),"\n",(0,l.jsxs)(s.p,{children:["\u8f93\u5165",(0,l.jsx)(s.code,{children:"sup"}),"\u547d\u4ee4\u540e\uff0c\u60a8\u53ef\u4ee5\u5c06\u672c\u5730\u6587\u4ef6\u4e0a\u4f20\u5230\u5f53\u524d\u8def\u5f84\u4e0b\u3002"]}),"\n",(0,l.jsxs)(s.h2,{id:"sdown\u547d\u4ee4",children:[(0,l.jsx)(s.code,{children:"sdown"}),"\u547d\u4ee4"]}),"\n",(0,l.jsxs)(s.p,{children:["\u8f93\u5165",(0,l.jsx)(s.code,{children:"sdown [\u6587\u4ef6\u540d]"}),"\uff0c\u7528\u6237\u5f53\u524d\u8def\u5f84\u7684\u8be5\u6587\u4ef6\u4f1a\u88ab\u4e0b\u8f7d\u5230\u672c\u5730\uff0c\u76ee\u524d\u4ec5\u652f\u6301\u76f4\u63a5\u8f93\u5165\u5f53\u524d\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u540d\uff0c\u4e0d\u652f\u6301\u76f8\u5bf9\u8def\u5f84\uff0c\u5982\u679c\u9700\u8981\u4e0b\u8f7d\u5176\u4ed6\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u8bf7\u4f7f\u7528",(0,l.jsx)(s.code,{children:"sopen"}),"\u547d\u4ee4\u8df3\u8f6c\u5230\u6587\u4ef6\u7cfb\u7edf\u3002\u5982\u679c\u7528\u6237\u8f93\u5165\u4e86\u76f8\u5bf9\u8def\u5f84\uff0c\u4f1a\u63d0\u793a\u7528\u6237\u4e0d\u80fd\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\u3002"]}),"\n",(0,l.jsx)(s.p,{children:"\u4f7f\u7528\u793a\u4f8b:"}),"\n",(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-bash",children:"sdown hello.txt\n"})}),"\n",(0,l.jsx)(s.p,{children:"\u5982\u679c\u5f53\u524d\u5728B\u76ee\u5f55\u4e0b\uff0c\u9700\u8981\u4e0b\u8f7dA\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\uff1a"}),"\n",(0,l.jsxs)(s.ol,{children:["\n",(0,l.jsxs)(s.li,{children:["\u53ef\u4ee5\u8fdb\u5165A\u76ee\u5f55\uff0c\u7136\u540e",(0,l.jsx)(s.code,{children:"sdown [\u6587\u4ef6\u540d]"}),"\u4e0b\u8f7d"]}),"\n",(0,l.jsxs)(s.li,{children:["\u4e5f\u53ef\u4ee5",(0,l.jsx)(s.code,{children:"sopen"}),"\u8fdb\u5165\u6587\u4ef6\u7cfb\u7edf\u4ee5\u540e\uff0c\u5728\u56fe\u5f62\u754c\u9762\u5207\u6362\u5230A\u76ee\u5f55\u9009\u62e9\u6587\u4ef6\u8fdb\u884c\u4e0b\u8f7d\u3002"]}),"\n"]}),"\n",(0,l.jsxs)(s.h2,{id:"sedit\u547d\u4ee4",children:[(0,l.jsx)(s.code,{children:"sedit"}),"\u547d\u4ee4"]}),"\n",(0,l.jsxs)(s.p,{children:["\u8f93\u5165",(0,l.jsx)(s.code,{children:"sedit [\u6587\u4ef6\u540d]"}),"\u540e\u4f1a\u8df3\u8f6c\u5230\u56fe\u5f62\u754c\u9762\u7684\u6587\u672c\u7f16\u8f91\u5668\u3002"]}),"\n",(0,l.jsx)(s.p,{children:"\u4f7f\u7528\u793a\u4f8b:"}),"\n",(0,l.jsx)(s.pre,{children:(0,l.jsx)(s.code,{className:"language-bash",children:"sedit hello.txt\n"})}),"\n",(0,l.jsx)(s.h2,{id:"\u6ce8\u610f",children:"\u6ce8\u610f"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.code,{children:"sopen"}),"\u3001",(0,l.jsx)(s.code,{children:"sdown [\u6587\u4ef6\u540d]"}),"\u548c",(0,l.jsx)(s.code,{children:"sedit [\u6587\u4ef6\u540d]"}),"\u8fd9\u4e09\u4e2a\u547d\u4ee4\u4ec5\u5728SCOW\u7684Shell\u7ec8\u7aef\u4e2d\u4f7f\u7528\u6709\u6548\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["\u5728\u7cfb\u7edf\u542f\u52a8\u65f6\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0a\u4f20\u5230\u767b\u5f55\u8282\u70b9\u7684",(0,l.jsx)(s.code,{children:"/etc/profile.d/"}),"\u76ee\u5f55\u4e0b\u4e00\u4e2a",(0,l.jsx)(s.code,{children:"scow-shell-file.sh"}),"\u811a\u672c\uff0c\u7528\u4e8e\u5728Shell\u7ec8\u7aef\u4e2d\u8fdb\u884c\u6587\u4ef6\u7cfb\u7edf\u7684\u8df3\u8f6c\u548c\u6587\u4ef6\u7684\u4e0b\u8f7d\u3002\u5982\u679c",(0,l.jsx)(s.code,{children:"/etc/profile.d/"}),"\u76ee\u5f55\u4e0d\u5b58\u5728\u4f1a\u521b\u5efa\u8be5\u76ee\u5f55\u3002"]})]})}function p(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},5409:(e,s,n)=>{n.d(s,{R:()=>c,x:()=>i});var l=n(48318);const o={},d=l.createContext(o);function c(e){const s=l.useContext(d);return l.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),l.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/57ff00fe.1cf128fd.js b/pr-preview/pr-1298/assets/js/57ff00fe.1cf128fd.js deleted file mode 100644 index 74edf3c2a9..0000000000 --- a/pr-preview/pr-1298/assets/js/57ff00fe.1cf128fd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2428],{19649:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>c,contentTitle:()=>p,default:()=>a,frontMatter:()=>i,metadata:()=>n,toc:()=>d});var t=s(49214),o=s(5409);const i={},p=void 0,n={id:"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password",title:"definition-properties-fetchjobs-properties-db-properties-password",description:"password Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-db-properties-host",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host"},next:{title:"definition-properties-fetchjobs-properties-db-properties-port",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port"}},c={},d=[{value:"password Type",id:"password-type",level:2}];function f(e){const r={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"password-type",children:"password Type"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})})]})}function a(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(f,{...e})}):f(e)}},5409:(e,r,s)=>{s.d(r,{R:()=>p,x:()=>n});var t=s(48318);const o={},i=t.createContext(o);function p(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:p(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/588ed5a0.2ff12486.js b/pr-preview/pr-1298/assets/js/588ed5a0.2ff12486.js deleted file mode 100644 index ab9ec9f9bd..0000000000 --- a/pr-preview/pr-1298/assets/js/588ed5a0.2ff12486.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7055],{36736:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=n(49214),s=n(5409);const r={slug:"docs-online",title:"scow\u6587\u6863\u4e0a\u7ebf",authors:["chenjunda"],tags:["scow"]},c=void 0,a={permalink:"/SCOW/pr-preview/pr-1298/blog/docs-online",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2022-04-01-docs-online.md",source:"@site/blog/2022-04-01-docs-online.md",title:"scow\u6587\u6863\u4e0a\u7ebf",description:"scow\u6587\u6863\u7f51\u7ad9\u4e0a\u7ebf\uff01",date:"2022-04-01T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"}],readingTime:.035,hasTruncateMarker:!1,authors:[{name:"Chen Junda",title:"Developer",url:"https://ddadaal.me",imageURL:"https://avatars.githubusercontent.com/u/8363856",key:"chenjunda"}],frontMatter:{slug:"docs-online",title:"scow\u6587\u6863\u4e0a\u7ebf",authors:["chenjunda"],tags:["scow"]},unlisted:!1,prevItem:{title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",permalink:"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment"}},i={authorsImageUrls:[void 0]},l=[];function u(e){const t={p:"p",...(0,s.R)(),...e.components};return(0,o.jsx)(t.p,{children:"scow\u6587\u6863\u7f51\u7ad9\u4e0a\u7ebf\uff01"})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>a});var o=n(48318);const s={},r=o.createContext(s);function c(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/59894842.33cf6c89.js b/pr-preview/pr-1298/assets/js/59894842.33cf6c89.js deleted file mode 100644 index 3bd584de1f..0000000000 --- a/pr-preview/pr-1298/assets/js/59894842.33cf6c89.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4602],{24077:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>a,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var i=n(49214),r=n(5409);const l={},s=void 0,o={id:"refs/config/portal/definition-properties-hometext",title:"definition-properties-hometext",description:"homeText Type",source:"@site/docs/refs/config/portal/definition-properties-hometext.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometext.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometext-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap"},next:{title:"definition-properties-hometitle-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext"}},d={},p=[{value:"homeText Type",id:"hometext-type",level:2},{value:"defaultText",id:"defaulttext",level:2},{value:"defaultText Type",id:"defaulttext-type",level:3},{value:"defaultText Default Value",id:"defaulttext-default-value",level:3},{value:"hostnameMap",id:"hostnamemap",level:2},{value:"hostnameMap Type",id:"hostnamemap-type",level:3},{value:"hostnameMap Default Value",id:"hostnamemap-default-value",level:3}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"hometext-type",children:"homeText Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",children:"Details"}),")"]}),"\n",(0,i.jsx)(t.h1,{id:"hometext-properties",children:"homeText Properties"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"#defaulttext",children:"defaultText"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext",title:"undefined#/properties/homeText/properties/defaultText",children:"Untitled schema"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"#hostnamemap",children:"hostnameMap"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"object"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",title:"undefined#/properties/homeText/properties/hostnameMap",children:"Untitled schema"})})]})]})]}),"\n",(0,i.jsx)(t.h2,{id:"defaulttext",children:"defaultText"}),"\n",(0,i.jsx)(t.p,{children:"\u9ed8\u8ba4\u4e3b\u9875\u6587\u672c"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"defaultText"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Type: ",(0,i.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["defined in: ",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext",title:"undefined#/properties/homeText/properties/defaultText",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"defaulttext-type",children:"defaultText Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})}),"\n",(0,i.jsx)(t.h3,{id:"defaulttext-default-value",children:"defaultText Default Value"}),"\n",(0,i.jsx)(t.p,{children:"The default value is:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'"Super Computing on Web"\n'})}),"\n",(0,i.jsx)(t.h2,{id:"hostnamemap",children:"hostnameMap"}),"\n",(0,i.jsx)(t.p,{children:"\u6839\u636e\u57df\u540d(hostname\uff0c\u4e0d\u5305\u62ecport)\u4e0d\u540c\uff0c\u663e\u793a\u5728\u4e3b\u9875\u4e0a\u7684\u6587\u672c"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"hostnameMap"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Type: ",(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",children:"Details"}),")"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["defined in: ",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",title:"undefined#/properties/homeText/properties/hostnameMap",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",children:"Details"}),")"]}),"\n",(0,i.jsx)(t.h3,{id:"hostnamemap-default-value",children:"hostnameMap Default Value"}),"\n",(0,i.jsx)(t.p,{children:"The default value is:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:"{}\n"})})]})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>o});var i=n(48318);const r={},l=i.createContext(r);function s(e){const t=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5a3a23f4.f44dcda9.js b/pr-preview/pr-1298/assets/js/5a3a23f4.f44dcda9.js deleted file mode 100644 index 981a5ddc5a..0000000000 --- a/pr-preview/pr-1298/assets/js/5a3a23f4.f44dcda9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[806],{79436:s=>{s.exports=JSON.parse('{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow","allTagsPath":"/SCOW/pr-preview/pr-1298/blog/tags","count":6,"unlisted":false}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5a872021.030b9258.js b/pr-preview/pr-1298/assets/js/5a872021.030b9258.js deleted file mode 100644 index 08e548a067..0000000000 --- a/pr-preview/pr-1298/assets/js/5a872021.030b9258.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2575],{22273:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>f,contentTitle:()=>s,default:()=>u,frontMatter:()=>n,metadata:()=>p,toc:()=>c});var o=r(49214),i=r(5409);const n={},s=void 0,p={id:"refs/config/ui/definition-properties-footer-properties-defaulttext",title:"definition-properties-footer-properties-defaulttext",description:"defaultText Type",source:"@site/docs/refs/config/ui/definition-properties-footer-properties-defaulttext.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-footer-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-footer-properties-defaulttext.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"ui",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/"},next:{title:"definition-properties-footer-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-"}},f={},c=[{value:"defaultText Type",id:"defaulttext-type",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"defaulttext-type",children:"defaultText Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>p});var o=r(48318);const i={},n=o.createContext(i);function s(e){const t=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5a8eccb4.982a6941.js b/pr-preview/pr-1298/assets/js/5a8eccb4.982a6941.js deleted file mode 100644 index 760c1edfa7..0000000000 --- a/pr-preview/pr-1298/assets/js/5a8eccb4.982a6941.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[684],{75703:e=>{e.exports=JSON.parse('{"title":"\u5feb\u901f\u4f53\u9a8c","description":"\u4ece0\u5f00\u59cb\u90e8\u7f72\u4e00\u4e2a\u7b80\u5355\u7684\u96c6\u7fa4\u6765\u5feb\u901f\u4f53\u9a8cSCOW\u7684\u529f\u80fd\u3002","slug":"/category/\u5feb\u901f\u4f53\u9a8c","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c","navigation":{"previous":{"title":"\u67b6\u6784","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/architecture/"},"next":{"title":"vagrant","permalink":"/SCOW/pr-preview/pr-1298/docs/category/vagrant"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5b053c0b.f3b45d07.js b/pr-preview/pr-1298/assets/js/5b053c0b.f3b45d07.js deleted file mode 100644 index 20174e1023..0000000000 --- a/pr-preview/pr-1298/assets/js/5b053c0b.f3b45d07.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6467],{38355:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>p,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>f});var r=o(49214),n=o(5409);const i={},p=void 0,s={id:"refs/config/portal/definition-properties-hometext-properties-hostnamemap-default",title:"definition-properties-hometext-properties-hostnamemap-default",description:"default Type",source:"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometext-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext"},next:{title:"definition-properties-hometext-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-"}},a={},f=[{value:"default Type",id:"default-type",level:2}];function d(e){const t={h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"default-type",children:"default Type"}),"\n",(0,r.jsx)(t.p,{children:"unknown"})]})}function c(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5409:(e,t,o)=>{o.d(t,{R:()=>p,x:()=>s});var r=o(48318);const n={},i=r.createContext(n);function p(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:p(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5b3bec20.29e6b854.js b/pr-preview/pr-1298/assets/js/5b3bec20.29e6b854.js deleted file mode 100644 index 42e8ef7f4c..0000000000 --- a/pr-preview/pr-1298/assets/js/5b3bec20.29e6b854.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3151],{88088:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>u,frontMatter:()=>s,metadata:()=>p,toc:()=>f});var r=i(49214),o=i(5409);const s={},n=void 0,p={id:"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default",title:"definition-properties-fetchjobs-properties-periodicfetch-default",description:"default Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-db",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db"},next:{title:"definition-properties-fetchjobs-properties-periodicfetch-properties-cron",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron"}},c={},f=[{value:"default Type",id:"default-type",level:2}];function d(e){const t={h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"default-type",children:"default Type"}),"\n",(0,r.jsx)(t.p,{children:"unknown"})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>n,x:()=>p});var r=i(48318);const o={},s=r.createContext(o);function n(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5c19d128.1e544212.js b/pr-preview/pr-1298/assets/js/5c19d128.1e544212.js deleted file mode 100644 index 00fc78a654..0000000000 --- a/pr-preview/pr-1298/assets/js/5c19d128.1e544212.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5842],{40831:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>p,toc:()=>a});var i=r(49214),s=r(5409);const n={},o=void 0,p={id:"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title",title:"definition-patternproperties--properties-extras-items-properties-title",description:"title Type",source:"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-patternproperties--properties-extras-items-properties-content",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content"},next:{title:"definition-patternproperties--properties-extras-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items"}},c={},a=[{value:"title Type",id:"title-type",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"title-type",children:"title Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>p});var i=r(48318);const s={},n=i.createContext(s);function o(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5c336a8b.598d02a9.js b/pr-preview/pr-1298/assets/js/5c336a8b.598d02a9.js deleted file mode 100644 index 5f0b1adcae..0000000000 --- a/pr-preview/pr-1298/assets/js/5c336a8b.598d02a9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5208],{74685:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>p,contentTitle:()=>d,default:()=>h,frontMatter:()=>n,metadata:()=>l,toc:()=>c});var s=r(49214),t=r(5409);const n={},d=void 0,l={id:"refs/config/mis/definition-properties-fetchjobs-properties-db",title:"definition-properties-fetchjobs-properties-db",description:"db Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-db",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-db.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-db-properties-user",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user"},next:{title:"definition-properties-fetchjobs-properties-periodicfetch-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default"}},p={},c=[{value:"db Type",id:"db-type",level:2},{value:"host",id:"host",level:2},{value:"host Type",id:"host-type",level:3},{value:"port",id:"port",level:2},{value:"port Type",id:"port-type",level:3},{value:"user",id:"user",level:2},{value:"user Type",id:"user-type",level:3},{value:"password",id:"password",level:2},{value:"password Type",id:"password-type",level:3},{value:"dbName",id:"dbname",level:2},{value:"dbName Type",id:"dbname-type",level:3},{value:"tableName",id:"tablename",level:2},{value:"tableName Type",id:"tablename-type",level:3}];function o(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h2,{id:"db-type",children:"db Type"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"object"})," (",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",children:"Details"}),")"]}),"\n",(0,s.jsx)(i.h1,{id:"db-properties",children:"db Properties"}),"\n",(0,s.jsxs)(i.table,{children:[(0,s.jsx)(i.thead,{children:(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,s.jsxs)(i.tbody,{children:[(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#host",children:"host"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"string"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host",title:"undefined#/properties/fetchJobs/properties/db/properties/host",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#port",children:"port"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"integer"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port",title:"undefined#/properties/fetchJobs/properties/db/properties/port",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#user",children:"user"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"string"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user",title:"undefined#/properties/fetchJobs/properties/db/properties/user",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#password",children:"password"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"string"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password",title:"undefined#/properties/fetchJobs/properties/db/properties/password",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#dbname",children:"dbName"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"string"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname",title:"undefined#/properties/fetchJobs/properties/db/properties/dbName",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#tablename",children:"tableName"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"string"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename",title:"undefined#/properties/fetchJobs/properties/db/properties/tableName",children:"Untitled schema"})})]})]})]}),"\n",(0,s.jsx)(i.h2,{id:"host",children:"host"}),"\n",(0,s.jsx)(i.p,{children:"job_table\u6570\u636e\u5e93\u5730\u5740"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"host"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host",title:"undefined#/properties/fetchJobs/properties/db/properties/host",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"host-type",children:"host Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"string"})}),"\n",(0,s.jsx)(i.h2,{id:"port",children:"port"}),"\n",(0,s.jsx)(i.p,{children:"job_table\u6570\u636e\u5e93\u7aef\u53e3"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"port"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"integer"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port",title:"undefined#/properties/fetchJobs/properties/db/properties/port",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"port-type",children:"port Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"integer"})}),"\n",(0,s.jsx)(i.h2,{id:"user",children:"user"}),"\n",(0,s.jsx)(i.p,{children:"job_table\u6570\u636e\u5e93\u7528\u6237\u540d"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"user"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user",title:"undefined#/properties/fetchJobs/properties/db/properties/user",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"user-type",children:"user Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"string"})}),"\n",(0,s.jsx)(i.h2,{id:"password",children:"password"}),"\n",(0,s.jsx)(i.p,{children:"job_table\u6570\u636e\u5e93\u5bc6\u7801"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"password"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password",title:"undefined#/properties/fetchJobs/properties/db/properties/password",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"password-type",children:"password Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"string"})}),"\n",(0,s.jsx)(i.h2,{id:"dbname",children:"dbName"}),"\n",(0,s.jsx)(i.p,{children:"job_table\u6570\u636e\u5e93\u540d"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"dbName"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname",title:"undefined#/properties/fetchJobs/properties/db/properties/dbName",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"dbname-type",children:"dbName Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"string"})}),"\n",(0,s.jsx)(i.h2,{id:"tablename",children:"tableName"}),"\n",(0,s.jsx)(i.p,{children:"job_table\u4e2d\u6e90\u6570\u636e\u6240\u5728\u7684\u8868\u540d"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"tableName"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename",title:"undefined#/properties/fetchJobs/properties/db/properties/tableName",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"tablename-type",children:"tableName Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"string"})})]})}function h(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},5409:(e,i,r)=>{r.d(i,{R:()=>d,x:()=>l});var s=r(48318);const t={},n=s.createContext(t);function d(e){const i=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5c672f9b.669af07a.js b/pr-preview/pr-1298/assets/js/5c672f9b.669af07a.js deleted file mode 100644 index 907365710a..0000000000 --- a/pr-preview/pr-1298/assets/js/5c672f9b.669af07a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[455],{39338:(n,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var t=o(49214),s=o(5409);const r={sidebar_position:2,title:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"},c="\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",i={id:"deploy/config/cluster-config",title:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",description:"\u5bf9\u4e8e\u6bcf\u4e2a\u9700\u8981\u8fdb\u884c\u90e8\u7f72\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u5728config/clusters\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2a{\u96c6\u7fa4ID}/config.yml\uff08\u6216{\u96c6\u7fa4ID}.yml\uff09\u6587\u4ef6\uff0c\u5e76\u7f16\u5199\u96c6\u7fa4\u7684\u4fe1\u606f\u3002\u5f53\u60a8\u7684\u96c6\u7fa4\u4fe1\u606f\u4fee\u6539\u540e\uff0c\u60a8\u9700\u8981\u540c\u65f6\u624b\u52a8\u4fee\u6539\u5bf9\u5e94\u7684\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u3002",source:"@site/docs/deploy/config/cluster-config.md",sourceDirName:"deploy/config",slug:"/deploy/config/cluster-config",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/cluster-config.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"},sidebar:"deploy",previous:{title:"\u914d\u7f6e\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/"},next:{title:"\u8ba4\u8bc1",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1"}},l={},d=[{value:"\u6ce8\u610f",id:"\u6ce8\u610f",level:2}];function a(n){const e={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,s.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{id:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",children:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,t.jsxs)(e.p,{children:["\u5bf9\u4e8e\u6bcf\u4e2a\u9700\u8981\u8fdb\u884c\u90e8\u7f72\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u5728",(0,t.jsx)(e.code,{children:"config/clusters"}),"\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2a",(0,t.jsx)(e.code,{children:"{\u96c6\u7fa4ID}/config.yml"}),"\uff08\u6216",(0,t.jsx)(e.code,{children:"{\u96c6\u7fa4ID}.yml"}),"\uff09\u6587\u4ef6\uff0c\u5e76\u7f16\u5199\u96c6\u7fa4\u7684\u4fe1\u606f\u3002\u5f53\u60a8\u7684\u96c6\u7fa4\u4fe1\u606f\u4fee\u6539\u540e\uff0c\u60a8\u9700\u8981\u540c\u65f6\u624b\u52a8\u4fee\u6539\u5bf9\u5e94\u7684\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u3002"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-yaml",metastring:'title="config/clusters/hpc01/config.yml"',children:"# \u6b64\u6587\u4ef6\u4e3ahpc01.yml\uff0c\u5bf9\u5e94\u7684\u96c6\u7fa4ID\u4e3ahpc01\n\n# \u96c6\u7fa4\u663e\u793a\u540d\u79f0\ndisplayName: hpc01Name\n\n# \u96c6\u7fa4\u9009\u62e9\u65f6\u6392\u5e8f\u7684\u4f18\u5148\u7ea7\uff0c\u6570\u5b57\u8d8a\u5c0f\u4f18\u5148\u7ea7\u8d8a\u9ad8\uff0c\u9ed8\u8ba4\u4f18\u5148\u7ea7\u6700\u4f4e\npriority: 0\n\n# \u8c03\u5ea6\u5668\u9002\u914d\u5668\u5730\u5740(ip\u5730\u5740:\u7aef\u53e3\u53f7)\nadapterUrl: localhost:8972\n\nloginNodes:\n # \u767b\u5f55\u8282\u70b9\u5c55\u793a\u540d\u79f0\n - name: login01\n # \u5404\u4e2a\u767b\u5f55\u8282\u70b9\u7684IP\u6216\u8005\u57df\u540d\uff0c\u4e0d\u80fd\u91cd\u590d\n # \u5982\u679c\u8bbe\u7f6e\u7684\u662f\u57df\u540d\uff0c\u8bf7\u786e\u8ba4\u6b64\u8282\u70b9\u7684/etc/hosts\u4e2d\u5305\u542b\u4e86\u57df\u540d\u5230IP\u7684\u89e3\u6790\u4fe1\u606f\n # \u5982\u679c\u90e8\u7f72\u4e86\u591a\u96c6\u7fa4\uff0c\u9700\u4fdd\u8bc1\u591a\u96c6\u7fa4\u4e0b\u767b\u5f55\u8282\u70b9\u7684IP\u6216\u8005\u57df\u540d\u4e5f\u4e0d\u80fd\u91cd\u590d\n address: 192.168.88.102\n - name: login02\n address: 192.168.88.103\n\n# \u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd\nloginDesktop:\n # \u662f\u5426\u542f\u7528\u684c\u9762\u529f\u80fd\n enabled: true\n\n # \u684c\u9762\n wms: \n # \u684c\u9762\u540d\u548c\u5bf9\u5e94\u7684wm\u503c\u3002\u89c1\u6587\u6863\n - name: Xfce\n wm: xfce\n\n # \u5355\u4e2a\u767b\u5f55\u8282\u70b9\u6700\u591a\u542f\u52a8\u591a\u5c11\u4e2a\u684c\u9762\u8282\u70b9\n maxDesktops: 3\n\n # \u5c06\u521b\u5efa\u7684\u767b\u5f55\u8282\u70b9\u684c\u9762\u4fe1\u606f\u7684\u4fdd\u5b58\u5230\u4ec0\u4e48\u4f4d\u7f6e\u3002\u76f8\u5bf9\u4e8e\u7528\u6237\u7684\u5bb6\u76ee\u5f55\n desktopsDir: scow/desktops\n\n# TurboVNC\u7684\u5b89\u88c5\u8def\u5f84\nturboVNCPath: /opt/TurboVNC\n\n# \u8de8\u96c6\u7fa4\u4f20\u8f93\u6a21\u5757\uff0c\u53ef\u9009\u529f\u80fd\ncrossClusterFileTransfer:\n # \u4e0d\u542f\u7528\u8de8\u96c6\u7fa4\u4f20\u8f93\u529f\u80fd\u53ef\u4ee5\u8bbe\u7f6e\u4e3afalse\n enabled: true\n # \u4f20\u8f93\u8282\u70b9\u7684\u5730\u5740(ip\u5730\u5740:\u7aef\u53e3\u53f7)\n transferNode: localhost:22222\n\n# \u96c6\u7fa4\u5728HPC\u6216\u662f\u5426\u542f\u7528\uff0c\u9ed8\u8ba4\u4e3atrue\nhpc:\n enabled: true\n\n# \u96c6\u7fa4\u5728AI\u6216\u662f\u5426\u542f\u7528\uff0c\u9ed8\u8ba4\u4e3afalse\nai:\n enabled: false\n"})}),"\n",(0,t.jsx)(e.h2,{id:"\u6ce8\u610f",children:"\u6ce8\u610f"}),"\n",(0,t.jsxs)(e.p,{children:["\u96c6\u7fa4\u914d\u7f6e\u91cc\u7684\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd\u548cTurboVNC\u7684\u5b89\u88c5\u8def\u5f84\u914d\u7f6e\u4e3a\u8be5\u96c6\u7fa4\u7279\u6709\uff0c\u5982\u4e0d\u9700\u8981\u7279\u6b8a\u914d\u7f6e\u8be5\u96c6\u7fa4\u7684\u8fd9\u4e9b\u529f\u80fd\uff0c\u53ef\u5728",(0,t.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro",children:"\u95e8\u6237\u7cfb\u7edf"}),"\u8fdb\u884c\u7edf\u4e00\u914d\u7f6e\uff1b\u82e5\u5728\u96c6\u7fa4\u4e0b\u914d\u7f6e\u4ee5\u4e0a\u529f\u80fd\uff0c\u5728\u8be5\u96c6\u7fa4\u5185\u5c06\u4f1a\u8986\u76d6\u95e8\u6237\u7cfb\u7edf\u4e0b\u7684\u914d\u7f6e\u3002\n\u96c6\u7fa4\u914d\u7f6e\u91cc\u7684\u767b\u5f55\u8282\u70b9\u7684IP\u6216\u8005\u57df\u540d\u5fc5\u987b\u552f\u4e00\u3002\u5982\u679c\u90e8\u7f72\u4e86\u5355\u96c6\u7fa4\u591a\u767b\u5f55\u8282\u70b9\u6216\u8005\u591a\u96c6\u7fa4\uff0c\u9700\u4fdd\u8bc1\u6240\u6709\u767b\u5f55\u8282\u70b9\u7684IP\u6216\u8005\u57df\u540d\u4e0d\u80fd\u91cd\u590d\u3002"]})]})}function p(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(a,{...n})}):a(n)}},5409:(n,e,o)=>{o.d(e,{R:()=>c,x:()=>i});var t=o(48318);const s={},r=t.createContext(s);function c(n){const e=t.useContext(r);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function i(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:c(n.components),t.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5cdb811f.6042b7d7.js b/pr-preview/pr-1298/assets/js/5cdb811f.6042b7d7.js deleted file mode 100644 index 17076968a3..0000000000 --- a/pr-preview/pr-1298/assets/js/5cdb811f.6042b7d7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5641],{8497:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var s=o(49214),n=o(5409);const i={sidebar_position:8,title:"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b"},c="\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b",r={id:"deploy/config/customization/custom-charge-types",title:"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b",description:"\u5f53\u7ba1\u7406\u5458\u6216\u8d22\u52a1\u4eba\u5458\u5728\u7ba1\u7406\u7cfb\u7edf\u4e0b\u67e5\u8be2\u6d88\u8d39\u5217\u8868\u65f6\uff0c\u7cfb\u7edf\u652f\u6301\u6309\u6d88\u8d39\u7c7b\u578b\u8fdb\u884c\u67e5\u8be2\u7ed3\u679c\u8fc7\u6ee4\u3002",source:"@site/docs/deploy/config/customization/custom-charge-types.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/custom-charge-types",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/custom-charge-types.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,title:"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b"},sidebar:"deploy",previous:{title:"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern"},next:{title:"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata"}},a={},p=[];function d(e){const t={a:"a",code:"code",h1:"h1",img:"img",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b",children:"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b"}),"\n",(0,s.jsxs)(t.p,{children:["\u5f53\u7ba1\u7406\u5458\u6216\u8d22\u52a1\u4eba\u5458\u5728\u7ba1\u7406\u7cfb\u7edf\u4e0b\u67e5\u8be2\u6d88\u8d39\u5217\u8868\u65f6\uff0c\u7cfb\u7edf\u652f\u6301\u6309\u6d88\u8d39\u7c7b\u578b\u8fdb\u884c\u67e5\u8be2\u7ed3\u679c\u8fc7\u6ee4\u3002\n\u5f53\u524d\u7ba1\u7406\u7cfb\u7edf\u4e0b\u9ed8\u8ba4\u6d88\u8d39\u7c7b\u578b\u5305\u62ecSCOW\u5df2\u914d\u7f6e\u7684",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype",children:"jobChargeType"}),", ",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype",children:"changeJobPriceType"}),'\u53ca\u9644\u52a0\u7c7b\u578b"\u5176\u4ed6"\u3002\n',(0,s.jsx)(t.img,{alt:"\u7ba1\u7406\u7cfb\u7edf\u9ed8\u8ba4\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b\u793a\u4f8b",src:o(16729).A+"",width:"1907",height:"387"})]}),"\n",(0,s.jsxs)(t.p,{children:["\u5982\u679c\u60a8\u6240\u90e8\u7f72\u7684SCOW\u5b9e\u73b0\u4e86",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies",children:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219"}),"\u6216\u63a5\u5165\u7b2c\u4e09\u65b9\u4f7f\u7528\u4e86SCOW\u6263\u8d39\u7cfb\u7edf\u7684\u670d\u52a1\uff0c\u90a3\u4e48\u53ef\u80fd\u60a8\u6240\u4f7f\u7528\u7684SCOW\u5305\u542b\u4e0a\u8ff0\u4ee5\u5916\u7684\u6d88\u8d39\u7c7b\u578b\u3002\n\u8fd9\u79cd\u60c5\u51b5\u7ba1\u7406\u5458\u53ef\u4ee5\u901a\u8fc7\u5728",(0,s.jsx)(t.code,{children:"config/mis.yaml"}),"\u4e0b\u589e\u52a0\u7ba1\u7406\u7cfb\u7edf\u53ef\u9009\u914d\u7f6e",(0,s.jsx)(t.code,{children:"customChargeTypes"}),"\u6765\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b\u3002"]}),"\n",(0,s.jsx)(t.p,{children:"\u914d\u7f6e\uff1a"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'\n# \u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b\uff0c\u53ef\u9009\u586b\n# \u586b\u5199\u683c\u5f0f\u4e3a\u5b57\u7b26\u4e32\u5217\u8868\ncustomChargeTypes: ["\u6708\u79df"\uff0c"\u5b58\u50a8\u8d39"]\n\n'})}),"\n",(0,s.jsxs)(t.p,{children:["\u5f53\u7ba1\u7406\u5458\u5728config/mis.yaml\u4e0b\u589e\u52a0\u4e0a\u8ff0\u914d\u7f6e\u540e\uff0c\u5728\u6d88\u8d39\u5217\u8868\u4e2d\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b\u5982\u4e0b\u3002\n",(0,s.jsx)(t.img,{alt:"\u7ba1\u7406\u7cfb\u7edf\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b\u793a\u4f8b",src:o(50146).A+"",width:"1890",height:"409"})]})]})}function m(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},16729:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/charge_types1-b1aa4e993bfeea723e39e4ee7872d9a3.png"},50146:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/charge_types2-97acb82af7a82f8a425ea3b4290a638a.png"},5409:(e,t,o)=>{o.d(t,{R:()=>c,x:()=>r});var s=o(48318);const n={},i=s.createContext(n);function c(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5e95c892.be8e586c.js b/pr-preview/pr-1298/assets/js/5e95c892.be8e586c.js deleted file mode 100644 index ac180456fc..0000000000 --- a/pr-preview/pr-1298/assets/js/5e95c892.be8e586c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9647],{51656:(s,e,c)=>{c.r(e),c.d(e,{default:()=>t});c(48318);var r=c(46601),u=c(30763),a=c(83682),o=c(73153),d=c(68665),n=c(49214);function t(s){return(0,n.jsx)(u.e3,{className:(0,r.A)(a.G.wrapper.docsPages),children:(0,n.jsx)(d.A,{children:(0,o.v)(s.route.routes)})})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5f88ad0a.5b9600a4.js b/pr-preview/pr-1298/assets/js/5f88ad0a.5b9600a4.js deleted file mode 100644 index 0698d04bcd..0000000000 --- a/pr-preview/pr-1298/assets/js/5f88ad0a.5b9600a4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[116],{5467:(e,p,r)=>{r.r(p),r.d(p,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var i=r(49214),n=r(5409);const o={sidebar_position:1,title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a"},s="\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",c={id:"deploy/config/portal/apps/intro",title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",description:"\u53c2\u8003\u6587\u6863\u7b80\u8981\u4e86\u89e3\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd\u3002",source:"@site/docs/deploy/config/portal/apps/intro.md",sourceDirName:"deploy/config/portal/apps",slug:"/deploy/config/portal/apps/intro",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a"},sidebar:"deploy",previous:{title:"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro"},next:{title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app"}},l={},a=[];function t(e){const p={a:"a",h1:"h1",img:"img",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(p.h1,{id:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",children:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a"}),"\n",(0,i.jsxs)(p.p,{children:["\u53c2\u8003",(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/info/portal/app",children:"\u6587\u6863"}),"\u7b80\u8981\u4e86\u89e3\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd\u3002"]}),"\n",(0,i.jsxs)(p.ul,{children:["\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app",children:"\u914d\u7f6eVNC\u7c7b\u5e94\u7528"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app",children:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",children:"\u914d\u7f6e\u8868\u5355"})}),"\n",(0,i.jsxs)(p.li,{children:["\u5df2\u6709\u4ea4\u4e92\u5f0f\u5e94\u7528","\n",(0,i.jsxs)(p.ul,{children:["\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica/",children:"Baltamatica"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop/",children:"Desktop"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs/",children:"Emacs"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv/",children:"IGV"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/",children:"Jupyter"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab/",children:"JupyterLab"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab/",children:"Matlab"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave/",children:"Octave"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion/",children:"Relion"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio/",children:"RStudio"})}),"\n",(0,i.jsx)(p.li,{children:(0,i.jsx)(p.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode/",children:"VSCode"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(p.h1,{id:"\u5b9e\u73b0\u539f\u7406",children:"\u5b9e\u73b0\u539f\u7406"}),"\n",(0,i.jsx)(p.p,{children:(0,i.jsx)(p.img,{alt:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u5b9e\u73b0\u539f\u7406\u7b80\u56fe",src:r(56670).A+"",width:"858",height:"522"})})]})}function d(e={}){const{wrapper:p}={...(0,n.R)(),...e.components};return p?(0,i.jsx)(p,{...e,children:(0,i.jsx)(t,{...e})}):t(e)}},56670:(e,p,r)=>{r.d(p,{A:()=>i});const i=r.p+"assets/images/app-56ad59efc29b7ccb56acaaf895950d2e.png"},5409:(e,p,r)=>{r.d(p,{R:()=>s,x:()=>c});var i=r(48318);const n={},o=i.createContext(n);function s(e){const p=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(p):{...p,...e}}),[p,e])}function c(e){let p;return p=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),i.createElement(o.Provider,{value:p},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/5fd64547.08da49fd.js b/pr-preview/pr-1298/assets/js/5fd64547.08da49fd.js deleted file mode 100644 index 2ba95da472..0000000000 --- a/pr-preview/pr-1298/assets/js/5fd64547.08da49fd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[478],{50579:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>p,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>a});var i=t(49214),s=t(5409);const o={},p=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos",title:"definition-properties-slurm-properties-partitions-patternproperties--properties-qos",description:"qos Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-"}},c={},a=[{value:"qos Type",id:"qos-type",level:2}];function u(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"qos-type",children:"qos Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string[]"})})]})}function d(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>p,x:()=>n});var i=t(48318);const s={},o=i.createContext(s);function p(e){const r=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:p(e.components),i.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/605fff6e.38be1d88.js b/pr-preview/pr-1298/assets/js/605fff6e.38be1d88.js deleted file mode 100644 index 619e7e9098..0000000000 --- a/pr-preview/pr-1298/assets/js/605fff6e.38be1d88.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7759],{30428:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>f,frontMatter:()=>i,metadata:()=>p,toc:()=>a});var n=r(49214),s=r(5409);const i={},o=void 0,p={id:"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content",title:"definition-patternproperties--properties-extras-items-properties-content",description:"content Type",source:"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-patternproperties--properties-clustercomment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment"},next:{title:"definition-patternproperties--properties-extras-items-properties-title",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title"}},c={},a=[{value:"content Type",id:"content-type",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content-type",children:"content Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function f(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>p});var n=r(48318);const s={},i=n.createContext(s);function o(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6091f775.8f85e7e4.js b/pr-preview/pr-1298/assets/js/6091f775.8f85e7e4.js deleted file mode 100644 index 7228ae206e..0000000000 --- a/pr-preview/pr-1298/assets/js/6091f775.8f85e7e4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3362],{30666:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var n=i(49214),o=i(5409);const s={},r=void 0,p={id:"refs/config/app/definition-properties-nodes-items",title:"definition-properties-nodes-items",description:"items Type",source:"@site/docs/refs/config/app/definition-properties-nodes-items.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-nodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-nodes-items.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-name",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name"},next:{title:"definition-properties-nodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes"}},c={},d=[{value:"items Type",id:"items-type",level:2}];function f(e){const t={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"items-type",children:"items Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>p});var n=i(48318);const o={},s=n.createContext(o);function r(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6144ba72.7d036465.js b/pr-preview/pr-1298/assets/js/6144ba72.7d036465.js deleted file mode 100644 index 2846d06b23..0000000000 --- a/pr-preview/pr-1298/assets/js/6144ba72.7d036465.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[756],{30905:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=r(49214),s=r(5409);const o={},i=void 0,c={id:"refs/config/clusterTexts/definition-patternproperties--properties-clustercomment",title:"definition-patternproperties--properties-clustercomment",description:"clusterComment Type",source:"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"clusterTexts",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/"},next:{title:"definition-patternproperties--properties-extras-items-properties-content",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content"}},p={},u=[{value:"clusterComment Type",id:"clustercomment-type",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"clustercomment-type",children:"clusterComment Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>c});var n=r(48318);const s={},o=n.createContext(s);function i(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/618c6699.dacef963.js b/pr-preview/pr-1298/assets/js/618c6699.dacef963.js deleted file mode 100644 index 8cab10a89f..0000000000 --- a/pr-preview/pr-1298/assets/js/618c6699.dacef963.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9001],{44677:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>p,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>o});var i=t(49214),n=t(5409);const s={},p=void 0,l={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",title:"definition-properties-slurm-properties-partitions-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-qos",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties"}},d={},o=[{value:"^.*$ Type",id:"-type",level:2},{value:"mem",id:"mem",level:2},{value:"mem Type",id:"mem-type",level:3},{value:"cores",id:"cores",level:2},{value:"cores Type",id:"cores-type",level:3},{value:"gpus",id:"gpus",level:2},{value:"gpus Type",id:"gpus-type",level:3},{value:"nodes",id:"nodes",level:2},{value:"nodes Type",id:"nodes-type",level:3},{value:"qos",id:"qos",level:2},{value:"qos Type",id:"qos-type",level:3},{value:"comment",id:"comment",level:2},{value:"comment Type",id:"comment-type",level:3}];function c(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,i.jsxs)(r.p,{children:[(0,i.jsx)(r.code,{children:"object"})," (",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",children:"Details"}),")"]}),"\n",(0,i.jsx)(r.h1,{id:"-properties",children:"^.*$ Properties"}),"\n",(0,i.jsxs)(r.table,{children:[(0,i.jsx)(r.thead,{children:(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(r.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsxs)(r.tbody,{children:[(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"#mem",children:"mem"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"integer"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/mem",children:"Untitled schema"})})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"#cores",children:"cores"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"integer"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/cores",children:"Untitled schema"})})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"#gpus",children:"gpus"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"integer"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/gpus",children:"Untitled schema"})})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"#nodes",children:"nodes"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"integer"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/nodes",children:"Untitled schema"})})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"#qos",children:"qos"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"array"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/qos",children:"Untitled schema"})})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"#comment",children:"comment"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.code,{children:"string"})}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(r.td,{style:{textAlign:"left"},children:(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/comment",children:"Untitled schema"})})]})]})]}),"\n",(0,i.jsx)(r.h2,{id:"mem",children:"mem"}),"\n",(0,i.jsx)(r.p,{children:"\u5185\u5b58\uff0c\u5355\u4f4dM"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"mem"})}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["Type: ",(0,i.jsx)(r.code,{children:"integer"})]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["defined in: ",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/mem",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h3,{id:"mem-type",children:"mem Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})}),"\n",(0,i.jsx)(r.h2,{id:"cores",children:"cores"}),"\n",(0,i.jsx)(r.p,{children:"\u6838\u5fc3\u6570"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"cores"})}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["Type: ",(0,i.jsx)(r.code,{children:"integer"})]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["defined in: ",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/cores",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h3,{id:"cores-type",children:"cores Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})}),"\n",(0,i.jsx)(r.h2,{id:"gpus",children:"gpus"}),"\n",(0,i.jsx)(r.p,{children:"GPU\u5361\u6570"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"gpus"})}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["Type: ",(0,i.jsx)(r.code,{children:"integer"})]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["defined in: ",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/gpus",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h3,{id:"gpus-type",children:"gpus Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})}),"\n",(0,i.jsx)(r.h2,{id:"nodes",children:"nodes"}),"\n",(0,i.jsx)(r.p,{children:"\u8282\u70b9\u6570"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"nodes"})}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["Type: ",(0,i.jsx)(r.code,{children:"integer"})]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["defined in: ",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/nodes",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h3,{id:"nodes-type",children:"nodes Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})}),"\n",(0,i.jsx)(r.h2,{id:"qos",children:"qos"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"qos"})}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["Type: ",(0,i.jsx)(r.code,{children:"string[]"})]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["defined in: ",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/qos",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h3,{id:"qos-type",children:"qos Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string[]"})}),"\n",(0,i.jsx)(r.h2,{id:"comment",children:"comment"}),"\n",(0,i.jsx)(r.p,{children:"\u8ba1\u8d39\u9879\u8bf4\u660e"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"comment"})}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["Type: ",(0,i.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:["\n",(0,i.jsxs)(r.p,{children:["defined in: ",(0,i.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/comment",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h3,{id:"comment-type",children:"comment Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function h(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>p,x:()=>l});var i=t(48318);const n={},s=i.createContext(n);function p(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:p(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6262d4a9.de2a5649.js b/pr-preview/pr-1298/assets/js/6262d4a9.de2a5649.js deleted file mode 100644 index e98264cc0f..0000000000 --- a/pr-preview/pr-1298/assets/js/6262d4a9.de2a5649.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7149],{18724:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var r=n(49214),t=n(5409);const l={},o=void 0,s={id:"refs/config/ui/definition",title:"definition",description:"Untitled object in undefined Type",source:"@site/docs/refs/config/ui/definition.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-primarycolor",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor"},next:{title:"auth",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/auth"}},d={},c=[{value:"Untitled object in undefined Type",id:"untitled-object-in-undefined-type",level:2},{value:"footer",id:"footer",level:2},{value:"footer Type",id:"footer-type",level:3},{value:"primaryColor",id:"primarycolor",level:2},{value:"primaryColor Type",id:"primarycolor-type",level:3}];function p(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h2,{id:"untitled-object-in-undefined-type",children:"Untitled object in undefined Type"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition",children:"Details"}),")"]}),"\n",(0,r.jsx)(i.h1,{id:"untitled-object-in-undefined-properties",children:"Untitled object in undefined Properties"}),"\n",(0,r.jsxs)(i.table,{children:[(0,r.jsx)(i.thead,{children:(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,r.jsxs)(i.tbody,{children:[(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#footer",children:"footer"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"object"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Optional"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",title:"undefined#/properties/footer",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#primarycolor",children:"primaryColor"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"object"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Optional"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",title:"undefined#/properties/primaryColor",children:"Untitled schema"})})]})]})]}),"\n",(0,r.jsx)(i.h2,{id:"footer",children:"footer"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"footer"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is optional"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",children:"Details"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",title:"undefined#/properties/footer",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"footer-type",children:"footer Type"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",children:"Details"}),")"]}),"\n",(0,r.jsx)(i.h2,{id:"primarycolor",children:"primaryColor"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"primaryColor"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is optional"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",children:"Details"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",title:"undefined#/properties/primaryColor",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"primarycolor-type",children:"primaryColor Type"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",children:"Details"}),")"]})]})}function f(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>o,x:()=>s});var r=n(48318);const t={},l=r.createContext(t);function o(e){const i=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function s(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6318ccaf.3cd13ca5.js b/pr-preview/pr-1298/assets/js/6318ccaf.3cd13ca5.js deleted file mode 100644 index c0e9be5e9e..0000000000 --- a/pr-preview/pr-1298/assets/js/6318ccaf.3cd13ca5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1658],{25019:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>l,frontMatter:()=>p,metadata:()=>s,toc:()=>a});var r=i(49214),o=i(5409);const p={sidebar_position:1,title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a"},t="\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",s={id:"deploy/config/ai/apps/intro",title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",description:"\u53c2\u8003\u6587\u6863\u7b80\u8981\u4e86\u89e3\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd, \u76ee\u524dbeta\u7248\u672c\u652f\u6301Web\u7c7b\u548cVnc\u7c7b\u5e94\u7528\u529f\u80fd\u3002",source:"@site/docs/deploy/config/ai/apps/intro.md",sourceDirName:"deploy/config/ai/apps",slug:"/deploy/config/ai/apps/intro",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/ai/apps/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a"},sidebar:"deploy",previous:{title:"\u4ea4\u4e92\u5f0f\u4efb\u52a1 (beta)",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta"},next:{title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app"}},c={},a=[];function d(e){const n={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a",children:"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a"}),"\n",(0,r.jsxs)(n.p,{children:["\u53c2\u8003",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/info/portal/app",children:"\u6587\u6863"}),"\u7b80\u8981\u4e86\u89e3\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd, \u76ee\u524dbeta\u7248\u672c\u652f\u6301Web\u7c7b\u548cVnc\u7c7b\u5e94\u7528\u529f\u80fd\u3002"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app",children:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app",children:"\u914d\u7f6eVNC\u7c7b\u5e94\u7528"})}),"\n",(0,r.jsxs)(n.li,{children:["\u5df2\u6709\u4ea4\u4e92\u5f0f\u5e94\u7528","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab/",children:"JupyterLab"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode/",children:"VSCode"})}),"\n"]}),"\n"]}),"\n"]})]})}function l(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>s});var r=i(48318);const o={},p=r.createContext(o);function t(e){const n=r.useContext(p);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),r.createElement(p.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6371f3df.bf7404b5.js b/pr-preview/pr-1298/assets/js/6371f3df.bf7404b5.js deleted file mode 100644 index 9fc54e0065..0000000000 --- a/pr-preview/pr-1298/assets/js/6371f3df.bf7404b5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3793],{96719:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>t,default:()=>u,frontMatter:()=>s,metadata:()=>p,toc:()=>c});var o=n(49214),r=n(5409);const s={},t=void 0,p={id:"refs/config/cluster/definition-properties-slurm-properties-loginnodes",title:"definition-properties-slurm-properties-loginnodes",description:"loginNodes Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-loginnodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-loginnodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items"},next:{title:"definition-properties-slurm-properties-mis-properties-associationtablename",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename"}},l={},c=[{value:"loginNodes Type",id:"loginnodes-type",level:2},{value:"loginNodes Default Value",id:"loginnodes-default-value",level:2}];function d(e){const i={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.h2,{id:"loginnodes-type",children:"loginNodes Type"}),"\n",(0,o.jsx)(i.p,{children:(0,o.jsx)(i.code,{children:"string[]"})}),"\n",(0,o.jsx)(i.h2,{id:"loginnodes-default-value",children:"loginNodes Default Value"}),"\n",(0,o.jsx)(i.p,{children:"The default value is:"}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-json",children:"[]\n"})})]})}function u(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>t,x:()=>p});var o=n(48318);const r={},s=o.createContext(r);function t(e){const i=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),o.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/642269fc.101f9c48.js b/pr-preview/pr-1298/assets/js/642269fc.101f9c48.js deleted file mode 100644 index 7d5982fb9c..0000000000 --- a/pr-preview/pr-1298/assets/js/642269fc.101f9c48.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8819],{22951:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var t=o(49214),r=o(5409);const i={sidebar_position:2,title:"Go"},s="Go\u793a\u4f8b",c={id:"integration/scow-api-hook/examples/go",title:"Go",description:"\u793a\u4f8b\u9879\u76ee\uff1ahttps://github.com/PKUHPC/scow-go-demo",source:"@site/docs/integration/scow-api-hook/examples/go.md",sourceDirName:"integration/scow-api-hook/examples",slug:"/integration/scow-api-hook/examples/go",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/scow-api-hook/examples/go.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Go"},sidebar:"integration",previous:{title:"\u4f7f\u7528\u793a\u4f8b",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b"},next:{title:"UI\u6269\u5c55",permalink:"/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55"}},l={},a=[{value:"\u51c6\u5907\u73af\u5883",id:"\u51c6\u5907\u73af\u5883",level:2},{value:"\u4f7f\u7528Buf\u83b7\u53d6Proto\u6587\u4ef6\u5e76\u751f\u6210\u4ee3\u7801",id:"\u4f7f\u7528buf\u83b7\u53d6proto\u6587\u4ef6\u5e76\u751f\u6210\u4ee3\u7801",level:2},{value:"\u4f7f\u7528SCOW API",id:"\u4f7f\u7528scow-api",level:2},{value:"\u5b9e\u73b0\u5e76\u6ce8\u518cSCOW Hook",id:"\u5b9e\u73b0\u5e76\u6ce8\u518cscow-hook",level:2}];function g(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"go\u793a\u4f8b",children:"Go\u793a\u4f8b"}),"\n",(0,t.jsxs)(n.p,{children:["\u793a\u4f8b\u9879\u76ee\uff1a",(0,t.jsx)(n.a,{href:"https://github.com/PKUHPC/scow-go-demo",children:"https://github.com/PKUHPC/scow-go-demo"})]}),"\n",(0,t.jsx)(n.h2,{id:"\u51c6\u5907\u73af\u5883",children:"\u51c6\u5907\u73af\u5883"}),"\n",(0,t.jsx)(n.p,{children:"\u60a8\u9700\u8981\uff1a"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\u5b89\u88c5\u597dGo\u8bed\u8a00\u5f00\u53d1\u5de5\u5177\u94fe\uff08",(0,t.jsx)(n.a,{href:"https://go.dev/",children:"Go\u8bed\u8a00\u5b98\u7f51"}),"\uff09"]}),"\n",(0,t.jsxs)(n.li,{children:["\u5b89\u88c5Buf CLI\uff08",(0,t.jsx)(n.a,{href:"https://buf.build/docs/installation/",children:"\u5b98\u7f51\u6587\u6863"}),"\uff09"]}),"\n",(0,t.jsx)(n.li,{children:"\u6709\u4e00\u4e2aGo\u9879\u76ee"}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u901a\u8fc7",(0,t.jsx)(n.code,{children:"go mod init"}),"\u547d\u4ee4\uff0c\u521d\u59cb\u5316\u4e00\u4e2aGo\u9879\u76ee\uff0c\u5047\u8bbe\u6a21\u5757\u540d\u4e3a",(0,t.jsx)(n.code,{children:"github.com/PKUHPC/scow-go-demo"})]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"go mod init github.com/PKUHPC/scow-go-demo\n"})}),"\n",(0,t.jsx)(n.h2,{id:"\u4f7f\u7528buf\u83b7\u53d6proto\u6587\u4ef6\u5e76\u751f\u6210\u4ee3\u7801",children:"\u4f7f\u7528Buf\u83b7\u53d6Proto\u6587\u4ef6\u5e76\u751f\u6210\u4ee3\u7801"}),"\n",(0,t.jsxs)(n.p,{children:["\u521b\u5efa",(0,t.jsx)(n.code,{children:"buf.gen.yaml"}),"\u6587\u4ef6\uff0c\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="buf.gen.yaml"',children:"version: v1\nmanaged:\n enabled: true\n go_package_prefix:\n # \u9879\u76ee\u6a21\u5757\u540d+\u751f\u6210\u8def\u5f84\uff08plugins\u4e2dout\uff09\n default: github.com/PKUHPC/scow-go-demo/gen/go\n except:\n - buf.build/googleapis/googleapis\nplugins:\n - plugin: buf.build/protocolbuffers/go\n out: gen/go\n opt: paths=source_relative\n - plugin: buf.build/grpc/go\n out: gen/go\n opt: paths=source_relative,require_unimplemented_servers=false\n\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u6307\u5b9a\u9700\u8981\u4f7f\u7528\u7684SCOW\u7684\u7248\u672c\uff0c\u751f\u6210\u4ee3\u7801"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# \u901a\u8fc7#\u540e\u7684\u53c2\u6570\u786e\u8ba4SCOW\u548cSCOW API\u7248\u672c\uff0c\u53ef\u8f93\u5165\n# SCOW API\u7684\u7248\u672c\u53f7\uff08tag=api-v0.3.0\uff09\uff08\u63a8\u8350\uff0c\u4ecev0.3.0\u7248\u672c\u5f00\u59cb\u53ef\u7528\uff09\n# SCOW\u7684\u5206\u652f\uff08branch=master\uff09\n# SCOW Tag\u53f7\uff08tag=v0.4.0\uff09\n# \u4e0d\u5199\u9ed8\u8ba4\u4f7f\u7528SCOW\u7684master\u5206\u652f\u7248\u672c\nbuf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0\n"})}),"\n",(0,t.jsx)(n.h2,{id:"\u4f7f\u7528scow-api",children:"\u4f7f\u7528SCOW API"}),"\n",(0,t.jsx)(n.p,{children:"\u7f16\u5199Go\u4ee3\u7801\u4f7f\u7528\u8c03\u7528SCOW API\u7684\u4ee3\u7801"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-go",metastring:'title="api.go"',children:'package main\n\nimport (\n\t"context"\n\t"log"\n\n\t"github.com/PKUHPC/scow-go-demo/gen/go/server"\n\t"google.golang.org/grpc"\n\t"google.golang.org/grpc/credentials/insecure"\n)\n\nfunc main() {\n // \u5047\u8bbemis-server\u5728192.168.88.100:7571\u4e0a\u76d1\u542c\n\tconn, err := grpc.Dial("192.168.88.100:7571", grpc.WithTransportCredentials(insecure.NewCredentials()))\n\n if err != nil {\n panic(err)\n }\n\n // \u751f\u6210AccountServiceClient\n\tclient := server.NewAccountServiceClient(conn)\n\n // \u8c03\u7528`GetAccounts` RPC\uff0c\u83b7\u53d6\u6240\u6709\u8d26\u6237\n\tresp, err := client.GetAccounts(context.Background(), &server.GetAccountsRequest{})\n\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tlog.Printf("Account list: %v", resp)\n}\n'})}),"\n",(0,t.jsx)(n.p,{children:"\u4e0b\u8f7d\u4f9d\u8d56\u5e76\u8fd0\u884c"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"go mod tidy\ngo run api.go\n"})}),"\n",(0,t.jsx)(n.h2,{id:"\u5b9e\u73b0\u5e76\u6ce8\u518cscow-hook",children:"\u5b9e\u73b0\u5e76\u6ce8\u518cSCOW Hook"}),"\n",(0,t.jsxs)(n.p,{children:["\u521b\u5efa\u4e00\u4e2a",(0,t.jsx)(n.code,{children:"hook.go"}),"\u6587\u4ef6\uff0c\u5b9e\u73b0HookServiceServer (protos/hook/hook.proto)"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-go",metastring:'title="hook.go"',children:'package main\n\nimport (\n\t"context"\n\t"log"\n\t"net"\n\n\t"github.com/PKUHPC/scow-go-demo/gen/go/hook"\n\t"google.golang.org/grpc"\n\t"google.golang.org/protobuf/encoding/protojson"\n)\n\ntype MyHookServer struct{}\n\nfunc (s *MyHookServer) OnEvent(ctx context.Context, req *hook.OnEventRequest) (*hook.OnEventResponse, error) {\n\n\tlog.Printf("Received event: %+v", protojson.Format(req))\n\n\treturn &hook.OnEventResponse{}, nil\n}\n\nfunc main() {\n\n\taddr := "0.0.0.0:5000"\n\n\tlis, err := net.Listen("tcp", addr)\n\tif err != nil {\n\t\tlog.Fatalf("failed to listen: %v", err)\n\t}\n\tvar opts []grpc.ServerOption\n\tgrpcServer := grpc.NewServer(opts...)\n\n\tserver := MyHookServer{}\n\n\thook.RegisterHookServiceServer(grpcServer, &server)\n\tlog.Printf("Listening at %s", addr)\n\n\tgrpcServer.Serve(lis)\n}\n\n'})}),"\n",(0,t.jsx)(n.p,{children:"\u4e0b\u8f7d\u4f9d\u8d56\u5e76\u8fd0\u884c"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"go mod tidy\ngo run hook.go\n"})}),"\n",(0,t.jsxs)(n.p,{children:["\u4fee\u6539",(0,t.jsx)(n.code,{children:"config/common.yaml"}),"\u6587\u4ef6\uff0c\u914d\u7f6eHook Server\u7684\u5730\u5740"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yaml"',children:"scowHook:\n url: localhost:5000\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u91cd\u542fSCOW\u3002\u5f53SCOW\u6709\u76f8\u5173\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0cSCOW\u4f1a\u8c03\u7528Hook Server\u3002"})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(g,{...e})}):g(e)}},5409:(e,n,o)=>{o.d(n,{R:()=>s,x:()=>c});var t=o(48318);const r={},i=t.createContext(r);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/65608051.d2ad7a75.js b/pr-preview/pr-1298/assets/js/65608051.d2ad7a75.js deleted file mode 100644 index 5eeb7962d9..0000000000 --- a/pr-preview/pr-1298/assets/js/65608051.d2ad7a75.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3260],{8427:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var t=s(49214),c=s(5409);const o={sidebar_position:11,title:"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00"},i="\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00",a={id:"deploy/config/customization/custom-system-language",title:"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00",description:"\u652f\u6301\u7528\u6237\u5728common.yml\u6587\u4ef6\u4e2d\u901a\u8fc7\u914d\u7f6e\u9879systemLanguage\u81ea\u5b9a\u4e49\u662f\u5426\u4f7f\u7528SCOW\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\u3002",source:"@site/docs/deploy/config/customization/custom-system-language.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/custom-system-language",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/custom-system-language.md",tags:[],version:"current",sidebarPosition:11,frontMatter:{sidebar_position:11,title:"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n"},next:{title:"\u591a\u96c6\u7fa4\u7ba1\u7406",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406"}},d={},l=[{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u7ed3\u679c\u793a\u4f8b",id:"\u914d\u7f6e\u7ed3\u679c\u793a\u4f8b",level:2}];function r(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00",children:"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00"}),"\n",(0,t.jsxs)(n.p,{children:["\u652f\u6301\u7528\u6237\u5728",(0,t.jsx)(n.code,{children:"common.yml"}),"\u6587\u4ef6\u4e2d\u901a\u8fc7\u914d\u7f6e\u9879",(0,t.jsx)(n.code,{children:"systemLanguage"}),"\u81ea\u5b9a\u4e49\u662f\u5426\u4f7f\u7528SCOW\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\u3002"]}),"\n",(0,t.jsx)(n.p,{children:"\u5982\u679c\u4e0d\u4f7f\u7528\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\uff0c\u5219\u5141\u8bb8\u7ba1\u7406\u5458\u6307\u5b9a\u7cfb\u7edf\u552f\u4e00\u8bed\u8a00\u3002"}),"\n",(0,t.jsx)(n.p,{children:"\u5982\u679c\u4f7f\u7528\uff0c\u5141\u8bb8\u7ba1\u7406\u5458\u624b\u52a8\u8bbe\u7f6e\u662f\u5426\u5728\u7528\u6237\u6ca1\u6709\u4fdd\u5b58\u8fc7\u8bed\u8a00\u4fe1\u606f\u65f6\u8ddf\u968f\u7cfb\u7edf\u8bed\u8a00\u7684\u81ea\u52a8\u5224\u65ad\u3002"}),"\n",(0,t.jsxs)(n.p,{children:["\u5982\u679c\u5728\u7528\u6237\u6ca1\u6709\u4fdd\u5b58\u8fc7\u8bed\u8a00\u4fe1\u606f\u65f6\u8ddf\u968f\u7cfb\u7edf\u8bed\u8a00\u81ea\u52a8\u5224\u65ad\uff0c\u90a3\u4e48\u8fdb\u5165\u7cfb\u7edf\u7684\u521d\u59cb\u8bed\u8a00\u4f18\u5148\u4ece",(0,t.jsx)(n.code,{children:"Cookies"}),"\u4e2d\u4fdd\u5b58\u7684\u8bed\u8a00\u4fe1\u606f\u8fdb\u884c\u5224\u65ad\uff0c\u5982\u679c\u5176\u4e2d\u6ca1\u6709\u4fdd\u5b58\u7684\u8bed\u8a00\u4fe1\u606f\u6216\u8005\u4fdd\u5b58\u7684\u8bed\u8a00\u4fe1\u606f\u4e0d\u662fSCOW\u7cfb\u7edf\u7684\u5408\u6cd5\u8bed\u8a00\uff0c\u5219\u7ee7\u7eed\u5224\u65ad\u6d4f\u89c8\u5668\u504f\u597d\u8bed\u8a00\u3002\u82e5\u4e8c\u8005\u5747\u6ca1\u6709\u627e\u5230SCOW\u7cfb\u7edf\u7684\u5408\u6cd5\u8bed\u8a00\uff0c\u5219\u521d\u59cb\u8bed\u8a00\u4e3a\u7ba1\u7406\u5458\u914d\u7f6e\u7684\u9ed8\u8ba4\u8bed\u8a00\u3002"]}),"\n",(0,t.jsxs)(n.p,{children:["\u5982\u679c\u5728\u7528\u6237\u6ca1\u6709\u4fdd\u5b58\u8fc7\u8bed\u8a00\u4fe1\u606f\u65f6\u4e0d\u8ddf\u968f\u7cfb\u7edf\u7684\u8bed\u8a00\u5224\u65ad\uff0c\u5219\u8fdb\u5165\u7cfb\u7edf\u7684\u521d\u59cb\u8bed\u8a00\u4f18\u5148\u5224\u65ad\u7528\u6237\u662f\u5426\u5df2\u7ecf\u4fdd\u5b58\u8fc7\u8bed\u8a00\u4fe1\u606f\uff0c\u5373",(0,t.jsx)(n.code,{children:"Cookies"}),"\u4e2d\u662f\u5426\u5b58\u5728SCOW\u7cfb\u7edf\u7684\u5408\u6cd5\u8bed\u8a00\u3002\u5982\u679c\u5b58\u5728\uff0c\u5219\u4f7f\u7528",(0,t.jsx)(n.code,{children:"Cookies"}),"\u4e2d\u7684\u8bed\u8a00\u4e3a\u521d\u59cb\u8bed\u8a00\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u6216\u8005Cookies\u4e2d\u7684\u8bed\u8a00\u4fe1\u606f\u4e0d\u662fSCOW\u7cfb\u7edf\u7684\u5408\u6cd5\u8bed\u8a00\uff0c\u5219\u521d\u59cb\u8bed\u8a00\u4e3a\u7ba1\u7406\u5458\u914d\u7f6e\u7684\u9ed8\u8ba4\u8bed\u8a00\u3002"]}),"\n",(0,t.jsxs)(n.admonition,{type:"note",children:[(0,t.jsx)(n.p,{children:"\u5f53\u7ba1\u7406\u5458\u901a\u8fc7\u914d\u7f6e\u9879systemLanguage\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00\u65f6\uff0c\u65e0\u8bba\u662f\u6307\u5b9a\u7cfb\u7edf\u552f\u4e00\u8bed\u8a00\u6216\u8005\u662f\u6307\u5b9a\u7528\u6237\u9996\u6b21\u8fdb\u5165\u7cfb\u7edf\u65f6\u7684\u9875\u9762\u6587\u672c\u56fd\u9645\u5316\u7684\u9ed8\u8ba4\u8bed\u8a00\uff0c\n\u90fd\u9700\u8981\u786e\u4fdd\u914d\u7f6e\u7684\u8bed\u8a00\u4e3a\u5f53\u524d\u7cfb\u7edf\u7684\u5408\u6cd5\u8bed\u8a00\uff0c\u5426\u5219\u7cfb\u7edf\u65e0\u6cd5\u542f\u52a8\u3002"}),(0,t.jsxs)(n.p,{children:["\u76ee\u524dSCOW\u7cfb\u7edf\u4e0b\u652f\u6301\u7684\u5408\u6cd5\u8bed\u8a00\u4e3a\u7b80\u4f53\u4e2d\u6587\u4e0e\u82f1\u6587\uff0c\u5b57\u7b26\u4e32\u679a\u4e3e\u503c\u4e3a",(0,t.jsx)(n.code,{children:'"zh_cn"'}),"\u548c",(0,t.jsx)(n.code,{children:'"en"'}),"\u3002"]})]}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yml"',children:'\n# \u8bbe\u7f6e\u7cfb\u7edf\u8bed\u8a00 \u53ef\u9009\u914d\u7f6e \u7c7b\u578b\u4e3a\u5bf9\u8c61\u6216\u5b57\u7b26\u4e32\uff0c\u9ed8\u8ba4\u503c\u4e3a\u5bf9\u8c61\u7c7b\u578b\n# 1.systemLanguage\u5bf9\u8c61\u7c7b\u578b\nsystemLanguage:\n # \u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3atrue\u3002\n # \u5982\u679ctrue\uff0c\u5219SCOW\u5728\u7528\u6237\u672a\u624b\u52a8\u9009\u62e9\u8bed\u8a00\u65f6\uff0c\u81ea\u52a8\u4f18\u5148\u6839\u636ecookies, \u5176\u6b21\u6839\u636e\u6d4f\u89c8\u5668header\u5224\u65ad\u8bed\u8a00\uff0c\u5224\u65ad\u5931\u8d25\u4f7f\u7528\u4e0b\u65b9\u914d\u7f6e\u7684default\u8bed\u8a00\u3002\n # \u5982\u679c\u4e3afalse\uff0c\u5219SCOW\u5728\u9996\u6b21\u8fdb\u5165\u7cfb\u7edf\u7528\u6237\u672a\u624b\u52a8\u9009\u62e9\u8bed\u8a00\u65f6\u4f7f\u7528\u4e0b\u65b9\u914d\u7f6e\u7684default\u8bed\u8a00\uff0c\n # \u7528\u6237\u624b\u52a8\u9009\u62e9\u8fc7\u8bed\u8a00\u4e4b\u540e\u4f18\u5148\u4ececookies\u4e2d\u8fdb\u884c\u5224\u65ad\uff0ccookies\u4e0d\u5b58\u5728\u5408\u6cd5\u8bed\u8a00\u4fe1\u606f\u5219\u4f7f\u7528\u4e0b\u65b9\u914d\u7f6e\u7684\u9ed8\u8ba4\u8bed\u8a00\u3002\n autoDetectWhenUserNotSet: true\n # \u9ed8\u8ba4\u8bed\u8a00\uff0c\u53ef\u9009\u586b\uff0c\u9ed8\u8ba4\u503c\u4e3a"zh_cn"\u3002\n # \u7c7b\u578b\u5fc5\u987b\u4e3a\u5f53\u524d\u7cfb\u7edf\u5408\u6cd5\u8bed\u8a00["zh_cn"\uff0c"en"]\u7684\u5b57\u7b26\u4e32\u679a\u4e3e\u503c\n default: "zh_cn"\n\n# 2.systemLanguage\u5b57\u7b26\u4e32\u7c7b\u578b\n# \u82e5systemLanguage\u914d\u7f6e\u4e3a\u5b57\u7b26\u4e32\uff0c\u7c7b\u578b\u5fc5\u987b\u6307\u5b9a\u4e3a\u5f53\u524d\u7cfb\u7edf\u5408\u6cd5\u8bed\u8a00["zh_cn"\uff0c"en"]\u7684\u5b57\u7b26\u4e32\u679a\u4e3e\u503c\n# SCOW\u76f4\u63a5\u4f7f\u7528\u6b64\u8bed\u8a00\uff0c\u4e0d\u5141\u8bb8\u7528\u6237\u518d\u8fdb\u884c\u8bed\u8a00\u5207\u6362\n# systemLanguage: "zh_cn"\n\n'})}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u7ed3\u679c\u793a\u4f8b",children:"\u914d\u7f6e\u7ed3\u679c\u793a\u4f8b"}),"\n",(0,t.jsxs)(n.p,{children:["1.\u5982\u679c\u6ca1\u6709\u914d\u7f6e",(0,t.jsx)(n.code,{children:"systemLanguage"}),"\uff0c\u6216\u914d\u7f6e\u4e3a",(0,t.jsx)(n.code,{children:"systemLanguage: {}"}),"\uff0c\u5219\u7b49\u540c\u4e8e\u4e0b\u65b9\u7c7b\u4f3c\u914d\u7f6e\u3002"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yml"',children:'\nsystemLanguage:\n autoDetectWhenUserNotSet: true \n default: "zh_cn"\n\n'})}),"\n",(0,t.jsxs)(n.p,{children:["\u5176\u542b\u4e49\u4e3a\u4f7f\u7528\u7cfb\u7edf\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\uff0c\u5141\u8bb8\u7528\u6237\u5728\u4f7f\u7528\u65f6\u624b\u52a8\u5207\u6362\u8bed\u8a00\u3002\n\u521d\u59cb\u8bed\u8a00\u8ddf\u968f\u7cfb\u7edf\u5224\u65ad\uff0c\u5373\u4f18\u5148\u5224\u65ad",(0,t.jsx)(n.code,{children:"Cookies"}),"\u4e2d\u4fdd\u5b58\u7684\u8bed\u8a00\u4fe1\u606f\u662f\u5426\u4e3aSCOW\u7cfb\u7edf\u7684\u5408\u6cd5\u8bed\u8a00\uff0c\u5982\u679c",(0,t.jsx)(n.code,{children:"Cookies"}),"\u4e2d\u83b7\u53d6\u7684\u8bed\u8a00\u4fe1\u606f\u4e0d\u5b58\u5728\u6216\u4e0d\u5408\u6cd5\uff0c\u5219\u7ee7\u7eed\u4ece\u6d4f\u89c8\u5668\u504f\u597d\u8bed\u8a00\u4e2d\u9009\u62e9\u8bed\u8a00\u3002\u5982\u679c\u4e0a\u8ff0\u4e8c\u8005\u5747\u4e0d\u7b26\u5408SCOW\u7cfb\u7edf\u652f\u6301\u7684\u5408\u6cd5\u8bed\u8a00\uff0c\u90a3\u4e48\u521d\u59cb\u8bed\u8a00\u4e3a\u914d\u7f6e\u7684",(0,t.jsx)(n.code,{children:'default: "zh_cn"'}),"\u3002"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"\u56fd\u9645\u5316\u7cfb\u7edf\u8bed\u8a00\u914d\u7f6e\u793a\u4f8b",src:s(99791).A+"",width:"2237",height:"1215"})}),"\n",(0,t.jsxs)(n.p,{children:["2.\u5982\u679c",(0,t.jsx)(n.code,{children:"autoDetectWhenUserNotSet"}),"\u914d\u7f6e\u4e3a",(0,t.jsx)(n.code,{children:"false"}),"\u3002"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yml"',children:'\nsystemLanguage:\n autoDetectWhenUserNotSet: false\n default: "zh_cn"\n\n'})}),"\n",(0,t.jsxs)(n.p,{children:["\u5176\u542b\u4e49\u4e3a\u4f7f\u7528\u7cfb\u7edf\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\uff0c\u5141\u8bb8\u7528\u6237\u5728\u4f7f\u7528\u65f6\u624b\u52a8\u5207\u6362\u8bed\u8a00\u3002\u7528\u6237\u9996\u6b21\u8fdb\u5165\u7cfb\u7edf\u7684\u521d\u59cb\u8bed\u8a00\u4e0d\u8ddf\u968f\u7cfb\u7edf\u5224\u65ad\u3002\n\u5373\u5728",(0,t.jsx)(n.code,{children:"Cookies"}),"\u4e2d\u6ca1\u6709\u4fdd\u5b58\u8fc7\u8bed\u8a00\u4fe1\u606f\u6216\u4fdd\u5b58\u7684\u8bed\u8a00\u4fe1\u606f\u4e0d\u5408\u6cd5\u65f6\uff0c\u4e0d\u518d\u5224\u65ad\u6d4f\u89c8\u5668\u504f\u597d\u8bed\u8a00\uff0c\u4f7f\u7528\u914d\u7f6e\u7684",(0,t.jsx)(n.code,{children:'default: "zh_cn"'}),"\u4e3a\u521d\u59cb\u8bed\u8a00\u3002"]}),"\n",(0,t.jsx)(n.p,{children:"3.\u5982\u679c\u4e0d\u4f7f\u7528\u56fd\u9645\u5316\u529f\u80fd\u3002\u5219\u9700\u6ee1\u8db3\u4e0b\u65b9\u7c7b\u4f3c\u914d\u7f6e\u3002"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yml"',children:'\nsystemLanguage: "zh_cn"\n\n'})}),"\n",(0,t.jsx)(n.p,{children:"\u5176\u542b\u4e49\u4e3a\u6307\u5b9a\u7cfb\u7edf\u552f\u4e00\u8bed\u8a00\u4e3a\u7b80\u4f53\u4e2d\u6587\u3002\u9875\u9762\u4e0d\u518d\u5c55\u793a\u8bed\u8a00\u9009\u62e9\u6846\u3002\u4e0d\u518d\u5141\u8bb8\u7528\u6237\u5728\u4f7f\u7528SCOW\u65f6\u8fdb\u884c\u8bed\u8a00\u5207\u6362\u3002"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"\u6307\u5b9a\u552f\u4e00\u8bed\u8a00\u914d\u7f6e\u793a\u4f8b",src:s(90521).A+"",width:"2237",height:"1214"})})]})}function m(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(r,{...e})}):r(e)}},99791:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/system-language-i18n-399a2c3472f203938a384f7908ae6eab.png"},90521:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/system-language-zh_cn-ed80719020a100e033eb2c29f626f07a.png"},5409:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>a});var t=s(48318);const c={},o=t.createContext(c);function i(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6603c338.003012f3.js b/pr-preview/pr-1298/assets/js/6603c338.003012f3.js deleted file mode 100644 index fbff1b2edc..0000000000 --- a/pr-preview/pr-1298/assets/js/6603c338.003012f3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8971],{79692:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>f,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var r=n(49214),o=n(5409);const i={},p=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0",title:"definition-properties-web-properties-connect-properties-method-anyof-0",description:"0 Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-formdata",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata"},next:{title:"definition-properties-web-properties-connect-properties-method-anyof-1",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1"}},c={},d=[{value:"0 Type",id:"0-type",level:2},{value:"0 Constraints",id:"0-constraints",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"0-type",children:"0 Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})}),"\n",(0,r.jsx)(t.h2,{id:"0-constraints",children:"0 Constraints"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"constant"}),": the value of this property must be equal to:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-json",children:'"GET"\n'})})]})}function f(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>p,x:()=>s});var r=n(48318);const o={},i=r.createContext(o);function p(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:p(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6610c469.189db43d.js b/pr-preview/pr-1298/assets/js/6610c469.189db43d.js deleted file mode 100644 index 235c05e4da..0000000000 --- a/pr-preview/pr-1298/assets/js/6610c469.189db43d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2990],{19596:s=>{s.exports=JSON.parse('{"label":"v1.0.0","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0","allTagsPath":"/SCOW/pr-preview/pr-1298/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6643.46c794dc.js b/pr-preview/pr-1298/assets/js/6643.46c794dc.js deleted file mode 100644 index 390258a4b9..0000000000 --- a/pr-preview/pr-1298/assets/js/6643.46c794dc.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 6643.46c794dc.js.LICENSE.txt */ -(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6643],{16643:(t,e,n)=>{"use strict";t.exports=n(78532)},49988:(t,e,n)=>{"use strict";var i=n(86695),s={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(s.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(s.input,{marginTop:"-1px"}),t.exports=s},72503:(t,e,n)=>{"use strict";var i="aaDataset",s="aaValue",r="aaDatum",o=n(86695),a=n(82150),u=n(36406),c=n(49988),l=n(16678);function h(t){var e;(t=t||{}).templates=t.templates||{},t.source||o.error("missing source"),t.name&&(e=t.name,!/^[_a-zA-Z0-9-]+$/.test(e))&&o.error("invalid dataset name: "+t.name),this.query=null,this._isEmpty=!0,this.highlight=!!t.highlight,this.name=void 0===t.name||null===t.name?o.getUniqueId():t.name,this.source=t.source,this.displayFn=function(t){return t=t||"value",o.isFunction(t)?t:e;function e(e){return e[t]}}(t.display||t.displayKey),this.debounce=t.debounce,this.cache=!1!==t.cache,this.templates=function(t,e){return{empty:t.empty&&o.templatify(t.empty),header:t.header&&o.templatify(t.header),footer:t.footer&&o.templatify(t.footer),suggestion:t.suggestion||n};function n(t){return"

"+e(t)+"

"}}(t.templates,this.displayFn),this.css=o.mixin({},c,t.appendTo?c.appendTo:{}),this.cssClasses=t.cssClasses=o.mixin({},c.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=t.$menu&&t.$menu.find(n+"-"+this.name).length>0?a.element(t.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=t.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(t){return a.element(t).data(i)},h.extractValue=function(t){return a.element(t).data(s)},h.extractDatum=function(t){var e=a.element(t).data(r);return"string"==typeof e&&(e=JSON.parse(e)),e},o.mixin(h.prototype,l,{_render:function(t,e){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=e&&e.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!0}].concat(e),c.templates.empty.apply(this,e)}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(n)this.$el.html(function(){var t,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return t=a.element(p).css(this.css.suggestions),n=o.map(e,f),t.append.apply(t,n),t;function f(t){var e,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(e=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[t].concat(l)))).data(i,c.name),e.data(s,c.displayFn(t)||void 0),e.data(r,JSON.stringify(t)),e.children().each((function(){a.element(this).css(h.css.suggestionChild)})),e}}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(e&&!Array.isArray(e))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",t)}function h(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.header.apply(this,e)}function p(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.footer.apply(this,e)}},getRoot:function(){return this.$el},update:function(t){function e(e){if(!this.canceled&&t===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(t,e,n),this._render.apply(this,[t,e].concat(n))}}if(this.query=t,this.canceled=!1,this.shouldFetchFromCache(t))e.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(t,e.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(t,e,n){this.cachedQuery=t,this.cachedSuggestions=e,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(t){return this.cache&&this.cachedQuery===t&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),t.exports=h},57414:(t,e,n)=>{"use strict";var i=n(86695),s=n(82150),r=n(16678),o=n(72503),a=n(49988);function u(t){var e,n,r,o=this;(t=t||{}).menu||i.error("menu is required"),i.isArray(t.datasets)||i.isObject(t.datasets)||i.error("1 or more datasets required"),t.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=t.minLength||0,this.templates={},this.appendTo=t.appendTo||!1,this.css=i.mixin({},a,t.appendTo?a.appendTo:{}),this.cssClasses=t.cssClasses=i.mixin({},a.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),e=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),r=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=s.element(t.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,r).on("click.aa",c,e),this.$container=t.appendTo?t.wrapper:this.$menu,t.templates&&t.templates.header&&(this.templates.header=i.templatify(t.templates.header),this.$menu.prepend(this.templates.header())),t.templates&&t.templates.empty&&(this.templates.empty=i.templatify(t.templates.empty),this.$empty=s.element('
'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(t.datasets,(function(e){return function(t,e,n){return new u.Dataset(i.mixin({$menu:t,cssClasses:n},e))}(o.$menu,e,t.cssClasses)})),i.each(this.datasets,(function(t){var e=t.getRoot();e&&0===e.parent().length&&o.$menu.append(e),t.onSync("rendered",o._onRendered,o)})),t.templates&&t.templates.footer&&(this.templates.footer=i.templatify(t.templates.footer),this.$menu.append(this.templates.footer()));var l=this;s.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,r,{_onSuggestionClick:function(t){this.trigger("suggestionClicked",s.element(t.currentTarget))},_onSuggestionMouseEnter:function(t){var e=s.element(t.currentTarget);if(!e.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(e,!1)}),0)}},_onSuggestionMouseLeave:function(t){if(t.relatedTarget&&s.element(t.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(t,e){if(this.isEmpty=i.every(this.datasets,(function(t){return t.isEmpty()})),this.isEmpty)if(e.length>=this.minLength&&this.trigger("empty"),this.$empty)if(e.length=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(t,e){t.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",e)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(t){var e,n,i,s;this.isOpen&&(n=this._getCursor(),e=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=e.index(n)+t)+1)%(e.length+1)-1)?(i<-1&&(i=e.length-1),this._setCursor(s=e.eq(i),!0),this._ensureVisible(s)):this.trigger("cursorRemoved"))},_ensureVisible:function(t){var e,n,i,s;n=(e=t.position().top)+t.height()+parseInt(t.css("margin-top"),10)+parseInt(t.css("margin-bottom"),10),i=this.$menu.scrollTop(),s=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),e<0?this.$menu.scrollTop(i+e):s{"use strict";var i=n(86695),s=n(82150);function r(t){t&&t.el||i.error("EventBus initialized without el"),this.$el=s.element(t.el)}i.mixin(r.prototype,{trigger:function(t,e,n,s){var r=i.Event("autocomplete:"+t);return this.$el.trigger(r,[e,n,s]),r}}),t.exports=r},16678:(t,e,n)=>{"use strict";var i=n(20367),s=/\s+/;function r(t,e,n,i){var r;if(!n)return this;for(e=e.split(s),n=i?function(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};r=e.shift();)this._callbacks[r]=this._callbacks[r]||{sync:[],async:[]},this._callbacks[r][t].push(n);return this}function o(t,e,n){return function(){for(var i,s=0,r=t.length;!i&&s{"use strict";t.exports={wrapper:'',dropdown:'',dataset:'
',suggestions:'',suggestion:'
'}},32355:(t,e,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var s=n(86695),r=n(82150),o=n(16678);function a(t){var e,n,o,a,u,c=this;(t=t||{}).input||s.error("input is missing"),e=s.bind(this._onBlur,this),n=s.bind(this._onFocus,this),o=s.bind(this._onKeydown,this),a=s.bind(this._onInput,this),this.$hint=r.element(t.hint),this.$input=r.element(t.input).on("blur.aa",e).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=s.noop),s.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(t){i[t.which||t.keyCode]||s.defer(s.bind(c._onInput,c,t))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,r.element('').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}a.normalizeQuery=function(t){return(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},s.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(t){var e=i[t.which||t.keyCode];this._managePreventDefault(e,t),e&&this._shouldTrigger(e,t)&&this.trigger(e+"Keyed",t)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(t,e){var n,i,s;switch(t){case"tab":i=this.getHint(),s=this.getInputValue(),n=i&&i!==s&&!u(e);break;case"up":case"down":n=!u(e);break;default:n=!1}n&&e.preventDefault()},_shouldTrigger:function(t,e){var n;if("tab"===t)n=!u(e);else n=!0;return n},_checkInputValue:function(){var t,e,n,i,s;t=this.getInputValue(),i=t,s=this.query,n=!(!(e=a.normalizeQuery(i)===a.normalizeQuery(s))||!this.query)&&this.query.length!==t.length,this.query=t,e?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){void 0===t&&(t=this.query),this.$input.val(t),e?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(t){this.$input.attr("aria-activedescendant",t)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(t){this.$hint.val(t)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var t,e,n;n=(t=this.getInputValue())!==(e=this.getHint())&&0===e.indexOf(t),""!==t&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var t,e,n;return t=this.$input.val().length,e=this.$input[0].selectionStart,s.isNumber(e)?e===t:!document.selection||((n=document.selection.createRange()).moveStart("character",-t),t===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),t.exports=a},34682:(t,e,n)=>{"use strict";var i="aaAttrs",s=n(86695),r=n(82150),o=n(64010),a=n(32355),u=n(57414),c=n(36406),l=n(49988);function h(t){var e,n;if((t=t||{}).input||s.error("missing input"),this.isActivated=!1,this.debug=!!t.debug,this.autoselect=!!t.autoselect,this.autoselectOnBlur=!!t.autoselectOnBlur,this.openOnFocus=!!t.openOnFocus,this.minLength=s.isNumber(t.minLength)?t.minLength:1,this.autoWidth=void 0===t.autoWidth||!!t.autoWidth,this.clearOnSelected=!!t.clearOnSelected,this.tabAutocomplete=void 0===t.tabAutocomplete||!!t.tabAutocomplete,t.hint=!!t.hint,t.hint&&t.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=t.css=s.mixin({},l,t.appendTo?l.appendTo:{}),this.cssClasses=t.cssClasses=s.mixin({},l.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix=s.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=t.listboxId=[this.cssClasses.root,"listbox",s.getUniqueId()].join("-");var a=function(t){var e,n,o,a;e=r.element(t.input),n=r.element(c.wrapper.replace("%ROOT%",t.cssClasses.root)).css(t.css.wrapper),t.appendTo||"block"!==e.css("display")||"table"!==e.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",t.cssClasses.prefix).replace("%DROPDOWN_MENU%",t.cssClasses.dropdownMenu);o=r.element(u).css(t.css.dropdown).attr({role:"listbox",id:t.listboxId}),t.templates&&t.templates.dropdownMenu&&o.html(s.templatify(t.templates.dropdownMenu)());a=e.clone().css(t.css.hint).css(function(t){return{backgroundAttachment:t.css("background-attachment"),backgroundClip:t.css("background-clip"),backgroundColor:t.css("background-color"),backgroundImage:t.css("background-image"),backgroundOrigin:t.css("background-origin"),backgroundPosition:t.css("background-position"),backgroundRepeat:t.css("background-repeat"),backgroundSize:t.css("background-size")}}(e)),a.val("").addClass(s.className(t.cssClasses.prefix,t.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();e.data(i,{"aria-autocomplete":e.attr("aria-autocomplete"),"aria-expanded":e.attr("aria-expanded"),"aria-owns":e.attr("aria-owns"),autocomplete:e.attr("autocomplete"),dir:e.attr("dir"),role:e.attr("role"),spellcheck:e.attr("spellcheck"),style:e.attr("style"),type:e.attr("type")}),e.addClass(s.className(t.cssClasses.prefix,t.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":t.datasets&&t.datasets[0]&&t.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":t.ariaLabel,"aria-owns":t.listboxId}).css(t.hint?t.css.input:t.css.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(l){}return n=t.appendTo?n.appendTo(r.element(t.appendTo).eq(0)).eq(0):e.wrap(n).parent(),n.prepend(t.hint?a:null).append(o),{wrapper:n,input:e,hint:a,menu:o}}(t);this.$node=a.wrapper;var u=this.$input=a.input;e=a.menu,n=a.hint,t.dropdownMenuContainer&&r.element(t.dropdownMenuContainer).css("position","relative").append(e.css("top","0")),u.on("blur.aa",(function(t){var n=document.activeElement;s.isMsie()&&(e[0]===n||e[0].contains(n))&&(t.preventDefault(),t.stopImmediatePropagation(),s.defer((function(){u.focus()})))})),e.on("mousedown.aa",(function(t){t.preventDefault()})),this.eventBus=t.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:t.appendTo,wrapper:this.$node,menu:e,datasets:t.datasets,templates:t.templates,cssClasses:t.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(t),this._setLanguageDirection()}s.mixin(h.prototype,{_bindKeyboardShortcuts:function(t){if(t.keyboardShortcuts){var e=this.$input,n=[];s.each(t.keyboardShortcuts,(function(t){"string"==typeof t&&(t=t.toUpperCase().charCodeAt(0)),n.push(t)})),r.element(document).keydown((function(t){var i=t.target||t.srcElement,s=i.tagName;if(!i.isContentEditable&&"INPUT"!==s&&"SELECT"!==s&&"TEXTAREA"!==s){var r=t.which||t.keyCode;-1!==n.indexOf(r)&&(e.focus(),t.stopPropagation(),t.preventDefault())}}))}},_onSuggestionClicked:function(t,e){var n;(n=this.dropdown.getDatumForSuggestion(e))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(t,e){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(e&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var t=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",t.width+"px");var e=this.$node[0].getBoundingClientRect(),n=t.bottom-e.top;this.$node.css("top",n+"px");var i=t.left-e.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var t=this.input.getQuery();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var t,e;t=this.dropdown.getDatumForCursor(),e=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&t?this._select(t,n):this.autoselectOnBlur&&e?this._select(e,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(t,e){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var s={selectionMethod:"enterKey"};n?(this._select(n,s),e.preventDefault()):this.autoselect&&i&&(this._select(i,s),e.preventDefault())},_onTabKeyed:function(t,e){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),e.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(t,e){this.input.clearHintIfInvalid(),e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t=this.input.getLanguageDirection();this.dir!==t&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,e,n,i,r;(t=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(e=this.input.getInputValue(),n=a.normalizeQuery(e),i=s.escapeRegExChars(n),(r=new RegExp("^(?:"+i+")(.+$)","i").exec(t.value))?this.input.setHint(e+r[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(t){var e,n,i,s;e=this.input.getHint(),n=this.input.getQuery(),i=t||this.input.isCursorAtEnd(),e&&n!==e&&i&&((s=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(s.value),this.eventBus.trigger("autocompleted",s.raw,s.datasetName))},_select:function(t,e){void 0!==t.value&&this.input.setQuery(t.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(t.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",t.raw,t.datasetName,e).isDefaultPrevented()&&(this.dropdown.close(),s.defer(s.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var t=this.input.getInputValue();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(t){t=s.toStr(t),this.isActivated?this.input.setInputValue(t):(this.input.setQuery(t),this.input.setInputValue(t,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(t,e){var n=t.find(s.className(e.prefix,e.input));s.each(n.data(i),(function(t,e){void 0===t?n.removeAttr(e):n.attr(e,t)})),n.detach().removeClass(s.className(e.prefix,e.input,!0)).insertAfter(t),n.removeData&&n.removeData(i);t.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(86947),t.exports=h},82150:t=>{"use strict";t.exports={element:null}},87877:t=>{"use strict";t.exports=function(t){var e=t.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||t.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(e)return[e[1],e[2],e[3]]}},86695:(t,e,n)=>{"use strict";var i,s=n(73774),r=n(82150);function o(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,i){t&&(n.isArray(t)?e[i]=[].concat(t):n.isObject(t)&&(e[i]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(i,s){n&&(n=e.call(null,i,s,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(i,s){if(e.call(null,i,s,t))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(t){if(this.isFunction(t))return t;var e=r.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return n?t+e:"."+s(t+e,{isIdentifier:!0})},escapeHighlightedString:function(t,e,n){e=e||"";var i=document.createElement("div");i.appendChild(document.createTextNode(e)),n=n||"";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var r=document.createElement("div");return r.appendChild(document.createTextNode(t)),r.innerHTML.replace(RegExp(o(i.innerHTML),"g"),e).replace(RegExp(o(s.innerHTML),"g"),n)}}},75997:(t,e,n)=>{"use strict";var i=n(86695),s=n(30779),r=n(87877);var o,a,u=(o=[],a=window.Promise.resolve(),function(t,e){return function(n,s){(function(t,e){return window.Promise.resolve().then((function(){return o.length&&(a=t.search(o),o=[]),a})).then((function(t){if(t)return t.results[e]}))})(t.as,o.push({indexName:t.indexName,query:n,params:e})-1).then((function(t){t&&s(t.hits,t)})).catch((function(t){i.error(t.message)}))}});t.exports=function(t,e){var n=r(t.as._ua);if(n&&n[0]>=3&&n[1]>20){var i="autocomplete.js "+s;-1===t.as._ua.indexOf(i)&&(t.as._ua+="; "+i)}return u(t,e)}},86947:(t,e,n)=>{"use strict";t.exports={hits:n(75997),popularIn:n(28137)}},28137:(t,e,n)=>{"use strict";var i=n(86695),s=n(30779),r=n(87877);t.exports=function(t,e,n,o){var a=r(t.as._ua);if(a&&a[0]>=3&&a[1]>20&&((e=e||{}).additionalUA="autocomplete.js "+s),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(t){return t[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){t.search(a,e,(function(t,a){if(t)i.error(t.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var f=r(c.as._ua);return f&&f[0]>=3&&f[1]>20&&(e.additionalUA="autocomplete.js "+s),void c.search(u(h),p,(function(t,e){if(t)i.error(t.message);else{var n=[];if(o.includeAll){var s=o.allTitle||"All departments";n.push(i.mixin({facet:{value:s,count:e.nbHits}},i.cloneDeep(h)))}i.each(e.facets,(function(t,e){i.each(t,(function(t,s){n.push(i.mixin({facet:{facet:e,value:s,count:t}},i.cloneDeep(h)))}))}));for(var r=1;r{"use strict";var i=n(11577);n(82150).element=i;var s=n(86695);s.isArray=i.isArray,s.isFunction=i.isFunction,s.isObject=i.isPlainObject,s.bind=i.proxy,s.each=function(t,e){i.each(t,(function(t,n){return e(n,t)}))},s.map=i.map,s.mixin=i.extend,s.Event=i.Event;var r="aaAutocomplete",o=n(34682),a=n(64010);function u(t,e,n,u){n=s.isArray(n)?n:[].slice.call(arguments,2);var c=i(t).each((function(t,s){var c=i(s),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:e.dropdownMenuContainer,hint:void 0===e.hint||!!e.hint,minLength:e.minLength,autoselect:e.autoselect,autoselectOnBlur:e.autoselectOnBlur,tabAutocomplete:e.tabAutocomplete,openOnFocus:e.openOnFocus,templates:e.templates,debug:e.debug,clearOnSelected:e.clearOnSelected,cssClasses:e.cssClasses,datasets:n,keyboardShortcuts:e.keyboardShortcuts,appendTo:e.appendTo,autoWidth:e.autoWidth,ariaLabel:e.ariaLabel||s.getAttribute("aria-label")});c.data(r,h)}));return c.autocomplete={},s.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(t){c.autocomplete[t]=function(){var e,n=arguments;return c.each((function(s,o){var a=i(o).data(r);e=a[t].apply(a,n)})),e}})),c}u.sources=o.sources,u.escapeHighlightedString=s.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},t.exports=u},30779:t=>{t.exports="0.38.1"},11577:t=>{var e;e=window,t.exports=function(t){var e,n,i=function(){var e,n,i,s,r,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=t.document,p={},f={},d={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,w=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],C=["after","prepend","before","append"],x=h.createElement("table"),_=h.createElement("tr"),S={tr:h.createElement("tbody"),tbody:x,thead:x,tfoot:x,td:_,th:_,"*":h.createElement("div")},E=/complete|loaded|interactive/,A=/^[\w-]*$/,$={},T=$.toString,O={},D=h.createElement("div"),N={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},k=Array.isArray||function(t){return t instanceof Array};function I(t){return null==t?String(t):$[T.call(t)]||"object"}function P(t){return"function"==I(t)}function L(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function F(t){return"object"==I(t)}function R(t){return F(t)&&!L(t)&&Object.getPrototypeOf(t)==Object.prototype}function q(t){var e=!!t&&"length"in t&&t.length,n=i.type(t);return"function"!=n&&!L(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function V(t){return c.call(t,(function(t){return null!=t}))}function H(t){return t.length>0?i.fn.concat.apply([],t):t}function B(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function K(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function j(t,e){return"number"!=typeof e||d[B(t)]?e:e+"px"}function z(t){var e,n;return p[t]||(e=h.createElement(t),h.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),p[t]=n),p[t]}function U(t){return"children"in t?l.call(t.children):i.map(t.childNodes,(function(t){if(1==t.nodeType)return t}))}function Q(t,e){var n,i=t?t.length:0;for(n=0;n")),n===e&&(n=g.test(t)&&RegExp.$1),n in S||(n="*"),(a=S[n]).innerHTML=""+t,r=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),R(s)&&(o=i(r),i.each(s,(function(t,e){b.indexOf(t)>-1?o[t](e):o.attr(t,e)}))),r},O.Z=function(t,e){return new Q(t,e)},O.isZ=function(t){return t instanceof O.Z},O.init=function(t,n){var s;if(!t)return O.Z();if("string"==typeof t)if("<"==(t=t.trim())[0]&&g.test(t))s=O.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}else{if(P(t))return i(h).ready(t);if(O.isZ(t))return t;if(k(t))s=V(t);else if(F(t))s=[t],t=null;else if(g.test(t))s=O.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}}return O.Z(s,t)},(i=function(t,e){return O.init(t,e)}).extend=function(t){var e,n=l.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach((function(n){W(t,n,e)})),t},O.qsa=function(t,e){var n,i="#"==e[0],s=!i&&"."==e[0],r=i||s?e.slice(1):e,o=A.test(r);return t.getElementById&&o&&i?(n=t.getElementById(r))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:l.call(o&&!i&&t.getElementsByClassName?s?t.getElementsByClassName(r):t.getElementsByTagName(e):t.querySelectorAll(e))},i.contains=h.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},i.type=I,i.isFunction=P,i.isWindow=L,i.isArray=k,i.isPlainObject=R,i.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},i.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},i.inArray=function(t,e,n){return a.indexOf.call(e,t,n)},i.camelCase=r,i.trim=function(t){return null==t?"":String.prototype.trim.call(t)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(t,e){var n,i,s,r=[];if(q(t))for(i=0;i=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(t){return a.every.call(this,(function(e,n){return!1!==t.call(e,n,e)})),this},filter:function(t){return P(t)?this.not(this.not(t)):i(c.call(this,(function(e){return O.matches(e,t)})))},add:function(t,e){return i(o(this.concat(i(t,e))))},is:function(t){return this.length>0&&O.matches(this[0],t)},not:function(t){var n=[];if(P(t)&&t.call!==e)this.each((function(e){t.call(this,e)||n.push(this)}));else{var s="string"==typeof t?this.filter(t):q(t)&&P(t.item)?l.call(t):i(t);this.forEach((function(t){s.indexOf(t)<0&&n.push(t)}))}return i(n)},has:function(t){return this.filter((function(){return F(t)?i.contains(this,t):i(this).find(t).size()}))},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!F(t)?t:i(t)},last:function(){var t=this[this.length-1];return t&&!F(t)?t:i(t)},find:function(t){var e=this;return t?"object"==typeof t?i(t).filter((function(){var t=this;return a.some.call(e,(function(e){return i.contains(e,t)}))})):1==this.length?i(O.qsa(this[0],t)):this.map((function(){return O.qsa(this,t)})):i()},closest:function(t,e){var n=[],s="object"==typeof t&&i(t);return this.each((function(i,r){for(;r&&!(s?s.indexOf(r)>=0:O.matches(r,t));)r=r!==e&&!M(r)&&r.parentNode;r&&n.indexOf(r)<0&&n.push(r)})),i(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=i.map(n,(function(t){if((t=t.parentNode)&&!M(t)&&e.indexOf(t)<0)return e.push(t),t}));return Z(e,t)},parent:function(t){return Z(o(this.pluck("parentNode")),t)},children:function(t){return Z(this.map((function(){return U(this)})),t)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(t){return Z(this.map((function(t,e){return c.call(U(e.parentNode),(function(t){return t!==e}))})),t)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(t){return i.map(this,(function(e){return e[t]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=z(this.nodeName))}))},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=P(t);if(this[0]&&!e)var n=i(t).get(0),s=n.parentNode||this.length>1;return this.each((function(r){i(this).wrapAll(e?t.call(this,r):s?n.cloneNode(!0):n)}))},wrapAll:function(t){if(this[0]){var e;for(i(this[0]).before(t=i(t));(e=t.children()).length;)t=e.first();i(t).append(this)}return this},wrapInner:function(t){var e=P(t);return this.each((function(n){var s=i(this),r=s.contents(),o=e?t.call(this,n):t;r.length?r.wrapAll(o):s.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(t){return this.each((function(){var n=i(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()}))},prev:function(t){return i(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return i(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each((function(e){var n=this.innerHTML;i(this).empty().append(X(this,t,e,n))})):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each((function(e){var n=X(this,t,e,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(t,i){var s;return"string"!=typeof t||1 in arguments?this.each((function(e){if(1===this.nodeType)if(F(t))for(n in t)G(this,n,t[n]);else G(this,t,X(this,i,e,this.getAttribute(t)))})):0 in this&&1==this[0].nodeType&&null!=(s=this[0].getAttribute(t))?s:e},removeAttr:function(t){return this.each((function(){1===this.nodeType&&t.split(" ").forEach((function(t){G(this,t)}),this)}))},prop:function(t,e){return t=N[t]||t,1 in arguments?this.each((function(n){this[t]=X(this,e,n,this[t])})):this[0]&&this[0][t]},removeProp:function(t){return t=N[t]||t,this.each((function(){delete this[t]}))},data:function(t,n){var i="data-"+t.replace(w,"-$1").toLowerCase(),s=1 in arguments?this.attr(i,n):this.attr(i);return null!==s?Y(s):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each((function(e){this.value=X(this,t,e,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each((function(t){var n=i(this),s=X(this,e,t,n.offset()),r=n.offsetParent().offset(),o={top:s.top-r.top,left:s.left-r.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var s=this[0];if("string"==typeof t){if(!s)return;return s.style[r(t)]||getComputedStyle(s,"").getPropertyValue(t)}if(k(t)){if(!s)return;var o={},a=getComputedStyle(s,"");return i.each(t,(function(t,e){o[e]=s.style[r(e)]||a.getPropertyValue(e)})),o}}var u="";if("string"==I(t))e||0===e?u=B(t)+":"+j(t,e):this.each((function(){this.style.removeProperty(B(t))}));else for(n in t)t[n]||0===t[n]?u+=B(n)+":"+j(n,t[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(t){return t?this.indexOf(i(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&a.some.call(this,(function(t){return this.test(J(t))}),K(t))},addClass:function(t){return t?this.each((function(e){if("className"in this){s=[];var n=J(this);X(this,t,e,n).split(/\s+/g).forEach((function(t){i(this).hasClass(t)||s.push(t)}),this),s.length&&J(this,n+(n?" ":"")+s.join(" "))}})):this},removeClass:function(t){return this.each((function(n){if("className"in this){if(t===e)return J(this,"");s=J(this),X(this,t,n,s).split(/\s+/g).forEach((function(t){s=s.replace(K(t)," ")})),J(this,s.trim())}}))},toggleClass:function(t,n){return t?this.each((function(s){var r=i(this);X(this,t,s,J(this)).split(/\s+/g).forEach((function(t){(n===e?!r.hasClass(t):n)?r.addClass(t):r.removeClass(t)}))})):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),s=y.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(i(t).css("margin-top"))||0,n.left-=parseFloat(i(t).css("margin-left"))||0,s.top+=parseFloat(i(e[0]).css("border-top-width"))||0,s.left+=parseFloat(i(e[0]).css("border-left-width"))||0,{top:n.top-s.top,left:n.left-s.left}}},offsetParent:function(){return this.map((function(){for(var t=this.offsetParent||h.body;t&&!y.test(t.nodeName)&&"static"==i(t).css("position");)t=t.offsetParent;return t}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(t){var n=t.replace(/./,(function(t){return t[0].toUpperCase()}));i.fn[t]=function(s){var r,o=this[0];return s===e?L(o)?o["inner"+n]:M(o)?o.documentElement["scroll"+n]:(r=this.offset())&&r[t]:this.each((function(e){(o=i(this)).css(t,X(this,s,e,o[t]()))}))}})),C.forEach((function(n,s){var r=s%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(t){var s=[];return"array"==(n=I(t))?(t.forEach((function(t){return t.nodeType!==e?s.push(t):i.zepto.isZ(t)?s=s.concat(t.get()):void(s=s.concat(O.fragment(t)))})),s):"object"==n||null==t?t:O.fragment(t)})),u=this.length>1;return a.length<1?this:this.each((function(e,n){o=r?n:n.parentNode,n=0==s?n.nextSibling:1==s?n.firstChild:2==s?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(e){if(u)e=e.cloneNode(!0);else if(!o)return i(e).remove();o.insertBefore(e,n),c&&tt(e,(function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}}))}))}))},i.fn[r?n+"To":"insert"+(s?"Before":"After")]=function(t){return i(t)[n](this),this}})),O.Z.prototype=Q.prototype=i.fn,O.uniq=o,O.deserializeValue=Y,i.zepto=O,i}();return function(e){var n,i=1,s=Array.prototype.slice,r=e.isFunction,o=function(t){return"string"==typeof t},a={},u={},c="onfocusin"in t,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(t){return t._zid||(t._zid=i++)}function f(t,e,n,i){if((e=d(e)).ns)var s=g(e.ns);return(a[p(t)]||[]).filter((function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||s.test(t.ns))&&(!n||p(t.fn)===p(n))&&(!i||t.sel==i)}))}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function g(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!c&&t.e in l||!!e}function v(t){return h[t]||c&&l[t]||t}function y(t,i,s,r,o,u,c){var l=p(t),f=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return e(document).ready(s);var a=d(i);a.fn=s,a.sel=o,a.e in h&&(s=function(t){var n=t.relatedTarget;if(!n||n!==this&&!e.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||s;a.proxy=function(e){if(!(e=S(e)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(e,"data");i&&!i.writable||(e.data=r)}catch(e){}var s=l.apply(t,e._args==n?[e]:[e].concat(e._args));return!1===s&&(e.preventDefault(),e.stopPropagation()),s}},a.i=f.length,f.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,m(a,c))}))}function w(t,e,n,i,s){var r=p(t);(e||"").split(/\s/).forEach((function(e){f(t,e,n,i).forEach((function(e){delete a[r][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,m(e,s))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:w},e.proxy=function(t,n){var i=2 in arguments&&s.call(arguments,2);if(r(t)){var a=function(){return t.apply(n,i?i.concat(s.call(arguments)):arguments)};return a._zid=p(t),a}if(o(n))return i?(i.unshift(t[n],t),e.proxy.apply(null,i)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var b=function(){return!0},C=function(){return!1},x=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,_={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function S(t,i){if(i||!t.isDefaultPrevented){i||(i=t),e.each(_,(function(e,n){var s=i[e];t[e]=function(){return this[n]=b,s&&s.apply(i,arguments)},t[n]=C}));try{t.timeStamp||(t.timeStamp=Date.now())}catch(s){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(t.isDefaultPrevented=b)}return t}function E(t){var e,i={originalEvent:t};for(e in t)x.test(e)||t[e]===n||(i[e]=t[e]);return S(i,t)}e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,i,a,u,c){var l,h,p=this;return t&&!o(t)?(e.each(t,(function(t,e){p.on(t,i,a,e,c)})),p):(o(i)||r(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=C),p.each((function(n,r){c&&(l=function(t){return w(r,t.type,u),u.apply(this,arguments)}),i&&(h=function(t){var n,o=e(t.target).closest(i,r).get(0);if(o&&o!==r)return n=e.extend(E(t),{currentTarget:o,liveFired:r}),(l||u).apply(o,[n].concat(s.call(arguments,1)))}),y(r,t,u,a,i,h||l)})))},e.fn.off=function(t,i,s){var a=this;return t&&!o(t)?(e.each(t,(function(t,e){a.off(t,i,e)})),a):(o(i)||r(s)||!1===s||(s=i,i=n),!1===s&&(s=C),a.each((function(){w(this,t,s,i)})))},e.fn.trigger=function(t,n){return(t=o(t)||e.isPlainObject(t)?e.Event(t):S(t))._args=n,this.each((function(){t.type in l&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)}))},e.fn.triggerHandler=function(t,n){var i,s;return this.each((function(r,a){(i=E(o(t)?e.Event(t):t))._args=n,i.target=a,e.each(f(a,t.type||t),(function(t,e){if(s=e.proxy(i),i.isImmediatePropagationStopped())return!1}))})),s},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}})),e.Event=function(t,e){o(t)||(t=(e=t).type);var n=document.createEvent(u[t]||"Events"),i=!0;if(e)for(var s in e)"bubbles"==s?i=!!e[s]:n[s]=e[s];return n.initEvent(t,i,!0),S(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",e&&clearTimeout(e),e=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(t){var e={},n=t.fn.data,i=t.camelCase,s=t.expando="Zepto"+ +new Date,r=[];function o(r,o){var u=r[s],c=u&&e[u];if(void 0===o)return c||a(r);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(t(r),o)}function a(n,r,o){var a=n[s]||(n[s]=++t.uuid),c=e[a]||(e[a]=u(n));return void 0!==r&&(c[i(r)]=o),c}function u(e){var n={};return t.each(e.attributes||r,(function(e,s){0==s.name.indexOf("data-")&&(n[i(s.name.replace("data-",""))]=t.zepto.deserializeValue(s.value))})),n}t.fn.data=function(e,n){return void 0===n?t.isPlainObject(e)?this.each((function(n,i){t.each(e,(function(t,e){a(i,t,e)}))})):0 in this?o(this[0],e):void 0:this.each((function(){a(this,e,n)}))},t.data=function(e,n,i){return t(e).data(n,i)},t.hasData=function(n){var i=n[s],r=i&&e[i];return!!r&&!t.isEmptyObject(r)},t.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var r=this[s],o=r&&e[r];o&&t.each(n||o,(function(t){delete o[n?i(this):t]}))}))},["remove","empty"].forEach((function(e){var n=t.fn[e];t.fn[e]=function(){var t=this.find("*");return"remove"===e&&(t=t.add(this)),t.removeData(),n.call(this)}}))}(i),i}(e)},73774:t=>{"use strict";var e={}.hasOwnProperty,n=/[ -,\.\/:-@\[-\^`\{-~]/,i=/[ -,\.\/:-@\[\]\^`\{-~]/,s=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,r=function t(r,o){"single"!=(o=function(t,n){if(!t)return n;var i={};for(var s in n)i[s]=e.call(t,s)?t[s]:n[s];return i}(o,t.options)).quotes&&"double"!=o.quotes&&(o.quotes="single");for(var a="double"==o.quotes?'"':"'",u=o.isIdentifier,c=r.charAt(0),l="",h=0,p=r.length;h126){if(d>=55296&&d<=56319&&h{"use strict";var i,s,r,o=[n(74332),n(43887),n(14480),n(18717),n(89658),n(24564)],a=-1,u=[],c=!1;function l(){i&&s&&(i=!1,s.length?u=s.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var t=u.length,e=setTimeout(l);t;){for(s=u,u=[];s&&++a1)for(var n=1;n{"use strict";e.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},e.install=function(t){var e=new n.g.MessageChannel;return e.port1.onmessage=t,function(){e.port2.postMessage(0)}}},14480:(t,e,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;e.test=function(){return i},e.install=function(t){var e=0,s=new i(t),r=n.g.document.createTextNode("");return s.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}},43887:(t,e,n)=>{"use strict";e.test=function(){return"function"==typeof n.g.queueMicrotask},e.install=function(t){return function(){n.g.queueMicrotask(t)}}},89658:(t,e,n)=>{"use strict";e.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},e.install=function(t){return function(){var e=n.g.document.createElement("script");return e.onreadystatechange=function(){t(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},n.g.document.documentElement.appendChild(e),t}}},24564:(t,e)=>{"use strict";e.test=function(){return!0},e.install=function(t){return function(){setTimeout(t,0)}}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6643.46c794dc.js.LICENSE.txt b/pr-preview/pr-1298/assets/js/6643.46c794dc.js.LICENSE.txt deleted file mode 100644 index 4f7ccd8a76..0000000000 --- a/pr-preview/pr-1298/assets/js/6643.46c794dc.js.LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/pr-preview/pr-1298/assets/js/6875c492.e21c1f4f.js b/pr-preview/pr-1298/assets/js/6875c492.e21c1f4f.js deleted file mode 100644 index 9d81c9be64..0000000000 --- a/pr-preview/pr-1298/assets/js/6875c492.e21c1f4f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4813],{16946:(e,t,n)=>{n.d(t,{A:()=>l});n(48318);var s=n(7866),a=n(31423),i=n(49214);function l(e){const{metadata:t}=e,{previousPage:n,nextPage:l}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.A,{permalink:n,title:(0,i.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),l&&(0,i.jsx)(a.A,{permalink:l,title:(0,i.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},95439:(e,t,n)=>{n.d(t,{A:()=>l});n(48318);var s=n(59974),a=n(77472),i=n(49214);function l(e){let{items:t,component:n=a.A}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.i,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},74874:(e,t,n)=>{n.r(t),n.d(t,{default:()=>A});n(48318);var s=n(46601),a=n(7866),i=n(53628),l=n(30763),r=n(83682),o=n(33985),c=n(25698),d=n(16946),g=n(5270),u=n(95439),h=n(1181),p=n(31773),m=n(49214);function x(e){const t=function(){const{selectMessage:e}=(0,i.W)();return t=>e(t,(0,a.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}();return(0,a.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function j(e){let{tag:t}=e;const n=x(t);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(l.be,{title:n}),(0,m.jsx)(g.A,{tag:"blog_tags_posts"})]})}function b(e){let{tag:t,items:n,sidebar:s,listMetadata:i}=e;const l=x(t);return(0,m.jsxs)(c.A,{sidebar:s,children:[t.unlisted&&(0,m.jsx)(h.A,{}),(0,m.jsxs)("header",{className:"margin-bottom--xl",children:[(0,m.jsx)(p.A,{as:"h1",children:l}),(0,m.jsx)(o.A,{href:t.allTagsPath,children:(0,m.jsx)(a.A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,m.jsx)(u.A,{items:n}),(0,m.jsx)(d.A,{metadata:i})]})}function A(e){return(0,m.jsxs)(l.e3,{className:(0,s.A)(r.G.wrapper.blogPages,r.G.page.blogTagPostListPage),children:[(0,m.jsx)(j,{...e}),(0,m.jsx)(b,{...e})]})}},1181:(e,t,n)=>{n.d(t,{A:()=>h});n(48318);var s=n(46601),a=n(7866),i=n(39527),l=n(49214);function r(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,l.jsx)(a.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,l.jsx)(i.A,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(83682),g=n(35940);function u(e){let{className:t}=e;return(0,l.jsx)(g.A,{type:"caution",title:(0,l.jsx)(r,{}),className:(0,s.A)(t,d.G.common.unlistedBanner),children:(0,l.jsx)(o,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(u,{...e})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/691071dc.50ece12e.js b/pr-preview/pr-1298/assets/js/691071dc.50ece12e.js deleted file mode 100644 index 465370d54e..0000000000 --- a/pr-preview/pr-1298/assets/js/691071dc.50ece12e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8460],{36502:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>a,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var t=r(49214),i=r(5409);const s={},c=void 0,l={id:"refs/config/mis/definition-properties-accountnamepattern",title:"definition-properties-accountnamepattern",description:"accountNamePattern Type",source:"@site/docs/refs/config/mis/definition-properties-accountnamepattern.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-accountnamepattern",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-accountnamepattern.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-accountnamepattern-properties-regex",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex"},next:{title:"definition-properties-authurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl"}},o={},d=[{value:"accountNamePattern Type",id:"accountnamepattern-type",level:2},{value:"regex",id:"regex",level:2},{value:"regex Type",id:"regex-type",level:3},{value:"errorMessage",id:"errormessage",level:2},{value:"errorMessage Type",id:"errormessage-type",level:3}];function p(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"accountnamepattern-type",children:"accountNamePattern Type"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"object"})," (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",children:"Details"}),")"]}),"\n",(0,t.jsx)(n.h1,{id:"accountnamepattern-properties",children:"accountNamePattern Properties"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Property"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Required"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Nullable"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"#regex",children:"regex"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"string"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex",title:"undefined#/properties/accountNamePattern/properties/regex",children:"Untitled schema"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"#errormessage",children:"errorMessage"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"string"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage",title:"undefined#/properties/accountNamePattern/properties/errorMessage",children:"Untitled schema"})})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"regex",children:"regex"}),"\n",(0,t.jsx)(n.p,{children:"\u8d26\u6237\u540d\u7684\u6b63\u5219\u89c4\u5219"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"regex"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["defined in: ",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex",title:"undefined#/properties/accountNamePattern/properties/regex",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"regex-type",children:"regex Type"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.h2,{id:"errormessage",children:"errorMessage"}),"\n",(0,t.jsx)(n.p,{children:"\u5982\u679c\u8d26\u6237\u540d\u4e0d\u7b26\u5408\u89c4\u5219\u663e\u793a\u4ec0\u4e48"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"errorMessage"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["defined in: ",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage",title:"undefined#/properties/accountNamePattern/properties/errorMessage",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"errormessage-type",children:"errorMessage Type"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})})]})}function a(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>c,x:()=>l});var t=r(48318);const i={},s=t.createContext(i);function c(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6a2e412c.b3a7ba47.js b/pr-preview/pr-1298/assets/js/6a2e412c.b3a7ba47.js deleted file mode 100644 index f94fdc0f55..0000000000 --- a/pr-preview/pr-1298/assets/js/6a2e412c.b3a7ba47.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6963],{60248:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>d,contentTitle:()=>o,default:()=>a,frontMatter:()=>l,metadata:()=>s,toc:()=>p});var n=i(49214),t=i(5409);const l={},o=void 0,s={id:"refs/config/ui/definition-properties-primarycolor",title:"definition-properties-primarycolor",description:"primaryColor Type",source:"@site/docs/refs/config/ui/definition-properties-primarycolor.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-primarycolor",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-primarycolor.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-primarycolor-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap"},next:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition"}},d={},p=[{value:"primaryColor Type",id:"primarycolor-type",level:2},{value:"defaultColor",id:"defaultcolor",level:2},{value:"defaultColor Type",id:"defaultcolor-type",level:3},{value:"defaultColor Default Value",id:"defaultcolor-default-value",level:3},{value:"hostnameMap",id:"hostnamemap",level:2},{value:"hostnameMap Type",id:"hostnamemap-type",level:3}];function c(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h2,{id:"primarycolor-type",children:"primaryColor Type"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," (",(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",children:"Details"}),")"]}),"\n",(0,n.jsx)(r.h1,{id:"primarycolor-properties",children:"primaryColor Properties"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(r.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(r.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(r.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(r.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{style:{textAlign:"left"},children:(0,n.jsx)(r.a,{href:"#defaultcolor",children:"defaultColor"})}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor",title:"undefined#/properties/primaryColor/properties/defaultColor",children:"Untitled schema"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{style:{textAlign:"left"},children:(0,n.jsx)(r.a,{href:"#hostnamemap",children:"hostnameMap"})}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:"Optional"}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(r.td,{style:{textAlign:"left"},children:(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",title:"undefined#/properties/primaryColor/properties/hostnameMap",children:"Untitled schema"})})]})]})]}),"\n",(0,n.jsx)(r.h2,{id:"defaultcolor",children:"defaultColor"}),"\n",(0,n.jsx)(r.p,{children:"\u9ed8\u8ba4\u4e3b\u9898\u8272"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"defaultColor"})}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:["Type: ",(0,n.jsx)(r.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:["defined in: ",(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor",title:"undefined#/properties/primaryColor/properties/defaultColor",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(r.h3,{id:"defaultcolor-type",children:"defaultColor Type"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h3,{id:"defaultcolor-default-value",children:"defaultColor Default Value"}),"\n",(0,n.jsx)(r.p,{children:"The default value is:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-json",children:'"#9B0000"\n'})}),"\n",(0,n.jsx)(r.h2,{id:"hostnamemap",children:"hostnameMap"}),"\n",(0,n.jsx)(r.p,{children:"\u6839\u636e\u57df\u540d\uff08hostname\uff0c\u4e0d\u5305\u62ecport\uff09\u4e0d\u540c\uff0c\u5e94\u7528\u7684\u4e3b\u9898\u8272"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"hostnameMap"})}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"is optional"}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:["Type: ",(0,n.jsx)(r.code,{children:"object"})," (",(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",children:"Details"}),")"]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsx)(r.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:["defined in: ",(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",title:"undefined#/properties/primaryColor/properties/hostnameMap",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(r.h3,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," (",(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",children:"Details"}),")"]})]})}function a(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>o,x:()=>s});var n=i(48318);const t={},l=n.createContext(t);function o(e){const r=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6a813a07.67706247.js b/pr-preview/pr-1298/assets/js/6a813a07.67706247.js deleted file mode 100644 index 6b8738576d..0000000000 --- a/pr-preview/pr-1298/assets/js/6a813a07.67706247.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6270],{63798:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var n=i(49214),r=i(5409);const s={},o=void 0,l={id:"refs/config/ui/definition-properties-footer",title:"definition-properties-footer",description:"footer Type",source:"@site/docs/refs/config/ui/definition-properties-footer.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-footer",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-footer.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-footer-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap"},next:{title:"definition-properties-primarycolor-properties-defaultcolor",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor"}},d={},p=[{value:"footer Type",id:"footer-type",level:2},{value:"defaultText",id:"defaulttext",level:2},{value:"defaultText Type",id:"defaulttext-type",level:3},{value:"hostnameMap",id:"hostnamemap",level:2},{value:"hostnameMap Type",id:"hostnamemap-type",level:3}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"footer-type",children:"footer Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",children:"Details"}),")"]}),"\n",(0,n.jsx)(t.h1,{id:"footer-properties",children:"footer Properties"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"#defaulttext",children:"defaultText"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext",title:"undefined#/properties/footer/properties/defaultText",children:"Untitled schema"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"#hostnamemap",children:"hostnameMap"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"object"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",title:"undefined#/properties/footer/properties/hostnameMap",children:"Untitled schema"})})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"defaulttext",children:"defaultText"}),"\n",(0,n.jsx)(t.p,{children:"\u9ed8\u8ba4\u7684footer\u6587\u672c"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"defaultText"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext",title:"undefined#/properties/footer/properties/defaultText",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"defaulttext-type",children:"defaultText Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})}),"\n",(0,n.jsx)(t.h2,{id:"hostnamemap",children:"hostnameMap"}),"\n",(0,n.jsx)(t.p,{children:"\u6839\u636e\u57df\u540d\uff08hostname\uff0c\u4e0d\u5305\u62ecport\uff09\u4e0d\u540c\uff0c\u663e\u793a\u5728footer\u4e0a\u7684\u6587\u672c"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"hostnameMap"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",children:"Details"}),")"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",title:"undefined#/properties/footer/properties/hostnameMap",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",children:"Details"}),")"]})]})}function f(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>l});var n=i(48318);const r={},s=n.createContext(r);function o(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6b027799.3a861128.js b/pr-preview/pr-1298/assets/js/6b027799.3a861128.js deleted file mode 100644 index 8c22a2801f..0000000000 --- a/pr-preview/pr-1298/assets/js/6b027799.3a861128.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2153],{50356:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>p,default:()=>a,frontMatter:()=>s,metadata:()=>d,toc:()=>c});var r=n(49214),t=n(5409);const s={},p=void 0,d={id:"refs/config/mis/definition-properties-predefinedchargingtypes",title:"definition-properties-predefinedchargingtypes",description:"predefinedChargingTypes Type",source:"@site/docs/refs/config/mis/definition-properties-predefinedchargingtypes.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-predefinedchargingtypes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-predefinedchargingtypes.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-predefinedchargingtypes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items"},next:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition"}},o={},c=[{value:"predefinedChargingTypes Type",id:"predefinedchargingtypes-type",level:2},{value:"predefinedChargingTypes Default Value",id:"predefinedchargingtypes-default-value",level:2}];function f(e){const i={code:"code",h2:"h2",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h2,{id:"predefinedchargingtypes-type",children:"predefinedChargingTypes Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string[]"})}),"\n",(0,r.jsx)(i.h2,{id:"predefinedchargingtypes-default-value",children:"predefinedChargingTypes Default Value"}),"\n",(0,r.jsx)(i.p,{children:"The default value is:"}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-json",children:"[]\n"})})]})}function a(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>p,x:()=>d});var r=n(48318);const t={},s=r.createContext(t);function p(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:p(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6c8a2e8a.db884f74.js b/pr-preview/pr-1298/assets/js/6c8a2e8a.db884f74.js deleted file mode 100644 index 665e7b0ef5..0000000000 --- a/pr-preview/pr-1298/assets/js/6c8a2e8a.db884f74.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7061],{17315:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>a,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var i=r(49214),n=r(5409);const o={},p=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-method",title:"definition-properties-web-properties-connect-properties-method",description:"method Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-method.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-method",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-method.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-method-anyof-1",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1"},next:{title:"definition-properties-web-properties-connect-properties-path",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path"}},c={},d=[{value:"method Type",id:"method-type",level:2}];function f(e){const t={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"method-type",children:"method Type"}),"\n",(0,i.jsxs)(t.p,{children:["merged type (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method",children:"Details"}),")"]}),"\n",(0,i.jsx)(t.p,{children:"any of"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n"]})]})}function a(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>p,x:()=>s});var i=r(48318);const n={},o=i.createContext(n);function p(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:p(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6d05d604.7be2795e.js b/pr-preview/pr-1298/assets/js/6d05d604.7be2795e.js deleted file mode 100644 index 87db34441d..0000000000 --- a/pr-preview/pr-1298/assets/js/6d05d604.7be2795e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6526],{64298:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>p,default:()=>a,frontMatter:()=>t,metadata:()=>c,toc:()=>d});var i=r(49214),s=r(5409);const t={title:"app"},p="README",c={id:"refs/config/app/index",title:"app",description:"Top-level Schemas",source:"@site/docs/refs/config/app/index.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/index.md",tags:[],version:"current",frontMatter:{title:"app"},sidebar:"refs",previous:{title:"\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/"},next:{title:"definition-properties-name",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name"}},o={},d=[{value:"Top-level Schemas",id:"top-level-schemas",level:2},{value:"Other Schemas",id:"other-schemas",level:2},{value:"Objects",id:"objects",level:3},{value:"Arrays",id:"arrays",level:3}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"readme",children:"README"}),"\n",(0,i.jsx)(n.h2,{id:"top-level-schemas",children:"Top-level Schemas"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition",children:"Untitled object in undefined"})," \u2013 ",(0,i.jsx)(n.code,{children:"-"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"other-schemas",children:"Other Schemas"}),"\n",(0,i.jsx)(n.h3,{id:"objects",children:"Objects"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",children:"Untitled object in undefined"})," \u2013 ",(0,i.jsx)(n.code,{children:"undefined#/properties/web"})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",title:"\u5982\u4f55\u8fde\u63a5\u5e94\u7528",children:"Untitled object in undefined"})," \u2013 ",(0,i.jsx)(n.code,{children:"undefined#/properties/web/properties/connect"})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",title:"query\u53c2\u6570",children:"Untitled object in undefined"})," \u2013 ",(0,i.jsx)(n.code,{children:"undefined#/properties/web/properties/connect/properties/query"})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",title:"\u8bbe\u7f6e\u4e3aPOST\u65f6\uff0c\u9700\u8981\u4ee5form data\u5f62\u5f0f\u63d0\u4ea4\u7684\u6570\u636e",children:"Untitled object in undefined"})," \u2013 ",(0,i.jsx)(n.code,{children:"undefined#/properties/web/properties/connect/properties/formData"})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",children:"Untitled object in undefined"})," \u2013 ",(0,i.jsx)(n.code,{children:"undefined#/properties/vnc"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"arrays",children:"Arrays"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes",title:"\u652f\u6301\u542f\u52a8\u8fd9\u4e2aApp\u7684\u8282\u70b9\u540d\u3002\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6240\u6709\u8282\u70b9\u90fd\u53ef\u4ee5\u8fd0\u884c",children:"Untitled array in undefined"})," \u2013 ",(0,i.jsx)(n.code,{children:"undefined#/properties/nodes"})]}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>p,x:()=>c});var i=r(48318);const s={},t=i.createContext(s);function p(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:p(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6d7d51cf.af0a6a97.js b/pr-preview/pr-1298/assets/js/6d7d51cf.af0a6a97.js deleted file mode 100644 index d2d7991098..0000000000 --- a/pr-preview/pr-1298/assets/js/6d7d51cf.af0a6a97.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[681],{14064:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>c,contentTitle:()=>p,default:()=>l,frontMatter:()=>o,metadata:()=>n,toc:()=>d});var t=s(49214),i=s(5409);const o={},p=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword",title:"definition-properties-slurm-properties-mis-properties-dbpassword",description:"dbPassword Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-mis-properties-associationtablename",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename"},next:{title:"definition-properties-slurm-properties-mis-properties-managerurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl"}},c={},d=[{value:"dbPassword Type",id:"dbpassword-type",level:2}];function a(e){const r={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"dbpassword-type",children:"dbPassword Type"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})})]})}function l(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},5409:(e,r,s)=>{s.d(r,{R:()=>p,x:()=>n});var t=s(48318);const i={},o=t.createContext(i);function p(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),t.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6e65c112.35e1aadf.js b/pr-preview/pr-1298/assets/js/6e65c112.35e1aadf.js deleted file mode 100644 index 918cd25042..0000000000 --- a/pr-preview/pr-1298/assets/js/6e65c112.35e1aadf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2726],{86706:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>i});var p=s(49214),n=s(5409);const o={slug:"update-portal-app",title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",authors:["sunyixin"],tags:["scow","scow-portal-apps","scow-apps"]},r=void 0,a={permalink:"/SCOW/pr-preview/pr-1298/blog/update-portal-app",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-07-05-update-app.md",source:"@site/blog/2023-07-05-update-app.md",title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",description:"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c\u5728SCOW\u95e8\u6237\u7cfb\u7edf\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e0b\uff0c\u6211\u4eec\u901a\u8fc7\u5728config/apps\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\uff0c\u5b9e\u73b0\u521b\u5efa\u5404\u4e2a\u96c6\u7fa4\u4e0b\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u3002",date:"2023-07-05T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-portal-apps",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps"},{label:"scow-apps",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps"}],readingTime:1.305,hasTruncateMarker:!1,authors:[{name:"Sun Yixin",title:"Developer",url:"https://github.com/piccaSun",imageURL:"https://avatars.githubusercontent.com/u/43978285",key:"sunyixin"}],frontMatter:{slug:"update-portal-app",title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",authors:["sunyixin"],tags:["scow","scow-portal-apps","scow-apps"]},unlisted:!1,prevItem:{title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0"},nextItem:{title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter"}},c={authorsImageUrls:[void 0]},i=[];function l(e){const t={a:"a",code:"code",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(t.p,{children:["\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c\u5728SCOW\u95e8\u6237\u7cfb\u7edf\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e0b\uff0c\u6211\u4eec\u901a\u8fc7\u5728",(0,p.jsx)(t.code,{children:"config/apps"}),"\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\uff0c\u5b9e\u73b0\u521b\u5efa\u5404\u4e2a\u96c6\u7fa4\u4e0b\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u3002\n\u4f46\u662f\u8003\u8651\u5230\u4e0d\u540c\u96c6\u7fa4\u7684\u8ba1\u7b97\u673a\u8282\u70b9\u4e0b\u5b89\u88c5\u73af\u5883\u4e0d\u540c\uff0c\u53ef\u80fd\u65e0\u6cd5\u6ee1\u8db3\u5bf9\u6240\u6709\u83b7\u53d6\u5230\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u6b63\u5e38\u4f7f\u7528\u3002"]}),"\n",(0,p.jsx)(t.p,{children:"\u4e3a\u4e86\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u3001\u9ad8\u6548\u5730\u7ba1\u7406\u548c\u4f7f\u7528SCOW\u96c6\u7fa4\uff0c\u6211\u4eec\u5728\u65b0\u7248\u672c\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u90e8\u5206\uff0c\u5b9e\u73b0\u4e86\u4ee5\u4e0b\u529f\u80fd\uff1a"}),"\n",(0,p.jsxs)(t.ul,{children:["\n",(0,p.jsxs)(t.li,{children:["\u5b9e\u73b0\u5728",(0,p.jsx)(t.code,{children:"config/clusters/{\u96c6\u7fa4ID}/apps"}),"\u4e0b\u5bf9\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u8fdb\u884c\u5355\u72ec\u914d\u7f6e"]}),"\n",(0,p.jsxs)(t.li,{children:["\u540c\u65f6\u6709\u6548\u517c\u5bb9\u65e7\u7248\u672c",(0,p.jsx)(t.code,{children:"config/apps"}),"\u4e0b\u6240\u6709\u96c6\u7fa4\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e"]}),"\n",(0,p.jsx)(t.li,{children:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u589e\u52a0\u53ef\u9009\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\uff0c\u5728\u521b\u5efa\u5e94\u7528\u9875\u9762\u5b9e\u73b0\u4ea4\u4e92\u5f0f\u5e94\u7528\u56fe\u6807\u53ef\u89c6\u5316\u7ba1\u7406"}),"\n"]}),"\n",(0,p.jsxs)(t.p,{children:["\u8be6\u7ec6\u8bf4\u660e\u53ef\u53c2\u8003SCOW",(0,p.jsx)(t.code,{children:"\u90e8\u7f72\u548c\u914d\u7f6e"}),"\u4e0b\u7684",(0,p.jsx)(t.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps",children:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e"}),"\u3002"]})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,p.jsx)(t,{...e,children:(0,p.jsx)(l,{...e})}):l(e)}},5409:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>a});var p=s(48318);const n={},o=p.createContext(n);function r(e){const t=p.useContext(o);return p.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),p.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/6ffbd0f4.01492736.js b/pr-preview/pr-1298/assets/js/6ffbd0f4.01492736.js deleted file mode 100644 index 1a4e97b9ac..0000000000 --- a/pr-preview/pr-1298/assets/js/6ffbd0f4.01492736.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4453],{29383:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var r=n(49214),i=n(5409);const s={},o=void 0,p={id:"refs/config/portal/definition-properties-hometext-properties-hostnamemap",title:"definition-properties-hometext-properties-hostnamemap",description:"hostnameMap Type",source:"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometext-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometext-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties"},next:{title:"definition-properties-hometext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext"}},l={},d=[{value:"hostnameMap Type",id:"hostnamemap-type",level:2},{value:"hostnameMap Default Value",id:"hostnamemap-default-value",level:2},{value:"Pattern: ^.*$",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"object"})," (",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",children:"Details"}),")"]}),"\n",(0,r.jsx)(t.h2,{id:"hostnamemap-default-value",children:"hostnameMap Default Value"}),"\n",(0,r.jsx)(t.p,{children:"The default value is:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-json",children:"{}\n"})}),"\n",(0,r.jsx)(t.h1,{id:"hostnamemap-properties",children:"hostnameMap Properties"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"^.*$"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-",title:"undefined#/properties/homeText/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,r.jsxs)(t.h2,{id:"pattern-",children:["Pattern: ",(0,r.jsx)(t.code,{children:"^.*$"})]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"^.*$"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["Type: ",(0,r.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["defined in: ",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-",title:"undefined#/properties/homeText/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})})]})}function c(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>p});var r=n(48318);const i={},s=r.createContext(i);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/707cf715.7ea09377.js b/pr-preview/pr-1298/assets/js/707cf715.7ea09377.js deleted file mode 100644 index 05a9eec6c2..0000000000 --- a/pr-preview/pr-1298/assets/js/707cf715.7ea09377.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9659],{33070:e=>{e.exports=JSON.parse('{"title":"\u8ba4\u8bc1","description":"\u5173\u4e8e\u8ba4\u8bc1\u7cfb\u7edf\u7684\u90e8\u7f72\u548c\u914d\u7f6e","slug":"/category/\u8ba4\u8bc1","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1","navigation":{"previous":{"title":"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config"},"next":{"title":"\u7b80\u4ecb","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/71e92d78.a4bfc40c.js b/pr-preview/pr-1298/assets/js/71e92d78.a4bfc40c.js deleted file mode 100644 index 6106a3c5c4..0000000000 --- a/pr-preview/pr-1298/assets/js/71e92d78.a4bfc40c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4534],{8477:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>o,contentTitle:()=>i,default:()=>a,frontMatter:()=>n,metadata:()=>r,toc:()=>l});var c=t(49214),d=t(5409);const n={sidebar_position:1,title:"\u76f8\u5bf9\u8def\u5f84"},i="\u81ea\u5b9a\u4e49\u76f8\u5bf9\u8def\u5f84",r={id:"deploy/config/customization/basepath",title:"\u76f8\u5bf9\u8def\u5f84",description:"\u4ec0\u4e48\u662f\u76f8\u5bf9\u8def\u5f84\uff08base path\uff09",source:"@site/docs/deploy/config/customization/basepath.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/basepath",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/basepath.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u76f8\u5bf9\u8def\u5f84"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49"},next:{title:"\u81ea\u5b9a\u4e49\u524d\u7aef\u9879\u76ee\u4e3b\u9898",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui"}},o={},l=[{value:"\u4ec0\u4e48\u662f\u76f8\u5bf9\u8def\u5f84\uff08base path\uff09",id:"\u4ec0\u4e48\u662f\u76f8\u5bf9\u8def\u5f84base-path",level:2},{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:2}];function h(e){const s={code:"code",h1:"h1",h2:"h2",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.h1,{id:"\u81ea\u5b9a\u4e49\u76f8\u5bf9\u8def\u5f84",children:"\u81ea\u5b9a\u4e49\u76f8\u5bf9\u8def\u5f84"}),"\n",(0,c.jsx)(s.h2,{id:"\u4ec0\u4e48\u662f\u76f8\u5bf9\u8def\u5f84base-path",children:"\u4ec0\u4e48\u662f\u76f8\u5bf9\u8def\u5f84\uff08base path\uff09"}),"\n",(0,c.jsxs)(s.p,{children:["\u5047\u8bbe\u6211\u4eec\u7684\u7cfb\u7edf\u90e8\u7f72\u5728",(0,c.jsx)(s.code,{children:"https://scowtest.com"}),"\u4e0b\uff0c\u90a3\u4e48\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u6b64URL\uff0c\u5373\u53ef\u8bbf\u95ee\u7cfb\u7edf\u3002\u5728\u8fd9\u79cd\u90e8\u7f72\u6761\u4ef6\u4e0b\uff0c\u6211\u4eec\u8bf4\uff0c\u7cfb\u7edf\u90e8\u7f72\u5728",(0,c.jsx)(s.code,{children:"scowtest.com"}),"\u57df\u540d\u4e0b\uff0c\u5176\u76f8\u5bf9\u4e8e\u57df\u540d\u7684\u8def\u5f84\uff08\u76f8\u5bf9\u8def\u5f84\uff09\u4e3a\u6839\u8def\u5f84\uff0c\u5373",(0,c.jsx)(s.code,{children:"/"}),"\u3002"]}),"\n",(0,c.jsxs)(s.p,{children:["\u5728\u4e00\u4e9b\u7279\u6b8a\u6761\u4ef6\u4e0b\uff0c\u6211\u4eec\u60f3\u4f7f\u7528\u540c\u4e00\u4e2a\u57df\u540d\u90e8\u7f72\u591a\u4e2a\u7cfb\u7edf\uff0c\u6bcf\u4e2a\u7cfb\u7edf\u90e8\u7f72\u5728\u4e00\u4e2a\u57df\u540d\u7684\u67d0\u4e2a",(0,c.jsxs)(s.strong,{children:["\u76f8\u5bf9\u8def\u5f84(base path)",(0,c.jsxs)(s.strong,{children:["\u4e0b\uff0c\u4f8b\u5982\uff0c\u6211\u4eec\u53ef\u80fd\u60f3\u901a\u8fc7",(0,c.jsx)(s.code,{children:"https://scowtest.com/scow"}),"\u8bbf\u95ee\u7cfb\u7edf\u3002\u5728\u8fd9\u79cd\u6761\u4ef6\u4e0b\uff0c\u7cfb\u7edf\u4ecd\u7136\u90e8\u7f72\u5728",(0,c.jsx)(s.code,{children:"scowtest.com"}),"\u57df\u540d\u4e0b\uff0c\u4f46\u662f\u5176"]}),"\u76f8\u5bf9\u8def\u5f84"]}),"\u4e3a",(0,c.jsx)(s.code,{children:"/scow"}),"\u3002"]}),"\n",(0,c.jsx)(s.h2,{id:"\u914d\u7f6e",children:"\u914d\u7f6e"}),"\n",(0,c.jsxs)(s.p,{children:["SCOW\u652f\u6301\u5c06\u7cfb\u7edf\u7684\u95e8\u6237\u548c\u7ba1\u7406\u7cfb\u7edf\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u76f8\u5bf9\u8def\u5f84\u4e0b\uff0c\u4ec5\u9700\u901a\u8fc7\u4fee\u6539",(0,c.jsx)(s.code,{children:"install.yaml"}),"\u4e2d\u7684",(0,c.jsx)(s.code,{children:"basePath"}),", ",(0,c.jsx)(s.code,{children:"portal.basePath"}),"\u548c",(0,c.jsx)(s.code,{children:"mis.basePath"}),"\u914d\u7f6e\u5373\u53ef\u3002"]}),"\n",(0,c.jsxs)(s.p,{children:[(0,c.jsx)(s.code,{children:"install.yaml"}),"\u4e2d\uff0c",(0,c.jsx)(s.code,{children:"basePath"}),"\u3001",(0,c.jsx)(s.code,{children:"portal.basePath"}),"\u548c",(0,c.jsx)(s.code,{children:"mis.basePath"}),"\u5747\u4e0d\u4ee5",(0,c.jsx)(s.code,{children:"/"}),"\u7ed3\u5c3e\u3002",(0,c.jsx)(s.code,{children:"basePath"}),"\u586b\u5199\u6574\u4e2a\u7cfb\u7edf\u7684\u6839\u8def\u5f84\uff0c",(0,c.jsx)(s.code,{children:"portal.basePath"}),"\u548c",(0,c.jsx)(s.code,{children:"mis.basePath"}),"\u5206\u522b\u8868\u793a\u95e8\u6237\u7cfb\u7edf\u548c\u7ba1\u7406\u7cfb\u7edf\u76f8\u5bf9\u4e8e\u7cfb\u7edf\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u9075\u5faa\u4ee5\u4e0b\u7684\u7f16\u5199\u539f\u5219\uff1a"]}),"\n",(0,c.jsxs)(s.table,{children:[(0,c.jsx)(s.thead,{children:(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.th,{children:"\u6574\u4e2a\u7cfb\u7edf\u7684\u8bbf\u95ee\u8def\u5f84"}),(0,c.jsx)(s.th,{children:"\u95e8\u6237\u7cfb\u7edf\u7684\u8bbf\u95ee\u8def\u5f84"}),(0,c.jsx)(s.th,{children:"\u7ba1\u7406\u7cfb\u7edf\u7684\u8bbf\u95ee\u8def\u5f84"}),(0,c.jsx)(s.th,{children:(0,c.jsx)(s.code,{children:"basePath"})}),(0,c.jsx)(s.th,{children:(0,c.jsx)(s.code,{children:"portal.basePath"})}),(0,c.jsx)(s.th,{children:(0,c.jsx)(s.code,{children:"mis.basePath"})})]})}),(0,c.jsxs)(s.tbody,{children:[(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/mis"}),(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/mis"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/portal"}),(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/portal"}),(0,c.jsx)(s.td,{children:"/"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"/scow"}),(0,c.jsx)(s.td,{children:"/scow"}),(0,c.jsx)(s.td,{children:"/scow/mis"}),(0,c.jsx)(s.td,{children:"/scow"}),(0,c.jsx)(s.td,{children:"/"}),(0,c.jsx)(s.td,{children:"/mis"})]}),(0,c.jsxs)(s.tr,{children:[(0,c.jsx)(s.td,{children:"/scow"}),(0,c.jsx)(s.td,{children:"/scow/portal"}),(0,c.jsx)(s.td,{children:"/scow"}),(0,c.jsx)(s.td,{children:"/scow"}),(0,c.jsx)(s.td,{children:"/portal"}),(0,c.jsx)(s.td,{children:"/"})]})]})]})]})}function a(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(h,{...e})}):h(e)}},5409:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>r});var c=t(48318);const d={},n=c.createContext(d);function i(e){const s=c.useContext(n);return c.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),c.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/725950c0.f2cbe018.js b/pr-preview/pr-1298/assets/js/725950c0.f2cbe018.js deleted file mode 100644 index 116aa74a6f..0000000000 --- a/pr-preview/pr-1298/assets/js/725950c0.f2cbe018.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9160],{97056:e=>{e.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7330e3de.62cdc83c.js b/pr-preview/pr-1298/assets/js/7330e3de.62cdc83c.js deleted file mode 100644 index 84cd55d706..0000000000 --- a/pr-preview/pr-1298/assets/js/7330e3de.62cdc83c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[89],{33261:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var i=r(49214),o=r(5409);const s={},n=void 0,p={id:"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename",title:"definition-properties-fetchjobs-properties-db-properties-tablename",description:"tableName Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-db-properties-port",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port"},next:{title:"definition-properties-fetchjobs-properties-db-properties-user",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user"}},c={},d=[{value:"tableName Type",id:"tablename-type",level:2}];function f(e){const t={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"tablename-type",children:"tableName Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>p});var i=r(48318);const o={},s=i.createContext(o);function n(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7347c163.7212dd95.js b/pr-preview/pr-1298/assets/js/7347c163.7212dd95.js deleted file mode 100644 index f9298212bc..0000000000 --- a/pr-preview/pr-1298/assets/js/7347c163.7212dd95.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3883],{15098:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>p});var r=n(49214),s=n(5409);const t={},d=void 0,l={id:"refs/config/mis/definition-properties-db",title:"definition-properties-db",description:"db Type",source:"@site/docs/refs/config/mis/definition-properties-db.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-db",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-db.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-db-properties-user",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user"},next:{title:"definition-properties-fetchjobs-properties-batchsize",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize"}},c={},p=[{value:"db Type",id:"db-type",level:2},{value:"host",id:"host",level:2},{value:"host Type",id:"host-type",level:3},{value:"port",id:"port",level:2},{value:"port Type",id:"port-type",level:3},{value:"user",id:"user",level:2},{value:"user Type",id:"user-type",level:3},{value:"password",id:"password",level:2},{value:"password Type",id:"password-type",level:3},{value:"dbName",id:"dbname",level:2},{value:"dbName Type",id:"dbname-type",level:3},{value:"debug",id:"debug",level:2},{value:"debug Type",id:"debug-type",level:3}];function o(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h2,{id:"db-type",children:"db Type"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",children:"Details"}),")"]}),"\n",(0,r.jsx)(i.h1,{id:"db-properties",children:"db Properties"}),"\n",(0,r.jsxs)(i.table,{children:[(0,r.jsx)(i.thead,{children:(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,r.jsxs)(i.tbody,{children:[(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#host",children:"host"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"string"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host",title:"undefined#/properties/db/properties/host",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#port",children:"port"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"integer"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port",title:"undefined#/properties/db/properties/port",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#user",children:"user"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"string"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user",title:"undefined#/properties/db/properties/user",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#password",children:"password"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"string"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password",title:"undefined#/properties/db/properties/password",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#dbname",children:"dbName"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"string"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname",title:"undefined#/properties/db/properties/dbName",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#debug",children:"debug"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"boolean"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug",title:"undefined#/properties/db/properties/debug",children:"Untitled schema"})})]})]})]}),"\n",(0,r.jsx)(i.h2,{id:"host",children:"host"}),"\n",(0,r.jsx)(i.p,{children:"\u6570\u636e\u5e93\u5730\u5740"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"host"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host",title:"undefined#/properties/db/properties/host",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"host-type",children:"host Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.h2,{id:"port",children:"port"}),"\n",(0,r.jsx)(i.p,{children:"\u6570\u636e\u5e93\u7aef\u53e3"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"port"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"integer"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port",title:"undefined#/properties/db/properties/port",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"port-type",children:"port Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"integer"})}),"\n",(0,r.jsx)(i.h2,{id:"user",children:"user"}),"\n",(0,r.jsx)(i.p,{children:"\u6570\u636e\u5e93\u7528\u6237\u540d"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"user"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user",title:"undefined#/properties/db/properties/user",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"user-type",children:"user Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.h2,{id:"password",children:"password"}),"\n",(0,r.jsx)(i.p,{children:"\u6570\u636e\u5e93\u5bc6\u7801"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"password"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password",title:"undefined#/properties/db/properties/password",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"password-type",children:"password Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.h2,{id:"dbname",children:"dbName"}),"\n",(0,r.jsx)(i.p,{children:"\u6570\u636e\u5e93\u6570\u636e\u5e93\u540d"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"dbName"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname",title:"undefined#/properties/db/properties/dbName",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"dbname-type",children:"dbName Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.h2,{id:"debug",children:"debug"}),"\n",(0,r.jsx)(i.p,{children:"\u6253\u5f00ORM\u7684debug\u6a21\u5f0f"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"debug"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug",title:"undefined#/properties/db/properties/debug",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"debug-type",children:"debug Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"boolean"})})]})}function h(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>d,x:()=>l});var r=n(48318);const s={},t=r.createContext(s);function d(e){const i=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/73781f44.fdccafe5.js b/pr-preview/pr-1298/assets/js/73781f44.fdccafe5.js deleted file mode 100644 index 60b65b2b6d..0000000000 --- a/pr-preview/pr-1298/assets/js/73781f44.fdccafe5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7469],{59878:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>_,contentTitle:()=>k,default:()=>O,frontMatter:()=>P,metadata:()=>S,toc:()=>V});var r=t(49214),s=t(5409),l=t(48318),i=t(46601),c=t(90817),o=t(66325),a=t(65828),u=t(96106),d=t(67987),h=t(15489);function p(e){return l.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,l.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function m(e){const{values:n,children:t}=e;return(0,l.useMemo)((()=>{const e=n??function(e){return p(e).map((e=>{let{props:{value:n,label:t,attributes:r,default:s}}=e;return{value:n,label:t,attributes:r,default:s}}))}(t);return function(e){const n=(0,d.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function x(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function j(e){let{queryString:n=!1,groupId:t}=e;const r=(0,o.W6)(),s=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,u.aZ)(s),(0,l.useCallback)((e=>{if(!s)return;const n=new URLSearchParams(r.location.search);n.set(s,e),r.replace({...r.location,search:n.toString()})}),[s,r])]}function b(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,s=m(e),[i,c]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!x({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const r=t.find((e=>e.default))??t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:s}))),[o,u]=j({queryString:t,groupId:r}),[d,p]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,s]=(0,h.Dv)(t);return[r,(0,l.useCallback)((e=>{t&&s.set(e)}),[t,s])]}({groupId:r}),b=(()=>{const e=o??d;return x({value:e,tabValues:s})?e:null})();(0,a.A)((()=>{b&&c(b)}),[b]);return{selectedValue:i,selectValue:(0,l.useCallback)((e=>{if(!x({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);c(e),u(e),p(e)}),[u,p,s]),tabValues:s}}var f=t(12144);const g={tabList:"tabList_znvL",tabItem:"tabItem_CKqo"};function v(e){let{className:n,block:t,selectedValue:s,selectValue:l,tabValues:o}=e;const a=[],{blockElementScrollPositionUntilNextRender:u}=(0,c.a_)(),d=e=>{const n=e.currentTarget,t=a.indexOf(n),r=o[t].value;r!==s&&(u(n),l(r))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=a.indexOf(e.currentTarget)+1;n=a[t]??a[0];break}case"ArrowLeft":{const t=a.indexOf(e.currentTarget)-1;n=a[t]??a[a.length-1];break}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.A)("tabs",{"tabs--block":t},n),children:o.map((e=>{let{value:n,label:t,attributes:l}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>a.push(e),onKeyDown:h,onClick:d,...l,className:(0,i.A)("tabs__item",g.tabItem,l?.className,{"tabs__item--active":s===n}),children:t??n},n)}))})}function w(e){let{lazy:n,children:t,selectedValue:s}=e;const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===s));return e?(0,l.cloneElement)(e,{className:"margin-top--md"}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function y(e){const n=b(e);return(0,r.jsxs)("div",{className:(0,i.A)("tabs-container",g.tabList),children:[(0,r.jsx)(v,{...e,...n}),(0,r.jsx)(w,{...e,...n})]})}function A(e){const n=(0,f.A)();return(0,r.jsx)(y,{...e,children:p(e.children)},String(n))}const C={tabItem:"tabItem_pFUt"};function I(e){let{children:n,hidden:t,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,i.A)(C.tabItem,s),hidden:t,children:n})}const P={sidebar_position:2,title:"\u8ba1\u8d39\u6536\u8d39"},k="\u8ba1\u8d39\u6536\u8d39",S={id:"info/mis/business/billing",title:"\u8ba1\u8d39\u6536\u8d39",description:"\u7cfb\u7edf\u76ee\u524d\u91c7\u7528\u4e00\u4e2a\u72ec\u7acb\u7684\u8d22\u52a1\u7cfb\u7edf\u3002",source:"@site/docs/info/mis/business/billing.mdx",sourceDirName:"info/mis/business",slug:"/info/mis/business/billing",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/mis/business/billing.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u8ba1\u8d39\u6536\u8d39"},sidebar:"info",previous:{title:"\u7528\u6237\u6a21\u578b",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users"},next:{title:"AI \u7cfb\u7edf\u7b80\u4ecb\uff08Beta\uff09",permalink:"/SCOW/pr-preview/pr-1298/docs/info/ai/"}},_={},V=[{value:"\u8ba1\u8d39\u89c4\u5219",id:"\u8ba1\u8d39\u89c4\u5219",level:2},{value:"\u4ece\u7f51\u9875\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868",id:"\u4ece\u7f51\u9875\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868",level:2},{value:"\u5feb\u901f\u521b\u5efa\u8ba1\u8d39\u89c4\u5219",id:"\u5feb\u901f\u521b\u5efa\u8ba1\u8d39\u89c4\u5219",level:2}];function q(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u8ba1\u8d39\u6536\u8d39",children:"\u8ba1\u8d39\u6536\u8d39"}),"\n",(0,r.jsx)(n.p,{children:"\u7cfb\u7edf\u76ee\u524d\u91c7\u7528\u4e00\u4e2a\u72ec\u7acb\u7684\u8d22\u52a1\u7cfb\u7edf\u3002"}),"\n",(0,r.jsx)(n.p,{children:"\u6536\u8d39\uff1a"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"\u7cfb\u7edf\u91c7\u7528\u9884\u4ed8\u8d39\u5236\uff0c\u6bcf\u4e2a\u79df\u6237\u548c\u8d26\u6237\u5177\u6709\u4f59\u989d"}),"\n",(0,r.jsx)(n.li,{children:"\u5e73\u53f0\u7ba1\u7406\u5458\u53ef\u4ee5\u7ed9\u79df\u6237\u589e\u52a0\u4f59\u989d\uff0c\u79df\u6237\u7ba1\u7406\u5458\u53ef\u4ee5\u7ed9\u8d26\u6237\u589e\u52a0\u4f59\u989d"}),"\n",(0,r.jsx)(n.li,{children:"\u5728\u6570\u636e\u5e93\u4e2d\u4f59\u989d\u5b58\u50a8\u5230\u5c0f\u6570\u70b9\u540e4\u4f4d\uff0c\u524d\u53f0\u663e\u793a3\u4f4d"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"\u8ba1\u8d39\uff1a"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\u7cfb\u7edf\u7684\u8ba1\u8d39\u6536\u8d39\u6a21\u578b\u6309\u7167\u96c6\u7fa4\u3001\u5206\u533a\u548cQOS\u8fdb\u884c\u6536\u8d39","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\u53c2\u8003",(0,r.jsx)(n.a,{href:"https://hpc.pku.edu.cn/guide_6.html",children:"\u5317\u5927\u9ad8\u6027\u80fd\u5e73\u53f0\u6536\u8d39\u6807\u51c6"}),"\u8bbe\u8ba1"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:"\u7cfb\u7edf\u652f\u6301\u591a\u7ea7\u8ba1\u8d39\uff1a\u5e73\u53f0\u5bf9\u79df\u6237\u4f7f\u7528\u4e00\u4e2a\u7edf\u4e00\u7684\u6536\u8d39\u6807\u51c6\uff0c\u800c\u79df\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u79df\u6237\u5185\u7684\u8d26\u6237\u7684\u8d39\u7528\u6807\u51c6"}),"\n",(0,r.jsxs)(n.li,{children:["\u7cfb\u7edf\u652f\u6301\u7528\u6237",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies",children:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"\u8ba1\u8d39\u89c4\u5219",children:"\u8ba1\u8d39\u89c4\u5219"}),"\n",(0,r.jsxs)(n.p,{children:["\u670d\u52a1\u5668\u4f1a\u5b9a\u671f\u5730\u4ece",(0,r.jsx)(n.strong,{children:"\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\u4e2d\u83b7\u53d6\u5df2\u5b8c\u6210\u7684\u4f5c\u4e1a\u4fe1\u606f\uff0c\u5e76\u6839\u636e\u89c4\u5219\u5bf9\u79df\u6237\u548c\u8d26\u6237\u8fdb\u884c\u6263\u8d39\u64cd\u4f5c\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u7cfb\u7edf\u8ba1\u8d39\u4ee5",(0,r.jsx)(n.strong,{children:"\u8d39\u7528\u9879\u76ee price item"}),"\u4e3a\u57fa\u7840\uff0c\u6bcf\u4e2a\u8ba1\u8d39\u9879\u6709\u72ec\u7279\u7684ID\u4ee5\u53ca\u4ef7\u683c\uff0c\u6bcf\u4e2a(\u96c6\u7fa4,\u5206\u533a,QOS)\u9879\u5e94\u8be5\u6709\u4e00\u4e2a\u72ec\u7279\u7684\u8ba1\u8d39\u9879\u3002\u8ba1\u8d39\u9879\u4e00\u65e6\u521b\u5efa\u548c\u5206\u914d\u4e0d\u80fd\u88ab\u91cd\u65b0\u5206\u914d\u3001\u4fee\u6539\u6216\u8005\u5220\u9664\uff0c\u5982\u679c\u60a8\u60f3\u4fee\u6539\u4e00\u4e2a\u8ba1\u8d39\u9879\u7684\u4ef7\u683c\uff0c\u60a8\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u8ba1\u8d39\u9879\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u8d39\u7528\u9879\u76ee\u7684\u4fe1\u606f\u5b58\u653e\u5728\u6570\u636e\u5e93\u7684",(0,r.jsx)(n.code,{children:"job_price_item"}),"\u8868\u4e2d\u3002\u6bcf\u6b21\u9700\u8981\u8ba1\u7b97\u4ef7\u683c\u65f6\uff0c\u670d\u52a1\u5668\u5c06\u4f1a\u4ece\u6570\u636e\u5e93\u4e2d\u53d6\u5f97\u6240\u6709\u8ba1\u8d39\u9879\uff0c\u5e76\u5f97\u5230\u6bcf\u4e2a(\u96c6\u7fa4,\u5206\u533a,QOS)\u7684\u6700\u65b0\u7684\u8ba1\u8d39\u89c4\u5219\u3002\u5982\u679c\u5728\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u7684\u67d0\u4e2aQOS\u4e0d\u5b58\u5728\u8d39\u7528\u9879\uff0c\u670d\u52a1\u5668\u5c06\u4f1a\u62a5\u9519\u3002"]}),"\n",(0,r.jsx)(n.p,{children:"\u6bcf\u4e2a\u4f5c\u4e1a\u7684\u8d39\u7528\u8ba1\u7b97\u65b9\u6cd5\u5982\u4e0b\uff1a"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["\u56db\u820d\u4e94\u5165(\u4f5c\u4e1a\u6301\u7eed\u5c0f\u65f6 (",(0,r.jsx)(n.code,{children:"timeUsed"})," / 3600) x \u7528\u91cf x \u6240\u9002\u7528\u7684\u8d39\u7528\u9879\u76ee\u7684\u4ef7\u683c)"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"\u6bcf\u4e2a\u4f5c\u4e1a\u7684\u7528\u91cf\u7531\u8ba1\u8d39\u7b56\u7565(amount)\u786e\u5b9a\uff0c\u652f\u6301\u7684\u8ba1\u8d39\u7b56\u7565\u53d6\u503c\u5982\u4e0b\uff1a"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"amount"}),(0,r.jsx)(n.th,{children:"\u603b\u91cf\u7b97\u6cd5"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"cpusAlloc"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"cpusAlloc"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"gpu"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"gpu"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"max-cpusAlloc-mem"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"max(cpusAlloc, \u5411\u4e0a\u53d6\u6574(memReq / (\u5206\u533a\u5185\u5b58\u91cf/\u5206\u533a\u6838\u5fc3\u6570)))"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"max-gpu-cpusAlloc"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"max(gpu, \u5411\u4e0a\u53d6\u6574(cpusAlloc / (\u5206\u533a\u6838\u5fc3\u6570/\u5206\u533agpu\u6570)))"})})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"\u5728\u8ba1\u7b97\u8fc7\u7a0b\u4e2d\u5982\u679c\u53d1\u73b0\u4e86\u5176\u4ed6\u7b56\u7565\uff0c\u5219\u6574\u4e2a\u4f5c\u4e1a\u7684\u8d39\u7528\u4e3a0\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"\u4ece\u7f51\u9875\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868",children:"\u4ece\u7f51\u9875\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868"}),"\n",(0,r.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u5728\u7cfb\u7edf\u521d\u59cb\u5316\u65f6\u6216\u8005\u4ee5\u5e73\u53f0\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7cfb\u7edf\u540e\u8fdb\u5165",(0,r.jsx)(n.strong,{children:"\u5e73\u53f0\u7ba1\u7406"}),"->",(0,r.jsx)(n.strong,{children:"\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868"}),"\uff0c\u5728\u7f51\u9875\u4e0a\u7f16\u8f91\u4f5c\u4e1a\u4ef7\u683c\u8868\u3002"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"\u4f5c\u4e1a\u4ef7\u683c\u8868",src:t(83e3).A+"",width:"2418",height:"1057"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"\u4fee\u6539\u4f5c\u4e1a\u4ef7\u683c",src:t(50752).A+"",width:"997",height:"935"})}),"\n",(0,r.jsx)(n.p,{children:"\u65b0\u7684\u4f5c\u4e1a\u4ef7\u683c\u8868\u5c06\u5728\u4e0b\u6b21\u83b7\u53d6\u4f5c\u4e1a\u65f6\u751f\u6548\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"\u5feb\u901f\u521b\u5efa\u8ba1\u8d39\u89c4\u5219",children:"\u5feb\u901f\u521b\u5efa\u8ba1\u8d39\u89c4\u5219"}),"\n",(0,r.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a",(0,r.jsx)(n.code,{children:"config/priceItems.{json|yml|yaml}"}),"\u6587\u4ef6\uff0c\u5b9a\u4e49(\u96c6\u7fa4,\u5206\u533a,QOS)\u9879\u4ee5\u53ca\u5bf9\u5e94\u7684\u8d39\u7528\u9879\u76ee\uff0c\u670d\u52a1\u5668\u53ef\u4ee5\u5feb\u901f\u6839\u636e\u8fd9\u4e9b\u4fe1\u606f\u5728\u6570\u636e\u5e93\u4e2d\u521b\u5efa\u8d39\u7528\u9879\u76ee\u3002\u6587\u4ef6\u683c\u5f0f\u4ee5\u53ca\u5404\u4e2a\u5b57\u6bb5\u7684\u89e3\u91ca\u8bf7\u53c2\u8003\u4e0b\u5217yaml\u6587\u4ef6\u7684\u6ce8\u91ca\u3002"]}),"\n","\n",(0,r.jsxs)(A,{children:[(0,r.jsx)(I,{value:"config/priceItems.yml",default:!0,children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",children:"default: # \u9ed8\u8ba4\u89c4\u5219\uff0c\u5bf9\u6240\u6709\u96c6\u7fa4\u548c\u79df\u6237\u751f\u6548\n hpc01: # \u5bf9hpc01\u96c6\u7fa4\u7684...\n compute: # compute\u5206\u533a\u7684...\n low: # QOS\u4e3alow\u7684\u4efb\u52a1\n id: HPC01 # \u8d39\u7528\u9879\u76eeID\u4e3aHPC01\n price: '1.00' # \u57fa\u7840\u4ef7\u683c\u4e3a1.00\uff0c\u5b57\u7b26\u4e32\u5f62\u5f0f\n amount: 'cpusAlloc' # \u8ba1\u8d39\u7b56\u7565\uff0c\u770b\u4e0a\u6587\n normal:\n id: HPC02\n price: '2.00'\n amount: 'cpusAlloc'\n high:\n id: HPC03\n price: '3.00'\n amount: 'cpusAlloc'\n GPU: # \u5982\u679c\u6574\u4e2a\u5206\u533a\u7684\u8d39\u7528\u76f8\u540c\uff0c\u60a8\u4e5f\u53ef\u4ee5\u7ed9\u4e00\u6574\u4e2a\u5206\u533a\u5b9a\u4e49\u4e00\u4e2a\u8d39\u7528\u9879\u76ee\n id: HPC04\n price: '10.00'\n amount: 'cpusAlloc'\ntenant_1: # \u5bf9\u79df\u6237tenant_1\u7684\u8d26\u6237\u7528\u6237\u53d1\u8d77\u7684\u4efb\u52a1\uff0c\u5728\u9ed8\u8ba4\u89c4\u5219\u7684\u57fa\u7840\u4e0a\uff0c\u8986\u76d6\u4ee5\u4e0b\u914d\u7f6e\n hpc01:\n GPU:\n low:\n id: HPC07 # \u5bf9\u79df\u6237tenant_1\u7684hpc01.GPU.low\u7684\u4efb\u52a1\uff0c\u4ef7\u683c\u4e3a12.00\n price: '12.00'\n amount: 'cpusAlloc'\n"})})}),(0,r.jsx)(I,{value:"config/priceItems.json",default:!0,children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{\n "default": {\n "hpc01": {\n "compute": {\n "low": {\n "id": "HPC01",\n "price": "1.00",\n "amount": "cpusAlloc"\n },\n "normal": {\n "id": "HPC02",\n "price": "2.00",\n "amount": "cpusAlloc"\n },\n "high": {\n "id": "HPC03",\n "price": "3.00",\n "amount": "cpusAlloc"\n }\n },\n "GPU": {\n "low": {\n "id": "HPC04",\n "price": "10.00",\n "amount": "cpusAlloc"\n },\n "normal": {\n "id": "HPC05",\n "price": "20.00",\n "amount": "cpusAlloc"\n },\n "high": {\n "id": "HPC06",\n "price": "30.00",\n "amount": "cpusAlloc"\n }\n }\n }\n },\n "tenant_1": {\n "hpc01": {\n "GPU": {\n "low": {\n "id": "HPC07",\n "price": "12.00",\n "amount": "cpusAlloc"\n }\n }\n }\n }\n}\n'})})})]}),"\n",(0,r.jsx)(n.p,{children:"\u6ce8\u610f\u4e8b\u9879\uff1a"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"\u6bcf\u4e2a\u8ba1\u8d39\u9879\u5e94\u8be5\u53ea\u51fa\u73b0\u4e00\u6b21\u3002\u5373\u4f7f\u591a\u4e2aQOS\u8d39\u7528\u76f8\u540c\uff0c\u4e5f\u5e94\u8be5\u5b9a\u4e49\u4e24\u4e2a\u8ba1\u8d39\u9879"}),"\n",(0,r.jsx)(n.li,{children:"\u6570\u636e\u5e93\u4e2d\u4e0d\u5b58\u5728\u5177\u6709\u76f8\u540c\u8ba1\u8d39\u9879\u540d\u7684\u884c"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5728\u6570\u636e\u5e93\u6b63\u5728\u8fd0\u884c\u3001",(0,r.jsx)(n.code,{children:"docker-compose.yml"}),"\u914d\u7f6e\u7f16\u5199\u5b8c\u6210\u7684\u6761\u4ef6\u4e0b\uff0c\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5feb\u901f\u5728\u6570\u636e\u5e93\u4e2d\u521b\u5efa\u8d39\u7528\u9879\u4fe1\u606f\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"docker compose run mis-server createPriceItems\n"})})]})}function O(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(q,{...e})}):q(e)}},50752:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/edit-price-item-d984facac9485f1863b7a8f2382e8f2b.png"},83e3:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/price-table-1d232d50cbdc495a0d3bf3b0c11c0ed8.png"},5409:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>c});var r=t(48318);const s={},l=r.createContext(s);function i(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/740f0f16.f8f824c6.js b/pr-preview/pr-1298/assets/js/740f0f16.f8f824c6.js deleted file mode 100644 index cc49b651a9..0000000000 --- a/pr-preview/pr-1298/assets/js/740f0f16.f8f824c6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8523],{27076:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>x,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var r=i(49214),n=i(5409);const s={},l=void 0,p={id:"refs/config/clusterTexts/definition-patternproperties--properties-extras-items",title:"definition-patternproperties--properties-extras-items",description:"items Type",source:"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-patternproperties--properties-extras-items-properties-title",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title"},next:{title:"definition-patternproperties--properties-extras",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras"}},c={},d=[{value:"items Type",id:"items-type",level:2},{value:"title",id:"title",level:2},{value:"title Type",id:"title-type",level:3},{value:"content",id:"content",level:2},{value:"content Type",id:"content-type",level:3}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"items-type",children:"items Type"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"object"})," (",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",children:"Details"}),")"]}),"\n",(0,r.jsx)(t.h1,{id:"items-properties",children:"items Properties"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.a,{href:"#title",children:"title"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title",title:"undefined#/patternProperties/^.*$/properties/extras/items/properties/title",children:"Untitled schema"})})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.a,{href:"#content",children:"content"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content",title:"undefined#/patternProperties/^.*$/properties/extras/items/properties/content",children:"Untitled schema"})})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"title",children:"title"}),"\n",(0,r.jsx)(t.p,{children:"\u6807\u9898"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"title"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["Type: ",(0,r.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["defined in: ",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title",title:"undefined#/patternProperties/^.*$/properties/extras/items/properties/title",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"title-type",children:"title Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})}),"\n",(0,r.jsx)(t.h2,{id:"content",children:"content"}),"\n",(0,r.jsx)(t.p,{children:"\u5185\u5bb9"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"content"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["Type: ",(0,r.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:["defined in: ",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content",title:"undefined#/patternProperties/^.*$/properties/extras/items/properties/content",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"content-type",children:"content Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})})]})}function x(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>l,x:()=>p});var r=i(48318);const n={},s=r.createContext(n);function l(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/74d28950.2d927216.js b/pr-preview/pr-1298/assets/js/74d28950.2d927216.js deleted file mode 100644 index bee410711a..0000000000 --- a/pr-preview/pr-1298/assets/js/74d28950.2d927216.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3550],{19870:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>p,metadata:()=>n,toc:()=>u});var i=t(49214),s=t(5409);const p={},o=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores",title:"definition-properties-slurm-properties-partitions-patternproperties--properties-cores",description:"cores Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-comment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus"}},c={},u=[{value:"cores Type",id:"cores-type",level:2}];function a(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"cores-type",children:"cores Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})})]})}function d(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>n});var i=t(48318);const s={},p=i.createContext(s);function o(e){const r=i.useContext(p);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(p.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/75d506d6.5fe29c95.js b/pr-preview/pr-1298/assets/js/75d506d6.5fe29c95.js deleted file mode 100644 index 4c265ce7ac..0000000000 --- a/pr-preview/pr-1298/assets/js/75d506d6.5fe29c95.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2334],{3451:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var t=r(49214),i=r(5409);const s={sidebar_position:3,title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528"},c="\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528",o={id:"deploy/config/portal/apps/configure-vnc-app",title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528",description:"\u524d\u63d0\u6761\u4ef6",source:"@site/docs/deploy/config/portal/apps/configure-vnc-app.md",sourceDirName:"deploy/config/portal/apps",slug:"/deploy/config/portal/apps/configure-vnc-app",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/configure-vnc-app.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528"},sidebar:"deploy",previous:{title:"\u914d\u7f6eWeb\u7c7b\u5e94\u7528",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app"},next:{title:"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b"}},p={},l=[{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2},{value:"beforeScript",id:"beforescript",level:3},{value:"xstartup",id:"xstartup",level:3},{value:"attributes",id:"attributes",level:3}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528",children:"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528"}),"\n",(0,t.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,t.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://turbovnc.org/",children:"TurboVNC"})," 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"]}),"\n",(0,t.jsx)(n.li,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684\u684c\u9762\u7c7b\u5e94\u7528"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,t.jsx)(n.p,{children:"\u4e0b\u9762\u4ee5\u4f7f\u7528emacs\u4e3a\u793a\u4f8b\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528\u3002"}),"\n",(0,t.jsxs)(n.p,{children:["\u521b\u5efa",(0,t.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,t.jsx)(n.code,{children:"emacs/config.yml"}),"\u6216\u8005",(0,t.jsx)(n.code,{children:"emacs.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/emacs/config.yml"',children:"# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: emacs\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: emacs\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc: \n\n # \u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u6765\u51c6\u5907\u8fd0\u884c\u4efb\u52a1\u7684\u73af\u5883\n # beforeScript:\n # export VERSION=1.0\n \n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n emacs -mm\n\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0\u5373\u53ef\u3002"}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,t.jsx)(n.h3,{id:"beforescript",children:"beforeScript"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"beforeScript"}),"\u4e3a\u51c6\u5907\u811a\u672c,\u5982\u679c\u6709\u9700\u8981\u4f7f\u7528\u7684\u53d8\u91cf\uff0c\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u8fd9\u4e2a\u811a\u672c\u7528\u6765\u51c6\u5907\u8fd0\u884c\u4efb\u52a1\u7684\u73af\u5883\u3002"]}),"\n",(0,t.jsx)(n.h3,{id:"xstartup",children:"xstartup"}),"\n",(0,t.jsxs)(n.p,{children:["\u5bf9\u4e8e\u684c\u9762\u7c7b\u5e94\u7528\uff0c\u7cfb\u7edf\u63d0\u4ea4\u4e00\u4e2a\u8ba1\u7b97\u4efb\u52a1\u3002\u6b64\u4efb\u52a1\u5c06\u4f1a\u5728\u8ba1\u7b97\u8282\u70b9\u4e0a\u542f\u52a8\u4e00\u4e2aTurboVNC\u5b9e\u4f8b\uff0c\u6b64TurboVNC\u5b9e\u4f8b\u5c06\u4f1a\u4ee5\u914d\u7f6e\u4e2d\u7684",(0,t.jsx)(n.code,{children:"xstartup"}),"\u811a\u672c\u4f5c\u4e3a\u5176\u542f\u52a8\u811a\u672c\u3002"]}),"\n",(0,t.jsx)(n.p,{children:"\u6240\u4ee5\u5bf9\u4e8e\u684c\u9762\u7c7b\u5e94\u7528\u800c\u8a00\uff0c\u60a8\u53ea\u9700\u8981\u586b\u5199\u6b63\u786e\u7684xstartup\u811a\u672c\u5373\u53ef\u3002"}),"\n",(0,t.jsx)(n.h3,{id:"attributes",children:(0,t.jsx)(n.code,{children:"attributes"})}),"\n",(0,t.jsxs)(n.p,{children:["\u5982\u679c\u9700\u8981\u6307\u5b9a\u5e94\u7528\u7248\u672c\uff0c\u53ef\u4ee5\u901a\u8fc7",(0,t.jsx)(n.code,{children:"attributes"}),"\u914d\u7f6e\u9879\u6dfb\u52a0\u81ea\u5b9a\u4e49HTML\u8868\u5355\uff0c\u5177\u4f53\u914d\u7f6e\u793a\u4f8b\u8bf7\u53c2\u8003",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",children:"attributes\u914d\u7f6e"}),"\u3002"]})]})}function d(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>c,x:()=>o});var t=r(48318);const i={},s=t.createContext(i);function c(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/760ec2c8.b37c7e06.js b/pr-preview/pr-1298/assets/js/760ec2c8.b37c7e06.js deleted file mode 100644 index 82475c4522..0000000000 --- a/pr-preview/pr-1298/assets/js/760ec2c8.b37c7e06.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9011],{18883:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>p,default:()=>h,frontMatter:()=>s,metadata:()=>d,toc:()=>o});var i=r(49214),t=r(5409);const s={},p=void 0,d={id:"refs/config/app/definition-properties-web-properties-connect",title:"definition-properties-web-properties-connect",description:"connect Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-query",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query"},next:{title:"definition-properties-web-properties-script",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script"}},c={},o=[{value:"connect Type",id:"connect-type",level:2},{value:"method",id:"method",level:2},{value:"method Type",id:"method-type",level:3},{value:"path",id:"path",level:2},{value:"path Type",id:"path-type",level:3},{value:"query",id:"query",level:2},{value:"query Type",id:"query-type",level:3},{value:"formData",id:"formdata",level:2},{value:"formData Type",id:"formdata-type",level:3}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"connect-type",children:"connect Type"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"object"})," (",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",children:"Details"}),")"]}),"\n",(0,i.jsx)(n.h1,{id:"connect-properties",children:"connect Properties"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"#method",children:"method"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"Merged"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method",title:"undefined#/properties/web/properties/connect/properties/method",children:"Untitled schema"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"#path",children:"path"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"string"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path",title:"undefined#/properties/web/properties/connect/properties/path",children:"Untitled schema"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"#query",children:"query"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"object"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",title:"undefined#/properties/web/properties/connect/properties/query",children:"Untitled schema"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"#formdata",children:"formData"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.code,{children:"object"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",title:"undefined#/properties/web/properties/connect/properties/formData",children:"Untitled schema"})})]})]})]}),"\n",(0,i.jsx)(n.h2,{id:"method",children:"method"}),"\n",(0,i.jsx)(n.p,{children:"\u8fde\u63a5\u6240\u4f7f\u7528\u7684HTTP\u65b9\u6cd5"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"method"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Type: merged type (",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method",children:"Details"}),")"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["defined in: ",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method",title:"undefined#/properties/web/properties/connect/properties/method",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"method-type",children:"method Type"}),"\n",(0,i.jsxs)(n.p,{children:["merged type (",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method",children:"Details"}),")"]}),"\n",(0,i.jsx)(n.p,{children:"any of"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"path",children:"path"}),"\n",(0,i.jsx)(n.p,{children:"\u542f\u52a8\u7684\u76f8\u5bf9\u8def\u5f84"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"path"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Type: ",(0,i.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["defined in: ",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path",title:"undefined#/properties/web/properties/connect/properties/path",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"path-type",children:"path Type"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h2,{id:"query",children:"query"}),"\n",(0,i.jsx)(n.p,{children:"query\u53c2\u6570"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"query"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Type: ",(0,i.jsx)(n.code,{children:"object"})," (",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",children:"Details"}),")"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["defined in: ",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",title:"undefined#/properties/web/properties/connect/properties/query",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"query-type",children:"query Type"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"object"})," (",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",children:"Details"}),")"]}),"\n",(0,i.jsx)(n.h2,{id:"formdata",children:"formData"}),"\n",(0,i.jsx)(n.p,{children:"\u8bbe\u7f6e\u4e3aPOST\u65f6\uff0c\u9700\u8981\u4ee5form data\u5f62\u5f0f\u63d0\u4ea4\u7684\u6570\u636e"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"formData"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Type: ",(0,i.jsx)(n.code,{children:"object"})," (",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",children:"Details"}),")"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["defined in: ",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",title:"undefined#/properties/web/properties/connect/properties/formData",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"formdata-type",children:"formData Type"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"object"})," (",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",children:"Details"}),")"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>p,x:()=>d});var i=r(48318);const t={},s=i.createContext(t);function p(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:p(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/766fec9a.a8d40f02.js b/pr-preview/pr-1298/assets/js/766fec9a.a8d40f02.js deleted file mode 100644 index cbfc57355a..0000000000 --- a/pr-preview/pr-1298/assets/js/766fec9a.a8d40f02.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8178],{38306:e=>{e.exports=JSON.parse('{"title":"\u81ea\u5b9a\u4e49","description":"\u7cfb\u7edf\u81ea\u5b9a\u4e49\u529f\u80fd","slug":"/category/\u81ea\u5b9a\u4e49","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49","navigation":{"previous":{"title":"\u914d\u7f6e","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config/"},"next":{"title":"\u76f8\u5bf9\u8def\u5f84","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/77a21a71.c204ff6a.js b/pr-preview/pr-1298/assets/js/77a21a71.c204ff6a.js deleted file mode 100644 index 20dc0dde9b..0000000000 --- a/pr-preview/pr-1298/assets/js/77a21a71.c204ff6a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3470],{28986:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>x,frontMatter:()=>n,metadata:()=>i,toc:()=>h});var d=r(49214),s=r(5409);const n={title:"portal-web"},c="portal-web",i={id:"refs/env/portal-web",title:"portal-web",description:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",source:"@site/docs/refs/env/portal-web.md",sourceDirName:"refs/env",slug:"/refs/env/portal-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/env/portal-web.md",tags:[],version:"current",frontMatter:{title:"portal-web"},sidebar:"refs",previous:{title:"mis-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web"}},l={},h=[{value:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",level:2}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.h1,{id:"portal-web",children:"portal-web"}),"\n",(0,d.jsx)(t.h2,{id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",children:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"\u540d\u5b57"}),(0,d.jsx)(t.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(t.th,{children:"\u63cf\u8ff0"}),(0,d.jsx)(t.th,{children:"\u9ed8\u8ba4\u503c"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"BASE_PATH"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u6574\u4e2a\u7cfb\u7edf\u7684base path"}),(0,d.jsx)(t.td,{children:"/"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"AUTH_INTERNAL_URL"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u8ba4\u8bc1\u670d\u52a1\u5185\u7f51\u5730\u5740"}),(0,d.jsx)(t.td,{children:(0,d.jsx)(t.a,{href:"http://auth:5000",children:"http://auth:5000"})})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"LOGIN_NODES"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u96c6\u7fa4\u7684\u767b\u5f55\u8282\u70b9\u3002\u5c06\u4f1a\u8986\u5199\u914d\u7f6e\u6587\u4ef6\u3002\u683c\u5f0f\uff1a\u96c6\u7fa4ID=\u767b\u5f55\u8282\u70b9,\u96c6\u7fa4ID=\u767b\u5f55\u8282\u70b9"}),(0,d.jsx)(t.td,{})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"SSH_PRIVATE_KEY_PATH"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"SSH\u79c1\u94a5\u8def\u5f84"}),(0,d.jsx)(t.td,{children:"~/.ssh/id_rsa"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"SSH_PUBLIC_KEY_PATH"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"SSH\u516c\u94a5\u8def\u5f84"}),(0,d.jsx)(t.td,{children:"~/.ssh/id_rsa.pub"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"SERVER_URL"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u95e8\u6237\u540e\u7aef\u7684\u8def\u5f84"}),(0,d.jsx)(t.td,{children:"portal-server:5000"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"MIS_DEPLOYED"})}),(0,d.jsx)(t.td,{children:"\u5e03\u5c14\u503c"}),(0,d.jsx)(t.td,{children:"\u662f\u5426\u90e8\u7f72\u4e86\u7ba1\u7406\u7cfb\u7edf"}),(0,d.jsx)(t.td,{children:"false"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"MIS_URL"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u5982\u679c\u90e8\u7f72\u4e86\u7ba1\u7406\u7cfb\u7edf\uff0c\u8bbe\u7f6eURL\u6216\u8005\u8def\u5f84\u3002\u76f8\u5bf9\u4e8e\u6574\u4e2a\u7cfb\u7edf\u7684base path\u3002\u5c06\u4f1a\u8986\u76d6\u914d\u7f6e\u6587\u4ef6\u3002\u7a7a\u5b57\u7b26\u4e32\u7b49\u4ef7\u4e8e\u672a\u90e8\u7f72\u7ba1\u7406\u7cfb\u7edf"}),(0,d.jsx)(t.td,{})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"MIS_SEVER_URL"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u5982\u679c\u90e8\u7f72\u4e86\u7ba1\u7406\u7cfb\u7edf\uff0c\u7ba1\u7406\u7cfb\u7edf\u540e\u7aef\u7684\u8def\u5f84\u3002\u672a\u90e8\u7f72\u7ba1\u7406\u7cfb\u7edf\u65f6\u4e3a\u7a7a\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{})]})]})]})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(o,{...e})}):o(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>i});var d=r(48318);const s={},n=d.createContext(s);function c(e){const t=d.useContext(n);return d.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),d.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/78135479.d72b7e5a.js b/pr-preview/pr-1298/assets/js/78135479.d72b7e5a.js deleted file mode 100644 index b9e0bc2562..0000000000 --- a/pr-preview/pr-1298/assets/js/78135479.d72b7e5a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8673],{4061:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/786ceb8d.821fda83.js b/pr-preview/pr-1298/assets/js/786ceb8d.821fda83.js deleted file mode 100644 index 8aad97dcbf..0000000000 --- a/pr-preview/pr-1298/assets/js/786ceb8d.821fda83.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9134],{8910:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>d});var o=r(49214),s=r(5409);const i={},p=void 0,n={id:"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host",title:"definition-properties-fetchjobs-properties-db-properties-host",description:"host Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-db-properties-dbname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname"},next:{title:"definition-properties-fetchjobs-properties-db-properties-password",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password"}},c={},d=[{value:"host Type",id:"host-type",level:2}];function f(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"host-type",children:"host Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>p,x:()=>n});var o=r(48318);const s={},i=o.createContext(s);function p(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:p(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7a47eb1a.1e86c006.js b/pr-preview/pr-1298/assets/js/7a47eb1a.1e86c006.js deleted file mode 100644 index e0e1b9c236..0000000000 --- a/pr-preview/pr-1298/assets/js/7a47eb1a.1e86c006.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7799],{61082:e=>{e.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":6,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7ae2e072.31a4093f.js b/pr-preview/pr-1298/assets/js/7ae2e072.31a4093f.js deleted file mode 100644 index 4b3be93dc3..0000000000 --- a/pr-preview/pr-1298/assets/js/7ae2e072.31a4093f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[790],{98123:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>t,metadata:()=>c,toc:()=>p});var n=i(49214),s=i(5409);const t={title:"cluster"},o="README",c={id:"refs/config/cluster/index",title:"cluster",description:"Top-level Schemas",source:"@site/docs/refs/config/cluster/index.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/index.md",tags:[],version:"current",frontMatter:{title:"cluster"},sidebar:"refs",previous:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition"},next:{title:"definition-properties-displayname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname"}},d={},p=[{value:"Top-level Schemas",id:"top-level-schemas",level:2},{value:"Other Schemas",id:"other-schemas",level:2},{value:"Objects",id:"objects",level:3},{value:"Arrays",id:"arrays",level:3}];function l(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h1,{id:"readme",children:"README"}),"\n",(0,n.jsx)(r.h2,{id:"top-level-schemas",children:"Top-level Schemas"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"-"})]}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"other-schemas",children:"Other Schemas"}),"\n",(0,n.jsx)(r.h3,{id:"objects",children:"Objects"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"undefined#/properties/slurm"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"undefined#/properties/slurm/properties/partitions"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",title:"slurm\u7684MIS\u914d\u7f6e",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"undefined#/properties/slurm/properties/mis"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(r.h3,{id:"arrays",children:"Arrays"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes",title:"\u96c6\u7fa4\u7684\u767b\u5f55\u8282\u70b9\u5730\u5740",children:"Untitled array in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"undefined#/properties/slurm/properties/loginNodes"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes",title:"\u96c6\u7fa4\u7684\u8ba1\u7b97\u8282\u70b9\u5730\u5740",children:"Untitled array in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"undefined#/properties/slurm/properties/computeNodes"})]}),"\n"]}),"\n",(0,n.jsxs)(r.li,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos",children:"Untitled array in undefined"})," \u2013 ",(0,n.jsx)(r.code,{children:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$/properties/qos"})]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>o,x:()=>c});var n=i(48318);const s={},t=n.createContext(s);function o(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7ba6c5b9.5724e059.js b/pr-preview/pr-1298/assets/js/7ba6c5b9.5724e059.js deleted file mode 100644 index dc7ccd03eb..0000000000 --- a/pr-preview/pr-1298/assets/js/7ba6c5b9.5724e059.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[398],{73822:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var n=i(49214),r=i(5409);const s={},o=void 0,c={id:"refs/config/cluster/definition-properties-displayname",title:"definition-properties-displayname",description:"displayName Type",source:"@site/docs/refs/config/cluster/definition-properties-displayname.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-displayname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-displayname.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"cluster",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/"},next:{title:"definition-properties-misignore",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore"}},p={},d=[{value:"displayName Type",id:"displayname-type",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"displayname-type",children:"displayName Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>c});var n=i(48318);const r={},s=n.createContext(r);function o(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7d0af991.8e8de0f4.js b/pr-preview/pr-1298/assets/js/7d0af991.8e8de0f4.js deleted file mode 100644 index 8a7fdd4d24..0000000000 --- a/pr-preview/pr-1298/assets/js/7d0af991.8e8de0f4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6398],{57224:(e,A,n)=>{n.r(A),n.d(A,{assets:()=>i,contentTitle:()=>l,default:()=>a,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var s=n(49214),t=n(5409);const r={sidebar_label:"intel\u7f16\u8bd1\u5668\u5b89\u88c5",title:"intel\u7f16\u8bd1\u5668\u5b89\u88c5",sidebar_position:9},l=void 0,c={id:"hpccluster/intel",title:"intel\u7f16\u8bd1\u5668\u5b89\u88c5",description:"\u65b0\u7248intel\u7f16\u8bd1\u5668\u4e0d\u518d\u662fparallelstudioxexxxupdate4clusteredition\uff0c\u800c\u6539\u540d\u4e3aoneAPI\u3002",source:"@site/docs/hpccluster/intel.md",sourceDirName:"hpccluster",slug:"/hpccluster/intel",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/intel.md",tags:[],version:"current",sidebarPosition:9,frontMatter:{sidebar_label:"intel\u7f16\u8bd1\u5668\u5b89\u88c5",title:"intel\u7f16\u8bd1\u5668\u5b89\u88c5",sidebar_position:9},sidebar:"hpccluster",previous:{title:"module\u5b89\u88c5",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/module"},next:{title:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor/"}},i={},d=[{value:"1. \u83b7\u53d6\u5b89\u88c5\u5305",id:"1-\u83b7\u53d6\u5b89\u88c5\u5305",level:2},{value:"2. \u5b89\u88c5",id:"2-\u5b89\u88c5",level:2},{value:"3. \u6dfb\u52a0\u73af\u5883\u53d8\u91cf",id:"3-\u6dfb\u52a0\u73af\u5883\u53d8\u91cf",level:2},{value:"4. Linkpack\u6d4b\u8bd5",id:"4-linkpack\u6d4b\u8bd5",level:2}];function h(e){const A={a:"a",admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(A.p,{children:"\u65b0\u7248intel\u7f16\u8bd1\u5668\u4e0d\u518d\u662fparallel_studio_xe_xxx_update4_cluster_edition\uff0c\u800c\u6539\u540d\u4e3aoneAPI\u3002"}),"\n",(0,s.jsxs)(A.p,{children:[(0,s.jsx)(A.a,{href:"https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#gs.zxmbdr",children:"intel\u7f16\u8bd1\u5668\u5b89\u88c5\u5305\u4e0b\u8f7d\u94fe\u63a5"}),"\u3002"]}),"\n",(0,s.jsx)(A.h2,{id:"1-\u83b7\u53d6\u5b89\u88c5\u5305",children:"1. \u83b7\u53d6\u5b89\u88c5\u5305"}),"\n",(0,s.jsx)(A.p,{children:"\u672c\u6587\u6863\u4ee5Base Toolkit\u548cHPC Toolkit\u4e3a\u4f8b\u3002\u6253\u5f00\u4e0b\u8f7d\u7684\u5730\u5740\uff1a"}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(1368).A+"",width:"1280",height:"585"})}),"\n",(0,s.jsx)(A.p,{children:"\u4ee5\u4e0b\u8f7dBase Toolkit\u4e3a\u4f8b\uff0c\u8fdb\u5165\u9875\u9762\uff1a"}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(49491).A+"",width:"1280",height:"572"})}),"\n",(0,s.jsx)(A.p,{children:"\u70b9\u51fbDownload\uff0c\u9009\u62e9\u5982\u4e0b\u4fe1\u606f\uff1a"}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(99690).A+"",width:"1027",height:"620"})}),"\n",(0,s.jsx)(A.p,{children:"\u5728\u6b64\u9875\u9762\u4e0d\u8981\u70b9Download\uff08\u5b83\u4f1a\u8ba9\u4f60\u6ce8\u518c\u8d26\u53f7\uff09\uff0c\u76f4\u63a5\u590d\u5236\u7ea2\u6846\u91cc\u7684\u5730\u5740\uff0c\u5728linux\u7cfb\u7edf\u4e2d\u76f4\u63a5wget\uff0c\u6216\u8005\u53bb\u6389\u524d\u8fb9wget\uff0c\u653e\u5728\u8fc5\u96f7\u91cc\u4e0b\u8f7d\u5373\u53ef(\u5b89\u88c5\u5305\u6bd4\u8f83\u5927\uff0c3G\u591a)\u3002"}),"\n",(0,s.jsx)(A.p,{children:"\u540c\u7406\uff0c\u81ea\u884c\u4e0b\u8f7dHPC\u7684\u5b89\u88c5\u5305\u3002"}),"\n",(0,s.jsx)(A.h2,{id:"2-\u5b89\u88c5",children:"2. \u5b89\u88c5"}),"\n",(0,s.jsx)(A.p,{children:"\u4ee5Base\u4e3a\u4f8b\uff0c\u521b\u5efa\u5b89\u88c5\u76ee\u5f55\uff1a"}),"\n",(0,s.jsxs)(A.admonition,{type:"tip",children:[(0,s.jsx)(A.p,{children:"\u6ce8\u610f\u4e8b\u9879\uff1a"}),(0,s.jsxs)(A.ol,{children:["\n",(0,s.jsx)(A.li,{children:"\u4e3a\u4fdd\u8bc1\u96c6\u7fa4\u6240\u6709\u8ba1\u7b97\u8282\u70b9\u53ef\u7528\uff0c\u5b89\u88c5\u5728NFS\u5171\u4eab\u5b58\u50a8\u6587\u4ef6\u76ee\u5f55\u4e0b\uff1b"}),"\n",(0,s.jsx)(A.li,{children:"\u5b89\u88c5\u9700\u8981\u5927\u698230G\u5de6\u53f3\u7a7a\u95f4\uff0c\u8bf7\u786e\u4fdd\u6b64\u76ee\u5f55\u7a7a\u95f4\u5145\u8db3\u3002"}),"\n"]})]}),"\n",(0,s.jsx)(A.pre,{children:(0,s.jsx)(A.code,{className:"language-Shell",children:"mkdir -p /data/software/intel/oneapi\n"})}),"\n",(0,s.jsx)(A.p,{children:"\u6267\u884c\u5b89\u88c5\u811a\u672c\uff1a"}),"\n",(0,s.jsx)(A.pre,{children:(0,s.jsx)(A.code,{className:"language-Shell",children:"sh l_BaseKit_p_2022.2.0.262_offline.sh\n"})}),"\n",(0,s.jsx)(A.p,{children:"\u51fa\u73b0\u5982\u4e0b\u754c\u9762\uff0c\u9009\u62e9\u81ea\u5b9a\u4e49\u5b89\u88c5\uff1a"}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(83397).A+"",width:"642",height:"397"})}),"\n",(0,s.jsx)(A.p,{children:"\u9009\u62e9\u5b89\u88c5\u7684\u5305\uff0c\u4e0b\u4e00\u6b65\uff1a"}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(35644).A+"",width:"647",height:"391"})}),"\n",(0,s.jsx)(A.p,{children:"\u81ea\u5b9a\u4e49\u5b89\u88c5\u76ee\u5f55\uff0c\u4fee\u6539\u4e3a\u4e4b\u524d\u51c6\u5907\u597d\u7684\u76ee\u5f55\uff1a"}),"\n",(0,s.jsx)(A.admonition,{type:"tip",children:(0,s.jsxs)(A.p,{children:["\u5c0f\u63d0\u793a\uff1a\u9700\u8981\u540c\u65f6\u6309\u4e0b",(0,s.jsx)(A.code,{children:"Ctrl"}),"+",(0,s.jsx)(A.code,{children:"Backspace"})," \u624d\u80fd\u5220\u9664\u539f\u8def\u5f84"]})}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(54615).A+"",width:"676",height:"408"})}),"\n",(0,s.jsx)(A.p,{children:"\u5f00\u59cb\u5b89\u88c5\uff1a"}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(64622).A+"",width:"654",height:"405"})}),"\n",(0,s.jsx)(A.p,{children:"\u7b49\u5f85\u5b89\u88c5\u5b8c\u6210\u5373\u53ef\u3002"}),"\n",(0,s.jsx)(A.admonition,{type:"tip",children:(0,s.jsx)(A.p,{children:"HPC(\u5305\u542bifort, icc, mpiifort\u7b49\u7f16\u8bd1\u5668)\u7b49\u5176\u4ed6\u5de5\u5177\u5305\u5b89\u88c5\u65b9\u6cd5\u7c7b\u4f3c\u3002"})}),"\n",(0,s.jsxs)(A.h2,{id:"3-\u6dfb\u52a0\u73af\u5883\u53d8\u91cf",children:["3. ",(0,s.jsx)(A.strong,{children:"\u6dfb\u52a0\u73af\u5883\u53d8\u91cf"})]}),"\n",(0,s.jsx)(A.pre,{children:(0,s.jsx)(A.code,{className:"language-Shell",children:"source /data/software/intel/oneapi/setvars.sh\n"})}),"\n",(0,s.jsxs)(A.h2,{id:"4-linkpack\u6d4b\u8bd5",children:["4. ",(0,s.jsx)(A.strong,{children:"Linkpack\u6d4b\u8bd5"})]}),"\n",(0,s.jsx)(A.pre,{children:(0,s.jsx)(A.code,{className:"language-PowerShell",children:"# \u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\nsource /data/software/intel/oneapi/mpi/2021.6.0/env/vars.sh\n\n# \u751f\u6210xhpl\ncd /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack\n./build.sh\n\n# \u6267\u884c\u8ba1\u7b97\nmpirun -n 36 ./xhpl\n\n# \u591a\u8282\u70b9\nmpirun -hosts cn1,cn2,cn3,cn4 -np 36 -ppn 4 /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack/xhpl\n"})}),"\n",(0,s.jsx)(A.p,{children:(0,s.jsx)(A.img,{alt:"img",src:n(96537).A+"",width:"678",height:"764"})})]})}function a(e={}){const{wrapper:A}={...(0,t.R)(),...e.components};return A?(0,s.jsx)(A,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},1368:(e,A,n)=>{n.d(A,{A:()=>s});const s=n.p+"assets/images/-5-i1-fd9782d10636ad2d13e4152dd8d8afb6.PNG"},49491:(e,A,n)=>{n.d(A,{A:()=>s});const s=n.p+"assets/images/-5-i2-15560cb74ba50809fab7ae370ae185f2.png"},99690:(e,A,n)=>{n.d(A,{A:()=>s});const s=n.p+"assets/images/-5-i3-299474f0cee4e015eb0129118906fff1.PNG"},83397:(e,A,n)=>{n.d(A,{A:()=>s});const s=n.p+"assets/images/-5-i4-b909226a6bcdd7a937e2aa2aab93bff9.png"},35644:(e,A,n)=>{n.d(A,{A:()=>s});const s=n.p+"assets/images/-5-i5-8ca8a45ba9d6fa51172e4234e344789a.PNG"},54615:(e,A,n)=>{n.d(A,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqQAAAGYCAIAAAAbdGe1AAAa40lEQVR4nOzdXWhc6Z0n/iOrHTs9f+Ie/quF3aHbscaYMXSnLzKFbrp7NwgzIJwxgYUVdLou9kYXNkwPdbVBF74oevemmA7YC7rpi+pu0FWC6aZg8BZhusOAUHLhTECL8Urr9gR20ULiTDYrjyNrqVdVlc6pUpVKL/758yGE1tGp5+2cOl89zzlVfmlrayuBo/WTn/zkW9/61p/cepj88Z8cd1t4If36V7+6cf4Xv/jFd77zneNuCi+ixjVwhDOw8cIRapxI/uPfj/AyGA9hz7H49a+OuwVwpF5ytQVeOK57AABEcuq4GwAAHC5hDwDBCXsACE7YA0Bwwh4Agnv+wj5XXNlsWs7vY/uBKhpPSc9HvYctv7y5UswddyvGf55wqDKPV+0X/U6oqO8jeMFkvZW9xU+qExL2Tc6T58ve4zUo7IFOB5nZd/zNXXegd15++XhmWkdfb63G1oitLOeP+Gp1XOM8hJHOq7H0K5dfblW9snzEOVLvdWdXO86T2plSzHftuf/x6Spn88jOuO5qx3GJGFuzTvj5D4fiIGG/ujgzNTU1t7SerC/NTU1NzSyujrFloVULUzU3bifXK8d/ATxhjum8yhVXbl1/cHtuqnFoKsmtlSNMhdy1K9Pr69NXrnWdDM3zZGru9sZCqXWijDA+rXKm5u5eKN06khOuPN+sslBtttMlAo7RIdyzbyy4tedIHVOJronT7tb6RKU0mySzpZ57c7l8cbeYA1yiUsvpU297VtJ7tc8V93Yru78DrZbnbywlC4WB9dbXwJfblbd/n8uotnP7Pvqb2q/MensmR0e1IJ41zn37tf/Dki9cuXvj9sVSpbH/rbn7N248mBtw0g17PmS2p5b11du3q71p37RaLi2tT1+8vM+hyrZ6525HORnvr/T3ad/2DynrfMs8DwcVt1I76u0XpL6P+p0nwGB7bp011iObb71cRzLUb9ruplSx662WtryWLy4X21f05b1v3f3es+9XTvay3t6SGvvmGlfJdq8z+5uhZ489t7JTe1a/fK0Uuy+Au+3pPgq17a19c/li10CnjnNqv7Lr7WrhvtdFh7xnv//zah/9Si+t+/W1n/LLzZ3yy/Xf5ov9Wjzs+ZDdnlZrOseou0d7zop937LuLKf7+Ga8LzLfp/3Gs2/9PXtmnW99zsM+9+xzxZWVtDWY9CuEZXxeVIf0NP763VK5vmC3Wq5UkwuXWu/a6SuX8rlcY067WB5USnlxfrFRTLK62FXOcMZUTn5udn2p0a/V8mLXLCyrv+O0vnSj1Ys97UlWO9pT397ad7W8OGig+/Qrtd769HB2Lt96cVKtDDyUYzLUOGeNT1/TC7eWl1c2rydLpUGdGvZ8yG5PfV5fG8RyJb2VuXxhYXr9wdrA5mdozWUrpSsbhRuttfTs90Xq+3Sk8UyRNW4DzsNUFwsrlYWN2zPzR3UGwvPqkMJ+437Kvbny/NzSxpXrtyr7XpXPF1fazyKVZkdvzljKyV26kN6vrP4eslp7phcqe/rVr51Z5QzZ/nraX68dweYFeti2j2rYfqWNT7pyJal3aH3pxvz8TGFj9sq1XK44l9zJrHDY8yG7PfX79Y0kX3vQdd++HdLXLywVDnDDe/ee/e2kVNldlUl9X2S8T4cbz2xZ4zbCeZhMz17YWE9af3gC2Y72c/ari/MzMzNTU3OFjdndO9VZ8sulhY3WA1NTheqotY6pnNX7G4cwZx/lErfbnvZFvOPxp2HbOUq/WhO7Wtbfzc7DY5U1PhnKpbtXbl1/cLvem/L83O2kcOtipc8rRhnn9PZcvjjditHKwnTScW++vf/MzOCFsH01olyptsIx+32R+j4dcjyzm5AxbqOch7U/zWYK1dmSp1xhgCMM+9zuHcIUaw/WU97q6w+S+vUkly9e755J1C4NaX/Rp2/PLie93lTlSnV6odC6p3h9DDGXyy/fWtjHgnFme2ZL7cfU6jdgd9t5K+OefUp/R+pX/UWV0onJ+vR+pY5P3d7zZHVx5sbti9fbD+glpQGLw8OOW1Z76qsjrcythe4hzlRz+UsXkt37AWnvi8z3ad/xHELWuPUdz6z3e/0vs0L9hN/Xm3iI9zvQlPF5354HYzqez8n1fbY+v/dZ885nc4spz/msdNabvb1/OXvq7e1X58cDMp++TutvuszP2fepN6vUrqfuM5767n3Z3nEe8DR+Rm/q/RjiWad9P6A39HnVp18Z49P1ggPMCoc9H9Lak/WoYeajZAf7nH3H05ZZ74vs92nf8cyuf08LR3oav+d4dT0j2PlDv/dRxnkCQIZhP3J3sr5BD+BF8vx9Nz4nQ76wMH10j+EDAEepsTB8lN8vBwAAQCbL+AAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4Agnup5+e//i/Jv/9Xtf/4x8+Sf/eR7bbbbrvtttt+FNsBAEZnGR8AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACO4Qwj5XXNlczo+/3OdMbRiaukYja/uBKjqC8c4vb64Uc0dfLwAnkRDolDUaz90o7Ql7AJ4XB53Z54rLzYnqyvJJjYKOuXSjpQdpaH55XDPy56Pe4/Ki9RfgMB0o7HPFlcqV5PbcVM2NysVrJ/PivLo4MzU1Nbe0nqwv1do6s7h63E0CgKNzkLDPFxaSpRvz5UZ0rpbnF8sdv9yd8efbE+lcPmUhoLGgnbr/7qR8pVjsXEbOpe8+lOx6d0vv2lpvS2k2SWZLPffcU/s1SpOyxiej3tr0N/Xuf+eCS34f45xld+/ipa7NWU8d5JdrLW8PX+v3Wcerc/s++pvar8x6exYHem6c1KtxYwJggH53o9vX4lznFTdfXC42L9G5Ynt7n/3r/51rpGDHpXl3e/3F+7ti79kzs9763endlCp29TFteTm9X4NHaZhyspe195bUM27NXmePc5as8e/Ts/qfASvF7r8jso5XbXtr31y+2DXQqeOc2q/serta2FugsAfYj34x1nERzXqwq709c//uVw7ePri5e8I+q/x6bqQWOjAke9oz8gN6PeUMEfYZ47PP4zKwnL49SCt1f8dxb0G9pfdrT3pZHU30DADwIjukz9lv3E+9LZ4vrrSflSvNDtg/d+lC5vbphUpqOWNpZ3l+bmnjyvVblX2vymf2a0hjKSdr3JLs4zJ0OcO2J+14DVv+CO1ZvXN3ffZ67Qjm52bXl0rlYdsOEMMBwn71/kZy4dIQy6D55dLCRvNxvqmpQnXE8mvbq4WpDmN/4m51cX5mZmZqaq6wMbtQGDQfHLJfh13O0MflCMpJO17Dlj9Ke1YXb1enr1zL1bL+7h3PZQIvqoPM7MulpWThVutBqT13t9OsP0hWGzsXrw+cuZYr1emFQuse7e7+5Up1trRbbXEf9Q4jt3vnPMXag/WUyMnuVy2iZuf2NjB9e3Y56fWm6h23UWMua/xHKCf1eNXLv5Vxzz6lvyP1q/6iSmnvzu7ZAy+QAy3jry7OzN1NrjdWaG/NPbjTf5m0XFrauFJq7nz/7uCZa3l+bulCqVLfP+nYvzw/V9itNqkMqLfxeHdlYbq5mjzgCr+6WErmbtULr1xPlubmy92/vV1NmovSzXvA/ftVni9UL5T2fr5/7/a+5aTU2/yoQq1jzefWWw2an1tqjE+ldGWjcGPUhY/d8a9c7xj/zHr7lJN6vGrbN67UK6ht7zqMKf0drV/lSq3h1ds+bwnwHPANbozkufuuQoAXTL7YXv3d90fsoJPH8AGSib2b/vLrXyv//y+fm0ySnYkk2TmOVgHAi2ci+d2znQ8eP/lPv90ab8GTPT//5de/9uOpl7+e8jcAAHC4vjYxMXv29Ncnkv+69YcxFtub6r979ZU/kvQAcHye7UxMPvr1GAt8qefndtL/598++eE/Pfmf28/GWBkAkOXfnn3pJ//y/0uS5NTEmO+h987id86/0rhN/8f/+Pg3z9ywB4Cjs/PaH9eflpuY+GqcM/s9n7Nv5bukB4Ajt9Px/2NzSN+NDwCcFMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4Hr/idv929zcHGtLYBRT/2Iqdfvm/3Z+As+Hqan069gYHf7MvlqYmltaP/RqDmB9qTA3VXOy27m+NDdVqB5KsU2HUPohOKRxAAhs9Jl9GNXbi2vXVjYr08fdkAGmFyqHMVetFbtQj9CZ+4dQ/Pgd0jgABDa2mf1B51vVwmgzywPP89YfrCWXL+5J+lHbMy7HNZ6H1R4Ajs+4wr56e3E1Pzc7ptJOfr2H7aT166S1B4AhjCnsq5Vyrnh9NwuqzbvgU3NLDzp2W68utX9RaN0gb9w0ni8nSXm+595x6v7Z9a63q52aK1Q7d1/vKKf9i0bFM4urrYob9+zT25Mys93dlN3OaqG2pd2sVgm7Le1paPp41qbpe+6qN6rfW1Cf8RxYb5be45s2nlnt6VNv5vlQWGo/R9G5f+o4ADDIWMJ+falUzhcW2kvh1cJ8+fLyyubm5kohuVNu71e9W0nmbm3WrFxLFmcal+zphcrm5uZyPknyy/XfbZZm++2fWW/19vzatWYRt+Yqd6u77ZlZTAr19ixfW5u/0YyVRsUrxVyr4kq9qPT2TF+8nKw96MrHjfuruUsXBrZztXznUr3yds+qhZn5Rns2VzrakzmeyWyp2dBe5VKlUfHK8uXy/O1B4zmg3v0f39TxzGhPdr3Z41ZevF//RU/5meMAQD/jCPvq7cWka1rfmAbWg3N2oZBv/2J2obQw24iM6YW5fG947jFg/956a8F650F1fb1ecWlhNqM9q3fujvDU/excfvX+RsfHC9YfrOWuXZke2M5c8Vbrt3vak0yntCelX1ly11rlzA4ez0H1Zr5uwPHtKCe1PZn1Zo/bGI4XAG0HD/s909CMJ95qqktz7c95zZcHl91v/z31JrOlleLlO6UbM92r6X3aM5QLl3LlSjWpVtZyyZ276+t376y2ih2qX7X2rC7O7L9ffQzTrwH1Zr5siOObur1PvZnjNo7jBUDLgcN+75NbKQvezV0L84uXWwva9XXmAUX32z/1ibHphVKlUmksIi+2FpEz2zOkRjlLlbVrtwqX79y9e79V/5D9qpXTWmDf7Lh90KdfY9G/3ixDHN9h6+0zbuM4XgC0HDTse5/cSpoL3ou3689VrVeXSp0zttylpH6d791enzenXOIz90+pd32psJT60Flve5qL7/2ltKdWzp07a9euTM/OXb5zZ61xw35Av9LbU55vP05XrTW7X79Gk97+zHrrkVyu7HnubT/Hd9B49qk3a9yGP14AZDtY2GcsOc+WVopr8zNTU1MzpeRae8Y2e714+U7jAfEblYvXumfA0wuFfNJc7G0+qJW9f2q90wvXk8qN+u4zpaS4UprtbE9Sqrdn/s7l5Vv7WSNPaU8tQFcbS/cXLiWr7UX8vv1KM1taWW60p/aKZO7KbN/xbH7HXcfHBvbxMHpa+zPrbfxyOb823/1Fgn2O7zDjmVFvn3HLFy/VD2VX+SONAwBJMtHz885rrzR/8dVv+r9yc3OzWpgqXVrZz2LweB1XvYftpPXreNpT/y6/wmZpn8sbvhsfeN51fjf+/lN4KAf4utzGtG/zyJPpuOo9bCetXyetPQCM6gBhf1zfUR71u9FPWr9OWnsAGJV/CIcTZsg/MizXAww0etgfwb+/CwAc3OH/e/YAwLES9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4NLCvvffuAcAjsohpHBa2O/U/u+bL5n0A8DROTtRz/md8Zfc+6/ebSfJZP0/Nv71uUOpEABIN3FIyds7ff/od//c+k9JDwBHqZm8XzzZHm+5kz0/f/Z/n/7ZS5Ovf62x3d17ADhKE3//ZPvt//VPx90MAOC54ik8AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAQn7AEgOGEPAMEJewAITtgDQHDCHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACE7YA0Bwwh4AghP2ABCcsAeA4IQ9AAT30sivfO3D/zPWlvT66v0/Gmp/7QGAVGb2vSbOPf3xu1vvnzu2Blx+c+vn72wfW/UAhDP6zJ5Dsnbv7LePuw0ARDL6zH7i/JOfv/v7H7/5bPfHq08vH6i0J98duTWt9rT/9+N3tkduzLhMJM/ef2drLO05+PgA8MI66DL+a68/PUkJNHnz05e//enLf/7p2b/7xpMPWn+IHJer72y9l5z+/olpDwAvpgOG/eSXj7b/w54Mm0iefTdtRnv5za327L99a7z+H7//2VvbSbJ9szEvP/Ad653k1N8+OvXauZ1me85td8ywd5cfutuZsixRa/C7T7470v37iWR79tVTH9+bXKu354f/MPnaq7WhqPd3d47euSKyuzjRMQKHMT4AvFAOOrOv3judvNq7QH31na2baTPatXtnb/726QdvPptItv/m6tOHPz374eNk5/Hp73368p//dLI9L//2F5MHbNXEue2/ePXZV48nmu355h+Sh19rzviTp5+0wrLWzm9M3vy8VukPHiZ/cb6rkMtvbn3w6sTNT8989nikRpx7dj6Z+O/t1/7m1Ffnnl3s+4qdh2e+/enL3/9l10E5jPEB4IVy4KfxH0/+XfJ0oSMms2a0DZ9/cebh61s/uvrk7Udn3n940Mr3aM59f3b1yb/57Zkf3Gv27rN7Zz58eKox4//hw8nkG88ut9v55elGlq89PP1hR3u++ebWJ69PfPT5mc/G3kYAOFoHfxq/Fuc/e+Ppn/1Da0NtRvvs7au/f6+9y+PdPyl2ksmlX5765PXk4y8PY3o6WZuI19fnr76z9ck7ZxqT4InzT3/0xtPXznW3pz7zrqbP2p+9/Y3Jr5Lt2fPJZ+P/iwQAjtQ4Pnr38PTHb2wtnG+F9+NTD5PJjz5NnxNPnHv6wesTH/9y5723n/7t56fXxlB9ip3k1OcPJ2++9YfvJpOfJ9t/89bThz89+7365H7i/JOfvdFu5/afnkuSlLw/9fGXZ374ypOfvbX1/m/OfjjaMn5P+a88e+3xqQcH6xcAjGAMX6rTeBru7Ve3Wz9OVh9t32w9l3f5/NMP32z+qnWr/syH9Zv3n3Q+aPabU18lO386pq+yqc3sX9lJdsP11P+o93Ti3PZfvdHZzmfvvf208fzd5fNP3+++Z7/z8MzN+g6jfWSuWf6b9Yfykmd/9cb2V48m11p/BDSeauxszwBjHR8AXijj+VKd/3bv9JevP3m79ePnX5xN3vnnT959kiTJV49Of3SvOem/+s6Ttx+d+fbDxj5nZt998uH5lxt37ncen/7o0fbNxuL/ozOjPoO2ffPd39+s/9dXj0/f/LKxcjC59Ms/fPDW7997K0keT958NJm82tXOm1ef3qy38wdf9Bb3+Rdn//Tq1gdvTn7v3ih/FdVe3hqH5PHp799rPDcw+dc/nfzRW1s/f72rPbU/CK5uvdeM8yc/f3f3rsT4xgeAF9HEyK88ad/9fpLbc/nNrU9eTz7+fNQ7AuNoDwAvLN+NfxTW7p29+Sj55ivH3Q4AXki+G/+IfPbFWZ/iA+BYmNkDAADA88zMHgCCE/YAEJywB4DghD0ABCfsASA4YQ8AwQl7AAhO2ANAcMIeAIIT9gAQnLAHgOCEPQAEJ+wBIDhhDwDBCXsACO7/BQAA//8sBvXW9bRtdAAAAABJRU5ErkJggg=="},64622:(e,A,n)=>{n.d(A,{A:()=>s});const s=n.p+"assets/images/-5-i7-b786c6f8a7f41ab3f15f1c005c021c44.png"},96537:(e,A,n)=>{n.d(A,{A:()=>s});const s=n.p+"assets/images/-5-i8-5d5f95c0aaae6f44609fa23ff0c3a988.png"},5409:(e,A,n)=>{n.d(A,{R:()=>l,x:()=>c});var s=n(48318);const t={},r=s.createContext(t);function l(e){const A=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(A):{...A,...e}}),[A,e])}function c(e){let A;return A=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),s.createElement(r.Provider,{value:A},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7d1a29d8.9669b2c8.js b/pr-preview/pr-1298/assets/js/7d1a29d8.9669b2c8.js deleted file mode 100644 index faa1e11ba7..0000000000 --- a/pr-preview/pr-1298/assets/js/7d1a29d8.9669b2c8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4519],{41512:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var n=r(49214),t=r(5409);const s={},l=void 0,c={id:"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",title:"definition-properties-fetchjobs-properties-periodicfetch",description:"periodicFetch Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled"},next:{title:"definition-properties-fetchjobs-properties-startindex",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex"}},d={},o=[{value:"periodicFetch Type",id:"periodicfetch-type",level:2},{value:"periodicFetch Default Value",id:"periodicfetch-default-value",level:2},{value:"enabled",id:"enabled",level:2},{value:"enabled Type",id:"enabled-type",level:3},{value:"enabled Default Value",id:"enabled-default-value",level:3},{value:"cron",id:"cron",level:2},{value:"cron Type",id:"cron-type",level:3},{value:"cron Default Value",id:"cron-default-value",level:3}];function p(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h2,{id:"periodicfetch-type",children:"periodicFetch Type"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"object"})," (",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",children:"Details"}),")"]}),"\n",(0,n.jsx)(i.h2,{id:"periodicfetch-default-value",children:"periodicFetch Default Value"}),"\n",(0,n.jsx)(i.p,{children:"The default value is:"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-json",children:"{}\n"})}),"\n",(0,n.jsx)(i.h1,{id:"periodicfetch-properties",children:"periodicFetch Properties"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsxs)(i.tbody,{children:[(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#enabled",children:"enabled"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"boolean"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",title:"undefined#/properties/fetchJobs/properties/periodicFetch/properties/enabled",children:"Untitled schema"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#cron",children:"cron"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"string"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron",title:"undefined#/properties/fetchJobs/properties/periodicFetch/properties/cron",children:"Untitled schema"})})]})]})]}),"\n",(0,n.jsx)(i.h2,{id:"enabled",children:"enabled"}),"\n",(0,n.jsx)(i.p,{children:"\u662f\u5426\u9ed8\u8ba4\u6253\u5f00"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"enabled"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"boolean"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",title:"undefined#/properties/fetchJobs/properties/periodicFetch/properties/enabled",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"enabled-type",children:"enabled Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"boolean"})}),"\n",(0,n.jsx)(i.h3,{id:"enabled-default-value",children:"enabled Default Value"}),"\n",(0,n.jsx)(i.p,{children:"The default value is:"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-json",children:"true\n"})}),"\n",(0,n.jsx)(i.h2,{id:"cron",children:"cron"}),"\n",(0,n.jsx)(i.p,{children:"\u83b7\u53d6\u4fe1\u606f\u7684\u5468\u671f\u7684cron\u8868\u8fbe\u5f0f"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"cron"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron",title:"undefined#/properties/fetchJobs/properties/periodicFetch/properties/cron",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"cron-type",children:"cron Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.h3,{id:"cron-default-value",children:"cron Default Value"}),"\n",(0,n.jsx)(i.p,{children:"The default value is:"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-json",children:'"* * 1 * * *"\n'})})]})}function h(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},5409:(e,i,r)=>{r.d(i,{R:()=>l,x:()=>c});var n=r(48318);const t={},s=n.createContext(t);function l(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7e358b27.21740e99.js b/pr-preview/pr-1298/assets/js/7e358b27.21740e99.js deleted file mode 100644 index 648de21f5c..0000000000 --- a/pr-preview/pr-1298/assets/js/7e358b27.21740e99.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3308],{20013:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>n,default:()=>a,frontMatter:()=>p,metadata:()=>s,toc:()=>f});var i=t(49214),o=t(5409);const p={},n=void 0,s={id:"refs/config/app/definition-properties-web-properties-beforescript",title:"definition-properties-web-properties-beforescript",description:"beforeScript Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-beforescript.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-beforescript",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-beforescript.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-vnc",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc"},next:{title:"definition-properties-web-properties-connect-properties-formdata-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-"}},c={},f=[{value:"beforeScript Type",id:"beforescript-type",level:2}];function d(e){const r={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"beforescript-type",children:"beforeScript Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function a(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>n,x:()=>s});var i=t(48318);const o={},p=i.createContext(o);function n(e){const r=i.useContext(p);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(p.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/7f5809d2.9cb74c95.js b/pr-preview/pr-1298/assets/js/7f5809d2.9cb74c95.js deleted file mode 100644 index 0cbff73a5d..0000000000 --- a/pr-preview/pr-1298/assets/js/7f5809d2.9cb74c95.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3328],{94945:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>x,frontMatter:()=>d,metadata:()=>i,toc:()=>h});var n=r(49214),s=r(5409);const d={title:"gateway"},c="gateway",i={id:"refs/env/gateway",title:"gateway",description:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",source:"@site/docs/refs/env/gateway.md",sourceDirName:"refs/env",slug:"/refs/env/gateway",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/env/gateway.md",tags:[],version:"current",frontMatter:{title:"gateway"},sidebar:"refs",previous:{title:"auth",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/auth"},next:{title:"mis-server",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server"}},l={},h=[{value:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",level:2}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"gateway",children:"gateway"}),"\n",(0,n.jsx)(t.h2,{id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",children:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"\u540d\u5b57"}),(0,n.jsx)(t.th,{children:"\u7c7b\u578b"}),(0,n.jsx)(t.th,{children:"\u63cf\u8ff0"}),(0,n.jsx)(t.th,{children:"\u9ed8\u8ba4\u503c"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"CLIENT_MAX_BODY_SIZE"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"\u8bf7\u6c42body\u6700\u5927\u5927\u5c0f\uff0cnginx\u7684client_max_body_size\u914d\u7f6e\uff0c\u4ece\u914d\u7f6e\u9879UPLOAD_FILE_SIZE_LIMIT\u83b7\u53d6"}),(0,n.jsx)(t.td,{children:"1G"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"ACCESS_LOG"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"nginx\u7684access_log\u914d\u7f6e"}),(0,n.jsx)(t.td,{children:"/var/log/nginx/access.log"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"ERROR_LOG"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"nginx\u7684error_log\u914d\u7f6e"}),(0,n.jsx)(t.td,{children:"/var/log/nginx/error.log"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"EXTRA"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"\u66f4\u591a\u7684\u914d\u7f6e\uff0c\u5c06\u4f1a\u5e94\u7528\u5230server\u5757\u91cc"}),(0,n.jsx)(t.td,{})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"SUB_PATH"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"\u5982\u679c\u8981\u5728\u540c\u4e00\u4e2a\u57df\u540d/IP\u4e0b\u540c\u65f6\u90e8\u7f72portal\u548cweb\uff0c\u90a3\u4e48\u5efa\u8bae\u628a\u4e00\u4e2a\u90e8\u7f72\u5728/\uff0c\u53e6\u4e00\u4e2a\u90e8\u7f72\u5728\u5b50\u8def\u5f84\u4e0b\uff0c\u628a\u6b64\u914d\u7f6e\u8bbe\u7f6e\u4e3a\u5b50\u8def\u5f84"}),(0,n.jsx)(t.td,{children:"/mis"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"SUB_PATH_INTERNAL_URL"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"\u5b50\u8def\u5f84\u80cc\u540e\u7684\u5185\u7f51\u5730\u5740\u3002\u8981\u80fd\u4ece\u6b64\u670d\u52a1\u8bbf\u95ee"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"http://mis-web:3000",children:"http://mis-web:3000"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"ROOT_PATH_INTERNAL_URL"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"\u6839\u8def\u5f84\u80cc\u540e\u7684\u5185\u7f51\u5730\u5740\u3002\u8981\u80fd\u4ece\u6b64\u670d\u52a1\u8bbf\u95ee"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"http://portal-web:3000",children:"http://portal-web:3000"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"AUTH_INTERNAL_URL"})}),(0,n.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,n.jsx)(t.td,{children:"auth\u7684\u540e\u7aef\u5730\u5740\u3002\u6b64\u5730\u5740\u8981\u80fd\u672c\u670d\u52a1\u5904\u8bbf\u95ee\u3002"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"http://auth:5000",children:"http://auth:5000"})})]})]})]})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>i});var n=r(48318);const s={},d=n.createContext(s);function c(e){const t=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8092.6c21d8bf.js b/pr-preview/pr-1298/assets/js/8092.6c21d8bf.js deleted file mode 100644 index 84e9d93291..0000000000 --- a/pr-preview/pr-1298/assets/js/8092.6c21d8bf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8092],{92746:(e,t,n)=>{n.d(t,{A:()=>a});n(48318);var o=n(46601),s=n(7866),i=n(31773),r=n(49214);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,o.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},18092:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});n(48318);var o=n(7866),s=n(30763),i=n(68665),r=n(92746),a=n(49214);function c(){const e=(0,o.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.be,{title:e}),(0,a.jsx)(i.A,{children:(0,a.jsx)(r.A,{})})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/814f3328.6feb072a.js b/pr-preview/pr-1298/assets/js/814f3328.6feb072a.js deleted file mode 100644 index c8bd447118..0000000000 --- a/pr-preview/pr-1298/assets/js/814f3328.6feb072a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7472],{55513:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","unlisted":false},{"title":"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0","permalink":"/SCOW/pr-preview/pr-1298/blog/update-portal-app","unlisted":false},{"title":"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","unlisted":false},{"title":"scow-cli","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-cli-release","unlisted":false},{"title":"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc","permalink":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8181c4d7.a75f8275.js b/pr-preview/pr-1298/assets/js/8181c4d7.a75f8275.js deleted file mode 100644 index e13cd5c7ed..0000000000 --- a/pr-preview/pr-1298/assets/js/8181c4d7.a75f8275.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8341],{36396:(n,a,e)=>{e.r(a),e.d(a,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>r});var t=e(49214),s=e(5409);const i={sidebar_position:1},l="Baltamatica",c={id:"deploy/config/portal/apps/apps/baltamatica/index",title:"Baltamatica",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/baltamatica/index.md",sourceDirName:"deploy/config/portal/apps/apps/baltamatica",slug:"/deploy/config/portal/apps/apps/baltamatica/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/baltamatica/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b"},next:{title:"Desktop",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop/"}},o={},r=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001TurboVNC\u5b89\u88c5",id:"1turbovnc\u5b89\u88c5",level:3},{value:"2\u3001\u6784\u5efaBaltamatica\u955c\u50cf",id:"2\u6784\u5efabaltamatica\u955c\u50cf",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function p(n){const a={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.h1,{id:"baltamatica",children:"Baltamatica"}),"\n",(0,t.jsx)(a.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,t.jsx)(a.p,{children:"\u5317\u592a\u5929\u5143\uff08Baltamatica\uff09\u662f\u9762\u5411\u79d1\u5b66\u8ba1\u7b97\u4e0e\u5de5\u7a0b\u8ba1\u7b97\u7684\u56fd\u4ea7\u901a\u7528\u578b\u79d1\u5b66\u8ba1\u7b97\u8f6f\u4ef6\u3002\u672c\u8f6f\u4ef6\u63d0\u4f9b\u79d1\u5b66\u8ba1\u7b97\u3001\u53ef\u89c6\u5316\u3001\u4ea4\u4e92\u5f0f\u7a0b\u5e8f\u8bbe\u8ba1\uff0c\u5177\u5907\u5f3a\u5927\u7684\u5e95\u5c42\u6570\u5b66\u51fd\u6570\u5e93\uff0c\u652f\u6301\u6570\u503c\u8ba1\u7b97\u3001\u6570\u636e\u5206\u6790\u3001\u6570\u636e\u53ef\u89c6\u5316\u3001 \u6570\u636e\u4f18\u5316\u3001\u7b97\u6cd5\u5f00\u53d1\u7b49\u5de5\u4f5c\uff0c\u5e76\u901a\u8fc7SDK\u4e0eAPI\u63a5\u53e3\uff0c\u6269\u5c55\u652f\u6301\u5404\u7c7b\u5b66\u79d1\u4e0e\u884c\u4e1a\u573a\u666f\uff0c\u4e3a\u5404\u9886\u57df\u79d1\u5b66\u5bb6\u4e0e\u5de5\u7a0b\u5e08\u63d0\u4f9b\u4f18\u8d28\u3001\u53ef\u9760\u7684\u79d1\u5b66\u8ba1\u7b97\u73af\u5883\u3002"}),"\n",(0,t.jsx)(a.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,t.jsx)(a.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,t.jsxs)(a.ul,{children:["\n",(0,t.jsxs)(a.li,{children:["\n",(0,t.jsx)(a.p,{children:"TurboVNC 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"}),"\n"]}),"\n",(0,t.jsxs)(a.li,{children:["\n",(0,t.jsx)(a.p,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684Baltamatica"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(a.h3,{id:"1turbovnc\u5b89\u88c5",children:"1\u3001TurboVNC\u5b89\u88c5"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate\nmv TurboVNC.repo /etc/yum.repos.d\n# \u5b89\u88c5\u6700\u65b0\u7248\u672c\nyum install turbovnc -y\n"})}),"\n",(0,t.jsx)(a.h3,{id:"2\u6784\u5efabaltamatica\u955c\u50cf",children:"2\u3001\u6784\u5efaBaltamatica\u955c\u50cf"}),"\n",(0,t.jsxs)(a.p,{children:["\u6784\u5efaSingularity\u955c\u50cf\u9700\u8981\u5148\u5b89\u88c5Singularity\u8f6f\u4ef6\uff0c\u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u8bf7\u53c2\u8003RStudio\u5e94\u7528\u914d\u7f6e\u9644\u7ae0\u4e2d\u7684",(0,t.jsx)(a.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio/",children:"Singularity\u5b89\u88c5"}),"\u3002"]}),"\n",(0,t.jsxs)(a.ul,{children:["\n",(0,t.jsxs)(a.li,{children:["\n",(0,t.jsx)(a.p,{children:"\u521b\u5efa\u5bb9\u5668\u5e76\u8fdb\u884c\u5317\u592a\u5929\u5143\u5b89\u88c5"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:'# \u62c9\u53d6docker\u955c\u50cf\u521b\u5efasandbox\u683c\u5f0f\u5bb9\u5668\nsingularity build --sandbox balt-sing docker://ubuntu:20.04\n# \u901a\u8fc7\u4ea4\u4e92\u7684\u65b9\u5f0f\u8fdb\u5165\u5bb9\u5668\u955c\u50cf\uff0c\u8fdb\u884c\u5317\u592a\u5929\u5143\u8f6f\u4ef6\u7684\u5b89\u88c5\nsingularity shell -w balt-sing\n\n# \u5728\u955c\u50cf\u5185\u5b89\u88c5\u4e00\u4e9b\u9700\u8981\u7528\u5230\u7684\u5de5\u5177\napt update\napt install vim -y\n\n# \u5728\u955c\u50cf\u5185\u5b89\u88c5\u5317\u592a\u5929\u5143\u8f6f\u4ef6\uff0c\u4e0b\u65b9\u6587\u4ef6\u540d\u4fee\u6539\u4e3a\u5bf9\u5e94\u7684\u5b89\u88c5\u5305\u540d\n# \u5b89\u88c5\u65f6\u9700\u8981\u9009\u62e9\u4e00\u4e9b\u5730\u57df\uff0c\u9009\u62e9Asia HongKong Chinese\u7b49\napt install ./baltamatica***.deb\n\n#\u8fd0\u884c\u4e0b\u8ff0\u547d\u4ee4\u89e3\u51b3libQt5Core.so.5\u94fe\u63a5\u5931\u8d25\u7684\u95ee\u9898\napt install binutils -y\nstrip --remove-section=.note.ABI-tag /opt/Baltamatica/lib/libQt5Core.so.5\n\n# \u4fee\u6539\u5317\u592a\u5929\u5143\u542f\u52a8\u811a\u672c\nvim /opt/Baltamatica/bin/baltamatica.sh\n# \u4fee\u6539export BALTAM_PATH=$(cd ${0%/*}/..;pwd)\u4e3aexport BALTAM_PATH="/opt/Baltamatica"\n\n# \u5b89\u88c5\u5b8c\u6bd5\u9000\u51fa\u5bb9\u5668\nexit\n\n# \u5c06\u5bb9\u5668\u6253\u5305\nsingularity build balt-sing.sif balt-sing/\n'})}),"\n"]}),"\n",(0,t.jsxs)(a.li,{children:["\n",(0,t.jsx)(a.p,{children:"\u5c06Singularity\u955c\u50cf\u62f7\u8d1d\u5230\u5171\u4eab\u5b58\u50a8\uff0c\u4ee5\u4fbf\u5728\u8ba1\u7b97\u8282\u70b9\u53ef\u4ee5\u8bbf\u95ee\u5e76\u8fd0\u884c\uff1a"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"cp balt-sing.sif /data/software/baltamatica/\n"})}),"\n"]}),"\n",(0,t.jsxs)(a.li,{children:["\n",(0,t.jsx)(a.p,{children:"\u4e0b\u8f7d\u601d\u6e90\u9ed1\u4f53\uff0c\u89e3\u51b3\u4e0d\u80fd\u6b63\u786e\u663e\u793a\u4e2d\u6587\u7684\u95ee\u9898"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"wget https://github.com/adobe-fonts/source-han-sans/releases/download/2.004R/SourceHanSansCN.zip\nunzip SourceHanSansCN.zip\n# \u8f6c\u5b58\u5230\u5171\u4eab\u5b58\u50a8\nmv SourceHanSansCN/CN /data/software/baltamatica/SubsetOTF\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(a.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528Baltamatica\u3002"}),"\n",(0,t.jsx)(a.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,t.jsxs)(a.p,{children:["\u521b\u5efa",(0,t.jsx)(a.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,t.jsx)(a.code,{children:"baltamatica.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-yaml",metastring:'title="config/apps/baltamatica.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: baltamatica\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: baltamatica\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n export SINGULARITY_VERSION="singularity/3.9.2"\n module switch ${SINGULARITY_VERSION}\n unset SESSION_MANAGER\n unset DBUS_SESSION_BUS_ADDRESS\n\n # Disable startup services \n xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false\n xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false\n xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool\n xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool\n # \u914d\u7f6e\u9ed8\u8ba4\u9762\u677f\n if [ ! -d "${HOME}/.config/xfce4/panel/launcher-9" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-10" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-11" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-12" ]; then\n cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml\n fi\n # \u684c\u9762\u7ec8\u7aef\u9ed8\u8ba4\u8fdb\u5165\u5230\u5bb6\u76ee\u5f55\n cd ~\n startxfce4 &\n\n mkdir ~/.fonts\n cp -r /data/software/baltamatica/SubsetOTF ~/.fonts\n singularity exec /data/software/baltamatica/balt-sing.sif baltamatica.sh\n \n# \u914d\u7f6eHTML\u8868\u5355\nattributes:\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})})]})}function d(n={}){const{wrapper:a}={...(0,s.R)(),...n.components};return a?(0,t.jsx)(a,{...n,children:(0,t.jsx)(p,{...n})}):p(n)}},5409:(n,a,e)=>{e.d(a,{R:()=>l,x:()=>c});var t=e(48318);const s={},i=t.createContext(s);function l(n){const a=t.useContext(i);return t.useMemo((function(){return"function"==typeof n?n(a):{...a,...n}}),[a,n])}function c(n){let a;return a=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:l(n.components),t.createElement(i.Provider,{value:a},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8315913c.d298d7b5.js b/pr-preview/pr-1298/assets/js/8315913c.d298d7b5.js deleted file mode 100644 index 70489b3569..0000000000 --- a/pr-preview/pr-1298/assets/js/8315913c.d298d7b5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4166],{71590:p=>{p.exports=JSON.parse('{"title":"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","description":"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","slug":"/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","navigation":{"previous":{"title":"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app"},"next":{"title":"Baltamatica","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/834d47d4.ea483e23.js b/pr-preview/pr-1298/assets/js/834d47d4.ea483e23.js deleted file mode 100644 index 4ef20997be..0000000000 --- a/pr-preview/pr-1298/assets/js/834d47d4.ea483e23.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2943],{5324:e=>{e.exports=JSON.parse('{"title":"\u8c03\u5ea6\u5668","description":"\u4e0d\u540c\u8c03\u5ea6\u5668\u7684\u914d\u7f6e","slug":"/category/\u8c03\u5ea6\u5668","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668","navigation":{"previous":{"title":"\u521b\u5efa\u7528\u6237\u914d\u7f6e","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user/"},"next":{"title":"slurm","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/83b97878.9831d582.js b/pr-preview/pr-1298/assets/js/83b97878.9831d582.js deleted file mode 100644 index 22dc732dd1..0000000000 --- a/pr-preview/pr-1298/assets/js/83b97878.9831d582.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7859],{64568:(n,s,e)=>{e.r(s),e.d(s,{assets:()=>h,contentTitle:()=>d,default:()=>j,frontMatter:()=>l,metadata:()=>c,toc:()=>t});var i=e(49214),r=e(5409);const l={sidebar_position:1,title:"\u7528\u6237\u6a21\u578b"},d="\u7528\u6237\u6a21\u578b",c={id:"info/mis/business/users",title:"\u7528\u6237\u6a21\u578b",description:"\u7528\u6237\u6a21\u578b",source:"@site/docs/info/mis/business/users.md",sourceDirName:"info/mis/business",slug:"/info/mis/business/users",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/mis/business/users.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u7528\u6237\u6a21\u578b"},sidebar:"info",previous:{title:"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/"},next:{title:"\u8ba1\u8d39\u6536\u8d39",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing"}},h={},t=[{value:"\u7528\u6237\u6a21\u578b",id:"\u7528\u6237\u6a21\u578b-1",level:2},{value:"\u8d26\u6237\u72b6\u6001",id:"\u8d26\u6237\u72b6\u6001",level:2},{value:"1.\u8d26\u6237\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6\uff1a",id:"1\u8d26\u6237\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6",level:3},{value:"2.\u8d26\u6237\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6\uff1a",id:"2\u8d26\u6237\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6",level:3},{value:"3.\u8d26\u6237\u5904\u4e8e\u6b20\u8d39\u72b6\u6001\u65f6\uff1a",id:"3\u8d26\u6237\u5904\u4e8e\u6b20\u8d39\u72b6\u6001\u65f6",level:3},{value:"\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001",id:"\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001",level:2},{value:"1.\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6\uff1a",id:"1\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6",level:3},{value:"2.\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6\uff1a",id:"2\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6",level:3},{value:"3.\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u9650\u989d\u72b6\u6001\u65f6\uff1a",id:"3\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u9650\u989d\u72b6\u6001\u65f6",level:3}];function x(n){const s={h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h1,{id:"\u7528\u6237\u6a21\u578b",children:"\u7528\u6237\u6a21\u578b"}),"\n",(0,i.jsx)(s.h2,{id:"\u7528\u6237\u6a21\u578b-1",children:"\u7528\u6237\u6a21\u578b"}),"\n",(0,i.jsxs)(s.p,{children:["\u7cfb\u7edf\u4f7f\u7528\u4e09\u7ea7\u7684\u7528\u6237\u6a21\u578b\uff1a",(0,i.jsx)(s.strong,{children:"\u79df\u6237(tenant)"}),"\u3001",(0,i.jsx)(s.strong,{children:"\u8d26\u6237(account)"}),"\u3001",(0,i.jsx)(s.strong,{children:"\u7528\u6237(user)"}),"\u3002\u5404\u7ea7\u4e4b\u95f4\u7684\u5173\u7cfb\u5982\u4e0b\u56fe\u6240\u793a\uff1a"]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"\u7528\u6237\u6a21\u578b",src:e(1339).A+"",width:"794",height:"770"})}),"\n",(0,i.jsxs)(s.p,{children:["\u6bcf\u4e2a\u7528\u6237\u548c\u8d26\u6237\u5c5e\u4e8e\u4e14\u53ea\u5c5e\u4e8e\u4e00\u4e2a\u79df\u6237\uff0c\u4e00\u4e2a\u7528\u6237\u53ef\u4ee5\u5c5e\u4e8e0\u4e2a\u6216\u8005\u591a\u4e2a\u8d26\u6237\uff0c\u6bcf\u4e2a\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u89d2\u8272\u4e3a",(0,i.jsx)(s.strong,{children:"\u7528\u6237"}),"\u3001",(0,i.jsx)(s.strong,{children:"\u7ba1\u7406\u5458"}),"\u6216\u8005",(0,i.jsx)(s.strong,{children:"\u62e5\u6709\u8005"}),"\u4e4b\u4e00\uff0c\u53ef\u53e6\u4e3a\u79df\u6237\u548c\u6574\u4e2a\u5e73\u53f0\u7684",(0,i.jsx)(s.strong,{children:"\u79df\u6237\u7ba1\u7406\u5458"}),"\u548c",(0,i.jsx)(s.strong,{children:"\u8d22\u52a1\u4eba\u5458"}),"\uff08\u53ef\u5747\u4e3a\uff09\u3002"]}),"\n",(0,i.jsxs)(s.p,{children:["\u6bcf\u4e2a\u7528\u6237\u7684\u7528\u6237\u540d\u548c\u8d26\u6237\u540d\u5728",(0,i.jsx)(s.strong,{children:"\u6574\u4e2a\u5e73\u53f0\u7684\u8303\u56f4"}),"\uff08\u6ce8\u610f\uff0c\u5e76\u975e\u79df\u6237\uff09\u4e2d\u552f\u4e00\u3002\u5728\u6240\u4f7f\u7528\u7684\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u7684\u60c5\u51b5\u4e0b\uff0c\u8d26\u6237\u7ba1\u7406\u5458\u3001\u79df\u6237\u7ba1\u7406\u5458\u53ef\u4ee5\u521b\u5efa\u7528\u6237\u3002"]}),"\n",(0,i.jsx)(s.h2,{id:"\u8d26\u6237\u72b6\u6001",children:"\u8d26\u6237\u72b6\u6001"}),"\n",(0,i.jsxs)(s.p,{children:["\u5f53\u524d\u7cfb\u7edf\u4e2d\u9875\u9762\u5c55\u793a\u7684\u8d26\u6237\u72b6\u6001\u6709\uff1a",(0,i.jsx)(s.strong,{children:"\u6b63\u5e38"}),"\u3001",(0,i.jsx)(s.strong,{children:"\u5c01\u9501"}),"\u3001",(0,i.jsx)(s.strong,{children:"\u6b20\u8d39"}),"\u3002"]}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"\u72b6\u6001\u5b9a\u4e49"}),(0,i.jsx)(s.th,{children:"\u89e3\u91ca"}),(0,i.jsx)(s.th,{children:"\u8d26\u6237\u5728\u96c6\u7fa4\u4e2d\u7684\u72b6\u6001"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:"\u6b63\u5e38"}),(0,i.jsxs)(s.td,{children:["\u8d26\u6237\u672a\u88ab\u5c01\u9501\u6216\u51bb\u7ed3\uff0c\u4e14\u8d26\u6237\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5927\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c\uff1b",(0,i.jsx)("br",{}),"\u6216\u8005\u8d26\u6237\u5df2\u5b58\u5728\u4e8e\u8d26\u6237\u767d\u540d\u5355"]}),(0,i.jsx)(s.td,{children:"\u6b63\u5e38"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:"\u5c01\u9501"}),(0,i.jsx)(s.td,{children:"\u8d26\u6237\u5df2\u88ab\u79df\u6237\u7ba1\u7406\u5458\u6216\u5e73\u53f0\u7ba1\u7406\u5458\u5c01\u9501"}),(0,i.jsx)(s.td,{children:"\u5c01\u9501"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:"\u6b20\u8d39"}),(0,i.jsxs)(s.td,{children:["\u8d26\u6237\u672a\u88ab\u5c01\u9501\u6216\u51bb\u7ed3\uff0c\u4e14\u8d26\u6237\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e\u7b49\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c"]}),(0,i.jsx)(s.td,{children:"\u5c01\u9501"})]})]})]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"\u5404\u72b6\u6001\u95f4\u7684\u8f6c\u6362\u6761\u4ef6\u5982\u4e0b\uff1a"})}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"\u7528\u6237\u6a21\u578b",src:e(85217).A+"",width:"3720",height:"1808"})}),"\n",(0,i.jsx)(s.h3,{id:"1\u8d26\u6237\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6",children:"1.\u8d26\u6237\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6\uff1a"}),"\n",(0,i.jsx)(s.p,{children:"\uff081\uff09. \u8d26\u6237\u5728\u767d\u540d\u5355\u4e2d\uff1a"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u4e0d\u53ef\u8fdb\u884c\u5c01\u9501\u6216\u89e3\u5c01\u64cd\u4f5c"}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u79fb\u51fa\u767d\u540d\u5355\u65f6\uff0c\u5224\u65ad\u8d26\u6237\u4f59\u989d\uff0c\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5927\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c\uff0c\u72b6\u6001\u53d8\u4ecd\u4e3a\u6b63\u5e38"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u79fb\u51fa\u767d\u540d\u5355\u65f6\uff0c\u5224\u65ad\u8d26\u6237\u4f59\u989d\uff0c\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e\u7b49\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c\uff0c\u72b6\u6001\u53d8\u66f4\u4e3a\u6b20\u8d39"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"\uff082\uff09. \u8d26\u6237\u4e0d\u5728\u767d\u540d\u5355\u4e2d\uff1a"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u6dfb\u52a0\u767d\u540d\u5355\uff1a\u72b6\u6001\u4ecd\u4e3a\u6b63\u5e38"}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u4f7f\u7528\u6263\u8d39\u6216\u8005\u4fee\u6539\u8d26\u6237\u5c01\u9501\u9608\u503c\u540e\uff0c\u5224\u65ad\u8d26\u6237\u4f59\u989d\uff0c\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e\u7b49\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c\uff0c\u72b6\u6001\u53d8\u66f4\u4e3a\u6b20\u8d39"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u79df\u6237\u7ba1\u7406\u5458\u6216\u5e73\u53f0\u7ba1\u7406\u5458\u4e3b\u52a8\u5c01\u9501\u8d26\u6237\uff0c\u72b6\u6001\u53d8\u66f4\u4e3a\u5c01\u9501"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"2\u8d26\u6237\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6",children:"2.\u8d26\u6237\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6\uff1a"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u6dfb\u52a0\u767d\u540d\u5355\uff1a\u72b6\u6001\u53d8\u4e3a\u6b63\u5e38"}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u79df\u6237\u7ba1\u7406\u5458\u6216\u5e73\u53f0\u7ba1\u7406\u5458\u4e3b\u52a8\u89e3\u5c01\u8d26\u6237\uff0c\u5224\u65ad\u8d26\u6237\u4f59\u989d\uff0c\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5927\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c\uff0c\u72b6\u6001\u53d8\u66f4\u4e3a\u6b63\u5e38"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u79df\u6237\u7ba1\u7406\u5458\u6216\u5e73\u53f0\u7ba1\u7406\u5458\u4e3b\u52a8\u89e3\u5c01\u8d26\u6237\uff0c\u5224\u65ad\u8d26\u6237\u4f59\u989d\uff0c\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e\u7b49\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c\uff0c\u72b6\u6001\u53d8\u66f4\u4e3a\u6b20\u8d39"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"3\u8d26\u6237\u5904\u4e8e\u6b20\u8d39\u72b6\u6001\u65f6",children:"3.\u8d26\u6237\u5904\u4e8e\u6b20\u8d39\u72b6\u6001\u65f6\uff1a"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u6dfb\u52a0\u767d\u540d\u5355\uff1a\u72b6\u6001\u53d8\u4e3a\u6b63\u5e38"}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u5bf9\u5e10\u6237\u5145\u503c\u6216\u8005\u4fee\u6539\u8d26\u6237\u5c01\u9501\u9608\u503c\u540e\uff0c\u4f59\u989d ",(0,i.jsx)(s.strong,{children:"\u5927\u4e8e"})," \u8d26\u6237\u5c01\u9501\u9608\u503c\uff0c\u72b6\u6001\u53d8\u66f4\u4e3a\u6b63\u5e38"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u79df\u6237\u7ba1\u7406\u5458\u6216\u5e73\u53f0\u7ba1\u7406\u5458\u4e3b\u52a8\u5c01\u9501\u8d26\u6237\uff0c\u72b6\u6001\u53d8\u66f4\u4e3a\u5c01\u9501"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001",children:"\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001"}),"\n",(0,i.jsxs)(s.p,{children:["\u5f53\u524d\u7cfb\u7edf\u4e2d\u9875\u9762\u5c55\u793a\u7684\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u6709\uff1a",(0,i.jsx)(s.strong,{children:"\u6b63\u5e38"}),"\u3001",(0,i.jsx)(s.strong,{children:"\u5c01\u9501"}),"\u3001",(0,i.jsx)(s.strong,{children:"\u9650\u989d"}),"\u3002"]}),"\n",(0,i.jsxs)(s.table,{children:[(0,i.jsx)(s.thead,{children:(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.th,{children:"\u72b6\u6001\u5b9a\u4e49"}),(0,i.jsx)(s.th,{children:"\u89e3\u91ca"}),(0,i.jsx)(s.th,{children:"\u7528\u6237\u5728\u96c6\u7fa4\u4e2d\u7684\u72b6\u6001"})]})}),(0,i.jsxs)(s.tbody,{children:[(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:"\u6b63\u5e38"}),(0,i.jsxs)(s.td,{children:["\u7528\u6237\u672a\u88ab\u5c01\u9501\u65f6\uff0c1.\u672a\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff1b",(0,i.jsx)("br",{}),"2.\u5df2\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u4e14\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e"})," \u7528\u6237\u9650\u989d"]}),(0,i.jsx)(s.td,{children:"\u6b63\u5e38(\u8d26\u6237\u5728\u96c6\u7fa4\u4e2d\u672a\u5c01\u9501)"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:"\u5c01\u9501"}),(0,i.jsx)(s.td,{children:"\u7528\u6237\u5df2\u88ab\u8d26\u6237\u7ba1\u7406\u5458\u6216\u8d26\u6237\u62e5\u6709\u8005\u5c01\u9501"}),(0,i.jsx)(s.td,{children:"\u5c01\u9501"})]}),(0,i.jsxs)(s.tr,{children:[(0,i.jsx)(s.td,{children:"\u9650\u989d"}),(0,i.jsxs)(s.td,{children:["\u7528\u6237\u672a\u88ab\u5c01\u9501\uff0c\u4f46\u5df2\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u4e14\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5927\u4e8e\u7b49\u4e8e"})," \u7528\u6237\u9650\u989d"]}),(0,i.jsx)(s.td,{children:"\u5c01\u9501"})]})]})]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.strong,{children:"\u5404\u72b6\u6001\u95f4\u7684\u8f6c\u6362\u6761\u4ef6\u5982\u4e0b\uff1a"})}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"\u7528\u6237\u6a21\u578b",src:e(15627).A+"",width:"4020",height:"1728"})}),"\n",(0,i.jsx)(s.h3,{id:"1\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6",children:"1.\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u6b63\u5e38\u72b6\u6001\u65f6\uff1a"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u672a\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\u65f6\uff0c\u5373\u4f7f\u53d1\u751f\u4f5c\u4e1a\u6263\u8d39\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u4e5f\u4e0d\u53d1\u751f\u53d8\u5316\uff0c\u4ecd\u4e3a\u6b63\u5e38"}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u5df2\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u53d1\u751f\u6263\u8d39\u4f7f\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e"})," \u7528\u6237\u9650\u989d\uff0c\u72b6\u6001\u4ecd\u7136\u4e3a\u6b63\u5e38\uff1b\u53d1\u751f\u6263\u8d39\u4f7f\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5927\u4e8e\u7b49\u4e8e"})," \u7528\u6237\u9650\u989d\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u9650\u989d"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u5df2\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u4fee\u6539\u9650\u989d\u4f7f\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e"})," \u7528\u6237\u9650\u989d\uff0c\u72b6\u6001\u4ecd\u7136\u4e3a\u6b63\u5e38\uff1b\u4fee\u6539\u9650\u989d\u4f7f\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u7b49\u4e8e"})," \u7528\u6237\u9650\u989d\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u9650\u989d"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u5c01\u9501\u7528\u6237\u65f6\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u5c01\u9501"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"2\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6",children:"2.\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u5c01\u9501\u72b6\u6001\u65f6\uff1a"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u672a\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\u65f6\uff0c\u8d26\u6237\u7ba1\u7406\u5458\u6216\u62e5\u6709\u8005\u4e3b\u52a8\u89e3\u5c01\u7528\u6237\u540e\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u6b63\u5e38"}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u5df2\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u8d26\u6237\u7ba1\u7406\u5458\u6216\u62e5\u6709\u8005\u4e3b\u52a8\u89e3\u5c01\u7528\u6237\uff0c\u5224\u65ad\u9650\u989d\uff0c\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e"})," \u7528\u6237\u9650\u989d\u65f6\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u6b63\u5e38"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u5df2\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u8d26\u6237\u7ba1\u7406\u5458\u6216\u62e5\u6709\u8005\u4e3b\u52a8\u89e3\u5c01\u7528\u6237\uff0c\u5224\u65ad\u9650\u989d\uff0c\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5927\u4e8e\u7b49\u4e8e"})," \u7528\u6237\u9650\u989d\u65f6\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u9650\u989d"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u8bbe\u7f6e\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\u6216\u4fee\u6539\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\u65f6\uff0c\u4e0d\u53d1\u751f\u72b6\u6001\u6539\u53d8\uff0c\u72b6\u6001\u4ecd\u4e3a\u5c01\u9501"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"3\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u9650\u989d\u72b6\u6001\u65f6",children:"3.\u7528\u6237\u5728\u8d26\u6237\u4e2d\u5904\u4e8e\u9650\u989d\u72b6\u6001\u65f6\uff1a"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u8d26\u6237\u7ba1\u7406\u5458\u6216\u62e5\u6709\u8005\u4e3b\u52a8\u5c01\u9501\u7528\u6237\u65f6\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u5c01\u9501"}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u4fee\u6539\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u4f7f\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u7b49\u4e8e"})," \u7528\u6237\u9650\u989d\u65f6\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u4ecd\u4e3a\u9650\u989d"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsxs)(s.p,{children:["\u4fee\u6539\u7528\u6237\u4f5c\u4e1a\u8d39\u7528\u9650\u989d\uff0c\u4f7f\u7528\u6237\u5df2\u7528\u989d\u5ea6 ",(0,i.jsx)(s.strong,{children:"\u5c0f\u4e8e"})," \u7528\u6237\u9650\u989d\u65f6\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u6b63\u5e38"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["\n",(0,i.jsx)(s.p,{children:"\u53d6\u6d88\u9650\u989d\u65f6\uff0c\u7528\u6237\u5728\u8d26\u6237\u4e2d\u7684\u72b6\u6001\u53d8\u66f4\u4e3a\u6b63\u5e38"}),"\n"]}),"\n"]})]})}function j(n={}){const{wrapper:s}={...(0,r.R)(),...n.components};return s?(0,i.jsx)(s,{...n,children:(0,i.jsx)(x,{...n})}):x(n)}},85217:(n,s,e)=>{e.d(s,{A:()=>i});const i=e.p+"assets/images/account_state_explanation_without_frozen-e162e1469837655a31a736e14c685eb4.png"},1339:(n,s,e)=>{e.d(s,{A:()=>i});const i=e.p+"assets/images/user-model-920a0c5f60fad3a123ed482de61aae1a.png"},15627:(n,s,e)=>{e.d(s,{A:()=>i});const i=e.p+"assets/images/user_state_in_account_explanation-78072c0c0c90f8b5deecc6c50b5adc3b.png"},5409:(n,s,e)=>{e.d(s,{R:()=>d,x:()=>c});var i=e(48318);const r={},l=i.createContext(r);function d(n){const s=i.useContext(l);return i.useMemo((function(){return"function"==typeof n?n(s):{...s,...n}}),[s,n])}function c(n){let s;return s=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:d(n.components),i.createElement(l.Provider,{value:s},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/83bfe665.446b855d.js b/pr-preview/pr-1298/assets/js/83bfe665.446b855d.js deleted file mode 100644 index bb123b2d9d..0000000000 --- a/pr-preview/pr-1298/assets/js/83bfe665.446b855d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6030],{68402:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>i});var r=s(49214),c=s(5409);const t={sidebar_position:3,title:"\u81ea\u5b9a\u4e49\u90e8\u7f72"},l=void 0,o={id:"deploy/get-started/vagrant/customization",title:"\u81ea\u5b9a\u4e49\u90e8\u7f72",description:"1. \u5982\u4f55\u4fee\u6539\u8282\u70b9\u79c1\u7f51IP",source:"@site/docs/deploy/get-started/vagrant/customization.md",sourceDirName:"deploy/get-started/vagrant",slug:"/deploy/get-started/vagrant/customization",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/get-started/vagrant/customization.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"\u81ea\u5b9a\u4e49\u90e8\u7f72"},sidebar:"deploy",previous:{title:"vagrant\u73af\u5883\u642d\u5efa",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env"},next:{title:"vagrant\u955c\u50cf\u5236\u4f5c",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images"}},d={},i=[{value:"1. \u5982\u4f55\u4fee\u6539\u8282\u70b9\u79c1\u7f51IP",id:"1-\u5982\u4f55\u4fee\u6539\u8282\u70b9\u79c1\u7f51ip",level:2},{value:"2. \u5982\u4f55\u65b0\u589e\u8ba1\u7b97\u8282\u70b9",id:"2-\u5982\u4f55\u65b0\u589e\u8ba1\u7b97\u8282\u70b9",level:2}];function a(e){const n={blockquote:"blockquote",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"1-\u5982\u4f55\u4fee\u6539\u8282\u70b9\u79c1\u7f51ip",children:"1. \u5982\u4f55\u4fee\u6539\u8282\u70b9\u79c1\u7f51IP"}),"\n",(0,r.jsxs)(n.p,{children:["\u672c\u65b9\u6848\u5404\u8282\u70b9IP\u4f7f\u7528\u7684\u662f",(0,r.jsx)(n.code,{children:"private_network"}),"\u6a21\u5f0f(Host-Only)\uff0c\u82e5\u4e0d\u4e0e\u5176\u4ed6\u865a\u673aIP\u51b2\u7a81\uff0c\u53ef\u4e0d\u9700\u8981\u4fee\u6539\u76f4\u63a5\u4f7f\u7528\u9ed8\u8ba4\u5373\u53ef\u3002\u5982\u9700\u8981\u4fee\u6539\u8282\u70b9IP\uff0c\u53ef\u53c2\u7167\u5982\u4e0b\u64cd\u4f5c\uff1a"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"(1) Vagrantfile\u4fee\u6539\uff1a"})}),"\n",(0,r.jsxs)(n.p,{children:["\u901a\u8fc7\u4fee\u6539",(0,r.jsx)(n.code,{children:"Vagrantfile"}),"\u6587\u4ef6",(0,r.jsx)(n.code,{children:"vm_list"}),"\u4e0b\u5404\u8282\u70b9\u7684",(0,r.jsx)(n.code,{children:"eth1"}),"\u5c5e\u6027\uff0c\u4fee\u6539\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9 \u4f7f\u7528\u7684IP\uff0c\u9700\u4fdd\u8bc1\u8bbe\u7f6e\u7684\u5404\u8282\u70b9IP\u5728\u540c\u4e00\u5c40\u57df\u7f51\u5185\u3002"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"(2) slurm\u914d\u7f6e\u6587\u4ef6\u4fee\u6539\uff1a"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"slurm\\slurm.conf"}),"\u6587\u4ef6\u4e2d\u7684nodes\u914d\u7f6e\u90e8\u5206\uff0c\u5c06\u5404\u8282\u70b9IP\u4fee\u6539\u4e3a\u4e0e",(0,r.jsx)(n.code,{children:"vm_list"}),"\u4e2d\u914d\u7f6e\u7684\u4e00\u81f4\uff1b"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"slurm\\ldap_client.sh"}),"\u6587\u4ef6\u4e2d",(0,r.jsx)(n.code,{children:"ServHost"}),"\u6539\u4e3aslurm\u8282\u70b9IP\uff1b"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"slurm\\nfs_client.sh"}),"\u6587\u4ef6\u4e2d\u7684",(0,r.jsx)(n.code,{children:"192.168.88.101"}),"\u6539\u4e3aslurm\u8282\u70b9IP\u3002"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"(3) SCOW\u914d\u7f6e\u6587\u4ef6\u4fee\u6539\uff1a"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"scow\\scow-deployment\\config\\auth.yml"}),"\u6587\u4ef6\u4e2d\u7684",(0,r.jsx)(n.code,{children:"ldap.url"}),"\u7684IP\u6539\u4e3aslurm\u8282\u70b9IP\uff1b"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"scow\\scow-deployment\\config\\mis.yaml"}),"\u6587\u4ef6\u4e2d",(0,r.jsx)(n.code,{children:"fetchJobs.db.host"}),"\u6539\u4e3ascow\u8282\u70b9IP\uff1b"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"scow\\scow-deployment\\config\\clusters\\hpc01.yaml"}),"\u6587\u6863\u4e2d",(0,r.jsx)(n.code,{children:"slurm.mis.managerUrl"}),"\u6539\u4e3aslurm\u8282\u70b9IP\u3002"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"(4) export job\u914d\u7f6e\u6587\u4ef6\u4fee\u6539\uff1a"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"scow\\export-jobs\\config.py"}),"\u6587\u4ef6\u4e2d\u7684",(0,r.jsx)(n.code,{children:"cluster_db_conf.host"}),"\u6539\u4e3aslurm\u8282\u70b9IP\uff0c",(0,r.jsx)(n.code,{children:"mgt_db_conf.host"}),"scow\u8282\u70b9IP\u3002"]}),"\n",(0,r.jsx)(n.p,{children:"\u4ee5\u4e0a\u914d\u7f6e\u4fee\u6539\u5b8c\u6210\u4e4b\u540e\u6267\u884c\u90e8\u7f72\u547d\u4ee4\uff1a"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"vagrant up\n"})}),"\n",(0,r.jsx)(n.h2,{id:"2-\u5982\u4f55\u65b0\u589e\u8ba1\u7b97\u8282\u70b9",children:"2. \u5982\u4f55\u65b0\u589e\u8ba1\u7b97\u8282\u70b9"}),"\n",(0,r.jsxs)(n.p,{children:["\u4ee5\u6dfb\u52a0\u8ba1\u7b97\u8282\u70b9",(0,r.jsx)(n.code,{children:"cn02"}),"\u4e3a\u4f8b\uff0c",(0,r.jsx)(n.code,{children:"Vagrantfile"}),"\u6587\u4ef6",(0,r.jsx)(n.code,{children:"vm_list"}),"\u4e2d\u590d\u5236\u4e00\u4efd",(0,r.jsx)(n.code,{children:"cn01"}),"\u7684\u914d\u7f6e\uff0c\u5e76\u505a\u5982\u4e0b\u4fee\u6539\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:' {\n :name => "cn02",\n :eth1 => "192.168.88.104",\n :mem => "4096",\n :cpu => "4",\n :sshport => 22234,\n :box => "icode/slurm_compute",\n\t\t:role => "slurm",\n :is_service_node => false\n }\n'})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:"\u6ce8\u610f\u4fee\u6539name\uff0ceth1\uff0csshport\u7684\u503c\uff0c\u53ef\u4e0d\u4fee\u6539\u5176\u4ed6\u5c5e\u6027\u503c\u3002"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"slurm\\slurm.conf"}),"\u6587\u4ef6\u4e2d\u4fee\u6539\u8ba1\u7b97\u8282\u70b9\u548c\u5206\u533a\u914d\u7f6e\u4fe1\u606f\u90e8\u5206\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"# NODES \u914d\u7f6e\u90e8\u5206\u5c06cn02\u8282\u70b9\u52a0\u5165 \nNodeName=cn0[1-2] NodeAddr=192.168.88.10[3-4] CPUs=4 CoresPerSocket=2 ThreadsPerCore=1 RealMemory=3500 Procs=1 State=UNKNOWN\n\n# PARTITIONS \u914d\u7f6e\u90e8\u5206\u5c06cn02\u8282\u70b9\u52a0\u5165 \nPartitionName=compute Nodes=cn0[1-2] Default=YES MaxTime=INFINITE State=UP\n\n"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"scow\\scow-deployment\\config\\clusters\\hpc01.yaml"}),"\u4fee\u6539\u8282\u70b9\u548c\u5206\u533a\u914d\u7f6e\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",children:"# ...\nslurm:\n loginNodes:\n - name: login\n address: 192.168.88.102\n\n partitions:\n - name: compute\n # \u5206\u533a\u5185\u8282\u70b9\u6570\u4fee\u6539\u4e3a2\n nodes: 2\n\n# ...\n"})}),"\n",(0,r.jsx)(n.p,{children:"\u4ee5\u4e0a\u914d\u7f6e\u4fee\u6539\u5b8c\u6210\u4e4b\u540e\u6267\u884c\u90e8\u7f72\u547d\u4ee4\uff1a"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"vagrant up\n"})})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var r=s(48318);const c={},t=r.createContext(c);function l(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:l(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/875b1c20.32b5207b.js b/pr-preview/pr-1298/assets/js/875b1c20.32b5207b.js deleted file mode 100644 index b0feae2c4e..0000000000 --- a/pr-preview/pr-1298/assets/js/875b1c20.32b5207b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5227],{82770:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>t,default:()=>h,frontMatter:()=>l,metadata:()=>c,toc:()=>a});var r=s(49214),i=s(5409);const l={sidebar_position:1,title:"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09"},t="\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09",c={id:"deploy/config/ai/intro",title:"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09",description:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09\u3002",source:"@site/docs/deploy/config/ai/intro.md",sourceDirName:"deploy/config/ai",slug:"/deploy/config/ai/intro",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/ai/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09"},sidebar:"deploy",previous:{title:"AI \u7cfb\u7edf\uff08beta\uff09",permalink:"/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta"},next:{title:"\u4ea4\u4e92\u5f0f\u4efb\u52a1 (beta)",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta"}},d={},a=[{value:"\u524d\u671f\u51c6\u5907",id:"\u524d\u671f\u51c6\u5907",level:2},{value:"K8S \u96c6\u7fa4",id:"k8s-\u96c6\u7fa4",level:3},{value:"K8S \u8c03\u5ea6\u670d\u52a1",id:"k8s-\u8c03\u5ea6\u670d\u52a1",level:3},{value:"Harbor",id:"harbor",level:3},{value:"\u5e76\u884c\u6587\u4ef6\u5b58\u50a8\u670d\u52a1",id:"\u5e76\u884c\u6587\u4ef6\u5b58\u50a8\u670d\u52a1",level:3},{value:"LDAP",id:"ldap",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",id:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u7f16\u5199 AI \u670d\u52a1\u914d\u7f6e",id:"\u7f16\u5199-ai-\u670d\u52a1\u914d\u7f6e",level:3},{value:"\u542f\u52a8\u670d\u52a1",id:"\u542f\u52a8\u670d\u52a1",level:2}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u914d\u7f6e-ai-\u7cfb\u7edfbeta",children:"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09"}),"\n",(0,r.jsxs)(n.p,{children:["\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e ",(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"}),"\u3002"]}),"\n",(0,r.jsx)(n.h1,{id:"beta\u671f\u95f4\u914d\u7f6e",children:"Beta\u671f\u95f4\u914d\u7f6e"}),"\n",(0,r.jsx)(n.p,{children:"SCOW AI\u5f53\u524d\u5904\u4e8eBeta\u72b6\u6001\uff0c\u5176\u4ee3\u7801\u5c06\u4f1a\u548cSCOW\u4e3b\u7ebf\u5171\u5b58\uff0c\u4f46\u662fSCOW AI\u7684\u7248\u672c\u53d1\u5e03\u5468\u671f\u5c06\u662f\u72ec\u7acb\u7684\uff0c\u4e0d\u548cSCOW\u672c\u8eab\u540c\u6b65\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u5728GitHub\u7684Release\u4e2d\u627e\u5230\u683c\u5f0f\u4e3a",(0,r.jsx)(n.code,{children:"ai-beta.{\u6570\u5b57}"}),"\u7684Release\uff0c\u8fd9\u4e9bRelease\u4ee5\u53ca\u5bf9\u5e94\u7684Tag\u5747\u4e3aSCOW AI\u7684Beta\u53d1\u5e03\u7248\u672c\u3002\u5feb\u901f\u5230\u6240\u6709",(0,r.jsx)(n.code,{children:"ai-beta."})," Release\u7684\u94fe\u63a5",(0,r.jsx)(n.a,{href:"https://github.com/PKUHPC/SCOW/releases?q=ai-beta.&expanded=true",children:"\u70b9\u51fb\u6b64\u5904"}),"\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u8981\u4f7f\u7528SCOW AI\u7684\u5177\u4f53\u7684\u7248\u672c\uff0c\u60a8\u9700\u8981\u4fee\u6539",(0,r.jsx)(n.code,{children:"install.yml"}),"\u7684",(0,r.jsx)(n.code,{children:"imageTag"}),"\u4e3a\u4e00\u4e2a\u5177\u4f53\u7684",(0,r.jsx)(n.code,{children:"ai-beta.{\u6570\u5b57}"}),"\u7684tag\uff0c\u4f8b\u5982\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yaml"',children:"# \u6307\u5b9a\u4f7f\u7528Beta 1\u7248\u672c\nimageTag: ai-beta.1 \n"})}),"\n",(0,r.jsxs)(n.p,{children:["\u60a8\u540c\u6837\u53ef\u4ee5\u4f7f\u7528",(0,r.jsx)(n.code,{children:"master"}),"\u6765\u8ddf\u8e2aSCOW\u4e3b\u7ebf\u4ee5\u53ca\u5176\u5305\u62ec\u7684SCOW AI\u7684\u6700\u65b0\u529f\u80fd\u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"\u524d\u671f\u51c6\u5907",children:"\u524d\u671f\u51c6\u5907"}),"\n",(0,r.jsx)(n.h3,{id:"k8s-\u96c6\u7fa4",children:"K8S \u96c6\u7fa4"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u9700\u8981\u7528\u6237\u5728\u4f7f\u7528\u65f6\u63d0\u524d\u90e8\u7f72 K8S \u7684\u96c6\u7fa4\u73af\u5883\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5f53\u524d ",(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u4e3a\u8bd5\u7528\u7248\u672c\uff0c\u6211\u4eec\u76ee\u524d\u5df2\u7ecf\u652f\u6301 ",(0,r.jsx)(n.code,{children:"docker"})," \u548c ",(0,r.jsx)(n.code,{children:"containerd"})," \u4e24\u79cd\u5bb9\u5668\u8fd0\u884c\u65f6\u7684 k8s\u96c6\u7fa4\u4e2d\u4f7f\u7528 AI \u7cfb\u7edf\u3002 \u82e5\u96c6\u7fa4\u4e3a",(0,r.jsx)(n.code,{children:"containerd"})," \u8fd0\u884c\u65f6\uff0c\u9700\u8981\u5728\u96c6\u7fa4\u7684\u8282\u70b9\u4e0a\u5b89\u88c5 ",(0,r.jsx)(n.a,{href:"https://github.com/containerd/nerdctl",children:"nerdctl"})]}),"\n",(0,r.jsx)(n.p,{children:"\u5f53\u524d\u8bd5\u7528\u7248\u672c\u4e2d K8S \u90e8\u7f72\u7684\u4e3b\u8981\u7248\u672c\u4fe1\u606f\u5982\u4e0b\uff1a"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"\u5b89\u88c5\u5185\u5bb9"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"\u7248\u672c\u4fe1\u606f"})})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"kubernetes"}),(0,r.jsx)(n.td,{children:"v1.19.13"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Docker Engine"}),(0,r.jsx)(n.td,{children:"19.03.12"})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"k8s-\u8c03\u5ea6\u670d\u52a1",children:"K8S \u8c03\u5ea6\u670d\u52a1"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u540c\u6837\u901a\u8fc7 ",(0,r.jsx)(n.strong,{children:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668"})," \u6765\u5b9e\u73b0\u5bf9 K8S \u96c6\u7fa4\u7684\u8c03\u5ea6\u670d\u52a1\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u540c\u65f6\u4e3a\u4e86\u6ee1\u8db3\u63d0\u4ea4 AI \u4f5c\u4e1a\u3001\u8bad\u7ec3 AI \u4f5c\u4e1a\u7684\u529f\u80fd\uff0c\u9700\u8981\u4f7f\u7528\u7b2c\u4e09\u65b9\u8c03\u5ea6\u63d2\u4ef6 ",(0,r.jsx)(n.a,{href:"https://kueue.sigs.k8s.io/docs/",children:"Kueue"}),"\u3001 \u914d\u7f6e ",(0,r.jsx)(n.strong,{children:"Cluster Queue"})," \u7684\u961f\u5217\u4fe1\u606f\u6765\u534f\u8c03\u548c\u5904\u7406\u4f5c\u4e1a\u4efb\u52a1\u3002"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"K8S \u8c03\u5ea6\u5668\u9002\u914d\u5668"})}),"\n",(0,r.jsxs)(n.p,{children:["\u6211\u4eec\u4ecd\u7136\u4f7f\u7528 ",(0,r.jsx)(n.a,{href:"https://pkuhpc.github.io/SCOW/blog/scow-scheduler-adapter",children:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668"})," \u6765\u5b9e\u73b0 K8S \u96c6\u7fa4\u7684\u8c03\u5ea6\u670d\u52a1\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5f53\u524d\u7248\u672c\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u8c03\u5ea6\u5668\u9002\u914d\u5668\u7684\u9002\u7528\u7248\u672c\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6 ",(0,r.jsx)(n.a,{href:"https://mirrors.pku.edu.cn/scow/releases/",children:"scow-ai-adapter-amd64"}),"\uff0c\u6b22\u8fce\u4e0b\u8f7d\u8fdb\u884c\u8bd5\u7528\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["K8S \u8c03\u5ea6\u5668\u9002\u914d\u5668\u7684\u914d\u7f6e\u8bf7\u53c2\u7167",(0,r.jsx)(n.a,{href:"https://github.com/PKUHPC/scow-ai-adapter-config",children:"\u6b64\u94fe\u63a5"}),"\u3002"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u7b2c\u4e09\u65b9\u8c03\u5ea6\u63d2\u4ef6 Kueue"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Kueue"})," \u662f\u4e00\u4e2a\u7528\u4e8e ",(0,r.jsx)(n.strong,{children:"Kubernetes"})," \u7684\u4f5c\u4e1a\u6392\u961f\u7cfb\u7edf\u3002\u5b83\u65e8\u5728\u7ba1\u7406\u548c\u4f18\u5316\u6279\u5904\u7406\u4f5c\u4e1a\u548c\u5176\u4ed6\u975e\u5b9e\u65f6\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6267\u884c\u3002 Kueue \u7684\u5b89\u88c5\u4e0b\u8f7d\u53c2\u7167",(0,r.jsx)(n.a,{href:"https://kueue.sigs.k8s.io/docs/installation/",children:"\u6b64\u94fe\u63a5"}),"\u3002"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"\u914d\u7f6e Cluster Queue"})}),"\n",(0,r.jsx)(n.p,{children:"Cluster Queue \u5141\u8bb8\u57fa\u4e8e\u4e0d\u540c\u7684\u7b56\u7565\u548c\u9700\u6c42\u5bf9\u4f5c\u4e1a\u8fdb\u884c\u5206\u7ec4\u7ba1\u7406\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["Cluster Queue \u7684\u914d\u7f6e\u4e0e\u5b9e\u9645\u90e8\u7f72\u7684 ",(0,r.jsx)(n.strong,{children:"K8S\u96c6\u7fa4"})," \u60c5\u51b5\u7d27\u5bc6\u76f8\u5173\uff0c\u63a8\u8350\u60a8\u6309\u7167 ",(0,r.jsx)(n.a,{href:"https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/",children:"Cluster Queue \u4ecb\u7ecd"})," \u548c\u5b9e\u9645\u90e8\u7f72\u96c6\u7fa4\u7684\u8be6\u7ec6\u60c5\u51b5\u8fdb\u884c\u914d\u7f6e\u3002"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"harbor",children:"Harbor"}),"\n",(0,r.jsxs)(n.p,{children:["\u5f53\u524d ",(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u7248\u672c\u4e2d\uff0c\u4e3a\u4e86\u5b9e\u73b0\u955c\u50cf\u7684\u4fdd\u5b58\u3001\u4e0a\u4f20\u3001\u5206\u4eab\u3001\u590d\u5236\u3001\u5220\u9664\u7b49\u529f\u80fd\uff0c\u9700\u8981\u60a8\u5df2\u90e8\u7f72\u53ef\u8bbf\u95ee\u7684 ",(0,r.jsx)(n.a,{href:"https://goharbor.io/",children:"Harbor"})," \u955c\u50cf\u4ed3\u5e93\u3002\u540c\u65f6\u9700\u8981\u60a8\u5df2\u5728 ",(0,r.jsx)(n.strong,{children:"Harbor"})," \u4e0a\u521b\u5efa\u4e86\u7528\u4e8e\u955c\u50cf\u7ba1\u7406\u7684\u9879\u76ee\uff0c\u5e76\u5728 ",(0,r.jsx)(n.a,{href:"#%E7%BC%96%E5%86%99-ai-%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE",children:"AI \u670d\u52a1\u914d\u7f6e\u6587\u4ef6"}),"\u4e2d\u914d\u7f6e\u8be5\u9879\u76ee\u540d\u79f0\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u6211\u4eec\u5728\u6d4b\u8bd5\u7248\u672c\u4e2d\u652f\u6301\u901a\u8fc7 ",(0,r.jsx)(n.strong,{children:"http \u534f\u8bae"})," \u5b9e\u73b0\u7684 ",(0,r.jsx)(n.strong,{children:"Harbor API V2.0"})," \u7248\u672c\u63a5\u53e3\u7684\u8bbf\u95ee\uff0c\u4e3a\u4e86\u60a8\u80fd\u6d41\u7545\u4f53\u9a8c\u8bd5\u7528\u955c\u50cf\u529f\u80fd\uff0c\u63a8\u8350\u60a8\u90e8\u7f72\u652f\u6301\u8be5\u7248\u672c\u63a5\u53e3\u7684 Harbor \u955c\u50cf\u4ed3\u5e93\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u6211\u4eec\u5728\u8bd5\u7528\u7248\u7684\u6d4b\u8bd5\u73af\u5883\u4e2d\u8bd5\u7528\u7684 Harbor \u7248\u672c\u4fe1\u606f\u4e3a ",(0,r.jsx)(n.code,{children:"\u7248\u672cv2.7.4-8693b25a"}),"\u3002"]}),"\n",(0,r.jsx)(n.h3,{id:"\u5e76\u884c\u6587\u4ef6\u5b58\u50a8\u670d\u52a1",children:"\u5e76\u884c\u6587\u4ef6\u5b58\u50a8\u670d\u52a1"}),"\n",(0,r.jsxs)(n.p,{children:["\u5f53\u524d ",(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u7248\u672c\u4e2d\u9700\u8981\u60a8\u5df2\u7ecf\u63d0\u524d\u5b89\u88c5\u90e8\u7f72\u4e86\u5e76\u884c\u6587\u4ef6\u5b58\u50a8\u670d\u52a1\u3002"]}),"\n",(0,r.jsx)(n.h3,{id:"ldap",children:"LDAP"}),"\n",(0,r.jsxs)(n.p,{children:["\u5f53\u524d ",(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u7248\u672c\u4e2d\u6211\u4eec\u4ecd\u7136\u5ef6\u7eed ",(0,r.jsx)(n.strong,{children:"SCOW"})," \u7cfb\u7edf\u7684\u8ba4\u8bc1\u7cfb\u7edf\u670d\u52a1\uff0c\u91c7\u7528\u57fa\u4e8e ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap",children:"LDAP"})," \u8ba4\u8bc1\u7cfb\u7edf\u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5728 K8S \u96c6\u7fa4\u4e2d\u4ecd\u7136\u9700\u8981\u50cf ",(0,r.jsx)(n.strong,{children:"SCOW"})," \u7cfb\u7edf\u7684 ",(0,r.jsx)(n.code,{children:"hpc\u96c6\u7fa4"})," \u4e00\u6837\uff0c\u5728\u7ba1\u7406\u8282\u70b9\u5b89\u88c5 ",(0,r.jsx)(n.code,{children:"LDAP\u670d\u52a1\u7aef"})," \uff0c\u5728\u6240\u6709\u8282\u70b9\u5b89\u88c5 ",(0,r.jsx)(n.code,{children:"LDAP\u5ba2\u6237\u7aef"})," \u3002"]}),"\n",(0,r.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,r.jsx)(n.h3,{id:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",children:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,r.jsxs)(n.p,{children:["\u5728\u5f53\u524d ",(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u7684\u8bd5\u7528\u7248\u672c\u4e2d\uff0c\u6211\u4eec\u652f\u6301\u4e86\u914d\u7f6e\u4e0d\u540c\u96c6\u7fa4\u4f7f\u7528\u4e0d\u540c\u7684\u670d\u52a1\uff08AI \u6216 HPC\uff09\uff0c\u9700\u8981\u5728",(0,r.jsx)(n.code,{children:"config/clusters/{K8S\u96c6\u7fa4\u7684ID}.yml"}),"\u4e2d\uff0c\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/clusters/{K8S\u96c6\u7fa4\u7684ID}.yml"',children:"# \u5176\u4ed6\u914d\u7f6e\u7701\u7565\n# ...\n# \u96c6\u7fa4\u5728HPC\u6216\u662f\u5426\u542f\u7528\uff0c\u9ed8\u8ba4\u4e3atrue\nhpc:\n enabled: true\n\n# \u96c6\u7fa4\u5728AI\u6216\u662f\u5426\u542f\u7528\uff0c\u9ed8\u8ba4\u4e3afalse\nai:\n enabled: false\n"})}),"\n",(0,r.jsx)(n.p,{children:"\u6b64\u5916\u6211\u4eec\u652f\u6301\u4e86\u4e0d\u540c\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u5e76\u63d0\u4f9b\u4e86\u8fdb\u5165\u8fd0\u884c\u4e2d\u7684 k8s \u4f5c\u4e1a\u5bb9\u5668\u7684\u8fdb\u884c shell \u64cd\u4f5c\u7684\u529f\u80fd\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["\u4e3a\u4e86\u80fd\u591f\u5728 Kubernetes \u96c6\u7fa4\u4e2d\u901a\u8fc7 kubectl \u8fdb\u5165\u5230\u6240\u6709\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u4e2d\u6267\u884c\u547d\u4ee4\uff08\u4f8b\u5982 /bin/sh\uff09\uff0c\u9700\u8981\u63d0\u4f9b\u4e00\u4efd kubeconfig \u914d\u7f6e\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u6587\u4ef6\u7684 current context \u4e2d\u7684\u7528\u6237\u9700\u8981\u4f7f\u7528 ClusterRole \u521b\u5efa\u5e76\u5177\u5907\u4e00\u5b9a\u7684\u6743\u9650\uff0c\u8fd9\u4e9b\u6743\u9650\u5305\u62ec\u5bf9 pods/exec \u7684 create \u64cd\u4f5c\uff0c\u4ee5\u53ca\u5bf9 pods \u7684 get \u548c list \u64cd\u4f5c\u3002\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u9700\u8981\u5c06 kubeconfig \u6587\u4ef6\u653e\u7f6e\u5230 SCOW \u90e8\u7f72\u76ee\u5f55\u4e2d\u7684 config \u76ee\u5f55\u4e0b\uff0c\u7136\u540e\u5728",(0,r.jsx)(n.code,{children:"config/clusters/{K8S\u96c6\u7fa4\u7684ID}.yml"}),"\u4e2d\uff0c\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/clusters/{K8S\u96c6\u7fa4\u7684ID}.yml"',children:"# \u5176\u4ed6\u914d\u7f6e\u7701\u7565\n# ...\nk8s:\n # runtime: docker\n # \u9ed8\u8ba4\u4e3a containerd\n runtime: containerd\n # kubeconfig \u76f8\u5173\u914d\u7f6e\n kubeconfig:\n # \u76f8\u5bf9\u4e8e SCOW \u90e8\u7f72\u76ee\u5f55\u4e0b config \u76ee\u5f55\u7684\u8def\u5f84\n path: /kube/xxx\n"})}),"\n",(0,r.jsxs)(n.p,{children:["\u8bf7\u5728\u90e8\u7f72\u4e86 ",(0,r.jsx)(n.strong,{children:"K8S"})," \u96c6\u7fa4\u7684\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u4e2d\u786e\u8ba4\u4ee5\u4e0b\u5185\u5bb9\uff1a"]}),"\n",(0,r.jsxs)(n.p,{children:["\u5728",(0,r.jsx)(n.code,{children:"config/clusters/{K8S\u96c6\u7fa4\u7684ID}.yml"}),"\u4e2d\uff0c\u4fee\u6539\u914d\u7f6e(\u4f7f\u7528 ",(0,r.jsx)(n.strong,{children:"K8S\u9002\u914d\u5668"})," \u7684ip\u5730\u5740\u548c\u7aef\u53e3\u53f7)"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/clusters/{K8S\u96c6\u7fa4\u7684ID}.yml"',children:"# \u5176\u4ed6\u914d\u7f6e\u7701\u7565\n# ...\nadapterUrl: localhost:8972\n"})}),"\n",(0,r.jsx)(n.h3,{id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",children:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,r.jsx)(n.p,{children:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6\uff1a"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yaml"',children:'# \u5176\u4ed6\u914d\u7f6e\u7701\u7565\n# ...\n# \u786e\u4fdd AI \u7cfb\u7edf\u4f1a\u90e8\u7f72\nai:\n # dbPassword \u4e3a AI \u7cfb\u7edf\u6570\u636e\u5e93\u5bc6\u7801\n # \u5728\u7cfb\u7edf\u7b2c\u4e00\u6b21\u542f\u52a8\u524d\u53ef\u81ea\u7531\u8bbe\u7f6e\uff0c\u4f7f\u7528\u6b64\u5bc6\u7801\u53ef\u4ee5\u4ee5 root \u8eab\u4efd\u767b\u5f55\u6570\u636e\u5e93\n # \u4e00\u65e6\u6570\u636e\u5e93\u542f\u52a8\u540e\u5373\u4e0d\u53ef\u4fee\u6539\n # \u5fc5\u987b\u957f\u4e8e 8 \u4e2a\u5b57\u7b26\uff0c\u5e76\u540c\u65f6\u5305\u62ec\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7b26\u53f7\n dbPassword: "must!chang3this"\n'})}),"\n",(0,r.jsx)(n.h3,{id:"\u7f16\u5199-ai-\u670d\u52a1\u914d\u7f6e",children:"\u7f16\u5199 AI \u670d\u52a1\u914d\u7f6e"}),"\n",(0,r.jsxs)(n.p,{children:["\u5728",(0,r.jsx)(n.code,{children:"config/ai/config.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/ai/config.yaml"',children:"# AI \u7cfb\u7edf\u670d\u52a1\u7684 url\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539\nurl: ai:5000\n# AI \u7cfb\u7edf\u6570\u636e\u5e93\u7684\u4fe1\u606f\u3002\u53ef\u4ee5\u4e0d\u4fee\u6539\ndb:\n host: ai-db\n port: 3306\n user: root\n password: must!chang3this\n dbName: scow_ai\n debug: true\n# AI \u7cfb\u7edf\u955c\u50cf\u4fdd\u5b58 Harbor \u4ed3\u5e93\u914d\u7f6e\nharborConfig:\n # Harbor \u4ed3\u5e93\u5730\u5740\n url: 10.0.0.xxx\n # Harbor \u4ed3\u5e93\u4e2d\u7528\u4e8e\u5f53\u524d\u7cfb\u7edf\u955c\u50cf\u7ba1\u7406\u7684\u5df2\u5b58\u5728\u7684\u9879\u76ee\u540d\u79f0\n project: projectName\n # Harbor \u4ed3\u5e93\u53ef\u767b\u5f55\u7528\u6237\u7684\u7528\u6237\u540d\n # (\u5efa\u8bae\u4f7f\u7528\u4e0a\u8ff0\u9879\u76ee\u7684\u9879\u76ee\u7ba1\u7406\u5458\u4ee5\u4e0a\u6743\u9650\u4eba\u5458\uff0c\u9700\u5177\u6709 API 2.0 \u63a5\u53e3\u8bbf\u95ee\u6743\u9650)\n user: user\n # Harbor \u4ed3\u5e93\u53ef\u767b\u5f55\u7528\u6237\u7684\u767b\u5f55\u5bc6\u7801\n password: password\n"})}),"\n",(0,r.jsx)(n.h2,{id:"\u542f\u52a8\u670d\u52a1",children:"\u542f\u52a8\u670d\u52a1"}),"\n",(0,r.jsxs)(n.p,{children:["\u8fd0\u884c ",(0,r.jsx)(n.code,{children:"./cli compose up -d"})," \u542f\u52a8 ",(0,r.jsx)(n.strong,{children:"AI \u7cfb\u7edf\uff08beta\uff09"})," \u670d\u52a1\u3002"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>c});var r=s(48318);const i={},l=r.createContext(i);function t(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/886d9ccc.88c3a2a6.js b/pr-preview/pr-1298/assets/js/886d9ccc.88c3a2a6.js deleted file mode 100644 index 248144c4f4..0000000000 --- a/pr-preview/pr-1298/assets/js/886d9ccc.88c3a2a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5499],{96117:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>t,metadata:()=>a,toc:()=>l});var s=r(49214),i=r(5409);const t={sidebar_position:1},o="RStudio",a={id:"deploy/config/portal/apps/apps/rstudio/index",title:"RStudio",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/rstudio/index.md",sourceDirName:"deploy/config/portal/apps/apps/rstudio",slug:"/deploy/config/portal/apps/apps/rstudio/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/rstudio/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"Relion",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion/"},next:{title:"VSCode",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode/"}},d={},l=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c\u7684\u5b89\u88c5",id:"1rstudio-server-141103\u4e4b\u524d\u7248\u672c\u7684\u5b89\u88c5",level:3},{value:"1.1\u3001R\u5b89\u88c5",id:"11r\u5b89\u88c5",level:4},{value:"1.2\u3001RStudio Server\u5b89\u88c5",id:"12rstudio-server\u5b89\u88c5",level:4},{value:"2\u3001RStudio Server 1.4.1103\u53ca\u4e4b\u540e\u7248\u672c\u7684\u5b89\u88c5",id:"2rstudio-server-141103\u53ca\u4e4b\u540e\u7248\u672c\u7684\u5b89\u88c5",level:3},{value:"2.1\u3001Singularity\u5b89\u88c5",id:"21singularity\u5b89\u88c5",level:4},{value:"2.2\u3001R\u5b89\u88c5",id:"22r\u5b89\u88c5",level:4},{value:"2.3\u3001\u6784\u5efaRStudio Server\u955c\u50cf",id:"23\u6784\u5efarstudio-server\u955c\u50cf",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"1\u3001RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c",id:"1rstudio-server-141103\u4e4b\u524d\u7248\u672c",level:3},{value:"2\u3001RStudio Server 1.4.1103\u53ca\u4e4b\u540e\u7248\u672c\uff08\u6e90\u7801\u5b89\u88c5R\uff09",id:"2rstudio-server-141103\u53ca\u4e4b\u540e\u7248\u672c\u6e90\u7801\u5b89\u88c5r",level:3},{value:"3\u3001RStudio Server 1.4.1103\u53ca\u4e4b\u540e\u7248\u672c\uff08Conda\u73af\u5883\u5b89\u88c5R\uff09",id:"3rstudio-server-141103\u53ca\u4e4b\u540e\u7248\u672cconda\u73af\u5883\u5b89\u88c5r",level:3},{value:"\u9644\u7ae0",id:"\u9644\u7ae0",level:2},{value:"1\u3001Singularity\u5b89\u88c5",id:"1singularity\u5b89\u88c5",level:3},{value:"2\u3001R\u5b89\u88c5",id:"2r\u5b89\u88c5",level:3},{value:"2.1\u3001\u6e90\u7801\u5b89\u88c5R",id:"21\u6e90\u7801\u5b89\u88c5r",level:4},{value:"2.2\u3001\u5728Conda\u73af\u5883\u5b89\u88c5R",id:"22\u5728conda\u73af\u5883\u5b89\u88c5r",level:4},{value:"3\u3001\u6784\u5efaRStudio Server\u955c\u50cf",id:"3\u6784\u5efarstudio-server\u955c\u50cf",level:3}];function c(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"rstudio",children:"RStudio"}),"\n",(0,s.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,s.jsx)(n.p,{children:"RStudio Server\u662fRStudio\u516c\u53f8\u63d0\u4f9b\u7684\u4e00\u6b3e\u57fa\u4e8eWeb\u7684R\u5f00\u53d1\u73af\u5883\uff0c\u53ef\u4ee5\u901a\u8fc7Web\u6d4f\u89c8\u5668\u8fdc\u7a0b\u8bbf\u95ee\uff0c\u5b9e\u73b0\u5bf9R\u7f16\u7a0b\u8bed\u8a00\u7684\u5f00\u53d1\u3001\u8c03\u8bd5\u548c\u7ba1\u7406\u3002RStudio Server\u652f\u6301\u591a\u7528\u6237\u5e76\u53d1\u8bbf\u95ee\uff0c\u5177\u6709\u826f\u597d\u7684\u7528\u6237\u7ba1\u7406\u548c\u6743\u9650\u63a7\u5236\uff0c\u652f\u6301SSH\u548cHTTPS\u7b49\u5b89\u5168\u534f\u8bae\uff0c\u662f\u4f01\u4e1a\u7ea7\u548c\u56e2\u961f\u534f\u4f5c\u5f00\u53d1\u7684\u7406\u60f3\u9009\u62e9\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,s.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u5b89\u88c5\u6709R\u548cRStudio Server\u3002RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c\uff0c\u5efa\u8bae\u4e0b\u8f7d\u76f8\u5e94\u7cfb\u7edf\u7684rpm\u5305\u8fdb\u884c\u5b89\u88c5\uff0c\u8fd9\u6837\u76f8\u5bf9\u6bd4\u8f83\u7b80\u5355\u3002RStudio Server 1.4.1103\u53ca\u4e4b\u540e\u7684\u7248\u672c\uff0c\u4e3a\u4fdd\u8bc1\u548c\u5e73\u53f0\u7684\u517c\u5bb9\u6027\uff0c\u5efa\u8bae\u901a\u8fc7\u7f16\u8bd1\u540e\u6784\u5efaSingularity\u955c\u50cf\u8fdb\u884c\u5b89\u88c5\uff0c\u8fd9\u6837\u53ef\u4ee5\u51cf\u5c11\u8de8\u5e73\u53f0\u3001\u8de8\u96c6\u7fa4\u7684\u91cd\u590d\u7f16\u8bd1\u3002"}),"\n",(0,s.jsx)(n.h3,{id:"1rstudio-server-141103\u4e4b\u524d\u7248\u672c\u7684\u5b89\u88c5",children:"1\u3001RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c\u7684\u5b89\u88c5"}),"\n",(0,s.jsx)(n.h4,{id:"11r\u5b89\u88c5",children:"1.1\u3001R\u5b89\u88c5"}),"\n",(0,s.jsx)(n.p,{children:"\u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u8bf7\u53c2\u8003\u9644\u7ae0\u4e2dR\u7684\u5b89\u88c5\u3002"}),"\n",(0,s.jsx)(n.h4,{id:"12rstudio-server\u5b89\u88c5",children:"1.2\u3001RStudio Server\u5b89\u88c5"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# \u4e0b\u8f7drpm\u5305\nwget https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.3.959-x86_64.rpm\n\n# \u62f7\u8d1d\u53ea\u5171\u4eab\u5b58\u50a8\nmkdir -p /data/software/rstudio-server/1.3.959\ncp rstudio-server-rhel-1.3.959-x86_64.rpm /data/software/rstudio-server/1.3.959\ncd /data/software/rstudio-server/1.3.959\n\n# \u89e3\u538b\u5b89\u88c5\nrpm2cpio rstudio-server-rhel-1.3.959-x86_64.rpm | cpio -div\n"})}),"\n",(0,s.jsx)(n.h3,{id:"2rstudio-server-141103\u53ca\u4e4b\u540e\u7248\u672c\u7684\u5b89\u88c5",children:"2\u3001RStudio Server 1.4.1103\u53ca\u4e4b\u540e\u7248\u672c\u7684\u5b89\u88c5"}),"\n",(0,s.jsx)(n.h4,{id:"21singularity\u5b89\u88c5",children:"2.1\u3001Singularity\u5b89\u88c5"}),"\n",(0,s.jsx)(n.p,{children:"\u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u8bf7\u53c2\u8003\u9644\u7ae0\u4e2dSingularity\u7684\u5b89\u88c5\u3002"}),"\n",(0,s.jsx)(n.h4,{id:"22r\u5b89\u88c5",children:"2.2\u3001R\u5b89\u88c5"}),"\n",(0,s.jsx)(n.p,{children:"\u901a\u8fc7\u6784\u5efaSingularity\u955c\u50cf\u7684\u65b9\u5f0f\u5b89\u88c5RStudio Server\uff0cSingularity\u955c\u50cf\u5185\u65e0\u9700\u5b89\u88c5R\u73af\u5883\uff0c\u53ef\u76f4\u63a5\u4f7f\u7528\u5bbf\u4e3b\u673a\u7cfb\u7edf\u91cc\u9762\u7684R\u73af\u5883\uff0c\u6240\u4ee5R\u5b89\u88c5\u5728\u5bbf\u4e3b\u673a\u7cfb\u7edf\u5373\u53ef\uff0c\u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u8bf7\u53c2\u8003\u9644\u7ae0\u4e2dR\u7684\u5b89\u88c5\u3002"}),"\n",(0,s.jsx)(n.h3,{id:"23\u6784\u5efarstudio-server\u955c\u50cf",children:"2.3\u3001\u6784\u5efaRStudio Server\u955c\u50cf"}),"\n",(0,s.jsx)(n.p,{children:"\u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u8bf7\u53c2\u8003\u9644\u7ae0\u4e2d\u6784\u5efaRStudio Server\u955c\u50cf\u3002"}),"\n",(0,s.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528RStudio Server\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,s.jsxs)(n.p,{children:["\u521b\u5efa",(0,s.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,s.jsx)(n.code,{children:"rstudio.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,s.jsx)(n.h3,{id:"1rstudio-server-141103\u4e4b\u524d\u7248\u672c",children:"1\u3001RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/rstudio.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: rstudio\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: RStudio\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)\n export APPURI="${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"\n export USER=${USER}\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n setup_env () {\n # Additional environment which could be moved into a module\n export RSTUDIO_PASSWORD=${PASSWORD}\n\n # rstudio\u7684\u8def\u5f84\n export RSTUDIO_HOME=/data/software/rstudio-server/1.3.959/usr/lib/rstudio-server\n export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin\n export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver\n export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession\n\n export RSTUDIO_AUTH="/data/software/rstudio-server/auth"\n export RSESSION_WRAPPER_FILE="${PWD}/rsession.sh"\n export DB_CONF_FILE="${PWD}/database.conf"\n export WHICHR=/data/software/R/${r_version}/bin/R\n }\n setup_env\n\n (\n umask 077\n sed \'s/^ \\{2\\}//\' > "${RSESSION_WRAPPER_FILE}" << EOL\n #!/usr/bin/env bash\n # Log all output from this script\n export RSESSION_LOG_FILE="${PWD}/rsession.log"\n exec &>>"\\${RSESSION_LOG_FILE}"\n # Launch the original command\n echo "Launching rsession..."\n set -x\n exec ${RSTUDIO_RSESSION} --r-libs-user "${R_LIBS_USER}" "\\${@}"\n EOL\n )\n\n chmod 700 "${RSESSION_WRAPPER_FILE}"\n cd "${HOME}"\n export TMPDIR="$(mktemp -d)"\n mkdir -p "$TMPDIR/rstudio-server"\n python -c \'from uuid import uuid4; print(uuid4())\' > "$TMPDIR/rstudio-server/secure-cookie-key"\n chmod 0600 "$TMPDIR/rstudio-server/secure-cookie-key"\n \n set -x\n # Launch the RStudio Server\n export PATH=/data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin:$PATH\n echo "Starting up rserver..."\n # RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c\u4e0d\u9700\u8981--database-config-file\uff0c\u4e4b\u540e\u7248\u672c\u9700\u8981\u589e\u52a0\u6b64\u914d\u7f6e\n /data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin/rserver \\\n --www-port "${PORT}" \\\n --auth-none 1 \\\n --auth-pam-helper-path "${RSTUDIO_AUTH}" \\\n --auth-encrypt-password 0 \\\n --rsession-path "${RSESSION_WRAPPER_FILE}" \\\n --server-data-dir "${TMPDIR}" \\\n --server-user ${USER} \\\n --secure-cookie-key-file "${TMPDIR}/rstudio-server/secure-cookie-key" \\\n --rsession-which-r ${WHICHR}\n \n echo \'Singularity as exited...\'\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /auth-do-sign-in\n formData:\n password: "{{ PASSWORD }}"\n username: "{{ USER }}"\n appUri: "{{ APPURI }}"\n \n# \u914d\u7f6eHTML\u8868\u5355 \nattributes:\n - type: select\n name: r_version\n label: \u8bf7\u9009\u62e9R\u7248\u672c\n select:\n - value: R-3.6.0\n label: 3.6.0\n - value: R-4.2.3\n label: 4.2.3\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"2rstudio-server-141103\u53ca\u4e4b\u540e\u7248\u672c\u6e90\u7801\u5b89\u88c5r",children:"2\u3001RStudio Server 1.4.1103\u53ca\u4e4b\u540e\u7248\u672c\uff08\u6e90\u7801\u5b89\u88c5R\uff09"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/rstudio.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: rstudio\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: RStudio\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)\n export APPURI="${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"\n export USER=${USER}\n export SINGULARITY_VERSION="singularity/3.9.2"\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n setup_env () {\n # Additional environment which could be moved into a module\n export RSTUDIO_PASSWORD=${PASSWORD}\n # Change these to suit\n export RSTUDIO_SERVER_IMAGE="/data/software/rstudio-server/rstudio.sif"\n\n # \u5bb9\u5668\u4e2drstudio\u7684\u8def\u5f84\n export RSTUDIO_HOME=/usr/lib/rstudio-server\n export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin\n export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver\n export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession\n\n export RSTUDIO_AUTH="/data/software/rstudio-server/auth"\n export RSESSION_WRAPPER_FILE="${PWD}/rsession.sh"\n export DB_CONF_FILE="${PWD}/database.conf"\n export WHICHR=/data/software/R/${r_version}/bin/R\n }\n setup_env\n module switch ${SINGULARITY_VERSION}\n (\n umask 077\n sed \'s/^ \\{2\\}//\' > "${RSESSION_WRAPPER_FILE}" << EOL\n #!/usr/bin/env bash\n # Log all output from this script\n export RSESSION_LOG_FILE="${PWD}/rsession.log"\n exec &>>"\\${RSESSION_LOG_FILE}"\n # Launch the original command\n echo "Launching rsession..."\n set -x\n exec ${RSTUDIO_RSESSION} --r-libs-user "${R_LIBS_USER}" "\\${@}"\n EOL\n )\n\n chmod 700 "${RSESSION_WRAPPER_FILE}"\n cd "${HOME}"\n export TMPDIR="$(mktemp -d)"\n mkdir -p "$TMPDIR/rstudio-server"\n python -c \'from uuid import uuid4; print(uuid4())\' > "$TMPDIR/rstudio-server/secure-cookie-key"\n chmod 0600 "$TMPDIR/rstudio-server/secure-cookie-key"\n\n (\n umask 177\n cat > "${DB_CONF_FILE}" << EOL\n provider=sqlite\n directory=${HOME}/.local/share/rstudio/database\n EOL\n )\n \n set -x\n # Launch the RStudio Server\n echo "Starting up rserver..."\n # RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c\u4e0d\u9700\u8981--database-config-file\uff0c\u4e4b\u540e\u7248\u672c\u9700\u8981\u589e\u52a0\u6b64\u914d\u7f6e\n singularity run -B "/tmp:/tmp","/data:/data" "$RSTUDIO_SERVER_IMAGE" ${RSTUDIO_RSERVER} \\\n --www-port "${PORT}" \\\n --auth-none 1 \\\n --auth-pam-helper-path "${RSTUDIO_AUTH}" \\\n --auth-encrypt-password 0 \\\n --rsession-path "${RSESSION_WRAPPER_FILE}" \\\n --server-data-dir "${TMPDIR}" \\\n --server-user ${USER} \\\n --secure-cookie-key-file "${TMPDIR}/rstudio-server/secure-cookie-key" \\\n --database-config-file "${DB_CONF_FILE}" \\\n --rsession-which-r ${WHICHR}\n \n echo \'Singularity as exited...\'\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /auth-do-sign-in\n formData:\n password: "{{ PASSWORD }}"\n username: "{{ USER }}"\n appUri: "{{ APPURI }}"\n \n# \u914d\u7f6eHTML\u8868\u5355 \nattributes:\n - type: select\n name: r_version\n label: \u8bf7\u9009\u62e9R\u7248\u672c\n select:\n - value: R-3.6.0\n label: 3.6.0\n - value: R-4.2.3\n label: 4.2.3\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"3rstudio-server-141103\u53ca\u4e4b\u540e\u7248\u672cconda\u73af\u5883\u5b89\u88c5r",children:"3\u3001RStudio Server 1.4.1103\u53ca\u4e4b\u540e\u7248\u672c\uff08Conda\u73af\u5883\u5b89\u88c5R\uff09"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/rstudio.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: rstudio\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: RStudio\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n export SLURM_COMPUTE_NODE_NAME=$(hostname)\n export APPURI="${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_NAME}/${PORT}/"\n export USER=${USER}\n export SINGULARITY_VERSION="singularity/3.9.2"\n export SHELL_NAME=$(echo ${SHELL} | awk -F\'/\' \'{print $NF}\')\n export CONDA_VERSION="anaconda/3-2023.03"\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n setup_env () {\n # Additional environment which could be moved into a module\n export RSTUDIO_PASSWORD=${PASSWORD}\n # Change these to suit\n export RSTUDIO_SERVER_IMAGE="/data/software/rstudio-server/rstudio.sif"\n\n # \u5bb9\u5668\u4e2drstudio\u7684\u8def\u5f84\n export RSTUDIO_HOME=/usr/lib/rstudio-server\n export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin\n export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver\n export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession\n\n export RSTUDIO_AUTH="/data/software/rstudio-server/auth"\n export RSESSION_WRAPPER_FILE="${PWD}/rsession.sh"\n export DB_CONF_FILE="${PWD}/database.conf"\n export WHICHR=/data/software/R/${r_version}/bin/R\n }\n setup_env\n module switch ${SINGULARITY_VERSION}\n\n for m in ${textModuleName}; do module switch ${m}; done\n\n conda -V &> /dev/null\n if [ $? -ne 0 ]; then\n module switch ${CONDA_VERSION}\n fi\n # init conda\n eval "$($(which conda) shell.${SHELL_NAME} hook)"\n\n conda activate ${r_version}\n if [ $? -ne 0 ]; then\n echo "${r_version}\u4e0d\u5b58\u5728\uff0c\u8bf7\u8f93\u5165\u6b63\u786e\u7684R\u7248\u672c\uff01"\n exit 2\n fi\n\n (\n umask 077\n sed \'s/^ \\{2\\}//\' > "${RSESSION_WRAPPER_FILE}" << EOL\n #!/usr/bin/env bash\n # Log all output from this script\n export RSESSION_LOG_FILE="${PWD}/rsession.log"\n exec &>>"\\${RSESSION_LOG_FILE}"\n # Launch the original command\n echo "Launching rsession..."\n set -x\n exec ${RSTUDIO_RSESSION} --r-libs-user "${R_LIBS_USER}" "\\${@}"\n EOL\n )\n\n chmod 700 "${RSESSION_WRAPPER_FILE}"\n cd "${HOME}"\n export TMPDIR="$(mktemp -d)"\n mkdir -p "$TMPDIR/rstudio-server"\n python -c \'from uuid import uuid4; print(uuid4())\' > "$TMPDIR/rstudio-server/secure-cookie-key"\n chmod 0600 "$TMPDIR/rstudio-server/secure-cookie-key"\n\n (\n umask 177\n cat > "${DB_CONF_FILE}" << EOL\n provider=sqlite\n directory=${HOME}/.local/share/rstudio/database\n EOL\n )\n\n set -x\n # Launch the RStudio Server\n echo "Starting up rserver..."\n # RStudio Server 1.4.1103\u4e4b\u524d\u7248\u672c\u4e0d\u9700\u8981--database-config-file\uff0c\u4e4b\u540e\u7248\u672c\u9700\u8981\u589e\u52a0\u6b64\u914d\u7f6e\n singularity run -B "/tmp:/tmp","/data:/data" "$RSTUDIO_SERVER_IMAGE" ${RSTUDIO_RSERVER} \\\n --www-port "${PORT}" \\\n --auth-none 1 \\\n --auth-pam-helper-path "${RSTUDIO_AUTH}" \\\n --auth-encrypt-password 0 \\\n --rsession-path "${RSESSION_WRAPPER_FILE}" \\\n --server-data-dir "${TMPDIR}" \\\n --server-user ${USER} \\\n --secure-cookie-key-file "${TMPDIR}/rstudio-server/secure-cookie-key" \\\n --database-config-file "${DB_CONF_FILE}"\n # --rsession-which-r ${WHICHR}\n\n echo \'Singularity as exited...\'\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /auth-do-sign-in\n formData:\n password: "{{ PASSWORD }}"\n username: "{{ USER }}"\n appUri: "{{ APPURI }}"\n\n# \u914d\u7f6eHTML\u8868\u5355 \nattributes:\n - type: select\n name: r_version\n label: \u8bf7\u9009\u62e9R\u7248\u672c\n select:\n - value: R-3.6.0\n label: 3.6.0\n - value: R-4.2.3\n label: 4.2.3\n - type: text\n name: textModuleName\n label: Modules\n required: false # \u8f93\u5165\u9700\u8981\u989d\u5916\u52a0\u8f7d\u7684\u73af\u5883\u6a21\u5757\u5217\u8868\n placeholder: \u8f93\u5165\u9700\u8981\u989d\u5916\u52a0\u8f7d\u7684\u73af\u5883\u6a21\u5757\u5217\u8868\uff0c\u6a21\u5757\u4e4b\u95f4\u7528\u7a7a\u683c\u5206\u5f00\uff08\u6bd4\u5982\uff1apython/2.7.5 code-server/4.9.1\uff09 # \u63d0\u793a\u4fe1\u606f\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,s.jsx)(n.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0WEB\u6d4f\u89c8\u5668\u5373\u53ef\u3002"}),"\n",(0,s.jsx)(n.p,{children:"\u5bf9\u4e8eRStudio\uff0cexport\u4ee5\u4e0b\u53d8\u91cf\u7684\u542b\u4e49\u662f\uff1a"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"SLURM_COMPUTE_NODE_HOSTNAME"}),": \u8ba1\u7b97\u8282\u70b9\u7684\u4e3b\u673a\u540d"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"SINGULARITY_VERSION"}),"\uff1aSingularity\u7248\u672c"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u9644\u7ae0",children:"\u9644\u7ae0"}),"\n",(0,s.jsx)(n.h3,{id:"1singularity\u5b89\u88c5",children:"1\u3001Singularity\u5b89\u88c5"}),"\n",(0,s.jsx)(n.p,{children:"Singularity\u7528\u4e8e\u6784\u5efa\u548c\u8fd0\u884cRStudio Server\u5bb9\u5668\u955c\u50cf\uff0c\u5efa\u8bae\u5b89\u88c5\u5728\u5171\u4eab\u5b58\u50a8\u4e0a\uff0c\u96c6\u7fa4\u5404\u8282\u70b9\u53ea\u9700\u8981\u6302\u8f7d\u4e0a\u5171\u4eab\u5b58\u50a8\uff0c\u5e76\u914d\u7f6e\u597d\u73af\u5883\u53d8\u91cf\u540e\u4fbf\u53ef\u4ee5\u4f7f\u7528\u3002"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5b89\u88c5Singularity\u4f9d\u8d56\u5305\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yum install -y gcc libuuid-devel squashfs-tools openssl-devel make\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Singularity\u4f7f\u7528Go\u8bed\u8a00\u5f00\u53d1\uff0c\u9700\u8981\u5148\u5b89\u88c5Go\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"export VERSION=1.20.3 OS=linux ARCH=amd64\nwget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz\nmkdir -p /data/software/go\ntar -C /data/software/go -xzvf go$VERSION.$OS-$ARCH.tar.gz\nmv /data/software/go/go /data/software/go/$VERSION\nrm -f go$VERSION.$OS-$ARCH.tar.gz\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5c06Go\u6dfb\u52a0\u5230module\u5de5\u5177\u4e2d\u7edf\u4e00\u7ba1\u7406\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# ${MODULEPATH}\u4e3amodulefile\u6240\u5728\u7684\u8def\u5f84\nmkdir -p ${MODULEPATH}/go\ncat >> ${MODULEPATH}/go/1.20.3 << EOF\n#%Module1.0#####################################################################\n##\n## go@1.20.3 modulefile\n##\nproc ModulesHelp { } {\n\nputs stderr " This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for go"\nputs stderr " Version 1.20.3"\n}\n\nmodule-whatis "go@1.20.3"\nprepend-path PATH "/data/software/go/1.20.3/bin"\nprepend-path LIBRARY_PATH "/data/software/go/1.20.3/lib"\nprepend-path LD_LIBRARY_PATH "/data/software/go/1.20.3/lib"\nEOF\n'})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5b89\u88c5Singularity\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"export VERSION=3.9.2\nwget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-ce-${VERSION}.tar.gz\ntar -xzf singularity-ce-${VERSION}.tar.gz\ncd singularity-ce-${VERSION}\nmodule load go/1.20.3\n./mconfig --prefix=/data/software/singularity/${VERSION}\ncd builddir/\nmake -j && make install\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5c06Singularity\u6dfb\u52a0\u5230module\u5de5\u5177\u4e2d\u7edf\u4e00\u7ba1\u7406\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# ${MODULEPATH}\u4e3amodulefile\u6240\u5728\u7684\u8def\u5f84\nmkdir -p ${MODULEPATH}/singularity\ncat >> ${MODULEPATH}/singularity/3.9.2 << EOF\n#%Module1.0#####################################################################\n##\n## singularity@3.9.2 modulefile\n##\nproc ModulesHelp { } {\n\nputs stderr " This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for singularity"\nputs stderr " Version 3.9.2"\n}\n\nmodule-whatis "singularity@3.9.2"\nprepend-path PATH "/data/software/singularity/3.9.2/bin"\nEOF\n'})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"2r\u5b89\u88c5",children:"2\u3001R\u5b89\u88c5"}),"\n",(0,s.jsx)(n.h4,{id:"21\u6e90\u7801\u5b89\u88c5r",children:"2.1\u3001\u6e90\u7801\u5b89\u88c5R"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5b89\u88c5R\u7684\u4f9d\u8d56\u5305:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yum -y install gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5b89\u88c5R\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# \u4e0b\u8f7dR\u7684\u6e90\u4ee3\u7801\u5e76\u7f16\u8bd1\u5b89\u88c5\ncurl -LJO https://cran.rstudio.com/src/base/R-4/R-4.2.3.tar.gz\ntar zxf R-4.2.3.tar.gz\n\n# \u5fc5\u987b\u6709--enable-R-shlib\u8fd9\u4e2a\u9009\u9879(lib64/R/lib/libR.so)\n./configure --prefix=/data/software/R/R-4.2.3 --enable-R-shlib\nmake -j\nmake install\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5c06R\u6dfb\u52a0\u5230module\u5de5\u5177\u4e2d\u7edf\u4e00\u7ba1\u7406\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# ${MODULEPATH}\u4e3amodulefile\u6240\u5728\u7684\u8def\u5f84\nmkdir -p ${MODULEPATH}/R\ncat >> ${MODULEPATH}/R/3-2023.03 << EOF\n#%Module1.0#####################################################################\n##\n## R@4.2.3 modulefile\n##\nproc ModulesHelp { } {\n puts stderr "\\tThis module defines environment variables, aliases and add PATH for R"\n puts stderr "\\tVersion 4.2.3"\n}\n\nmodule-whatis "R@4.2.3"\nprepend-path PATH "/data/software/R/R-4.2.3/bin"\nEOF\n'})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"22\u5728conda\u73af\u5883\u5b89\u88c5r",children:"2.2\u3001\u5728Conda\u73af\u5883\u5b89\u88c5R"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# \u8f7d\u5165conda\u5230\u7cfb\u7edf\u73af\u5883\u4e2d\uff0c\u5e76\u521d\u59cb\u5316conda\u73af\u5883\nmodule load anaconda/3-2023.03\neval "$($(which conda) shell.bash hook)"\n\n# \u6dfb\u52a0\u5317\u5927\u955c\u50cf\u6e90\uff0c\u67e5\u627e\u76f8\u5e94\u7248\u672c\u7684R\u8fdb\u884c\u5b89\u88c5\nconda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/free/\nconda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/main/\nconda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/conda-forge/\nconda search R\n\n\n# \u6839\u636e\u67e5\u627e\u5230\u7684R\u7248\u672c\uff0c\u521b\u5efaConda\u865a\u62df\u73af\u5883\uff0c\u5e76\u5728\u521b\u5efa\u7684\u65f6\u5019\u6307\u5b9a\u9700\u8981\u5b89\u88c5\u7684R\u7248\u672c\uff0c\u8fd9\u91cc\u9009\u62e9\u5b89\u88c5R-3.6.0\u7248\u672c;\nconda create -n R-3.6.0 r=3.6.0 -y\n\n# \u8fdb\u5165\u4e0a\u4e00\u6b65\u521b\u5efa\u597d\u7684\u865a\u62df\u73af\u5883\uff1b\nconda activate R-3.6.0\n\n# \u5b89\u88c5R\u8bed\u8a00\u5e93\uff0c\u6bd4\u5982stringi\nconda install r-stringi -y\n\n# \u5b89\u88c5\u5b8c\u540e\u5c31\u53ef\u4ee5\u7528R\u8bed\u8a00\u73af\u5883\u4e86\uff0c\u5982\u679c\u8981\u9000\u51fa\u5f53\u524d\u73af\u5883\u5219\u6267\u884c\u4ee5\u4e0b\u6307\u4ee4\uff1b\nconda deactivate\n'})}),"\n",(0,s.jsx)(n.h3,{id:"3\u6784\u5efarstudio-server\u955c\u50cf",children:"3\u3001\u6784\u5efaRStudio Server\u955c\u50cf"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u4e0b\u8f7dRStudio Server\u6e90\u7801\u5305\u8fdb\u884c\u7f16\u8bd1\u6253\u5305\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# \u4e0b\u8f7d\u6e90\u7801\u5305\nwget https://github.com/rstudio/rstudio/archive/refs/tags/v2023.03.0+386.tar.gz\n# \u89e3\u538b\u6e90\u7801\u5305\ntar -zxvf v2023.03.0+386.tar.gz\ncd rstudio-2023.03.0-386\n\n# \u8df3\u8fc7\u767b\u5f55\u65f6\u7684csrf-token\u9a8c\u8bc1\uff0c\u9ad8\u7248\u672c\u7684RStudio Server\u96c6\u6210\u5230scow\u9700\u8981\u8df3\u8fc7\u9a8c\u8bc1\nsed -i '134s/^/\\/\\//' src/cpp/server/auth/ServerAuthCommon.cpp\n\n# \u5728\u5f53\u524d\u8def\u5f84\u521d\u59cb\u5316git\u4ed3\u5e93\ngit init\n# \u589e\u52a0git\u7f13\u5b58\u914d\u7f6e\ngit config --global http.postBuffer 5242880000\n# \u56e0\u4e3a\u662f\u65b0\u521d\u59cb\u5316\u7684git\u4ed3\u5e93\uff0c\u6240\u4ee5\u6ca1\u6709\u63d0\u4ea4\u8bb0\u5f55\uff0c\u90a3\u4e48\u6ca1\u6709HEAD\u5f15\u7528\u3002\u901a\u8fc7\u6267\u884c\u7b2c\u4e00\u6b21\u63d0\u4ea4\u6765\u521b\u5efa\u4e00\u4e2aHEAD\u5f15\u7528\ngit config --global user.email ${USER_EMAIL_ADDRESS}\ngit commit --allow-empty -n -m \"Initial commit.\"\n\n# \u4ee5\u4e0b\u811a\u672c\u9996\u5148\u6784\u5efa\u7f16\u8bd1rstudio server\u6240\u9700\u73af\u5883\u7684docker\u5bb9\u5668\uff0c\u7136\u540e\u5728\u5bb9\u5668\u5185\u8fdb\u884crstudio server\u7f16\u8bd1\uff0c\u7f16\u8bd1\u5b8c\u6210\u540e\u4f1a\u5728\u6e90\u7801\u5305\u8def\u5f84\u7684package\u76ee\u5f55\u4e0b\u751f\u6210rstudio server\u7684rpm\u5305\n# \u6267\u884c\u8fc7\u7a0b\u5982\u679c\u9047\u5230git\u514b\u9686\u5305\u514b\u9686\u4e0d\u4e0b\u6765\u7684\u60c5\u51b5\uff0c\u53ef\u4ee5\u5728\u6267\u884c\u7684shell\u73af\u5883\u6dfb\u52a0\u4ee3\u7406\u6216\u8005\u4fee\u6539\u4ee3\u7801\u4e2d\u7684\u514b\u9686\u5730\u5740\nsh docker/docker-compile.sh centos7 server 2023.03.0-386\n# \u53ef\u4ee5\u770b\u5230\u76ee\u5f55\u4e0b\u6709\u7f16\u8bd1\u597d\u7684rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm\u5305\nls package\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5728rstudio-2023.03.0-386\u76ee\u5f55\u4e0b\u7f16\u5199Dockerfile\u6587\u4ef6\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"FROM centos:7\n\nCOPY package/rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm /\n\nRUN yum -y update && \\\n yum -y install epel-release && \\\n yum -y install which gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2 initscripts postgresql-libs psmisc && \\\n cd / && \\\n rpm2cpio rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm | cpio -div && \\\n mkdir data && \\\n yum clean all\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5728rstudio-2023.03.0-386\u76ee\u5f55\u4e0b\u6784\u5efaRStudio Server\u7684docker\u955c\u50cf\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker build -t rstudio:2023.03.0-386 .\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u6784\u5efaRStudio Server\u7684Singularity\u955c\u50cf\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"singularity build rstudio.sif docker-daemon://rstudio:2023.03.0-386\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5c06Singularity\u955c\u50cf\u62f7\u8d1d\u5230\u5171\u4eab\u5b58\u50a8\uff0c\u4ee5\u4fbf\u5728\u8ba1\u7b97\u8282\u70b9\u53ef\u4ee5\u8bbf\u95ee\u5e76\u8fd0\u884c\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cp rstudio.sif /data/software/rstudio-server/\n"})}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>a});var s=r(48318);const i={},t=s.createContext(i);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/88e4b177.cebe6740.js b/pr-preview/pr-1298/assets/js/88e4b177.cebe6740.js deleted file mode 100644 index 6411626def..0000000000 --- a/pr-preview/pr-1298/assets/js/88e4b177.cebe6740.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1765],{64765:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>s,metadata:()=>c,toc:()=>p});var n=r(49214),t=r(5409);const s={title:"ui"},o="README",c={id:"refs/config/ui/index",title:"ui",description:"Top-level Schemas",source:"@site/docs/refs/config/ui/index.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/index.md",tags:[],version:"current",frontMatter:{title:"ui"},sidebar:"refs",previous:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition"},next:{title:"definition-properties-footer-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext"}},d={},p=[{value:"Top-level Schemas",id:"top-level-schemas",level:2},{value:"Other Schemas",id:"other-schemas",level:2},{value:"Objects",id:"objects",level:3},{value:"Arrays",id:"arrays",level:3}];function l(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h1,{id:"readme",children:"README"}),"\n",(0,n.jsx)(i.h2,{id:"top-level-schemas",children:"Top-level Schemas"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(i.code,{children:"-"})]}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"other-schemas",children:"Other Schemas"}),"\n",(0,n.jsx)(i.h3,{id:"objects",children:"Objects"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(i.code,{children:"undefined#/properties/footer"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",title:"\u6839\u636e\u57df\u540d\uff08hostname\uff0c\u4e0d\u5305\u62ecport\uff09\u4e0d\u540c\uff0c\u663e\u793a\u5728footer\u4e0a\u7684\u6587\u672c",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(i.code,{children:"undefined#/properties/footer/properties/hostnameMap"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(i.code,{children:"undefined#/properties/primaryColor"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",title:"\u6839\u636e\u57df\u540d\uff08hostname\uff0c\u4e0d\u5305\u62ecport\uff09\u4e0d\u540c\uff0c\u5e94\u7528\u7684\u4e3b\u9898\u8272",children:"Untitled object in undefined"})," \u2013 ",(0,n.jsx)(i.code,{children:"undefined#/properties/primaryColor/properties/hostnameMap"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"arrays",children:"Arrays"})]})}function f(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5409:(e,i,r)=>{r.d(i,{R:()=>o,x:()=>c});var n=r(48318);const t={},s=n.createContext(t);function o(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/89e9f6e7.ebc85916.js b/pr-preview/pr-1298/assets/js/89e9f6e7.ebc85916.js deleted file mode 100644 index 63bc2c727b..0000000000 --- a/pr-preview/pr-1298/assets/js/89e9f6e7.ebc85916.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5376],{47948:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>u,frontMatter:()=>n,metadata:()=>p,toc:()=>c});var r=t(49214),o=t(5409);const n={},s=void 0,p={id:"refs/config/mis/definition-properties-db-properties-debug",title:"definition-properties-db-properties-debug",description:"debug Type",source:"@site/docs/refs/config/mis/definition-properties-db-properties-debug.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-db-properties-debug",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-db-properties-debug.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-db-properties-dbname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname"},next:{title:"definition-properties-db-properties-host",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host"}},d={},c=[{value:"debug Type",id:"debug-type",level:2}];function f(e){const i={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h2,{id:"debug-type",children:"debug Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"boolean"})})]})}function u(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},5409:(e,i,t)=>{t.d(i,{R:()=>s,x:()=>p});var r=t(48318);const o={},n=r.createContext(o);function s(e){const i=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8a006bc4.2f768482.js b/pr-preview/pr-1298/assets/js/8a006bc4.2f768482.js deleted file mode 100644 index 2bb6114809..0000000000 --- a/pr-preview/pr-1298/assets/js/8a006bc4.2f768482.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1399],{9723:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var s=n(49214),r=n(5409);const o={sidebar_position:1,title:"\u7b80\u4ecb"},i="\u914d\u7f6e\u53c2\u8003",c={id:"refs/index",title:"\u7b80\u4ecb",description:"\u672c\u90e8\u5206\u4e3a\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\u53c2\u8003\u3002",source:"@site/docs/refs/index.md",sourceDirName:"refs",slug:"/refs/",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u7b80\u4ecb"},sidebar:"refs",next:{title:"app",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/"}},d={},p=[];function a(e){const t={h1:"h1",p:"p",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"\u914d\u7f6e\u53c2\u8003",children:"\u914d\u7f6e\u53c2\u8003"}),"\n",(0,s.jsx)(t.p,{children:"\u672c\u90e8\u5206\u4e3a\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\u53c2\u8003\u3002"})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>c});var s=n(48318);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8b602a21.129e6daa.js b/pr-preview/pr-1298/assets/js/8b602a21.129e6daa.js deleted file mode 100644 index 35a02f0b50..0000000000 --- a/pr-preview/pr-1298/assets/js/8b602a21.129e6daa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9351],{19825:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var r=n(49214),i=n(5409);const o={},s=void 0,c={id:"refs/config/mis/definition-properties-authurl",title:"definition-properties-authurl",description:"authUrl Type",source:"@site/docs/refs/config/mis/definition-properties-authurl.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-authurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-authurl.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-accountnamepattern",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern"},next:{title:"definition-properties-changejobpricetype",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype"}},u={},p=[{value:"authUrl Type",id:"authurl-type",level:2},{value:"authUrl Default Value",id:"authurl-default-value",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"authurl-type",children:"authUrl Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})}),"\n",(0,r.jsx)(t.h2,{id:"authurl-default-value",children:"authUrl Default Value"}),"\n",(0,r.jsx)(t.p,{children:"The default value is:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-json",children:'"http://auth:5000"\n'})})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var r=n(48318);const i={},o=r.createContext(i);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8d03ef63.3361b6d4.js b/pr-preview/pr-1298/assets/js/8d03ef63.3361b6d4.js deleted file mode 100644 index fa3dea38a5..0000000000 --- a/pr-preview/pr-1298/assets/js/8d03ef63.3361b6d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6236],{14680:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>p,frontMatter:()=>c,metadata:()=>l,toc:()=>t});var i=s(49214),d=s(5409);const c={sidebar_position:2,title:"\u5f00\u53d1"},r="\u5f00\u53d1",l={id:"contribution/dev",title:"\u5f00\u53d1",description:"\u672c\u8282\u4ecb\u7ecd\u5f00\u53d1\u9879\u76ee\u76f8\u5173\u7684\u8d44\u6599\u3002",source:"@site/docs/contribution/dev.md",sourceDirName:"contribution",slug:"/contribution/dev",permalink:"/SCOW/pr-preview/pr-1298/docs/contribution/dev",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/contribution/dev.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u5f00\u53d1"},sidebar:"contribution",previous:{title:"\u8d21\u732e\u6307\u5357",permalink:"/SCOW/pr-preview/pr-1298/docs/contribution/"}},o={},t=[{value:"Repo\u7ed3\u6784",id:"repo\u7ed3\u6784",level:2},{value:"\u5f00\u59cb\u5f00\u53d1",id:"\u5f00\u59cb\u5f00\u53d1",level:2},{value:"\u51c6\u5907\u4e3b\u673a\u73af\u5883",id:"\u51c6\u5907\u4e3b\u673a\u73af\u5883",level:3},{value:"\u63a8\u8350\uff1aDev Container",id:"\u63a8\u8350dev-container",level:3},{value:"\u672c\u5730\u5f00\u53d1",id:"\u672c\u5730\u5f00\u53d1",level:3},{value:"\u6d4b\u8bd5\u5f00\u53d1\u73af\u5883",id:"\u6d4b\u8bd5\u5f00\u53d1\u73af\u5883",level:2},{value:"Dev Container\u73af\u5883",id:"dev-container\u73af\u5883",level:3},{value:"\u672c\u5730\u5f00\u53d1",id:"\u672c\u5730\u5f00\u53d1-1",level:3},{value:"\u5bb9\u5668\u6784\u5efa\u8bf4\u660e",id:"\u5bb9\u5668\u6784\u5efa\u8bf4\u660e",level:2},{value:"\u4ee3\u7801\u98ce\u683c\u68c0\u67e5",id:"\u4ee3\u7801\u98ce\u683c\u68c0\u67e5",level:2},{value:"\u4e3a\u4ec0\u4e48\u4e0d\u91c7\u7528\u5176\u4ed6monorepo\u7ba1\u7406\u65b9\u6848\uff1f",id:"\u4e3a\u4ec0\u4e48\u4e0d\u91c7\u7528\u5176\u4ed6monorepo\u7ba1\u7406\u65b9\u6848",level:2},{value:"CI",id:"ci",level:2}];function h(e){const n={a:"a",code:"code",del:"del",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"\u5f00\u53d1",children:"\u5f00\u53d1"}),"\n",(0,i.jsx)(n.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5f00\u53d1\u9879\u76ee\u76f8\u5173\u7684\u8d44\u6599\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"repo\u7ed3\u6784",children:"Repo\u7ed3\u6784"}),"\n",(0,i.jsx)(n.p,{children:"\u672c\u9879\u76ee\u91c7\u7528monorepo\u7ed3\u6784\uff0c\u4e00\u4e2arepo\u5305\u542b\u4e86\u6574\u4e2a\u7cfb\u7edf\u7684\u6240\u6709\u4ee3\u7801\u548c\u6587\u6863\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u5176\u4e2d\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"protos"}),"\uff1a\u5305\u542b\u4e86\u6574\u4e2a\u7cfb\u7edf\u6240\u6709\u7684proto\u6587\u4ef6"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"dockerfiles"}),"\uff1a\u5305\u542b\u6574\u4e2a\u7cfb\u7edf\u6240\u6709\u7684dockerfile\u6587\u4ef6"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"dev"}),"\uff1a\u5f00\u53d1\u76f8\u5173\u6587\u4ef6"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"apps"}),"\uff1a\u6240\u6709\u5b50\u7cfb\u7edf"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"libs"}),"\uff1a\u516c\u5171\u5e93"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docs"}),"\uff1a\u6587\u6863\u9879\u76ee"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"\u5f00\u59cb\u5f00\u53d1",children:"\u5f00\u59cb\u5f00\u53d1"}),"\n",(0,i.jsx)(n.h3,{id:"\u51c6\u5907\u4e3b\u673a\u73af\u5883",children:"\u51c6\u5907\u4e3b\u673a\u73af\u5883"}),"\n",(0,i.jsx)(n.p,{children:"\u8981\u5f00\u53d1SCOW\uff0c\u4f60\u7684\u4e3b\u673a\u73af\u5883\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u8981\u6c42\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Linux/macOS/Windows"}),"\n",(0,i.jsxs)(n.li,{children:["\u5b89\u88c5\u597d",(0,i.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"docker"}),"\u548c",(0,i.jsx)(n.a,{href:"https://docs.docker.com/compose/install/",children:"docker compose"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Windows\u548cmacOS\u7528\u6237\u63a8\u8350\u4f7f\u7528",(0,i.jsx)(n.a,{href:"https://www.docker.com/products/docker-desktop/",children:"Docker Desktop"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u63a8\u8350dev-container",children:"\u63a8\u8350\uff1aDev Container"}),"\n",(0,i.jsxs)(n.p,{children:["\u672c\u9879\u76ee\u914d\u7f6e\u4e86",(0,i.jsx)(n.a,{href:"https://code.visualstudio.com/docs/devcontainers/containers",children:"VSCode Dev Container"}),"\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:".devcontainer"}),"\u4e0b\u7684\u914d\u7f6e\u81ea\u52a8\u4eceGitHub\u6253\u5f00\u4e00\u4e2aCodespace\u6216\u8005\u4f7f\u7528VSCode\u751f\u6210\u4e00\u4e2a\u5f00\u53d1\u7528\u7684\u5bb9\u5668\u3002\u5177\u4f53\u5982\u4f55\u4f7f\u7528\uff0c\u8bf7\u53c2\u8003\u4e0a\u8ff0Dev Container\u7684\u6587\u6863\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u672c\u5730\u5f00\u53d1",children:"\u672c\u5730\u5f00\u53d1"}),"\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u60a8\u4e0d\u4f7f\u7528Dev Container\uff0c\u4e5f\u53ef\u4ee5\u5728\u672c\u5730\u6784\u5efa\u5f00\u53d1\u73af\u5883\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u8bf7\u786e\u4fdd\u4e3b\u673a\u7684",(0,i.jsx)(n.code,{children:"~/.ssh"}),"\u76ee\u5f55\u4e0b\u5b58\u5728SSH RSA\u683c\u5f0f\u516c\u79c1\u94a5\u6587\u4ef6\uff08",(0,i.jsx)(n.code,{children:"id_rsa"}),"\u548c",(0,i.jsx)(n.code,{children:"id_rsa.pub"}),"\uff09\u3002\u5982\u679c\u4e0d\u5b58\u5728\uff0c\u8bf7\u8fd0\u884c",(0,i.jsx)(n.code,{children:"ssh-keygen"}),"\u751f\u6210\u3002"]}),"\n",(0,i.jsx)(n.p,{children:"\u8bf7\u5b89\u88c5\u4ee5\u4e0b\u8f6f\u4ef6\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://volta.sh/",children:"volta"}),"\uff1a\u7ba1\u7406node\u73af\u5883"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://pnpm.io/pnpm-cli",children:"pnpm"}),"\uff1a\u63a8\u8350standalone\u5b89\u88c5"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u65e0\u9700\u624b\u52a8\u5b89\u88c5node\u3002volta\u5c06\u4f1a\u5728\u7b2c\u4e00\u6b21\u8fd0\u884cnpm\u6216\u8005node\u547d\u4ee4\u65f6\u81ea\u52a8\u5b89\u88c5\u5bf9\u5e94\u5de5\u5177\u7684\u5bf9\u5e94\u7248\u672c\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u6211\u4eec\u63a8\u8350\u4f7f\u7528",(0,i.jsx)(n.a,{href:"https://code.visualstudio.com/",children:"Visual Studio Code"}),"\u4f5c\u4e3a\u5f00\u53d1\u73af\u5883\u3002\u4ed3\u5e93\u4e2d\u6709.vscode\u76ee\u5f55\u7528\u4e8e\u9884\u5148\u914d\u7f6e\u90e8\u5206VSCode\u7684\u5f00\u53d1\u73af\u5883\u3002"]}),"\n",(0,i.jsx)(n.p,{children:"\u8981\u5f00\u59cb\u5f00\u53d1\uff1a"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# clone\u4ed3\u5e93\ngit clone https://github.com/PKUHPC/SCOW\n\ncd SCOW\n\n# \u5982\u679c\u662fstandalone\u5b89\u88c5\uff0c\u6216\u8005\u5728pnpm i\u7684\u65f6\u5019\u9047\u5230node-gyp ENOET\u9519\u8bef\uff0c\u8fd0\u884c\u4ee5\u4e0b\u5168\u5c40\u5b89\u88c5node-gyp\u3002\u53ea\u7528\u5b89\u88c5\u4e00\u6b21\u5373\u53ef\u3002\npnpm install -g node-gyp\n\n# \u5728\u6839\u76ee\u5f55\u4e0b\uff0c\u5b89\u88c5\u4f9d\u8d56\npnpm i\n\n# \u51c6\u5907\u5f00\u53d1\u9700\u8981\u7684\u5e93\u548c\u4ee3\u7801\uff1a\u6784\u5efa\u4f9d\u8d56\u5e93\uff0c\u751f\u6210\u5404\u79cd\u4ee3\u7801\npnpm prepareDev\n\n"})}),"\n",(0,i.jsxs)(n.p,{children:["apps\u4e0b\u7684\u6240\u6709\u9879\u76ee\u5747\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"dev"}),"\u811a\u672c\u4ee5\u5f00\u53d1\u73af\u5883\u8fd0\u884c\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u4ee5\u5f00\u53d1\u73af\u5883\u8fd0\u884c\u95e8\u6237\u524d\u7aef\ncd apps/portal-web\npnpm dev\n"})}),"\n",(0,i.jsx)(n.p,{children:"\u4ee5\u5f00\u53d1\u73af\u5883\u8fd0\u884c\u6587\u6863\u9879\u76ee"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cd docs\npnpm start\n"})}),"\n",(0,i.jsx)(n.p,{children:"\u5176\u4ed6\u5e38\u7528\u547d\u4ee4\uff1a"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u7f16\u8bd1libs\u76ee\u5f55\u4e0b\u7684\u5e93\npnpm build:libs\n\n# \u4fee\u6539proto\u6587\u4ef6\u540e\uff0c\u91cd\u65b0\u751f\u6210proto\u5bf9\u5e94\u7684ts\u6587\u4ef6\npnpm build:protos\n\n# \u5728\u67d0\u4e00\u4e2a\u5177\u4f53\u9879\u76ee\u4e0b\u8fd0\u884c\u7279\u5b9a\u7684\u811a\u672c\n# {\u9879\u76ee\u540d}\u8bf7\u66ff\u6362\u4e3a\u9879\u76eepackage.json\u4e2dname\u5b57\u6bb5\u7684@scow/\u540e\u9762\u7684\u5185\u5bb9\n# \u9879\u76ee\u53ef\u4ee5\u8fd0\u884c\u4ec0\u4e48\u811a\u672c\u8bf7\u67e5\u770b\u9879\u76eepackage.json\u4e2d\u7684scripts\npnpm --filter {\u9879\u76ee\u540d} build \n\n# \u5982\u8fd0\u884c@scow/config\u9879\u76ee\u7684build\u547d\u4ee4\uff08\u7f16\u8bd1\uff09\uff0c\u5219\u8fd0\u884c\n# \u8981\u60f3\u4f7f\u7528\u4efb\u4f55libs\u9879\u76ee\u4e0b\u7684\u4fee\u6539\uff0c\u5fc5\u987b\u5148\u8fd0\u884c\u5bf9\u5e94\u7684build\u547d\u4ee4\u7f16\u8bd1\u597d\npnpm --filter config build\n\n# \u5728\u67d0\u4e2a\u9879\u76ee\u4e0b\u8fd0\u884c\u7279\u5b9a\u7684\u811a\u672c\u4e5f\u53ef\u4ee5\u4f7f\u7528cd\u8fdb\u5165\u9879\u76ee\u540e\u8fd0\u884cpnpm\u5bf9\u5e94\u547d\u4ee4\ncd config\npnpm build\n\n"})}),"\n",(0,i.jsx)(n.h2,{id:"\u6d4b\u8bd5\u5f00\u53d1\u73af\u5883",children:"\u6d4b\u8bd5\u5f00\u53d1\u73af\u5883"}),"\n",(0,i.jsxs)(n.p,{children:["\u6211\u4eec\u4f7f\u7528docker\u642d\u5efa\u4e86\u4e00\u5957\u7b80\u5355\u7684\u5f00\u53d1\u73af\u5883\uff0c\u4e3b\u8981\u7528\u4e8e\u8fd0\u884c\u9879\u76ee\u7684\u5355\u5143\u548c\u96c6\u6210\u6d4b\u8bd5\u3002\u5177\u4f53\u5f00\u53d1\u73af\u5883\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/dev/docker-compose.dev.yml",children:"docker-compose.dev.yml"}),"\u3002"]}),"\n",(0,i.jsx)(n.p,{children:"\u5f00\u53d1\u73af\u5883\u5305\u62ec"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"3306"}),"\u7aef\u53e3\u8fde\u63a5\u7684\u7684MySQL8\u6570\u636e\u5e93","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["root\u5bc6\u7801\u4e3a",(0,i.jsx)(n.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/dev/.env.dev",children:"dev/.env.dev"}),"\u4e2d\u7684",(0,i.jsx)(n.code,{children:"MYSQL_ROOT_PASSWORD"}),"\uff0c\u4e3a",(0,i.jsx)(n.code,{children:"mysqlrootpassword"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"6379"}),"\u7aef\u53e3\u8fde\u63a5\u7684redis",":alpine"]}),"\n",(0,i.jsxs)(n.li,{children:["\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"3307"}),"\u7aef\u53e3\u8fde\u63a5\u7684mariadb:5.5\u4f5c\u4e3ajob table","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["root\u5bc6\u7801\u4e3a",(0,i.jsx)(n.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/dev/.env.dev",children:"dev/.env.dev"}),"\u4e2d\u7684",(0,i.jsx)(n.code,{children:"JOB_TABLE_PASSWORD"}),"\uff0c\u4e3a",(0,i.jsx)(n.code,{children:"jobtablepassword"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"389"}),"\u7aef\u53e3\u8fde\u63a5\u7684LDAP\u670d\u52a1\u5668\uff0c\u8be6\u60c5\u53c2\u8003",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap#LDAP%E9%95%9C%E5%83%8F",children:"LDAP\u6587\u6863"})]}),"\n",(0,i.jsxs)(n.li,{children:["\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"3890"}),"\u7aef\u53e3\u8bbf\u95ee\u7684",(0,i.jsx)(n.a,{href:"https://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page",children:"phpLDAPadmin"}),"\uff0c\u53ef\u4ee5\u7528\u4e8e\u767b\u5f55",(0,i.jsx)(n.code,{children:"389"}),"\u7aef\u53e3\u7684LDAP\u670d\u52a1\u5668","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Dev Container"}),"\uff1a\u7531\u4e8e\u8fd9\u4e2a\u5bb9\u5668\u4fee\u6539\u76d1\u542c\u7aef\u53e3\u6bd4\u8f83\u590d\u6742\uff0c\u4e14\u5f00\u53d1\u73af\u5883\u5e76\u4e0d\u4f1a\u76f4\u63a5\u548c\u8fd9\u4e2a\u5bb9\u5668\u4ea4\u4e92\uff0c\u6545\u8fd9\u4e2a\u5bb9\u5668\u6620\u5c04\u5230\u7684\u5bbf\u4e3b\u673a\u76843890\u7aef\u53e3\u3002"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"22222"}),"\u7aef\u53e3\u8fde\u63a5\u7684SSH\u670d\u52a1\u5668","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u5177\u6709\u4e24\u4e2a\u7528\u6237\uff1aroot\u7528\u6237",(0,i.jsx)(n.code,{children:"root"}),"\uff08\u5bc6\u7801",(0,i.jsx)(n.code,{children:"root"}),"\uff09\u548c\u666e\u901a\u7528\u6237",(0,i.jsx)(n.code,{children:"test"}),"\uff08\u5bc6\u7801",(0,i.jsx)(n.code,{children:"test"}),"\uff09"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"\u672c\u5730\u5f00\u53d1"}),"\uff1a\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u672c\u5730\u7684",(0,i.jsx)(n.code,{children:"~/.ssh/id_rsa.pub"}),"\u767b\u5f55",(0,i.jsx)(n.code,{children:"root"}),"\u548c",(0,i.jsx)(n.code,{children:"test"}),"\u7528\u6237"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Dev Container"}),"\uff1a\u89c1\u4e0b\u6587"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"6000"}),"\u7aef\u53e3\u8bbf\u95ee\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff08",(0,i.jsx)(n.code,{children:"test-adapter"}),"\uff09\uff0c\u63a5\u53e3\u8fd4\u56de\u56fa\u5b9a\u503c\uff0c\u4ec5\u7528\u4e8e\u6d4b\u8bd5\u73af\u5883"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"dev-container\u73af\u5883",children:"Dev Container\u73af\u5883"}),"\n",(0,i.jsxs)(n.p,{children:["Dev Container\u5728\u542f\u52a8\u65f6\u540c\u65f6\u4f1a\u542f\u52a8\u6d4b\u8bd5\u5f00\u53d1\u73af\u5883\uff0c\u4e14\u6d4b\u8bd5\u5f00\u53d1\u73af\u5883\u7684\u6545\u542f\u52a8\u540e\u60a8\u4e0d\u518d\u9700\u8981\u624b\u52a8\u542f\u52a8\u5f00\u53d1\u73af\u5883\u3002\u4e14\u8fd9\u4e9b\u670d\u52a1\u5747\u542f\u52a8\u4e8e\u5f00\u53d1\u5bb9\u5668\u7684\u7f51\u7edc\u4e2d\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"localhost"}),"\u8fde\u63a5\u5230\u8fd9\u4e9b\u670d\u52a1\u3002"]}),"\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u7531\u4e8eSSH\u670d\u52a1\u5668\u5bb9\u5668\u548c\u5f00\u53d1\u73af\u5883\u6240\u5728\u5bb9\u5668\u4e3a\u5e76\u5217\u5173\u7cfb\uff0cSSH\u670d\u52a1\u5668\u4e0d\u80fd\u76f4\u63a5\u4f7f\u7528\u5f00\u53d1\u5bb9\u5668\u6240\u5728\u7684\u6587\u4ef6\uff0c\u6545\u60a8\u9700\u8981\u5728\u542f\u52a8Dev Container\u540e\u624b\u52a8\u751f\u6210SSH\u5bc6\u94a5\u5e76\u914d\u7f6e\u516c\u94a5\u767b\u5f55\uff1a"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u5728Dev Container\u4e2d\u6267\u884c\n\n# \u751f\u6210RSA\u7c7b\u578bSSH\u516c\u94a5\nssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa\n\n# \u7ed9root\u548ctest\u7528\u6237\u914d\u7f6e\u516c\u94a5\u767b\u5f55\n\n# \u8fd0\u884c\u540e\u8f93\u5165root\u5bc6\u7801root\nssh-copy-id -p22222 root@localhost\n\n# \u8fd0\u884c\u540e\u8f93\u5165test\u5bc6\u7801test\nssh-copy-id -p22222 test@localhost\n"})}),"\n",(0,i.jsx)(n.h3,{id:"\u672c\u5730\u5f00\u53d1-1",children:"\u672c\u5730\u5f00\u53d1"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"# \u6784\u5efa\u5e76\u542f\u52a8\u5f00\u53d1\u73af\u5883\npnpm devenv\n\n# \u8fd0\u884c\u6d4b\u8bd5\n# \u6d4b\u8bd5\u73af\u5883\u5fc5\u987b\u5728prepareDev\u8fd0\u884c\u540e\u624d\u80fd\u8fd0\u884c\npnpm test\n\n# \u5bf9\u67d0\u4e00\u9879\u76ee\u8fd0\u884c\u6d4b\u8bd5\uff08\u6b64\u4e3a\u5bf9@scow/portal-web\u9879\u76ee\u8fd0\u884c\u6d4b\u8bd5\uff09\npnpm --filter portal-web test\n\n# \u505c\u6b62\u5f00\u53d1\u73af\u5883\npnpm devenv:stop\n"})}),"\n",(0,i.jsx)(n.h2,{id:"\u5bb9\u5668\u6784\u5efa\u8bf4\u660e",children:"\u5bb9\u5668\u6784\u5efa\u8bf4\u660e"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u6bcf\u4e2a\u5b50\u7cfb\u7edf\u7684Dockerfile\u90fd\u5e94\u8be5\u653e\u5728dockerfiles\u76ee\u5f55\u4e0b"}),"\n",(0,i.jsx)(n.li,{children:"\u6bcf\u4e2aDockerfile\u7684context\u90fd\u5e94\u8be5\u662f\u9879\u76ee\u6839\u76ee\u5f55\uff0c\u8bb0\u5f97\u590d\u5236proto\u76ee\u5f55\u548c\u4f9d\u8d56\u7684\u672c\u5730\u5e93"}),"\n",(0,i.jsx)(n.li,{children:"\u6240\u6709\u6839\u636eproto\u751f\u6210\u7684\u6587\u4ef6\u90fd\u5e94\u8be5\u88abgitignore\u548cdockerignore\uff0c\u5728\u5bb9\u5668\u4e2d\u6784\u5efa\u65f6\u9700\u8981\u73b0\u573a\u751f\u6210"}),"\n",(0,i.jsxs)(n.li,{children:["\u6839\u76ee\u5f55\u7684",(0,i.jsx)(n.code,{children:"docker-compose.yml"}),"\u5e94\u8be5\u53ea\u7528\u4e8e\u5bb9\u5668\u6784\u5efa"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"\u4ee3\u7801\u98ce\u683c\u68c0\u67e5",children:"\u4ee3\u7801\u98ce\u683c\u68c0\u67e5"}),"\n",(0,i.jsxs)(n.p,{children:["\u9879\u76ee\u4f7f\u7528",(0,i.jsx)(n.a,{href:"https://eslint.org",children:"eslint"}),"\u8fdb\u884c\u4ee3\u7801\u98ce\u683c\u89c4\u8303\u548c\u68c0\u67e5\u3002eslint\u7684\u914d\u7f6e\u91c7\u7528",(0,i.jsx)(n.a,{href:"https://github.com/ddadaal/eslint-config",children:(0,i.jsx)(n.code,{children:"@ddadaal/eslint-config"})}),"\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u9879\u76ee\u4f7f\u7528",(0,i.jsx)(n.a,{href:"https://github.com/typicode/husky",children:"husky"}),"\u8bbe\u7f6e\u4e86\u4e00\u4e2a",(0,i.jsx)(n.code,{children:"pre-commit"}),"\u7684git hook\uff0c\u5728\u63d0\u4ea4\u524d\u8fd0\u884c\u4ee5\u4e0a\u7684\u4ee3\u7801\u98ce\u683c\u68c0\u67e5\uff0c\u5982\u679c\u4ee3\u7801\u98ce\u683c\u68c0\u67e5\u6ca1\u6709\u901a\u8fc7\u5219\u65e0\u6cd5commit\u3002"]}),"\n",(0,i.jsx)(n.h2,{id:"\u4e3a\u4ec0\u4e48\u4e0d\u91c7\u7528\u5176\u4ed6monorepo\u7ba1\u7406\u65b9\u6848",children:"\u4e3a\u4ec0\u4e48\u4e0d\u91c7\u7528\u5176\u4ed6monorepo\u7ba1\u7406\u65b9\u6848\uff1f"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["npm workspace\uff1a","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.del,{children:"\u8fd9\u4e2a\u4f1a\u628a\u6240\u6709\u4f9d\u8d56\u88c5\u5728\u6839\u76ee\u5f55\uff0c\u4f46\u662ftsgrpc-cli\u4f1a\u5047\u8bbe\u4f9d\u8d56\u88c5\u5728\u9879\u76ee\u76ee\u5f55\uff0c\u8fd9\u6837tsgrpc-cli\u5c31\u4e0d\u80fd\u8fd0\u884c\u4e86"}),"\uff08\u89e3\u51b3\u4e86\uff09"]}),"\n",(0,i.jsx)(n.li,{children:"npm workspace\u8fd0\u884c\u547d\u4ee4\u65f6\u4e0d\u6309\u4f9d\u8d56\u62d3\u6251\u6392\u5e8f\u987a\u5e8f\u8fd0\u884c\uff08wtf!!!!\uff09\uff0c\u4e5f\u4e0d\u80fd\u624b\u52a8\u5728\u6839package.json\u91cc\u6307\u5b9a\u6240\u6709\u5305\uff0c\u56e0\u4e3a\u6bcf\u4e2a\u5b50\u7cfb\u7edf\u6784\u5efa\u65f6\uff0c\u4e0d\u5b58\u5728\u5176\u4ed6\u5b50\u7cfb\u7edf"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["yarn workspace\uff1a\u65b0\u7248\u672cberry\u548cvolta\u7684\u517c\u5bb9\u6027\u4e0d\u597d(",(0,i.jsx)(n.a,{href:"https://github.com/volta-cli/volta/issues/651",children:"issue"}),")\uff0cyarn\u7684workspaces\u7684foreach\u547d\u4ee4\u9700\u8981\u5355\u72ec\u88c5\u63d2\u4ef6\uff0c\u800c\u4e14foreach\u547d\u4ee4\u4e0d\u4f1a\u4ea4\u4e92\u5f0f\u5730\u8f93\u51fa\u7ed3\u679c"]}),"\n",(0,i.jsx)(n.li,{children:"nx: \u5c1d\u8bd5\u8fc1\u79fb\u8fc7\u53bb\u597d\u51e0\u6b21\u4e86\uff0c\u4f46\u662f\u611f\u89c9\u6982\u5ff5\u6709\u70b9\u592a\u590d\u6742\u4e86\u2026\u2026"}),"\n",(0,i.jsx)(n.li,{children:"lerna: \u5f88\u4e45\u6ca1\u66f4\u65b0\u4e86\uff0c\u5220\u9664\u4f9d\u8d56\u9700\u8981\u5220\u6389\u5305\u7684node_modules\u7136\u540e\u91cd\u65b0bootstrap\uff0c\u9ebb\u70e6"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"ci",children:"CI"}),"\n",(0,i.jsx)(n.p,{children:"\u9879\u76eeCI\u914d\u7f6e\u5982\u4e0b\uff1a"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"CI\u6d41\u7a0b",src:s(91341).A+"",width:"1242",height:"902"})})]})}function p(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},91341:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/ci-9164a4ad8a815a6362f757909d630ffc.png"},5409:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var i=s(48318);const d={},c=i.createContext(d);function r(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8ee61ba6.ba667cd2.js b/pr-preview/pr-1298/assets/js/8ee61ba6.ba667cd2.js deleted file mode 100644 index 5a034103f1..0000000000 --- a/pr-preview/pr-1298/assets/js/8ee61ba6.ba667cd2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4807],{75472:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var r=s(49214),d=s(5409);const c={sidebar_position:4,title:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd"},t="\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd",i={id:"deploy/config/portal/desktop",title:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd",description:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd\u80fd\u591f\u8ba9\u7528\u6237\u5728\u6d4f\u89c8\u5668\u4e0a\u5c31\u80fd\u8bbf\u95ee\u767b\u5f55\u8282\u70b9\u7684\u684c\u9762\uff0c\u5e76\u8fdb\u884cGUI\u64cd\u4f5c\u3002",source:"@site/docs/deploy/config/portal/desktop.md",sourceDirName:"deploy/config/portal",slug:"/deploy/config/portal/desktop",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/desktop.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd"},sidebar:"deploy",previous:{title:"\u914d\u7f6e\u8bf4\u660e\u6587\u5b57",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment"},next:{title:"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters"}},o={},l=[{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u652f\u6301\u7684\u684c\u9762",id:"\u652f\u6301\u7684\u684c\u9762",level:2}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd",children:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd"}),"\n",(0,r.jsx)(n.p,{children:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd\u80fd\u591f\u8ba9\u7528\u6237\u5728\u6d4f\u89c8\u5668\u4e0a\u5c31\u80fd\u8bbf\u95ee\u767b\u5f55\u8282\u70b9\u7684\u684c\u9762\uff0c\u5e76\u8fdb\u884cGUI\u64cd\u4f5c\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,r.jsxs)(n.p,{children:["\u76ee\u524d\uff0c\u684c\u9762\u529f\u80fd\u4ec5\u652f\u6301\u767b\u5f55\u5230",(0,r.jsx)(n.strong,{children:"\u767b\u5f55\u8282\u70b9"}),"\u3002\u5728\u8ba1\u7b97\u8282\u70b9\u4e0a\u542f\u52a8\u684c\u9762\u53ef\u501f\u52a9",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app",children:"\u4ea4\u4e92\u5f0f\u4efb\u52a1"}),"\u5b9e\u73b0\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u4e0b\u6587\u4e2d\u5c06\u542f\u52a8\u684c\u9762\u7684\u8282\u70b9\u79f0\u4e3a",(0,r.jsx)(n.strong,{children:"\u684c\u9762\u8282\u70b9"}),"\u3002"]}),"\n",(0,r.jsx)(n.p,{children:"\u8bf7\u786e\u8ba4\u96c6\u7fa4\u914d\u7f6e\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"\u684c\u9762\u8282\u70b9"}),"\u5df2\u5b89\u88c5TurboVNC 3.0\u7248\u672c\u6216\u8005\u4ee5\u4e0a\uff08",(0,r.jsx)(n.a,{href:"https://turbovnc.org/Downloads/YUM",children:"\u5b98\u65b9\u5b89\u88c5\u6559\u7a0b"}),"\uff09"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"\u652f\u6301\u7684\u684c\u9762",children:"\u652f\u6301\u7684\u684c\u9762"}),"\n",(0,r.jsxs)(n.p,{children:["\u5728",(0,r.jsx)(n.code,{children:"config/portal.yml"}),"\u6587\u4ef6\u7684",(0,r.jsx)(n.code,{children:"loginDesktop.wms"}),"\u90e8\u5206\u53ef\u4ee5\u914d\u7f6e\u652f\u6301\u7684\u684c\u9762, \u4e5f\u53ef\u4ee5\u5728",(0,r.jsx)(n.code,{children:"config/clusters"}),"\u4e0b\u7684\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u5185\u5206\u96c6\u7fa4\u914d\u7f6e\u652f\u6301\u7684\u684c\u9762\uff0c",(0,r.jsx)(n.code,{children:"config/clusters"}),"\u914d\u7f6e\u6587\u4ef6\u4e0b\u7684\u914d\u7f6e\u4f18\u5148\u7ea7\u9ad8\u4e8e",(0,r.jsx)(n.code,{children:"config/portal.yml"}),"\u6587\u4ef6\u3002"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="config/portal.yaml \u6216 config/clusters/[\u96c6\u7fa4ID]/config.yml"',children:"loginDesktop:\n wms: \n - name: Xfce\n wm: xfce\n"})}),"\n",(0,r.jsxs)(n.p,{children:["\u5176\u4e2d\uff0cname\u8868\u793a\u684c\u9762\u7684\u540d\u79f0\uff0cwm\u8868\u793aTurboVNC\u4e2d",(0,r.jsx)(n.code,{children:"-wm"}),"\u9009\u9879\u7684\u503c\u3002\u6211\u4eec\u4f7f\u7528",(0,r.jsx)(n.a,{href:"https://turbovnc.org",children:"TurboVNC"}),"\u7684",(0,r.jsx)(n.code,{children:"-wm"}),"\u9009\u9879\u6307\u5b9a\u652f\u6301\u542f\u52a8\u7684\u684c\u9762\u3002\u7528\u6237\u9009\u62e9\u7684\u684c\u9762\u5bf9\u5e94\u7684wm\u503c\u5c06\u4f1a\u88ab\u4f20\u5165TurboVNC\u7684",(0,r.jsx)(n.code,{children:"-wm"}),"\u53c2\u6570\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u53ef\u4ee5\u67e5\u770b",(0,r.jsx)(n.a,{href:"https://turbovnc.org/Documentation/Compatibility30",children:"TurboVNC 3.0.x Window Manager Compatibility Report"}),"\u6765\u786e\u8ba4\u684c\u9762\u548c\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u95f4\u7684\u517c\u5bb9\u6027\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:["\u4e0b\u8868\u4e3a\u76ee\u524d\u5df2\u7ecf\u5728CentOS 7\u4e0a\u6d4b\u8bd5\u7684\u5404\u4e2a\u684c\u9762\u4e0eturbovnc\u7684\u517c\u5bb9\u6027\u4ee5\u53ca\u5bf9\u5e94\u7684wm\u503c\u3002\u8981\u60f3\u4f7f\u7528\u5bf9\u5e94\u7684\u684c\u9762\uff0c\u8bf7\u5728\u5bf9\u5e94\u7684\u684c\u9762\u8282\u70b9\u5b89\u88c5",(0,r.jsx)(n.code,{children:"epel-release"}),"\u5305\uff0c\u518d\u8fd0\u884c\u5b89\u88c5\u547d\u4ee4\u90e8\u5206\u7684\u547d\u4ee4\u5b89\u88c5\u5bf9\u5e94\u7684\u684c\u9762\u3002"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"\u684c\u9762"}),(0,r.jsx)(n.th,{children:"wm\u503c"}),(0,r.jsx)(n.th,{children:"\u5b89\u88c5\u547d\u4ee4"}),(0,r.jsx)(n.th,{children:"\u517c\u5bb9\u6027"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"KDE"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"1-kde-plasma-standard"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:'yum groupinstall "KDE Plasma Workspaces"'})}),(0,r.jsx)(n.td,{children:"\u53ef\u7528"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Xfce"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"xfce"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:'yum groupinstall "Xfce"'})}),(0,r.jsx)(n.td,{children:"\u53ef\u7528"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"MATE"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"mate"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:'yum groupinstall "MATE Desktop"'})}),(0,r.jsx)(n.td,{children:"\u53ef\u7528"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"cinnamon"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"cinnamon"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"yum install cinnamon"})}),(0,r.jsx)(n.td,{children:"\u53ef\u7528"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"GNOME 2"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"2d"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:'yum groupinstall "GNOME Desktop"'})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"\u4e0d\u53ef\u7528"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"GNOME 3"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:" "}),"\uff08\u7a7a\u5b57\u7b26\u4e32\uff09"]}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:'yum groupinstall "GNOME Desktop"'})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"\u4e0d\u53ef\u7528"})})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["\u6839\u636eTurboVNC\u7684\u6587\u6863\uff0c\u5982\u679c\u9700\u8981\u542f\u52a8\u5176\u4ed6\u684c\u9762\uff0c\u60a8\u53ef\u4ee5\u5c06wm\u503c\u8bbe\u7f6e\u4e3a\u4efb\u610f",(0,r.jsx)(n.code,{children:"/usr/share/xsessions"}),"\u4e0b\u7684\u6587\u4ef6\u540d\uff08\u4e0d\u5305\u62ec",(0,r.jsx)(n.code,{children:".desktop"}),"\u540e\u7f00\uff09\u6765\u542f\u52a8\u5bf9\u5e94\u7684\u684c\u9762\u3002"]})]})}function p(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>i});var r=s(48318);const d={},c=r.createContext(d);function t(e){const n=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:t(e.components),r.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/8f9ca38a.32f1698d.js b/pr-preview/pr-1298/assets/js/8f9ca38a.32f1698d.js deleted file mode 100644 index cc16bc1b19..0000000000 --- a/pr-preview/pr-1298/assets/js/8f9ca38a.32f1698d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9728],{93571:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>n,metadata:()=>p,toc:()=>l});var i=t(49214),s=t(5409);const n={},o=void 0,p={id:"refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl",title:"definition-properties-slurm-properties-mis-properties-managerurl",description:"managerUrl Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-mis-properties-dbpassword",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword"},next:{title:"definition-properties-slurm-properties-mis-properties-scriptpath",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath"}},c={},l=[{value:"managerUrl Type",id:"managerurl-type",level:2}];function u(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"managerurl-type",children:"managerUrl Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function a(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>p});var i=t(48318);const s={},n=i.createContext(s);function o(e){const r=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/90902a62.0bb42bc7.js b/pr-preview/pr-1298/assets/js/90902a62.0bb42bc7.js deleted file mode 100644 index 418a528bc8..0000000000 --- a/pr-preview/pr-1298/assets/js/90902a62.0bb42bc7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2980],{46659:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var i=r(49214),s=r(5409);const a={sidebar_position:6,title:"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09"},t="\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09",o={id:"deploy/config/mis/cluster-monitor/index",title:"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09",description:"\u8d44\u6e90\u72b6\u6001",source:"@site/docs/deploy/config/mis/cluster-monitor/index.md",sourceDirName:"deploy/config/mis/cluster-monitor",slug:"/deploy/config/mis/cluster-monitor/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/mis/cluster-monitor/index.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09"},sidebar:"deploy",previous:{title:"\u7cfb\u7edf\u521d\u59cb\u5316",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init/"},next:{title:"AI \u7cfb\u7edf\uff08beta\uff09",permalink:"/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta"}},c={},d=[{value:"\u8d44\u6e90\u72b6\u6001",id:"\u8d44\u6e90\u72b6\u6001",level:2},{value:"1. \u76f4\u63a5\u5d4c\u5165",id:"1-\u76f4\u63a5\u5d4c\u5165",level:3},{value:"2. \u4ee3\u7406",id:"2-\u4ee3\u7406",level:3},{value:"\u544a\u8b66\u65e5\u5fd7",id:"\u544a\u8b66\u65e5\u5fd7",level:2},{value:"\u53c2\u8003\u914d\u7f6e",id:"\u53c2\u8003\u914d\u7f6e",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\u53ef\u9009",children:"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09"}),"\n",(0,i.jsx)(n.h2,{id:"\u8d44\u6e90\u72b6\u6001",children:"\u8d44\u6e90\u72b6\u6001"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"\u96c6\u7fa4\u8d44\u6e90\u4fe1\u606f",src:r(98447).A+"",width:"1896",height:"905"})}),"\n",(0,i.jsx)(n.p,{children:"\u8d44\u6e90\u72b6\u6001\u529f\u80fd\u901a\u8fc7\u5d4c\u5165\u914d\u7f6e\u597d\u7684 Grafana \u9762\u677f\u67e5\u770b\u8d44\u6e90\u7684\u72b6\u6001\u3002\ngrafana \u7248\u672c\u63a8\u8350\u4f7f\u7528\u8f83\u65b0\u7684\u7248\u672c\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u51fa\u73b0\u6570\u636e\u65e0\u6cd5\u83b7\u53d6\u6216\u8005\u6837\u5f0f\u5f02\u5e38\u7684\u60c5\u51b5\u3002SCOW \u5728\u8fdb\u884c\u6d4b\u8bd5\u65f6\u4f7f\u7528\u7684\u662f Grafana 10.2.2 \u7248\u672c\uff0c\u63a8\u8350\u4f7f\u7528\u8be5\u7248\u672c\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u76ee\u524d\u63d0\u4f9b\u4e24\u79cd\u5d4c\u5165\u65b9\u5f0f"}),"\n",(0,i.jsx)(n.h3,{id:"1-\u76f4\u63a5\u5d4c\u5165",children:"1. \u76f4\u63a5\u5d4c\u5165"}),"\n",(0,i.jsx)(n.p,{children:"\u76f4\u63a5\u5d4c\u5165\u6307\u4f7f\u7528 iframe \u5c06 grafana \u7684\u5b9e\u9645\u9762\u677f\u7684 url \u5d4c\u5165\u5230 scow \u7ba1\u7406\u7cfb\u7edf\u4e2d\u3002\u5c06\u5728 scow \u7ba1\u7406\u7cfb\u7edf\u7684\u5e73\u53f0\u7ba1\u7406\u4e0b\u6dfb\u52a0\u3010\u96c6\u7fa4\u76d1\u63a7\u3011-\u3010\u8d44\u6e90\u72b6\u6001\u3011\u9875\u9762\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u4fee\u6539 grafana \u914d\u7f6e\u6587\u4ef6 grafana.ini\uff0c\u6dfb\u52a0 allow_embedding \u914d\u7f6e\u5982\u4e0b\uff0c\u5141\u8bb8 grafana \u80fd\u591f\u5d4c\u5165\u9875\u9762\u3002"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"...other config\n[security]\nallow_embedding = true\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5728 ",(0,i.jsx)(n.code,{children:"mis.yaml"})," \u6587\u4ef6\u4e2d\u6dfb\u52a0 clusterMonitor \u76f8\u5173\u914d\u7f6e"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:'# \u96c6\u7fa4\u76d1\u63a7\u914d\u7f6e\nclusterMonitor:\n # \u534f\u8bae + ip/\u57df\u540d + \u7aef\u53e3\uff0c\u9ed8\u8ba4\u4e3a http://127.0.0.1:4000\n grafanaUrl: "http://127.0.0.1:4000"\n # \u8d44\u6e90\u72b6\u6001\u76f8\u5173\u914d\u7f6e\n resourceStatus:\n # \u662f\u5426\u5f00\u542f\u8d44\u6e90\u72b6\u6001\uff0c\u9ed8\u8ba4\u4e0d\u5f00\u542f\n enabled: true\n # \u662f\u5426\u4f7f\u7528\u4ee3\u7406\u7684\u65b9\u5f0f\uff0c\u9ed8\u8ba4\u4e3a false\n proxy: false\n # \u9ed8\u8ba4\u9762\u677f id,\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a shZOtO4Sk\n dashboardUid: "shZOtO4Sk"\n\n'})}),"\n",(0,i.jsx)(n.p,{children:"\u5c06 grafanaUrl \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 grafana \u5730\u5740,\u5e76\u5c06 dashboardUid \u8bbe\u7f6e\u4e3a\u4f60\u671f\u671b\u8fdb\u5165\u8d44\u6e90\u72b6\u6001\u9875\u9762\u5c55\u793a\u7684\u9762\u677f id \u5373\u53ef\u3002"}),"\n",(0,i.jsx)(n.h3,{id:"2-\u4ee3\u7406",children:"2. \u4ee3\u7406"}),"\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u4f60\u4e0d\u5e0c\u671b\u5c06 grafana \u7684\u5730\u5740\u516c\u5f00\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee3\u7406\u7684\u65b9\u5f0f\u5d4c\u5165 grafana \u9762\u677f\u3002\u5f00\u542f\u4ee3\u7406\u540e\uff0c\u5bf9 grafana \u7684\u8bf7\u6c42\u5c06\u53d1\u9001\u5230 scow \u7684\u540e\u7aef\u7136\u540e\u4ee3\u7406\u5230 grafana\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u4fee\u6539 grafana \u914d\u7f6e\u6587\u4ef6 grafana.ini\uff0c\u6dfb\u52a0 root_url \u548c allow_embedding \u914d\u7f6e\u3002\u5c06\u5982\u4e0b\u914d\u7f6e\u4e2d\u7684 SCOW \u5730\u5740\u66ff\u6362\u4e3a\u771f\u5b9e\u7684\u5730\u5740\u3002\u4f8b\u5982 ",(0,i.jsx)(n.code,{children:"http://127.0.0.1/mis"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"..other config\n[server]\nroot_url=[SCOW \u7ba1\u7406\u7cfb\u7edf\u5730\u5740]/api/admin/monitor/getResourceStatus\n[security]\nallow_embedding = true\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5728 ",(0,i.jsx)(n.code,{children:"mis.yaml"})," \u6587\u4ef6\u4e2d\u6dfb\u52a0 clusterMonitor \u76f8\u5173\u914d\u7f6e"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:'# \u96c6\u7fa4\u76d1\u63a7\u914d\u7f6e\nclusterMonitor:\n # \u534f\u8bae + ip/\u57df\u540d + \u7aef\u53e3\uff0c\u9ed8\u8ba4\u4e3a http://127.0.0.1:4000\n grafanaUrl: "http://127.0.0.1:4000"\n # \u8d44\u6e90\u72b6\u6001\u76f8\u5173\u914d\u7f6e\n resourceStatus:\n # \u662f\u5426\u5f00\u542f\u8d44\u6e90\u72b6\u6001\uff0c\u9ed8\u8ba4\u4e0d\u5f00\u542f\n enabled: true\n # \u662f\u5426\u4f7f\u7528\u4ee3\u7406\u7684\u65b9\u5f0f\uff0c\u9ed8\u8ba4\u4e3a false\n proxy: true\n # \u9ed8\u8ba4\u9762\u677f id,\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a shZOtO4Sk\n dashboardUid: "shZOtO4Sk"\n\n'})}),"\n",(0,i.jsx)(n.p,{children:"\u540c\u6837\u4f60\u9700\u8981\u5c06 grafanaUrl \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 grafana \u5730\u5740,\u5e76\u5c06 dashboardUid \u8bbe\u7f6e\u4e3a\u4f60\u671f\u671b\u8fdb\u5165\u8d44\u6e90\u72b6\u6001\u9875\u9762\u5c55\u793a\u7684\u9762\u677f id\u3002\u7136\u540e\u5c06 proxy \u9009\u9879\u6539\u4e3a true \u5373\u53ef\u5f00\u542f\u4ee3\u7406\u6a21\u5f0f\u5d4c\u5165 grafana\u3002"}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u76ee\u524d\u4ee3\u7406\u7684\u6a21\u5f0f\u6682\u4e0d\u652f\u6301 websocket \u8fde\u63a5\uff0c\u4f1a\u5f71\u54cd grafana \u90e8\u5206\u5b9e\u65f6\u6570\u636e\u66f4\u65b0\u7684\u529f\u80fd"})}),"\n",(0,i.jsx)(n.h2,{id:"\u544a\u8b66\u65e5\u5fd7",children:"\u544a\u8b66\u65e5\u5fd7"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"\u544a\u8b66\u65e5\u5fd7",src:r(44894).A+"",width:"1902",height:"910"})}),"\n",(0,i.jsxs)(n.p,{children:["\u53ef\u4ee5\u67e5\u770b\u8d44\u6e90\u8fbe\u5230\u4e00\u5b9a\u4f7f\u7528\u9650\u989d\u540e\u89e6\u53d1\u7684\u544a\u8b66\u65e5\u5fd7\uff0c\u76ee\u524d\u4ec5\u652f\u6301 scow \u63d0\u4f9b\u7684\u544a\u8b66\u89c4\u5219\u67e5\u770b\u3002\u8be6\u7ec6\u7684\u914d\u7f6e\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor/",children:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7"}),"\u3002\u5b8c\u6210 grafana \u6570\u636e\u6e90\u3001Prometheus\u3001Alertmanager\u3001alert-db\u7b49\u914d\u7f6e\u540e\uff0c\u4fee\u6539 ",(0,i.jsx)(n.code,{children:"mis.yaml"})," \u6587\u4ef6\uff0c\u5728 clusterMonior \u4e0b\u6dfb\u52a0\u5982\u4e0b\u914d\u7f6e\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",children:"# \u96c6\u7fa4\u76d1\u63a7\u914d\u7f6e\nclusterMonitor:\n # \u544a\u8b66\u65e5\u5fd7\u914d\u7f6e\n alarmLogs:\n # \u662f\u5426\u5f00\u542f\u544a\u8b66\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u4e0d\u5f00\u542f\n enabled: true\n"})}),"\n",(0,i.jsx)(n.p,{children:"\u5f00\u542f\u540e\u5c06\u6dfb\u52a0\u3010\u96c6\u7fa4\u76d1\u63a7\u3011-\u3010\u544a\u8b66\u65e5\u5fd7\u3011\u9875\u9762"}),"\n",(0,i.jsx)(n.h2,{id:"\u53c2\u8003\u914d\u7f6e",children:"\u53c2\u8003\u914d\u7f6e"}),"\n",(0,i.jsxs)(n.p,{children:["\u67e5\u770b",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor/",children:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7"})]})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},44894:(e,n,r)=>{r.d(n,{A:()=>i});const i=r.p+"assets/images/alarmLog-4de6d965a6fb8d85697f231116ae54c5.png"},98447:(e,n,r)=>{r.d(n,{A:()=>i});const i=r.p+"assets/images/resourceStatus-08081b8fb398cc77dbba5e390cf42e69.png"},5409:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>o});var i=r(48318);const s={},a=i.createContext(s);function t(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9117ebf9.87c87fec.js b/pr-preview/pr-1298/assets/js/9117ebf9.87c87fec.js deleted file mode 100644 index 6d562cf4a2..0000000000 --- a/pr-preview/pr-1298/assets/js/9117ebf9.87c87fec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2559],{28976:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>p,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var r=n(49214),t=n(5409);const s={},c=void 0,l={id:"refs/config/app/definition-properties-web",title:"definition-properties-web",description:"web Type",source:"@site/docs/refs/config/app/definition-properties-web.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-script",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script"},next:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition"}},p={},d=[{value:"web Type",id:"web-type",level:2},{value:"beforeScript",id:"beforescript",level:2},{value:"beforeScript Type",id:"beforescript-type",level:3},{value:"script",id:"script",level:2},{value:"script Type",id:"script-type",level:3},{value:"connect",id:"connect",level:2},{value:"connect Type",id:"connect-type",level:3}];function o(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h2,{id:"web-type",children:"web Type"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",children:"Details"}),")"]}),"\n",(0,r.jsx)(i.h1,{id:"web-properties",children:"web Properties"}),"\n",(0,r.jsxs)(i.table,{children:[(0,r.jsx)(i.thead,{children:(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,r.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,r.jsxs)(i.tbody,{children:[(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#beforescript",children:"beforeScript"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"string"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript",title:"undefined#/properties/web/properties/beforeScript",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#script",children:"script"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"string"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script",title:"undefined#/properties/web/properties/script",children:"Untitled schema"})})]}),(0,r.jsxs)(i.tr,{children:[(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"#connect",children:"connect"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.code,{children:"object"})}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(i.td,{style:{textAlign:"left"},children:(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",title:"undefined#/properties/web/properties/connect",children:"Untitled schema"})})]})]})]}),"\n",(0,r.jsx)(i.h2,{id:"beforescript",children:"beforeScript"}),"\n",(0,r.jsx)(i.p,{children:"\u542f\u52a8\u5e94\u7528\u4e4b\u524d\u7684\u51c6\u5907\u547d\u4ee4\u3002\u5177\u4f53\u53c2\u8003\u6587\u6863"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"beforeScript"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript",title:"undefined#/properties/web/properties/beforeScript",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"beforescript-type",children:"beforeScript Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.h2,{id:"script",children:"script"}),"\n",(0,r.jsx)(i.p,{children:"\u542f\u52a8\u5e94\u7528\u7684\u547d\u4ee4\u3002\u53ef\u4ee5\u4f7f\u7528beforeScript\u4e2d\u5b9a\u4e49\u7684\u53d8\u91cf"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"script"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script",title:"undefined#/properties/web/properties/script",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"script-type",children:"script Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})}),"\n",(0,r.jsx)(i.h2,{id:"connect",children:"connect"}),"\n",(0,r.jsx)(i.p,{children:"\u5982\u4f55\u8fde\u63a5\u5e94\u7528"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"connect"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["Type: ",(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",children:"Details"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:["defined in: ",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",title:"undefined#/properties/web/properties/connect",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"connect-type",children:"connect Type"}),"\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.code,{children:"object"})," (",(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",children:"Details"}),")"]})]})}function h(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>c,x:()=>l});var r=n(48318);const t={},s=r.createContext(t);function c(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),r.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9145f5ac.9880d946.js b/pr-preview/pr-1298/assets/js/9145f5ac.9880d946.js deleted file mode 100644 index 40c8468641..0000000000 --- a/pr-preview/pr-1298/assets/js/9145f5ac.9880d946.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7595],{49094:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>p,toc:()=>f});var n=r(49214),i=r(5409);const s={},o=void 0,p={id:"refs/config/clusterTexts/definition-patternproperties",title:"definition-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/clusterTexts/definition-patternproperties.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-"},next:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition"}},c={},f=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function a(e){const t={h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,n.jsx)(t.p,{children:"unknown"})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>p});var n=r(48318);const i={},s=n.createContext(i);function o(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/921ea997.1e6679d5.js b/pr-preview/pr-1298/assets/js/921ea997.1e6679d5.js deleted file mode 100644 index 5dfd65e3e1..0000000000 --- a/pr-preview/pr-1298/assets/js/921ea997.1e6679d5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9318],{52571:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>l,toc:()=>t});var i=s(49214),c=s(5409);const d={sidebar_position:2,title:"SCOW\u7ba1\u7406\u5458\u4f7f\u7528\u6280\u5de7"},r=void 0,l={id:"deploy/ops/admin-usage-tips",title:"SCOW\u7ba1\u7406\u5458\u4f7f\u7528\u6280\u5de7",description:"1. \u7cfb\u7edf\u62a5\u9519\uff1a\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7",source:"@site/docs/deploy/ops/admin-usage-tips.md",sourceDirName:"deploy/ops",slug:"/deploy/ops/admin-usage-tips",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/ops/admin-usage-tips.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"SCOW\u7ba1\u7406\u5458\u4f7f\u7528\u6280\u5de7"},sidebar:"deploy",previous:{title:"\u8fd0\u7ef4",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/ops/"}},o={},t=[{value:"1. \u7cfb\u7edf\u62a5\u9519\uff1a\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7",id:"1-\u7cfb\u7edf\u62a5\u9519\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7",level:2},{value:"1.1 \u67e5\u770b\u65e5\u5fd7",id:"11-\u67e5\u770b\u65e5\u5fd7",level:3},{value:"1.2 \u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b",id:"12-\u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b",level:3},{value:"2. \u4f5c\u4e1a/\u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25\uff1a\u67e5\u770b\u8f93\u51fa\u6587\u6863",id:"2-\u4f5c\u4e1a\u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25\u67e5\u770b\u8f93\u51fa\u6587\u6863",level:2},{value:"2.1 \u4f5c\u4e1a\u6267\u884c\u5931\u8d25",id:"21-\u4f5c\u4e1a\u6267\u884c\u5931\u8d25",level:3},{value:"2.2 \u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25",id:"22-\u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25",level:3},{value:"3. \u7528\u6237\u64cd\u4f5c\u5ba1\u8ba1\uff1a\u67e5\u770b\u64cd\u4f5c\u65e5\u5fd7",id:"3-\u7528\u6237\u64cd\u4f5c\u5ba1\u8ba1\u67e5\u770b\u64cd\u4f5c\u65e5\u5fd7",level:2},{value:"4. \u89e3\u51b3\u7279\u5b9a\u73af\u5883\u95ee\u9898\uff1a\u6a21\u4eff\u7528\u6237\u767b\u5f55",id:"4-\u89e3\u51b3\u7279\u5b9a\u73af\u5883\u95ee\u9898\u6a21\u4eff\u7528\u6237\u767b\u5f55",level:2},{value:"5. \u5176\u4ed6",id:"5-\u5176\u4ed6",level:2},{value:"5.1 \u7528\u6237\u4ece\u8d26\u6237\u4e2d\u79fb\u9664\u5931\u8d25",id:"51-\u7528\u6237\u4ece\u8d26\u6237\u4e2d\u79fb\u9664\u5931\u8d25",level:3},{value:"5.2 \u5c06\u7528\u6237\u6dfb\u52a0\u5230\u67d0\u4e2a\u8d26\u6237\u5931\u8d25",id:"52-\u5c06\u7528\u6237\u6dfb\u52a0\u5230\u67d0\u4e2a\u8d26\u6237\u5931\u8d25",level:3}];function a(e){const n={admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"1-\u7cfb\u7edf\u62a5\u9519\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7",children:"1. \u7cfb\u7edf\u62a5\u9519\uff1a\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7"}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"\u95e8\u6237\u7cfb\u7edf\u62a5\u9519\u65f6\uff0c\u8bf7\u67e5\u770bportal-server(\u4f18\u5148)\u548cportal-web\u65e5\u5fd7\uff1b\u7ba1\u7406\u7cfb\u7edf\u62a5\u9519\u65f6\uff0c\u8bf7\u67e5\u770bmis-server(\u4f18\u5148)\u548cmis-web\u65e5\u5fd7\u3002"})}),"\n",(0,i.jsx)(n.h3,{id:"11-\u67e5\u770b\u65e5\u5fd7",children:"1.1 \u67e5\u770b\u65e5\u5fd7"}),"\n",(0,i.jsxs)(n.p,{children:["\u5404\u7ec4\u4ef6\u7684\u5b9e\u65f6\u65e5\u5fd7\u662f\u8f93\u51fa\u5728",(0,i.jsx)(n.code,{children:"stdout"}),"\uff0c\u53ef\u4ee5\u901a\u8fc7",(0,i.jsx)(n.code,{children:"./cli compose logs -f "}),"\u67e5\u770b\u5b9e\u65f6\u7684\u65e5\u5fd7\u8f93\u51fa\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-Bash",children:"# \u67e5\u770b\u6240\u6709\u7ec4\u4ef6\u7684\u65e5\u5fd7\n./cli compose logs -f \n\n# \u67e5\u770b\u8ba4\u8bc1\u7cfb\u7edf\u7684\u65e5\u5fd7\n./cli compose logs -f auth\n\n# \u67e5\u770b\u95e8\u6237\u7cfb\u7edf\u670d\u52a1\u5668\u7aef\u7684\u65e5\u5fd7\n./cli compose logs -f portal-server\n\n# \u67e5\u770b\u7ba1\u7406\u7cfb\u7edf\u670d\u52a1\u5668\u7aef\u7684\u65e5\u5fd7\n./cli compose logs -f mis-server\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u82e5\u5f00\u542f\u4e86\u65e5\u5fd7\u6536\u96c6\u5de5\u5177fluentd(\u9ed8\u8ba4\u5f00\u542f)\uff0c\u53ef\u4ee5\u67e5\u770b\u5404\u7ec4\u4ef6\u7684\u5386\u53f2\u65e5\u5fd7\uff0c\u5386\u53f2\u65e5\u5fd7\u7684\u9ed8\u8ba4\u8def\u5f84\u5728",(0,i.jsx)(n.code,{children:"/var/log/fluentd/"}),"\uff0c\u5404\u7ec4\u4ef6\u7684\u65e5\u5fd7\u6309\u7ec4\u4ef6\u540d\u79f0\u5206\u6587\u4ef6\u5939\u5b58\u50a8\uff0c\u6bcf\u4e2a\u7ec4\u4ef6\u7684\u65e5\u5fd7\u6309\u7167\u5927\u5c0f\u548c\u65e5\u671f\u5206\u6587\u4ef6\u5b58\u50a8\u3002"]}),"\n",(0,i.jsx)(n.p,{children:"\u5404\u7ec4\u4ef6\u65e5\u5fd7\uff1a"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(35838).A+"",width:"1342",height:"568"})}),"\n",(0,i.jsx)(n.p,{children:"mis-web\u65e5\u5fd7\uff1a"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(93525).A+"",width:"1753",height:"435"})}),"\n",(0,i.jsx)(n.h3,{id:"12-\u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b",children:"1.2 \u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b"}),"\n",(0,i.jsxs)(n.p,{children:["SCOW\u65e5\u5fd7\u8f93\u51fa\u652f\u6301\u65e5\u5fd7\u7b49\u7ea7\u8bbe\u7f6e\uff0c\u53ef\u9009\u7b49\u7ea7\u5305\u62ec",(0,i.jsx)(n.code,{children:"trace"}),", ",(0,i.jsx)(n.code,{children:"debug"}),", ",(0,i.jsx)(n.code,{children:"info"}),", ",(0,i.jsx)(n.code,{children:"warn"}),", ",(0,i.jsx)(n.code,{children:"error"}),"\uff0c\u9ed8\u8ba4\u7b49\u7ea7\u4e3a",(0,i.jsx)(n.code,{children:"info"}),"\uff0c\u901a\u8fc7\u4fee\u6539",(0,i.jsx)(n.code,{children:"install.yamll"}),"\u65e5\u5fd7\u914d\u7f6e\u90e8\u5206\u6765\u5b9e\u73b0\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-YAML",children:'log:\n # \u53ef\u9009trace, debug, info, warn, error, \u9ed8\u8ba4info\n level: "info"\n'})}),"\n",(0,i.jsx)(n.h2,{id:"2-\u4f5c\u4e1a\u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25\u67e5\u770b\u8f93\u51fa\u6587\u6863",children:"2. \u4f5c\u4e1a/\u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25\uff1a\u67e5\u770b\u8f93\u51fa\u6587\u6863"}),"\n",(0,i.jsx)(n.h3,{id:"21-\u4f5c\u4e1a\u6267\u884c\u5931\u8d25",children:"2.1 \u4f5c\u4e1a\u6267\u884c\u5931\u8d25"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f5c\u4e1a\u6267\u884c\u5b8c\u6210\u65f6\uff0c\u5728\u8be5\u4f5c\u4e1a\u7684\u5de5\u4f5c\u76ee\u5f55\u4f1a\u751f\u6210\u4e24\u4e2a\u6807\u51c6\u8f93\u51fa\u6587\u4ef6\uff1a",(0,i.jsx)(n.code,{children:"job.{job_id}.out"}),"\u548c",(0,i.jsx)(n.code,{children:"job.{job_id}.err"}),"\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5f53\u4f5c\u4e1a\u6267\u884c\u5931\u8d25(\u72b6\u6001\u4e3a",(0,i.jsx)(n.code,{children:"FAILED"}),")\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7\u67e5\u770b",(0,i.jsx)(n.code,{children:"job.{job_id}.err"})," \u6587\u4ef6\u5185\u5bb9\u5206\u6790\u9519\u8bef\u7684\u539f\u56e0\uff1a\u6240\u6709\u4f5c\u4e1a\u5217\u8868->\u8be5\u4f5c\u4e1a\u884c->\u8fdb\u5165\u76ee\u5f55\uff1a"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(24878).A+"",width:"1947",height:"832"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(90686).A+"",width:"1701",height:"280"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(37279).A+"",width:"772",height:"130"})}),"\n",(0,i.jsx)(n.h3,{id:"22-\u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25",children:"2.2 \u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u5931\u8d25"}),"\n",(0,i.jsx)(n.p,{children:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u5206\u4e3aweb\u548cvnc\u4e24\u7c7b\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u67e5\u770b\u4ea4\u4e92\u5f0f\u5e94\u7528\u6267\u884c\u7684\u8282\u70b9\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["web\u7c7b\u5e94\u7528\uff1a\u5de5\u4f5c\u76ee\u5f55\u4e0b\u7684",(0,i.jsx)(n.code,{children:"server_session_info.json"}),"\u6587\u4ef6\u4e2d\u7684",(0,i.jsx)(n.code,{children:"HOST"})]}),"\n",(0,i.jsxs)(n.li,{children:["vnc\u7c7b\u5e94\u7528\uff1a\u5de5\u4f5c\u76ee\u5f55\u4e0b\u7684",(0,i.jsx)(n.code,{children:"VNC_SESSION_INFO"}),"\u6587\u4ef6"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u67e5\u770b\u4ea4\u4e92\u5f0f\u5e94\u7528\u8f93\u51fa\u65e5\u5fd7\u53ca\u62a5\u9519\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["web\u7c7b\u5e94\u7528\uff1a\u5de5\u4f5c\u76ee\u5f55\u4e0b\u7684",(0,i.jsx)(n.code,{children:"slurm-{job_id}.out"}),"\u6587\u4ef6"]}),"\n",(0,i.jsxs)(n.li,{children:["vnc\u7c7b\u5e94\u7528\uff1a\u5de5\u4f5c\u76ee\u5f55\u4e0b\u7684",(0,i.jsx)(n.code,{children:"output"}),"\u548c",(0,i.jsx)(n.code,{children:"vnc.log"}),"\u6587\u4ef6"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.em,{children:"\u622a\u56fe\u7565\u3002"})}),"\n",(0,i.jsx)(n.h2,{id:"3-\u7528\u6237\u64cd\u4f5c\u5ba1\u8ba1\u67e5\u770b\u64cd\u4f5c\u65e5\u5fd7",children:"3. \u7528\u6237\u64cd\u4f5c\u5ba1\u8ba1\uff1a\u67e5\u770b\u64cd\u4f5c\u65e5\u5fd7"}),"\n",(0,i.jsx)(n.p,{children:"SCOW\u652f\u6301\u53ef\u63d2\u62d4\u7684\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\uff0c\u914d\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["(1) \u5728install.yaml\u4e2d\u6dfb\u52a0","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-YAML",children:'# \u53ef\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\uff0c\u5e76\u914d\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u6570\u636e\u5e93\u5bc6\u7801\naudit:\n dbPassword: "must!chang3this"\n'})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["(2) \u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u914d\u7f6e\u6587\u4ef6\uff0c\u5728",(0,i.jsx)(n.code,{children:"./config"}),"\u76ee\u5f55\u4e0b\u6dfb\u52a0",(0,i.jsx)(n.code,{children:"audit.yaml"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-YAML",children:"# \u5ba1\u8ba1\u7cfb\u7edf\u6570\u636e\u5e93\u7684\u4fe1\u606f\u3002\u53ef\u4ee5\u4e0d\u4fee\u6539\ndb:\n host: audit-db\n port: 3306\n user: root\n dbName: scow_audit \n"})}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"SCOW\u652f\u6301\u7528\u6237\u3001\u8d26\u6237\u3001\u79df\u6237\u3001\u5e73\u53f0\u7ea7\u522b\u64cd\u4f5c\u65e5\u5fd7\u67e5\u770b\uff1a"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.img,{alt:"img",src:s(64763).A+"",width:"1698",height:"898"}),(0,i.jsx)(n.img,{alt:"img",src:s(31103).A+"",width:"1702",height:"877"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.img,{alt:"img",src:s(1446).A+"",width:"1681",height:"906"}),(0,i.jsx)(n.img,{alt:"img",src:s(29947).A+"",width:"1684",height:"901"})]}),"\n",(0,i.jsx)(n.h2,{id:"4-\u89e3\u51b3\u7279\u5b9a\u73af\u5883\u95ee\u9898\u6a21\u4eff\u7528\u6237\u767b\u5f55",children:"4. \u89e3\u51b3\u7279\u5b9a\u73af\u5883\u95ee\u9898\uff1a\u6a21\u4eff\u7528\u6237\u767b\u5f55"}),"\n",(0,i.jsx)(n.p,{children:"\u4e3a\u89e3\u51b3\u53ea\u5728\u67d0\u4e2a\u7528\u6237\u4e0b\u51fa\u73b0\u7684\u9519\u8bef\uff0c\u7ba1\u7406\u5458\u53ef\u4ee5\u901a\u8fc7\u6a21\u4eff\u8be5\u7528\u6237\uff0c\u4ee5\u8be5\u7528\u6237\u7684\u8eab\u4efd\u767b\u5f55\u5230SCOW\u91cd\u73b0\u95ee\u9898\u3002"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\uff1a"}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5728",(0,i.jsx)(n.code,{children:"config/auth.yml"}),"\u6587\u4ef6\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-YAML",children:"# \u5f53\u767b\u5f55\u7528\u6237\u7684ID\u4e3afromUser1\uff0c\u5b9e\u9645\u4e0a\u4ee5toUser1\u767b\u5f55\nmockUsers:\n fromUserId1: toUserId1\n"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"IAAA\u8ba4\u8bc1\u7cfb\u7edf\uff1a"}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5728",(0,i.jsx)(n.code,{children:"config"}),"\u76ee\u5f55\u4e0b\u521b\u5efa",(0,i.jsx)(n.code,{children:"pkuauth.yaml"}),"\u6587\u4ef6\uff0c\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-YAML",children:"mockUsers: \n fromUserId1: toUserId1\n"})}),"\n",(0,i.jsx)(n.p,{children:"\u4fee\u6539\u6539\u914d\u7f6e\u6587\u4ef6\u540e\u65e0\u9700\u91cd\u542f\u8ba4\u8bc1\u7cfb\u7edf\uff0c\u53ea\u9700\u8981\u9000\u51fa\u518d\u91cd\u65b0\u767b\u5f55\u4e00\u4e0b\u5373\u53ef\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"5-\u5176\u4ed6",children:"5. \u5176\u4ed6"}),"\n",(0,i.jsx)(n.h3,{id:"51-\u7528\u6237\u4ece\u8d26\u6237\u4e2d\u79fb\u9664\u5931\u8d25",children:"5.1 \u7528\u6237\u4ece\u8d26\u6237\u4e2d\u79fb\u9664\u5931\u8d25"}),"\n",(0,i.jsx)(n.p,{children:"\u5728SCOW\u4e2d\u53ef\u80fd\u4f1a\u51fa\u73b0\u67d0\u4e2a\u7528\u6237\u4ece\u8d26\u6237\u4e2d\u79fb\u9664\u5931\u8d25(slurm\u96c6\u7fa4\u4e2d\u8be5\u7528\u6237\u5df2\u4e0e\u8be5\u8d26\u6237\u53d6\u6d88\u5173\u8054)\u3002\u8be5\u60c5\u51b5\u9700\u8981\u5728SCOW\u6570\u636e\u5e93\u4e2d\u5904\u7406\uff1a"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-PowerShell",children:'# \u8fdb\u5165SCOW\u6570\u636e\u5e93\n./cli db\nuse scow\n\n# \u901a\u8fc7\u7528\u6237\u540d\u67e5\u627e\u8be5\u7528\u6237\u7684ID\uff0c\u6ce8\u610fuser\u8868\u4e2d\u7684user_id\u662f\u6307\u7528\u6237\u540d\uff0c\u7528\u6237ID\u662f\u8868\u7684id\u5217\n select * from user where user_id="{user}";\n \n# \u901a\u8fc7\u8d26\u6237\u540d\u67e5\u627e\u8be5\u8d26\u6237\u7684ID\nselect * from account where account_name="{account}";\n\n# \u57fa\u4e8e\u67e5\u627e\u5230\u7684\u7528\u6237ID\u548c\u8d26\u6237ID\uff0c\u5728\u7528\u6237\u8d26\u6237\u5173\u7cfb\u8868\u4e2d\u3002\n# \u6ce8\u610fuser_account\u8868\u4e2d\u7684user_id\u5bf9\u5e94user\u8868\u4e2d\u7684id\uff0caccount_id\u5bf9\u5e94account\u8868\u4e2d\u7684id\nselect * from user_account where user_id={user.id} and account_id={account.id};\n\n#\u786e\u8ba4\u65e0\u8bef\u4e4b\u540e\u5220\u9664\u8be5\u8bb0\u5f55\n delete from user_account where user_id={user.id} and account_id={account.id};\n'})}),"\n",(0,i.jsxs)(n.h3,{id:"52-\u5c06\u7528\u6237\u6dfb\u52a0\u5230\u67d0\u4e2a\u8d26\u6237\u5931\u8d25",children:["5.2 ",(0,i.jsx)(n.strong,{children:"\u5c06\u7528\u6237\u6dfb\u52a0\u5230\u67d0\u4e2a\u8d26\u6237\u5931\u8d25"})]}),"\n",(0,i.jsx)(n.p,{children:"\u5728SCOW\u4e2d\u53ef\u80fd\u4f1a\u51fa\u73b0\u5c06\u4e00\u4e2a\u7528\u6237\u6dfb\u52a0\u5230\u67d0\u4e2a\u8d26\u6237\u4e2d\u5931\u8d25\u7684\u60c5\u51b5(slurm\u96c6\u7fa4\u4e2d\u5df2\u5b58\u5728\u8be5\u7528\u6237\u4e0e\u8be5\u8d26\u6237\u7684\u5173\u8054)\u3002\u8be5\u60c5\u51b5\u9700\u8981\u5728SCOW\u6570\u636e\u5e93\u4e2d\u5904\u7406\uff1a"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-PowerShell",children:'# \u8fdb\u5165SCOW\u6570\u636e\u5e93\u3001\u67e5\u627e\u7528\u6237ID\u548c\u8d26\u6237ID\u8bf7\u53c2\u80035.1\u5c0f\u8282\n./cli db\nuse scow\n\n# \u5c06\u7528\u6237\u4e0e\u8d26\u6237\u5173\u7cfb\u8bb0\u5f55\u63d2\u5165\ninsert into user_account(user_id,account_id,status,role,used_job_charge,job_charge_limit) values({user.id} , {account.id}, "UNBLOCKED", "USER", NULL, NULL); \n'})})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},31103:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/account-log-1aafb37331fec33e9606f80c476c60cb.png"},90686:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/files-071b5eeb040b4594c5f1d8b22eae08ac.png"},24878:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/history-jobs-d3996e151f178bb2d98f4c56a987ec00.png"},37279:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/job-error-b54c870c011f6b7749feb443ea1eb0dc.png"},93525:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/mis-server-log-5fb92970283c503d80cbbaecd321733d.png"},29947:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/platform-log-0d48699d344063c6b4ccb6b480ef5357.png"},35838:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/servers-log-0f2b978cd19362266f36a460f8f28a6e.png"},1446:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/tenant-log-2abc3bbaa56437431d38f0efec9b0d5a.png"},64763:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/user-log-68fc44c25c61b26a1dabe9e28141e757.png"},5409:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var i=s(48318);const c={},d=i.createContext(c);function r(e){const n=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:r(e.components),i.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9273.b048f588.js b/pr-preview/pr-1298/assets/js/9273.b048f588.js deleted file mode 100644 index 84951f120f..0000000000 --- a/pr-preview/pr-1298/assets/js/9273.b048f588.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9273],{35940:(e,t,n)=>{"use strict";n.d(t,{A:()=>L});var s=n(48318),o=n(49214);function c(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),c=t.filter((e=>e!==n)),r=n?.props.children;return{mdxAdmonitionTitle:r,rest:c.length>0?(0,o.jsx)(o.Fragment,{children:c}):null}}(e.children),c=e.title??t;return{...e,...c&&{title:c},children:n}}var r=n(46601),a=n(7866),i=n(83682);const l={admonition:"admonition_StIO",admonitionHeading:"admonitionHeading_osBM",admonitionIcon:"admonitionIcon_Hdfn",admonitionContent:"admonitionContent_lxAI"};function d(e){let{type:t,className:n,children:s}=e;return(0,o.jsx)("div",{className:(0,r.A)(i.G.common.admonition,i.G.common.admonitionType(t),l.admonition,n),children:s})}function u(e){let{icon:t,title:n}=e;return(0,o.jsxs)("div",{className:l.admonitionHeading,children:[(0,o.jsx)("span",{className:l.admonitionIcon,children:t}),n]})}function m(e){let{children:t}=e;return t?(0,o.jsx)("div",{className:l.admonitionContent,children:t}):null}function h(e){const{type:t,icon:n,title:s,children:c,className:r}=e;return(0,o.jsxs)(d,{type:t,className:r,children:[(0,o.jsx)(u,{title:s,icon:n}),(0,o.jsx)(m,{children:c})]})}function p(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const f={icon:(0,o.jsx)(p,{}),title:(0,o.jsx)(a.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function x(e){return(0,o.jsx)(h,{...f,...e,className:(0,r.A)("alert alert--secondary",e.className),children:e.children})}function g(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const b={icon:(0,o.jsx)(g,{}),title:(0,o.jsx)(a.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function j(e){return(0,o.jsx)(h,{...b,...e,className:(0,r.A)("alert alert--success",e.className),children:e.children})}function v(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const N={icon:(0,o.jsx)(v,{}),title:(0,o.jsx)(a.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function y(e){return(0,o.jsx)(h,{...N,...e,className:(0,r.A)("alert alert--info",e.className),children:e.children})}function k(e){return(0,o.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const B={icon:(0,o.jsx)(k,{}),title:(0,o.jsx)(a.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function C(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const w={icon:(0,o.jsx)(C,{}),title:(0,o.jsx)(a.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const A={icon:(0,o.jsx)(k,{}),title:(0,o.jsx)(a.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const E={...{note:x,tip:j,info:y,warning:function(e){return(0,o.jsx)(h,{...B,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,o.jsx)(h,{...w,...e,className:(0,r.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,o.jsx)(x,{title:"secondary",...e}),important:e=>(0,o.jsx)(y,{title:"important",...e}),success:e=>(0,o.jsx)(j,{title:"success",...e}),caution:function(e){return(0,o.jsx)(h,{...A,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})}}};function L(e){const t=c(e),n=(s=t.type,E[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),E.info));var s;return(0,o.jsx)(n,{...t})}},19273:(e,t,n)=>{"use strict";n.d(t,{A:()=>ae});var s=n(48318),o=n(5409),c=n(39527),r=n(12144),a=n(46601),i=n(36650),l=n(12449);function d(){const{prism:e}=(0,l.p)(),{colorMode:t}=(0,i.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(83682),m=n(61357),h=n.n(m);const p=/title=(?["'])(?.*?)\1/,f=/\{(?<range>[\d,-]+)\}/,x={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},g={...x,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},b=Object.keys(x);function j(e,t){const n=e.map((e=>{const{start:n,end:s}=g[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:o,metastring:c}=t;if(c&&f.test(c)){const e=c.match(f).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${c}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const r=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return j(["js","jsBlock"],t);case"jsx":case"tsx":return j(["js","jsBlock","jsx"],t);case"html":return j(["js","jsBlock","html"],t);case"python":case"py":case"bash":return j(["bash"],t);case"markdown":case"md":return j(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return j(["tex"],t);case"lua":case"haskell":case"sql":return j(["lua"],t);case"wasm":return j(["wasm"],t);case"vb":case"vba":case"visual-basic":return j(["vb","rem"],t);case"vbnet":return j(["vbnet","rem"],t);case"batch":return j(["rem"],t);case"basic":return j(["rem","f90"],t);case"fsharp":return j(["js","ml"],t);case"ocaml":case"sml":return j(["ml"],t);case"fortran":return j(["f90"],t);case"cobol":return j(["cobol"],t);default:return j(b,t)}}(s,o),a=n.split("\n"),i=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<a.length;){const e=a[h].match(r);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?i[l[t]].range+=`${h},`:d[t]?i[d[t]].start=h:u[t]&&(i[u[t]].range+=`${i[u[t]].start}-${h-1},`),a.splice(h,1)}n=a.join("\n");const m={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const N={codeBlockContainer:"codeBlockContainer_mBXq"};var y=n(49214);function k(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,o]=e;const c=t[s];c&&"string"==typeof o&&(n[c]=o)})),n}(d());return(0,y.jsx)(t,{...n,style:s,className:(0,a.A)(n.className,N.codeBlockContainer,u.G.common.codeBlock)})}const B={codeBlockContent:"codeBlockContent_MrE0",codeBlockTitle:"codeBlockTitle_NJat",codeBlock:"codeBlock_L0Z9",codeBlockStandalone:"codeBlockStandalone_QHsy",codeBlockLines:"codeBlockLines_Dw7K",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_Pb5B",buttonGroup:"buttonGroup__juc"};function C(e){let{children:t,className:n}=e;return(0,y.jsx)(k,{as:"pre",tabIndex:0,className:(0,a.A)(B.codeBlockStandalone,"thin-scrollbar",n),children:(0,y.jsx)("code",{className:B.codeBlockLines,children:t})})}var w=n(84091);const A={attributes:!0,characterData:!0,childList:!0,subtree:!0};function E(e,t){const[n,o]=(0,s.useState)(),c=(0,s.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,s.useEffect)((()=>{c()}),[c]),function(e,t,n){void 0===n&&(n=A);const o=(0,w._q)(t),c=(0,w.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,c),()=>t.disconnect()}),[e,o,c])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),c())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var L=n(79095);const T={codeLine:"codeLine_uNlT",codeLineNumber:"codeLineNumber_hdOv",codeLineContent:"codeLineContent_BbH7"};function _(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:o,getTokenProps:c}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const r=o({line:t,className:(0,a.A)(n,s&&T.codeLine)}),i=t.map(((e,t)=>(0,y.jsx)("span",{...c({token:e,key:t})},t)));return(0,y.jsxs)("span",{...r,children:[s?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("span",{className:T.codeLineNumber}),(0,y.jsx)("span",{className:T.codeLineContent,children:i})]}):i,(0,y.jsx)("br",{})]})}var S=n(7866);function M(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function H(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const I={copyButtonCopied:"copyButtonCopied_diEf",copyButtonIcons:"copyButtonIcons_T8h3",copyButtonIcon:"copyButtonIcon_ccQ4",copyButtonSuccessIcon:"copyButtonSuccessIcon_TNjr"};function z(e){let{code:t,className:n}=e;const[o,c]=(0,s.useState)(!1),r=(0,s.useRef)(void 0),i=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),o=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const c=document.getSelection(),r=c.rangeCount>0&&c.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let a=!1;try{a=document.execCommand("copy")}catch{}s.remove(),r&&(c.removeAllRanges(),c.addRange(r)),o&&o.focus()}(t),c(!0),r.current=window.setTimeout((()=>{c(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(r.current)),[]),(0,y.jsx)("button",{type:"button","aria-label":o?(0,S.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,S.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,S.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.A)("clean-btn",n,I.copyButton,o&&I.copyButtonCopied),onClick:i,children:(0,y.jsxs)("span",{className:I.copyButtonIcons,"aria-hidden":"true",children:[(0,y.jsx)(M,{className:I.copyButtonIcon}),(0,y.jsx)(H,{className:I.copyButtonSuccessIcon})]})})}function R(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const $={wordWrapButtonIcon:"wordWrapButtonIcon_SK6d",wordWrapButtonEnabled:"wordWrapButtonEnabled_EGIi"};function W(e){let{className:t,onClick:n,isEnabled:s}=e;const o=(0,S.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,y.jsx)("button",{type:"button",onClick:n,className:(0,a.A)("clean-btn",t,s&&$.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,y.jsx)(R,{className:$.wordWrapButtonIcon,"aria-hidden":"true"})})}function V(e){let{children:t,className:n="",metastring:o,title:c,showLineNumbers:r,language:i}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.p)(),h=function(e){return e?.toLowerCase()}(i??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??u),f=d(),x=function(){const[e,t]=(0,s.useState)(!1),[n,o]=(0,s.useState)(!1),c=(0,s.useRef)(null),r=(0,s.useCallback)((()=>{const n=c.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[c,e]),a=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=c.current,n=e>t||c.current.querySelector("code").hasAttribute("style");o(n)}),[c]);return E(c,a),(0,s.useEffect)((()=>{a()}),[e,a]),(0,s.useEffect)((()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)})),[a]),{codeBlockRef:c,isEnabled:e,isCodeScrollable:n,toggle:r}}(),g=function(e){return e?.match(p)?.groups.title??""}(o)||c,{lineClassNames:b,code:j}=v(t,{metastring:o,language:h,magicComments:m}),N=r??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return(0,y.jsxs)(k,{as:"div",className:(0,a.A)(n,h&&!n.includes(`language-${h}`)&&`language-${h}`),children:[g&&(0,y.jsx)("div",{className:B.codeBlockTitle,children:g}),(0,y.jsxs)("div",{className:B.codeBlockContent,children:[(0,y.jsx)(L.f4,{theme:f,code:j,language:h??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:o,getTokenProps:c}=e;return(0,y.jsx)("pre",{tabIndex:0,ref:x.codeBlockRef,className:(0,a.A)(t,B.codeBlock,"thin-scrollbar"),style:n,children:(0,y.jsx)("code",{className:(0,a.A)(B.codeBlockLines,N&&B.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,y.jsx)(_,{line:e,getLineProps:o,getTokenProps:c,classNames:b[t],showLineNumbers:N},t)))})})}}),(0,y.jsxs)("div",{className:B.buttonGroup,children:[(x.isEnabled||x.isCodeScrollable)&&(0,y.jsx)(W,{className:B.codeButton,onClick:()=>x.toggle(),isEnabled:x.isEnabled}),(0,y.jsx)(z,{className:B.codeButton,code:j})]})]})]})}function D(e){let{children:t,...n}=e;const o=(0,r.A)(),c=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),a="string"==typeof c?V:C;return(0,y.jsx)(a,{...n,children:c},String(o))}function O(e){return(0,y.jsx)("code",{...e})}var P=n(33985);var G=n(51035),q=n(65937);const F={details:"details_iBre",isBrowser:"isBrowser_fo7J",collapsibleContent:"collapsibleContent_y6MQ"};function Z(e){return!!e&&("SUMMARY"===e.tagName||Z(e.parentElement))}function Q(e,t){return!!e&&(e===t||Q(e.parentElement,t))}function J(e){let{summary:t,children:n,...o}=e;(0,G.A)().collectAnchor(o.id);const c=(0,r.A)(),i=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,q.u)({initialState:!o.open}),[u,m]=(0,s.useState)(o.open),h=s.isValidElement(t)?t:(0,y.jsx)("summary",{children:t??"Details"});return(0,y.jsxs)("details",{...o,ref:i,open:u,"data-collapsed":l,className:(0,a.A)(F.details,c&&F.isBrowser,o.className),onMouseDown:e=>{Z(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Z(t)&&Q(t,i.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,y.jsx)(q.N,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,y.jsx)("div",{className:F.collapsibleContent,children:n})})]})}const K={details:"details_dDbS"},U="alert alert--info";function X(e){let{...t}=e;return(0,y.jsx)(J,{...t,className:(0,a.A)(U,K.details,t.className)})}function Y(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),o=(0,y.jsx)(y.Fragment,{children:t.filter((e=>e!==n))});return(0,y.jsx)(X,{...e,summary:n,children:o})}var ee=n(31773);function te(e){return(0,y.jsx)(ee.A,{...e})}const ne={containsTaskList:"containsTaskList_ZZRN"};function se(e){if(void 0!==e)return(0,a.A)(e,e?.includes("contains-task-list")&&ne.containsTaskList)}const oe={img:"img_vHTP"};var ce=n(35940);const re={Head:c.A,details:Y,Details:Y,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,y.jsx)(O,{...e}):(0,y.jsx)(D,{...e})},a:function(e){return(0,y.jsx)(P.A,{...e})},pre:function(e){return(0,y.jsx)(y.Fragment,{children:e.children})},ul:function(e){return(0,y.jsx)("ul",{...e,className:se(e.className)})},li:function(e){return(0,G.A)().collectAnchor(e.id),(0,y.jsx)("li",{...e})},img:function(e){return(0,y.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,a.A)(t,oe.img))});var t},h1:e=>(0,y.jsx)(te,{as:"h1",...e}),h2:e=>(0,y.jsx)(te,{as:"h2",...e}),h3:e=>(0,y.jsx)(te,{as:"h3",...e}),h4:e=>(0,y.jsx)(te,{as:"h4",...e}),h5:e=>(0,y.jsx)(te,{as:"h5",...e}),h6:e=>(0,y.jsx)(te,{as:"h6",...e}),admonition:ce.A,mermaid:()=>null};function ae(e){let{children:t}=e;return(0,y.jsx)(o.x,{components:re,children:t})}},61357:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,o,c]=t;if(s&&c){s=parseInt(s),c=parseInt(c);const e=s<c?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(c+=e);for(let t=s;t!==c;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},5409:(e,t,n)=>{"use strict";n.d(t,{R:()=>r,x:()=>a});var s=n(48318);const o={},c=s.createContext(o);function r(e){const t=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/935f2afb.eb372f4f.js b/pr-preview/pr-1298/assets/js/935f2afb.eb372f4f.js deleted file mode 100644 index 93752fe1e3..0000000000 --- a/pr-preview/pr-1298/assets/js/935f2afb.eb372f4f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8581],{35610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"info":[{"type":"link","label":"\u5e73\u53f0\u7b80\u4ecb","href":"/SCOW/pr-preview/pr-1298/docs/info/","docId":"info/index","unlisted":false},{"type":"category","label":"\u95e8\u6237\u7cfb\u7edf","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u4ea4\u4e92\u5f0f\u5e94\u7528","href":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","docId":"info/portal/app","unlisted":false},{"type":"link","label":"\u4f5c\u4e1a","href":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","docId":"info/portal/job","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/info/portal/"},{"type":"category","label":"\u7ba1\u7406\u7cfb\u7edf","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"\u4e1a\u52a1\u6a21\u578b","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u7528\u6237\u6a21\u578b","href":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","docId":"info/mis/business/users","unlisted":false},{"type":"link","label":"\u8ba1\u8d39\u6536\u8d39","href":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","docId":"info/mis/business/billing","unlisted":false}]}],"href":"/SCOW/pr-preview/pr-1298/docs/info/mis/"},{"type":"link","label":"AI \u7cfb\u7edf\uff08beta\uff09","href":"/SCOW/pr-preview/pr-1298/docs/info/ai/","docId":"info/ai/index","unlisted":false}],"deploy":[{"type":"link","label":"\u5b89\u88c5\u548c\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/deploy/","docId":"deploy/index","unlisted":false},{"type":"link","label":"\u67b6\u6784","href":"/SCOW/pr-preview/pr-1298/docs/deploy/architecture/","docId":"deploy/architecture/index","unlisted":false},{"type":"category","label":"\u5feb\u901f\u4f53\u9a8c","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"vagrant","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u4f7f\u7528","href":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/","docId":"deploy/get-started/vagrant/index","unlisted":false},{"type":"link","label":"vagrant\u73af\u5883\u642d\u5efa","href":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","docId":"deploy/get-started/vagrant/vagrant-env","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u90e8\u7f72","href":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","docId":"deploy/get-started/vagrant/customization","unlisted":false},{"type":"link","label":"vagrant\u955c\u50cf\u5236\u4f5c","href":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","docId":"deploy/get-started/vagrant/images","unlisted":false},{"type":"link","label":"FAQ","href":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq","docId":"deploy/get-started/vagrant/faq","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/vagrant"}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c"},{"type":"category","label":"\u5b89\u88c5","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u5b89\u88c5","href":"/SCOW/pr-preview/pr-1298/docs/deploy/install/","docId":"deploy/install/index","unlisted":false},{"type":"link","label":"scow-cli","href":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","docId":"deploy/install/scow-cli","unlisted":false},{"type":"link","label":"\u4ece\u6e90\u7801\u6784\u5efa","href":"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source","docId":"deploy/install/build-from-source","unlisted":false},{"type":"link","label":"\u591a\u67b6\u6784\u652f\u6301","href":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","docId":"deploy/install/multi-platform","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5"},{"type":"category","label":"\u914d\u7f6e","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u914d\u7f6e\u7b80\u4ecb","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/","docId":"deploy/config/index","unlisted":false},{"type":"link","label":"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","docId":"deploy/config/cluster-config","unlisted":false},{"type":"category","label":"\u8ba4\u8bc1","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u7b80\u4ecb","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","docId":"deploy/config/auth/intro","unlisted":false},{"type":"link","label":"SSH","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","docId":"deploy/config/auth/ssh","unlisted":false},{"type":"link","label":"LDAP","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","docId":"deploy/config/auth/ldap","unlisted":false},{"type":"link","label":"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","docId":"deploy/config/auth/config","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1"},{"type":"category","label":"\u95e8\u6237\u7cfb\u7edf","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","docId":"deploy/config/portal/intro","unlisted":false},{"type":"category","label":"\u4ea4\u4e92\u5f0f\u4efb\u52a1","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro","docId":"deploy/config/portal/apps/intro","unlisted":false},{"type":"link","label":"\u914d\u7f6eWeb\u7c7b\u5e94\u7528","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","docId":"deploy/config/portal/apps/configure-web-app","unlisted":false},{"type":"link","label":"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","docId":"deploy/config/portal/apps/configure-vnc-app","unlisted":false},{"type":"category","label":"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Baltamatica","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica/","docId":"deploy/config/portal/apps/apps/baltamatica/index","unlisted":false},{"type":"link","label":"Desktop","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop/","docId":"deploy/config/portal/apps/apps/desktop/index","unlisted":false},{"type":"link","label":"Emacs","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs/","docId":"deploy/config/portal/apps/apps/emacs/index","unlisted":false},{"type":"link","label":"IGV","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv/","docId":"deploy/config/portal/apps/apps/igv/index","unlisted":false},{"type":"link","label":"Jupyter","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/","docId":"deploy/config/portal/apps/apps/jupyter/index","unlisted":false},{"type":"link","label":"JupyterLab","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab/","docId":"deploy/config/portal/apps/apps/jupyterlab/index","unlisted":false},{"type":"link","label":"Matlab","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab/","docId":"deploy/config/portal/apps/apps/matlab/index","unlisted":false},{"type":"link","label":"Octave","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave/","docId":"deploy/config/portal/apps/apps/octave/index","unlisted":false},{"type":"link","label":"Relion","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion/","docId":"deploy/config/portal/apps/apps/relion/index","unlisted":false},{"type":"link","label":"RStudio","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio/","docId":"deploy/config/portal/apps/apps/rstudio/index","unlisted":false},{"type":"link","label":"VSCode","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode/","docId":"deploy/config/portal/apps/apps/vscode/index","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b"},{"type":"link","label":"\u914d\u7f6eHTML\u8868\u5355","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","docId":"deploy/config/portal/apps/configure-attributes","unlisted":false},{"type":"link","label":"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","docId":"deploy/config/portal/apps/configure-cluster-apps","unlisted":false},{"type":"link","label":"\u914d\u7f6e\u5e94\u7528\u56fe\u6807","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","docId":"deploy/config/portal/apps/configure-app-logo","unlisted":false},{"type":"link","label":"\u914d\u7f6e\u8bf4\u660e\u6587\u5b57","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","docId":"deploy/config/portal/apps/configure-app-comment","unlisted":false}]},{"type":"link","label":"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","docId":"deploy/config/portal/desktop","unlisted":false},{"type":"link","label":"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","docId":"deploy/config/portal/transfer-cross-clusters","unlisted":false},{"type":"link","label":"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","docId":"deploy/config/portal/shell","unlisted":false},{"type":"category","label":"\u81ea\u5b9a\u4e49","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","docId":"deploy/config/portal/customization/dashboard","unlisted":false}]},{"type":"link","label":"\u4ee3\u7406\u7f51\u5173\u8282\u70b9","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway/","docId":"deploy/config/portal/proxy-gateway/index","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf"},{"type":"category","label":"\u7ba1\u7406\u7cfb\u7edf","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","docId":"deploy/config/mis/intro","unlisted":false},{"type":"link","label":"\u521b\u5efa\u7528\u6237\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user/","docId":"deploy/config/mis/create-user/index","unlisted":false},{"type":"category","label":"\u8c03\u5ea6\u5668","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"slurm","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","docId":"deploy/config/mis/schedulers/slurm","unlisted":false},{"type":"link","label":"\u540c\u6b65\u5c01\u9501\u72b6\u6001","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync","docId":"deploy/config/mis/schedulers/sync","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668"},{"type":"link","label":"\u7cfb\u7edf\u521d\u59cb\u5316","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init/","docId":"deploy/config/mis/init/index","unlisted":false},{"type":"link","label":"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor/","docId":"deploy/config/mis/cluster-monitor/index","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf"},{"type":"category","label":"AI \u7cfb\u7edf\uff08beta\uff09","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","docId":"deploy/config/ai/intro","unlisted":false},{"type":"category","label":"\u4ea4\u4e92\u5f0f\u4efb\u52a1 (beta)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro","docId":"deploy/config/ai/apps/intro","unlisted":false},{"type":"link","label":"\u914d\u7f6eWeb\u7c7b\u5e94\u7528","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","docId":"deploy/config/ai/apps/configure-web-app","unlisted":false},{"type":"link","label":"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","docId":"deploy/config/ai/apps/configure-vnc-app","unlisted":false},{"type":"category","label":"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"JupyterLab","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab/","docId":"deploy/config/ai/apps/apps/jupyterlab/index","unlisted":false},{"type":"link","label":"VSCode","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode/","docId":"deploy/config/ai/apps/apps/vscode/index","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1"}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta"}],"href":"/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta"},{"type":"category","label":"\u5ba1\u8ba1\u7cfb\u7edf","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","docId":"deploy/config/audit/intro","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","docId":"deploy/config/audit/customEvent","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf"},{"type":"category","label":"CLI","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u63d2\u4ef6","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins/","docId":"deploy/config/cli/plugins/index","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/cli"},{"type":"category","label":"\u7f51\u5173","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config/","docId":"deploy/config/gateway/config/index","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173"},{"type":"category","label":"\u81ea\u5b9a\u4e49","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u76f8\u5bf9\u8def\u5f84","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","docId":"deploy/config/customization/basepath","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u524d\u7aef\u9879\u76ee\u4e3b\u9898","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","docId":"deploy/config/customization/webui","unlisted":false},{"type":"link","label":"\u516c\u5171\u6587\u4ef6","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files","docId":"deploy/config/customization/public-files","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","docId":"deploy/config/customization/custom-navlinks","unlisted":false},{"type":"link","label":"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","docId":"deploy/config/customization/custom-amount-strategies","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","docId":"deploy/config/customization/custom-userlinks","unlisted":false},{"type":"link","label":"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern","docId":"deploy/config/customization/password-pattern","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types","docId":"deploy/config/customization/custom-charge-types","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","docId":"deploy/config/customization/custom-job-charge-metadata","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","docId":"deploy/config/customization/custom-config-i18n","unlisted":false},{"type":"link","label":"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00","href":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","docId":"deploy/config/customization/custom-system-language","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49"},{"type":"category","label":"\u591a\u96c6\u7fa4\u7ba1\u7406","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u591a\u96c6\u7fa4\u7ba1\u7406","href":"/SCOW/pr-preview/pr-1298/docs/multi_cluster","docId":"deploy/config/multi-cluster/index","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406"}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e"},{"type":"category","label":"\u8fd0\u7ef4","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u8fd0\u7ef4","href":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/","docId":"deploy/ops/index","unlisted":false},{"type":"link","label":"SCOW\u7ba1\u7406\u5458\u4f7f\u7528\u6280\u5de7","href":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","docId":"deploy/ops/admin-usage-tips","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4"}],"integration":[{"type":"link","label":"\u4e0eSCOW\u96c6\u6210","href":"/SCOW/pr-preview/pr-1298/docs/integration/","docId":"integration/index","unlisted":false},{"type":"category","label":"\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf","href":"/SCOW/pr-preview/pr-1298/docs/integration/auth/use","docId":"integration/auth/use","unlisted":false},{"type":"link","label":"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf","href":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","docId":"integration/auth/impl","unlisted":false}]},{"type":"category","label":"SCOW API\u548cHook","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"SCOW API","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API","href":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","docId":"integration/scow-api-hook/api/statistic","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/"},{"type":"link","label":"SCOW Protobuf\u6587\u4ef6","href":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","docId":"integration/scow-api-hook/proto","unlisted":false},{"type":"link","label":"SCOW Hook","href":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","docId":"integration/scow-api-hook/hook","unlisted":false},{"type":"category","label":"\u4f7f\u7528\u793a\u4f8b","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Go","href":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","docId":"integration/scow-api-hook/examples/go","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b"}],"href":"/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook"},{"type":"category","label":"UI\u6269\u5c55","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"UI\u6269\u5c55 (Beta)","href":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/","docId":"integration/ui-extension/ui-extension","unlisted":false},{"type":"link","label":"\u5f00\u53d1UI\u6269\u5c55","href":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","docId":"integration/ui-extension/develop","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55"}],"hpccluster":[{"type":"link","label":"slurm\u90e8\u7f72\u7b80\u4ecb","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/","docId":"hpccluster/index","unlisted":false},{"type":"link","label":"\u96c6\u7fa4\u89c4\u5212","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan","docId":"hpccluster/plan","unlisted":false},{"type":"link","label":"\u57fa\u7840\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/basic-config","docId":"hpccluster/basic-config","unlisted":false},{"type":"link","label":"NFS\u5b89\u88c5\u548c\u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","docId":"hpccluster/nfs","unlisted":false},{"type":"category","label":"\u914d\u7f6e\u6587\u4ef6","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"slurm.conf \u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf","docId":"hpccluster/config/slurm.conf","unlisted":false},{"type":"link","label":"slurmdbd.conf \u914d\u7f6e","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf","docId":"hpccluster/config/slurmdbd.conf","unlisted":false}]},{"type":"link","label":"slurm\u96c6\u7fa4\u90e8\u7f72","href":"/SCOW/pr-preview/pr-1298/docs/slurm","docId":"hpccluster/slurm","unlisted":false},{"type":"link","label":"\u6570\u636e\u76d8\u6302\u8f7d","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk","docId":"hpccluster/mount-disk","unlisted":false},{"type":"link","label":"LDAP\u65b0\u5efa\u7528\u6237","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","docId":"hpccluster/add-user","unlisted":false},{"type":"link","label":"module\u5b89\u88c5","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","docId":"hpccluster/module","unlisted":false},{"type":"link","label":"intel\u7f16\u8bd1\u5668\u5b89\u88c5","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","docId":"hpccluster/intel","unlisted":false},{"type":"link","label":"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7","href":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor/","docId":"hpccluster/cluster-monitor/index","unlisted":false}],"contribution":[{"type":"link","label":"\u8d21\u732e\u6307\u5357","href":"/SCOW/pr-preview/pr-1298/docs/contribution/","docId":"contribution/index","unlisted":false},{"type":"link","label":"\u5f00\u53d1","href":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","docId":"contribution/dev","unlisted":false}],"refs":[{"type":"link","label":"\u7b80\u4ecb","href":"/SCOW/pr-preview/pr-1298/docs/refs/","docId":"refs/index","unlisted":false},{"type":"category","label":"\u914d\u7f6e\u6587\u4ef6","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"app","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"definition-properties-name","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name","docId":"refs/config/app/definition-properties-name","unlisted":false},{"type":"link","label":"definition-properties-nodes-items","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items","docId":"refs/config/app/definition-properties-nodes-items","unlisted":false},{"type":"link","label":"definition-properties-nodes","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes","docId":"refs/config/app/definition-properties-nodes","unlisted":false},{"type":"link","label":"definition-properties-type-anyof-0","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0","docId":"refs/config/app/definition-properties-type-anyof-0","unlisted":false},{"type":"link","label":"definition-properties-type-anyof-1","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1","docId":"refs/config/app/definition-properties-type-anyof-1","unlisted":false},{"type":"link","label":"definition-properties-type","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type","docId":"refs/config/app/definition-properties-type","unlisted":false},{"type":"link","label":"definition-properties-vnc-properties-xstartup","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup","docId":"refs/config/app/definition-properties-vnc-properties-xstartup","unlisted":false},{"type":"link","label":"definition-properties-vnc","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","docId":"refs/config/app/definition-properties-vnc","unlisted":false},{"type":"link","label":"definition-properties-web-properties-beforescript","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript","docId":"refs/config/app/definition-properties-web-properties-beforescript","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-formdata-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","docId":"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-formdata-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","docId":"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-formdata","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","docId":"refs/config/app/definition-properties-web-properties-connect-properties-formdata","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-method-anyof-0","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","docId":"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-method-anyof-1","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","docId":"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-method","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","docId":"refs/config/app/definition-properties-web-properties-connect-properties-method","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-path","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","docId":"refs/config/app/definition-properties-web-properties-connect-properties-path","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-query-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","docId":"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-query-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","docId":"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect-properties-query","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","docId":"refs/config/app/definition-properties-web-properties-connect-properties-query","unlisted":false},{"type":"link","label":"definition-properties-web-properties-connect","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","docId":"refs/config/app/definition-properties-web-properties-connect","unlisted":false},{"type":"link","label":"definition-properties-web-properties-script","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script","docId":"refs/config/app/definition-properties-web-properties-script","unlisted":false},{"type":"link","label":"definition-properties-web","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","docId":"refs/config/app/definition-properties-web","unlisted":false},{"type":"link","label":"definition","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","docId":"refs/config/app/definition","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/"},{"type":"category","label":"cluster","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"definition-properties-displayname","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname","docId":"refs/config/cluster/definition-properties-displayname","unlisted":false},{"type":"link","label":"definition-properties-misignore","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore","docId":"refs/config/cluster/definition-properties-misignore","unlisted":false},{"type":"link","label":"definition-properties-scheduler-anyof-0","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","docId":"refs/config/cluster/definition-properties-scheduler-anyof-0","unlisted":false},{"type":"link","label":"definition-properties-scheduler","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler","docId":"refs/config/cluster/definition-properties-scheduler","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-computenodes-items","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","docId":"refs/config/cluster/definition-properties-slurm-properties-computenodes-items","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-computenodes","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","docId":"refs/config/cluster/definition-properties-slurm-properties-computenodes","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-loginnodes-items","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","docId":"refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-loginnodes","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","docId":"refs/config/cluster/definition-properties-slurm-properties-loginnodes","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-mis-properties-associationtablename","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","docId":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-mis-properties-dbpassword","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","docId":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-mis-properties-managerurl","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","docId":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-mis-properties-scriptpath","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","docId":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-mis","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","docId":"refs/config/cluster/definition-properties-slurm-properties-mis","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties--properties-comment","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties--properties-cores","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties--properties-mem","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","unlisted":false},{"type":"link","label":"definition-properties-slurm-properties-partitions","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","docId":"refs/config/cluster/definition-properties-slurm-properties-partitions","unlisted":false},{"type":"link","label":"definition-properties-slurm","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","docId":"refs/config/cluster/definition-properties-slurm","unlisted":false},{"type":"link","label":"definition","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","docId":"refs/config/cluster/definition","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/"},{"type":"category","label":"clusterTexts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"definition-patternproperties--properties-clustercomment","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","docId":"refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","unlisted":false},{"type":"link","label":"definition-patternproperties--properties-extras-items-properties-content","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","docId":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","unlisted":false},{"type":"link","label":"definition-patternproperties--properties-extras-items-properties-title","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","docId":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","unlisted":false},{"type":"link","label":"definition-patternproperties--properties-extras-items","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","docId":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items","unlisted":false},{"type":"link","label":"definition-patternproperties--properties-extras","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","docId":"refs/config/clusterTexts/definition-patternproperties--properties-extras","unlisted":false},{"type":"link","label":"definition-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","docId":"refs/config/clusterTexts/definition-patternproperties-","unlisted":false},{"type":"link","label":"definition-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties","docId":"refs/config/clusterTexts/definition-patternproperties","unlisted":false},{"type":"link","label":"definition","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","docId":"refs/config/clusterTexts/definition","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/"},{"type":"category","label":"mis","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"definition-properties-accountnamepattern-properties-errormessage","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","docId":"refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","unlisted":false},{"type":"link","label":"definition-properties-accountnamepattern-properties-regex","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","docId":"refs/config/mis/definition-properties-accountnamepattern-properties-regex","unlisted":false},{"type":"link","label":"definition-properties-accountnamepattern","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","docId":"refs/config/mis/definition-properties-accountnamepattern","unlisted":false},{"type":"link","label":"definition-properties-authurl","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl","docId":"refs/config/mis/definition-properties-authurl","unlisted":false},{"type":"link","label":"definition-properties-changejobpricetype","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype","docId":"refs/config/mis/definition-properties-changejobpricetype","unlisted":false},{"type":"link","label":"definition-properties-db-properties-dbname","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname","docId":"refs/config/mis/definition-properties-db-properties-dbname","unlisted":false},{"type":"link","label":"definition-properties-db-properties-debug","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug","docId":"refs/config/mis/definition-properties-db-properties-debug","unlisted":false},{"type":"link","label":"definition-properties-db-properties-host","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host","docId":"refs/config/mis/definition-properties-db-properties-host","unlisted":false},{"type":"link","label":"definition-properties-db-properties-password","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password","docId":"refs/config/mis/definition-properties-db-properties-password","unlisted":false},{"type":"link","label":"definition-properties-db-properties-port","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port","docId":"refs/config/mis/definition-properties-db-properties-port","unlisted":false},{"type":"link","label":"definition-properties-db-properties-user","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user","docId":"refs/config/mis/definition-properties-db-properties-user","unlisted":false},{"type":"link","label":"definition-properties-db","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","docId":"refs/config/mis/definition-properties-db","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-batchsize","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","docId":"refs/config/mis/definition-properties-fetchjobs-properties-batchsize","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-db-properties-dbname","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","docId":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-db-properties-host","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","docId":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-db-properties-password","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","docId":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-db-properties-port","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","docId":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-db-properties-tablename","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","docId":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-db-properties-user","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","docId":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-db","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","docId":"refs/config/mis/definition-properties-fetchjobs-properties-db","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-periodicfetch-default","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","docId":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-periodicfetch-properties-cron","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","docId":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","docId":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-periodicfetch","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","docId":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs-properties-startindex","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","docId":"refs/config/mis/definition-properties-fetchjobs-properties-startindex","unlisted":false},{"type":"link","label":"definition-properties-fetchjobs","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","docId":"refs/config/mis/definition-properties-fetchjobs","unlisted":false},{"type":"link","label":"definition-properties-jobchargecomment","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment","docId":"refs/config/mis/definition-properties-jobchargecomment","unlisted":false},{"type":"link","label":"definition-properties-jobchargetype","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype","docId":"refs/config/mis/definition-properties-jobchargetype","unlisted":false},{"type":"link","label":"definition-properties-portalurl","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl","docId":"refs/config/mis/definition-properties-portalurl","unlisted":false},{"type":"link","label":"definition-properties-predefinedchargingtypes-items","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","docId":"refs/config/mis/definition-properties-predefinedchargingtypes-items","unlisted":false},{"type":"link","label":"definition-properties-predefinedchargingtypes","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes","docId":"refs/config/mis/definition-properties-predefinedchargingtypes","unlisted":false},{"type":"link","label":"definition","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","docId":"refs/config/mis/definition","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/"},{"type":"category","label":"portal","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"definition-properties-appjobsdir","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir","docId":"refs/config/portal/definition-properties-appjobsdir","unlisted":false},{"type":"link","label":"definition-properties-apps","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps","docId":"refs/config/portal/definition-properties-apps","unlisted":false},{"type":"link","label":"definition-properties-hometext-properties-defaulttext","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","docId":"refs/config/portal/definition-properties-hometext-properties-defaulttext","unlisted":false},{"type":"link","label":"definition-properties-hometext-properties-hostnamemap-default","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","docId":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","unlisted":false},{"type":"link","label":"definition-properties-hometext-properties-hostnamemap-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","docId":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","unlisted":false},{"type":"link","label":"definition-properties-hometext-properties-hostnamemap-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","docId":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","unlisted":false},{"type":"link","label":"definition-properties-hometext-properties-hostnamemap","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","docId":"refs/config/portal/definition-properties-hometext-properties-hostnamemap","unlisted":false},{"type":"link","label":"definition-properties-hometext","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","docId":"refs/config/portal/definition-properties-hometext","unlisted":false},{"type":"link","label":"definition-properties-hometitle-properties-defaulttext","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","docId":"refs/config/portal/definition-properties-hometitle-properties-defaulttext","unlisted":false},{"type":"link","label":"definition-properties-hometitle-properties-hostnamemap-default","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","docId":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","unlisted":false},{"type":"link","label":"definition-properties-hometitle-properties-hostnamemap-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","docId":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","unlisted":false},{"type":"link","label":"definition-properties-hometitle-properties-hostnamemap-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","docId":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","unlisted":false},{"type":"link","label":"definition-properties-hometitle-properties-hostnamemap","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","docId":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap","unlisted":false},{"type":"link","label":"definition-properties-hometitle","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","docId":"refs/config/portal/definition-properties-hometitle","unlisted":false},{"type":"link","label":"definition-properties-jobmanagement","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement","docId":"refs/config/portal/definition-properties-jobmanagement","unlisted":false},{"type":"link","label":"definition-properties-logindesktop-properties-enabled","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","docId":"refs/config/portal/definition-properties-logindesktop-properties-enabled","unlisted":false},{"type":"link","label":"definition-properties-logindesktop-properties-maxdesktops","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","docId":"refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","unlisted":false},{"type":"link","label":"definition-properties-logindesktop-properties-wms-default-0","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","docId":"refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","unlisted":false},{"type":"link","label":"definition-properties-logindesktop-properties-wms-items-properties-name","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","docId":"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","unlisted":false},{"type":"link","label":"definition-properties-logindesktop-properties-wms-items-properties-wm","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","docId":"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","unlisted":false},{"type":"link","label":"definition-properties-logindesktop-properties-wms-items","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","docId":"refs/config/portal/definition-properties-logindesktop-properties-wms-items","unlisted":false},{"type":"link","label":"definition-properties-logindesktop-properties-wms","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","docId":"refs/config/portal/definition-properties-logindesktop-properties-wms","unlisted":false},{"type":"link","label":"definition-properties-logindesktop","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","docId":"refs/config/portal/definition-properties-logindesktop","unlisted":false},{"type":"link","label":"definition-properties-misurl","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl","docId":"refs/config/portal/definition-properties-misurl","unlisted":false},{"type":"link","label":"definition-properties-savedjobsdir","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir","docId":"refs/config/portal/definition-properties-savedjobsdir","unlisted":false},{"type":"link","label":"definition-properties-shell","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell","docId":"refs/config/portal/definition-properties-shell","unlisted":false},{"type":"link","label":"definition-properties-submitjobdefaultpwd","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","docId":"refs/config/portal/definition-properties-submitjobdefaultpwd","unlisted":false},{"type":"link","label":"definition-properties-turbovncpath","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath","docId":"refs/config/portal/definition-properties-turbovncpath","unlisted":false},{"type":"link","label":"definition","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","docId":"refs/config/portal/definition","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/"},{"type":"category","label":"ui","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"definition-properties-footer-properties-defaulttext","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","docId":"refs/config/ui/definition-properties-footer-properties-defaulttext","unlisted":false},{"type":"link","label":"definition-properties-footer-properties-hostnamemap-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","docId":"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","unlisted":false},{"type":"link","label":"definition-properties-footer-properties-hostnamemap-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","docId":"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","unlisted":false},{"type":"link","label":"definition-properties-footer-properties-hostnamemap","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","docId":"refs/config/ui/definition-properties-footer-properties-hostnamemap","unlisted":false},{"type":"link","label":"definition-properties-footer","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","docId":"refs/config/ui/definition-properties-footer","unlisted":false},{"type":"link","label":"definition-properties-primarycolor-properties-defaultcolor","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","docId":"refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","unlisted":false},{"type":"link","label":"definition-properties-primarycolor-properties-hostnamemap-patternproperties-","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","docId":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","unlisted":false},{"type":"link","label":"definition-properties-primarycolor-properties-hostnamemap-patternproperties","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","docId":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","unlisted":false},{"type":"link","label":"definition-properties-primarycolor-properties-hostnamemap","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","docId":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","unlisted":false},{"type":"link","label":"definition-properties-primarycolor","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","docId":"refs/config/ui/definition-properties-primarycolor","unlisted":false},{"type":"link","label":"definition","href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","docId":"refs/config/ui/definition","unlisted":false}],"href":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/"}]},{"type":"category","label":"\u73af\u5883\u53d8\u91cf\u914d\u7f6e","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"auth","href":"/SCOW/pr-preview/pr-1298/docs/refs/env/auth","docId":"refs/env/auth","unlisted":false},{"type":"link","label":"gateway","href":"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway","docId":"refs/env/gateway","unlisted":false},{"type":"link","label":"mis-server","href":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server","docId":"refs/env/mis-server","unlisted":false},{"type":"link","label":"mis-web","href":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web","docId":"refs/env/mis-web","unlisted":false},{"type":"link","label":"portal-web","href":"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web","docId":"refs/env/portal-web","unlisted":false}]}]},"docs":{"contribution/dev":{"id":"contribution/dev","title":"\u5f00\u53d1","description":"\u672c\u8282\u4ecb\u7ecd\u5f00\u53d1\u9879\u76ee\u76f8\u5173\u7684\u8d44\u6599\u3002","sidebar":"contribution"},"contribution/index":{"id":"contribution/index","title":"\u8d21\u732e\u6307\u5357","description":"\u611f\u8c22\u60a8\u5bf9\u53c2\u4e0eSCOW\u9879\u76ee\u5f00\u53d1\u7684\u5174\u8da3\uff01\u6211\u4eec\u6b22\u8fce\u5bf9\u9879\u76ee\u6709\u5174\u8da3\u7684\u53c2\u4e0e\u8005\u4e00\u8d77\u53c2\u4e0e\u9879\u76ee\u5f00\u53d1\u3002","sidebar":"contribution"},"deploy/architecture/index":{"id":"deploy/architecture/index","title":"\u67b6\u6784","description":"\u7cfb\u7edf\u5404\u4e2a\u7ec4\u4ef6\u7684\u5173\u7cfb\u5982\u4e0b\u56fe\u3002\u6b64\u90e8\u5206\u7b80\u8981\u4ecb\u7ecd\u5404\u4e2a\u7ec4\u4ef6\u7684\u529f\u80fd\uff0c\u5177\u4f53\u90e8\u7f72\u8bf7\u53c2\u8003\u5404\u4e2a\u7ec4\u4ef6\u7684\u9875\u9762\u3002","sidebar":"deploy"},"deploy/config/ai/apps/apps/jupyterlab/index":{"id":"deploy/config/ai/apps/apps/jupyterlab/index","title":"JupyterLab","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/ai/apps/apps/vscode/index":{"id":"deploy/config/ai/apps/apps/vscode/index","title":"VSCode","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/ai/apps/configure-vnc-app":{"id":"deploy/config/ai/apps/configure-vnc-app","title":"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528","description":"\u524d\u63d0\u6761\u4ef6","sidebar":"deploy"},"deploy/config/ai/apps/configure-web-app":{"id":"deploy/config/ai/apps/configure-web-app","title":"\u914d\u7f6eWeb\u7c7b\u5e94\u7528","description":"\u524d\u63d0\u6761\u4ef6","sidebar":"deploy"},"deploy/config/ai/apps/intro":{"id":"deploy/config/ai/apps/intro","title":"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a","description":"\u53c2\u8003\u6587\u6863\u7b80\u8981\u4e86\u89e3\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd, \u76ee\u524dbeta\u7248\u672c\u652f\u6301Web\u7c7b\u548cVnc\u7c7b\u5e94\u7528\u529f\u80fd\u3002","sidebar":"deploy"},"deploy/config/ai/intro":{"id":"deploy/config/ai/intro","title":"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09\u3002","sidebar":"deploy"},"deploy/config/audit/customEvent":{"id":"deploy/config/audit/customEvent","title":"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7","sidebar":"deploy"},"deploy/config/audit/intro":{"id":"deploy/config/audit/intro","title":"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf\u3002","sidebar":"deploy"},"deploy/config/auth/config":{"id":"deploy/config/auth/config","title":"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e","description":"UI \u914d\u7f6e","sidebar":"deploy"},"deploy/config/auth/intro":{"id":"deploy/config/auth/intro","title":"\u7b80\u4ecb","description":"\u8ba4\u8bc1\u7cfb\u7edf(auth)\u4e3a\u7cfb\u7edf\u63d0\u4f9b\u7528\u6237\u767b\u5f55\u529f\u80fd\uff0c\u4ee5\u53ca\u4e3a\u5404\u4e2a\u7ec4\u4ef6\u63d0\u4f9b\u9274\u6743\u670d\u52a1\u3002","sidebar":"deploy"},"deploy/config/auth/ldap":{"id":"deploy/config/auth/ldap","title":"LDAP","description":"\u672c\u8282\u4ecb\u7ecd\u4f7f\u7528\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u5e76\u4f7f\u7528LDAP\u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\u3002","sidebar":"deploy"},"deploy/config/auth/ssh":{"id":"deploy/config/auth/ssh","title":"SSH","description":"\u672c\u8282\u4ecb\u7ecd\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u5e76\u91c7\u7528SSH\u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\u7684\u8ba4\u8bc1\u7cfb\u7edf\u3002","sidebar":"deploy"},"deploy/config/cli/plugins/index":{"id":"deploy/config/cli/plugins/index","title":"\u63d2\u4ef6","description":"\u5b9e\u9a8c\u6027\u529f\u80fd\uff01","sidebar":"deploy"},"deploy/config/cluster-config":{"id":"deploy/config/cluster-config","title":"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6","description":"\u5bf9\u4e8e\u6bcf\u4e2a\u9700\u8981\u8fdb\u884c\u90e8\u7f72\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u5728config/clusters\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2a{\u96c6\u7fa4ID}/config.yml\uff08\u6216{\u96c6\u7fa4ID}.yml\uff09\u6587\u4ef6\uff0c\u5e76\u7f16\u5199\u96c6\u7fa4\u7684\u4fe1\u606f\u3002\u5f53\u60a8\u7684\u96c6\u7fa4\u4fe1\u606f\u4fee\u6539\u540e\uff0c\u60a8\u9700\u8981\u540c\u65f6\u624b\u52a8\u4fee\u6539\u5bf9\u5e94\u7684\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\u3002","sidebar":"deploy"},"deploy/config/customization/basepath":{"id":"deploy/config/customization/basepath","title":"\u76f8\u5bf9\u8def\u5f84","description":"\u4ec0\u4e48\u662f\u76f8\u5bf9\u8def\u5f84\uff08base path\uff09","sidebar":"deploy"},"deploy/config/customization/custom-amount-strategies":{"id":"deploy/config/customization/custom-amount-strategies","title":"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219","description":"\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\uff0c\u60a8\u53ef\u4ee5\u589e\u52a0\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219\uff0c\u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u8fdb\u884c\u914d\u7f6e\uff0c\u5c31\u53ef\u4ee5\u5728\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f","sidebar":"deploy"},"deploy/config/customization/custom-charge-types":{"id":"deploy/config/customization/custom-charge-types","title":"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b","description":"\u5f53\u7ba1\u7406\u5458\u6216\u8d22\u52a1\u4eba\u5458\u5728\u7ba1\u7406\u7cfb\u7edf\u4e0b\u67e5\u8be2\u6d88\u8d39\u5217\u8868\u65f6\uff0c\u7cfb\u7edf\u652f\u6301\u6309\u6d88\u8d39\u7c7b\u578b\u8fdb\u884c\u67e5\u8be2\u7ed3\u679c\u8fc7\u6ee4\u3002","sidebar":"deploy"},"deploy/config/customization/custom-config-i18n":{"id":"deploy/config/customization/custom-config-i18n","title":"\u81ea\u5b9a\u4e49\u53ef\u914d\u7f6e\u9879\u7684\u56fd\u9645\u5316\u6587\u672c","description":"\u5728SCOW\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\u4e2d\uff0c\u7cfb\u7edf\u652f\u6301\u7ba1\u7406\u5458\u81ea\u5b9a\u4e49\u914d\u7f6e\u5404\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u6587\u672c\u663e\u793a\u4e3a\u56fd\u9645\u5316\u663e\u793a\u3002","sidebar":"deploy"},"deploy/config/customization/custom-job-charge-metadata":{"id":"deploy/config/customization/custom-job-charge-metadata","title":"\u81ea\u5b9a\u4e49\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u4fdd\u5b58\u4f5c\u4e1a\u76f8\u5173\u5b57\u6bb5","description":"\u7cfb\u7edf\u652f\u6301\u5728mis.yaml\u4e2d\u901a\u8fc7\u53ef\u9009\u914d\u7f6ejobChargeMetadata\u5c06\u4f5c\u4e1a\u76f8\u5173\u7684\u5b57\u6bb5\u4ee5Json\u683c\u5f0f\u4fdd\u5b58\u5728\u6d88\u8d39\u8bb0\u5f55\u4e2d\u3002","sidebar":"deploy"},"deploy/config/customization/custom-navlinks":{"id":"deploy/config/customization/custom-navlinks","title":"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5","description":"\u60a8\u53ef\u4ee5\u589e\u52a0\u95e8\u6237\u548c\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u94fe\u63a5\uff0c\u70b9\u51fb\u8fd9\u4e9b\u94fe\u63a5\u4f1a\u8df3\u8f6c\u5230\u60a8\u6307\u5b9a\u7684URL\u3002","sidebar":"deploy"},"deploy/config/customization/custom-system-language":{"id":"deploy/config/customization/custom-system-language","title":"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00","description":"\u652f\u6301\u7528\u6237\u5728common.yml\u6587\u4ef6\u4e2d\u901a\u8fc7\u914d\u7f6e\u9879systemLanguage\u81ea\u5b9a\u4e49\u662f\u5426\u4f7f\u7528SCOW\u7684\u9875\u9762\u56fd\u9645\u5316\u529f\u80fd\u3002","sidebar":"deploy"},"deploy/config/customization/custom-userlinks":{"id":"deploy/config/customization/custom-userlinks","title":"\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5","description":"\u60a8\u53ef\u4ee5\u5728\u95e8\u6237\u548c\u7ba1\u7406\u7cfb\u7edf\u5bfc\u822a\u680f\u53f3\u4fa7\u7684\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u4e2d\u589e\u52a0\u94fe\u63a5\uff0c\u70b9\u51fb\u8fd9\u4e9b\u94fe\u63a5\u4f1a\u8df3\u8f6c\u5230\u60a8\u6307\u5b9a\u7684URL\u3002","sidebar":"deploy"},"deploy/config/customization/password-pattern":{"id":"deploy/config/customization/password-pattern","title":"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e","description":"\u5f53\u6240\u4f7f\u7528\u7684\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u521b\u5efa\u7528\u6237\u65f6\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7ba1\u7406\u7cfb\u7edf\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u8868\u5355\u6765\u5b8c\u6210\u521b\u5efa\u7528\u6237\u7684\u529f\u80fd\uff1b\u7528\u6237\u53ef\u4ee5\u5728\u4e2a\u4eba\u4fe1\u606f\u4e2d\u4fee\u6539\u5bc6\u7801\uff0c\u5bf9\u4e8e\u5bc6\u7801\u7684\u89c4\u5219\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u884c\u914d\u7f6e\u3002","sidebar":"deploy"},"deploy/config/customization/public-files":{"id":"deploy/config/customization/public-files","title":"\u516c\u5171\u6587\u4ef6","description":"\u60a8\u5b58\u653e\u5728\u548cinstall.yml\u540c\u7ea7\u7684public\u76ee\u5f55\u4e0b\u4e0b\u7684\u6587\u4ef6\u5c06\u53ef\u4ee5\u5728SCOW\u90e8\u7f72\u8def\u5f84\u7684/public \u8def\u5f84\u4e0b\u8bbf\u95ee\u3002","sidebar":"deploy"},"deploy/config/customization/webui":{"id":"deploy/config/customization/webui","title":"\u81ea\u5b9a\u4e49\u524d\u7aef\u9879\u76ee\u4e3b\u9898","description":"\u7cfb\u7edf\u4e2d\u652f\u6301\u81ea\u5b9a\u4e49\u4e00\u4e9b\u7f51\u9875\u4e2d\u7684UI\u5143\u7d20\u3002\u652f\u6301\u81ea\u5b9a\u4e49UI\u5143\u7d20\u7684\u7ec4\u4ef6\u6709\uff1a","sidebar":"deploy"},"deploy/config/gateway/config/index":{"id":"deploy/config/gateway/config/index","title":"\u914d\u7f6e","description":"extra","sidebar":"deploy"},"deploy/config/index":{"id":"deploy/config/index","title":"\u914d\u7f6e\u7b80\u4ecb","description":"SCOW\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u7cfb\u7edf\u7684\u914d\u7f6e\u3002","sidebar":"deploy"},"deploy/config/mis/cluster-monitor/index":{"id":"deploy/config/mis/cluster-monitor/index","title":"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09","description":"\u8d44\u6e90\u72b6\u6001","sidebar":"deploy"},"deploy/config/mis/create-user/index":{"id":"deploy/config/mis/create-user/index","title":"\u521b\u5efa\u7528\u6237\u914d\u7f6e","description":"\u5728\u4ee5\u4e0b\u60c5\u51b5\u4e0b\uff0c\u7ba1\u7406\u7cfb\u7edf\u5141\u8bb8\u7528\u6237\u6216\u8005\u7ba1\u7406\u5458\u5728SCOW\u4e2d\u521b\u5efa\u7528\u6237\u3002","sidebar":"deploy"},"deploy/config/mis/init/index":{"id":"deploy/config/mis/init/index","title":"\u7cfb\u7edf\u521d\u59cb\u5316","description":"\u5f53\u7ba1\u7406\u7cfb\u7edf\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u8bbf\u95ee\u90e8\u7f72\u8def\u5f84\u7684/init\u8def\u5f84\u4e0b\uff0c\u5373\u53ef\u8fdb\u884c\u7ba1\u7406\u7cfb\u7edf\u7684\u521d\u59cb\u5316\u9875\u9762\u3002","sidebar":"deploy"},"deploy/config/mis/intro":{"id":"deploy/config/mis/intro","title":"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf\u3002","sidebar":"deploy"},"deploy/config/mis/schedulers/slurm":{"id":"deploy/config/mis/schedulers/slurm","title":"slurm","description":"\u4f7f\u7528slurm\u7684\u96c6\u7fa4\u7684\u914d\u7f6e","sidebar":"deploy"},"deploy/config/mis/schedulers/sync":{"id":"deploy/config/mis/schedulers/sync","title":"\u540c\u6b65\u5c01\u9501\u72b6\u6001","description":"\u540c\u6b65\u8c03\u5ea6\u5668\u8d26\u6237\u3001\u7528\u6237\u5c01\u9501\u72b6\u6001","sidebar":"deploy"},"deploy/config/multi-cluster/index":{"id":"deploy/config/multi-cluster/index","title":"\u591a\u96c6\u7fa4\u7ba1\u7406","description":"SCOW\u591a\u96c6\u7fa4\u90e8\u7f72\u67b6\u6784\u5982\u4e0b\u56fe\u6240\u793a\uff1a","sidebar":"deploy"},"deploy/config/portal/apps/apps/baltamatica/index":{"id":"deploy/config/portal/apps/apps/baltamatica/index","title":"Baltamatica","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/desktop/index":{"id":"deploy/config/portal/apps/apps/desktop/index","title":"Desktop","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/emacs/index":{"id":"deploy/config/portal/apps/apps/emacs/index","title":"Emacs","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/igv/index":{"id":"deploy/config/portal/apps/apps/igv/index","title":"IGV","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/jupyter/index":{"id":"deploy/config/portal/apps/apps/jupyter/index","title":"Jupyter","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/jupyterlab/index":{"id":"deploy/config/portal/apps/apps/jupyterlab/index","title":"JupyterLab","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/matlab/index":{"id":"deploy/config/portal/apps/apps/matlab/index","title":"Matlab","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/octave/index":{"id":"deploy/config/portal/apps/apps/octave/index","title":"Octave","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/relion/index":{"id":"deploy/config/portal/apps/apps/relion/index","title":"Relion","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/rstudio/index":{"id":"deploy/config/portal/apps/apps/rstudio/index","title":"RStudio","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/apps/vscode/index":{"id":"deploy/config/portal/apps/apps/vscode/index","title":"VSCode","description":"\u8f6f\u4ef6\u7b80\u4ecb","sidebar":"deploy"},"deploy/config/portal/apps/configure-app-comment":{"id":"deploy/config/portal/apps/configure-app-comment","title":"\u914d\u7f6e\u8bf4\u660e\u6587\u5b57","description":"\u7cfb\u7edf\u652f\u6301\u5bf9\u4e0d\u540c\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u8bf4\u660e\u6587\u5b57\u8fdb\u884c\u63cf\u8ff0\u3002\u6587\u672c\u652f\u6301HTML\u7684\u6807\u7b7e\uff0c\u5c06\u4f1a\u88ab\u653e\u5728\u4e00\u4e2adiv\u4e2d\u3002","sidebar":"deploy"},"deploy/config/portal/apps/configure-app-logo":{"id":"deploy/config/portal/apps/configure-app-logo","title":"\u914d\u7f6e\u5e94\u7528\u56fe\u6807","description":"Web\u548cVNC\u7c7b\u5e94\u7528\u90fd\u53ef\u4ee5\u901a\u8fc7logoPath\u914d\u7f6e\u9879\uff0c\u4fee\u6539\u521b\u5efa\u5e94\u7528\u7684\u56fe\u6807\u3002","sidebar":"deploy"},"deploy/config/portal/apps/configure-attributes":{"id":"deploy/config/portal/apps/configure-attributes","title":"\u914d\u7f6eHTML\u8868\u5355","description":"Web\u548cVNC\u7c7b\u5e94\u7528\u90fd\u53ef\u4ee5\u901a\u8fc7attributes\u914d\u7f6e\u9879\uff0c\u4fee\u6539\u521b\u5efa\u5e94\u7528\u7684HTML\u8868\u5355\uff0c\u5141\u8bb8\u7ba1\u7406\u5458\u5b9a\u4e49\u7528\u6237\u521b\u5efa\u4ea4\u4e92\u5f0f\u5e94\u7528\u65f6\u7684\u8868\u5355\u9009\u9879\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u6307\u5b9a\u5e94\u7528\u7684\u7248\u672c\u7b49\u4fe1\u606f\u3002","sidebar":"deploy"},"deploy/config/portal/apps/configure-cluster-apps":{"id":"deploy/config/portal/apps/configure-cluster-apps","title":"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e","description":"\u652f\u6301\u7ba1\u7406\u5458\u901a\u8fc7\u5728\u4e0d\u540c\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\u4e0b\u81ea\u5b9a\u4e49\u914d\u7f6e\u5404\u4e2a\u96c6\u7fa4\u5747\u53ef\u4f7f\u7528\u7684\u5e94\u7528\u4ee5\u53ca\u53ea\u6709\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u5e94\u7528\u3002","sidebar":"deploy"},"deploy/config/portal/apps/configure-vnc-app":{"id":"deploy/config/portal/apps/configure-vnc-app","title":"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528","description":"\u524d\u63d0\u6761\u4ef6","sidebar":"deploy"},"deploy/config/portal/apps/configure-web-app":{"id":"deploy/config/portal/apps/configure-web-app","title":"\u914d\u7f6eWeb\u7c7b\u5e94\u7528","description":"\u524d\u63d0\u6761\u4ef6","sidebar":"deploy"},"deploy/config/portal/apps/intro":{"id":"deploy/config/portal/apps/intro","title":"\u4ea4\u4e92\u5f0f\u4f5c\u4e1a","description":"\u53c2\u8003\u6587\u6863\u7b80\u8981\u4e86\u89e3\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd\u3002","sidebar":"deploy"},"deploy/config/portal/customization/dashboard":{"id":"deploy/config/portal/customization/dashboard","title":"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8","description":"\u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u95e8\u6237\u9879\u76ee\u4eea\u8868\u76d8\u7684LOGO\u548c\u6587\u672c\u3002","sidebar":"deploy"},"deploy/config/portal/desktop":{"id":"deploy/config/portal/desktop","title":"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd","description":"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd\u80fd\u591f\u8ba9\u7528\u6237\u5728\u6d4f\u89c8\u5668\u4e0a\u5c31\u80fd\u8bbf\u95ee\u767b\u5f55\u8282\u70b9\u7684\u684c\u9762\uff0c\u5e76\u8fdb\u884cGUI\u64cd\u4f5c\u3002","sidebar":"deploy"},"deploy/config/portal/intro":{"id":"deploy/config/portal/intro","title":"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf\u3002","sidebar":"deploy"},"deploy/config/portal/proxy-gateway/index":{"id":"deploy/config/portal/proxy-gateway/index","title":"\u4ee3\u7406\u7f51\u5173\u8282\u70b9","description":"\u95e8\u6237\u7cfb\u7edf\u7684\u684c\u9762\u548c\u4ea4\u4e92\u5f0f\u4f5c\u4e1a\u529f\u80fd\u662f\u901a\u8fc7HTTP\u4ee3\u7406\uff0c\u5c06\u7528\u6237\u7684\u6d41\u91cf\u4ee3\u7406\u5230\u4e86\u8fd0\u884c\u684c\u9762\u7684\u767b\u5f55\u8282\u70b9\u6216\u8005\u8fd0\u884c\u8ba1\u7b97\u4f5c\u4e1a\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u6765\u5b9e\u73b0\u7684\u3002\u8fd9\u8981\u6c42SCOW\u6240\u5728\u7684\u670d\u52a1\u8282\u70b9\u80fd\u591f\u76f4\u8fde\u6240\u6709\u767b\u5f55\u548c\u8ba1\u7b97\u8282\u70b9\u3002","sidebar":"deploy"},"deploy/config/portal/shell":{"id":"deploy/config/portal/shell","title":"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd","description":"Shell\u7ec8\u7aef\u652f\u6301\u8f93\u5165\u547d\u4ee4\u8df3\u8f6c\u5230\u6587\u4ef6\u7cfb\u7edf\uff0c\u8fdb\u884c\u6587\u4ef6\u7684\u4e0a\u4f20\u548c\u4e0b\u8f7d\uff1b\u652f\u6301\u4e0b\u8f7d\u6307\u5b9a\u6587\u4ef6\u3002","sidebar":"deploy"},"deploy/config/portal/transfer-cross-clusters":{"id":"deploy/config/portal/transfer-cross-clusters","title":"\u8de8\u96c6\u7fa4\u6587\u4ef6\u4f20\u8f93\u529f\u80fd\uff08\u53ef\u9009\uff09","description":"1. \u4e3a\u6bcf\u4e2a\u96c6\u7fa4\u6dfb\u52a0\u4f20\u8f93\u8282\u70b9","sidebar":"deploy"},"deploy/get-started/vagrant/customization":{"id":"deploy/get-started/vagrant/customization","title":"\u81ea\u5b9a\u4e49\u90e8\u7f72","description":"1. \u5982\u4f55\u4fee\u6539\u8282\u70b9\u79c1\u7f51IP","sidebar":"deploy"},"deploy/get-started/vagrant/faq":{"id":"deploy/get-started/vagrant/faq","title":"FAQ","description":"1. Invalid value \'WAS\' in AudioAdapter/@driver attribute","sidebar":"deploy"},"deploy/get-started/vagrant/images":{"id":"deploy/get-started/vagrant/images","title":"vagrant\u955c\u50cf\u5236\u4f5c","description":"1. login/compute\u8282\u70b9\u955c\u50cf\u5236\u4f5c","sidebar":"deploy"},"deploy/get-started/vagrant/index":{"id":"deploy/get-started/vagrant/index","title":"\u4f7f\u7528","description":"\u672c\u9879\u76ee\u9762\u5411\u5f00\u53d1\u548c\u6d4b\u8bd5\u4eba\u5458\uff0c\u57fa\u4e8eVagrant\uff0c\u91c7\u7528VirtualBox\u4f5c\u4e3aProvider\uff0c\u63d0\u4f9bslurm+SCOW\u96c6\u7fa4\u4e00\u952e\u90e8\u7f72\u65b9\u6848\uff0c\u6781\u5927\u7b80\u5316\u4e86\u90e8\u7f72\u6d41\u7a0b\u548c\u90e8\u7f72\u95e8\u69db\u3002","sidebar":"deploy"},"deploy/get-started/vagrant/vagrant-env":{"id":"deploy/get-started/vagrant/vagrant-env","title":"vagrant\u73af\u5883\u642d\u5efa","description":"vagrant\u652f\u6301\u7684provider\u5305\u62ecvirtualbox\u3001hyperv\u3001libvirt\u7b49\u3002virtualbox\u652f\u6301windows\u3001linux\u3001macos\u7684\u5b89\u88c5\uff0c\u56e0\u6b64\u672c\u6559\u7a0b\u4ee5virtualbox\u4f5c\u4e3aprovider\u3002","sidebar":"deploy"},"deploy/index":{"id":"deploy/index","title":"\u5b89\u88c5\u548c\u914d\u7f6e","description":"\u672c\u90e8\u5206\u5e2e\u52a9\u60a8\u5b89\u88c5\u548c\u914d\u7f6eSCOW\u3002","sidebar":"deploy"},"deploy/install/build-from-source":{"id":"deploy/install/build-from-source","title":"\u4ece\u6e90\u7801\u6784\u5efa","description":"\u4ece\u6e90\u7801\u6784\u5efaSCOW","sidebar":"deploy"},"deploy/install/index":{"id":"deploy/install/index","title":"\u5b89\u88c5","description":"\u5982\u4f55\u5728\u5df2\u6709\u8d85\u7b97\u96c6\u7fa4\u4e0a\u90e8\u7f72SCOW\u7cfb\u7edf","sidebar":"deploy"},"deploy/install/multi-platform":{"id":"deploy/install/multi-platform","title":"\u591a\u67b6\u6784\u652f\u6301","description":"SCOW\u5bf9\u5404\u7c7b\u7cfb\u7edf\u548c\u67b6\u6784\u7684\u652f\u6301","sidebar":"deploy"},"deploy/install/scow-cli":{"id":"deploy/install/scow-cli","title":"scow-cli","description":"\u4f7f\u7528scow-cli\u7ba1\u7406SCOW\u96c6\u7fa4","sidebar":"deploy"},"deploy/ops/admin-usage-tips":{"id":"deploy/ops/admin-usage-tips","title":"SCOW\u7ba1\u7406\u5458\u4f7f\u7528\u6280\u5de7","description":"1. \u7cfb\u7edf\u62a5\u9519\uff1a\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7","sidebar":"deploy"},"deploy/ops/index":{"id":"deploy/ops/index","title":"\u8fd0\u7ef4","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5bf9\u7cfb\u7edf\u8fdb\u884c\u7684\u5e38\u89c1\u8fd0\u7ef4\u64cd\u4f5c\u3002","sidebar":"deploy"},"hpccluster/add-user":{"id":"hpccluster/add-user","title":"LDAP\u65b0\u5efa\u7528\u6237","description":"\u90e8\u7f72LDAP\u540e\u53f0\u7ba1\u7406\u540e\uff0c\u8bbf\u95eehttp8080/ \uff0c\u767b\u5f55DN LDAP\u670d\u52a1\u7aef\u5b89\u88c5\u811a\u672cadminPasswd\u7684\u503c\u3002","sidebar":"hpccluster"},"hpccluster/basic-config":{"id":"hpccluster/basic-config","title":"\u57fa\u7840\u914d\u7f6e","description":"1. \u6240\u6709\u8282\u70b9","sidebar":"hpccluster"},"hpccluster/cluster-monitor/index":{"id":"hpccluster/cluster-monitor/index","title":"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7","description":"\u914d\u7f6e\u8be5\u529f\u80fd\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\u67e5\u770b\u96c6\u7fa4\u8d44\u6e90\u4fe1\u606f\u548c\u544a\u8b66\u65e5\u5fd7\uff0c\u9700\u8981\u914d\u7f6e Prometheus\u3001Grafana\u3001Alertmanager\u3001alertsnitch\u3001MySQL \u5b89\u88c5","sidebar":"hpccluster"},"hpccluster/config/slurm.conf":{"id":"hpccluster/config/slurm.conf","title":"slurm.conf \u914d\u7f6e","description":"","sidebar":"hpccluster"},"hpccluster/config/slurmdbd.conf":{"id":"hpccluster/config/slurmdbd.conf","title":"slurmdbd.conf \u914d\u7f6e","description":"","sidebar":"hpccluster"},"hpccluster/index":{"id":"hpccluster/index","title":"slurm\u90e8\u7f72\u7b80\u4ecb","description":"\u672c\u6587\u6863\u4ece\u90e8\u7f72\u89c4\u5212\u5f00\u59cb\uff0c\u4e00\u6b65\u4e00\u6b65\u642d\u5efaslurm\u96c6\u7fa4\uff0c\u5b89\u88c5\u5171\u4eab\u5b58\u50a8\u3001\u5b89\u88c5module\u3001intel\u7b49\u5de5\u5177\u8f6f\u4ef6\u3002","sidebar":"hpccluster"},"hpccluster/intel":{"id":"hpccluster/intel","title":"intel\u7f16\u8bd1\u5668\u5b89\u88c5","description":"\u65b0\u7248intel\u7f16\u8bd1\u5668\u4e0d\u518d\u662fparallelstudioxexxxupdate4clusteredition\uff0c\u800c\u6539\u540d\u4e3aoneAPI\u3002","sidebar":"hpccluster"},"hpccluster/module":{"id":"hpccluster/module","title":"module\u5b89\u88c5","description":"module\u662f\u7ed9\u96c6\u7fa4\u6240\u6709\u8282\u70b9\u4f7f\u7528\uff0c\u5b89\u88c5\u5728nfs\u5171\u4eab\u5b58\u50a8\u76ee\u5f55\u4e0a\u3002\u521b\u5efamodule\u5b89\u88c5\u76ee\u5f55\uff1a","sidebar":"hpccluster"},"hpccluster/mount-disk":{"id":"hpccluster/mount-disk","title":"\u6570\u636e\u76d8\u6302\u8f7d","description":"\u5047\u8bbe\u5f85\u6302\u8f7d\u76d8\u7b26\u4e3a/dev/sdb\uff0c\u6302\u8f7d\u76ee\u5f55\u4e3a/data","sidebar":"hpccluster"},"hpccluster/nfs":{"id":"hpccluster/nfs","title":"NFS\u5b89\u88c5\u548c\u914d\u7f6e","description":"\u672c\u65b9\u6848\u4ee5NFS\u4f5c\u4e3a\u5171\u4eab\u5b58\u50a8\u3002","sidebar":"hpccluster"},"hpccluster/plan":{"id":"hpccluster/plan","title":"\u96c6\u7fa4\u89c4\u5212","description":"\u672c\u6b21\u90e8\u7f72\u4ee51\u4e2a\u670d\u52a1\u8282\u70b9\u30011\u4e2a\u767b\u5f55\u8282\u70b9\u30012\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e3a\u4f8b\uff0c\u96c6\u7fa4\u8282\u89c4\u5212\u5982\u4e0b\uff1a","sidebar":"hpccluster"},"hpccluster/slurm":{"id":"hpccluster/slurm","title":"slurm\u96c6\u7fa4\u90e8\u7f72","description":"1. \u5b89\u88c5Munge","sidebar":"hpccluster"},"info/ai/index":{"id":"info/ai/index","title":"AI \u7cfb\u7edf\u7b80\u4ecb\uff08Beta\uff09","description":"AI \u7cfb\u7edf\u80fd\u8ba9\u60a8\u901a\u8fc7 Web \u754c\u9762\u7ba1\u7406\u60a8\u5728 AI \u8bad\u7ec3\u4e2d\u7684\u6570\u636e\u96c6\u3001\u7b97\u6cd5\u3001\u6a21\u578b\uff0c\u5e76\u901a\u8fc7\u955c\u50cf\u7684\u65b9\u5f0f\u6765\u8fdb\u884c\u60a8\u7684 AI \u8bad\u7ec3\u4efb\u52a1\u3002","sidebar":"info"},"info/index":{"id":"info/index","title":"\u5e73\u53f0\u7b80\u4ecb","description":"SCOW\u662f\u4e00\u4e2a\u9762\u5411\u7528\u6237\u548c\u8fd0\u7ef4\u4eba\u5458\u7684\u8d85\u7b97\u95e8\u6237\u4e0e\u7ba1\u7406\u7cfb\u7edf\u3002","sidebar":"info"},"info/mis/business/billing":{"id":"info/mis/business/billing","title":"\u8ba1\u8d39\u6536\u8d39","description":"\u7cfb\u7edf\u76ee\u524d\u91c7\u7528\u4e00\u4e2a\u72ec\u7acb\u7684\u8d22\u52a1\u7cfb\u7edf\u3002","sidebar":"info"},"info/mis/business/users":{"id":"info/mis/business/users","title":"\u7528\u6237\u6a21\u578b","description":"\u7528\u6237\u6a21\u578b","sidebar":"info"},"info/mis/index":{"id":"info/mis/index","title":"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb","description":"\u7ba1\u7406\u7cfb\u7edf\u63d0\u4f9b\u9ad8\u6027\u80fd\u8ba1\u7b97\u96c6\u7fa4\u5e38\u89c1\u7684\u7ba1\u7406\u529f\u80fd\u3002","sidebar":"info"},"info/portal/app":{"id":"info/portal/app","title":"\u4ea4\u4e92\u5f0f\u5e94\u7528","description":"\u501f\u52a9\u4ea4\u4e92\u5f0f\u5e94\u7528\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u4e0a\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u5728\u8ba1\u7b97\u8282\u70b9\u4e0a\u542f\u52a8\u5e94\u7528\uff0c\u5e76\u901a\u8fc7\u6d4f\u89c8\u5668\u4f7f\u7528\u8fd9\u4e9b\u5e94\u7528\u3002","sidebar":"info"},"info/portal/index":{"id":"info/portal/index","title":"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb","description":"\u95e8\u6237\u7cfb\u7edf\u7ed9\u9ad8\u6027\u80fd\u8ba1\u7b97\u96c6\u7fa4\u7684\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u672cweb\u7684\u529f\u80fd\u5165\u53e3\u3002","sidebar":"info"},"info/portal/job":{"id":"info/portal/job","title":"\u4f5c\u4e1a","description":"\u501f\u52a9\u4f5c\u4e1a\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u4e0a\u70b9\u51fb\u63d0\u4ea4\u4f5c\u4e1a\u6765\u4f7f\u7528\u8d85\u7b97\u96c6\u7fa4\uff0c\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u672a\u7ed3\u675f\u4f5c\u4e1a\u4e2d\u770b\u5230\u8be5\u4f5c\u4e1a\u7684\u8fd0\u884c\u72b6\u6001\u7b49\u8be6\u7ec6\u4fe1\u606f\uff0c\u5e76\u5728\u6240\u6709\u4f5c\u4e1a\u4e2d\u770b\u5230\u4f5c\u4e1a\u7684\u6267\u884c\u7ed3\u679c\u3002","sidebar":"info"},"integration/auth/impl":{"id":"integration/auth/impl","title":"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf","description":"\u5982\u679c\u7cfb\u7edf\u63d0\u4f9b\u7684\u8ba4\u8bc1\u7cfb\u7edf\u4e0d\u80fd\u6ee1\u8db3\u60a8\u7684\u9700\u6c42\uff0c\u60a8\u53ef\u4ee5\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u3002","sidebar":"integration"},"integration/auth/use":{"id":"integration/auth/use","title":"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf","description":"\u5982\u679c\u7cfb\u7edf\u63d0\u4f9b\u7684\u8ba4\u8bc1\u7cfb\u7edf\u4e0d\u80fd\u6ee1\u8db3\u60a8\u7684\u9700\u6c42\uff0c\u60a8\u53ef\u4ee5\u81ea\u5df1\u4f7f\u7528\u548c\u5b9e\u73b0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u3002","sidebar":"integration"},"integration/index":{"id":"integration/index","title":"\u4e0eSCOW\u96c6\u6210","description":"\u96c6\u6210","sidebar":"integration"},"integration/scow-api-hook/api/api":{"id":"integration/scow-api-hook/api/api","title":"SCOW API","description":"SCOW\u7cfb\u7edf\u603b\u4f53\u6765\u8bf4\u5206\u4e3a\u524d\u7aef\u548c\u540e\u7aef\u90e8\u5206\uff08\u67b6\u6784\uff09\uff0cSCOW\u7684\u524d\u7aef\u548c\u540e\u7aef\u90e8\u5206\u4f7f\u7528gRPC\u8fdb\u884c\u901a\u4fe1\u3002","sidebar":"integration"},"integration/scow-api-hook/api/statistic":{"id":"integration/scow-api-hook/api/statistic","title":"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API","description":"SCOW\u7cfb\u7edf\u63d0\u4f9b\u4e86\u4e00\u4e9b\u6570\u636e\u7edf\u8ba1\u76f8\u5173\u7684API\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9bAPI\u83b7\u53d6SCOW\u7cfb\u7edf\u7684\u4e00\u4e9b\u7edf\u8ba1\u6570\u636e\u3002\u5176\u4e2d\u6709\u90e8\u5206API\u662f\u4ee5\u65e5\u671f\u4e3a\u7ef4\u5ea6\u8fdb\u884c\u7684\u7edf\u8ba1\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9bAPI\u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u7edf\u8ba1\u6570\u636e\u3002\u4f46\u7531\u4e8e\u6570\u636e\u5e93\u91cc\u91c7\u7528\u7684\u662fUTC\u65f6\u95f4\uff0c\u5982\u679c\u5e0c\u671b\u7edf\u8ba1\u7684\u7ef4\u5ea6\u548c\u5ba2\u6237\u7aef\u4e00\u81f4\uff0c\u5728\u4f7f\u7528\u8fd9\u4e9bAPI\u65f6\uff0c\u60a8\u9700\u8981\u6ce8\u610f\u65f6\u533a\u7684\u95ee\u9898\u3002","sidebar":"integration"},"integration/scow-api-hook/examples/go":{"id":"integration/scow-api-hook/examples/go","title":"Go","description":"\u793a\u4f8b\u9879\u76ee\uff1ahttps://github.com/PKUHPC/scow-go-demo","sidebar":"integration"},"integration/scow-api-hook/hook":{"id":"integration/scow-api-hook/hook","title":"SCOW Hook","description":"\u5982\u679c\u7528\u6237\u914d\u7f6e\u4e86SCOW Hook\uff0c\u90a3\u4e48SCOW\u5728\u53d1\u751f\u4e00\u4e9b\u4e8b\u4ef6\u65f6\uff0c\u4f1a\u901a\u8fc7SCOW Hook\u8c03\u7528\u76d1\u542c\u7684Hook\u670d\u52a1\u5668\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7SCOW Hook\u76d1\u542cSCOW\u4e2d\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u5e76\u81ea\u5df1\u8fdb\u884c\u4e00\u4e9b\u540e\u7eed\u5904\u7406\u3002","sidebar":"integration"},"integration/scow-api-hook/proto":{"id":"integration/scow-api-hook/proto","title":"SCOW Protobuf\u6587\u4ef6","description":"SCOW API\u548cHook\u7684\u6570\u636e\u7ed3\u6784\u548c\u670d\u52a1\u90fd\u901a\u8fc7Protocol Buffer\u683c\u5f0f\u7edf\u4e00\u5b9a\u4e49\u5e76\u5206\u53d1\u3002\u8981\u60f3\u4f7f\u7528SCOW API\u548cHook\uff0c\u60a8\u9700\u8981\u9996\u5148\u83b7\u53d6proto\u6587\u4ef6\uff0c\u901a\u8fc7proto\u6587\u4ef6\u751f\u6210\u60a8\u5bf9\u5e94\u7684\u8bed\u8a00\u7684\u4ee3\u7801\uff0c\u7136\u540e\u624d\u80fd\u8fdb\u884c\u5f00\u53d1\u3002","sidebar":"integration"},"integration/ui-extension/develop":{"id":"integration/ui-extension/develop","title":"\u5f00\u53d1UI\u6269\u5c55","description":"\u8981\u4f7f\u7528UI\u6269\u5c55\uff0c\u60a8\u9996\u5148\u9700\u8981\u5f00\u53d1\u5e76\u6784\u5efa\u4e00\u4e2a\u4ece\u5916\u754c\u53ef\u4ee5\u8bbf\u95ee\u7684\u7f51\u7ad9\uff08\u79f0\u4e3a\u6269\u5c55\u7ad9\uff09\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u6280\u672f\u5f00\u53d1\u3001\u7ef4\u62a4\u548c\u90e8\u7f72\u6b64\u7f51\u7ad9\uff0c\u53ea\u9700\u8981\u6ee1\u8db3\u60a8\u7684\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u76f4\u63a5\u516c\u7f51\u8bbf\u95ee\u5373\u53ef\u3002","sidebar":"integration"},"integration/ui-extension/ui-extension":{"id":"integration/ui-extension/ui-extension","title":"UI\u6269\u5c55 (Beta)","description":"\u5b9e\u9a8c\u6027\u529f\u80fd\uff01","sidebar":"integration"},"refs/config/app/definition":{"id":"refs/config/app/definition","title":"definition","description":"Untitled object in undefined Type","sidebar":"refs"},"refs/config/app/definition-properties-name":{"id":"refs/config/app/definition-properties-name","title":"definition-properties-name","description":"name Type","sidebar":"refs"},"refs/config/app/definition-properties-nodes":{"id":"refs/config/app/definition-properties-nodes","title":"definition-properties-nodes","description":"nodes Type","sidebar":"refs"},"refs/config/app/definition-properties-nodes-items":{"id":"refs/config/app/definition-properties-nodes-items","title":"definition-properties-nodes-items","description":"items Type","sidebar":"refs"},"refs/config/app/definition-properties-type":{"id":"refs/config/app/definition-properties-type","title":"definition-properties-type","description":"type Type","sidebar":"refs"},"refs/config/app/definition-properties-type-anyof-0":{"id":"refs/config/app/definition-properties-type-anyof-0","title":"definition-properties-type-anyof-0","description":"0 Type","sidebar":"refs"},"refs/config/app/definition-properties-type-anyof-1":{"id":"refs/config/app/definition-properties-type-anyof-1","title":"definition-properties-type-anyof-1","description":"1 Type","sidebar":"refs"},"refs/config/app/definition-properties-vnc":{"id":"refs/config/app/definition-properties-vnc","title":"definition-properties-vnc","description":"vnc Type","sidebar":"refs"},"refs/config/app/definition-properties-vnc-properties-xstartup":{"id":"refs/config/app/definition-properties-vnc-properties-xstartup","title":"definition-properties-vnc-properties-xstartup","description":"xstartup Type","sidebar":"refs"},"refs/config/app/definition-properties-web":{"id":"refs/config/app/definition-properties-web","title":"definition-properties-web","description":"web Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-beforescript":{"id":"refs/config/app/definition-properties-web-properties-beforescript","title":"definition-properties-web-properties-beforescript","description":"beforeScript Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect":{"id":"refs/config/app/definition-properties-web-properties-connect","title":"definition-properties-web-properties-connect","description":"connect Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-formdata":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-formdata","title":"definition-properties-web-properties-connect-properties-formdata","description":"formData Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","title":"definition-properties-web-properties-connect-properties-formdata-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","title":"definition-properties-web-properties-connect-properties-formdata-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-method":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-method","title":"definition-properties-web-properties-connect-properties-method","description":"method Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","title":"definition-properties-web-properties-connect-properties-method-anyof-0","description":"0 Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","title":"definition-properties-web-properties-connect-properties-method-anyof-1","description":"1 Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-path":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-path","title":"definition-properties-web-properties-connect-properties-path","description":"path Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-query":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-query","title":"definition-properties-web-properties-connect-properties-query","description":"query Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","title":"definition-properties-web-properties-connect-properties-query-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-":{"id":"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","title":"definition-properties-web-properties-connect-properties-query-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/app/definition-properties-web-properties-script":{"id":"refs/config/app/definition-properties-web-properties-script","title":"definition-properties-web-properties-script","description":"script Type","sidebar":"refs"},"refs/config/app/index":{"id":"refs/config/app/index","title":"app","description":"Top-level Schemas","sidebar":"refs"},"refs/config/cluster/definition":{"id":"refs/config/cluster/definition","title":"definition","description":"Untitled object in undefined Type","sidebar":"refs"},"refs/config/cluster/definition-properties-displayname":{"id":"refs/config/cluster/definition-properties-displayname","title":"definition-properties-displayname","description":"displayName Type","sidebar":"refs"},"refs/config/cluster/definition-properties-misignore":{"id":"refs/config/cluster/definition-properties-misignore","title":"definition-properties-misignore","description":"misIgnore Type","sidebar":"refs"},"refs/config/cluster/definition-properties-scheduler":{"id":"refs/config/cluster/definition-properties-scheduler","title":"definition-properties-scheduler","description":"scheduler Type","sidebar":"refs"},"refs/config/cluster/definition-properties-scheduler-anyof-0":{"id":"refs/config/cluster/definition-properties-scheduler-anyof-0","title":"definition-properties-scheduler-anyof-0","description":"0 Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm":{"id":"refs/config/cluster/definition-properties-slurm","title":"definition-properties-slurm","description":"slurm Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-computenodes":{"id":"refs/config/cluster/definition-properties-slurm-properties-computenodes","title":"definition-properties-slurm-properties-computenodes","description":"computeNodes Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-computenodes-items":{"id":"refs/config/cluster/definition-properties-slurm-properties-computenodes-items","title":"definition-properties-slurm-properties-computenodes-items","description":"items Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-loginnodes":{"id":"refs/config/cluster/definition-properties-slurm-properties-loginnodes","title":"definition-properties-slurm-properties-loginnodes","description":"loginNodes Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-loginnodes-items":{"id":"refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","title":"definition-properties-slurm-properties-loginnodes-items","description":"items Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-mis":{"id":"refs/config/cluster/definition-properties-slurm-properties-mis","title":"definition-properties-slurm-properties-mis","description":"mis Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename":{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","title":"definition-properties-slurm-properties-mis-properties-associationtablename","description":"associationTableName Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword":{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","title":"definition-properties-slurm-properties-mis-properties-dbpassword","description":"dbPassword Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl":{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","title":"definition-properties-slurm-properties-mis-properties-managerurl","description":"managerUrl Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath":{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","title":"definition-properties-slurm-properties-mis-properties-scriptpath","description":"scriptPath Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions","title":"definition-properties-slurm-properties-partitions","description":"partitions Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","title":"definition-properties-slurm-properties-partitions-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","title":"definition-properties-slurm-properties-partitions-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","title":"definition-properties-slurm-properties-partitions-patternproperties--properties-comment","description":"comment Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","title":"definition-properties-slurm-properties-partitions-patternproperties--properties-cores","description":"cores Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","title":"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","description":"gpus Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","title":"definition-properties-slurm-properties-partitions-patternproperties--properties-mem","description":"mem Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","title":"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","description":"nodes Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","title":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos","description":"qos Type","sidebar":"refs"},"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items":{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","title":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","description":"items Type","sidebar":"refs"},"refs/config/cluster/index":{"id":"refs/config/cluster/index","title":"cluster","description":"Top-level Schemas","sidebar":"refs"},"refs/config/clusterTexts/definition":{"id":"refs/config/clusterTexts/definition","title":"definition","description":"Untitled object in undefined Type","sidebar":"refs"},"refs/config/clusterTexts/definition-patternproperties":{"id":"refs/config/clusterTexts/definition-patternproperties","title":"definition-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/clusterTexts/definition-patternproperties-":{"id":"refs/config/clusterTexts/definition-patternproperties-","title":"definition-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/clusterTexts/definition-patternproperties--properties-clustercomment":{"id":"refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","title":"definition-patternproperties--properties-clustercomment","description":"clusterComment Type","sidebar":"refs"},"refs/config/clusterTexts/definition-patternproperties--properties-extras":{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras","title":"definition-patternproperties--properties-extras","description":"extras Type","sidebar":"refs"},"refs/config/clusterTexts/definition-patternproperties--properties-extras-items":{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items","title":"definition-patternproperties--properties-extras-items","description":"items Type","sidebar":"refs"},"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content":{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","title":"definition-patternproperties--properties-extras-items-properties-content","description":"content Type","sidebar":"refs"},"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title":{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","title":"definition-patternproperties--properties-extras-items-properties-title","description":"title Type","sidebar":"refs"},"refs/config/clusterTexts/index":{"id":"refs/config/clusterTexts/index","title":"clusterTexts","description":"Top-level Schemas","sidebar":"refs"},"refs/config/mis/definition":{"id":"refs/config/mis/definition","title":"definition","description":"Untitled object in undefined Type","sidebar":"refs"},"refs/config/mis/definition-properties-accountnamepattern":{"id":"refs/config/mis/definition-properties-accountnamepattern","title":"definition-properties-accountnamepattern","description":"accountNamePattern Type","sidebar":"refs"},"refs/config/mis/definition-properties-accountnamepattern-properties-errormessage":{"id":"refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","title":"definition-properties-accountnamepattern-properties-errormessage","description":"errorMessage Type","sidebar":"refs"},"refs/config/mis/definition-properties-accountnamepattern-properties-regex":{"id":"refs/config/mis/definition-properties-accountnamepattern-properties-regex","title":"definition-properties-accountnamepattern-properties-regex","description":"regex Type","sidebar":"refs"},"refs/config/mis/definition-properties-authurl":{"id":"refs/config/mis/definition-properties-authurl","title":"definition-properties-authurl","description":"authUrl Type","sidebar":"refs"},"refs/config/mis/definition-properties-changejobpricetype":{"id":"refs/config/mis/definition-properties-changejobpricetype","title":"definition-properties-changejobpricetype","description":"changeJobPriceType Type","sidebar":"refs"},"refs/config/mis/definition-properties-db":{"id":"refs/config/mis/definition-properties-db","title":"definition-properties-db","description":"db Type","sidebar":"refs"},"refs/config/mis/definition-properties-db-properties-dbname":{"id":"refs/config/mis/definition-properties-db-properties-dbname","title":"definition-properties-db-properties-dbname","description":"dbName Type","sidebar":"refs"},"refs/config/mis/definition-properties-db-properties-debug":{"id":"refs/config/mis/definition-properties-db-properties-debug","title":"definition-properties-db-properties-debug","description":"debug Type","sidebar":"refs"},"refs/config/mis/definition-properties-db-properties-host":{"id":"refs/config/mis/definition-properties-db-properties-host","title":"definition-properties-db-properties-host","description":"host Type","sidebar":"refs"},"refs/config/mis/definition-properties-db-properties-password":{"id":"refs/config/mis/definition-properties-db-properties-password","title":"definition-properties-db-properties-password","description":"password Type","sidebar":"refs"},"refs/config/mis/definition-properties-db-properties-port":{"id":"refs/config/mis/definition-properties-db-properties-port","title":"definition-properties-db-properties-port","description":"port Type","sidebar":"refs"},"refs/config/mis/definition-properties-db-properties-user":{"id":"refs/config/mis/definition-properties-db-properties-user","title":"definition-properties-db-properties-user","description":"user Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs":{"id":"refs/config/mis/definition-properties-fetchjobs","title":"definition-properties-fetchjobs","description":"fetchJobs Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-batchsize":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-batchsize","title":"definition-properties-fetchjobs-properties-batchsize","description":"batchSize Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-db":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db","title":"definition-properties-fetchjobs-properties-db","description":"db Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","title":"definition-properties-fetchjobs-properties-db-properties-dbname","description":"dbName Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","title":"definition-properties-fetchjobs-properties-db-properties-host","description":"host Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","title":"definition-properties-fetchjobs-properties-db-properties-password","description":"password Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","title":"definition-properties-fetchjobs-properties-db-properties-port","description":"port Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","title":"definition-properties-fetchjobs-properties-db-properties-tablename","description":"tableName Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","title":"definition-properties-fetchjobs-properties-db-properties-user","description":"user Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","title":"definition-properties-fetchjobs-properties-periodicfetch","description":"periodicFetch Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","title":"definition-properties-fetchjobs-properties-periodicfetch-default","description":"default Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","title":"definition-properties-fetchjobs-properties-periodicfetch-properties-cron","description":"cron Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","title":"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","description":"enabled Type","sidebar":"refs"},"refs/config/mis/definition-properties-fetchjobs-properties-startindex":{"id":"refs/config/mis/definition-properties-fetchjobs-properties-startindex","title":"definition-properties-fetchjobs-properties-startindex","description":"startIndex Type","sidebar":"refs"},"refs/config/mis/definition-properties-jobchargecomment":{"id":"refs/config/mis/definition-properties-jobchargecomment","title":"definition-properties-jobchargecomment","description":"jobChargeComment Type","sidebar":"refs"},"refs/config/mis/definition-properties-jobchargetype":{"id":"refs/config/mis/definition-properties-jobchargetype","title":"definition-properties-jobchargetype","description":"jobChargeType Type","sidebar":"refs"},"refs/config/mis/definition-properties-portalurl":{"id":"refs/config/mis/definition-properties-portalurl","title":"definition-properties-portalurl","description":"portalUrl Type","sidebar":"refs"},"refs/config/mis/definition-properties-predefinedchargingtypes":{"id":"refs/config/mis/definition-properties-predefinedchargingtypes","title":"definition-properties-predefinedchargingtypes","description":"predefinedChargingTypes Type","sidebar":"refs"},"refs/config/mis/definition-properties-predefinedchargingtypes-items":{"id":"refs/config/mis/definition-properties-predefinedchargingtypes-items","title":"definition-properties-predefinedchargingtypes-items","description":"items Type","sidebar":"refs"},"refs/config/mis/index":{"id":"refs/config/mis/index","title":"mis","description":"Top-level Schemas","sidebar":"refs"},"refs/config/portal/definition":{"id":"refs/config/portal/definition","title":"definition","description":"Untitled object in undefined Type","sidebar":"refs"},"refs/config/portal/definition-properties-appjobsdir":{"id":"refs/config/portal/definition-properties-appjobsdir","title":"definition-properties-appjobsdir","description":"appJobsDir Type","sidebar":"refs"},"refs/config/portal/definition-properties-apps":{"id":"refs/config/portal/definition-properties-apps","title":"definition-properties-apps","description":"apps Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometext":{"id":"refs/config/portal/definition-properties-hometext","title":"definition-properties-hometext","description":"homeText Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometext-properties-defaulttext":{"id":"refs/config/portal/definition-properties-hometext-properties-defaulttext","title":"definition-properties-hometext-properties-defaulttext","description":"defaultText Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometext-properties-hostnamemap":{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap","title":"definition-properties-hometext-properties-hostnamemap","description":"hostnameMap Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometext-properties-hostnamemap-default":{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","title":"definition-properties-hometext-properties-hostnamemap-default","description":"default Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties":{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","title":"definition-properties-hometext-properties-hostnamemap-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-":{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","title":"definition-properties-hometext-properties-hostnamemap-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometitle":{"id":"refs/config/portal/definition-properties-hometitle","title":"definition-properties-hometitle","description":"homeTitle Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometitle-properties-defaulttext":{"id":"refs/config/portal/definition-properties-hometitle-properties-defaulttext","title":"definition-properties-hometitle-properties-defaulttext","description":"defaultText Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometitle-properties-hostnamemap":{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap","title":"definition-properties-hometitle-properties-hostnamemap","description":"hostnameMap Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default":{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","title":"definition-properties-hometitle-properties-hostnamemap-default","description":"default Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties":{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","title":"definition-properties-hometitle-properties-hostnamemap-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-":{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","title":"definition-properties-hometitle-properties-hostnamemap-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/portal/definition-properties-jobmanagement":{"id":"refs/config/portal/definition-properties-jobmanagement","title":"definition-properties-jobmanagement","description":"jobManagement Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop":{"id":"refs/config/portal/definition-properties-logindesktop","title":"definition-properties-logindesktop","description":"loginDesktop Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop-properties-enabled":{"id":"refs/config/portal/definition-properties-logindesktop-properties-enabled","title":"definition-properties-logindesktop-properties-enabled","description":"enabled Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop-properties-maxdesktops":{"id":"refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","title":"definition-properties-logindesktop-properties-maxdesktops","description":"maxDesktops Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop-properties-wms":{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms","title":"definition-properties-logindesktop-properties-wms","description":"wms Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop-properties-wms-default-0":{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","title":"definition-properties-logindesktop-properties-wms-default-0","description":"0 Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop-properties-wms-items":{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-items","title":"definition-properties-logindesktop-properties-wms-items","description":"items Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name":{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","title":"definition-properties-logindesktop-properties-wms-items-properties-name","description":"name Type","sidebar":"refs"},"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm":{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","title":"definition-properties-logindesktop-properties-wms-items-properties-wm","description":"wm Type","sidebar":"refs"},"refs/config/portal/definition-properties-misurl":{"id":"refs/config/portal/definition-properties-misurl","title":"definition-properties-misurl","description":"misUrl Type","sidebar":"refs"},"refs/config/portal/definition-properties-savedjobsdir":{"id":"refs/config/portal/definition-properties-savedjobsdir","title":"definition-properties-savedjobsdir","description":"savedJobsDir Type","sidebar":"refs"},"refs/config/portal/definition-properties-shell":{"id":"refs/config/portal/definition-properties-shell","title":"definition-properties-shell","description":"shell Type","sidebar":"refs"},"refs/config/portal/definition-properties-submitjobdefaultpwd":{"id":"refs/config/portal/definition-properties-submitjobdefaultpwd","title":"definition-properties-submitjobdefaultpwd","description":"submitJobDefaultPwd Type","sidebar":"refs"},"refs/config/portal/definition-properties-turbovncpath":{"id":"refs/config/portal/definition-properties-turbovncpath","title":"definition-properties-turbovncpath","description":"turboVNCPath Type","sidebar":"refs"},"refs/config/portal/index":{"id":"refs/config/portal/index","title":"portal","description":"Top-level Schemas","sidebar":"refs"},"refs/config/ui/definition":{"id":"refs/config/ui/definition","title":"definition","description":"Untitled object in undefined Type","sidebar":"refs"},"refs/config/ui/definition-properties-footer":{"id":"refs/config/ui/definition-properties-footer","title":"definition-properties-footer","description":"footer Type","sidebar":"refs"},"refs/config/ui/definition-properties-footer-properties-defaulttext":{"id":"refs/config/ui/definition-properties-footer-properties-defaulttext","title":"definition-properties-footer-properties-defaulttext","description":"defaultText Type","sidebar":"refs"},"refs/config/ui/definition-properties-footer-properties-hostnamemap":{"id":"refs/config/ui/definition-properties-footer-properties-hostnamemap","title":"definition-properties-footer-properties-hostnamemap","description":"hostnameMap Type","sidebar":"refs"},"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties":{"id":"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","title":"definition-properties-footer-properties-hostnamemap-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-":{"id":"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","title":"definition-properties-footer-properties-hostnamemap-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/ui/definition-properties-primarycolor":{"id":"refs/config/ui/definition-properties-primarycolor","title":"definition-properties-primarycolor","description":"primaryColor Type","sidebar":"refs"},"refs/config/ui/definition-properties-primarycolor-properties-defaultcolor":{"id":"refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","title":"definition-properties-primarycolor-properties-defaultcolor","description":"defaultColor Type","sidebar":"refs"},"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap":{"id":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","title":"definition-properties-primarycolor-properties-hostnamemap","description":"hostnameMap Type","sidebar":"refs"},"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties":{"id":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","title":"definition-properties-primarycolor-properties-hostnamemap-patternproperties","description":"patternProperties Type","sidebar":"refs"},"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-":{"id":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","title":"definition-properties-primarycolor-properties-hostnamemap-patternproperties-","description":"^.\\\\*$ Type","sidebar":"refs"},"refs/config/ui/index":{"id":"refs/config/ui/index","title":"ui","description":"Top-level Schemas","sidebar":"refs"},"refs/env/auth":{"id":"refs/env/auth","title":"auth","description":"\u73af\u5883\u53d8\u91cf\u914d\u7f6e","sidebar":"refs"},"refs/env/gateway":{"id":"refs/env/gateway","title":"gateway","description":"\u73af\u5883\u53d8\u91cf\u914d\u7f6e","sidebar":"refs"},"refs/env/mis-server":{"id":"refs/env/mis-server","title":"mis-server","description":"\u73af\u5883\u53d8\u91cf\u914d\u7f6e","sidebar":"refs"},"refs/env/mis-web":{"id":"refs/env/mis-web","title":"mis-web","description":"\u73af\u5883\u53d8\u91cf\u914d\u7f6e","sidebar":"refs"},"refs/env/portal-web":{"id":"refs/env/portal-web","title":"portal-web","description":"\u73af\u5883\u53d8\u91cf\u914d\u7f6e","sidebar":"refs"},"refs/index":{"id":"refs/index","title":"\u7b80\u4ecb","description":"\u672c\u90e8\u5206\u4e3a\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\u53c2\u8003\u3002","sidebar":"refs"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/93fad3d8.bbe6d21d.js b/pr-preview/pr-1298/assets/js/93fad3d8.bbe6d21d.js deleted file mode 100644 index 1395de96c8..0000000000 --- a/pr-preview/pr-1298/assets/js/93fad3d8.bbe6d21d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8307],{19653:s=>{s.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/95052379.02bb0503.js b/pr-preview/pr-1298/assets/js/95052379.02bb0503.js deleted file mode 100644 index 993a7bdb21..0000000000 --- a/pr-preview/pr-1298/assets/js/95052379.02bb0503.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1661],{60369:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>o,metadata:()=>p,toc:()=>a});var r=s(49214),t=s(5409);const o={},n=void 0,p={id:"refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename",title:"definition-properties-slurm-properties-mis-properties-associationtablename",description:"associationTableName Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-loginnodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes"},next:{title:"definition-properties-slurm-properties-mis-properties-dbpassword",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword"}},c={},a=[{value:"associationTableName Type",id:"associationtablename-type",level:2}];function l(e){const i={code:"code",h2:"h2",p:"p",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h2,{id:"associationtablename-type",children:"associationTableName Type"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.code,{children:"string"})})]})}function d(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},5409:(e,i,s)=>{s.d(i,{R:()=>n,x:()=>p});var r=s(48318);const t={},o=r.createContext(t);function n(e){const i=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:n(e.components),r.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/95090fe2.4f6864a3.js b/pr-preview/pr-1298/assets/js/95090fe2.4f6864a3.js deleted file mode 100644 index 05df768e02..0000000000 --- a/pr-preview/pr-1298/assets/js/95090fe2.4f6864a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8351],{16415:e=>{e.exports=JSON.parse('{"title":"CLI","description":"\u5173\u4e8escow-cli\u7684\u6587\u6863","slug":"/category/cli","permalink":"/SCOW/pr-preview/pr-1298/docs/category/cli","navigation":{"previous":{"title":"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent"},"next":{"title":"\u63d2\u4ef6","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/95479f07.92f8418e.js b/pr-preview/pr-1298/assets/js/95479f07.92f8418e.js deleted file mode 100644 index 899cbb61ae..0000000000 --- a/pr-preview/pr-1298/assets/js/95479f07.92f8418e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6852],{70388:e=>{e.exports=JSON.parse('{"title":"vagrant","description":"\u4f7f\u7528vagrant\u5feb\u901f\u542f\u52a8slurm+SCOW\u96c6\u7fa4\u3002","slug":"/category/vagrant","permalink":"/SCOW/pr-preview/pr-1298/docs/category/vagrant","navigation":{"previous":{"title":"\u5feb\u901f\u4f53\u9a8c","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c"},"next":{"title":"\u4f7f\u7528","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/972d4ae7.5e18c814.js b/pr-preview/pr-1298/assets/js/972d4ae7.5e18c814.js deleted file mode 100644 index 861475e52b..0000000000 --- a/pr-preview/pr-1298/assets/js/972d4ae7.5e18c814.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1752],{82630:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>p,default:()=>a,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var i=r(49214),s=r(5409);const n={},p=void 0,o={id:"refs/config/cluster/definition-properties-slurm-properties-partitions",title:"definition-properties-slurm-properties-partitions",description:"partitions Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties"},next:{title:"definition-properties-slurm",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm"}},l={},c=[{value:"partitions Type",id:"partitions-type",level:2},{value:"Pattern: <code>^.*$</code>",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"partitions-type",children:"partitions Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",children:"Details"}),")"]}),"\n",(0,i.jsx)(t.h1,{id:"partitions-properties",children:"partitions Properties"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"^.*$"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"object"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,i.jsxs)(t.h2,{id:"pattern-",children:["Pattern: ",(0,i.jsx)(t.code,{children:"^.*$"})]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"^.*$"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Type: ",(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",children:"Details"}),")"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["defined in: ",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",title:"undefined#/properties/slurm/properties/partitions/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",children:"Details"}),")"]})]})}function a(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>p,x:()=>o});var i=r(48318);const s={},n=i.createContext(s);function p(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:p(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/983feadf.82680f8d.js b/pr-preview/pr-1298/assets/js/983feadf.82680f8d.js deleted file mode 100644 index 81f877ebca..0000000000 --- a/pr-preview/pr-1298/assets/js/983feadf.82680f8d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8447],{72914:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>l,contentTitle:()=>d,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>h});var n=t(49214),r=t(5409);const s={},d=void 0,c={id:"refs/config/mis/definition-properties-fetchjobs",title:"definition-properties-fetchjobs",description:"fetchJobs Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-startindex",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex"},next:{title:"definition-properties-jobchargecomment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment"}},l={},h=[{value:"fetchJobs Type",id:"fetchjobs-type",level:2},{value:"db",id:"db",level:2},{value:"db Type",id:"db-type",level:3},{value:"startIndex",id:"startindex",level:2},{value:"startIndex Type",id:"startindex-type",level:3},{value:"batchSize",id:"batchsize",level:2},{value:"batchSize Type",id:"batchsize-type",level:3},{value:"batchSize Default Value",id:"batchsize-default-value",level:3},{value:"periodicFetch",id:"periodicfetch",level:2},{value:"periodicFetch Type",id:"periodicfetch-type",level:3},{value:"periodicFetch Default Value",id:"periodicfetch-default-value",level:3}];function o(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h2,{id:"fetchjobs-type",children:"fetchJobs Type"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"object"})," (",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",children:"Details"}),")"]}),"\n",(0,n.jsx)(i.h1,{id:"fetchjobs-properties",children:"fetchJobs Properties"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsxs)(i.tbody,{children:[(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#db",children:"db"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"object"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",title:"undefined#/properties/fetchJobs/properties/db",children:"Untitled schema"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#startindex",children:"startIndex"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"integer"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex",title:"undefined#/properties/fetchJobs/properties/startIndex",children:"Untitled schema"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#batchsize",children:"batchSize"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"integer"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize",title:"undefined#/properties/fetchJobs/properties/batchSize",children:"Untitled schema"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#periodicfetch",children:"periodicFetch"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"object"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",title:"undefined#/properties/fetchJobs/properties/periodicFetch",children:"Untitled schema"})})]})]})]}),"\n",(0,n.jsx)(i.h2,{id:"db",children:"db"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"db"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"object"})," (",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",children:"Details"}),")"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",title:"undefined#/properties/fetchJobs/properties/db",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"db-type",children:"db Type"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"object"})," (",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",children:"Details"}),")"]}),"\n",(0,n.jsx)(i.h2,{id:"startindex",children:"startIndex"}),"\n",(0,n.jsx)(i.p,{children:"\u4ece\u54ea\u4e2abiJobIndex\u5f00\u59cb\u83b7\u53d6\u6570\u636e"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"startIndex"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"integer"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex",title:"undefined#/properties/fetchJobs/properties/startIndex",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"startindex-type",children:"startIndex Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"integer"})}),"\n",(0,n.jsx)(i.h2,{id:"batchsize",children:"batchSize"}),"\n",(0,n.jsx)(i.p,{children:"\u4e3a\u4e86\u9632\u6b62\u4e00\u6b21\u6027\u83b7\u53d6\u592a\u591a\u6570\u636e\u5360\u7528\u8fc7\u591a\u5185\u5b58\uff0c\u6bcf\u6b21\u83b7\u53d6\u7684\u4efb\u52a1\u4fe1\u606f\u6570\u91cf\u3002\u5982\u679c\u4e00\u6b21\u9700\u8981\u83b7\u53d6\u7684\u4fe1\u606f\u8d85\u8fc7\u8fd9\u4e2a\u6570\u5b57\uff0c\u90a3\u4e48\u5c06\u4f1a\u8fde\u7eed\u591a\u6b21\u83b7\u53d6"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"batchSize"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"integer"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize",title:"undefined#/properties/fetchJobs/properties/batchSize",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"batchsize-type",children:"batchSize Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"integer"})}),"\n",(0,n.jsx)(i.h3,{id:"batchsize-default-value",children:"batchSize Default Value"}),"\n",(0,n.jsx)(i.p,{children:"The default value is:"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-json",children:"100000\n"})}),"\n",(0,n.jsx)(i.h2,{id:"periodicfetch",children:"periodicFetch"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"periodicFetch"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"object"})," (",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",children:"Details"}),")"]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",title:"undefined#/properties/fetchJobs/properties/periodicFetch",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"periodicfetch-type",children:"periodicFetch Type"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"object"})," (",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",children:"Details"}),")"]}),"\n",(0,n.jsx)(i.h3,{id:"periodicfetch-default-value",children:"periodicFetch Default Value"}),"\n",(0,n.jsx)(i.p,{children:"The default value is:"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-json",children:"{}\n"})})]})}function p(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},5409:(e,i,t)=>{t.d(i,{R:()=>d,x:()=>c});var n=t(48318);const r={},s=n.createContext(r);function d(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/986b6d4a.6a78fcba.js b/pr-preview/pr-1298/assets/js/986b6d4a.6a78fcba.js deleted file mode 100644 index eb8ea41d1c..0000000000 --- a/pr-preview/pr-1298/assets/js/986b6d4a.6a78fcba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5319],{9898:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var i=n(49214),r=n(5409);const s={},o=void 0,p={id:"refs/config/portal/definition-properties-hometitle-properties-hostnamemap",title:"definition-properties-hometitle-properties-hostnamemap",description:"hostnameMap Type",source:"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometitle-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties"},next:{title:"definition-properties-hometitle",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle"}},l={},d=[{value:"hostnameMap Type",id:"hostnamemap-type",level:2},{value:"hostnameMap Default Value",id:"hostnamemap-default-value",level:2},{value:"Pattern: <code>^.*$</code>",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function a(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",children:"Details"}),")"]}),"\n",(0,i.jsx)(t.h2,{id:"hostnamemap-default-value",children:"hostnameMap Default Value"}),"\n",(0,i.jsx)(t.p,{children:"The default value is:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:"{}\n"})}),"\n",(0,i.jsx)(t.h1,{id:"hostnamemap-properties",children:"hostnameMap Properties"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"^.*$"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-",title:"undefined#/properties/homeTitle/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,i.jsxs)(t.h2,{id:"pattern-",children:["Pattern: ",(0,i.jsx)(t.code,{children:"^.*$"})]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"^.*$"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Type: ",(0,i.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["defined in: ",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-",title:"undefined#/properties/homeTitle/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>p});var i=n(48318);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9904ccd0.6a4a5d25.js b/pr-preview/pr-1298/assets/js/9904ccd0.6a4a5d25.js deleted file mode 100644 index 3bcdda31a6..0000000000 --- a/pr-preview/pr-1298/assets/js/9904ccd0.6a4a5d25.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4863],{32856:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>d,toc:()=>c});var s=n(49214),r=n(5409);const t={},l=void 0,d={id:"refs/config/cluster/definition-properties-slurm",title:"definition-properties-slurm",description:"slurm Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions"},next:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition"}},o={},c=[{value:"slurm Type",id:"slurm-type",level:2},{value:"loginNodes",id:"loginnodes",level:2},{value:"loginNodes Type",id:"loginnodes-type",level:3},{value:"loginNodes Default Value",id:"loginnodes-default-value",level:3},{value:"computeNodes",id:"computenodes",level:2},{value:"computeNodes Type",id:"computenodes-type",level:3},{value:"computeNodes Default Value",id:"computenodes-default-value",level:3},{value:"partitions",id:"partitions",level:2},{value:"partitions Type",id:"partitions-type",level:3},{value:"mis",id:"mis",level:2},{value:"mis Type",id:"mis-type",level:3}];function p(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h2,{id:"slurm-type",children:"slurm Type"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"object"})," (",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",children:"Details"}),")"]}),"\n",(0,s.jsx)(i.h1,{id:"slurm-properties",children:"slurm Properties"}),"\n",(0,s.jsxs)(i.table,{children:[(0,s.jsx)(i.thead,{children:(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,s.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,s.jsxs)(i.tbody,{children:[(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#loginnodes",children:"loginNodes"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"array"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes",title:"undefined#/properties/slurm/properties/loginNodes",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#computenodes",children:"computeNodes"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"array"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes",title:"undefined#/properties/slurm/properties/computeNodes",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#partitions",children:"partitions"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"object"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",title:"undefined#/properties/slurm/properties/partitions",children:"Untitled schema"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"#mis",children:"mis"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.code,{children:"object"})}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"Optional"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,s.jsx)(i.td,{style:{textAlign:"left"},children:(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",title:"undefined#/properties/slurm/properties/mis",children:"Untitled schema"})})]})]})]}),"\n",(0,s.jsx)(i.h2,{id:"loginnodes",children:"loginNodes"}),"\n",(0,s.jsx)(i.p,{children:"\u96c6\u7fa4\u7684\u767b\u5f55\u8282\u70b9\u5730\u5740"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"loginNodes"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"string[]"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes",title:"undefined#/properties/slurm/properties/loginNodes",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"loginnodes-type",children:"loginNodes Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"string[]"})}),"\n",(0,s.jsx)(i.h3,{id:"loginnodes-default-value",children:"loginNodes Default Value"}),"\n",(0,s.jsx)(i.p,{children:"The default value is:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-json",children:"[]\n"})}),"\n",(0,s.jsx)(i.h2,{id:"computenodes",children:"computeNodes"}),"\n",(0,s.jsx)(i.p,{children:"\u96c6\u7fa4\u7684\u8ba1\u7b97\u8282\u70b9\u5730\u5740"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"computeNodes"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"string[]"})]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes",title:"undefined#/properties/slurm/properties/computeNodes",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"computenodes-type",children:"computeNodes Type"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"string[]"})}),"\n",(0,s.jsx)(i.h3,{id:"computenodes-default-value",children:"computeNodes Default Value"}),"\n",(0,s.jsx)(i.p,{children:"The default value is:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-json",children:"[]\n"})}),"\n",(0,s.jsx)(i.h2,{id:"partitions",children:"partitions"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"partitions"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"object"})," (",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",children:"Details"}),")"]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",title:"undefined#/properties/slurm/properties/partitions",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"partitions-type",children:"partitions Type"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"object"})," (",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",children:"Details"}),")"]}),"\n",(0,s.jsx)(i.h2,{id:"mis",children:"mis"}),"\n",(0,s.jsx)(i.p,{children:"slurm\u7684MIS\u914d\u7f6e"}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.code,{children:"mis"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"is optional"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["Type: ",(0,s.jsx)(i.code,{children:"object"})," (",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",children:"Details"}),")"]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:["defined in: ",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",title:"undefined#/properties/slurm/properties/mis",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"mis-type",children:"mis Type"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"object"})," (",(0,s.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",children:"Details"}),")"]})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>l,x:()=>d});var s=n(48318);const r={},t=s.createContext(r);function l(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/996b20f7.e49fd654.js b/pr-preview/pr-1298/assets/js/996b20f7.e49fd654.js deleted file mode 100644 index d4b2769261..0000000000 --- a/pr-preview/pr-1298/assets/js/996b20f7.e49fd654.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4346],{45016:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>r,metadata:()=>p,toc:()=>a});var i=t(49214),o=t(5409);const r={},s=void 0,p={id:"refs/config/app/definition-properties-type-anyof-1",title:"definition-properties-type-anyof-1",description:"1 Type",source:"@site/docs/refs/config/app/definition-properties-type-anyof-1.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-type-anyof-1",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-type-anyof-1.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-type-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0"},next:{title:"definition-properties-type",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type"}},c={},a=[{value:"1 Type",id:"1-type",level:2},{value:"1 Constraints",id:"1-constraints",level:2}];function d(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"1-type",children:"1 Type"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"string"})}),"\n",(0,i.jsx)(n.h2,{id:"1-constraints",children:"1 Constraints"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"constant"}),": the value of this property must be equal to:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'"vnc"\n'})})]})}function f(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var i=t(48318);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9bed1141.0cb2c9cd.js b/pr-preview/pr-1298/assets/js/9bed1141.0cb2c9cd.js deleted file mode 100644 index 7e94e188a0..0000000000 --- a/pr-preview/pr-1298/assets/js/9bed1141.0cb2c9cd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[338],{7523:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>f,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var o=n(49214),r=n(5409);const i={},p=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1",title:"definition-properties-web-properties-connect-properties-method-anyof-1",description:"1 Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-method-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0"},next:{title:"definition-properties-web-properties-connect-properties-method",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method"}},c={},d=[{value:"1 Type",id:"1-type",level:2},{value:"1 Constraints",id:"1-constraints",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"1-type",children:"1 Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})}),"\n",(0,o.jsx)(t.h2,{id:"1-constraints",children:"1 Constraints"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"constant"}),": the value of this property must be equal to:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'"POST"\n'})})]})}function f(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>p,x:()=>s});var o=n(48318);const r={},i=o.createContext(r);function p(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:p(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9bee0a7d.9c348025.js b/pr-preview/pr-1298/assets/js/9bee0a7d.9c348025.js deleted file mode 100644 index 3020cee4ad..0000000000 --- a/pr-preview/pr-1298/assets/js/9bee0a7d.9c348025.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5144],{36620:(e,c,s)=>{s.r(c),s.d(c,{assets:()=>i,contentTitle:()=>l,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>d});var o=s(49214),n=s(5409);const t={slug:"scow-cli-release",title:"scow-cli",authors:["chenjunda"],tags:["scow","scow-cli","scow-deployment"]},l="scow-cli",r={permalink:"/SCOW/pr-preview/pr-1298/blog/scow-cli-release",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-03-29-scow-cli.md",source:"@site/blog/2023-03-29-scow-cli.md",title:"scow-cli",description:"\u6211\u4eec\u81f4\u529b\u4e8e\u4ee5\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u5730\u90e8\u7f72\u3001\u8fd0\u7ef4\u548c\u7ba1\u7406SCOW\u96c6\u7fa4\u3002",date:"2023-03-29T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli"},{label:"scow-deployment",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"}],readingTime:1.285,hasTruncateMarker:!1,authors:[{name:"Chen Junda",title:"Developer",url:"https://ddadaal.me",imageURL:"https://avatars.githubusercontent.com/u/8363856",key:"chenjunda"}],frontMatter:{slug:"scow-cli-release",title:"scow-cli",authors:["chenjunda"],tags:["scow","scow-cli","scow-deployment"]},unlisted:!1,prevItem:{title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter"},nextItem:{title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",permalink:"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment"}},i={authorsImageUrls:[void 0]},d=[];function p(e){const c={a:"a",code:"code",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c.p,{children:"\u6211\u4eec\u81f4\u529b\u4e8e\u4ee5\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u5730\u90e8\u7f72\u3001\u8fd0\u7ef4\u548c\u7ba1\u7406SCOW\u96c6\u7fa4\u3002"}),"\n",(0,o.jsxs)(c.p,{children:["\u4e4b\u524d\u7684",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u4e3a\u4e86\u4fdd\u8bc1\u65e0\u9700\u5b89\u88c5\u4f9d\u8d56\u5747\u53ef\u4f7f\u7528\uff0c\u6240\u4ee5\u91c7\u7528\u4e86\u548cSCOW\u5176\u4ed6\u90e8\u5206\u4e0d\u4e00\u6837\u7684python\u8bed\u8a00\u5f00\u53d1\uff0c\u4e14\u65e0\u6cd5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\u7684\u529f\u80fd\uff0c\u9650\u5236\u4e86",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u7684\u529f\u80fd\u3002"]}),"\n",(0,o.jsxs)(c.p,{children:["\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e9b\u95ee\u9898\uff0c\u6211\u4eec\u91cd\u65b0\u7f16\u5199\u4e86",(0,o.jsx)(c.code,{children:"scow-cli"}),"\u3002\u6b64\u5de5\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a"]}),"\n",(0,o.jsxs)(c.ul,{children:["\n",(0,o.jsxs)(c.li,{children:["\u4f7f\u7528",(0,o.jsx)(c.code,{children:"install.yaml"}),"\u8fdb\u884c\u914d\u7f6e\uff0c\u914d\u7f6e\u65b9\u5f0f\u548c\u7cfb\u7edf\u5176\u4ed6\u90e8\u5206\u76f8\u540c"]}),"\n",(0,o.jsx)(c.li,{children:"\u53ef\u81ea\u7531\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\uff0c\u529f\u80fd\u6269\u5c55\u8d77\u6765\u66f4\u52a0\u65b9\u4fbf"}),"\n",(0,o.jsx)(c.li,{children:"\u6b64\u5de5\u5177\u91c7\u7528\u548c\u7cfb\u7edf\u5176\u4ed6\u90e8\u5206\u76f8\u540c\u7684\u6280\u672f\u6808\u7f16\u5199\uff0c\u65b9\u4fbf\u540e\u7eed\u529f\u80fd\u5f00\u53d1\u548c\u7ef4\u62a4"}),"\n",(0,o.jsx)(c.li,{children:"\u6253\u5305\u4e3a\u4e00\u4e2a\u53ef\u4ee5\u76f4\u63a5\u6267\u884c\u7684\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u540c\u6837\u65e0\u9700\u5b89\u88c5\u4efb\u4f55\u4f9d\u8d56\u5373\u53ef\u4f7f\u7528"}),"\n"]}),"\n",(0,o.jsxs)(c.p,{children:[(0,o.jsx)(c.code,{children:"scow-cli"}),"\u662f\u540e\u7eed\u589e\u52a0\u66f4\u591a\u547d\u4ee4\u884c\u7ef4\u62a4\u529f\u80fd\u7684\u57fa\u7840\uff0c\u5efa\u8bae\u5927\u5bb6\u5c3d\u5feb\u4ece",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u8fc1\u79fb\u5230",(0,o.jsx)(c.code,{children:"scow-cli"}),"\u3002"]}),"\n",(0,o.jsxs)(c.p,{children:["\u8bf7\u53c2\u8003",(0,o.jsx)(c.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli",children:"scow-cli"}),"\u6587\u6863\u4ee5\u4e0b\u8f7dscow-cli\uff0c\u4ee5\u53ca\u4e86\u89e3\u5982\u4f55\u4ece",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u8fc1\u79fb\u5230",(0,o.jsx)(c.code,{children:"scow-cli"}),"\u3002"]})]})}function a(e={}){const{wrapper:c}={...(0,n.R)(),...e.components};return c?(0,o.jsx)(c,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},5409:(e,c,s)=>{s.d(c,{R:()=>l,x:()=>r});var o=s(48318);const n={},t=o.createContext(n);function l(e){const c=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(c):{...c,...e}}),[c,e])}function r(e){let c;return c=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(t.Provider,{value:c},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9bfb8b77.32b7bbbb.js b/pr-preview/pr-1298/assets/js/9bfb8b77.32b7bbbb.js deleted file mode 100644 index 08099e3675..0000000000 --- a/pr-preview/pr-1298/assets/js/9bfb8b77.32b7bbbb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7910],{52328:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>a});var o=t(49214),s=t(5409);const l={sidebar_position:4,title:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e"},r="\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e",i={id:"deploy/config/auth/config",title:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e",description:"UI \u914d\u7f6e",source:"@site/docs/deploy/config/auth/config.md",sourceDirName:"deploy/config/auth",slug:"/deploy/config/auth/config",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/auth/config.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e"},sidebar:"deploy",previous:{title:"LDAP",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap"},next:{title:"\u95e8\u6237\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf"}},c={},a=[{value:"UI \u914d\u7f6e",id:"ui-\u914d\u7f6e",level:2},{value:"\u5141\u8bb8\u56de\u8c03\u4e3b\u673a\u540d",id:"\u5141\u8bb8\u56de\u8c03\u4e3b\u673a\u540d",level:2},{value:"\u9a8c\u8bc1\u7801\u529f\u80fd",id:"\u9a8c\u8bc1\u7801\u529f\u80fd",level:2},{value:"\u6a21\u4eff\u7528\u6237",id:"\u6a21\u4eff\u7528\u6237",level:2},{value:"OTP\u529f\u80fd",id:"otp\u529f\u80fd",level:2},{value:"\u4e00\u3001\u5c06OTP\u5bc6\u94a5\u4fdd\u5b58\u5728LDAP\u4e2d(\u5373otp.type\u4e3aldap):",id:"\u4e00\u5c06otp\u5bc6\u94a5\u4fdd\u5b58\u5728ldap\u4e2d\u5373otptype\u4e3aldap",level:3},{value:"\u4e8c\u3001\u7531\u60a8\u81ea\u5df1\u7ba1\u7406OTP\u5bc6\u94a5(otp.type\u4e3aremote):",id:"\u4e8c\u7531\u60a8\u81ea\u5df1\u7ba1\u7406otp\u5bc6\u94a5otptype\u4e3aremote",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e",children:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e"}),"\n",(0,o.jsx)(n.h2,{id:"ui-\u914d\u7f6e",children:"UI \u914d\u7f6e"}),"\n",(0,o.jsx)(n.p,{children:"\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u5bf9\u767b\u5f55\u754c\u9762\u90e8\u5206 UI \u8fdb\u884c\u4fee\u6539"}),"\n",(0,o.jsxs)(n.p,{children:["\u5728",(0,o.jsx)(n.code,{children:"auth.yaml"}),"\u914d\u7f6e\u4e2d\uff0c\u53ef\u4ee5\u914d\u7f6e\u5173\u4e8e\u767b\u5f55\u754c\u9762 UI \u7684\u90e8\u5206\u5185\u5bb9\u3002"]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["\u6ce8\u610f\uff1a\u767b\u5f55\u6846\u4e2d\u767b\u5f55\u6309\u94ae\u989c\u8272\u8ddf\u968f\u4e3b\u9898\u8272\u914d\u7f6e\uff0c\u914d\u7f6e\u6587\u4ef6\u4e3a ",(0,o.jsx)(n.code,{children:"ui.yaml"})]})}),"\n",(0,o.jsxs)(n.p,{children:["\u5176\u4e2d\u5173\u4e8e\u80cc\u666f\u56fe\u7247\u8def\u5f84\u548c\u81ea\u5b9a\u4e49 logo \u56fe\u7247\u8def\u5f84\u7684\u8bbe\u7f6e\u53ef\u4ee5\u53c2\u8003",(0,o.jsx)(n.a,{href:"https://pkuhpc.github.io/SCOW/docs/deploy/config/customization/public-files",children:"\u516c\u5171\u6587\u4ef6"}),"\u8fdb\u884c\u914d\u7f6e\u3002\u9700\u8981\u5f3a\u8c03\u7684\u662f\u8be5\u8def\u5f84\u662f\u76f8\u5bf9\u4e8e\u516c\u5171\u6587\u4ef6\u7684\u8def\u5f84\u3002"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'# auth \u754c\u9762 ui \u914d\u7f6e\n# \u53ef\u6839\u636e\u4e0d\u540c\u57df\u540d\u8fdb\u884c\u4e0d\u540c\u7684\u5c55\u793a\uff0c\u5f53\u5bf9\u5e94\u57df\u540d\u6ca1\u6709\u76f8\u5e94\u914d\u7f6e\u65f6\u91c7\u7528 default \u914d\u7f6e\nui:\n default:\n # \u767b\u5f55\u754c\u9762\u80cc\u666f\u56fe\uff0c\u8bbe\u7f6e\u4e3a""(\u7a7a\u5b57\u7b26\u4e32)\u5219\u65e0\u80cc\u666f\u56fe\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4\u52a0\u8f7d install.yml \u540c\u7ea7\u7684 /public/assets \u76ee\u5f55\u4e0b\u7684 background.png \u4f5c\u4e3a\u80cc\u666f\u56fe\n backgroundImagePath: "./assets/background.png"\n\n # \u767b\u5f55\u754c\u9762\u80cc\u666f\u8272\uff0c\u5f53\u80cc\u666f\u56fe\u65e0\u6cd5\u52a0\u8f7d\u65f6\uff0c\u80cc\u666f\u8272\u8d77\u6548\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a #8c8c8c\n backgroundFallbackColor: "#8c8c8c" \n \n # \u767b\u5f55\u754c\u9762 logo\uff0c\u53ef\u9009\u914d\u7f6e\n logo:\n # \u672a\u914d\u7f6e\u81ea\u5b9a\u4e49 logo\uff08customLogoPath\uff09 \u65f6\uff0c\u9ed8\u8ba4\u4f7f\u7528 SCOW Logo\n # light: \u4eae\u8272\u6a21\u5f0f\u4e0b\u7684 logo, dark: \u9ed1\u6697\u6a21\u5f0f\u4e0b\u7684 logo\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a\u9ed1\u6697\u6a21\u5f0f logo\n scowLogoType: "dark"\n # \u53ef\u9009\u914d\u7f6e\uff0c\u81ea\u5b9a\u4e49 logo \u7684\u56fe\u7247\u8def\u5f84\u3002\u4e0e\u80cc\u666f\u56fe\u4e00\u81f4\uff0c\u8def\u5f84\u65f6\u76f8\u5bf9\u4e8e\u516c\u5171\u6587\u4ef6\u7684\u8def\u5f84\n customLogoPath: ""\n # \u53ef\u9009\u914d\u7f6e\uff0c\u81ea\u5b9a\u4e49\u70b9\u51fb logo \u8df3\u8f6c\u5730\u5740\n customLogoLink: "https://icode.pku.edu.cn/SCOW/"\n\n # \u767b\u5f55\u754c\u9762 slogan \u914d\u7f6e\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4\u53f3\u4fa7\u65e0 slogan\n slogan:\n # \u767b\u5f55\u754c\u9762 slogan \u6587\u5b57\u989c\u8272\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a\u767d\u8272\u5b57\u4f53\n color: "white"\n # \u767b\u5f55\u754c\u9762 slogan title\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4\u65e0 slogan \u6807\u9898\n title: "\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0"\n # \u591a\u6761 slogan \u6587\u672c\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4 slogan \u4e3a\u7a7a\u6570\u7ec4\n texts:\n - "\u56fe\u5f62\u5316\u754c\u9762\uff0c\u4f7f\u7528\u65b9\u4fbf"\n - "\u529f\u80fd\u4e30\u5bcc\uff0c\u7ba1\u7406\u7b80\u5355"\n - "\u4e00\u4f53\u5316\u90e8\u7f72\uff0c\u5f00\u7bb1\u5373\u7528"\n - "\u6807\u51c6\u5316\u5e73\u53f0\uff0c\u652f\u6301\u7b97\u529b\u878d\u5408"\n - "\u5f00\u6e90\u4e2d\u7acb\uff0c\u72ec\u7acb\u81ea\u4e3b"\n\n # \u767b\u9646\u754c\u9762\u5e95\u90e8 Power By \u5b57\u4f53\u989c\u8272\u914d\u7f6e\n # \u53ef\u9009\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a\u767d\u8272\u5b57\u4f53\n footerTextColor: "white"\n\n # \u6839\u636e\u4e0d\u57df\u540d\u8fdb\u884c\u4e0d\u540c\u7684\u5c55\u793a\uff0c\u5bf9\u5177\u4f53hostname\u751f\u6548\u7684\u751f\u6548\uff0c\u53ef\u4ee5\u4e0d\u586b\n # hostnameMap:\n\n # a.com:\n # # \u767b\u5f55\u754c\u9762\u80cc\u666f\u56fe\n # backgroundImagePath: "./assets/background1.png"\n\n # # \u767b\u5f55\u754c\u9762\u80cc\u666f\u8272\uff0c\u5f53\u80cc\u666f\u56fe\u65e0\u6cd5\u52a0\u8f7d\u65f6\uff0c\u80cc\u666f\u8272\u8d77\u6548\n # backgroundFallbackColor: "#000"\n\n # # \u767b\u5f55\u754c\u9762 logo \u56fe,\n # logo:\n # # \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u81ea\u5b9a\u4e49 logo, \u5219\u4f7f\u7528 type \u9009\u62e9 SCOW Logo\n # # light: \u4eae\u8272\u6a21\u5f0f\u4e0b\u7684 logo, dark: \u9ed1\u6697\u6a21\u5f0f\u4e0b\u7684 logo\n # scowLogoType: "light"\n # # \u81ea\u5b9a\u4e49 logo, \u9ed8\u8ba4\u4e3a\u7a7a\n # customLogoPath: ""\n # # \u81ea\u5b9a\u4e49\u70b9\u51fb logo \u8df3\u8f6c\u5730\u5740\n # customLogoLink: "https://icode.pku.edu.cn/SCOW/"\n\n # # \u767b\u5f55\u754c\u9762 slogan \u914d\u7f6e\n # slogan:\n # # \u767b\u5f55\u754c\u9762 slogan \u6587\u5b57\u989c\u8272\n # color: "black"\n # # \u767b\u5f55\u754c\u9762 slogan title\n # title: "\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0"\n # # \u591a\u6761 slogan \u6587\u672c\n # texts:\n # - "\u56fe\u5f62\u5316\u754c\u9762\uff0c\u4f7f\u7528\u65b9\u4fbf."\n # - "\u529f\u80fd\u4e30\u5bcc\uff0c\u7ba1\u7406\u7b80\u5355."\n # - "\u4e00\u4f53\u5316\u90e8\u7f72\uff0c\u5f00\u7bb1\u5373\u7528."\n # - "\u6807\u51c6\u5316\u5e73\u53f0\uff0c\u652f\u6301\u7b97\u529b\u878d\u5408."\n # - "\u5f00\u6e90\u4e2d\u7acb\uff0c\u72ec\u7acb\u81ea\u4e3b."\n\n # # \u767b\u9646\u754c\u9762\u5e95\u90e8 Power By \u5b57\u4f53\u989c\u8272\u914d\u7f6e\n # footerTextColor: "black"\n'})}),"\n",(0,o.jsx)(n.h2,{id:"\u5141\u8bb8\u56de\u8c03\u4e3b\u673a\u540d",children:"\u5141\u8bb8\u56de\u8c03\u4e3b\u673a\u540d"}),"\n",(0,o.jsxs)(n.p,{children:["\u5f53\u767b\u5f55\u5b8c\u6210\u540e\uff0c\u8ba4\u8bc1\u7cfb\u7edf\u5c06\u4f1a\u56de\u8c03\u5230\u767b\u5f55\u65f6\u4f20\u5165\u7684",(0,o.jsx)(n.code,{children:"callbackUrl"}),"\u53c2\u6570\u3002\u4e3a\u4e86\u4fdd\u8bc1\u5b89\u5168\u6027\uff0c\u8ba4\u8bc1\u7cfb\u7edf\u9ed8\u8ba4\u53ea\u5141\u8bb8\u56de\u8c03\u5230\u548c\u8ba4\u8bc1\u7cfb\u7edf\u76f8\u540c\u7684\u4e3b\u673a\u540d\u4e0b\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e",(0,o.jsx)(n.code,{children:"auth.yml"}),"\u4e0b\u7684",(0,o.jsx)(n.code,{children:"allowedCallbackHostnames"}),"\u914d\u7f6e\u9879\u6765\u914d\u7f6e\u5141\u8bb8\u56de\u8c03\u7684\u4e3b\u673a\u540d\u3002\u6ce8\u610f\uff0c\u4e3b\u673a\u540d(hostname)\u4e0d\u5305\u62ec\u7aef\u53e3\u53f7\u3002"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",metastring:'title="config/auth.yml"',children:"allowedCallbackHostnames\uff1a\n - localhost\n - another.com\n"})}),"\n",(0,o.jsx)(n.h2,{id:"\u9a8c\u8bc1\u7801\u529f\u80fd",children:"\u9a8c\u8bc1\u7801\u529f\u80fd"}),"\n",(0,o.jsxs)(n.p,{children:["\u5728",(0,o.jsx)(n.code,{children:"auth.yaml"}),"\u914d\u7f6e\u4e2d\uff0c\u53ef\u4ee5\u914d\u7f6e\u5173\u4e8e\u767b\u5f55\u9a8c\u8bc1\u7801\u7684\u529f\u80fd"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",metastring:'title="config/auth.yml"',children:"# \u9ed8\u8ba4\u4e0d\u542f\u7528\u767b\u5f55\u9a8c\u8bc1\u7801\u529f\u80fd\n# captcha:\n # enabled\u4e3atrue\u5f00\u542f\u767b\u5f55\u9a8c\u8bc1\u7801\u529f\u80fd\n # enabled: false\n"})}),"\n",(0,o.jsx)(n.p,{children:"\u542f\u7528\u767b\u5f55\u9a8c\u8bc1\u7801\u65f6UI\u754c\u9762\uff1a"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"\u9a8c\u8bc1\u7801\u767b\u5f55UI",src:t(80140).A+"",width:"973",height:"589"})}),"\n",(0,o.jsx)(n.h2,{id:"\u6a21\u4eff\u7528\u6237",children:"\u6a21\u4eff\u7528\u6237"}),"\n",(0,o.jsx)(n.p,{children:"\u5982\u679c\u767b\u5f55\u7528\u6237\u7684ID\u4e3a\u67d0\u4e2akey\uff0c\u90a3\u4e48\u5b9e\u9645\u5c06\u4f1a\u4ee5\u5176\u5bf9\u5e94\u7684value\u7684\u7528\u6237\u767b\u5f55\u3002\u4fee\u6539\u6b64\u914d\u7f6e\u65e0\u9700\u91cd\u542f\u8ba4\u8bc1\u7cfb\u7edf\u3002"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",metastring:'title="config/auth.yml"',children:"mockUsers:\n # \u5f53\u767b\u5f55\u7528\u6237\u7684ID\u4e3afromUser1\uff0c\u5b9e\u9645\u4e0a\u4ee5toUser1\u767b\u5f55\n fromUser1: toUser1\n fromUser2: toUser2\n"})}),"\n",(0,o.jsx)(n.h2,{id:"otp\u529f\u80fd",children:"OTP\u529f\u80fd"}),"\n",(0,o.jsxs)(n.p,{children:["\u5728",(0,o.jsx)(n.code,{children:"auth.yaml"}),"\u914d\u7f6e\u4e2d\uff0c\u53ef\u4ee5\u914d\u7f6e\u5173\u4e8eotp\u9a8c\u8bc1\u7801\u7684\u529f\u80fd, ldap\u8ba4\u8bc1\u65b9\u5f0f\u652f\u6301\u652f\u6301\u7ed1\u5b9aotp\u548c\u9a8c\u8bc1\uff0c\u6709\u6548\u9a8c\u8bc1\u7801\u4e3a\u5f53\u524d\u9a8c\u8bc1\u7801\u548c\u4e0a\u4e00\u4e2a\u9a8c\u8bc1\u7801\u3002ssh\u8ba4\u8bc1\u65b9\u5f0f\u4ec5\u652f\u6301\u8fdc\u7a0b\u9a8c\u8bc1\u3002"]}),"\n",(0,o.jsx)(n.h3,{id:"\u4e00\u5c06otp\u5bc6\u94a5\u4fdd\u5b58\u5728ldap\u4e2d\u5373otptype\u4e3aldap",children:"\u4e00\u3001\u5c06OTP\u5bc6\u94a5\u4fdd\u5b58\u5728LDAP\u4e2d(\u5373otp.type\u4e3aldap):"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"\u624b\u673aapp\u60a8\u53ef\u4ee5\u4f7f\u7528authenticator\uff0cFreeOTP\u7b49\u3002"}),"\n",(0,o.jsxs)(n.li,{children:["\u60a8\u9700\u8981\u81ea\u5df1\u5728ldap\u4e2d\u5b9a\u4e49\u4e00\u4e2a\u5c5e\u6027\u540d\u7528\u6765\u5b58\u50a8string\u7c7b\u578b\u7684OTP\u5bc6\u94a5,\u5e76\u914d\u7f6e\u4e3a",(0,o.jsx)(n.code,{children:"auth.yaml"}),"\u4e2d\u7684",(0,o.jsx)(n.code,{children:"opt.secretAttributeName"}),"\uff0c\u8fd9\u4e2a\u5bc6\u94a5\u5c5e\u6027\u540d\u9ed8\u8ba4\u4e3a",(0,o.jsx)(n.code,{children:"otpSecret"}),"\u3002"]}),"\n",(0,o.jsx)(n.li,{children:"\u60a8\u9700\u8981\u914d\u7f6e\u90ae\u4ef6\u53d1\u9001\u4fe1\u606f\u3002\u5176\u4e2d\uff0c\u60a8\u9700\u8981\u63d0\u4f9b\u6709\u6548\u7684\u53d1\u4ef6\u4eba\u5730\u5740\u3001SMTP \u670d\u52a1\u5668\u5730\u5740\u3001SMTP \u670d\u52a1\u5668\u7aef\u53e3\u53f7\u4ee5\u53ca SMTP \u8ba4\u8bc1\u51ed\u636e\uff08\u5305\u62ec\u7528\u6237\u540d\u548c\u6388\u6743\u7801\uff09\u3002"}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"\u4e8c\u7531\u60a8\u81ea\u5df1\u7ba1\u7406otp\u5bc6\u94a5otptype\u4e3aremote",children:"\u4e8c\u3001\u7531\u60a8\u81ea\u5df1\u7ba1\u7406OTP\u5bc6\u94a5(otp.type\u4e3aremote):"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\u90a3\u4e48\u60a8\u9700\u8981\u63d0\u4f9b\u4e00\u4e2a\u9a8c\u8bc1otp\u7801\u7684\u63a5\u53e3, \u5e76\u914d\u7f6e\u4e3a",(0,o.jsx)(n.code,{children:"otp.remote.validateUrl"}),"\uff0c\u8fd4\u56de\u9a8c\u8bc1\u7684\u7ed3\u679c\u3002\u8fd4\u56de\u7ed3\u679c\u8981\u6c42json\u683c\u5f0f",(0,o.jsx)(n.code,{children:'{"result": true|false}'}),"\u3002"]}),"\n",(0,o.jsxs)(n.li,{children:["scow\u4f1a\u4f7f\u7528fetch\u5411\u4e0a\u8ff0\u63a5\u53e3\uff08",(0,o.jsx)(n.code,{children:"otp.remote.validateUrl"}),"\uff09\u53d1\u8d77\u8bf7\u6c42\u3002fetch\u8bf7\u6c42\u4e2d",(0,o.jsx)(n.code,{children:"otpCode"}),"\u4e3a\u7528\u6237\u8f93\u5165\u7684otp\u7801\uff0c",(0,o.jsx)(n.code,{children:"userId"}),"\u4e3a\u7528\u6237\u540d\uff0c\u7c7b\u578b\u5747\u4e3a",(0,o.jsx)(n.code,{children:"string"}),"\u3002"]}),"\n"]}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{style:{textAlign:"center"},children:"fetch"}),(0,o.jsx)(n.th,{style:{textAlign:"center"}})]})}),(0,o.jsxs)(n.tbody,{children:[(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{style:{textAlign:"center"},children:"headers"}),(0,o.jsx)(n.td,{style:{textAlign:"center"},children:'"Content-Type": "application/json"'})]}),(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{style:{textAlign:"center"},children:"body"}),(0,o.jsx)(n.td,{style:{textAlign:"center"},children:"otpCode, userId"})]})]})]}),"\n",(0,o.jsxs)(n.p,{children:["\u4f8b\uff1a\u5047\u8bbe\u60a8\u662f\u50cf",(0,o.jsx)(n.a,{href:"https://github.com/google/google-authenticator-libpam",children:"Google Authenticator"}),"\u4e00\u6837\u5c06\u5bc6\u94a5\u5b58\u5728\u7528\u6237\u5bb6\u76ee\u5f55\u4e0b\u7684",(0,o.jsx)(n.code,{children:".google_authenticator"}),"\u7b2c\u4e00\u884c\u5185\u5bb9\uff0c\u90a3\u4e48\u60a8\u53ef\u4ee5\u63d0\u4f9b\u7684\u8def\u7531\u63a5\u53e3\u53ca\u670d\u52a1TypeScript\u793a\u4f8b\uff1a"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:'\nimport { Static, Type } from "@sinclair/typebox";\nimport fastify from "fastify";\nimport { NodeSSH } from "node-ssh";\nimport * as speakeasy from "speakeasy";\n\n// \u8fdc\u7a0b\u9a8c\u8bc1OTP\u7801\nconst app = fastify({ logger: true });\n\n/**\n * \u8981\u6c42\u542f\u52a8\u8be5\u670d\u52a1\u7684\u4e3b\u673a\u53ef\u4ee5ssh\u514d\u5bc6\u767b\u5f55\u5230\u5b58\u653eotp\u5bc6\u94a5\u7684\u4e3b\u673a\u7684root\u7528\u6237\u3002\u542f\u52a8\u8be5\u670d\u52a1\u7684\u4e3b\u673a\u7684\u79c1\u94a5\u5730\u5740\u4e3a/home/node/.ssh/id_rsa\uff0cnode\u4e3a\u7528\u6237\u540d\u3002\n * \u5047\u8bbe\u60a8\u7684OTP\u5bc6\u94a5\u5b58\u653e\u4e3b\u673ahost="192.168.88.102"\u4e0a/data/home/{{userId}}/.google_authenticator\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5185\u5bb9\uff0c\u5176\u4e2d{{userId}}\u4e3a\u9700\u8981\u9a8c\u8bc1otp\u7801\u662f\u5426\u6b63\u786e\u7684\u7528\u6237\u540d\n * \n */\n// ssh\u514d\u5bc6\u767b\u5f55\u5230\u5b58\u653eotp\u5bc6\u94a5\u7684root\u7528\u6237\nconst sshUserName = "root";\n// \u5047\u8bbe\u542f\u52a8\u8be5\u670d\u52a1\u7684\u4e3b\u673a\u7684\u79c1\u94a5\u5730\u5740\u4e3a/home/node/.ssh/id_rsa\nconst privateKeyPath = "/home/node/.ssh/id_rsa";\n\n// OTP\u5bc6\u94a5\u5b58\u653e\u4e3b\u673ahost="192.168.88.102"\nconst host = "192.168.88.102";\n// \u7528\u6237\u5bb6\u76ee\u5f55\uff0cotp\u5bc6\u94a5\u5b58\u653e\u4e8e\u6b64\u76ee\u5f55\u4e0b\u7684.google_authenticator\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5185\u5bb9\nconst homedir = "/data/home/{{ userId }}";\n\n// routePath\u9700\u8981\u4e0e\u60a8\u5b9e\u73b0\u7684\u9a8c\u8bc1\u63a5\u53e3(otp.remote.url\u4e2d\u7684path)\u4e00\u81f4\nconst routePath = "/otp/remote/validateCode";\n\nconst bodySchema = Type.Object({\n otpCode: Type.String(),\n userId: Type.String(),\n});\napp.post<{Body: Static<typeof bodySchema>}>(\n routePath,\n {\n schema: {\n body: bodySchema,\n },\n },\n async (req, res) => {\n // otpCode\u4e3ascow\u53d1\u8d77\u7684\u8bf7\u6c42\u643a\u5e26\u7684OTP\u9a8c\u8bc1\u7801\uff0cuserId\u4e3aOTP\u9a8c\u8bc1\u7684\u7528\u6237\u540d\n const { otpCode, userId } = req.body;\n const ssh = new NodeSSH();\n // \u83b7\u53d6OTP\u5bc6\u94a5\n const otpSecret = await ssh.connect({ host: host, username: sshUserName, privateKeyPath: privateKeyPath })\n .then(async () => {\n const otpSecretFilePath = homedir.replace("{{ userId }}", userId) + "/.google_authenticator";\n const fileContent = await ssh.execCommand(`su ${userId} && cat ${otpSecretFilePath}`);\n return fileContent.stdout.toString().split("\\n")[0];\n }).finally(() => {\n ssh.dispose();\n });\n // \u83b7\u53d6\u7edd\u5bf9\u65f6\u95f4\u6233\n const currentTime = new Date();\n const timeStamp = Date.UTC(currentTime.getUTCFullYear(), currentTime.getUTCMonth(), currentTime.getUTCDate(),\n currentTime.getUTCHours(), currentTime.getUTCMinutes(), currentTime.getUTCSeconds(),\n currentTime.getUTCMilliseconds());\n\n // \u9a8c\u8bc1\n let result = speakeasy.totp.verify({\n token: otpCode,\n time: timeStamp / 1000,\n encoding: "base32",\n secret: otpSecret,\n // digits, step, algorithm\u9700\u8981\u60a8\u4e0e\u624b\u673aapp\u8bbe\u7f6e\u4fdd\u6301\u4e00\u81f4,\u9ed8\u8ba4digits\u4e3a6\uff0cstep\u4e3a30\uff0calgorithm\u4e3asha1\n });\n // \u9a8c\u8bc1\u5931\u8d25\u5219\u68c0\u6d4b\u8f93\u5165\u7684\u662f\u5426\u662f\u4e0a\u4e00\u4e2astep\u7684otp\u7801\uff0c\u5982\u679c\u662f\uff0c\u4e5f\u7b97\u901a\u8fc7\n if (!result) {\n result = speakeasy.totp.verify({\n token: otpCode,\n time: timeStamp / 1000 - 30,\n encoding: "base32",\n secret: otpSecret,\n });\n }\n res.send({ result });\n },\n);\n\nexport const start = async () => {\n // \u914d\u7f6e\u76d1\u542c\u7684ip\u548c\u7aef\u53e3\n await app.listen({ port: 9999, host: "192.168.88.100" });\n};\nstart();\n\n'})}),"\n",(0,o.jsxs)(n.p,{children:["\u9ed8\u8ba4\u4e0d\u542f\u7528",(0,o.jsx)(n.code,{children:"otp"}),"\u529f\u80fd\uff0c\u65e0\u9700\u914d\u7f6e\u3002\u82e5\u8981\u542f\u7528",(0,o.jsx)(n.code,{children:"otp"}),", \u5219\u9700\u8981\u5c06",(0,o.jsx)(n.code,{children:"otp.enabled"}),"\u914d\u7f6e\u4e3a",(0,o.jsx)(n.code,{children:"true"}),", \u6b64\u65f6\u5fc5\u987b\u914d\u7f6e",(0,o.jsx)(n.code,{children:"otp.type"}),"\u4e3a",(0,o.jsx)(n.code,{children:"ldap"}),"\u6216\u8005",(0,o.jsx)(n.code,{children:"remote"}),"\u3002"]}),"\n",(0,o.jsxs)(n.p,{children:["\u542f\u7528\u65f6\uff0c\u5982\u679c\u60a8\u5c06",(0,o.jsx)(n.code,{children:"otp.type"}),"\u914d\u7f6e\u4e3a",(0,o.jsx)(n.code,{children:"ldap"}),", \u90a3\u4e48",(0,o.jsx)(n.code,{children:"otp.ldap"}),"\u4e0b\u6240\u6709\u6ca1\u6709\u9ed8\u8ba4\u503c\u7684\u914d\u7f6e\u9879\u90fd\u9700\u8981\u914d\u7f6e\uff0c\u6b64\u5916\u60a8\u9700\u8981\u4fdd\u8bc1",(0,o.jsx)(n.code,{children:"auth.yaml"}),"\u6587\u4ef6\u4e2d",(0,o.jsx)(n.code,{children:"ldap.attrs.mail"}),"\u88ab\u914d\u7f6e\u4e86\uff0c\u6b64\u914d\u7f6e\u5728\u8fd9\u91cc\u7528\u4e8e\u83b7\u53d6\u90ae\u7bb1\u4fe1\u606f\u53d1\u9001\u90ae\u4ef6\u3002\u540c\u6837\u5730\u5982\u679c\u60a8\u5c06",(0,o.jsx)(n.code,{children:"otp.type"}),"\u914d\u7f6e\u4e3a",(0,o.jsx)(n.code,{children:"remote"}),", \u90a3\u4e48",(0,o.jsx)(n.code,{children:"otp.remote"}),"\u4e0b\u6240\u6709\u6ca1\u6709\u9ed8\u8ba4\u503c\u7684\u914d\u7f6e\u9879\u90fd\u9700\u8981\u914d\u7f6e\u3002"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"auth.yaml:"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",metastring:'title="config/auth.yml"',children:'\n# ldap\u8ba4\u8bc1\u652f\u6301\u7ed1\u5b9a\u548c\u9a8c\u8bc1otp\uff0cssh\u8ba4\u8bc1\u4ec5\u652f\u6301\u9a8c\u8bc1\notp:\n # \u662f\u5426\u542f\u7528otp\u529f\u80fd\uff0c \u9ed8\u8ba4false\n enabled: false\n # status\u6307\u5b9aotp\u542f\u7528\u7c7b\u578b\uff0c\u5206\u522b\u4e3aldap\uff1a\u5bc6\u94a5\u5b58\u5728ldap\uff0cremote\uff1a\u5bc6\u94a5\u60a8\u81ea\u5df1\u7ba1\u7406\u3002\n type: ldap\n # \u5f53status\u4e3aldap\u65f6\u95f4\uff0c\u9700\u914d\u7f6e\u4ee5\u4e0b\u8fd9\u6bb5\u5185\u5bb9\n ldap:\n # \u9650\u5236\u7ed1\u5b9aotp\u8981\u5728\u591a\u5c11\u5206\u949f\u5185\u5b8c\u6210\uff0c\u9700\u8981\u6574\u6570, \u9ed8\u8ba410\n # bindLimitMinutes: 10\n # \u5bc6\u94a5\u5b58\u50a8\u5c5e\u6027\u540d, \u9ed8\u8ba4\u4e3aotpSecret, \u9700\u8981\u7528\u6237\u81ea\u5df1\u5728ldap\u4e2d\u8fdb\u884c\u5b9a\u4e49\n secretAttributeName: \n # \u8bbf\u95eescow\u7cfb\u7edf\u7684\u57df\u540d\u6216ip\u5730\u5740(\u4e0d\u9700\u8981\u586b\u5199scow\u7684base path),\u7528\u4e8e\u53d1\u9001\u90ae\u4ef6\u4e2d\u7ec4\u6210OTP\u7ed1\u5b9a\u9875\u9762\u7684\u5730\u5740\uff0c\u4f8b\u5982\uff1ahttps://pku.edu.cn\n scowHost: \n # otp\u9a8c\u8bc1\u8f6f\u4ef6\u626b\u63cf\u4e8c\u7ef4\u7801\u4e4b\u540e\uff0c\u51fa\u73b0\u7684label\u4e2d\uff0c\u7528\u6237\u540d\u548c@\u540e\u663e\u793a\u7684\u540d\u79f0, \u9ed8\u8ba4\u4e3aSCOW\n # ldabel: "scow"\n # otp\u7684\u4e8c\u7ef4\u7801\u4e0a\u65b9\u6587\u5b57\u63cf\u8ff0\u4fe1\u606f", \u9ed8\u8ba4\u4e3a "\u6b64\u4e8c\u7ef4\u7801\u4ec5\u51fa\u73b0\u4e00\u6b21\uff0c\u7528\u8fc7\u5373\u6bc1", \u652f\u6301html\u6807\u7b7e\n # qrcodeDescription: "\u6b64\u4e8c\u7ef4\u7801\u4ec5\u51fa\u73b0\u4e00\u6b21"\n # \u7ed1\u5b9aotp\u65f6\u53d1\u9001\u7ed1\u5b9a\u4fe1\u606f\u65b9\u5f0f\n authenticationMethod:\n mail:\n # \u53d1\u4ef6\u90ae\u7bb1\u5730\u5740\n from: "morgan68@ethereal.email"\n # \u5411\u6bcf\u4e2a\u7528\u6237\u53d1\u9001\u90ae\u4ef6\u9891\u7387\u9650\u5236\uff0c\u9700\u8981\u6574\u6570\uff0c\u5355\u4f4d\u79d2\uff0c\u9ed8\u8ba460\u79d2\u95f4\u9694\n # sendEmailFrequencyLimitInSeconds: 60\n # \u90ae\u4ef6\u4e3b\u9898\uff0c\u9ed8\u8ba4\u4e3a"OTP\u7ed1\u5b9a\u94fe\u63a5"\n # subject: "OTP\u7ed1\u5b9a\u94fe\u63a5"\n # \u90ae\u4ef6\u5185\u5bb9\u6807\u9898\uff0c\u9ed8\u8ba4\u4e3a"Bind OTP"\uff0c\u4e5f\u53ef\u4ee5\u662fhtml\u6807\u7b7e\u5185\u5bb9\n # title: "Bind OTP"\n # \u90ae\u4ef6\u5185\u5bb9,\u9ed8\u8ba4\u4e3a"Please click on the following link to bind your OTP:"\uff0c\u4e5f\u53ef\u4ee5\u662fhtml\u6807\u7b7e\u5185\u5bb9\n # contentText: "Please click on the following link to bind your OTP"\n # \u6807\u7b7e\u70b9\u51fb\u6587\u5b57,\u9ed8\u8ba4\u4e3a"Bind OTP"\n # labelText: "Bind OTP"\n mailTransportInfo:\n # SMTP\u670d\u52a1\u5668\n host: "smtp.ethereal.email"\n # \u662f\u5426\u542f\u7528\u5b89\u5168\u8fde\u63a5\uff0c\u9ed8\u8ba4false\n # secure: false\n # \u670d\u52a1\u5668\u7aef\u53e3\n port: 587\n # SMTP\u8eab\u4efd\u9a8c\u8bc1\u7528\u6237\u540d\n user: "morgan68@ethereal.email"\n # SMTP\u8eab\u4efd\u9a8c\u8bc1\u6388\u6743\u7801\n password: "y2es3bd3rYwxWs5n8g"\n # \u5982\u679cmode\u6307\u5b9a\u4e3aremote\uff0c\u9700\u8981\u914d\u7f6e\u4ee5\u4e0b\u5185\u5bb9\n remote:\n # \u8fdc\u7a0b\u9a8c\u8bc1url\uff0c\u4f8b\u5982http://localhost:9999/otp/remote/validateCode,\u8be6\u89c1https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config\n validateUrl: \n # \u5f53\u7528\u6237\u70b9\u51fb\u7ed1\u5b9aOTP\u6309\u94ae\u65f6\u8df3\u8f6c\u7684\u6309\u94ae\uff0c\u5efa\u8bae\u914d\u7f6e\uff0c\u4e0d\u914d\u7f6e\u4f1a\u4e0d\u663e\u793a\u7ed1\u5b9aotp\u6309\u94ae\n # redirectUrl: https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config \n\n'})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},80140:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/\u9a8c\u8bc1\u7801\u767b\u5f55UI-e706d1f9b21221bb70af6166e0cf48b8.png"},5409:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>i});var o=t(48318);const s={},l=o.createContext(s);function r(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9e4087bc.69ca59cf.js b/pr-preview/pr-1298/assets/js/9e4087bc.69ca59cf.js deleted file mode 100644 index 6c645f7a0a..0000000000 --- a/pr-preview/pr-1298/assets/js/9e4087bc.69ca59cf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2711],{79284:(e,r,t)=>{t.r(r),t.d(r,{default:()=>m});t(48318);var a=t(33985),s=t(7866),n=t(30763),i=t(90851),c=t(68665),l=t(31773),o=t(49214);function d(e){let{year:r,posts:t}=e;const s=(0,i.i)({day:"numeric",month:"long",timeZone:"UTC"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.A,{as:"h3",id:r,children:r}),(0,o.jsx)("ul",{children:t.map((e=>{return(0,o.jsx)("li",{children:(0,o.jsxs)(a.A,{to:e.metadata.permalink,children:[(r=e.metadata.date,s.format(new Date(r)))," - ",e.metadata.title]})},e.metadata.date);var r}))})]})}function h(e){let{years:r}=e;return(0,o.jsx)("section",{className:"margin-vert--lg",children:(0,o.jsx)("div",{className:"container",children:(0,o.jsx)("div",{className:"row",children:r.map(((e,r)=>(0,o.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,o.jsx)(d,{...e})},r)))})})})}function m(e){let{archive:r}=e;const t=(0,s.T)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),a=(0,s.T)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),i=function(e){const r=e.reduce(((e,r)=>{const t=r.metadata.date.split("-")[0],a=e.get(t)??[];return e.set(t,[r,...a])}),new Map);return Array.from(r,(e=>{let[r,t]=e;return{year:r,posts:t}}))}(r.blogPosts);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.be,{title:t,description:a}),(0,o.jsxs)(c.A,{children:[(0,o.jsx)("header",{className:"hero hero--primary",children:(0,o.jsxs)("div",{className:"container",children:[(0,o.jsx)(l.A,{as:"h1",className:"hero__title",children:t}),(0,o.jsx)("p",{className:"hero__subtitle",children:a})]})}),(0,o.jsx)("main",{children:i.length>0&&(0,o.jsx)(h,{years:i})})]})]})}},90851:(e,r,t)=>{t.d(r,{i:()=>s});var a=t(62429);function s(e){void 0===e&&(e={});const{i18n:{currentLocale:r}}=(0,a.A)(),t=function(){const{i18n:{currentLocale:e,localeConfigs:r}}=(0,a.A)();return r[e].calendar}();return new Intl.DateTimeFormat(r,{calendar:t,...e})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9e59f98a.d08bcad6.js b/pr-preview/pr-1298/assets/js/9e59f98a.d08bcad6.js deleted file mode 100644 index 70186081e0..0000000000 --- a/pr-preview/pr-1298/assets/js/9e59f98a.d08bcad6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5101],{40048:s=>{s.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/9fce2471.43bb23ba.js b/pr-preview/pr-1298/assets/js/9fce2471.43bb23ba.js deleted file mode 100644 index 7e3caf1827..0000000000 --- a/pr-preview/pr-1298/assets/js/9fce2471.43bb23ba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2212],{21187:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>n,default:()=>f,frontMatter:()=>i,metadata:()=>s,toc:()=>a});var p=t(49214),o=t(5409);const i={},n=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-",title:"definition-properties-web-properties-connect-properties-formdata-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-beforescript",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript"},next:{title:"definition-properties-web-properties-connect-properties-formdata-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties"}},c={},a=[{value:"^.*$ Type",id:"-type",level:2}];function d(e){const r={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(r.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,p.jsx)(r.p,{children:(0,p.jsx)(r.code,{children:"string"})})]})}function f(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,p.jsx)(r,{...e,children:(0,p.jsx)(d,{...e})}):d(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>n,x:()=>s});var p=t(48318);const o={},i=p.createContext(o);function n(e){const r=p.useContext(i);return p.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),p.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a0bc05eb.041d0386.js b/pr-preview/pr-1298/assets/js/a0bc05eb.041d0386.js deleted file mode 100644 index aa32ea8f9d..0000000000 --- a/pr-preview/pr-1298/assets/js/a0bc05eb.041d0386.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2889],{5317:e=>{e.exports=JSON.parse('{"title":"\u5b89\u88c5","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u60a8\u7684\u96c6\u7fa4\u4e0a\u5b89\u88c5SCOW\u3002","slug":"/category/\u5b89\u88c5","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5","navigation":{"previous":{"title":"FAQ","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq"},"next":{"title":"\u5b89\u88c5","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/install/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a25b4132.ebd5dc52.js b/pr-preview/pr-1298/assets/js/a25b4132.ebd5dc52.js deleted file mode 100644 index fda3da42b6..0000000000 --- a/pr-preview/pr-1298/assets/js/a25b4132.ebd5dc52.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9485],{47186:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var i=t(49214),r=t(5409);const o={sidebar_position:1,title:"\u7b80\u4ecb"},s="\u8ba4\u8bc1\u7cfb\u7edf\u7b80\u4ecb",c={id:"deploy/config/auth/intro",title:"\u7b80\u4ecb",description:"\u8ba4\u8bc1\u7cfb\u7edf(auth)\u4e3a\u7cfb\u7edf\u63d0\u4f9b\u7528\u6237\u767b\u5f55\u529f\u80fd\uff0c\u4ee5\u53ca\u4e3a\u5404\u4e2a\u7ec4\u4ef6\u63d0\u4f9b\u9274\u6743\u670d\u52a1\u3002",source:"@site/docs/deploy/config/auth/intro.md",sourceDirName:"deploy/config/auth",slug:"/deploy/config/auth/intro",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/auth/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u7b80\u4ecb"},sidebar:"deploy",previous:{title:"\u8ba4\u8bc1",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1"},next:{title:"SSH",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh"}},d={},p=[];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",img:"img",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"\u8ba4\u8bc1\u7cfb\u7edf\u7b80\u4ecb",children:"\u8ba4\u8bc1\u7cfb\u7edf\u7b80\u4ecb"}),"\n",(0,i.jsxs)(n.p,{children:["\u8ba4\u8bc1\u7cfb\u7edf(",(0,i.jsx)(n.code,{children:"auth"}),")\u4e3a\u7cfb\u7edf\u63d0\u4f9b\u7528\u6237\u767b\u5f55\u529f\u80fd\uff0c\u4ee5\u53ca\u4e3a\u5404\u4e2a\u7ec4\u4ef6\u63d0\u4f9b\u9274\u6743\u670d\u52a1\u3002"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"\u8ba4\u8bc1\u8fc7\u7a0b\u56fe",src:t(77168).A+"",width:"1204",height:"944"})}),"\n",(0,i.jsx)(n.h1,{id:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf",children:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf"}),"\n",(0,i.jsx)(n.p,{children:"\u6211\u4eec\u63d0\u4f9b\u7684\u8ba4\u8bc1\u7cfb\u7edf\u5b9e\u73b0\u652f\u6301\u4ee5\u4e0b\u8ba4\u8bc1\u65b9\u5f0f\u3002\u8bf7\u6839\u636e\u81ea\u5df1\u7684\u96c6\u7fa4\u7684\u60c5\u51b5\uff0c\u9009\u62e9\u81ea\u5df1\u7684\u8ba4\u8bc1\u65b9\u5f0f\u5e76\u8fdb\u884c\u90e8\u7f72\u548c\u914d\u7f6e\u3002"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh",children:"SSH"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap",children:"LDAP"})}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"\u5982\u679c\u60a8\u7684\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528SSH\u767b\u5f55\uff0c\u53ef\u4ee5\u9996\u5148\u4f7f\u7528\u6700\u7b80\u5355\u7684SSH\u65b9\u5f0f\u8fdb\u884c\u6d4b\u8bd5\u3002"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5185\u7f6e\u7cfb\u7edf\u7684\u989d\u5916\u914d\u7f6e\u4ecb\u7ecd\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config",children:"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e"})]}),"\n",(0,i.jsx)(n.h1,{id:"\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u65b9\u5f0f",children:"\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u65b9\u5f0f"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u7684\u96c6\u7fa4\u9700\u8981\u4f7f\u7528\u5176\u4ed6\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u4e0eSCOW\u96c6\u6210\u6587\u6863\u53bb",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/auth/use",children:"\u4f7f\u7528"}),"\u6216\u8005",(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl",children:"\u5b9e\u73b0"}),"\u4e00\u4e2a\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf\u3002"]})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},77168:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/auth-aced6bc5ed584662434b1eda9b744ba2.png"},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var i=t(48318);const r={},o=i.createContext(r);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a2b87712.eacb7826.js b/pr-preview/pr-1298/assets/js/a2b87712.eacb7826.js deleted file mode 100644 index f25111d9fc..0000000000 --- a/pr-preview/pr-1298/assets/js/a2b87712.eacb7826.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4847],{15997:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>f,frontMatter:()=>n,metadata:()=>p,toc:()=>a});var i=r(49214),o=r(5409);const n={},s=void 0,p={id:"refs/config/portal/definition-properties-hometitle-properties-defaulttext",title:"definition-properties-hometitle-properties-defaulttext",description:"defaultText Type",source:"@site/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometitle-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext"},next:{title:"definition-properties-hometitle-properties-hostnamemap-default",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default"}},l={},a=[{value:"defaultText Type",id:"defaulttext-type",level:2},{value:"defaultText Default Value",id:"defaulttext-default-value",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"defaulttext-type",children:"defaultText Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})}),"\n",(0,i.jsx)(t.h2,{id:"defaulttext-default-value",children:"defaultText Default Value"}),"\n",(0,i.jsx)(t.p,{children:"The default value is:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'"SCOW"\n'})})]})}function f(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>p});var i=r(48318);const o={},n=i.createContext(o);function s(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a4ad22f5.ba3d0768.js b/pr-preview/pr-1298/assets/js/a4ad22f5.ba3d0768.js deleted file mode 100644 index d3207c8db2..0000000000 --- a/pr-preview/pr-1298/assets/js/a4ad22f5.ba3d0768.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7540],{4094:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>f,frontMatter:()=>t,metadata:()=>d,toc:()=>p});var r=n(49214),s=n(5409);const t={title:"mis"},c="README",d={id:"refs/config/mis/index",title:"mis",description:"Top-level Schemas",source:"@site/docs/refs/config/mis/index.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/index.md",tags:[],version:"current",frontMatter:{title:"mis"},sidebar:"refs",previous:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition"},next:{title:"definition-properties-accountnamepattern-properties-errormessage",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage"}},o={},p=[{value:"Top-level Schemas",id:"top-level-schemas",level:2},{value:"Other Schemas",id:"other-schemas",level:2},{value:"Objects",id:"objects",level:3},{value:"Arrays",id:"arrays",level:3}];function l(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.h1,{id:"readme",children:"README"}),"\n",(0,r.jsx)(i.h2,{id:"top-level-schemas",children:"Top-level Schemas"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"-"})]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"other-schemas",children:"Other Schemas"}),"\n",(0,r.jsx)(i.h3,{id:"objects",children:"Objects"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/db"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/accountNamePattern"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/fetchJobs"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/fetchJobs/properties/db"})]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",children:"Untitled object in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/fetchJobs/properties/periodicFetch"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"arrays",children:"Arrays"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes",title:"\u9884\u5b9a\u4e49\u7684\u5145\u503c\u7c7b\u578b",children:"Untitled array in undefined"})," \u2013 ",(0,r.jsx)(i.code,{children:"undefined#/properties/predefinedChargingTypes"})]}),"\n"]})]})}function f(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>c,x:()=>d});var r=n(48318);const s={},t=r.createContext(s);function c(e){const i=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a4d86676.1b9d4e3f.js b/pr-preview/pr-1298/assets/js/a4d86676.1b9d4e3f.js deleted file mode 100644 index f61f5754ac..0000000000 --- a/pr-preview/pr-1298/assets/js/a4d86676.1b9d4e3f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4139],{66641:e=>{e.exports=JSON.parse('{"title":"\u8fd0\u7ef4","description":"\u672c\u8282\u4ecb\u7ecdSCOW\u8fd0\u7ef4\u76f8\u5173\u6280\u5de7\u3002","slug":"/category/\u8fd0\u7ef4","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4","navigation":{"previous":{"title":"\u591a\u96c6\u7fa4\u7ba1\u7406","permalink":"/SCOW/pr-preview/pr-1298/docs/multi_cluster"},"next":{"title":"\u8fd0\u7ef4","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a52439c7.e5b517c2.js b/pr-preview/pr-1298/assets/js/a52439c7.e5b517c2.js deleted file mode 100644 index a502b00bd5..0000000000 --- a/pr-preview/pr-1298/assets/js/a52439c7.e5b517c2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5121],{53464:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>o,metadata:()=>p,toc:()=>a});var n=r(49214),i=r(5409);const o={},s=void 0,p={id:"refs/config/mis/definition-properties-accountnamepattern-properties-regex",title:"definition-properties-accountnamepattern-properties-regex",description:"regex Type",source:"@site/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-accountnamepattern-properties-regex",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-accountnamepattern-properties-errormessage",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage"},next:{title:"definition-properties-accountnamepattern",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern"}},c={},a=[{value:"regex Type",id:"regex-type",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"regex-type",children:"regex Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>p});var n=r(48318);const i={},o=n.createContext(i);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a5ef1f4b.91440ec0.js b/pr-preview/pr-1298/assets/js/a5ef1f4b.91440ec0.js deleted file mode 100644 index 517c589cdf..0000000000 --- a/pr-preview/pr-1298/assets/js/a5ef1f4b.91440ec0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4791],{7837:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>c,default:()=>x,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var d=n(49214),r=n(5409);const s={title:"auth"},c="auth",i={id:"refs/env/auth",title:"auth",description:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",source:"@site/docs/refs/env/auth.md",sourceDirName:"refs/env",slug:"/refs/env/auth",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/auth",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/env/auth.md",tags:[],version:"current",frontMatter:{title:"auth"},sidebar:"refs",previous:{title:"definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition"},next:{title:"gateway",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway"}},h={},l=[{value:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",level:2}];function o(e){const t={code:"code",h1:"h1",h2:"h2",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.h1,{id:"auth",children:"auth"}),"\n",(0,d.jsx)(t.h2,{id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",children:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e"}),"\n",(0,d.jsxs)(t.table,{children:[(0,d.jsx)(t.thead,{children:(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.th,{children:"\u540d\u5b57"}),(0,d.jsx)(t.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(t.th,{children:"\u63cf\u8ff0"}),(0,d.jsx)(t.th,{children:"\u9ed8\u8ba4\u503c"})]})}),(0,d.jsxs)(t.tbody,{children:[(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"HOST"})}),(0,d.jsx)(t.td,{children:"\u4e3b\u673a\u540d"}),(0,d.jsx)(t.td,{children:"\u76d1\u542c\u5730\u5740"}),(0,d.jsx)(t.td,{children:"0.0.0.0"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"PORT"})}),(0,d.jsx)(t.td,{children:"\u7aef\u53e3\u53f7"}),(0,d.jsx)(t.td,{children:"\u76d1\u542c\u7aef\u53e3"}),(0,d.jsx)(t.td,{children:"5000"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"LOG_LEVEL"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u65e5\u5fd7\u7b49\u7ea7"}),(0,d.jsx)(t.td,{children:"info"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"BASE_PATH"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u8ba4\u8bc1\u7cfb\u7edf\u90e8\u7f72\u5730\u5740\u7684base path"}),(0,d.jsx)(t.td,{children:"/"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"AUTH_TYPE"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsxs)(t.td,{children:["\u8ba4\u8bc1\u7c7b\u578b\u3002\u5c06\u4f1a\u8986\u5199\u914d\u7f6e\u6587\u4ef6",(0,d.jsx)("br",{}),"\u53ef\u9009\u9879\uff1aldap,ssh"]}),(0,d.jsx)(t.td,{children:"\u4e0d\u8bbe\u7f6e"})]}),(0,d.jsxs)(t.tr,{children:[(0,d.jsx)(t.td,{children:(0,d.jsx)(t.code,{children:"MOCK_USERS"})}),(0,d.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(t.td,{children:"\u6a21\u4eff\u7528\u6237\uff0c\u5982\u679c\u8fd9\u4e9b\u7528\u6237\u767b\u5f55\uff0c\u5c06\u5176ID\u6539\u4e3a\u53e6\u4e00\u4e2aID\u3002\u683c\u5f0f\uff1a\u539f\u7528\u6237ID=\u65b0\u7528\u6237ID,\u539f\u7528\u6237ID=\u65b0\u7528\u6237ID\u3002"}),(0,d.jsx)(t.td,{})]})]})]})]})}function x(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(o,{...e})}):o(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var d=n(48318);const r={},s=d.createContext(r);function c(e){const t=d.useContext(s);return d.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),d.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a6aa9e1f.4ad74833.js b/pr-preview/pr-1298/assets/js/a6aa9e1f.4ad74833.js deleted file mode 100644 index aecd0e5fdc..0000000000 --- a/pr-preview/pr-1298/assets/js/a6aa9e1f.4ad74833.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7643],{58540:(e,t,a)=>{a.r(t),a.d(t,{default:()=>f});a(48318);var n=a(46601),i=a(62429),r=a(30763),o=a(83682),s=a(25698),l=a(16946),d=a(5270),c=a(95439),g=a(39527),p=a(90883),u=a(49214);function m(e){const t=(0,p.k)(e);return(0,u.jsx)(g.A,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function h(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,i.A)(),{blogDescription:n,blogTitle:o,permalink:s}=t,l="/"===s?a:o;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(r.be,{title:l,description:n}),(0,u.jsx)(d.A,{tag:"blog_posts_list"})]})}function b(e){const{metadata:t,items:a,sidebar:n}=e;return(0,u.jsxs)(s.A,{sidebar:n,children:[(0,u.jsx)(c.A,{items:a}),(0,u.jsx)(l.A,{metadata:t})]})}function f(e){return(0,u.jsxs)(r.e3,{className:(0,n.A)(o.G.wrapper.blogPages,o.G.page.blogListPage),children:[(0,u.jsx)(h,{...e}),(0,u.jsx)(m,{...e}),(0,u.jsx)(b,{...e})]})}},16946:(e,t,a)=>{a.d(t,{A:()=>o});a(48318);var n=a(7866),i=a(31423),r=a(49214);function o(e){const{metadata:t}=e,{previousPage:a,nextPage:o}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,n.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[a&&(0,r.jsx)(i.A,{permalink:a,title:(0,r.jsx)(n.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),o&&(0,r.jsx)(i.A,{permalink:o,title:(0,r.jsx)(n.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}},95439:(e,t,a)=>{a.d(t,{A:()=>o});a(48318);var n=a(59974),i=a(77472),r=a(49214);function o(e){let{items:t,component:a=i.A}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,r.jsx)(n.i,{content:t,children:(0,r.jsx)(a,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)}))})}},90883:(e,t,a)=>{a.d(t,{k:()=>c,J:()=>g});var n=a(90246),i=a(62429),r=a(5766);var o=a(59974);const s=e=>new Date(e).toISOString();function l(e){const t=e.map(p);return{author:1===t.length?t[0]:t}}function d(e,t,a){return e?{image:u({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function c(e){const{siteConfig:t}=(0,i.A)(),{withBaseUrl:a}=(0,n.h)(),{metadata:{blogDescription:r,blogTitle:o,permalink:c}}=e,g=`${t.url}${c}`;return{"@context":"https://schema.org","@type":"Blog","@id":g,mainEntityOfPage:g,headline:o,description:r,blogPost:e.items.map((e=>function(e,t,a){const{assets:n,frontMatter:i,metadata:r}=e,{date:o,title:c,description:g,lastUpdatedAt:p}=r,u=n.image??i.image,m=i.keywords??[],h=`${t.url}${r.permalink}`,b=p?s(p):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:c,name:c,description:g,datePublished:o,...b?{dateModified:b}:{},...l(r.authors),...d(u,a,c),...m?{keywords:m}:{}}}(e.content,t,a)))}}function g(){const e=function(){const e=(0,r.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}(),{assets:t,metadata:a}=(0,o.e)(),{siteConfig:c}=(0,i.A)(),{withBaseUrl:g}=(0,n.h)(),{date:p,title:u,description:m,frontMatter:h,lastUpdatedAt:b}=a,f=t.image??h.image,x=h.keywords??[],j=b?s(b):void 0,A=`${c.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":A,mainEntityOfPage:A,url:A,headline:u,name:u,description:m,datePublished:p,...j?{dateModified:j}:{},...l(a.authors),...d(f,g,u),...x?{keywords:x}:{},isPartOf:{"@type":"Blog","@id":`${c.url}${e.blogBasePath}`,name:e.blogTitle}}}function p(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function u(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a6b6269c.403bb593.js b/pr-preview/pr-1298/assets/js/a6b6269c.403bb593.js deleted file mode 100644 index 8b590b0aac..0000000000 --- a/pr-preview/pr-1298/assets/js/a6b6269c.403bb593.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5110],{13771:(n,e,s)=>{s.r(e),s.d(e,{assets:()=>m,contentTitle:()=>i,default:()=>a,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var t=s(49214),o=s(5409);const r={sidebar_position:5,title:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219"},i="\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219",c={id:"deploy/config/customization/custom-amount-strategies",title:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219",description:"\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\uff0c\u60a8\u53ef\u4ee5\u589e\u52a0\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219\uff0c\u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u8fdb\u884c\u914d\u7f6e\uff0c\u5c31\u53ef\u4ee5\u5728\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f",source:"@site/docs/deploy/config/customization/custom-amount-strategies.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/custom-amount-strategies",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/custom-amount-strategies.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks"},next:{title:"\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks"}},m={},l=[{value:"\u589e\u52a0\u914d\u7f6e\u76ee\u5f55\u53ca\u81ea\u5b9a\u4e49\u89c4\u5219js\u6587\u4ef6",id:"\u589e\u52a0\u914d\u7f6e\u76ee\u5f55\u53ca\u81ea\u5b9a\u4e49\u89c4\u5219js\u6587\u4ef6",level:2},{value:"mis.yaml\u589e\u52a0\u53ef\u9009\u914d\u7f6e",id:"misyaml\u589e\u52a0\u53ef\u9009\u914d\u7f6e",level:2},{value:"\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f",id:"\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f",level:2}];function u(n){const e={code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{id:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219",children:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219"}),"\n",(0,t.jsx)(e.p,{children:"\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\uff0c\u60a8\u53ef\u4ee5\u589e\u52a0\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219\uff0c\u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u8fdb\u884c\u914d\u7f6e\uff0c\u5c31\u53ef\u4ee5\u5728\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f"}),"\n",(0,t.jsx)(e.h2,{id:"\u589e\u52a0\u914d\u7f6e\u76ee\u5f55\u53ca\u81ea\u5b9a\u4e49\u89c4\u5219js\u6587\u4ef6",children:"\u589e\u52a0\u914d\u7f6e\u76ee\u5f55\u53ca\u81ea\u5b9a\u4e49\u89c4\u5219js\u6587\u4ef6"}),"\n",(0,t.jsxs)(e.p,{children:["\u589e\u52a0\u914d\u7f6e\u76ee\u5f55\uff1a",(0,t.jsx)(e.code,{children:"config/scripts"}),'\uff0c\u653e\u7f6e\u60a8\u7f16\u5199\u8ba1\u8d39\u89c4\u5219\u51fd\u6570\u7684js\u6587\u4ef6\uff0c\u8fd9\u4e9bjs\u6587\u4ef6\u53ef\u4ee5\u662fcommonjs\u6216\u8005esm\u7684\u3002SCOW\u901a\u8fc7require("\u8def\u5f84")\u7684\u65b9\u5f0f\u8bfb\u53d6\u8fd9\u4e9b\u811a\u672c\u6587\u4ef6\uff0c\u5e76\u5728\u8ba1\u8d39\u7684\u65f6\u5019\u8c03\u7528\u8fd9\u4e2a\u51fd\u6570\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u589e\u52a0\u4e00\u4e2a\u540d\u4e3amy-strategy.js\u7684\u6587\u4ef6\u3002\u6587\u4ef6\u5e94\u5f53\u9ed8\u8ba4\u5bfc\u51fa\u4e00\u4e2a\u5982\u4e0b\u7684\u51fd\u6570\uff0c\u8fd4\u56de\u4e00\u4e2a\u6570\u503c\uff1a']}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",metastring:'title="config/scripts/my-strategy.js"',children:"// \u7cfb\u7edf\u81ea\u5e26\u7684\u8ba1\u8d39\u89c4\u5219\u8bf7\u53c2\u8003 apps/mis-server/src/bl/jobPrice.ts \u6587\u4ef6\u4e2d\u7684 amountStrategyFuncs\n// \u672c\u51fd\u6570\u7684\u8ba1\u8d39\u6a21\u5f0f\uff1a\u5982\u679c\u4f5c\u4e1a\u8fd0\u884c\u65f6\u95f4\u5c0f\u4e8e180s\uff0c\u5219\u4e0d\u6263\u8d39\uff0c\u5982\u679c\u4f7f\u7528\u4e86gpu\uff0c\u6309\u7167gpu\u5206\u914d\u91cf\u8ba1\u8d39\uff0c\n// \u5982\u679cotherAsyncRules\u4e3atrue\uff0c\u8fd4\u56de10\uff0c\u5176\u4f59\u7684\u6309\u7167cpu\u5206\u914d\u91cf\u8ba1\u8d39\nfunction myStrategy(jobInfo) {\n const otherAsyncRules = false;\n if (jobInfo.timeUsed < 180) {\n return 0;\n } else if (jobInfo.gpu) {\n return jobInfo.gpu;\n } else if (otherAsyncRules) {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(10);\n }, 1000); // \u6a21\u62df\u5f02\u6b65\u64cd\u4f5c\uff0c\u5728 1 \u79d2\u540e\u8fd4\u56de\u6570\u503c 10\n });\n }\n\n return jobInfo.cpusAlloc;\n}\n\nmodule.exports = myStrategy;\n"})}),"\n",(0,t.jsx)(e.p,{children:"\u4e0a\u8ff0js\u6587\u4ef6\u5bf9\u5e94\u7684ts\u7c7b\u578b\u5982\u4e0b\uff1a"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",metastring:'my-strategy.ts"',children:"\n// \u4f5c\u4e1a\u7684\u7528\u91cf\u4fe1\u606f\nexport interface JobInfo {\n // \u96c6\u7fa4\u4f5c\u4e1aid\n jobId: number;\n // scow\u4e2d\u7684\u96c6\u7fa4id\n cluster: string;\n // \u5206\u533a\n partition: string;\n qos: string;\n // \u4f5c\u4e1a\u8fd0\u884c\u65f6\u95f4\n timeUsed: number;\n // \u5206\u914dCPU\u6570tres_alloc\n cpusAlloc: number;\n // \u4f7f\u7528GPU\u6570\u3002\u6765\u81eagres_req\u5b57\u6bb5\n gpu: number;\n // \u7533\u8bf7\u7684\u5185\u5b58\uff0c\u6765\u81eatres_req\n memReq: number;\n // \u5206\u914d\u7684\u5185\u5b58,\u6765\u81eatres_alloc\n memAlloc: number;\n // \u8d26\u6237\n account: string;\n // \u79df\u6237\n tenant: string;\n}\n\nexport function myStrategy(jobInfo: JobInfo): number | Promise<number> {\n const otherAsyncRules = false;\n if (jobInfo.timeUsed < 180) {\n return 0;\n } else if (jobInfo.gpu) {\n return jobInfo.gpu;\n } else if (otherAsyncRules) {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(10);\n }, 1000); // \u6a21\u62df\u5f02\u6b65\u64cd\u4f5c\uff0c\u5728 1 \u79d2\u540e\u8fd4\u56de\u6570\u503c 10\n });\n }\n\n return jobInfo.cpusAlloc;\n}\n\n"})}),"\n",(0,t.jsx)(e.h2,{id:"misyaml\u589e\u52a0\u53ef\u9009\u914d\u7f6e",children:"mis.yaml\u589e\u52a0\u53ef\u9009\u914d\u7f6e"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'# \u65b0\u589e\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219\ncustomAmountStrategies:\n # \u8ba1\u8d39\u65b9\u5f0fid\uff0c\u8bf7\u52ff\u91cd\u590d\uff0c\u91cd\u590d\u7684\u8bdd\u540e\u9762\u7684\u8ba1\u8d39\u65b9\u5f0f\u5c06\u4f1a\u8986\u76d6\u524d\u9762\u7684\uff0c\n # \u5b9a\u4e49\u540e\u4e0d\u80fd\u66f4\u6539\uff0c\u81ea\u5b9a\u4e49\u8ba1\u8d39\u9879\u4f1a\u8bb0\u5f55\u6240\u4f7f\u7528\u7684\u8ba1\u8d39\u65b9\u5f0fid\uff0c\u5e76\u5b58\u50a8\u5230\u6570\u636e\u5e93\u91cc\uff0c\n # \u5176\u4f5c\u7528\u4e0e"max-cpusAlloc-mem", "max-gpu-cpusAlloc", "gpu", "cpusAlloc"\u7b49\u540c\uff0c\n # \u82e5\u5f53\u524d\u751f\u6548\u7684\u81ea\u5b9a\u4e49\u8ba1\u8d39\u9879\u4f7f\u7528\u4e86\u67d0\u81ea\u5b9a\u4e49\u8ba1\u8d39\u65b9\u5f0fid\uff0c\u4f60\u4e0d\u80fd\u5220\u9664\u5b83\uff0c\u5426\u5219\u7cfb\u7edf\u5c06\u65e0\u6cd5\u542f\u52a8\uff0c\u5982\u8981\u5220\u9664\uff0c\u8bf7\u5148\u4f7f\u8be5\u8ba1\u8d39\u9879\u5931\u6548\n - id: "strategy1"\n # \u53ef\u9009\uff0c\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f\u7684\u663e\u793a\u540d\u79f0\uff0c\u5982\u4e0d\u586b\u5199\u5c06\u4f7f\u7528id\u7684\u5185\u5bb9\n name: "\u81ea\u5b9a\u4e49\u6536\u8d39\u8ba1\u7b97\u65b9\u5f0f1"\n # \u53ef\u9009\uff0c\u8ba1\u91cf\u65b9\u5f0f\u63cf\u8ff0\n comment: "\u81ea\u5b9a\u4e49\u6536\u8d39\u8ba1\u7b97\u65b9\u5f0f1\uff0c\u8fd0\u884c\u65f6\u95f4\u4f4e\u4e8e3\u5206\u949f\u4ee5\u4e0b\u7684\u4f5c\u4e1a\u4e0d\u8ba1\u8d39\uff0c\u5927\u4e8e\u6216\u7b49\u4e8e3\u5206\u949f\u7684\u6309\u7167gpu\u6216cpu\u7528\u91cf\u8ba1\u7b97"\n # \u811a\u672c\u6587\u4ef6\u8def\u5f84\uff0c\u4e0d\u5305\u542bconfig/scripts\u524d\u7f00\uff0c\u5982my-strategy.js\u5373\u7b49\u4e8econfig/scripts/my-strategy.js\n # \u652f\u6301commonjs\u6216\u8005esm\uff0c\u5185\u5bb9\u4e0d\u652f\u6301\u52a8\u6001\u4fee\u6539\uff0c\u4fee\u6539\u540e\u9700\u91cd\u542f\u7cfb\u7edf\n # \u81ea\u5b9a\u4e49\u8ba1\u91cf\u65b9\u5f0f\u7684\u6587\u4ef6\u5e94\u8be5\u9ed8\u8ba4\u5bfc\u51fa\u4e00\u4e2a\u5982\u4e0b\u7b7e\u540d\u7684\u51fd\u6570:\n # type MyStrategy = (jobInfo: JobInfo) => number | Promise<number>;\n # JobInfo\u4e3aapps/mis-server/src/bl/PriceMap.ts\u4e2d\u7684JobInfo\u7c7b\u578b\uff0c\u63d0\u4f9b\u4f5c\u4e1a\u7684\u7528\u91cf\u4fe1\u606f\n script: "my-strategy.js"\n'})}),"\n",(0,t.jsx)(e.h2,{id:"\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f",children:"\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f"}),"\n",(0,t.jsx)(e.p,{children:"\u914d\u7f6e\u5b8c\u540e\uff0c\u91cd\u542f\u7cfb\u7edf\uff0c\u7136\u540e\u5728\u4f5c\u4e1a\u4ef7\u683c\u8868\u9875\u9762\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u4e0b\uff1a"}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.img,{alt:"\u521b\u5efa\u65b0\u7684\u8ba1\u8d39\u9879\u4f7f\u7528\u8fd9\u4e2a\u65b0\u7684\u8ba1\u91cf\u65b9\u5f0f\u793a\u4f8b",src:s(14601).A+"",width:"559",height:"475"})}),"\n",(0,t.jsx)(e.p,{children:"\u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u5bf9\u5e94\u7684\u5e73\u53f0/\u79df\u6237\u8bb2\u4f7f\u7528\u60a8\u7684\u81ea\u5b9a\u4e49\u8ba1\u8d39\u65b9\u5f0f\u6765\u8ba1\u7b97\u4f5c\u4e1a\u4ef7\u683c"})]})}function a(n={}){const{wrapper:e}={...(0,o.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(u,{...n})}):u(n)}},14601:(n,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/mis-custom-strategy-3302a8a404f5234ff7ab592c6bb69501.png"},5409:(n,e,s)=>{s.d(e,{R:()=>i,x:()=>c});var t=s(48318);const o={},r=t.createContext(o);function i(n){const e=t.useContext(r);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:i(n.components),t.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a7bd4aaa.9f35a7c4.js b/pr-preview/pr-1298/assets/js/a7bd4aaa.9f35a7c4.js deleted file mode 100644 index 4d0f8e01b9..0000000000 --- a/pr-preview/pr-1298/assets/js/a7bd4aaa.9f35a7c4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7098],{34389:(n,s,e)=>{e.r(s),e.d(s,{default:()=>d});e(48318);var o=e(30763),r=e(65478),t=e(71679),c=e(73153),i=e(5270),u=e(49214);function a(n){const{version:s}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(i.A,{version:s.version,tag:(0,r.tU)(s.pluginId,s.version)}),(0,u.jsx)(o.be,{children:s.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:s,route:e}=n;return(0,u.jsx)(o.e3,{className:s.className,children:(0,u.jsx)(t.n,{version:s,children:(0,c.v)(e.routes)})})}function d(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a8e7d297.a5d5a5e6.js b/pr-preview/pr-1298/assets/js/a8e7d297.a5d5a5e6.js deleted file mode 100644 index 1a9fb1e2a2..0000000000 --- a/pr-preview/pr-1298/assets/js/a8e7d297.a5d5a5e6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9882],{69326:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>u,frontMatter:()=>o,metadata:()=>p,toc:()=>d});var i=r(49214),s=r(5409);const o={},n=void 0,p={id:"refs/config/cluster/definition-properties-slurm-properties-loginnodes-items",title:"definition-properties-slurm-properties-loginnodes-items",description:"items Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-computenodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes"},next:{title:"definition-properties-slurm-properties-loginnodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes"}},c={},d=[{value:"items Type",id:"items-type",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"items-type",children:"items Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>p});var i=r(48318);const s={},o=i.createContext(s);function n(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/a94703ab.bdf2acdf.js b/pr-preview/pr-1298/assets/js/a94703ab.bdf2acdf.js deleted file mode 100644 index 1f9e7dd770..0000000000 --- a/pr-preview/pr-1298/assets/js/a94703ab.bdf2acdf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9048],{17540:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(48318),o=n(46601),i=n(30763),s=n(83682),l=n(53347),c=n(12311),r=n(7866),d=n(90817),u=n(67599);const m={backToTopButton:"backToTopButton_mket",backToTopButtonShow:"backToTopButtonShow_tycI"};var b=n(49214);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.$)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,r.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(39330),x=n(66325),f=n(88524),j=n(12449),_=n(77632);function g(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_c5RZ",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_gDab"};function A(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,r.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(g,{className:v.collapseSidebarButtonIcon})})}var C=n(7718),k=n(84091);const S=Symbol("EmptyContext"),T=a.createContext(S);function N(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(T.Provider,{value:i,children:t})}var I=n(65937),y=n(63352),B=n(33985),L=n(12144);function w(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,r.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,r.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function E(e){let{item:t,onItemClick:n,activePath:i,level:c,index:r,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,L.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),g=(0,l.w8)(t,i),v=(0,y.ys)(x,i),{collapsed:A,setCollapsed:C}=(0,I.u)({initialState:()=>!!h&&(!g&&t.collapsed)}),{expandedItem:N,setExpandedItem:E}=function(){const e=(0,a.useContext)(T);if(e===S)throw new k.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=function(e){void 0===e&&(e=!A),E(e?null:r),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,k.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:g,collapsed:A,updateCollapsed:M}),(0,a.useEffect)((()=>{h&&null!=N&&N!==r&&f&&C(!0)}),[h,N,r,C,f]),(0,b.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":A},p),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(B.A,{className:(0,o.A)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":g}),onClick:h?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":v?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!A:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(w,{collapsed:A,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,b.jsx)(I.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,b.jsx)(V,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:c+1})})]})}var M=n(96583),H=n(21244);const R={menuExternalLink:"menuExternalLink_LTRr"};function G(e){let{item:t,onItemClick:n,activePath:a,level:i,index:c,...r}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l.w8)(t,a),x=(0,M.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(B.A,{className:(0,o.A)("menu__link",!x&&R.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...r,children:[u,!x&&(0,b.jsx)(H.A,{})]})},u)}const P={menuHtmlItem:"menuHtmlItem_kLD_"};function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:c}=t;return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[P.menuHtmlItem,"menu__list-item"],c),dangerouslySetInnerHTML:{__html:i}},a)}function D(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(E,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(G,{item:t,...n})}}function F(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,b.jsx)(N,{children:a.map(((e,t)=>(0,b.jsx)(D,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(F),Y={menu:"menu_dEPY",menuWithAnnouncementBar:"menuWithAnnouncementBar_scNb"};function z(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.Mj)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,r.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",Y.menu,l&&Y.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const U="sidebar_qLg2",q="sidebarWithHideableNavbar_ORQj",Z="sidebarHidden_RJoM",O="sidebarLogo_GYUm";function J(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,b.jsxs)("div",{className:(0,o.A)(U,s&&q,i&&Z),children:[s&&(0,b.jsx)(_.A,{tabIndex:-1,className:O}),(0,b.jsx)(z,{path:t,sidebar:n}),l&&(0,b.jsx)(A,{onClick:a})]})}const K=a.memo(J);var X=n(86167),Q=n(50358);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Q.M)();return(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(X.GX,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(K,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_EkTf",expandButtonIcon:"expandButtonIcon_zxgy"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,r.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(g,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_nc4M",docSidebarContainerHidden:"docSidebarContainerHidden__s9J",sidebarViewport:"sidebarViewport_FCil"};function se(e){let{children:t}=e;const n=(0,c.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[c,r]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{c&&r(!1),!c&&(0,p.O)()&&r(!0),i((e=>!e))}),[i,c]);return(0,b.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&r(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.A)(ie.sidebarViewport,c&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:c}),c&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const ce={docMainContainer:"docMainContainer_ZWqf",docMainContainerEnhanced:"docMainContainerEnhanced_L0iF",docItemWrapperEnhanced:"docItemWrapperEnhanced_XlKL"};function re(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,c.t)();return(0,b.jsx)("main",{className:(0,o.A)(ce.docMainContainer,(t||!a)&&ce.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",ce.docItemWrapper,t&&ce.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_kL5f",docsWrapper:"docsWrapper_ZINP"};function ue(e){let{children:t}=e;const n=(0,c.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(re,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(92746);function be(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(me.A,{});const{docElement:n,sidebarName:a,sidebarItems:r}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,b.jsx)(c.V,{name:a,items:r,children:(0,b.jsx)(ue,{children:n})})})}},92746:(e,t,n)=>{n.d(t,{A:()=>l});n(48318);var a=n(46601),o=n(7866),i=n(31773),s=n(49214);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ab8014e4.4460c019.js b/pr-preview/pr-1298/assets/js/ab8014e4.4460c019.js deleted file mode 100644 index 2fe296d155..0000000000 --- a/pr-preview/pr-1298/assets/js/ab8014e4.4460c019.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[834],{26961:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>j,frontMatter:()=>r,metadata:()=>t,toc:()=>h});var d=s(49214),i=s(5409);const r={sidebar_position:2,title:"\u5f00\u53d1UI\u6269\u5c55"},c="\u5f00\u53d1UI\u6269\u5c55",t={id:"integration/ui-extension/develop",title:"\u5f00\u53d1UI\u6269\u5c55",description:"\u8981\u4f7f\u7528UI\u6269\u5c55\uff0c\u60a8\u9996\u5148\u9700\u8981\u5f00\u53d1\u5e76\u6784\u5efa\u4e00\u4e2a\u4ece\u5916\u754c\u53ef\u4ee5\u8bbf\u95ee\u7684\u7f51\u7ad9\uff08\u79f0\u4e3a\u6269\u5c55\u7ad9\uff09\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u6280\u672f\u5f00\u53d1\u3001\u7ef4\u62a4\u548c\u90e8\u7f72\u6b64\u7f51\u7ad9\uff0c\u53ea\u9700\u8981\u6ee1\u8db3\u60a8\u7684\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u76f4\u63a5\u516c\u7f51\u8bbf\u95ee\u5373\u53ef\u3002",source:"@site/docs/integration/ui-extension/develop.md",sourceDirName:"integration/ui-extension",slug:"/integration/ui-extension/develop",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/ui-extension/develop.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u5f00\u53d1UI\u6269\u5c55"},sidebar:"integration",previous:{title:"UI\u6269\u5c55 (Beta)",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/"}},l={},h=[{value:"\u4e0a\u4e0b\u6587\u53c2\u6570",id:"\u4e0a\u4e0b\u6587\u53c2\u6570",level:2},{value:"\u6269\u5c55\u9875",id:"\u6269\u5c55\u9875",level:2},{value:"\u914d\u7f6e\u63a5\u53e3",id:"\u914d\u7f6e\u63a5\u53e3",level:2},{value:"\u83b7\u53d6\u6e05\u5355\uff1aGET /api/manifests",id:"\u83b7\u53d6\u6e05\u5355get-apimanifests",level:4},{value:"\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\uff1aPOST /api/portal/rewriteNavigations",id:"\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879post-apiportalrewritenavigations",level:3},{value:"\u91cd\u5199\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\uff1aPOST /api/mis/rewriteNavigations",id:"\u91cd\u5199\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u9879post-apimisrewritenavigations",level:4},{value:"\u6ce8\u610f\u4e8b\u9879",id:"\u6ce8\u610f\u4e8b\u9879",level:2}];function x(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.h1,{id:"\u5f00\u53d1ui\u6269\u5c55",children:"\u5f00\u53d1UI\u6269\u5c55"}),"\n",(0,d.jsxs)(n.p,{children:["\u8981\u4f7f\u7528UI\u6269\u5c55\uff0c\u60a8\u9996\u5148\u9700\u8981\u5f00\u53d1\u5e76\u6784\u5efa\u4e00\u4e2a\u4ece\u5916\u754c\u53ef\u4ee5\u8bbf\u95ee\u7684\u7f51\u7ad9\uff08\u79f0\u4e3a",(0,d.jsx)(n.strong,{children:"\u6269\u5c55\u7ad9"}),"\uff09\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u6280\u672f\u5f00\u53d1\u3001\u7ef4\u62a4\u548c\u90e8\u7f72\u6b64\u7f51\u7ad9\uff0c\u53ea\u9700\u8981\u6ee1\u8db3\u60a8\u7684\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u76f4\u63a5\u516c\u7f51\u8bbf\u95ee\u5373\u53ef\u3002"]}),"\n",(0,d.jsx)(n.h2,{id:"\u4e0a\u4e0b\u6587\u53c2\u6570",children:"\u4e0a\u4e0b\u6587\u53c2\u6570"}),"\n",(0,d.jsx)(n.p,{children:"SCOW\u4f1a\u5728\u8bbf\u95ee\u6269\u5c55\u9875\u548c\u8c03\u7528\u67d0\u4e9b\u914d\u7f6e\u63a5\u53e3\u65f6\uff0c\u5c06\u4ee5\u4e0b\u53c2\u6570\u4f5c\u4e3a\u67e5\u8be2\u5b57\u7b26\u4e32\uff08querystring\uff09\u52a0\u5165\u8bbf\u95ee\u7684URL\uff0cUI\u6269\u5c55\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9b\u53c2\u6570\u83b7\u53d6\u5f53\u524dSCOW\u7cfb\u7edf\u7684\u4fe1\u606f\u3002\u5177\u4f53\u54ea\u4e9b\u9875\u9762/API\u4f1a\u4f20\u9012\u8fd9\u4e9b\u53c2\u6570\u4f1a\u5728\u5177\u4f53\u7ae0\u8282\u91cc\u63d0\u5230\u3002"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u53c2\u6570"}),(0,d.jsx)(n.th,{children:"\u53d6\u503c"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"scowDark"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:'"true" | "false"'})}),(0,d.jsx)(n.td,{children:"\u5f53\u524dSCOW\u662f\u5426\u4ee5\u9ed1\u6697\u4e3b\u9898\u663e\u793a"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"scowUserToken"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string | undefined"})}),(0,d.jsx)(n.td,{children:"\u5f53\u524dSCOW\u7684\u767b\u5f55\u7528\u6237\u7684token\u3002\u53ef\u901a\u8fc7SCOW\u8ba4\u8bc1\u7cfb\u7edf\u63a5\u53e3\u67e5\u8be2\u767b\u5f55\u7528\u6237"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"scowLangId"})}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"string"})}),(0,d.jsx)(n.td,{children:"\u5f53\u524dSCOW\u663e\u793a\u6240\u4f7f\u7528\u7684\u8bed\u8a00ID"})]})]})]}),"\n",(0,d.jsx)(n.h2,{id:"\u6269\u5c55\u9875",children:"\u6269\u5c55\u9875"}),"\n",(0,d.jsxs)(n.p,{children:["UI\u6269\u5c55\u7684\u529f\u80fd\u5e94\u5b9e\u73b0\u4e3a\u6807\u51c6\u7684\u7f51\u9875\u3002\u5f53\u8bbf\u95eeSCOW\u7684\u6269\u5c55\u8def\u5f84\u65f6\uff0cSCOW\u5c06\u4f1a\u5728\u5916\u5c42\u663e\u793aSCOW\u7684\u57fa\u7840\u5bfc\u822a\u7ed3\u6784\uff0c\u5e76\u5728\u9875\u9762\u4e3b\u8981\u90e8\u5206\u4f7f\u7528\u4e00\u4e2a",(0,d.jsx)(n.code,{children:"<iframe>"}),"\u7ec4\u4ef6\u5c06\u6269\u5c55\u9875\u7684\u5185\u5bb9\u663e\u793a\u51fa\u6765\u3002",(0,d.jsx)(n.a,{href:"#%E4%B8%8A%E4%B8%8B%E6%96%87%E5%8F%82%E6%95%B0",children:"\u4e0a\u4e0b\u6587\u53c2\u6570"}),"\u4e2d\u7684\u53c2\u6570\u4e5f\u5c06\u4f1a\u4f20\u9012\u7ed9",(0,d.jsx)(n.code,{children:"<iframe>"}),"\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u82e5\u53ea\u8bbe\u7f6e\u4e86\u4e00\u4e2aUI\u6269\u5c55\uff0c\u5f53\u7528\u6237\u8bbf\u95eeSCOW\u90e8\u7f72\u8def\u5f84\u7684",(0,d.jsx)(n.code,{children:"/extensions/*"}),"\u7684\u8def\u5f84\u65f6\uff0c",(0,d.jsx)(n.code,{children:"<iframe>"}),"\u5c06\u4f1a\u663e\u793aUI\u6269\u5c55",(0,d.jsx)(n.code,{children:"/extensions/*"}),"\u4e0b\u7684\u5185\u5bb9\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u82e5\u8bbe\u7f6e\u4e86\u591a\u4e2aUI\u6269\u5c55\uff0c\u5f53\u7528\u6237\u8bbf\u95eeSCOW\u90e8\u7f72\u8def\u5f84\u7684",(0,d.jsx)(n.code,{children:"/extensions/{name}/*"}),"\u7684\u8def\u5f84\u65f6\uff0c",(0,d.jsx)(n.code,{children:"<iframe>"}),"\u5c06\u4f1a\u663e\u793a",(0,d.jsx)(n.code,{children:"{name}"}),"\u90e8\u5206\u5bf9\u5e94\u7684UI\u6269\u5c55\u7684",(0,d.jsx)(n.code,{children:"/extensions/*"}),"\u4e0b\u7684\u5185\u5bb9\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u4f8b\u5982\uff0c\u5047\u8bbeSCOW\u90e8\u7f72\u4e8e",(0,d.jsx)(n.code,{children:"https://myscow.com/scow"}),"\uff0c\u60a8\u7684\u6269\u5c55\u7ad91\u90e8\u7f72\u4e8e",(0,d.jsx)(n.code,{children:"https://myscowext1.com/ext1"}),"\uff0c\u6269\u5c55\u7ad92\u90e8\u7f72\u4e8e",(0,d.jsx)(n.code,{children:"https://myscowext2.com/ext2"}),"\u3002"]}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\u82e5\u7528\u6237\u5728\u914d\u7f6e\u4e2d\u4f7f\u7528\u5355\u4e2aUI\u6269\u5c55\u914d\u7f6e\u8bed\u6cd5\u65f6\uff0c\u5f53\u7528\u6237\u8bbf\u95ee",(0,d.jsx)(n.code,{children:"https://myscow/scow/extensions/parent/child?test=123"}),"\u65f6\uff0cSCOW\u5c06\u4f1a\u663e\u793a\u4e00\u4e2aiframe\uff0c\u5176URL\u4e3a",(0,d.jsx)(n.code,{children:"https://myscowext1.com/ext1/extensions/parent/child?test=123&scowDark={\u5f53\u524dSCOW\u662f\u5426\u4ee5\u9ed1\u6697\u6a21\u5f0f\u663e\u793a}&scowUserToken={\u7528\u6237token}&scowLangId={\u5f53\u524dSCOW\u663e\u793a\u8bed\u8a00ID}"}),"\u3002"]}),"\n",(0,d.jsxs)(n.li,{children:["\u82e5\u7528\u6237\u5728\u914d\u7f6e\u4e2d\u4f7f\u7528\u591a\u4e2aUI\u6269\u5c55\u914d\u7f6e\u8bed\u6cd5\uff0c\u4f46\u662f\u53ea\u914d\u7f6e\u4e86\u6269\u5c55\u7ad91\u65f6\uff0c\u8d77\u540d\u79f0\u4e3a",(0,d.jsx)(n.code,{children:"extname1"}),"\uff0c\u5f53\u7528\u6237\u8bbf\u95ee",(0,d.jsx)(n.code,{children:"https://myscow/scow/extensions/extname1/parent/child?test=123"}),"\u65f6\uff0cSCOW\u5c06\u4f1a\u663e\u793a\u4e00\u4e2aiframe\uff0c\u5176URL\u4e3a",(0,d.jsx)(n.code,{children:"https://myscowext1.com/ext1/extensions/parent/child?test=123&scowDark={\u5f53\u524dSCOW\u662f\u5426\u4ee5\u9ed1\u6697\u6a21\u5f0f\u663e\u793a}&scowUserToken={\u7528\u6237token}&scowLangId={\u5f53\u524dSCOW\u663e\u793a\u8bed\u8a00ID}"}),"\u3002"]}),"\n",(0,d.jsxs)(n.li,{children:["\u82e5\u7528\u6237\u5728\u914d\u7f6e\u4e2d\u4f7f\u7528\u591a\u4e2aUI\u6269\u5c55\u914d\u7f6e\u8bed\u6cd5\uff0c\u914d\u7f6e\u4e86\u6269\u5c55\u7ad91\u548c2\uff0c\u540d\u79f0\u5206\u522b\u4e3a",(0,d.jsx)(n.code,{children:"extname1"}),"\u548c",(0,d.jsx)(n.code,{children:"extname2"}),"\uff0c\u5f53\u7528\u6237\u8bbf\u95ee",(0,d.jsx)(n.code,{children:"https://myscow/scow/extensions/extname1/parent/child?test=123"}),"\u65f6\uff0cSCOW\u5c06\u4f1a\u663e\u793a\u4e00\u4e2aiframe\uff0c\u5176URL\u4e3a",(0,d.jsx)(n.code,{children:"https://myscowext1.com/ext1/extensions/parent/child?test=123&scowDark={\u5f53\u524dSCOW\u662f\u5426\u4ee5\u9ed1\u6697\u6a21\u5f0f\u663e\u793a}&scowUserToken={\u7528\u6237token}&scowLangId={\u5f53\u524dSCOW\u663e\u793a\u8bed\u8a00ID}"}),"\u3002"]}),"\n"]}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u63a5\u53e3",children:"\u914d\u7f6e\u63a5\u53e3"}),"\n",(0,d.jsxs)(n.p,{children:["\u9664\u6b64\u4e4b\u5916\uff0cUI\u6269\u5c55\u7ad9\u9700\u8981\u5b9e\u73b0\u4ee5\u4e0b\u7684\u914d\u7f6e\u63a5\u53e3\u3002SCOW\u4f1a\u5728\u9700\u8981\u7684\u4f7f\u7528\u8c03\u7528\u4ee5\u4e0b\u63a5\u53e3\u83b7\u53d6\u54cd\u5e94\u914d\u7f6e\u3002\u6240\u6709\u914d\u7f6e\u63a5\u53e3\u4ee5",(0,d.jsx)(n.code,{children:"/api"}),"\u5f00\u5934\u3002"]}),"\n",(0,d.jsx)(n.h4,{id:"\u83b7\u53d6\u6e05\u5355get-apimanifests",children:"\u83b7\u53d6\u6e05\u5355\uff1aGET /api/manifests"}),"\n",(0,d.jsx)(n.p,{children:"\u83b7\u53d6UI\u6269\u5c55\u914d\u7f6e\u6e05\u5355\u3002SCOW\u901a\u8fc7\u6b64\u63a5\u53e3\u83b7\u53d6\u60a8\u7684UI\u6269\u5c55\u7684\u4e00\u4e9b\u914d\u7f6e\u53c2\u6570\u3002"}),"\n",(0,d.jsx)(n.p,{children:"\u5bf9\u4e8e\u6b64\u63a5\u53e3\uff0c\u60a8\u9700\u8981\u8fd4\u56de\u5982\u4e0b\u7c7b\u578b\u7684JSON\u5185\u5bb9\uff1a"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"JSON\u5c5e\u6027\u8def\u5f84"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"portal"})}),(0,d.jsx)(n.td,{children:"\u5bf9\u8c61"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsx)(n.td,{children:"\u5173\u4e8e\u95e8\u6237\u7cfb\u7edf\u7684\u914d\u7f6e"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"portal.rewriteNavigations"})}),(0,d.jsx)(n.td,{children:"\u5e03\u5c14\u503c"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u662f\u5426\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\u3002\u9ed8\u8ba4\u4e3a",(0,d.jsx)(n.code,{children:"false"})]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"mis"})}),(0,d.jsx)(n.td,{children:"\u5bf9\u8c61"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsx)(n.td,{children:"\u5173\u4e8e\u7ba1\u7406\u7cfb\u7edf\u7684\u914d\u7f6e"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"mis.rewriteNavigations"})}),(0,d.jsx)(n.td,{children:"\u5e03\u5c14\u503c"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u662f\u5426\u91cd\u5199\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\u3002\u9ed8\u8ba4\u4e3a",(0,d.jsx)(n.code,{children:"false"})]})]})]})]}),"\n",(0,d.jsx)(n.p,{children:"\u4f8b\u5982\uff0c\u60a8\u53ef\u4ee5\u8fd4\u56de\u5982\u4e0b\u7c7b\u578b\u7684JSON\uff0c\u8868\u793a\u8981\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\uff0c\u4f46\u662f\u4e0d\u91cd\u5199\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\u3002"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-json",children:'{\n "portal": {\n "rewriteNavigations": true\n },\n "mis": {\n "rewriteNavigations": false,\n }\n}\n'})}),"\n",(0,d.jsx)(n.h3,{id:"\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879post-apiportalrewritenavigations",children:"\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\uff1aPOST /api/portal/rewriteNavigations"}),"\n",(0,d.jsxs)(n.p,{children:["\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\u3002\u82e5\u60a8\u5728",(0,d.jsx)(n.code,{children:"GET /api/manifests"}),"\u4e2d\u8fd4\u56de\u7684",(0,d.jsx)(n.code,{children:"portal.rewriteNavigations"}),"\u4e3a",(0,d.jsx)(n.code,{children:"true"}),"\uff0c\u5219\u5fc5\u987b\u5b9e\u73b0\u6b64\u63a5\u53e3\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["SCOW\u5c06\u4f1a\u5728body\u4e2d\u4f20\u5165\u9ed8\u8ba4\u60c5\u51b5\u4e0bSCOW\u5c06\u4f1a\u663e\u793a\u7684\u5bfc\u822a\u9879\u3002\u4e0b\u8868\u4e3a\u4f20\u5165\u7684JSON\u53c2\u6570\u7684\u5c5e\u6027\u3002\u9664\u6b64\u8868\u4e4b\u5916\uff0c",(0,d.jsx)(n.a,{href:"#%E4%B8%8A%E4%B8%8B%E6%96%87%E5%8F%82%E6%95%B0",children:"\u4e0a\u4e0b\u6587\u53c2\u6570"}),"\u540c\u6837\u4e5f\u4f1a\u88ab\u4f5c\u4e3a\u67e5\u8be2\u5b57\u7b26\u4e32\u4f20\u5165\u3002"]}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"JSON\u5c5e\u6027\u8def\u5f84"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs"})}),(0,d.jsx)(n.td,{children:"\u5bf9\u8c61\u6570\u7ec4"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u5bfc\u822a\u9879"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].path"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u6b64\u5bfc\u822a\u9879\u7684\u8def\u5f84\u3002\u6b64\u8def\u5f84\u4e0d\u5305\u62ecbase path\u3002\u82e5\u5f53\u524d\u6d4f\u89c8\u5668\u7684pathname\u4ee5\u6b64\u5f00\u5934\uff0c\u5219\u6b64\u5bfc\u822a\u9879\u5c06\u4f1a\u9ad8\u4eae"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].clickToPath"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u70b9\u51fb\u6b64\u5bfc\u822a\u9879\u5c06\u4f1a\u5bfc\u822a\u81f3\u7684\u8def\u5f84\u3002\u5982\u679c\u4e0d\u586b\uff0c\u5219\u4f7f\u7528",(0,d.jsx)(n.code,{children:"path"}),"\u5c5e\u6027"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].text"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u5bfc\u822a\u9879\u7684\u6587\u672c"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].openInNewPage"})}),(0,d.jsx)(n.td,{children:"\u5e03\u5c14\u503c"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u6b64\u5bfc\u822a\u9879\u7684\u9875\u9762\u662f\u5426\u5728\u65b0\u7a97\u53e3\u4e2d\u6253\u5f00"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].children"})}),(0,d.jsxs)(n.td,{children:["\u5bf9\u8c61\u6570\u7ec4\uff0c\u7c7b\u578b\u4e0e",(0,d.jsx)(n.code,{children:"navs"}),"\u6570\u7ec4\u7684\u6bcf\u4e00\u9879\u76f8\u540c"]}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsx)(n.td,{children:"\u6b64\u5bfc\u822a\u9879\u7684\u5b50\u9879\u3002"})]})]})]}),"\n",(0,d.jsx)(n.p,{children:"\u60a8\u9700\u8981\u8fd4\u56de\u4ee5\u4e0b\u7c7b\u578b\u7684JSON\uff0c\u8868\u793a\u91cd\u5199\u540e\u7684\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\u3002\u60a8\u53ef\u4ee5\u91cd\u5199\u7cfb\u7edf\u9ed8\u8ba4\u5bfc\u822a\u9879\u7684\u5c5e\u6027\u3002"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"JSON\u5c5e\u6027\u8def\u5f84"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs"})}),(0,d.jsx)(n.td,{children:"\u5bf9\u8c61\u6570\u7ec4"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u5bfc\u822a\u9879"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].path"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsxs)(n.td,{children:["\u6b64\u5bfc\u822a\u9879\u7684\u8def\u5f84\uff0c\u8bf7\u53c2\u8003\u8868\u683c\u4e0b",(0,d.jsx)(n.strong,{children:"\u5173\u4e8e\u8fd4\u56de\u7684\u8def\u5f84\u7684\u7684\u8bf4\u660e"}),"\u3002"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].clickToPath"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u70b9\u51fb\u6b64\u5bfc\u822a\u9879\u5c06\u4f1a\u5bfc\u822a\u81f3\u7684\u8def\u5f84\uff0c\u89c4\u5219\u540c\u4e0a\u3002\u5982\u679c\u4e0d\u586b\uff0c\u5219\u4f7f\u7528",(0,d.jsx)(n.code,{children:"path"}),"\u5c5e\u6027"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].text"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u5bfc\u822a\u9879\u7684\u6587\u672c"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].icon"})}),(0,d.jsx)(n.td,{children:"\u5bf9\u8c61"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u5bfc\u822a\u9879\u7684\u56fe\u6807\u4fe1\u606f\u3002\u5982\u679c\u4e0d\u586b\uff0c\u5c06\u663e\u793a\u9ed8\u8ba4\u5bfc\u822a\u9879\u4e2d\u5177\u6709\u76f8\u540c\u7684path\u7684\u5bfc\u822a\u9879\u7684\u56fe\u6807\u3002\u5982\u679c\u4e0d\u5b58\u5728\u5177\u6709\u76f8\u540cpath\u7684\u5bfc\u822a\u9879\uff0c\u5c06\u663e\u793a",(0,d.jsx)(n.a,{href:"https://ant.design/components/icon-cn",children:"Ant Design Icon"}),"\u7684",(0,d.jsx)(n.code,{children:"LinkOutlined"})]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].icon.src"})}),(0,d.jsx)(n.td,{children:"\u56fe\u6807URL"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u5bfc\u822a\u9879\u7684\u56fe\u6807\u5730\u5740\u3002\u5fc5\u987b\u662f\u5b8c\u6574\u7684\u3001\u53ef\u516c\u5f00\u8bbf\u95ee\u7684URL"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].icon.alt"})}),(0,d.jsx)(n.td,{children:"\u5e03\u5c14\u503c"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsx)(n.td,{children:"\u5bfc\u822a\u9879\u7684\u56fe\u6807alt\u5c5e\u6027\u3002\u53ef\u4e0d\u586b"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].openInNewPage"})}),(0,d.jsx)(n.td,{children:"\u5e03\u5c14\u503c"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u6b64\u5bfc\u822a\u9879\u7684\u9875\u9762\u662f\u5426\u5728\u65b0\u7a97\u53e3\u4e2d\u6253\u5f00"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navs[].children"})}),(0,d.jsxs)(n.td,{children:["\u5bf9\u8c61\u6570\u7ec4\uff0c\u7c7b\u578b\u4e0e",(0,d.jsx)(n.code,{children:"navs"}),"\u6570\u7ec4\u7684\u6bcf\u4e00\u9879\u76f8\u540c"]}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsx)(n.td,{children:"\u6b64\u5bfc\u822a\u9879\u7684\u5b50\u9879\u3002"})]})]})]}),"\n",(0,d.jsx)(n.p,{children:"\u5173\u4e8e\u8fd4\u56de\u7684\u8def\u5f84\u7684\u8bf4\u660e\uff1a"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\u5982\u679c","\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsx)(n.li,{children:"\u8fd4\u56de\u7684\u8def\u5f84\u5728\u8c03\u7528\u8fd9\u4e2a\u6269\u5c55\u7684\u6b64\u63a5\u53e3\u4e4b\u524d\u5df2\u7ecf\u5b58\u5728\uff08\u5373\u5728\u8c03\u7528\u6b64\u6269\u5c55\u7684\u6b64\u63a5\u53e3\u65f6\u7684\u67d0\u4e2a\u5df2\u6709\u7684\u5bfc\u822a\u9879\u5177\u6709\u548c\u8fd4\u56de\u7684\u8def\u5f84\u76f8\u540c\u7684\u8def\u5f84\uff09\uff0c\u6216\u8005"}),"\n",(0,d.jsxs)(n.li,{children:["\u6b64\u8def\u5f84\u662f\u4e00\u4e2a\u6709\u6548\u7684URL","\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\u68c0\u67e5\u65b9\u6cd5\uff1a\u4f7f\u7528",(0,d.jsx)(n.code,{children:"new URL(\u8f93\u5165)"}),"\uff0c\u82e5\u4e0d\u629b\u51fa\u5f02\u5e38\u5219\u4e3a\u6709\u6548\u7684URL"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\u5219","\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\u8fd9\u4e2a\u8def\u5f84\u5c06\u4f1a\u4fdd\u7559\u539f\u72b6\uff0c\u76f4\u63a5\u5199\u5165\u4e3a",(0,d.jsx)(n.code,{children:"<a>"}),"\u6807\u7b7e\u7684",(0,d.jsx)(n.code,{children:"href"}),"\u5c5e\u6027"]}),"\n"]}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\u5426\u5219","\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\u6b64\u8def\u5f84\u4e3a\u76f8\u5f53\u4e8e\u6269\u5c55UI\u7684",(0,d.jsx)(n.code,{children:"/extensions"}),"\u4e0b\u7684\u8def\u5f84\uff0c\u5373","\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\u5f53\u7cfb\u7edf\u91c7\u7528\u5355\u4e2aUI\u6269\u5c55\u914d\u7f6e\u8bed\u6cd5\u65f6\uff0c\u5bf9\u5e94\u7684\u5bfc\u822a\u9879\u7684\u8def\u5f84\u4e3a\uff1a",(0,d.jsx)(n.code,{children:"{SCOW URL}/extensions/{path}"})]}),"\n",(0,d.jsxs)(n.li,{children:["\u5f53\u7cfb\u7edf\u91c7\u7528\u591a\u4e2a\u4e2aUI\u6269\u5c55\u914d\u7f6e\u8bed\u6cd5\u65f6\uff0c\u5bf9\u5e94\u7684\u5bfc\u822a\u9879\u7684\u8def\u5f84\u4e3a\uff1a",(0,d.jsx)(n.code,{children:"{SCOW URL}/extensions/{name}/{path}"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(n.li,{children:"\u82e5\u5f53\u524d\u6d4f\u89c8\u5668\u7684pathname\u4ee5\u6b64\u5f00\u5934\uff0c\u5219\u6b64\u5bfc\u822a\u9879\u5c06\u4f1a\u9ad8\u4eae"}),"\n"]}),"\n",(0,d.jsx)(n.p,{children:"\u5982\u679c\u914d\u7f6e\u4e86\u591a\u4e2aUI\u6269\u5c55\uff0c\u90a3\u4e48SCOW\u5c06\u4f1a\u6309\u7167\u914d\u7f6e\u4e2d\u7684\u987a\u5e8f\u4f9d\u6b21\u8c03\u7528\u6bcf\u4e2a\u9700\u8981\u91cd\u5199\u5bfc\u822a\u9879\u7684UI\u6269\u5c55\u7684\u6b64\u63a5\u53e3\uff0c\u5e76\u5c06\u4e0a\u4e00\u4e2aUI\u6269\u5c55\u7684\u8f93\u51fa\u4f5c\u4e3a\u4e0b\u4e00\u4e2aUI\u6269\u5c55\u7684\u8f93\u5165\uff0c\u5e76\u5c06\u6700\u7ec8\u7ed3\u679c\u4f5c\u4e3aSCOW\u7684\u5bfc\u822a\u9879\u3002"}),"\n",(0,d.jsx)(n.h4,{id:"\u91cd\u5199\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u9879post-apimisrewritenavigations",children:"\u91cd\u5199\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\uff1aPOST /api/mis/rewriteNavigations"}),"\n",(0,d.jsxs)(n.p,{children:["\u91cd\u5199\u95e8\u6237\u7cfb\u7edf\u7684\u5bfc\u822a\u9879\u3002\u82e5\u60a8\u5728",(0,d.jsx)(n.code,{children:"GET /api/manifests"}),"\u4e2d\u8fd4\u56de\u7684",(0,d.jsx)(n.code,{children:"mis.rewriteNavigations"}),"\u4e3a",(0,d.jsx)(n.code,{children:"true"}),"\uff0c\u5219\u5fc5\u987b\u5b9e\u73b0\u6b64\u63a5\u53e3\u3002"]}),"\n",(0,d.jsx)(n.p,{children:"\u6b64\u63a5\u53e3\u7684\u53c2\u6570\u53ca\u54cd\u5e94\u4e0e\u95e8\u6237\u7cfb\u7edf\u7684\u5b8c\u5168\u76f8\u540c\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u6ce8\u610f\u4e8b\u9879",children:"\u6ce8\u610f\u4e8b\u9879"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["UI\u6269\u5c55\u793a\u4f8b\u9879\u76ee\uff1a",(0,d.jsx)(n.a,{href:"https://github.com/PKUHPC/scow-ui-extension-demo",children:"PKUHPC/scow-ui-extension-demo"})]}),"\n",(0,d.jsxs)(n.li,{children:["\u5982\u679c\u60a8\u7684\u6269\u5c55\u7ad9\u548cSCOW\u90e8\u7f72\u5730\u5740\u975e\u540c\u6e90\uff0c\u8bf7\u6ce8\u610f\u4f7f\u5f97\u60a8\u7684\u6269\u5c55\u7ad9\u7684\u6240\u6709\u8def\u5f84\u5747\u652f\u6301CORS\u8bbf\u95ee\u3002","\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["Next.js\u9879\u76ee\u53ef\u4ee5\u53c2\u8003",(0,d.jsxs)(n.a,{href:"https://github.com/PKUHPC/scow-ui-extension-demo/blob/main/src/middleware.ts",children:["\u793a\u4f8b\u9879\u76ee\u4e2d\u7684",(0,d.jsx)(n.code,{children:"src/middleware.ts"})]})]}),"\n"]}),"\n"]}),"\n"]})]})}function j(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(x,{...e})}):x(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>t});var d=s(48318);const i={},r=d.createContext(i);function c(e){const n=d.useContext(r);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),d.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ab90b937.3a3c8bf2.js b/pr-preview/pr-1298/assets/js/ab90b937.3a3c8bf2.js deleted file mode 100644 index 90bb34c2c7..0000000000 --- a/pr-preview/pr-1298/assets/js/ab90b937.3a3c8bf2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3192],{77637:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>x,frontMatter:()=>d,metadata:()=>i,toc:()=>h});var s=r(49214),n=r(5409);const d={sidebar_label:"\u96c6\u7fa4\u89c4\u5212",title:"\u96c6\u7fa4\u89c4\u5212",sidebar_position:2},c=void 0,i={id:"hpccluster/plan",title:"\u96c6\u7fa4\u89c4\u5212",description:"\u672c\u6b21\u90e8\u7f72\u4ee51\u4e2a\u670d\u52a1\u8282\u70b9\u30011\u4e2a\u767b\u5f55\u8282\u70b9\u30012\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e3a\u4f8b\uff0c\u96c6\u7fa4\u8282\u89c4\u5212\u5982\u4e0b\uff1a",source:"@site/docs/hpccluster/plan.md",sourceDirName:"hpccluster",slug:"/hpccluster/plan",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/plan.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_label:"\u96c6\u7fa4\u89c4\u5212",title:"\u96c6\u7fa4\u89c4\u5212",sidebar_position:2},sidebar:"hpccluster",previous:{title:"slurm\u90e8\u7f72\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/"},next:{title:"\u57fa\u7840\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/basic-config"}},l={},h=[];function o(e){const t={p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"\u672c\u6b21\u90e8\u7f72\u4ee51\u4e2a\u670d\u52a1\u8282\u70b9\u30011\u4e2a\u767b\u5f55\u8282\u70b9\u30012\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e3a\u4f8b\uff0c\u96c6\u7fa4\u8282\u89c4\u5212\u5982\u4e0b\uff1a"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:(0,s.jsx)(t.strong,{children:"\u4e3b\u673a\u540d"})}),(0,s.jsx)(t.th,{children:(0,s.jsx)(t.strong,{children:"IP"})}),(0,s.jsx)(t.th,{children:(0,s.jsx)(t.strong,{children:"\u89d2\u8272"})}),(0,s.jsx)(t.th,{children:(0,s.jsx)(t.strong,{children:"\u914d\u7f6e"})})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"manage01"}),(0,s.jsx)(t.td,{children:"192.168.29.106"}),(0,s.jsx)(t.td,{children:"\u670d\u52a1\u8282\u70b9"}),(0,s.jsx)(t.td,{children:"2C4G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"login01"}),(0,s.jsx)(t.td,{children:"192.168.29.101"}),(0,s.jsx)(t.td,{children:"\u767b\u5f55\u8282\u70b9"}),(0,s.jsx)(t.td,{children:"2C4G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"compute01"}),(0,s.jsx)(t.td,{children:"192.168.29.102"}),(0,s.jsx)(t.td,{children:"\u8ba1\u7b97\u8282\u70b9"}),(0,s.jsx)(t.td,{children:"2C4G"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"compute02"}),(0,s.jsx)(t.td,{children:"192.168.29.103"}),(0,s.jsx)(t.td,{children:"\u8ba1\u7b97\u8282\u70b9"}),(0,s.jsx)(t.td,{children:"2C4G"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"\u4e3b\u8981\u5de5\u5177\u7248\u672c\u4fe1\u606f\uff1a"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:(0,s.jsx)(t.strong,{children:"\u4fe1\u606f"})}),(0,s.jsx)(t.th,{children:(0,s.jsx)(t.strong,{children:"\u5907\u6ce8"})})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"\u7cfb\u7edf\u7248\u672c"}),(0,s.jsx)(t.td,{children:"CentOS 7.9"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"docker\u7248\u672c"}),(0,s.jsx)(t.td,{children:"19.03.12"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"slurm"}),(0,s.jsx)(t.td,{children:"22.05.3"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"docker-compose\u7248\u672c"}),(0,s.jsx)(t.td,{children:"2.7.0"})]})]})]})]})}function x(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>i});var s=r(48318);const n={},d=s.createContext(n);function c(e){const t=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),s.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/acba7cd2.dce10222.js b/pr-preview/pr-1298/assets/js/acba7cd2.dce10222.js deleted file mode 100644 index fe8539eb9a..0000000000 --- a/pr-preview/pr-1298/assets/js/acba7cd2.dce10222.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5740],{68889:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var i=r(49214),o=r(5409);const s={},n=void 0,p={id:"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name",title:"definition-properties-logindesktop-properties-wms-items-properties-name",description:"name Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop-properties-wms-default-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0"},next:{title:"definition-properties-logindesktop-properties-wms-items-properties-wm",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm"}},c={},d=[{value:"name Type",id:"name-type",level:2}];function m(e){const t={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"name-type",children:"name Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(m,{...e})}):m(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>p});var i=r(48318);const o={},s=i.createContext(o);function n(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/acecf23e.1343ea8c.js b/pr-preview/pr-1298/assets/js/acecf23e.1343ea8c.js deleted file mode 100644 index f2fb0c242a..0000000000 --- a/pr-preview/pr-1298/assets/js/acecf23e.1343ea8c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1903],{1912:s=>{s.exports=JSON.parse('{"blogBasePath":"/SCOW/pr-preview/pr-1298/blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ad98ab2d.81f37278.js b/pr-preview/pr-1298/assets/js/ad98ab2d.81f37278.js deleted file mode 100644 index 7d311a53ff..0000000000 --- a/pr-preview/pr-1298/assets/js/ad98ab2d.81f37278.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7288],{17602:(o,e,n)=>{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>t,default:()=>d,frontMatter:()=>s,metadata:()=>c,toc:()=>h});var i=n(49214),r=n(5409);const s={sidebar_position:3,title:"SCOW Hook"},t="SCOW Hook",c={id:"integration/scow-api-hook/hook",title:"SCOW Hook",description:"\u5982\u679c\u7528\u6237\u914d\u7f6e\u4e86SCOW Hook\uff0c\u90a3\u4e48SCOW\u5728\u53d1\u751f\u4e00\u4e9b\u4e8b\u4ef6\u65f6\uff0c\u4f1a\u901a\u8fc7SCOW Hook\u8c03\u7528\u76d1\u542c\u7684Hook\u670d\u52a1\u5668\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7SCOW Hook\u76d1\u542cSCOW\u4e2d\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u5e76\u81ea\u5df1\u8fdb\u884c\u4e00\u4e9b\u540e\u7eed\u5904\u7406\u3002",source:"@site/docs/integration/scow-api-hook/hook.md",sourceDirName:"integration/scow-api-hook",slug:"/integration/scow-api-hook/hook",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/scow-api-hook/hook.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"SCOW Hook"},sidebar:"integration",previous:{title:"SCOW Protobuf\u6587\u4ef6",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto"},next:{title:"\u4f7f\u7528\u793a\u4f8b",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b"}},l={},h=[{value:"SCOW\u670d\u52a1\u8fde\u63a5\u5230Hook\u670d\u52a1",id:"scow\u670d\u52a1\u8fde\u63a5\u5230hook\u670d\u52a1",level:2},{value:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b",id:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b",level:2}];function a(o){const e={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...o.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{id:"scow-hook",children:"SCOW Hook"}),"\n",(0,i.jsx)(e.p,{children:"\u5982\u679c\u7528\u6237\u914d\u7f6e\u4e86SCOW Hook\uff0c\u90a3\u4e48SCOW\u5728\u53d1\u751f\u4e00\u4e9b\u4e8b\u4ef6\u65f6\uff0c\u4f1a\u901a\u8fc7SCOW Hook\u8c03\u7528\u76d1\u542c\u7684Hook\u670d\u52a1\u5668\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7SCOW Hook\u76d1\u542cSCOW\u4e2d\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u5e76\u81ea\u5df1\u8fdb\u884c\u4e00\u4e9b\u540e\u7eed\u5904\u7406\u3002"}),"\n",(0,i.jsxs)(e.p,{children:["\u4f1a\u8c03\u7528Hook\u7684\u4e8b\u4ef6\u8bf7\u53c2\u8003",(0,i.jsx)(e.a,{href:"https://github.com/PKUHPC/SCOW/blob/master/protos/hook/hook.proto",children:(0,i.jsx)(e.code,{children:"protos/hook/hook.proto"})}),"\u6587\u4ef6\u4e2d",(0,i.jsx)(e.code,{children:"OnEventRequest"}),"\u6d88\u606f\u7684",(0,i.jsx)(e.code,{children:"message"}),"\u5c5e\u6027\u3002"]}),"\n",(0,i.jsx)(e.p,{children:"\u8981\u4f7f\u7528SCOW Hook\uff0c\u60a8\u9700\u8981\uff1a"}),"\n",(0,i.jsxs)(e.ol,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto",children:"\u83b7\u53d6SCOW Protobuf\u6587\u4ef6"}),"\u5e76\u751f\u6210\u4ee3\u7801"]}),"\n",(0,i.jsxs)(e.li,{children:["\u6839\u636e",(0,i.jsx)(e.code,{children:"hook"}),"\u76ee\u5f55\u4e0b\u7684",(0,i.jsx)(e.code,{children:"proto"}),"\u6587\u4ef6\u5b9e\u73b0\u5176\u4e2d\u5b9a\u4e49\u7684gRPC\u670d\u52a1"]}),"\n",(0,i.jsx)(e.li,{children:"\u542f\u52a8\u60a8\u7684gRPC\u670d\u52a1\u5668"}),"\n",(0,i.jsx)(e.li,{children:"\u5728SCOW\u4e2d\u914d\u7f6eSCOW Hook\u529f\u80fd"}),"\n"]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-yaml",metastring:'title="config/common.yaml"',children:"scowHook:\n # \u542f\u7528SCOW Hook\u529f\u80fd\uff0c\u9ed8\u8ba4\u4e3atrue\n # enabled: true\n\n # \u82e5\u60a8\u53ea\u6709\u4e00\u4e2ahook\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528url\u5c5e\u6027\uff0c\u5e76\u586b\u5165\u60a8\u7684Hook\u7684\u5730\u5740\n url: \u60a8\u7684gRPC\u670d\u52a1\u5668\u7684\u5730\u5740\n\n # \u82e5\u60a8\u6709\u591a\u4e2ahook\uff0c\u5219\u53ef\u4ee5\u4f7f\u7528hooks\u5c5e\u6027\uff0c\u9010\u4e2a\u586b\u5165\u60a8\u7684\u5730\u5740\u3002\n # \u82e5\u60a8\u586b\u5199\u4e86hooks\uff0c\u5219url\u5c5e\u6027\u5c06\u4f1a\u88ab\u5ffd\u7565\n hooks:\n - name: hook-name-1 # hook\u540d\uff0c\u53ef\u9009\uff0c\u82e5\u586b\u5199\u4e86\uff0c\u5219\u5728\u65e5\u5fd7\u4e2d\u53ef\u4ee5\u770b\u5230\u88ab\u8c03\u7528\u7684hook\u7684\u540d\u5b57\n url: hook 1\u5730\u5740 # hook\u670d\u52a1\u5668\u7aef\u5730\u5740\n - name: hook-name-2\n url: hook 2\u5730\u5740\n"})}),"\n",(0,i.jsxs)(e.ol,{start:"5",children:["\n",(0,i.jsx)(e.li,{children:"\u91cd\u542fSCOW"}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"scow\u670d\u52a1\u8fde\u63a5\u5230hook\u670d\u52a1",children:"SCOW\u670d\u52a1\u8fde\u63a5\u5230Hook\u670d\u52a1"}),"\n",(0,i.jsxs)(e.p,{children:["\u8bf7\u6ce8\u610f\uff0cSCOW\u7684\u670d\u52a1\u5668\u662f\u8fd0\u884c\u5728\u5bb9\u5668\u4e2d\u7684\uff0c\u901a\u8fc7",(0,i.jsx)(e.code,{children:"localhost"}),"\u65e0\u6cd5\u8bbf\u95ee\u5230\u8fd0\u884c\u5230SCOW\u8282\u70b9\u4e0a\u7684\u670d\u52a1\u3002\u5f53\u8bbe\u5b9ahook\u7684URL\u65f6\uff0c\u8bf7\u4f7f\u7528\u670d\u52a1\u5728\u60a8\u7684\u5c40\u57df\u7f51\u4e2d\u7684\u5730\u5740\u3002"]}),"\n",(0,i.jsxs)(e.p,{children:["\u5982\u679c\u60a8\u4e0d\u786e\u5b9a\u4e00\u4e2a\u5730\u5740\u662f\u5426\u80fd\u4ece\u5bb9\u5668\u4e2d\u8fde\u63a5\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c",(0,i.jsx)(e.code,{children:"ping"}),"\u7b49\u547d\u4ee4\u5c1d\u8bd5\u662f\u5426\u80fd\u5230\u8fbe\u60a8\u7684Hook\u670d\u52a1\uff1a"]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-bash",children:"./cli compose exec mis-server sh\nping \u60a8\u7684gRPC\u670d\u52a1\u5668\u7684\u5730\u5740\n"})}),"\n",(0,i.jsx)(e.h2,{id:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b",children:"\u5b9e\u9645\u9879\u76ee\u793a\u4f8b"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:(0,i.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go#%E5%AE%9E%E7%8E%B0%E5%B9%B6%E6%B3%A8%E5%86%8Cscow-hook",children:"Go"})}),"\n"]})]})}function d(o={}){const{wrapper:e}={...(0,r.R)(),...o.components};return e?(0,i.jsx)(e,{...o,children:(0,i.jsx)(a,{...o})}):a(o)}},5409:(o,e,n)=>{n.d(e,{R:()=>t,x:()=>c});var i=n(48318);const r={},s=i.createContext(r);function t(o){const e=i.useContext(s);return i.useMemo((function(){return"function"==typeof o?o(e):{...e,...o}}),[e,o])}function c(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(r):o.components||r:t(o.components),i.createElement(s.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ae452c37.7a81add8.js b/pr-preview/pr-1298/assets/js/ae452c37.7a81add8.js deleted file mode 100644 index 0723ba1000..0000000000 --- a/pr-preview/pr-1298/assets/js/ae452c37.7a81add8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5171],{50067:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>s,metadata:()=>n,toc:()=>m});var i=t(49214),p=t(5409);const s={},o=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem",title:"definition-properties-slurm-properties-partitions-patternproperties--properties-mem",description:"mem Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes"}},c={},m=[{value:"mem Type",id:"mem-type",level:2}];function u(e){const r={code:"code",h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"mem-type",children:"mem Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})})]})}function a(e={}){const{wrapper:r}={...(0,p.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>n});var i=t(48318);const p={},s=i.createContext(p);function o(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:o(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/af8bc913.3d762b22.js b/pr-preview/pr-1298/assets/js/af8bc913.3d762b22.js deleted file mode 100644 index 665b07906f..0000000000 --- a/pr-preview/pr-1298/assets/js/af8bc913.3d762b22.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9392],{55701:s=>{s.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/af8efd43.d5cf2736.js b/pr-preview/pr-1298/assets/js/af8efd43.d5cf2736.js deleted file mode 100644 index 5121b60dbe..0000000000 --- a/pr-preview/pr-1298/assets/js/af8efd43.d5cf2736.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9450],{97112:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var n=o(49214),r=o(5409);const i={},s=void 0,c={id:"refs/config/mis/definition-properties-jobchargecomment",title:"definition-properties-jobchargecomment",description:"jobChargeComment Type",source:"@site/docs/refs/config/mis/definition-properties-jobchargecomment.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-jobchargecomment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-jobchargecomment.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs"},next:{title:"definition-properties-jobchargetype",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype"}},p={},a=[{value:"jobChargeComment Type",id:"jobchargecomment-type",level:2},{value:"jobChargeComment Default Value",id:"jobchargecomment-default-value",level:2}];function m(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"jobchargecomment-type",children:"jobChargeComment Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})}),"\n",(0,n.jsx)(t.h2,{id:"jobchargecomment-default-value",children:"jobChargeComment Default Value"}),"\n",(0,n.jsx)(t.p,{children:"The default value is:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'"\u96c6\u7fa4: {cluster}\uff0c\u4f5c\u4e1aID\uff1a{idJob}"\n'})})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},5409:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>c});var n=o(48318);const r={},i=n.createContext(r);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b089b694.2d611ce8.js b/pr-preview/pr-1298/assets/js/b089b694.2d611ce8.js deleted file mode 100644 index 02b9dab45f..0000000000 --- a/pr-preview/pr-1298/assets/js/b089b694.2d611ce8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9811],{34289:(e,r,o)=>{o.r(r),o.d(r,{assets:()=>l,contentTitle:()=>p,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var t=o(49214),i=o(5409);const n={},p=void 0,s={id:"refs/config/ui/definition-properties-primarycolor-properties-defaultcolor",title:"definition-properties-primarycolor-properties-defaultcolor",description:"defaultColor Type",source:"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-footer",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer"},next:{title:"definition-properties-primarycolor-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-"}},l={},c=[{value:"defaultColor Type",id:"defaultcolor-type",level:2},{value:"defaultColor Default Value",id:"defaultcolor-default-value",level:2}];function a(e){const r={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"defaultcolor-type",children:"defaultColor Type"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})}),"\n",(0,t.jsx)(r.h2,{id:"defaultcolor-default-value",children:"defaultColor Default Value"}),"\n",(0,t.jsx)(r.p,{children:"The default value is:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-json",children:'"#9B0000"\n'})})]})}function d(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},5409:(e,r,o)=>{o.d(r,{R:()=>p,x:()=>s});var t=o(48318);const i={},n=t.createContext(i);function p(e){const r=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),t.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b0aeb598.3d7f2412.js b/pr-preview/pr-1298/assets/js/b0aeb598.3d7f2412.js deleted file mode 100644 index 6ee3184879..0000000000 --- a/pr-preview/pr-1298/assets/js/b0aeb598.3d7f2412.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3955],{86023:e=>{e.exports=JSON.parse('{"title":"\u7f51\u5173","description":"\u5173\u4e8egateway\u914d\u7f6e\u7684\u6587\u6863","slug":"/category/\u7f51\u5173","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173","navigation":{"previous":{"title":"\u63d2\u4ef6","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins/"},"next":{"title":"\u914d\u7f6e","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b26bb1dc.0fa4e0b7.js b/pr-preview/pr-1298/assets/js/b26bb1dc.0fa4e0b7.js deleted file mode 100644 index cfca47882c..0000000000 --- a/pr-preview/pr-1298/assets/js/b26bb1dc.0fa4e0b7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7695],{49248:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>p,metadata:()=>o,toc:()=>l});var n=r(49214),i=r(5409);const p={},s=void 0,o={id:"refs/config/app/definition-properties-web-properties-connect-properties-query",title:"definition-properties-web-properties-connect-properties-query",description:"query Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-query.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-query",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-query.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-query-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties"},next:{title:"definition-properties-web-properties-connect",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect"}},c={},l=[{value:"query Type",id:"query-type",level:2},{value:"Pattern: <code>^.*$</code>",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"query-type",children:"query Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",children:"Details"}),")"]}),"\n",(0,n.jsx)(t.h1,{id:"query-properties",children:"query Properties"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"^.*$"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-",title:"undefined#/properties/web/properties/connect/properties/query/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,n.jsxs)(t.h2,{id:"pattern-",children:["Pattern: ",(0,n.jsx)(t.code,{children:"^.*$"})]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"^.*$"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-",title:"undefined#/properties/web/properties/connect/properties/query/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>o});var n=r(48318);const i={},p=n.createContext(i);function s(e){const t=n.useContext(p);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(p.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b3d3256b.0b0b1dff.js b/pr-preview/pr-1298/assets/js/b3d3256b.0b0b1dff.js deleted file mode 100644 index 92d50e291d..0000000000 --- a/pr-preview/pr-1298/assets/js/b3d3256b.0b0b1dff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6862],{94493:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>t});var r=s(49214),l=s(5409);const o={sidebar_position:1,title:"\u8fd0\u7ef4"},c="\u8fd0\u7ef4",i={id:"deploy/ops/index",title:"\u8fd0\u7ef4",description:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5bf9\u7cfb\u7edf\u8fdb\u884c\u7684\u5e38\u89c1\u8fd0\u7ef4\u64cd\u4f5c\u3002",source:"@site/docs/deploy/ops/index.md",sourceDirName:"deploy/ops",slug:"/deploy/ops/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/ops/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/ops/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u8fd0\u7ef4"},sidebar:"deploy",previous:{title:"\u8fd0\u7ef4",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4"},next:{title:"SCOW\u7ba1\u7406\u5458\u4f7f\u7528\u6280\u5de7",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips"}},d={},t=[{value:"\u66f4\u65b0",id:"\u66f4\u65b0",level:2},{value:"\u65e5\u5fd7",id:"\u65e5\u5fd7",level:2},{value:"\u67e5\u770b\u65e5\u5fd7",id:"\u67e5\u770b\u65e5\u5fd7",level:3},{value:"\u914d\u7f6e\u65e5\u5fd7\u8f93\u51fa",id:"\u914d\u7f6e\u65e5\u5fd7\u8f93\u51fa",level:3}];function a(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u8fd0\u7ef4",children:"\u8fd0\u7ef4"}),"\n",(0,r.jsx)(n.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5bf9\u7cfb\u7edf\u8fdb\u884c\u7684\u5e38\u89c1\u8fd0\u7ef4\u64cd\u4f5c\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"\u66f4\u65b0",children:"\u66f4\u65b0"}),"\n",(0,r.jsx)(n.p,{children:"SCOW\u901a\u8fc7\u5bb9\u5668\u955c\u50cf\u5206\u53d1\uff0c\u7248\u672c\u53f7\u5373SCOW\u955c\u50cf\u7684tag\u540d\u3002"}),"\n",(0,r.jsxs)(n.p,{children:["\u8981\u66f4\u65b0SCOW\uff0c\u8bf7\u4fee\u6539",(0,r.jsx)(n.code,{children:"install.yaml"}),"\u4e2d\u7684",(0,r.jsx)(n.code,{children:"imageTag"}),"\u4e3a\u60a8\u60f3\u66f4\u65b0\u5230\u7684\u7248\u672c\uff08tag\u540d\uff09\uff0c\u4f8b\u5982\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yaml"',children:"# \u4f7f\u7528v0.4.0\u7248\u672c\nimageTag: v0.4.0\n"})}),"\n",(0,r.jsx)(n.p,{children:"\u4fee\u6539\u5b8c\u6210\u540e\uff0c\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u5bb9\u5668\u955c\u50cf\u5e76\u91cd\u65b0\u7cfb\u7edf\u3002"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"./cli compose pull\n./cli compose up -d\n"})}),"\n",(0,r.jsx)(n.p,{children:"\u5982\u679c\u66f4\u65b0\u5f15\u5165\u4e86\u7834\u574f\u6027\u7684\u53d8\u66f4\uff0c\u8bf7\u6839\u636e\u5bf9\u5e94\u7684\u66f4\u65b0\u8bf4\u660e\uff0c\u4fee\u6539\u914d\u7f6e\u540e\u5728\u8fdb\u884c\u90e8\u7f72\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"\u65e5\u5fd7",children:"\u65e5\u5fd7"}),"\n",(0,r.jsx)(n.h3,{id:"\u67e5\u770b\u65e5\u5fd7",children:"\u67e5\u770b\u65e5\u5fd7"}),"\n",(0,r.jsxs)(n.p,{children:["\u5404\u4e2a\u7ec4\u4ef6\u7684\u65e5\u5fd7\u76f4\u63a5\u5199\u5230",(0,r.jsx)(n.code,{children:"stdout"}),"\u3002\u53ef\u4ee5\u4f7f\u7528\u5e38\u7528\u7684docker\u65e5\u5fd7\u7ba1\u7406\u547d\u4ee4\u6216\u8005\u5de5\u5177\u7ba1\u7406\u65e5\u5fd7\u3002\u5982\u679c\u4f7f\u7528\u7684",(0,r.jsx)(n.code,{children:"docker compose"}),"\uff0c\u53ef\u4ee5\u4f7f\u7528",(0,r.jsx)(n.code,{children:"./cli compose logs -f"}),"\u540e\u9762\u8ddf\u5bf9\u5e94\u670d\u52a1\u540d\u79f0\u7684\u65b9\u5f0f\u67e5\u770b\u670d\u52a1\u7684\u65e5\u5fd7\u3002"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u67e5\u770b\u8ba4\u8bc1\u7cfb\u7edf\u7684\u65e5\u5fd7\n./cli compose logs -f auth\n\n# \u67e5\u770b\u95e8\u6237\u7cfb\u7edf\u670d\u52a1\u5668\u7aef\u7684\u65e5\u5fd7\n./cli compose logs -f portal-server\n\n# \u67e5\u770b\u7ba1\u7406\u7cfb\u7edf\u670d\u52a1\u5668\u7aef\u7684\u65e5\u5fd7\n./cli compose logs -f mis-server\n"})}),"\n",(0,r.jsx)(n.h3,{id:"\u914d\u7f6e\u65e5\u5fd7\u8f93\u51fa",children:"\u914d\u7f6e\u65e5\u5fd7\u8f93\u51fa"}),"\n",(0,r.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u901a\u8fc7\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf\u540e\u7aef\uff08",(0,r.jsx)(n.code,{children:"portal-server"}),"\uff09\u3001\u7ba1\u7406\u7cfb\u7edf\u540e\u7aef\uff08",(0,r.jsx)(n.code,{children:"mis-server"}),"\uff09\u548c\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\uff08",(0,r.jsx)(n.code,{children:"auth"}),"\uff09\u7684\u65e5\u5fd7\u8f93\u51fa\u9009\u9879\u3002"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yaml"',children:'log:\n # LOG.LEVEL: \u65e5\u5fd7\u7b49\u7ea7\uff0c\u53ef\u9009trace, debug, info, warn, error\u3002\u9ed8\u8ba4info\n level: "info"\n\n # LOG.PRETTY: \u662f\u5426\u8f93\u51fa\u66f4\u9002\u5408\u76f4\u63a5\u8bfb\u7684log\u3002\u5982\u679c\u4e3afalse\uff0c\u5219\u8f93\u51fajson\u683c\u5f0f\u7684\u65e5\u5fd7\u3002\u9ed8\u8ba4false\n pretty: false\n'})}),"\n",(0,r.jsxs)(n.p,{children:["\u5f53",(0,r.jsx)(n.code,{children:"log.pretty"}),"\u4e3a",(0,r.jsx)(n.code,{children:"true"}),"\u65f6\uff0c\u8f93\u51fa\u65e5\u5fd7\u683c\u5f0f\u5982\u4e0b\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:'[02:27:00.372] INFO (18): request completed\n reqId: "req-3"\n res: {\n "statusCode": 200\n }\n responseTime: 0.3789879999967525\n'})}),"\n",(0,r.jsxs)(n.p,{children:["\u5f53",(0,r.jsx)(n.code,{children:"log.pretty"}),"\u4e3a",(0,r.jsx)(n.code,{children:"false"}),"\u65f6\uff0c\u8f93\u51fa\u65e5\u5fd7\u683c\u5f0f\u5982\u4e0b\uff1a"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{"level":30,"time":1676429663943,"pid":18,"hostname":"d3fc2f53e863","reqId":"req-1","res":{"statusCode":200},"responseTime":4.37828900013119,"msg":"request completed"}\n'})}),"\n",(0,r.jsx)(n.p,{children:"\u5f53\u60a8\u9700\u8981\u4f7f\u7528\u65e5\u5fd7\u6536\u96c6\u5de5\u5177\u65f6\uff0c\u5efa\u8bae\u60a8\u4f7f\u7528JSON\u683c\u5f0f\u8f93\u51fa\u65e5\u5fd7\uff0c\u7136\u540e\u4f7f\u7528\u65e5\u5fd7\u5206\u6790\u5de5\u5177\u6765\u67e5\u770b\u548c\u5206\u6790\u6536\u96c6\u5230\u7684\u65e5\u5fd7\u3002"})]})}function p(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>i});var r=s(48318);const l={},o=r.createContext(l);function c(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b41687e1.a81304e7.js b/pr-preview/pr-1298/assets/js/b41687e1.a81304e7.js deleted file mode 100644 index e0619a8417..0000000000 --- a/pr-preview/pr-1298/assets/js/b41687e1.a81304e7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1761],{68040:(e,c,s)=>{s.r(c),s.d(c,{assets:()=>i,contentTitle:()=>l,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>d});var o=s(49214),n=s(5409);const t={slug:"scow-cli-release",title:"scow-cli",authors:["chenjunda"],tags:["scow","scow-cli","scow-deployment"]},l="scow-cli",r={permalink:"/SCOW/pr-preview/pr-1298/blog/scow-cli-release",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-03-29-scow-cli.md",source:"@site/blog/2023-03-29-scow-cli.md",title:"scow-cli",description:"\u6211\u4eec\u81f4\u529b\u4e8e\u4ee5\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u5730\u90e8\u7f72\u3001\u8fd0\u7ef4\u548c\u7ba1\u7406SCOW\u96c6\u7fa4\u3002",date:"2023-03-29T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli"},{label:"scow-deployment",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"}],readingTime:1.285,hasTruncateMarker:!1,authors:[{name:"Chen Junda",title:"Developer",url:"https://ddadaal.me",imageURL:"https://avatars.githubusercontent.com/u/8363856",key:"chenjunda"}],frontMatter:{slug:"scow-cli-release",title:"scow-cli",authors:["chenjunda"],tags:["scow","scow-cli","scow-deployment"]},unlisted:!1,prevItem:{title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter"},nextItem:{title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",permalink:"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment"}},i={authorsImageUrls:[void 0]},d=[];function p(e){const c={a:"a",code:"code",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c.p,{children:"\u6211\u4eec\u81f4\u529b\u4e8e\u4ee5\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u5730\u90e8\u7f72\u3001\u8fd0\u7ef4\u548c\u7ba1\u7406SCOW\u96c6\u7fa4\u3002"}),"\n",(0,o.jsxs)(c.p,{children:["\u4e4b\u524d\u7684",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u4e3a\u4e86\u4fdd\u8bc1\u65e0\u9700\u5b89\u88c5\u4f9d\u8d56\u5747\u53ef\u4f7f\u7528\uff0c\u6240\u4ee5\u91c7\u7528\u4e86\u548cSCOW\u5176\u4ed6\u90e8\u5206\u4e0d\u4e00\u6837\u7684python\u8bed\u8a00\u5f00\u53d1\uff0c\u4e14\u65e0\u6cd5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\u7684\u529f\u80fd\uff0c\u9650\u5236\u4e86",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u7684\u529f\u80fd\u3002"]}),"\n",(0,o.jsxs)(c.p,{children:["\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e9b\u95ee\u9898\uff0c\u6211\u4eec\u91cd\u65b0\u7f16\u5199\u4e86",(0,o.jsx)(c.code,{children:"scow-cli"}),"\u3002\u6b64\u5de5\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a"]}),"\n",(0,o.jsxs)(c.ul,{children:["\n",(0,o.jsxs)(c.li,{children:["\u4f7f\u7528",(0,o.jsx)(c.code,{children:"install.yaml"}),"\u8fdb\u884c\u914d\u7f6e\uff0c\u914d\u7f6e\u65b9\u5f0f\u548c\u7cfb\u7edf\u5176\u4ed6\u90e8\u5206\u76f8\u540c"]}),"\n",(0,o.jsx)(c.li,{children:"\u53ef\u81ea\u7531\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\uff0c\u529f\u80fd\u6269\u5c55\u8d77\u6765\u66f4\u52a0\u65b9\u4fbf"}),"\n",(0,o.jsx)(c.li,{children:"\u6b64\u5de5\u5177\u91c7\u7528\u548c\u7cfb\u7edf\u5176\u4ed6\u90e8\u5206\u76f8\u540c\u7684\u6280\u672f\u6808\u7f16\u5199\uff0c\u65b9\u4fbf\u540e\u7eed\u529f\u80fd\u5f00\u53d1\u548c\u7ef4\u62a4"}),"\n",(0,o.jsx)(c.li,{children:"\u6253\u5305\u4e3a\u4e00\u4e2a\u53ef\u4ee5\u76f4\u63a5\u6267\u884c\u7684\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u540c\u6837\u65e0\u9700\u5b89\u88c5\u4efb\u4f55\u4f9d\u8d56\u5373\u53ef\u4f7f\u7528"}),"\n"]}),"\n",(0,o.jsxs)(c.p,{children:[(0,o.jsx)(c.code,{children:"scow-cli"}),"\u662f\u540e\u7eed\u589e\u52a0\u66f4\u591a\u547d\u4ee4\u884c\u7ef4\u62a4\u529f\u80fd\u7684\u57fa\u7840\uff0c\u5efa\u8bae\u5927\u5bb6\u5c3d\u5feb\u4ece",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u8fc1\u79fb\u5230",(0,o.jsx)(c.code,{children:"scow-cli"}),"\u3002"]}),"\n",(0,o.jsxs)(c.p,{children:["\u8bf7\u53c2\u8003",(0,o.jsx)(c.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli",children:"scow-cli"}),"\u6587\u6863\u4ee5\u4e0b\u8f7dscow-cli\uff0c\u4ee5\u53ca\u4e86\u89e3\u5982\u4f55\u4ece",(0,o.jsx)(c.code,{children:"scow-deployment"}),"\u8fc1\u79fb\u5230",(0,o.jsx)(c.code,{children:"scow-cli"}),"\u3002"]})]})}function a(e={}){const{wrapper:c}={...(0,n.R)(),...e.components};return c?(0,o.jsx)(c,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},5409:(e,c,s)=>{s.d(c,{R:()=>l,x:()=>r});var o=s(48318);const n={},t=o.createContext(n);function l(e){const c=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(c):{...c,...e}}),[c,e])}function r(e){let c;return c=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(t.Provider,{value:c},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b4dc43d1.ffaa4827.js b/pr-preview/pr-1298/assets/js/b4dc43d1.ffaa4827.js deleted file mode 100644 index d7d9aa694e..0000000000 --- a/pr-preview/pr-1298/assets/js/b4dc43d1.ffaa4827.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8052],{42945:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var o=n(49214),s=n(5409);const i={sidebar_position:7,title:"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e"},r="\u521b\u5efa\u7528\u6237/\u4fee\u6539\u5bc6\u7801\u6b63\u5219\u914d\u7f6e",c={id:"deploy/config/customization/password-pattern",title:"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e",description:"\u5f53\u6240\u4f7f\u7528\u7684\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u521b\u5efa\u7528\u6237\u65f6\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7ba1\u7406\u7cfb\u7edf\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u8868\u5355\u6765\u5b8c\u6210\u521b\u5efa\u7528\u6237\u7684\u529f\u80fd\uff1b\u7528\u6237\u53ef\u4ee5\u5728\u4e2a\u4eba\u4fe1\u606f\u4e2d\u4fee\u6539\u5bc6\u7801\uff0c\u5bf9\u4e8e\u5bc6\u7801\u7684\u89c4\u5219\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u884c\u914d\u7f6e\u3002",source:"@site/docs/deploy/config/customization/password-pattern.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/password-pattern",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/password-pattern.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks"},next:{title:"\u81ea\u5b9a\u4e49\u53ef\u67e5\u8be2\u7684\u6d88\u8d39\u7c7b\u578b",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types"}},a={},p=[];function d(e){const t={code:"code",h1:"h1",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"\u521b\u5efa\u7528\u6237\u4fee\u6539\u5bc6\u7801\u6b63\u5219\u914d\u7f6e",children:"\u521b\u5efa\u7528\u6237/\u4fee\u6539\u5bc6\u7801\u6b63\u5219\u914d\u7f6e"}),"\n",(0,o.jsx)(t.p,{children:"\u5f53\u6240\u4f7f\u7528\u7684\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u521b\u5efa\u7528\u6237\u65f6\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7ba1\u7406\u7cfb\u7edf\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u8868\u5355\u6765\u5b8c\u6210\u521b\u5efa\u7528\u6237\u7684\u529f\u80fd\uff1b\u7528\u6237\u53ef\u4ee5\u5728\u4e2a\u4eba\u4fe1\u606f\u4e2d\u4fee\u6539\u5bc6\u7801\uff0c\u5bf9\u4e8e\u5bc6\u7801\u7684\u89c4\u5219\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u884c\u914d\u7f6e\u3002"}),"\n",(0,o.jsx)(t.p,{children:"\u914d\u7f6e\uff1a"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-yaml",metastring:'title="config/common.yaml"',children:"# \u521b\u5efa\u7528\u6237\u3001\u4fee\u6539\u5bc6\u7801\u65f6\uff0c\u5bc6\u7801\u7684\u89c4\u5219\u3002\u5fc5\u987b\u8bbe\u7f6e\npasswordPattern:\n # \u6b63\u5219\u8868\u8fbe\u5f0f\u3002\u4e0b\u9762\u4e3a\u9ed8\u8ba4\u503c\n regex: ^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[`~!@#\\$%^&*()_+\\-[\\];',./{}|:\"<>?]).{8,}$\n\n # \u51fa\u9519\u65f6\u7684\u6d88\u606f\u3002\u4e0b\u9762\u4e3a\u9ed8\u8ba4\u503c\n errorMessage: \u5fc5\u987b\u5305\u542b\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7b26\u53f7\uff0c\u957f\u5ea6\u5927\u4e8e\u7b49\u4e8e8\u4f4d\n\n"})})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var o=n(48318);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b5149d2c.be48a356.js b/pr-preview/pr-1298/assets/js/b5149d2c.be48a356.js deleted file mode 100644 index 8eab5df206..0000000000 --- a/pr-preview/pr-1298/assets/js/b5149d2c.be48a356.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6429],{79418:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>t,metadata:()=>o,toc:()=>d});var n=i(49214),s=i(5409);const t={},c=void 0,o={id:"refs/config/cluster/definition-properties-scheduler",title:"definition-properties-scheduler",description:"scheduler Type",source:"@site/docs/refs/config/cluster/definition-properties-scheduler.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-scheduler",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-scheduler.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-scheduler-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0"},next:{title:"definition-properties-slurm-properties-computenodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items"}},l={},d=[{value:"scheduler Type",id:"scheduler-type",level:2},{value:"scheduler Default Value",id:"scheduler-default-value",level:2}];function p(e){const r={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h2,{id:"scheduler-type",children:"scheduler Type"}),"\n",(0,n.jsxs)(r.p,{children:["merged type (",(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler",children:"Details"}),")"]}),"\n",(0,n.jsx)(r.p,{children:"any of"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"scheduler-default-value",children:"scheduler Default Value"}),"\n",(0,n.jsx)(r.p,{children:"The default value is:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-json",children:'"slurm"\n'})})]})}function u(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>c,x:()=>o});var n=i(48318);const s={},t=n.createContext(s);function c(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b569d8d0.26569a89.js b/pr-preview/pr-1298/assets/js/b569d8d0.26569a89.js deleted file mode 100644 index 27f618abc9..0000000000 --- a/pr-preview/pr-1298/assets/js/b569d8d0.26569a89.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4459],{92855:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>i,contentTitle:()=>c,default:()=>o,frontMatter:()=>r,metadata:()=>t,toc:()=>h});var d=s(49214),l=s(5409);const r={sidebar_position:4,title:"\u914d\u7f6eHTML\u8868\u5355"},c="\u914d\u7f6eHTML\u8868\u5355",t={id:"deploy/config/portal/apps/configure-attributes",title:"\u914d\u7f6eHTML\u8868\u5355",description:"Web\u548cVNC\u7c7b\u5e94\u7528\u90fd\u53ef\u4ee5\u901a\u8fc7attributes\u914d\u7f6e\u9879\uff0c\u4fee\u6539\u521b\u5efa\u5e94\u7528\u7684HTML\u8868\u5355\uff0c\u5141\u8bb8\u7ba1\u7406\u5458\u5b9a\u4e49\u7528\u6237\u521b\u5efa\u4ea4\u4e92\u5f0f\u5e94\u7528\u65f6\u7684\u8868\u5355\u9009\u9879\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u6307\u5b9a\u5e94\u7528\u7684\u7248\u672c\u7b49\u4fe1\u606f\u3002",source:"@site/docs/deploy/config/portal/apps/configure-attributes.md",sourceDirName:"deploy/config/portal/apps",slug:"/deploy/config/portal/apps/configure-attributes",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/configure-attributes.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"\u914d\u7f6eHTML\u8868\u5355"},sidebar:"deploy",previous:{title:"VSCode",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode/"},next:{title:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps"}},i={},h=[{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"web\u7c7b\u5e94\u7528\u914d\u7f6eHTML\u8868\u5355\u793a\u4f8b",id:"web\u7c7b\u5e94\u7528\u914d\u7f6ehtml\u8868\u5355\u793a\u4f8b",level:3},{value:"VNC\u7c7b\u5e94\u7528\u914d\u7f6eHTML\u8868\u5355\u793a\u4f8b",id:"vnc\u7c7b\u5e94\u7528\u914d\u7f6ehtml\u8868\u5355\u793a\u4f8b",level:3},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2},{value:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6587\u672c\u7684HTML\u8868\u5355",id:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6587\u672c\u7684html\u8868\u5355",level:3},{value:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6570\u5b57\u7684HTML\u8868\u5355",id:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6570\u5b57\u7684html\u8868\u5355",level:3},{value:"\u914d\u7f6e\u8f93\u5165\u4e3a\u4e0b\u62c9\u9009\u62e9\u5668\u7684HTML\u8868\u5355",id:"\u914d\u7f6e\u8f93\u5165\u4e3a\u4e0b\u62c9\u9009\u62e9\u5668\u7684html\u8868\u5355",level:3},{value:"\u914d\u7f6e\u5176\u4ed6sbatch\u53c2\u6570",id:"\u914d\u7f6e\u5176\u4ed6sbatch\u53c2\u6570",level:3}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.h1,{id:"\u914d\u7f6ehtml\u8868\u5355",children:"\u914d\u7f6eHTML\u8868\u5355"}),"\n",(0,d.jsxs)(n.p,{children:["Web\u548cVNC\u7c7b\u5e94\u7528\u90fd\u53ef\u4ee5\u901a\u8fc7",(0,d.jsx)(n.code,{children:"attributes"}),"\u914d\u7f6e\u9879\uff0c\u4fee\u6539\u521b\u5efa\u5e94\u7528\u7684HTML\u8868\u5355\uff0c\u5141\u8bb8\u7ba1\u7406\u5458\u5b9a\u4e49\u7528\u6237\u521b\u5efa\u4ea4\u4e92\u5f0f\u5e94\u7528\u65f6\u7684\u8868\u5355\u9009\u9879\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u6307\u5b9a\u5e94\u7528\u7684\u7248\u672c\u7b49\u4fe1\u606f\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u7528\u6237\u63d0\u4ea4\u7684\u5185\u5bb9\u4f1a\u4f5c\u4e3a\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u7684\u73af\u5883\u53d8\u91cf\u751f\u6548\uff0cweb\u7c7b\u5e94\u7528\u53ef\u4ee5\u5728",(0,d.jsx)(n.code,{children:"script"}),"\u9879\u4f7f\u7528\uff0cVNC\u7c7b\u5e94\u7528\u53ef\u4ee5\u5728",(0,d.jsx)(n.code,{children:"xstartup"}),"\u4f7f\u7528\u8fd9\u4e9b\u53d8\u91cf\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u9700\u8981\u8f93\u5165\u5176\u4ed6sbatch\u53c2\u6570\uff0c\u53ef\u4ee5\u5728\u6b64\u9879\u4e2d\u914d\u7f6e\uff0c\u5177\u4f53\u793a\u4f8b\u8bf7\u53c2\u8003",(0,d.jsx)(n.a,{href:"#%E9%85%8D%E7%BD%AE%E5%85%B6%E4%BB%96sbatch%E5%8F%82%E6%95%B0",children:"\u5176\u4ed6sbatch\u53c2\u6570\u914d\u7f6e"}),"\u3002\u3002"]}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,d.jsx)(n.h3,{id:"web\u7c7b\u5e94\u7528\u914d\u7f6ehtml\u8868\u5355\u793a\u4f8b",children:"web\u7c7b\u5e94\u7528\u914d\u7f6eHTML\u8868\u5355\u793a\u4f8b"}),"\n",(0,d.jsxs)(n.p,{children:["\u4ee5",(0,d.jsx)(n.a,{href:"https://github.com/coder/code-server",children:"coder/code-server"}),"\u542f\u52a8VSCode\u4e3a\u4f8b\uff0c\u4e3aweb\u7c7b\u5e94\u7528\u81ea\u5b9a\u4e49HTML\u8868\u5355\u7684\u914d\u7f6e\u6587\u4ef6\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/vscode.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: vscode\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: VSCode\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u4f7f\u7528\u4e86\u7528\u6237\u5728\u81ea\u5b9a\u4e49\u8868\u5355\u4e2d\u9009\u62e9\u7684\u9009\u9879\n script: |\n module load ${selectVersion}\n PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n\n# \u914d\u7f6eHTML\u8868\u5355\uff0c\u7528\u6237\u53ef\u4ee5\u6307\u5b9acode-server\u7248\u672c \nattributes:\n - type: select\n name: selectVersion\n label: \u9009\u62e9\u7248\u672c\n required: true # \u7528\u6237\u5fc5\u987b\u9009\u62e9\u4e00\u4e2a\u7248\u672c\n placeholder: \u9009\u62e9code-server\u7684\u7248\u672c # \u63d0\u793a\u4fe1\u606f\n select:\n - value: code-server/4.8.0\n label: version 4.8.0\n - value: code-server/4.9.0\n label: version 4.9.0\n'})}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u9009\u62e9\u7684\u662f",(0,d.jsx)(n.code,{children:"version 4.8.0"}),"\u9009\u9879\uff0c",(0,d.jsx)(n.code,{children:"xstartup"}),"\u4e2d",(0,d.jsx)(n.code,{children:"module load ${selectVersion}"}),"\u5b9e\u9645\u6267\u884c\u7684\u662f",(0,d.jsx)(n.code,{children:"module load code-server/4.8.0"}),"\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"vnc\u7c7b\u5e94\u7528\u914d\u7f6ehtml\u8868\u5355\u793a\u4f8b",children:"VNC\u7c7b\u5e94\u7528\u914d\u7f6eHTML\u8868\u5355\u793a\u4f8b"}),"\n",(0,d.jsx)(n.p,{children:"\u4ee5Emacs\u4e3a\u4f8b\uff0c\u684c\u9762\u7c7b\u5e94\u7528\u81ea\u5b9a\u4e49HTML\u8868\u5355\u7684\u914d\u7f6e\u6587\u4ef6\u5982\u4e0b\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/emacs.yml"',children:"# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: emacs\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: emacs\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc: \n\n # \u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u6765\u51c6\u5907\u8fd0\u884c\u4efb\u52a1\u7684\u73af\u5883\n # beforeScript:\n # export VERSION=1.0\n \n # \u6b64X Session\u7684xstartup\u811a\u672c\u3002\u4f7f\u7528\u4e86\u7528\u6237\u5728\u81ea\u5b9a\u4e49\u8868\u5355\u4e2d\u9009\u62e9\u7684\u9009\u9879\n xstartup: |\n module load ${selectVersion}\n emacs -mm\n\n# \u914d\u7f6eHTML\u8868\u5355\uff0c\u7528\u6237\u53ef\u4ee5\u6307\u5b9aEmacs\u7248\u672c \nattributes:\n - type: select\n name: selectVersion\n label: \u9009\u62e9\u7248\u672c\n required: true # \u7528\u6237\u5fc5\u987b\u9009\u62e9\u4e00\u4e2a\u7248\u672c\n placeholder: \u9009\u62e9code-server\u7684\u7248\u672c # \u63d0\u793a\u4fe1\u606f\n select:\n - value: emacs/27.1\n label: Emacs 27.1 released\n - value: emacs/28.1\n label: Emacs 28.1 released\n\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u9009\u62e9\u7684\u662f",(0,d.jsx)(n.code,{children:"Emacs 28.1 released"}),"\u9009\u9879\uff0c",(0,d.jsx)(n.code,{children:"xstartup"}),"\u4e2d",(0,d.jsx)(n.code,{children:"module load ${selectVersion}"}),"\u5b9e\u9645\u6267\u884c\u7684\u662f",(0,d.jsx)(n.code,{children:"module load emacs/28.1"}),"\u3002"]}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,d.jsxs)(n.p,{children:["\u914d\u7f6e",(0,d.jsx)(n.code,{children:"attributes"}),"\u53ef\u4ee5\u52a0\u8f7d\u591a\u4e2aHTML\u8868\u5355\uff0c\u6bcf\u4e00\u6761\u53ef\u7528\u914d\u7f6e\u9879\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u5c5e\u6027"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u586b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"type"})}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"number"}),", ",(0,d.jsx)(n.code,{children:"text"})," \u6216\u8005 ",(0,d.jsx)(n.code,{children:"select"})]}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u5728HTML\u8868\u5355\u5143\u7d20\u4e2d\u8f93\u5165\u7684\u5185\u5bb9\u7684\u7c7b\u578b"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"name"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsxs)(n.td,{children:["HTML\u8868\u5355\u7684name\u5c5e\u6027\uff0c\u5728\u7f16\u7a0b\u4e2d\u4f7f\u7528\uff0c\u5e76\u4e14\u4f1a\u4f5c\u4e3a\u8ba1\u7b97\u8282\u70b9\u73af\u5883\u53d8\u91cf\u540d\uff0c\u53ef\u4ee5\u5728Web\u5e94\u7528\u7684",(0,d.jsx)(n.code,{children:"script"}),"\u6216\u8005VNC\u5e94\u7528\u7684",(0,d.jsx)(n.code,{children:"xstartop"}),"\u4f7f\u7528"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"HTML\u8868\u5355\u7684label\u5c5e\u6027\uff0c\u8f93\u5165\u6846\u5de6\u4fa7\u663e\u793a\u7684\u6807\u7b7e"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"required"})}),(0,d.jsx)(n.td,{children:"\u5e03\u5c14\u7c7b\u578b"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u5982\u679c\u8bbe\u7f6e\u4e3a",(0,d.jsx)(n.code,{children:"true"}),"\uff0c\u7528\u6237\u5fc5\u987b\u586b\u5199\u6b64\u9879\uff0c\u5982\u679c\u4e3a",(0,d.jsx)(n.code,{children:"false"}),"\uff0c\u7528\u6237\u53ef\u4ee5\u4e0d\u586b\uff0c\u9ed8\u8ba4\u4e3a",(0,d.jsx)(n.code,{children:"true"}),"\u3002"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"default"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32\u6216\u8005\u6570\u5b57"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u8868\u5355\u7684\u9ed8\u8ba4\u503c\uff0c",(0,d.jsx)(n.code,{children:"number"}),"\u7c7b\u578b\u7684\u9ed8\u8ba4\u503c\u5fc5\u987b\u8bbe\u7f6e\u4e3a\u6570\u5b57\u3002\u5bf9\u4e8e",(0,d.jsx)(n.code,{children:"select"}),"\u7c7b\u578b\u7684\u8868\u5355\uff0c\u5982\u679c\u6ca1\u6709\u914d\u7f6e",(0,d.jsx)(n.code,{children:"default"}),"\uff0c\u5219\u9ed8\u8ba4\u503c\u4e3a\u7b2c\u4e00\u9879"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"placeholder"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsx)(n.td,{children:"\u63cf\u8ff0\u8f93\u5165\u5b57\u6bb5\u9884\u671f\u503c\u7684\u63d0\u793a\u4fe1\u606f\uff0c\u63d0\u793a\u7528\u6237\u6b64\u5904\u7684\u8f93\u5165"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"select"})}),(0,d.jsx)(n.td,{children:"\u9009\u9879\u7684\u5217\u8868"}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u5982\u679c",(0,d.jsx)(n.code,{children:"type"}),"\u662f",(0,d.jsx)(n.code,{children:"select"}),"\uff0c\u5fc5\u987b\u914d\u7f6e\u6b64\u9879\uff0c\u6307\u660e\u5177\u4f53\u7684\u9009\u9879\uff0c\u5177\u4f53\u914d\u7f6e\u529e\u6cd5\u89c1",(0,d.jsx)(n.code,{children:"select"}),"\u793a\u4f8b"]})]})]})]}),"\n",(0,d.jsx)(n.h3,{id:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6587\u672c\u7684html\u8868\u5355",children:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6587\u672c\u7684HTML\u8868\u5355"}),"\n",(0,d.jsxs)(n.p,{children:["\u914d\u7f6e\u4e00\u4e2a\u8f93\u5165\u5185\u5bb9\u662f\u6587\u672c\u7c7b\u578b\u7684\u8868\u5355\uff0c\u9700\u8981\u6307\u5b9a",(0,d.jsx)(n.code,{children:"type"}),"\u4e3a",(0,d.jsx)(n.code,{children:"text"}),", \u793a\u4f8b\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",children:"attributes:\n - type: text\n name: version\n label: \u7248\u672c\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u8f93\u5165\u4e86",(0,d.jsx)(n.code,{children:"v3.4.5"}),"\uff0c\u8ba1\u7b97\u8282\u70b9\u7684\u73af\u5883\u53d8\u91cf",(0,d.jsx)(n.code,{children:"version=v3.4.5"}),"\u53ef\u4ee5\u5728\u5e94\u7528\u542f\u52a8\u65f6\u88ab\u8bfb\u53d6\u3002"]}),"\n",(0,d.jsx)(n.p,{children:"\u914d\u7f6e\u4e00\u4e2a\u4e0d\u662f\u5fc5\u586b\u9879\u7684\u8868\u5355\uff0c\u5e76\u4e14\u914d\u7f6e\u9ed8\u8ba4\u503c\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",children:"attributes:\n - type: text\n name: version\n label: \u7248\u672c\n required: false\n defalt: v3.4.0\n"})}),"\n",(0,d.jsx)(n.h3,{id:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6570\u5b57\u7684html\u8868\u5355",children:"\u914d\u7f6e\u8f93\u5165\u7c7b\u578b\u4e3a\u6570\u5b57\u7684HTML\u8868\u5355"}),"\n",(0,d.jsxs)(n.p,{children:["\u914d\u7f6e\u4e00\u4e2a\u8f93\u5165\u5185\u5bb9\u662f\u6570\u5b57\u7c7b\u578b\u7684\u8868\u5355\uff0c\u9700\u8981\u6307\u5b9a",(0,d.jsx)(n.code,{children:"type"}),"\u4e3a",(0,d.jsx)(n.code,{children:"number"}),", \u6b64\u65f6\u7528\u6237\u4ec5\u80fd\u8f93\u5165\u6570\u5b57\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",children:"attributes:\n - type: number\n name: size\n label: \u6570\u91cf\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u8f93\u5165\u4e86345\uff0c\u8ba1\u7b97\u8282\u70b9\u7684\u73af\u5883\u53d8\u91cf",(0,d.jsx)(n.code,{children:"size=345"}),"\u53ef\u4ee5\u5728\u5e94\u7528\u542f\u52a8\u65f6\u88ab\u8bfb\u53d6\u3002"]}),"\n",(0,d.jsx)(n.p,{children:"\u914d\u7f6e\u4e00\u4e2a\u4e0d\u662f\u5fc5\u586b\u9879\u7684\u8868\u5355\uff0c\u5e76\u4e14\u914d\u7f6e\u9ed8\u8ba4\u503c\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",children:"attributes:\n - type: number\n name: size\n label: \u6570\u91cf\n required: false\n default: 123\n"})}),"\n",(0,d.jsx)(n.h3,{id:"\u914d\u7f6e\u8f93\u5165\u4e3a\u4e0b\u62c9\u9009\u62e9\u5668\u7684html\u8868\u5355",children:"\u914d\u7f6e\u8f93\u5165\u4e3a\u4e0b\u62c9\u9009\u62e9\u5668\u7684HTML\u8868\u5355"}),"\n",(0,d.jsxs)(n.p,{children:["\u914d\u7f6e\u4e00\u4e2a\u8f93\u5165\u5185\u5bb9\u662f\u4e0b\u62c9\u9009\u62e9\u5668\u7684\u8868\u5355\uff0c\u9700\u8981\u6307\u5b9a",(0,d.jsx)(n.code,{children:"type"}),"\u4e3a",(0,d.jsx)(n.code,{children:"select"}),",\u5e76\u4e14\u914d\u7f6e",(0,d.jsx)(n.code,{children:"select"}),"\u9879\u3002",(0,d.jsx)(n.code,{children:"select"}),"\u9879\u9700\u8981\u914d\u7f6e",(0,d.jsx)(n.code,{children:"value"}),"\u548c",(0,d.jsx)(n.code,{children:"label"}),"\uff0c\u4f5c\u4e3a\u7528\u6237\u53ef\u4ee5\u9009\u62e9\u7684\u9009\u9879\u3002"]}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u5c5e\u6027"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u586b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"value"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"HTML\u8868\u5355\u9009\u9879\u7684value\u5c5e\u6027\uff0c\u5728\u7f16\u7a0b\u4e2d\u4f7f\u7528\uff0c\u5e76\u4e14\u4f1a\u4f5c\u4e3a\u8ba1\u7b97\u8282\u70b9\u73af\u5883\u53d8\u91cf\u7684\u503c"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"label"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"HTML\u8868\u5355\u7684label\u5c5e\u6027\uff0c\u9009\u9879\u4e2d\u5c55\u793a\u7ed9\u7528\u6237\u7684\u6587\u672c"})]})]})]}),"\n",(0,d.jsx)(n.p,{children:"\u793a\u4f8b\u5982\u4e0b\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",children:"attributes:\n - type: select\n name: selectVersion\n label: \u9009\u62e9\u7248\u672c\n required: true\n select:\n - value: version10\n label: v10\n - value: version11\n label: v11\n"})}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u679c\u7528\u6237\u9009\u62e9v11\u9009\u9879\uff0c\u8ba1\u7b97\u8282\u70b9\u7684\u73af\u5883\u53d8\u91cf ",(0,d.jsx)(n.code,{children:"selectVersion=version11"})," \u53ef\u4ee5\u5728\u5e94\u7528\u542f\u52a8\u65f6\u88ab\u8bfb\u53d6\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"\u914d\u7f6e\u5176\u4ed6sbatch\u53c2\u6570",children:"\u914d\u7f6e\u5176\u4ed6sbatch\u53c2\u6570"}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"name"}),"\u9700\u8981\u8bbe\u7f6e\u4e3a",(0,d.jsx)(n.code,{children:"sbatchOptions"}),"\uff0c\u6307\u5b9a",(0,d.jsx)(n.code,{children:"type"}),"\u4e3a",(0,d.jsx)(n.code,{children:"text"}),", \u793a\u4f8b\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",children:'attributes:\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})})]})}function o(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>t});var d=s(48318);const l={},r=d.createContext(l);function c(e){const n=d.useContext(r);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),d.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b706a0dc.3d9ef88d.js b/pr-preview/pr-1298/assets/js/b706a0dc.3d9ef88d.js deleted file mode 100644 index 3dc21c64f5..0000000000 --- a/pr-preview/pr-1298/assets/js/b706a0dc.3d9ef88d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6144],{61966:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/b8940892.f896905e.js b/pr-preview/pr-1298/assets/js/b8940892.f896905e.js deleted file mode 100644 index 2a6f9e7d31..0000000000 --- a/pr-preview/pr-1298/assets/js/b8940892.f896905e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2795],{47347:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>i});var o=t(49214),p=t(5409);const r={sidebar_position:1},a="JupyterLab",s={id:"deploy/config/portal/apps/apps/jupyterlab/index",title:"JupyterLab",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/jupyterlab/index.md",sourceDirName:"deploy/config/portal/apps/apps/jupyterlab",slug:"/deploy/config/portal/apps/apps/jupyterlab/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/jupyterlab/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"Jupyter",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/"},next:{title:"Matlab",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab/"}},l={},i=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001\u8f6f\u4ef6\u4ecb\u7ecd",id:"1\u8f6f\u4ef6\u4ecb\u7ecd",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function c(n){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,p.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"jupyterlab",children:"JupyterLab"}),"\n",(0,o.jsx)(e.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,o.jsx)(e.p,{children:"JupyterLab\u662fJupyter Notebook\u7684\u4e0b\u4e00\u4ee3\u7248\u672c\uff0c\u63d0\u4f9b\u4e86\u66f4\u5f3a\u5927\u7684\u7528\u6237\u754c\u9762\u548c\u529f\u80fd\uff0c\u53ef\u7528\u4e8e\u66f4\u590d\u6742\u7684\u5de5\u4f5c\u6d41\u7a0b\u548c\u9879\u76ee\u3002"}),"\n",(0,o.jsx)(e.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,o.jsx)(e.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u5b89\u88c5\u6709JupyterLab\u3002"}),"\n",(0,o.jsx)(e.h3,{id:"1\u8f6f\u4ef6\u4ecb\u7ecd",children:"1\u3001\u8f6f\u4ef6\u4ecb\u7ecd"}),"\n",(0,o.jsx)(e.p,{children:"JupyterLab\u662fJupyter Notebook\u7684\u4e0b\u4e00\u4ee3\u7248\u672c\uff0c\u63d0\u4f9b\u4e86\u66f4\u5f3a\u5927\u7684\u7528\u6237\u754c\u9762\u548c\u529f\u80fd\uff0c\u53ef\u7528\u4e8e\u66f4\u590d\u6742\u7684\u5de5\u4f5c\u6d41\u7a0b\u548c\u9879\u76ee\u3002"}),"\n",(0,o.jsxs)(e.p,{children:["JupyterLab\u5efa\u8bae\u901a\u8fc7",(0,o.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/",children:"Anaconda\u8fdb\u884c\u5b89\u88c5"}),"\uff0cAnaconda\u96c6\u6210\u4e86JupyterLab\uff0c\u5b89\u88c5\u4e0aAnaconda\u53d1\u884c\u7248\u540e\u4e5f\u5c31\u81ea\u52a8\u5b89\u88c5\u4e0a\u4e86JupyterLab\uff0c\u5b89\u88c5\u597dAnaconda\u540e\u5982\u679cJupyterLab\u6ca1\u6709\u81ea\u52a8\u5b89\u88c5\u6210\u529f\u7684\u8bdd\uff0c\u5728\u7ec8\u7aef\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5b89\u88c5\uff1a"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"conda install jupyterlab\n"})}),"\n",(0,o.jsx)(e.p,{children:"JupyterLab\u8fd0\u884c\u65f6\u4f9d\u8d56\u7684Python\u73af\u5883\uff0c\u5efa\u8bae\u7528\u6237\u53ef\u81ea\u884c\u4f7f\u7528conda\u521b\u5efa\u6240\u9700\u7684Python\u73af\u5883\uff0c\u5e76\u5728\u8be5\u73af\u5883\u5185\u5b89\u88c5ipykernel\uff0c\u73af\u5883\u521b\u5efa\u597d\u540e\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4e24\u79cd\u65b9\u5f0f\u6765\u4f7f\u7528\uff1a"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5728\u542f\u52a8JupyterLab\u5e94\u7528\u65f6\uff0c\u7528\u6237\u53ef\u586b\u5165\u6240\u521b\u5efa\u7684conda\u73af\u5883\u540d\u6765\u4f7f\u7528\u8be5Python\u73af\u5883\uff1b"}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"\u5728JupyterLab\u542f\u52a8\u540e\uff0c\u5728Kernel\u83dc\u5355\u5207\u6362\u5230\u65b0\u521b\u5efa\u7684Python\u73af\u5883\u3002"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"\u4ee5\u4e0b\u793a\u4f8b\u521b\u5efa\u4e00\u4e2aPython3.7\u7684\u865a\u62df\u73af\u5883\uff1a"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:'# \u521b\u5efa\u4e00\u4e2aPython\u7248\u672c\u4e3a3.7\u7684conda\u865a\u62df\u73af\u5883\uff0c\u73af\u5883\u540d\u5b57\u4e3apython3.7\nconda create -n python3.7 python=3.7 -y\n# \u6fc0\u6d3b\u8fdb\u5165\u5230python3.7\u73af\u5883\nconda activate python3.7\n# \u5728\u65b0\u7684\u73af\u5883\u5b89\u88c5ipykernel\nconda install ipykernel\n# \u5c06\u65b0\u73af\u5883\u7684ipykernel\u5230base\u73af\u5883\u7684jupyter\u4e2d\npython -m ipykernel install --user --name python3.7 --display-name "python3.7"\n'})}),"\n",(0,o.jsx)(e.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528JupyterLab\u3002"}),"\n",(0,o.jsx)(e.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,o.jsxs)(e.p,{children:["\u521b\u5efa",(0,o.jsx)(e.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,o.jsx)(e.code,{children:"jupyterlab.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-yaml",metastring:'title="config/apps/jupyterlab.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: jupyterlab\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: jupyterlab\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: absolute\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n export SALT=123\n export PASSWORD_SHA1="$(echo -n "${PASSWORD}${SALT}" | openssl dgst -sha1 | awk \'{print $NF}\')"\n export CONFIG_FILE="${PWD}/config.py"\n export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)\n export SHELL_NAME=$(echo ${SHELL} | awk -F\'/\' \'{print $NF}\')\n export CONDA_VERSION="anaconda/3-2023.03"\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n\n # \u52a0\u8f7d\u9700\u8981\u7684module\u73af\u5883\n for m in ${textModuleName}; do module switch ${m}; done\n\n conda -V &> /dev/null\n if [ $? -ne 0 ]; then\n module switch ${CONDA_VERSION}\n fi\n # init conda\n eval "$($(which conda) shell.${SHELL_NAME} hook)"\n\n if [[ "" == "${textCondaName}" ]]; then\n textCondaName="base"\n fi\n conda activate ${textCondaName}\n if [ $? -ne 0 ]; then\n exit 1\n fi\n\n (\n umask 077\n cat > "${CONFIG_FILE}" << EOL\n c.NotebookApp.ip = \'0.0.0.0\'\n c.NotebookApp.port = ${PORT}\n c.NotebookApp.port_retries = 0\n c.NotebookApp.password = u\'sha1:${SALT}:${PASSWORD_SHA1}\'\n c.NotebookApp.open_browser = False\n c.NotebookApp.base_url = "${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"\n c.NotebookApp.allow_origin = \'*\'\n c.NotebookApp.disable_check_xsrf = True\n EOL\n )\n cd ~\n jupyter-lab --config=${CONFIG_FILE} --notebook-dir=${HOME}\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n\n# \u914d\u7f6eHTML\u8868\u5355\nattributes:\n - type: text\n name: textModuleName\n label: Modules\n required: false # \u8f93\u5165\u9700\u8981\u989d\u5916\u52a0\u8f7d\u7684\u73af\u5883\u6a21\u5757\u5217\u8868\n placeholder: \u8f93\u5165\u9700\u8981\u989d\u5916\u52a0\u8f7d\u7684\u73af\u5883\u6a21\u5757\u5217\u8868\uff0c\u6a21\u5757\u4e4b\u95f4\u7528\u7a7a\u683c\u5206\u5f00\uff08\u6bd4\u5982\uff1apython/2.7.5 code-server/4.9.1\uff09 # \u63d0\u793a\u4fe1\u606f\n - type: text\n name: textCondaName\n label: conda\u73af\u5883\n required: false # \u8f93\u5165\u8fd0\u884cJupyter\u7684conda\u73af\u5883\uff0c\u9ed8\u8ba4\u4f7f\u7528base\u73af\u5883\n placeholder: \u8f93\u5165conda\u865a\u62df\u73af\u5883\u540d\u79f0 # \u63d0\u793a\u4fe1\u606f\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,o.jsx)(e.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0WEB\u6d4f\u89c8\u5668\u5373\u53ef\u3002"}),"\n",(0,o.jsx)(e.p,{children:"\u5bf9\u4e8eJupyterLab\uff0cexport\u4ee5\u4e0b\u53d8\u91cf\u7684\u542b\u4e49\u662f\uff1a"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"SLURM_COMPUTE_NODE_HOSTNAME"}),": \u8ba1\u7b97\u8282\u70b9\u7684\u4e3b\u673a\u540d"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"CONFIG_FILE"}),": \u6307\u5b9aJupyterLab\u7684\u914d\u7f6e\u6587\u4ef6"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"SHELL_NAME"}),"\uff1a\u5f53\u524d\u4f1a\u8bdd\u7684shell\u540d\u79f0"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"CONDA_VERSION"}),"\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u7684conda\u7248\u672c"]}),"\n"]}),"\n"]})]})}function d(n={}){const{wrapper:e}={...(0,p.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(c,{...n})}):c(n)}},5409:(n,e,t)=>{t.d(e,{R:()=>a,x:()=>s});var o=t(48318);const p={},r=o.createContext(p);function a(n){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function s(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(p):n.components||p:a(n.components),o.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/bb0219a9.554e61ad.js b/pr-preview/pr-1298/assets/js/bb0219a9.554e61ad.js deleted file mode 100644 index df2113973c..0000000000 --- a/pr-preview/pr-1298/assets/js/bb0219a9.554e61ad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[449],{12654:s=>{s.exports=JSON.parse('{"label":"scow-apps","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps","allTagsPath":"/SCOW/pr-preview/pr-1298/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/bb4989ea.af8b2b0c.js b/pr-preview/pr-1298/assets/js/bb4989ea.af8b2b0c.js deleted file mode 100644 index f0b5f3f10d..0000000000 --- a/pr-preview/pr-1298/assets/js/bb4989ea.af8b2b0c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[453],{46611:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>f,frontMatter:()=>n,metadata:()=>p,toc:()=>c});var r=o(49214),i=o(5409);const n={},s=void 0,p={id:"refs/config/portal/definition-properties-logindesktop-properties-wms-default-0",title:"definition-properties-logindesktop-properties-wms-default-0",description:"0 Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop-properties-maxdesktops",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops"},next:{title:"definition-properties-logindesktop-properties-wms-items-properties-name",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name"}},d={},c=[{value:"0 Type",id:"0-type",level:2}];function l(e){const t={h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"0-type",children:"0 Type"}),"\n",(0,r.jsx)(t.p,{children:"unknown"})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},5409:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>p});var r=o(48318);const i={},n=r.createContext(i);function s(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/bce71fda.a36ef90a.js b/pr-preview/pr-1298/assets/js/bce71fda.a36ef90a.js deleted file mode 100644 index ee189716d1..0000000000 --- a/pr-preview/pr-1298/assets/js/bce71fda.a36ef90a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6070],{75253:(e,t,p)=>{p.r(t),p.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=p(49214),n=p(5409);const i={},o=void 0,s={id:"refs/config/portal/definition-properties-apps",title:"definition-properties-apps",description:"apps Type",source:"@site/docs/refs/config/portal/definition-properties-apps.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-apps",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-apps.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-appjobsdir",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir"},next:{title:"definition-properties-hometext-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext"}},a={},c=[{value:"apps Type",id:"apps-type",level:2},{value:"apps Default Value",id:"apps-default-value",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"apps-type",children:"apps Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"boolean"})}),"\n",(0,r.jsx)(t.h2,{id:"apps-default-value",children:"apps Default Value"}),"\n",(0,r.jsx)(t.p,{children:"The default value is:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-json",children:"true\n"})})]})}function l(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5409:(e,t,p)=>{p.d(t,{R:()=>o,x:()=>s});var r=p(48318);const n={},i=r.createContext(n);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c1e84185.bf98d296.js b/pr-preview/pr-1298/assets/js/c1e84185.bf98d296.js deleted file mode 100644 index f9ed1d6eba..0000000000 --- a/pr-preview/pr-1298/assets/js/c1e84185.bf98d296.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8308],{31468:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>p,contentTitle:()=>s,default:()=>d,frontMatter:()=>l,metadata:()=>t,toc:()=>c});var o=r(49214),i=r(5409);const l={sidebar_position:1},s="Relion",t={id:"deploy/config/portal/apps/apps/relion/index",title:"Relion",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/relion/index.md",sourceDirName:"deploy/config/portal/apps/apps/relion",slug:"/deploy/config/portal/apps/apps/relion/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/relion/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"Octave",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave/"},next:{title:"RStudio",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio/"}},p={},c=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function a(e){const n={code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"relion",children:"Relion"}),"\n",(0,o.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,o.jsx)(n.p,{children:"RELION\uff08Reconstruction of 3D structures of Large macromolecular complexes using Image-based ONline reconstruction\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5904\u7406\u5355\u7c92\u5b50\u51b7\u51bb\u7535\u955c\uff08Single Particle Cryo-EM\uff09\u56fe\u50cf\u6570\u636e\u7684\u8f6f\u4ef6\u5305\u3002"}),"\n",(0,o.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,o.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"TurboVNC 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684Relion"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528Relion\u3002"}),"\n",(0,o.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,o.jsxs)(n.p,{children:["\u521b\u5efa",(0,o.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,o.jsx)(n.code,{children:"relion.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/relion.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: relion\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: relion\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n module purge\n module load ${relion_version}\n echo y | relion\n \n# \u914d\u7f6eHTML\u8868\u5355\nattributes:\n - type: select\n name: relion_version\n label: \u9009\u62e9\u7248\u672c\n required: true\n placeholder: \u9009\u62e9relion\u7684\u7248\u672c\n select:\n - value: relion/3.1.3_openmpi_3.1.6\n label: relion/3.1.3_openmpi_3.1.6\n # \u53ef\u9009\u914d\u7f6e\uff0c\u82e5\u9700\u8981\u533a\u5206CPU\u548cGPU\u7684select\u7684\u4e0b\u62c9\u9879\uff0c\u6bd4\u5982\u6709\u4e9b\u7248\u672c\u53ea\u80fd\u5728\u6709GPU\u7684\u5206\u533a\u6709\u6548\n # \u5c06requireGpu\u8bbe\u4e3atrue\uff0c\u6b64\u65f6\u8be5\u9009\u9879\u4f1a\u51fa\u73b0\u5728\u6709GPU\u7684\u5206\u533a\n # requireGpu: true\n - value: relion/4.0_openmpi_3.1.6\n label: relion/4.0_openmpi_3.1.6\n # \u5c06requireGpu\u8bbe\u4e3afalse\u6216\u8005\u4e0d\u914d\u7f6erequireGpu\uff0c\u6b64\u65f6\u8be5\u9009\u9879\u4f1a\u51fa\u73b0\u5728\u6240\u6709\u5206\u533a\n # requireGpu: false\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})})]})}function d(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>t});var o=r(48318);const i={},l=o.createContext(i);function s(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c1f2c513.8a118f26.js b/pr-preview/pr-1298/assets/js/c1f2c513.8a118f26.js deleted file mode 100644 index ac59768e7e..0000000000 --- a/pr-preview/pr-1298/assets/js/c1f2c513.8a118f26.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4975],{87255:(e,c,n)=>{n.r(c),n.d(c,{assets:()=>t,contentTitle:()=>d,default:()=>a,frontMatter:()=>i,metadata:()=>o,toc:()=>r});var s=n(49214),l=n(5409);const i={sidebar_position:2,title:"scow-cli",description:"\u4f7f\u7528scow-cli\u7ba1\u7406SCOW\u96c6\u7fa4"},d="\u4e0b\u8f7d",o={id:"deploy/install/scow-cli",title:"scow-cli",description:"\u4f7f\u7528scow-cli\u7ba1\u7406SCOW\u96c6\u7fa4",source:"@site/docs/deploy/install/scow-cli.md",sourceDirName:"deploy/install",slug:"/deploy/install/scow-cli",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/install/scow-cli.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"scow-cli",description:"\u4f7f\u7528scow-cli\u7ba1\u7406SCOW\u96c6\u7fa4"},sidebar:"deploy",previous:{title:"\u5b89\u88c5",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/"},next:{title:"\u4ece\u6e90\u7801\u6784\u5efa",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source"}},t={},r=[{value:"\u5e38\u89c1\u547d\u4ee4\u7684\u5bf9\u7167",id:"\u5e38\u89c1\u547d\u4ee4\u7684\u5bf9\u7167",level:2}];function h(e){const c={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.p,{children:"scow-cli\u662fSCOW\u96c6\u7fa4\u5b89\u88c5\u3001\u914d\u7f6e\u548c\u7ba1\u7406\u5de5\u5177\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528scow-cli\u9ad8\u6548\u7ba1\u7406\u60a8\u7684\u96c6\u7fa4\u3002"}),"\n",(0,s.jsx)(c.h1,{id:"\u4e0b\u8f7d",children:"\u4e0b\u8f7d"}),"\n",(0,s.jsx)(c.p,{children:"\u8bf7\u901a\u8fc7\u4ee5\u4e0b\u65b9\u6cd5\u4e0b\u8f7dscow-cli\uff0c\u5e76\u5c06\u4e0b\u8f7d\u7684\u6587\u4ef6\u89e3\u538b\uff0c\u5c06\u91cc\u9762\u7684\u53ef\u6267\u884c\u6587\u4ef6\u5b58\u653e\u5230\u60a8\u5c06\u4f1a\u5b58\u653eSCOW\u914d\u7f6e\u6587\u4ef6\u7684\u76ee\u5f55\u4e0b\u3002"}),"\n",(0,s.jsxs)(c.ul,{children:["\n",(0,s.jsxs)(c.li,{children:[(0,s.jsx)(c.a,{href:"https://github.com/PKUHPC/SCOW/releases",children:"GitHub Release"}),": SCOW\u6bcf\u6b21\u53d1\u5e03\u65b0\u7684\u7248\u672c\u65f6\uff0c\u5c06\u4f1a\u5c06\u6b64\u7248\u672c\u7684",(0,s.jsx)(c.code,{children:"scow-cli"}),"\u4e0a\u4f20\u5230Release\u4e2d"]}),"\n"]}),"\n",(0,s.jsxs)(c.p,{children:["\u60f3\u83b7\u53d6\u6700\u65b0\u7684scow-cli\u7248\u672c\uff1f\u60a8\u53ef\u4ee5\u4eceGitHub Actions\u7684",(0,s.jsxs)(c.a,{href:"https://github.com/PKUHPC/SCOW/actions/workflows/test-build-publish.yaml",children:[(0,s.jsx)(c.code,{children:"Test, Build and Publish Projects"})," workflow"]}),"\u4e2d\u4e0b\u8f7d\u5230\u4e0a\u4f20\u5230Archive\u7684",(0,s.jsx)(c.code,{children:"scow-cli"}),"\u3002"]}),"\n",(0,s.jsxs)(c.ul,{children:["\n",(0,s.jsx)(c.li,{children:"\u53c2\u8003\u547d\u4ee4"}),"\n"]}),"\n",(0,s.jsx)(c.pre,{children:(0,s.jsx)(c.code,{className:"language-bash",children:"# \u5982\u679c\u6ca1\u6709wget\uff0c\u53ef\u4ee5\u5148install\nyum install wget\n\n# \u4e0b\u8f7d\u5bf9\u5e94\u7684release\u7248\u672c\u3002\u4fee\u6539latest\u3001cli-x64\u53ef\u4e0b\u8f7d\u6307\u5b9a\u7248\u672ccli\n# \u4fee\u6539latest\u4e3av0.4.0\u5373\u53ef\u4e0b\u8f7d0.4.0\u7248\u672c\u7684cli\uff0c\u5982 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-x64\n# \u53ef\u4fee\u6539cli-x64\u4e3acli-arm64\u4e0b\u8f7darm64\u7248\u672c\uff0c\u5982 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-arm64\nwget https://github.com/PKUHPC/SCOW/releases/download/latest/cli-x64\n\n# \u91cd\u547d\u540d\nmv cli-x64 cli\n\n#\u4fee\u6539\u6587\u4ef6\u6743\u9650\nchmod +x cli\n"})}),"\n",(0,s.jsx)(c.h1,{id:"\u914d\u7f6e",children:"\u914d\u7f6e"}),"\n",(0,s.jsxs)(c.p,{children:["scow-cli\u4f7f\u7528\u8fd0\u884c\u76ee\u5f55\u4e0b\u7684",(0,s.jsx)(c.code,{children:"install.yaml"}),"\u4f5c\u4e3a\u914d\u7f6e\u6765\u7ba1\u7406\u96c6\u7fa4\uff0c\u4f46\u60a8\u53ef\u4ee5\u901a\u8fc7",(0,s.jsx)(c.code,{children:"-c"}),"\u547d\u4ee4\u884c\u9009\u9879\u6307\u5b9a",(0,s.jsx)(c.code,{children:"install.yaml"}),"\u7684\u8def\u5f84\u3002"]}),"\n",(0,s.jsx)(c.h1,{id:"\u4f7f\u7528",children:"\u4f7f\u7528"}),"\n",(0,s.jsx)(c.pre,{children:(0,s.jsx)(c.code,{className:"language-bash",children:"# docker compose \u64cd\u4f5c\n# \u5728compose\u540e\u8ddf\u4efb\u610fcompose\u53c2\u6570\n# \u6ce8\u610f\uff1a\u6bcf\u6b21\u8fd0\u884ccompose\u7684\u64cd\u4f5c\u65f6\uff0ccli\u5c06\u4f1a\u5728\u672c\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2a\u4e34\u65f6\u7684docker-compose-{\u65f6\u95f4\u6233}.yml\u6587\u4ef6\uff0c\u8fd0\u884c\u7ed3\u675f\u540e\u4f1a\u5220\u9664\u6b64\u6587\u4ef6\n# \u4ee5\u4fdd\u8bc1docker compose\u914d\u7f6e\u7684\u5185\u5bb9\u4e3a\u6700\u65b0\n# \u542f\u52a8\u96c6\u7fa4\n./cli compose up -d\n# \u5173\u95ed\u96c6\u7fa4\n./cli compose down\n# \u66f4\u65b0\u955c\u50cf\n./cli compose pull\n\n# \u751f\u6210docker-compose.yml\u6587\u4ef6\n./cli generate -o docker-compose.yml\n\n# \u8fdb\u5165\u6570\u636e\u5e93\n./cli db\n\n# \u5c06\u6700\u7b80\u7248\u672c\u7684\u793a\u4f8b\u914d\u7f6e\u6587\u4ef6\u653e\u5230\u5f53\u524d\u76ee\u5f55\u4e0b\n./cli init\n\n# \u5c06\u5168\u7248\u672c\u7684\u793a\u4f8b\u914d\u7f6e\u6587\u4ef6\u653e\u5230\u5f53\u524d\u76ee\u5f55\u4e0b\n./cli init -f\n\n# \u67e5\u770b\u5f53\u524d\u4f7f\u7528install.yaml\u7684\u5185\u5bb9\n./cli view-install\n\n# \u68c0\u67e5./config\u76ee\u5f55\u4e0b\u7684SCOW\u914d\u7f6e\u6587\u4ef6\u7684\u683c\u5f0f\n./cli check-config\n"})}),"\n",(0,s.jsx)(c.h1,{id:"\u4ecescow-deployment\u8fc1\u79fb",children:"\u4ecescow-deployment\u8fc1\u79fb"}),"\n",(0,s.jsx)(c.p,{children:"\u4ecescow-deployment\u8fc1\u79fb\u5230scow-cli\u662f\u975e\u5e38\u5bb9\u6613\u7684\u3002"}),"\n",(0,s.jsxs)(c.p,{children:["\u9996\u5148\uff0c\u8bf7\u5148\u4e0b\u8f7dscow-cli\u5230\u60a8\u7684scow-deployment\u6587\u4ef6\u5939\u4e2d\uff0c\u786e\u4fdd",(0,s.jsx)(c.code,{children:"config.py"}),"\u5b58\u5728\u4e8e\u76ee\u5f55\u4e2d\uff0c\u7136\u540e\u8fd0\u884c"]}),"\n",(0,s.jsx)(c.pre,{children:(0,s.jsx)(c.code,{className:"language-bash",children:"./cli migrate\n"})}),"\n",(0,s.jsxs)(c.p,{children:["\u6b64\u547d\u4ee4\u5c06\u4f1a\u8bfb\u53d6\u5f53\u524d\u76ee\u5f55\u4e2d",(0,s.jsx)(c.code,{children:"config.py"}),"\u4e2d\u7684\u914d\u7f6e\uff0c\u5e76\u751f\u6210\u5bf9\u5e94\u7684",(0,s.jsx)(c.code,{children:"install.yaml"}),"\u3002"]}),"\n",(0,s.jsx)(c.p,{children:"\u4e4b\u540e\uff0c\u60a8\u5c31\u53ef\u4ee5\u4f7f\u7528scow-cli\u6765\u7ba1\u7406\u60a8\u7684\u96c6\u7fa4\u4e86\u3002"}),"\n",(0,s.jsx)(c.h2,{id:"\u5e38\u89c1\u547d\u4ee4\u7684\u5bf9\u7167",children:"\u5e38\u89c1\u547d\u4ee4\u7684\u5bf9\u7167"}),"\n",(0,s.jsxs)(c.table,{children:[(0,s.jsx)(c.thead,{children:(0,s.jsxs)(c.tr,{children:[(0,s.jsx)(c.th,{children:"\u4f7f\u7528"}),(0,s.jsx)(c.th,{children:(0,s.jsx)(c.code,{children:"scow-deployment"})}),(0,s.jsx)(c.th,{children:(0,s.jsx)(c.code,{children:"scow-cli"})})]})}),(0,s.jsxs)(c.tbody,{children:[(0,s.jsxs)(c.tr,{children:[(0,s.jsx)(c.td,{children:"\u542f\u52a8\u7cfb\u7edf"}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./compose.sh up -d"})}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./cli compose up -d"})})]}),(0,s.jsxs)(c.tr,{children:[(0,s.jsx)(c.td,{children:"\u505c\u6b62\u7cfb\u7edf"}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./compose.sh down"})}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./cli compose down"})})]}),(0,s.jsxs)(c.tr,{children:[(0,s.jsx)(c.td,{children:"\u8ddf\u968f\u67e5\u770b\u6240\u6709\u65e5\u5fd7"}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./compose.sh logs -f"})}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./cli compose logs -f"})})]}),(0,s.jsxs)(c.tr,{children:[(0,s.jsx)(c.td,{children:"\u66f4\u65b0\u955c\u50cf"}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./compose.sh pull"})}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./cli compose pull"})})]}),(0,s.jsxs)(c.tr,{children:[(0,s.jsx)(c.td,{children:"\u8fdb\u5165\u6570\u636e\u5e93"}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./db.sh"})}),(0,s.jsx)(c.td,{children:(0,s.jsx)(c.code,{children:"./cli db"})})]})]})]}),"\n",(0,s.jsxs)(c.h1,{id:"\u66f4\u65b0scow-cli",children:["\u66f4\u65b0",(0,s.jsx)(c.code,{children:"scow-cli"})]}),"\n",(0,s.jsxs)(c.p,{children:[(0,s.jsx)(c.code,{children:"scow-cli"}),"\u53ef\u4ee5\u81ea\u6211\u66f4\u65b0\u3002"]}),"\n",(0,s.jsx)(c.pre,{children:(0,s.jsx)(c.code,{className:"language-bash",children:"# \u66f4\u65b0\u5230PR 535\u5bf9\u5e94\u7684\u6700\u65b0\u7684\u7248\u672c\n./cli update --pr 535\n\n# \u5c06test\u5206\u652f\u7684\u6700\u65b0cli\u4e0b\u8f7d\u5230./cli-test\n./cli update --pr 535 -o ./cli-test\n\n# \u66f4\u65b0\u5230test\u5206\u652f\u7684\u6700\u65b0cli\u7248\u672c\n./cli update --branch test\n\n# \u66f4\u65b0\u81f3\u6700\u65b0\u7248\u672c\u7684scow-cli\n./cli update\n\n# \u66f4\u65b0cli\u81f3v0.4.0\u7248\u672c\n./cli update --release v0.4.0\n\n# \u4e0b\u8f7dv0.4.0\u7248\u672c\u7684scow-cli\u5e76\u4fdd\u5b58\u5230./cli-test\n./cli update --release v0.4.0 -o ./cli-test\n"})}),"\n",(0,s.jsxs)(c.p,{children:["\u4f7f\u7528",(0,s.jsx)(c.code,{children:"--pr"}),"\u6216\u8005",(0,s.jsx)(c.code,{children:"--branch"}),"\u9009\u9879\u9700\u8981\u60a8\u521b\u5efa\u4e00\u4e2a\u6709",(0,s.jsx)(c.code,{children:"workflow"}),"\u6743\u9650\u7684GitHub Token ( ",(0,s.jsx)(c.a,{href:"https://github.com/settings/tokens/new",children:"https://github.com/settings/tokens/new"})," )\uff0c\u5e76\u5c06\u8fd9\u4e2atoken\u653e\u5230cli\u76ee\u5f55\u4e0b\u7684",(0,s.jsx)(c.code,{children:".env"}),"\u6587\u4ef6"]}),"\n",(0,s.jsx)(c.pre,{children:(0,s.jsx)(c.code,{className:"language-env",metastring:'title=".env"',children:"# .env\nGITHUB_TOKEN={token}\n"})}),"\n",(0,s.jsx)(c.h1,{id:"\u4ee3\u7406",children:"\u4ee3\u7406"}),"\n",(0,s.jsxs)(c.p,{children:["CLI\u9700\u8981\u8bbf\u95ee\u7f51\u7edc\u7684\u529f\u80fd\uff08\u4f8b\u5982\u66f4\u65b0scow-cli\uff09\u53ef\u4ee5\u8bbe\u7f6eHTTP\u4ee3\u7406\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e",(0,s.jsx)(c.code,{children:"HTTPS_PROXY"}),", ",(0,s.jsx)(c.code,{children:"https_proxy"}),", ",(0,s.jsx)(c.code,{children:"HTTP_PROXY"}),", ",(0,s.jsx)(c.code,{children:"http_proxy"}),"\u73af\u5883\u53d8\u91cf\u6765\u8bbe\u7f6e\u4ee3\u7406\u3002\u5982\u679c\u591a\u4e2a\u73af\u5883\u53d8\u91cf\u540c\u65f6\u5b58\u5728\uff0c\u5219\u4f7f\u7528\u4f18\u5148\u7ea7\u4e3a\u4e0a\u9762\u5217\u51fa\u6765\u7684\u987a\u5e8f\u3002"]}),"\n",(0,s.jsx)(c.pre,{children:(0,s.jsx)(c.code,{className:"language-bash",children:"# \u73af\u5883\u53d8\u91cf\u4e5f\u53ef\u4ee5\u5199\u5165.env\u4e2d\nexport HTTPS_PROXY=http://localhost:1080\n./cli update\n"})}),"\n",(0,s.jsx)(c.h1,{id:"\u6253\u5370\u8c03\u8bd5\u65e5\u5fd7",children:"\u6253\u5370\u8c03\u8bd5\u65e5\u5fd7"}),"\n",(0,s.jsx)(c.pre,{children:(0,s.jsx)(c.code,{className:"language-bash",children:'LOG_LEVEL="debug" ./cli\n'})})]})}function a(e={}){const{wrapper:c}={...(0,l.R)(),...e.components};return c?(0,s.jsx)(c,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},5409:(e,c,n)=>{n.d(c,{R:()=>d,x:()=>o});var s=n(48318);const l={},i=s.createContext(l);function d(e){const c=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(c):{...c,...e}}),[c,e])}function o(e){let c;return c=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:d(e.components),s.createElement(i.Provider,{value:c},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c2496278.20d6601c.js b/pr-preview/pr-1298/assets/js/c2496278.20d6601c.js deleted file mode 100644 index 7d2fbeea21..0000000000 --- a/pr-preview/pr-1298/assets/js/c2496278.20d6601c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8588],{72618:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>d,contentTitle:()=>n,default:()=>a,frontMatter:()=>o,metadata:()=>p,toc:()=>c});var i=s(49214),t=s(5409);const o={},n=void 0,p={id:"refs/config/mis/definition-properties-db-properties-password",title:"definition-properties-db-properties-password",description:"password Type",source:"@site/docs/refs/config/mis/definition-properties-db-properties-password.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-db-properties-password",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-db-properties-password.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-db-properties-host",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host"},next:{title:"definition-properties-db-properties-port",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port"}},d={},c=[{value:"password Type",id:"password-type",level:2}];function f(e){const r={code:"code",h2:"h2",p:"p",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"password-type",children:"password Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function a(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},5409:(e,r,s)=>{s.d(r,{R:()=>n,x:()=>p});var i=s(48318);const t={},o=i.createContext(t);function n(e){const r=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:n(e.components),i.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c413100c.778760a6.js b/pr-preview/pr-1298/assets/js/c413100c.778760a6.js deleted file mode 100644 index 8d709b59f3..0000000000 --- a/pr-preview/pr-1298/assets/js/c413100c.778760a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6054],{52481:e=>{e.exports=JSON.parse('{"title":"\u95e8\u6237\u7cfb\u7edf","description":"\u5173\u4e8e\u95e8\u6237\u7cfb\u7edf\u7684\u90e8\u7f72\u548c\u914d\u7f6e","slug":"/category/\u95e8\u6237\u7cfb\u7edf","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf","navigation":{"previous":{"title":"\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u914d\u7f6e","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config"},"next":{"title":"\u914d\u7f6e\u95e8\u6237\u7cfb\u7edf","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c4578cd2.f86336f4.js b/pr-preview/pr-1298/assets/js/c4578cd2.f86336f4.js deleted file mode 100644 index cf47f663e3..0000000000 --- a/pr-preview/pr-1298/assets/js/c4578cd2.f86336f4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7783],{67390:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var o=i(49214),r=i(5409);const s={},n=void 0,p={id:"refs/config/portal/definition-properties-logindesktop-properties-wms",title:"definition-properties-logindesktop-properties-wms",description:"wms Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop-properties-wms",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop-properties-wms.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop-properties-wms-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items"},next:{title:"definition-properties-logindesktop",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop"}},c={},d=[{value:"wms Type",id:"wms-type",level:2},{value:"wms Default Value",id:"wms-default-value",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"wms-type",children:"wms Type"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"object[]"})," (",(0,o.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items",children:"Details"}),")"]}),"\n",(0,o.jsx)(t.h2,{id:"wms-default-value",children:"wms Default Value"}),"\n",(0,o.jsx)(t.p,{children:"The default value is:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'[\n {\n "name": "xfce",\n "wm": "xfce"\n }\n]\n'})})]})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>n,x:()=>p});var o=i(48318);const r={},s=o.createContext(r);function n(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c470300a.8f00ff33.js b/pr-preview/pr-1298/assets/js/c470300a.8f00ff33.js deleted file mode 100644 index 795f676812..0000000000 --- a/pr-preview/pr-1298/assets/js/c470300a.8f00ff33.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4307],{11961:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>n,metadata:()=>p,toc:()=>d});var t=r(49214),o=r(5409);const n={},s=void 0,p={id:"refs/config/portal/definition-properties-misurl",title:"definition-properties-misurl",description:"misUrl Type",source:"@site/docs/refs/config/portal/definition-properties-misurl.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-misurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-misurl.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop"},next:{title:"definition-properties-savedjobsdir",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir"}},c={},d=[{value:"misUrl Type",id:"misurl-type",level:2}];function l(e){const i={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h2,{id:"misurl-type",children:"misUrl Type"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.code,{children:"string"})})]})}function f(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},5409:(e,i,r)=>{r.d(i,{R:()=>s,x:()=>p});var t=r(48318);const o={},n=t.createContext(o);function s(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c5b602f0.66ce0418.js b/pr-preview/pr-1298/assets/js/c5b602f0.66ce0418.js deleted file mode 100644 index 77b670b578..0000000000 --- a/pr-preview/pr-1298/assets/js/c5b602f0.66ce0418.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6015],{19307:(e,n,c)=>{c.r(n),c.d(n,{assets:()=>r,contentTitle:()=>t,default:()=>a,frontMatter:()=>i,metadata:()=>l,toc:()=>h});var d=c(49214),s=c(5409);const i={sidebar_position:4,title:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5"},t="\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5",l={id:"deploy/config/customization/custom-navlinks",title:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5",description:"\u60a8\u53ef\u4ee5\u589e\u52a0\u95e8\u6237\u548c\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u94fe\u63a5\uff0c\u70b9\u51fb\u8fd9\u4e9b\u94fe\u63a5\u4f1a\u8df3\u8f6c\u5230\u60a8\u6307\u5b9a\u7684URL\u3002",source:"@site/docs/deploy/config/customization/custom-navlinks.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/custom-navlinks",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/custom-navlinks.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5"},sidebar:"deploy",previous:{title:"\u516c\u5171\u6587\u4ef6",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files"},next:{title:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies"}},r={},h=[{value:"\u95e8\u6237\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e",id:"\u95e8\u6237\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e",level:2},{value:"\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e",id:"\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e",level:2},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u95e8\u6237\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",id:"\u95e8\u6237\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",level:3},{value:"\u7ba1\u7406\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",id:"\u7ba1\u7406\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",level:3},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2},{value:"\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u8bf4\u660e",id:"\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u8bf4\u660e",level:3},{value:"\u89d2\u8272\u914d\u7f6e\u8bf4\u660e",id:"\u89d2\u8272\u914d\u7f6e\u8bf4\u660e",level:3}];function o(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.h1,{id:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5",children:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5"}),"\n",(0,d.jsx)(n.p,{children:"\u60a8\u53ef\u4ee5\u589e\u52a0\u95e8\u6237\u548c\u7ba1\u7406\u7cfb\u7edf\u7684\u5bfc\u822a\u94fe\u63a5\uff0c\u70b9\u51fb\u8fd9\u4e9b\u94fe\u63a5\u4f1a\u8df3\u8f6c\u5230\u60a8\u6307\u5b9a\u7684URL\u3002"}),"\n",(0,d.jsx)(n.admonition,{type:"note",children:(0,d.jsxs)(n.p,{children:["\u5f53\u60a8\u70b9\u51fb\u5bfc\u822a\u94fe\u63a5\u65f6\uff0c\u6211\u4eec\u4f1a\u5728\u5f53\u524d\u94fe\u63a5\u540e\u9762\u52a0\u5165\u67e5\u8be2\u53c2\u6570",(0,d.jsx)(n.code,{children:"?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7token\u67e5\u8be2\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u3002"]})}),"\n",(0,d.jsx)(n.h2,{id:"\u95e8\u6237\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e",children:"\u95e8\u6237\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e"}),"\n",(0,d.jsxs)(n.p,{children:["\u5728\u95e8\u6237\u7cfb\u7edf\u4e2d\uff0c\u60a8\u53ef\u4ee5\u5728",(0,d.jsx)(n.code,{children:"config/portal.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e\u3002"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/portal.yaml"',children:'# \u65b0\u589e\u5bfc\u822a\u94fe\u63a5\u76f8\u5173\u914d\u7f6e\nnavLinks:\n # \u94fe\u63a5\u540d\u79f0\n - text: ""\n # \u94fe\u63a5\u5730\u5740\uff0c\u4e00\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u53ef\u9009\u586b\uff0c\u4e8c\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u5fc5\u586b\n url: ""\n # \u662f\u5426\u6253\u5f00\u65b0\u7684\u9875\u9762\uff0c\u53ef\u9009\u586b\uff0c\u9ed8\u8ba4\u503c\u4e3afalse\n # openInNewPage: true\n # \u56fe\u6807\u8def\u5f84\uff0c\u53ef\u9009\u586b\n iconPath: ""\n # \u4e8c\u7ea7\u5bfc\u822a,\u53ef\u9009\u586b\n children:\n # \u4e8c\u7ea7\u5bfc\u822a\u76f8\u5173\u914d\u7f6e\uff0c\u4e0e\u4e00\u7ea7\u5bfc\u822a\u76f8\u540c\uff0c\u4f46\u662furl\u4e3a\u5fc5\u586b\u914d\u7f6e\uff0c\u540c\u65f6\u4e0d\u5141\u8bb8\u518d\u8bbe\u7f6echildren\n - text: ""\n url: ""\n iconPath: ""\n'})}),"\n",(0,d.jsx)(n.h2,{id:"\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e",children:"\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u914d\u7f6e"}),"\n",(0,d.jsxs)(n.p,{children:["\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\uff0c\u60a8\u53ef\u4ee5\u5728",(0,d.jsx)(n.code,{children:"config/mis.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e\u3002"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'# \u65b0\u589e\u5bfc\u822a\u94fe\u63a5\u76f8\u5173\u914d\u7f6e\nnavLinks:\n # \u94fe\u63a5\u540d\u79f0\n - text: ""\n # \u94fe\u63a5\u5730\u5740\uff0c\u4e00\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u53ef\u9009\u586b\uff0c\u4e8c\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u5fc5\u586b\n url: ""\n # \u662f\u5426\u6253\u5f00\u65b0\u7684\u9875\u9762\uff0c\u53ef\u9009\u586b\uff0c\u9ed8\u8ba4\u503c\u4e3afalse\n # openInNewPage: true\n # \u56fe\u6807\u8def\u5f84\uff0c\u53ef\u9009\u586b\n iconPath: ""\n # \u53ef\u4ee5\u770b\u5230\u8fd9\u4e2a\u94fe\u63a5\u7684\u7528\u6237,\u53ef\u9009\u586b\n # \u7528\u6237\u7c7b\u578b\uff1a user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance\n allowedRoles: []\n # \u4e8c\u7ea7\u5bfc\u822a,\u53ef\u9009\u586b\n children:\n # \u4e8c\u7ea7\u5bfc\u822a\u76f8\u5173\u914d\u7f6e\uff0c\u4e0e\u4e00\u7ea7\u5bfc\u822a\u76f8\u540c\uff0c\u4f46\u662furl\u4e3a\u5fc5\u586b\u914d\u7f6e\uff0c\u540c\u65f6\u4e0d\u5141\u8bb8\u518d\u8bbe\u7f6echildren\n - text: ""\n url: ""\n openInNewPage:\n iconPath: ""\n allowedRoles: []\n'})}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,d.jsx)(n.h3,{id:"\u95e8\u6237\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",children:"\u95e8\u6237\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/portal.yaml"',children:'navLinks:\n - text: "\u4e00\u7ea7\u5bfc\u822a1"\n iconPath: "/desktop.jpg"\n children:\n - text: "\u4e8c\u7ea7\u5bfc\u822a1"\n url: "https://hahahaha1.1.com"\n iconPath: "/PKU_seal.svg"\n - text: "\u4e8c\u7ea7\u5bfc\u822a2"\n url: "https://hahahaha1.2.com"\n - text: "\u4e8c\u7ea7\u5bfc\u822a3"\n url: "https://hahahaha1.3.com"\n iconPath: "/earth.png"\n - text: "\u4e00\u7ea7\u5bfc\u822a2"\n url: "https://hahahaha2.com"\n children: []\n iconPath: "/earth.svg"\n - text: "\u4e00\u7ea7\u5bfc\u822a3"\n url: "https://hahahaha3.com"\n openInNewPage: true\n iconPath: "/icon-test.png"\n children: []\n'})}),"\n",(0,d.jsx)(n.p,{children:"\u95e8\u6237\u7cfb\u7edf\u7528\u6237\u53ef\u4ee5\u9605\u89c8\u5230\u7684\u5bfc\u822a\u94fe\u63a5\u5982\u4e0b,\u7eff\u8272\u6846\u7ebf\u4e2d\u7684\u56fe\u6807\u4e3a\u7cfb\u7edf\u9ed8\u8ba4\u5bfc\u822a\u94fe\u63a5\u56fe\u6807\u3002"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.img,{alt:"\u95e8\u6237\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",src:c(19572).A+"",width:"1896",height:"419"})}),"\n",(0,d.jsx)(n.h3,{id:"\u7ba1\u7406\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",children:"\u7ba1\u7406\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'navLinks:\n - text: "\u4e00\u7ea7\u5bfc\u822a1"\n iconPath: "/icon-test.png"\n children:\n - text: "\u4e8c\u7ea7\u5bfc\u822a1"\n url: "https://hahahaha1.1.com"\n iconPath: "/earth.svg"\n allowedRoles: [tenantFinance]\n - text: "\u4e8c\u7ea7\u5bfc\u822a2"\n url: "https://hahahaha1.2.com"\n allowedRoles: [tenantAdmin, platformAdmin]\n - text: "\u4e00\u7ea7\u5bfc\u822a2"\n url: "https://hahahaha2.com"\n iconPath: "/earth.png"\n - text: "\u4e00\u7ea7\u5bfc\u822a3"\n url: "https://hahahaha3.com"\n allowedRoles: [user]\n'})}),"\n",(0,d.jsxs)(n.p,{children:["\u5f53\u524d\u767b\u5f55\u7528\u6237\u7684\u7528\u6237\u89d2\u8272\u4e3a",(0,d.jsx)(n.code,{children:"accountOwner"}),"\uff0c",(0,d.jsx)(n.code,{children:"tenantAdmin"}),"\uff0c",(0,d.jsx)(n.code,{children:"platformAdmin"}),"\u65f6,\u4ed6\u53ef\u4ee5\u9605\u89c8\u5230\u7684\u5bfc\u822a\u94fe\u63a5\u5982\u4e0b,\u7eff\u8272\u6846\u7ebf\u4e2d\u7684\u56fe\u6807\u4e3a\u7cfb\u7edf\u9ed8\u8ba4\u5bfc\u822a\u94fe\u63a5\u56fe\u6807\u3002"]}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.img,{alt:"\u7ba1\u7406\u7cfb\u7edf\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u914d\u7f6e\u793a\u4f8b",src:c(44695).A+"",width:"1886",height:"308"})}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u5c5e\u6027"}),(0,d.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,d.jsx)(n.th,{children:"\u5e94\u7528\u7cfb\u7edf"}),(0,d.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u586b"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"navLinks"})}),(0,d.jsx)(n.td,{children:"/"}),(0,d.jsx)(n.td,{children:"/"}),(0,d.jsx)(n.td,{children:"/"}),(0,d.jsx)(n.td,{children:"/"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"text"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"portal"}),"\uff0c",(0,d.jsx)(n.code,{children:"mis"})]}),(0,d.jsx)(n.td,{children:"\u662f"}),(0,d.jsx)(n.td,{children:"\u94fe\u63a5\u540d\u79f0\uff0cSCOW\u5bfc\u822a\u680f\u4e0a\u663e\u793a\u7684\u540d\u79f0"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"url"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"portal"}),"\uff0c",(0,d.jsx)(n.code,{children:"mis"})]}),(0,d.jsx)(n.td,{children:"\u5728\u4e8c\u7ea7\u5bfc\u822a\u4e2d\u4e3a\u5fc5\u586b"}),(0,d.jsxs)(n.td,{children:["\u94fe\u63a5\u5730\u5740\uff0c\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u5730\u5740\uff0c\u4e00\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u53ef\u9009\u586b\uff0c\u4e8c\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u5fc5\u586b\u3002\u8df3\u8f6c\u65f6\u4f1a\u5728\u540e\u9762\u52a0\u5165\u67e5\u8be2\u53c2\u6570",(0,d.jsx)(n.code,{children:"?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u3002\u5982\u6ca1\u6709\u914d\u7f6e\u4e00\u7ea7\u5bfc\u822a\u7684\u94fe\u63a5\u5730\u5740\uff0c\u70b9\u51fb\u8be5\u5bfc\u822a\u680f\u65f6\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3\u6b21\u7ea7\u5bfc\u822a\u680f\u7684\u7b2c\u4e00\u9879\u5bfc\u822a\u7684\u94fe\u63a5\u5730\u5740\u3002"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"openInNewPage"})}),(0,d.jsx)(n.td,{children:"\u5e03\u5c14\u7c7b\u578b"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"portal"}),"\uff0c",(0,d.jsx)(n.code,{children:"mis"})]}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u53ef\u4ee5\u9009\u586b\u3002\u5982\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u503c\u4e3a",(0,d.jsx)(n.code,{children:"false"}),"\uff0c\u4e0d\u6253\u5f00\u65b0\u7684\u9875\u9762\u3002\u5982\u679c\u8bbe\u7f6e\u4e3a",(0,d.jsx)(n.code,{children:"true"}),"\uff0c\u5219\u4f1a\u5728\u65b0\u7684\u9875\u9762\u6253\u5f00\u8be5\u5bfc\u822a\u94fe\u63a5\u3002"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"iconPath"})}),(0,d.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"portal"}),"\uff0c",(0,d.jsx)(n.code,{children:"mis"})]}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u56fe\u6807\u8def\u5f84\uff0c\u7528\u6237\u4e0a\u4f20\u5230",(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files",children:"\u516c\u5171\u6587\u4ef6"}),"\u4e0b\u7684\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u56fe\u6807\u8def\u5f84\u3002\u53ef\u9009\u586b\uff0c\u5982\u672a\u586b\u5199\u5219\u663e\u793a\u7cfb\u7edf\u9ed8\u8ba4\u5bfc\u822a\u94fe\u63a5\u56fe\u6807\u3002"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"allowedRoles"})}),(0,d.jsx)(n.td,{children:"\u7528\u6237\u89d2\u8272\u5b57\u7b26\u4e32\u5217\u8868"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"mis"})}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u7ba1\u7406\u7cfb\u7edf\u6307\u5b9a\u53ef\u4ee5\u770b\u5230\u8be5\u5bfc\u822a\u94fe\u63a5\u7684\u89d2\u8272\u5217\u8868\uff0c\u7528\u6237\u89d2\u8272\u7c7b\u578b\u5305\u62ec ",(0,d.jsx)(n.code,{children:"user"}),", ",(0,d.jsx)(n.code,{children:"accountUser"}),", ",(0,d.jsx)(n.code,{children:"accountAdmin"}),", ",(0,d.jsx)(n.code,{children:"accountOwner"}),", ",(0,d.jsx)(n.code,{children:"tenantFinance"}),", ",(0,d.jsx)(n.code,{children:"tenantAdmin"}),", ",(0,d.jsx)(n.code,{children:"platformAdmin"}),", ",(0,d.jsx)(n.code,{children:"platformFinance"})," \uff08\u7528\u6237\u89d2\u8272\u8be6\u89e3\u8bf7\u770b\u4e0b\u65b9\u89d2\u8272\u914d\u7f6e\u8bf4\u660e\uff09\u3002\u5982\u679c\u6ca1\u6709\u6307\u5b9a\uff0c\u5219\u4e0d\u518d\u9650\u5b9a\u7528\u6237\u89d2\u8272\uff0c\u5373\u6240\u6709\u7528\u6237\u90fd\u53ef\u4ee5\u770b\u5230\u8be5\u5bfc\u822a\u94fe\u63a5\u3002"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"children"})}),(0,d.jsx)(n.td,{children:"\u5bfc\u822a\u5185\u5bb9\u7684\u5217\u8868"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"portal"}),"\uff0c",(0,d.jsx)(n.code,{children:"mis"})]}),(0,d.jsx)(n.td,{children:"\u5426"}),(0,d.jsxs)(n.td,{children:["\u4e8c\u7ea7\u5bfc\u822a\u5217\u8868\uff0c\u5185\u5bb9\u5305\u62ec\u8be5\u7cfb\u7edf\u4e0b\u4e00\u7ea7\u5bfc\u822a\u7684\u6240\u6709\u5185\u5bb9\uff0c\u9664",(0,d.jsx)(n.code,{children:"url"}),"\u4ee5\u5916\uff0c\u5185\u5bb9\u7c7b\u578b\u4ee5\u53ca\u662f\u5426\u5fc5\u586b\u4e0e\u4e00\u7ea7\u5bfc\u822a\u5185\u5bb9\u5b8c\u5168\u76f8\u540c\uff0c\u4f46\u662f\u4e0d\u5141\u8bb8\u518d\u7ee7\u7eed\u8bbe\u7f6echilidren\uff0c\u4e0d\u5141\u8bb8\u7ee7\u7eed\u6dfb\u52a0\u4e09\u7ea7\u5bfc\u822a\u3002\u5982\u679c\u6ca1\u6709\u6307\u5b9a\uff0c\u5219\u6ca1\u6709\u53ef\u4ee5\u663e\u793a\u7684\u4e8c\u7ea7\u5bfc\u822a\u94fe\u63a5\u3002"]})]})]})]}),"\n",(0,d.jsxs)(n.admonition,{type:"note",children:[(0,d.jsxs)(n.p,{children:["\u5173\u4e8e\u5bfc\u822a\u94fe\u63a5\u5730\u5740",(0,d.jsx)(n.code,{children:"url"}),"\u7684\u914d\u7f6e\uff0c\u4e0e",(0,d.jsx)(n.code,{children:"HTML"}),"\u6807\u7b7e\u7684\u9ed8\u8ba4\u884c\u4e3a\u4e00\u81f4\uff0c\u4ee5",(0,d.jsx)(n.code,{children:"http://"}),"\u5f00\u5934\u7684",(0,d.jsx)(n.code,{children:"url"}),"\u4f1a\u81ea\u52a8\u88ab\u8bc6\u522b\u4e3a\u5916\u90e8\u8def\u5f84\u3002\u70b9\u51fb\u8be5\u5bfc\u822a\u680f\u65f6\uff0c\u4f1a\u6309\u7167\u4e0e",(0,d.jsx)(n.code,{children:"url"}),"\u4e2d\u586b\u5199\u7684\u5b8c\u5168\u4e00\u81f4\u7684\u8def\u5f84\u8fdb\u884c\u8df3\u8f6c\u3002"]}),(0,d.jsxs)(n.p,{children:["\u5982\u679c",(0,d.jsx)(n.code,{children:"url"}),"\u4e2d\u914d\u7f6e\u7684\u94fe\u63a5\u5730\u5740\u662f\u4ee5",(0,d.jsx)(n.code,{children:"/"}),"\u5f00\u5934\uff0c\u6216\u8005\u6ca1\u6709\u4ee5",(0,d.jsx)(n.code,{children:"http://"}),"\u5f00\u5934\uff0c\u5219\u4f1a\u88ab\u7cfb\u7edf\u8bc6\u522b\u4e3a\u5185\u90e8\u8def\u5f84\u3002\u8fd9\u65f6\u70b9\u51fb\u8be5\u5bfc\u822a\u680f\u8df3\u8f6c\u65f6\uff0c\u5c06\u6839\u636e\u5df2\u914d\u7f6e\u7684",(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath",children:"\u81ea\u5b9a\u4e49\u76f8\u5bf9\u8def\u5f84"}),"\u81ea\u52a8\u6dfb\u52a0\u76f8\u5bf9\u8def\u5f84\u524d\u7f00\u3002"]}),(0,d.jsx)(n.p,{children:"\u793a\u4f8b\uff1a"}),(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/portal.yaml"',children:' navLinks:\n - text: "\u5bfc\u822a\u6d4b\u8bd5"\n children:\n - text: "\u5b50\u5bfc\u822a1"\n url: "http://www.navtest1.com"\n - text: "\u5b50\u5bfc\u822a2"\n url: "www.navtest2.com"\n - text: "\u5b50\u5bfc\u822a3"\n url: "/www.navtest3.com"\n'})}),(0,d.jsxs)(n.p,{children:["\u5047\u8bbe\u6211\u4eec\u7684\u7cfb\u7edf\u90e8\u7f72\u5728",(0,d.jsx)(n.code,{children:"https://scowtest.com"}),"\u4e0b,\u7ba1\u7406\u5458\u914d\u7f6e\u7684\u76f8\u5bf9\u8def\u5f84\u4e3a",(0,d.jsx)(n.code,{children:"/scow"}),"\u3002"]}),(0,d.jsxs)(n.p,{children:["\u90a3\u4e48\u6309\u7167\u4e0a\u8ff0\u81ea\u5b9a\u4e49\u5bfc\u822a\u914d\u7f6e\u793a\u4f8b\uff0c\u70b9\u51fb",(0,d.jsx)(n.code,{children:"\u5bfc\u822a\u6d4b\u8bd5"}),"\u65f6\uff0c\u4f1a\u6309\u7167\u6b21\u7ea7\u5bfc\u822a\u7684\u7b2c\u4e00\u4e2a\u94fe\u63a5",(0,d.jsx)(n.code,{children:"http://www.navtest1.com?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u8fdb\u884c\u8df3\u8f6c\u3002\u4e0e\u70b9\u51fb",(0,d.jsx)(n.code,{children:"\u5b50\u5bfc\u822a1"}),"\u7684\u8df3\u8f6c\u52a8\u4f5c\u4e00\u81f4\u3002"]}),(0,d.jsxs)(n.p,{children:["\u70b9\u51fb",(0,d.jsx)(n.code,{children:"\u5b50\u5bfc\u822a2"}),"\u65f6\uff0c",(0,d.jsx)(n.code,{children:"url"}),"\u4f1a\u88ab\u8bc6\u522b\u4e3a\u5185\u90e8\u8def\u5f84\uff0c\u5c06\u4f1a\u62fc\u63a5\u76f8\u5bf9\u8def\u5f84\u524d\u7f00\u548c",(0,d.jsx)(n.code,{children:"/"}),"\uff0c\u6309\u7167",(0,d.jsx)(n.code,{children:"https://scowtest.com/scow/www.navtest2.com?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u8fdb\u884c\u8df3\u8f6c\u3002"]}),(0,d.jsxs)(n.p,{children:["\u70b9\u51fb",(0,d.jsx)(n.code,{children:"\u5b50\u5bfc\u822a3"}),"\u65f6\uff0c",(0,d.jsx)(n.code,{children:"url"}),"\u540c\u6837\u4f1a\u88ab\u8bc6\u522b\u4e3a\u5185\u90e8\u8def\u5f84\uff0c\u5c06\u4f1a\u62fc\u63a5\u76f8\u5bf9\u8def\u5f84\u524d\u7f00\uff0c\u6309\u7167",(0,d.jsx)(n.code,{children:"https://scowtest.com/scow/www.navtest3.com?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u8fdb\u884c\u8df3\u8f6c\u3002"]})]}),"\n",(0,d.jsx)(n.h3,{id:"\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u8bf4\u660e",children:"\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u8bf4\u660e"}),"\n",(0,d.jsx)(n.p,{children:"\u7cfb\u7edf\u652f\u6301\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u7684\u7075\u6d3b\u56fe\u6807\u914d\u7f6e\u3002"}),"\n",(0,d.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u901a\u8fc7\u628a\u5b58\u653e\u5728\u548c",(0,d.jsx)(n.code,{children:"install.yml"}),"\u540c\u7ea7\u7684",(0,d.jsx)(n.code,{children:"public"}),"\u76ee\u5f55\u4e0b\u56fe\u7247\u6587\u4ef6\u7684\u8def\u5f84\u6dfb\u52a0\u5230",(0,d.jsx)(n.code,{children:"iconPath"}),"\u6765\u8fdb\u884c\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\u3002\u516c\u5171\u6587\u4ef6\u8def\u5f84\u7684\u4f7f\u7528\u8be6\u89c1",(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files",children:"\u516c\u5171\u6587\u4ef6"}),"\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u60a8\u6240\u6dfb\u52a0\u7684\u56fe\u7247\u6587\u4ef6\u540e\u7f00\u5e94\u4e3a\u5e38\u7528\u56fe\u7247\u6587\u4ef6",(0,d.jsx)(n.code,{children:".svg"}),"\uff0c",(0,d.jsx)(n.code,{children:".png"}),"\u6216\u8005",(0,d.jsx)(n.code,{children:".jpg"}),"\u7b49\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:["\u5982\u60a8\u5c06\u56fe\u7247",(0,d.jsx)(n.code,{children:"icon.svg"}),"\u4e0a\u4f20\u5230\u516c\u5171\u6587\u4ef6",(0,d.jsx)(n.code,{children:"public"}),"\u76ee\u5f55\u4e0b,\u5219\u60a8\u5728\u914d\u7f6e\u65f6\u9700\u586b\u5199",(0,d.jsx)(n.code,{children:'iconPath:"/icon.svg"'}),"\u3002"]}),"\n",(0,d.jsxs)(n.p,{children:[(0,d.jsx)(n.code,{children:"iconPath"}),"\u53ef\u4ee5\u9009\u586b\uff0c\u5982\u4e0d\u586b\u5199\uff0c\u5219\u5c06\u7edf\u4e00\u663e\u793a\u7cfb\u7edf\u9ed8\u8ba4\u5bfc\u822a\u94fe\u63a5\u56fe\u6807\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"\u89d2\u8272\u914d\u7f6e\u8bf4\u660e",children:"\u89d2\u8272\u914d\u7f6e\u8bf4\u660e"}),"\n",(0,d.jsxs)(n.p,{children:["\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\u8fdb\u884c\u914d\u7f6e\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u529f\u80fd\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728",(0,d.jsx)(n.code,{children:"allowedRoles"}),"\u5c5e\u6027\u4e2d\u6dfb\u52a0\u89d2\u8272\u5b57\u7b26\u4e32\u6765\u81ea\u7531\u914d\u7f6e\u80fd\u591f\u770b\u5230\u8be5\u5bfc\u822a\u94fe\u63a5\u7684\u89d2\u8272\u3002\n\u5728\u5f53\u524d\u7684SCOW\u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u652f\u6301\u4ee5\u4e0b\u89d2\u8272\uff1a"]}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u89d2\u8272\u540d\u79f0"}),(0,d.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"user"})}),(0,d.jsx)(n.td,{children:"\u672a\u52a0\u5165\u8d26\u6237\u7684\u666e\u901a\u7528\u6237"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"accountUser"})}),(0,d.jsx)(n.td,{children:"\u5728\u6240\u6709\u8d26\u6237\u4e2d\u5747\u4e3a\u666e\u901a\u7528\u6237"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"accountAdmin"})}),(0,d.jsx)(n.td,{children:"\u5728\u67d0\u4e2a\u8d26\u6237\u4e2d\u4e3a\u8d26\u6237\u7ba1\u7406\u5458"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"accountOwner"})}),(0,d.jsx)(n.td,{children:"\u5728\u67d0\u4e2a\u8d26\u6237\u4e2d\u4e3a\u8d26\u6237\u62e5\u6709\u8005"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"tenantAdmin"})}),(0,d.jsx)(n.td,{children:"\u5728\u79df\u6237\u4e2d\u7684\u89d2\u8272\uff1a\u79df\u6237\u7ba1\u7406\u5458"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"tenantFinance"})}),(0,d.jsx)(n.td,{children:"\u5728\u79df\u6237\u4e2d\u7684\u89d2\u8272\uff1a\u79df\u6237\u8d22\u52a1\u4eba\u5458"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"platformAdmin"})}),(0,d.jsx)(n.td,{children:"\u5728\u5e73\u53f0\u4e2d\u7684\u89d2\u8272\uff1a\u5e73\u53f0\u7ba1\u7406\u5458"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"platformFinance"})}),(0,d.jsx)(n.td,{children:"\u5728\u5e73\u53f0\u4e2d\u7684\u89d2\u8272\uff1a\u5e73\u53f0\u8d22\u52a1\u4eba\u5458"})]})]})]}),"\n",(0,d.jsx)(n.admonition,{type:"tip",children:(0,d.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u60f3\u66f4\u52a0\u8be6\u7ec6\u7684\u4e86\u89e3\u7cfb\u7edf\u7528\u6237\u6a21\u578b\uff0c\u8bf7\u53c2\u8003",(0,d.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users",children:"\u7528\u6237\u6a21\u578b"}),"\u3002"]})})]})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(o,{...e})}):o(e)}},44695:(e,n,c)=>{c.d(n,{A:()=>d});const d=c.p+"assets/images/mis-custom-nav-links-6a305e7d30f038c6e8b3579653768a18.png"},19572:(e,n,c)=>{c.d(n,{A:()=>d});const d=c.p+"assets/images/portal-custom-nav-links-392621febb04de50294f0f1feec3145c.png"},5409:(e,n,c)=>{c.d(n,{R:()=>t,x:()=>l});var d=c(48318);const s={},i=d.createContext(s);function t(e){const n=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),d.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c66c8cf1.f3ea5eb7.js b/pr-preview/pr-1298/assets/js/c66c8cf1.f3ea5eb7.js deleted file mode 100644 index a6e72eb351..0000000000 --- a/pr-preview/pr-1298/assets/js/c66c8cf1.f3ea5eb7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[573],{12909:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>c,toc:()=>p});var s=i(49214),t=i(5409);const r={sidebar_position:1,title:"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb"},o="\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb",c={id:"info/mis/index",title:"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb",description:"\u7ba1\u7406\u7cfb\u7edf\u63d0\u4f9b\u9ad8\u6027\u80fd\u8ba1\u7b97\u96c6\u7fa4\u5e38\u89c1\u7684\u7ba1\u7406\u529f\u80fd\u3002",source:"@site/docs/info/mis/index.md",sourceDirName:"info/mis",slug:"/info/mis/",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/mis/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb"},sidebar:"info",previous:{title:"\u4f5c\u4e1a",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/job"},next:{title:"\u7528\u6237\u6a21\u578b",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users"}},d={},p=[{value:"\u4e1a\u52a1\u6a21\u578b",id:"\u4e1a\u52a1\u6a21\u578b",level:2}];function a(e){const n={a:"a",h1:"h1",h2:"h2",p:"p",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb",children:"\u7ba1\u7406\u7cfb\u7edf\u7b80\u4ecb"}),"\n",(0,s.jsx)(n.p,{children:"\u7ba1\u7406\u7cfb\u7edf\u63d0\u4f9b\u9ad8\u6027\u80fd\u8ba1\u7b97\u96c6\u7fa4\u5e38\u89c1\u7684\u7ba1\u7406\u529f\u80fd\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u4e1a\u52a1\u6a21\u578b",children:"\u4e1a\u52a1\u6a21\u578b"}),"\n",(0,s.jsxs)(n.p,{children:["\u5728\u90e8\u7f72\u4e4b\u524d\uff0c\u8bf7\u53c2\u8003\u4e1a\u52a1\u6a21\u578b\u90e8\u5206\u7684\u6587\u6863\u4e86\u89e3\u7cfb\u7edf\u7684",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing",children:"\u8ba1\u8d39\u6536\u8d39"}),"\u548c",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users",children:"\u7528\u6237\u6a21\u578b"}),"\u3002"]})]})}function l(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var s=i(48318);const t={},r=s.createContext(t);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c718d69e.12988fd7.js b/pr-preview/pr-1298/assets/js/c718d69e.12988fd7.js deleted file mode 100644 index ad9e3ac828..0000000000 --- a/pr-preview/pr-1298/assets/js/c718d69e.12988fd7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5214],{32595:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>p,default:()=>d,frontMatter:()=>s,metadata:()=>n,toc:()=>m});var i=t(49214),o=t(5409);const s={},p=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment",title:"definition-properties-slurm-properties-partitions-patternproperties--properties-comment",description:"comment Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-mis",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-cores",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores"}},c={},m=[{value:"comment Type",id:"comment-type",level:2}];function u(e){const r={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"comment-type",children:"comment Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"string"})})]})}function d(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>p,x:()=>n});var i=t(48318);const o={},s=i.createContext(o);function p(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:p(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c77d0a39.d34f95e6.js b/pr-preview/pr-1298/assets/js/c77d0a39.d34f95e6.js deleted file mode 100644 index 174b0e2e03..0000000000 --- a/pr-preview/pr-1298/assets/js/c77d0a39.d34f95e6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3565],{15931:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>n,metadata:()=>p,toc:()=>u});var r=o(49214),s=o(5409);const n={},i=void 0,p={id:"refs/config/cluster/definition-properties-slurm-properties-computenodes",title:"definition-properties-slurm-properties-computenodes",description:"computeNodes Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-computenodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-computenodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items"},next:{title:"definition-properties-slurm-properties-loginnodes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items"}},c={},u=[{value:"computeNodes Type",id:"computenodes-type",level:2},{value:"computeNodes Default Value",id:"computenodes-default-value",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"computenodes-type",children:"computeNodes Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string[]"})}),"\n",(0,r.jsx)(t.h2,{id:"computenodes-default-value",children:"computeNodes Default Value"}),"\n",(0,r.jsx)(t.p,{children:"The default value is:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-json",children:"[]\n"})})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5409:(e,t,o)=>{o.d(t,{R:()=>i,x:()=>p});var r=o(48318);const s={},n=r.createContext(s);function i(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c7a4d644.5e652ca5.js b/pr-preview/pr-1298/assets/js/c7a4d644.5e652ca5.js deleted file mode 100644 index 63be96048b..0000000000 --- a/pr-preview/pr-1298/assets/js/c7a4d644.5e652ca5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6276],{72850:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>p});var s=o(49214),c=o(5409);const t={slug:"update-to-python-deployment",title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",authors:["huangjun"],tags:["scow","scow-deployment"]},l=void 0,r={permalink:"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2022-10-22-update-deployment.md",source:"@site/blog/2022-10-22-update-deployment.md",title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",description:"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0cPKUHPC/scow-deployment\u9879\u76ee\u662f\u7eaf\u901a\u8fc7Docker Compose\u5b9e\u73b0\u7684\uff0c\u4e3b\u8981\u7528\u5230\u4e86Docker Compose\u5185\u7f6e\u7684profile\u529f\u80fd\u3001\u8bfb\u53d6\u73af\u5883\u53d8\u91cf\u4ee5\u53ca\u53d8\u91cf\u66ff\u6362\u529f\u80fd\u6765\u5b9e\u73b0\u7c7b\u4f3c\u4e0d\u540c\u914d\u7f6e\u3002\u4f46\u662fDocker Compose\u7684\u8fd9\u4e9b\u529f\u80fd\u8f83\u5f31\uff0c\u65e0\u6cd5\u6ee1\u8db3\u672a\u6765\u66f4\u591a\u81ea\u5b9a\u4e49\u9700\u6c42\u3002",date:"2022-10-22T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-deployment",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"}],readingTime:2.265,hasTruncateMarker:!1,authors:[{name:"Huangjun",title:"Developer",url:"https://blog.csdn.net/huangjun0210?type=blog",imageURL:"https://avatars.githubusercontent.com/u/26295600",key:"huangjun"}],frontMatter:{slug:"update-to-python-deployment",title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",authors:["huangjun"],tags:["scow","scow-deployment"]},unlisted:!1,prevItem:{title:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-cli-release"},nextItem:{title:"scow\u6587\u6863\u4e0a\u7ebf",permalink:"/SCOW/pr-preview/pr-1298/blog/docs-online"}},d={authorsImageUrls:[void 0]},p=[{value:"1. \u505c\u6b62scow\u670d\u52a1",id:"1-\u505c\u6b62scow\u670d\u52a1",level:2},{value:"2. \u5907\u4efd\u914d\u7f6e\u6587\u4ef6",id:"2-\u5907\u4efd\u914d\u7f6e\u6587\u4ef6",level:2},{value:"3. \u5347\u7ea7",id:"3--\u5347\u7ea7",level:2}];function i(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",p:"p",pre:"pre",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c",(0,s.jsx)(n.code,{children:"PKUHPC/scow-deployment"}),"\u9879\u76ee\u662f\u7eaf\u901a\u8fc7",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u5b9e\u73b0\u7684\uff0c\u4e3b\u8981\u7528\u5230\u4e86",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u5185\u7f6e\u7684",(0,s.jsx)(n.code,{children:"profile"}),"\u529f\u80fd\u3001\u8bfb\u53d6\u73af\u5883\u53d8\u91cf\u4ee5\u53ca\u53d8\u91cf\u66ff\u6362\u529f\u80fd\u6765\u5b9e\u73b0\u7c7b\u4f3c\u4e0d\u540c\u914d\u7f6e\u3002\u4f46\u662f",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u7684\u8fd9\u4e9b\u529f\u80fd\u8f83\u5f31\uff0c\u65e0\u6cd5\u6ee1\u8db3\u672a\u6765\u66f4\u591a\u81ea\u5b9a\u4e49\u9700\u6c42\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u4e3a\u7b80\u5316\u90e8\u7f72\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u540c\u65f6\u4e3a\u7528\u6237\u63d0\u4f9b\u66f4\u6613\u61c2\u548c\u7075\u6d3b\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u6700\u65b0\u7248\u672c\u7684",(0,s.jsx)(n.code,{children:"PKUHPC/scow-deployment"}),"\u9879\u76ee\u4f7f\u7528",(0,s.jsx)(n.code,{children:"python"}),"\u52a8\u6001\u751f\u6210",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u6587\u4ef6\uff0c\u6839\u636e\u7528\u6237\u7684\u9700\u6c42\u751f\u6210\u66f4\u6613\u7406\u89e3\u7684",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u6587\u4ef6\u3002"]}),"\n",(0,s.jsx)(n.p,{children:"\u63a5\u4e0b\u6765\uff0c\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u5e73\u6ed1\u7684\u4ece\u65e7\u7248\u672c\u5347\u7ea7\u81f3\u65b0\u7248\u672c\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"1-\u505c\u6b62scow\u670d\u52a1",children:"1. \u505c\u6b62scow\u670d\u52a1"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# \u8fdb\u5165scow-deployment\u9879\u76ee\u76ee\u5f55\ncd scow-deployment\n\n# \u505c\u6b62scow\u670d\u52a1\ndocker-compose down\n"})}),"\n",(0,s.jsx)(n.h2,{id:"2-\u5907\u4efd\u914d\u7f6e\u6587\u4ef6",children:"2. \u5907\u4efd\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,s.jsxs)(n.p,{children:["\u4e3b\u8981\u5907\u4efd",(0,s.jsx)(n.code,{children:".env"}),"\u914d\u7f6e\u6587\u4ef6\uff1a"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# 1. \u521b\u5efa\u5907\u4efd\u76ee\u5f55\nmkdir /path/to/backup\n\n# 2. \u5907\u4efd\u90e8\u7f72\u7684\u73af\u5883\u53d8\u91cf\ncp .env /path/to/backup\n\n"})}),"\n",(0,s.jsx)(n.h2,{id:"3--\u5347\u7ea7",children:"3. \u5347\u7ea7"}),"\n",(0,s.jsx)(n.p,{children:"\u62c9\u53d6master\u5206\u652f\u6700\u65b0\u4ee3\u7801\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"cd /path/to/scow-deployment\n# \u540c\u6b65\u6700\u65b0\u4ee3\u7801\ngit pull\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"tree -L 1\n\u251c\u2500\u2500 compose.sh\t\t\t\t# \u7a0b\u5e8f\u6267\u884c\u5165\u53e3\uff0c\u6267\u884c\u8be5\u811a\u672c\u4f1a\u751f\u6210docker-compose.json\u3001db.sh\u6587\u4ef6\n\u251c\u2500\u2500 config-example\t\t\t# scow\u4e1a\u52a1\u914d\u7f6e\u6a21\u677f\u6587\u4ef6\u76ee\u5f55\n\u251c\u2500\u2500 config-example.py\t\t# scow\u7cfb\u7edf\u90e8\u7f72\u53c2\u6570\u914d\u7f6e\u6587\u4ef6\u6a21\u677f\n\u251c\u2500\u2500 fluent\t\t\t\t\t# fluent\u914d\u7f6e\u6587\u4ef6\u5b58\u653e\u76ee\u5f55\n\u251c\u2500\u2500 generate.py\t\t\t\t# \u90e8\u7f72\u914d\u7f6e\u6587\u4ef6\u751f\u6210python\u811a\u672c\n\u2514\u2500\u2500 README.md\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u7f16\u5199\u914d\u7f6e\u6587\u4ef6:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# 1. \u590d\u5236\u914d\u7f6e\u6587\u4ef6\ncp config-example.py config.py\n\n# 2. \u914d\u7f6e\u53c2\u6570\n# \u6839\u636e\u548c\u5907\u4efd\u7684.env\u6587\u4ef6\u548cconfig.py\u4e2d\u7684\u53c2\u6570\u8bf4\u660e\uff0c\u4fee\u6539config.py\u6587\u4ef6\u4e2d\u7684\u53c2\u6570\n\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u670d\u52a1\u542f\u52a8\u4e0e\u505c\u6b62\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# \u542f\u52a8\u670d\u52a1\n./compose.sh up -d\n\n# \u505c\u6b62\u670d\u52a1\n./compose.sh down\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"./compose.sh"}),"\u652f\u6301\u6240\u6709\u57fa\u4e8e",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u6587\u4ef6\u7684",(0,s.jsx)(n.code,{children:"docker-compose"}),"\u547d\u4ee4\uff0c\u5982\uff1aup\u3001down\u3001ps\u3001restart\u7b49\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u8be6\u7ec6\u8bf4\u660e\u53ef\u53c2\u8003",(0,s.jsx)(n.code,{children:"PKUHPC/scow-deployment"}),"\u9879\u76ee\u7684",(0,s.jsx)(n.a,{href:"https://github.com/PKUHPC/scow-deployment/blob/master/README.md",children:"README.md"}),"\u3002"]})]})}function a(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},5409:(e,n,o)=>{o.d(n,{R:()=>l,x:()=>r});var s=o(48318);const c={},t=s.createContext(c);function l(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c8ca1670.fb873e44.js b/pr-preview/pr-1298/assets/js/c8ca1670.fb873e44.js deleted file mode 100644 index a5c4dd30f2..0000000000 --- a/pr-preview/pr-1298/assets/js/c8ca1670.fb873e44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8062],{48945:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>d,toc:()=>p});var t=i(49214),r=i(5409);const s={},l=void 0,d={id:"refs/config/app/definition",title:"definition",description:"Untitled object in undefined Type",source:"@site/docs/refs/config/app/definition.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web"},next:{title:"cluster",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/"}},c={},p=[{value:"Untitled object in undefined Type",id:"untitled-object-in-undefined-type",level:2},{value:"name",id:"name",level:2},{value:"name Type",id:"name-type",level:3},{value:"nodes",id:"nodes",level:2},{value:"nodes Type",id:"nodes-type",level:3},{value:"type",id:"type",level:2},{value:"type Type",id:"type-type",level:3},{value:"web",id:"web",level:2},{value:"web Type",id:"web-type",level:3},{value:"vnc",id:"vnc",level:2},{value:"vnc Type",id:"vnc-type",level:3}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"untitled-object-in-undefined-type",children:"Untitled object in undefined Type"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"object"})," (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition",children:"Details"}),")"]}),"\n",(0,t.jsx)(n.h1,{id:"untitled-object-in-undefined-properties",children:"Untitled object in undefined Properties"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Property"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Required"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Nullable"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"#name",children:"name"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"string"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name",title:"undefined#/properties/name",children:"Untitled schema"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"#nodes",children:"nodes"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"array"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes",title:"undefined#/properties/nodes",children:"Untitled schema"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"#type",children:"type"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Merged"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type",title:"undefined#/properties/type",children:"Untitled schema"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"#web",children:"web"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"object"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",title:"undefined#/properties/web",children:"Untitled schema"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"#vnc",children:"vnc"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.code,{children:"object"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",title:"undefined#/properties/vnc",children:"Untitled schema"})})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"name",children:"name"}),"\n",(0,t.jsx)(n.p,{children:"App\u540d"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"name"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["defined in: ",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name",title:"undefined#/properties/name",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"name-type",children:"name Type"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.h2,{id:"nodes",children:"nodes"}),"\n",(0,t.jsx)(n.p,{children:"\u652f\u6301\u542f\u52a8\u8fd9\u4e2aApp\u7684\u8282\u70b9\u540d\u3002\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6240\u6709\u8282\u70b9\u90fd\u53ef\u4ee5\u8fd0\u884c"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"nodes"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"string[]"})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["defined in: ",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes",title:"undefined#/properties/nodes",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"nodes-type",children:"nodes Type"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string[]"})}),"\n",(0,t.jsx)(n.h2,{id:"type",children:"type"}),"\n",(0,t.jsx)(n.p,{children:"\u5e94\u7528\u7c7b\u578b"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"type"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Type: merged type (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type",children:"Details"}),")"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["defined in: ",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type",title:"undefined#/properties/type",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"type-type",children:"type Type"}),"\n",(0,t.jsxs)(n.p,{children:["merged type (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type",children:"Details"}),")"]}),"\n",(0,t.jsx)(n.p,{children:"any of"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1",title:"check type definition",children:"Untitled string in undefined"})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"web",children:"web"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"web"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"object"})," (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",children:"Details"}),")"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["defined in: ",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",title:"undefined#/properties/web",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"web-type",children:"web Type"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"object"})," (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",children:"Details"}),")"]}),"\n",(0,t.jsx)(n.h2,{id:"vnc",children:"vnc"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"vnc"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Type: ",(0,t.jsx)(n.code,{children:"object"})," (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",children:"Details"}),")"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["defined in: ",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",title:"undefined#/properties/vnc",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"vnc-type",children:"vnc Type"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"object"})," (",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",children:"Details"}),")"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>d});var t=i(48318);const r={},s=t.createContext(r);function l(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/c93ae627.3547c898.js b/pr-preview/pr-1298/assets/js/c93ae627.3547c898.js deleted file mode 100644 index b8fde7ae5d..0000000000 --- a/pr-preview/pr-1298/assets/js/c93ae627.3547c898.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1359],{44640:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>a});var s=o(49214),r=o(5409);const i={},n=void 0,p={id:"refs/config/portal/definition-properties-logindesktop-properties-maxdesktops",title:"definition-properties-logindesktop-properties-maxdesktops",description:"maxDesktops Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop-properties-enabled",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled"},next:{title:"definition-properties-logindesktop-properties-wms-default-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0"}},d={},a=[{value:"maxDesktops Type",id:"maxdesktops-type",level:2},{value:"maxDesktops Default Value",id:"maxdesktops-default-value",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"maxdesktops-type",children:"maxDesktops Type"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"integer"})}),"\n",(0,s.jsx)(t.h2,{id:"maxdesktops-default-value",children:"maxDesktops Default Value"}),"\n",(0,s.jsx)(t.p,{children:"The default value is:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:"3\n"})})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},5409:(e,t,o)=>{o.d(t,{R:()=>n,x:()=>p});var s=o(48318);const r={},i=s.createContext(r);function n(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ca086665.97e0588e.js b/pr-preview/pr-1298/assets/js/ca086665.97e0588e.js deleted file mode 100644 index 8ca9d70a82..0000000000 --- a/pr-preview/pr-1298/assets/js/ca086665.97e0588e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5424],{36436:e=>{e.exports=JSON.parse('{"permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ca437f48.05c41fe1.js b/pr-preview/pr-1298/assets/js/ca437f48.05c41fe1.js deleted file mode 100644 index d0a2ddeae3..0000000000 --- a/pr-preview/pr-1298/assets/js/ca437f48.05c41fe1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4339],{61108:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>p,toc:()=>d});var t=i(49214),s=i(5409);const n={},o=void 0,p={id:"refs/config/mis/definition-properties-db-properties-user",title:"definition-properties-db-properties-user",description:"user Type",source:"@site/docs/refs/config/mis/definition-properties-db-properties-user.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-db-properties-user",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-db-properties-user.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-db-properties-port",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port"},next:{title:"definition-properties-db",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db"}},c={},d=[{value:"user Type",id:"user-type",level:2}];function f(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"user-type",children:"user Type"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.code,{children:"string"})})]})}function u(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(f,{...e})}):f(e)}},5409:(e,r,i)=>{i.d(r,{R:()=>o,x:()=>p});var t=i(48318);const s={},n=t.createContext(s);function o(e){const r=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ca74b5d2.9919dcf1.js b/pr-preview/pr-1298/assets/js/ca74b5d2.9919dcf1.js deleted file mode 100644 index 16b65f4446..0000000000 --- a/pr-preview/pr-1298/assets/js/ca74b5d2.9919dcf1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6579],{94031:p=>{p.exports=JSON.parse('{"title":"\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","description":"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","slug":"/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1","navigation":{"previous":{"title":"\u914d\u7f6e\u684c\u9762\u7c7b\u5e94\u7528","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app"},"next":{"title":"JupyterLab","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ca808249.af17a5e7.js b/pr-preview/pr-1298/assets/js/ca808249.af17a5e7.js deleted file mode 100644 index b1af4fdbd9..0000000000 --- a/pr-preview/pr-1298/assets/js/ca808249.af17a5e7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3212],{84543:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>r,metadata:()=>p,toc:()=>a});var o=t(49214),i=t(5409);const r={},s=void 0,p={id:"refs/config/app/definition-properties-type-anyof-0",title:"definition-properties-type-anyof-0",description:"0 Type",source:"@site/docs/refs/config/app/definition-properties-type-anyof-0.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-type-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-type-anyof-0.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-nodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes"},next:{title:"definition-properties-type-anyof-1",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1"}},c={},a=[{value:"0 Type",id:"0-type",level:2},{value:"0 Constraints",id:"0-constraints",level:2}];function d(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"0-type",children:"0 Type"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"string"})}),"\n",(0,o.jsx)(n.h2,{id:"0-constraints",children:"0 Constraints"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"constant"}),": the value of this property must be equal to:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'"web"\n'})})]})}function f(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var o=t(48318);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cacd4a48.0021f981.js b/pr-preview/pr-1298/assets/js/cacd4a48.0021f981.js deleted file mode 100644 index e43c7207b4..0000000000 --- a/pr-preview/pr-1298/assets/js/cacd4a48.0021f981.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6827],{59402:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>n,metadata:()=>s,toc:()=>d});var i=r(49214),p=r(5409);const n={},o=void 0,s={id:"refs/config/app/definition-properties-web-properties-script",title:"definition-properties-web-properties-script",description:"script Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-script.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-script",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-script.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect"},next:{title:"definition-properties-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web"}},c={},d=[{value:"script Type",id:"script-type",level:2}];function f(e){const t={code:"code",h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"script-type",children:"script Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,p.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>s});var i=r(48318);const p={},n=i.createContext(p);function o(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:o(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cbf5d2a0.a80ed9ef.js b/pr-preview/pr-1298/assets/js/cbf5d2a0.a80ed9ef.js deleted file mode 100644 index 2ede9d29da..0000000000 --- a/pr-preview/pr-1298/assets/js/cbf5d2a0.a80ed9ef.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4774],{41520:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>n,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=r(49214),p=r(5409);const i={},n=void 0,s={id:"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties",title:"definition-properties-hometitle-properties-hostnamemap-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-hometitle-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-"},next:{title:"definition-properties-hometitle-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap"}},a={},c=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function m(e){const t={h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,o.jsx)(t.p,{children:"unknown"})]})}function l(e={}){const{wrapper:t}={...(0,p.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>s});var o=r(48318);const p={},i=o.createContext(p);function n(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:n(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cc0fc0ef.71e1e790.js b/pr-preview/pr-1298/assets/js/cc0fc0ef.71e1e790.js deleted file mode 100644 index e1a0f9fe6e..0000000000 --- a/pr-preview/pr-1298/assets/js/cc0fc0ef.71e1e790.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8271],{75752:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var s=i(49214),t=i(5409);const r={sidebar_position:1,title:"AI \u7cfb\u7edf\u7b80\u4ecb\uff08Beta\uff09"},l="AI \u7cfb\u7edf\u7b80\u4ecb\uff08Beta\uff09",c={id:"info/ai/index",title:"AI \u7cfb\u7edf\u7b80\u4ecb\uff08Beta\uff09",description:"AI \u7cfb\u7edf\u80fd\u8ba9\u60a8\u901a\u8fc7 Web \u754c\u9762\u7ba1\u7406\u60a8\u5728 AI \u8bad\u7ec3\u4e2d\u7684\u6570\u636e\u96c6\u3001\u7b97\u6cd5\u3001\u6a21\u578b\uff0c\u5e76\u901a\u8fc7\u955c\u50cf\u7684\u65b9\u5f0f\u6765\u8fdb\u884c\u60a8\u7684 AI \u8bad\u7ec3\u4efb\u52a1\u3002",source:"@site/docs/info/ai/index.md",sourceDirName:"info/ai",slug:"/info/ai/",permalink:"/SCOW/pr-preview/pr-1298/docs/info/ai/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/ai/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"AI \u7cfb\u7edf\u7b80\u4ecb\uff08Beta\uff09"},sidebar:"info",previous:{title:"\u8ba1\u8d39\u6536\u8d39",permalink:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing"}},o={},d=[{value:"\u529f\u80fd\u548c\u7279\u70b9",id:"\u529f\u80fd\u548c\u7279\u70b9",level:2}];function a(n){const e={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.R)(),...n.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{id:"ai-\u7cfb\u7edf\u7b80\u4ecbbeta",children:"AI \u7cfb\u7edf\u7b80\u4ecb\uff08Beta\uff09"}),"\n",(0,s.jsx)(e.p,{children:"AI \u7cfb\u7edf\u80fd\u8ba9\u60a8\u901a\u8fc7 Web \u754c\u9762\u7ba1\u7406\u60a8\u5728 AI \u8bad\u7ec3\u4e2d\u7684\u6570\u636e\u96c6\u3001\u7b97\u6cd5\u3001\u6a21\u578b\uff0c\u5e76\u901a\u8fc7\u955c\u50cf\u7684\u65b9\u5f0f\u6765\u8fdb\u884c\u60a8\u7684 AI \u8bad\u7ec3\u4efb\u52a1\u3002"}),"\n",(0,s.jsxs)(e.p,{children:["\u5f53\u524d AI \u7cfb\u7edf\u4ecd\u5904\u4e8e Beta \u7248\u672c\uff0c\u4f7f\u7528\u65f6\u5982\u6709\u4efb\u4f55\u7591\u95ee\u6216\u5efa\u8bae\uff0c\u6b22\u8fce\u5728 ",(0,s.jsx)(e.a,{href:"https://github.com/PKUHPC/SCOW/issues",children:"Github Issue"})," \u4e2d\u53cd\u9988\u3002"]}),"\n",(0,s.jsx)(e.h2,{id:"\u529f\u80fd\u548c\u7279\u70b9",children:"\u529f\u80fd\u548c\u7279\u70b9"}),"\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsxs)(e.li,{children:["\u6570\u636e\u96c6","\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u4e2a\u4eba\u6570\u636e\u96c6\u7248\u672c\u7ba1\u7406"}),"\n",(0,s.jsx)(e.li,{children:"\u516c\u5171\u6570\u636e\u96c6\u5206\u4eab\u4e0e\u4f7f\u7528"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\u955c\u50cf","\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u751f\u6210\u8bad\u7ec3\u73af\u5883\u955c\u50cf"}),"\n",(0,s.jsx)(e.li,{children:"\u5206\u4eab\u548c\u4f7f\u7528\u516c\u5171\u955c\u50cf"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\u7b97\u6cd5","\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u4e2a\u4eba\u7b97\u6cd5\u7248\u672c\u7ba1\u7406"}),"\n",(0,s.jsx)(e.li,{children:"\u516c\u5171\u7b97\u6cd5\u5206\u4eab\u4e0e\u4f7f\u7528"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\u4f5c\u4e1a","\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u4f7f\u7528\u6570\u636e\u96c6\u3001\u7b97\u6cd5\u548c\u955c\u50cf\u6765\u5feb\u901f\u8fdb\u884c\u4f5c\u4e1a\u8bad\u7ec3"}),"\n",(0,s.jsx)(e.li,{children:"\u4f5c\u4e1a\u7ba1\u7406"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(e.li,{children:["\u6a21\u578b","\n",(0,s.jsxs)(e.ul,{children:["\n",(0,s.jsx)(e.li,{children:"\u4e2a\u4eba\u6a21\u578b\u7248\u672c\u7ba1\u7406"}),"\n",(0,s.jsx)(e.li,{children:"\u516c\u5171\u6a21\u578b\u5206\u4eab\u4e0e\u4f7f\u7528"}),"\n"]}),"\n"]}),"\n"]})]})}function h(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,s.jsx)(e,{...n,children:(0,s.jsx)(a,{...n})}):a(n)}},5409:(n,e,i)=>{i.d(e,{R:()=>l,x:()=>c});var s=i(48318);const t={},r=s.createContext(t);function l(n){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:l(n.components),s.createElement(r.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cc264cac.5b16108e.js b/pr-preview/pr-1298/assets/js/cc264cac.5b16108e.js deleted file mode 100644 index 8483a61bd2..0000000000 --- a/pr-preview/pr-1298/assets/js/cc264cac.5b16108e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6326],{47771:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>p,toc:()=>d});var o=t(49214),i=t(5409);const r={sidebar_position:7,title:"\u914d\u7f6e\u8bf4\u660e\u6587\u5b57"},s="\u914d\u7f6e\u5e94\u7528\u7684\u8bf4\u660e\u6587\u5b57",p={id:"deploy/config/portal/apps/configure-app-comment",title:"\u914d\u7f6e\u8bf4\u660e\u6587\u5b57",description:"\u7cfb\u7edf\u652f\u6301\u5bf9\u4e0d\u540c\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u8bf4\u660e\u6587\u5b57\u8fdb\u884c\u63cf\u8ff0\u3002\u6587\u672c\u652f\u6301HTML\u7684\u6807\u7b7e\uff0c\u5c06\u4f1a\u88ab\u653e\u5728\u4e00\u4e2adiv\u4e2d\u3002",source:"@site/docs/deploy/config/portal/apps/configure-app-comment.md",sourceDirName:"deploy/config/portal/apps",slug:"/deploy/config/portal/apps/configure-app-comment",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/configure-app-comment.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"\u914d\u7f6e\u8bf4\u660e\u6587\u5b57"},sidebar:"deploy",previous:{title:"\u914d\u7f6e\u5e94\u7528\u56fe\u6807",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo"},next:{title:"\u767b\u5f55\u8282\u70b9\u684c\u9762\u529f\u80fd",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop"}},c={},d=[{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"\u914d\u7f6e\u5e94\u7528\u7684\u8bf4\u660e\u6587\u5b57",children:"\u914d\u7f6e\u5e94\u7528\u7684\u8bf4\u660e\u6587\u5b57"}),"\n",(0,o.jsx)(n.p,{children:"\u7cfb\u7edf\u652f\u6301\u5bf9\u4e0d\u540c\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u8bf4\u660e\u6587\u5b57\u8fdb\u884c\u63cf\u8ff0\u3002\u6587\u672c\u652f\u6301HTML\u7684\u6807\u7b7e\uff0c\u5c06\u4f1a\u88ab\u653e\u5728\u4e00\u4e2adiv\u4e2d\u3002"}),"\n",(0,o.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/{app}.yml"',children:"# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: appId\n\n# ...\u4e2d\u95f4\u7701\u7565\n\n# \u4ea4\u4e92\u5f0f\u5e94\u7528\u8bf4\u660e\u6587\u5b57\uff0c\u9009\u586b\u3002\n# \u652f\u6301\u6587\u672c\u56fd\u9645\u5316\nappComment: \"\u5bf9\u4e0a\u65b9\u4ea4\u4e92\u5f0f\u5e94\u7528\u8fdb\u884c\u8bf4\u660e<pre style='width: 40%'><code># \u5229\u7528\u4ee3\u7801\u5757\u8bf4\u660e</code></pre>\"\n"})}),"\n",(0,o.jsxs)(n.p,{children:["\u5982\u679c\u7ba1\u7406\u5458\u914d\u7f6e\u4e86\u5bf9\u5e94\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u8bf4\u660e\u6587\u5b57\uff0c\u5219\u5c55\u793a\u6548\u679c\u5982\u4e0b\uff1a\n",(0,o.jsx)(n.img,{alt:"EMAC\u4ea4\u4e92\u5f0f\u5e94\u7528\u8bf4\u660e",src:t(33636).A+"",width:"1910",height:"923"})]}),"\n",(0,o.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"appComment"}),"\u7684\u914d\u7f6e\u89e3\u91ca\u5982\u4e0b\uff1a"]}),"\n",(0,o.jsxs)(n.table,{children:[(0,o.jsx)(n.thead,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.th,{children:"\u5c5e\u6027"}),(0,o.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,o.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u586b"}),(0,o.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,o.jsx)(n.tbody,{children:(0,o.jsxs)(n.tr,{children:[(0,o.jsx)(n.td,{children:(0,o.jsx)(n.code,{children:"appComment"})}),(0,o.jsxs)(n.td,{children:["\u5b57\u7b26\u4e32 \u6216 ",(0,o.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n",children:"i18n\u56fd\u9645\u5316\u7c7b\u578b"})]}),(0,o.jsx)(n.td,{children:"\u5426"}),(0,o.jsx)(n.td,{children:"\u81ea\u5b9a\u4e49\u5e94\u7528\u7684\u8bf4\u660e\u6587\u5b57\uff0c\u53ef\u9009\u586b\u3002\u5982\u672a\u586b\u5199\u5219\u4e0d\u663e\u793a\uff0c\u586b\u5199\u540e\u5c55\u793a\u5728\u5bf9\u5e94\u7684\u521b\u5efa\u5e94\u7528\u9875\u9762\u4e0b\u65b9\u3002\u652f\u6301HTML\u7684\u6807\u7b7e\u3002"})]})})]})]})}function l(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},33636:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/app_comment-5fe54391816a2e1a128b69c29eb2a7b7.png"},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var o=t(48318);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ccc49370.adc9e168.js b/pr-preview/pr-1298/assets/js/ccc49370.adc9e168.js deleted file mode 100644 index 8c44b83ce8..0000000000 --- a/pr-preview/pr-1298/assets/js/ccc49370.adc9e168.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3249],{76479:(e,t,n)=>{n.r(t),n.d(t,{default:()=>j});n(48318);var a=n(46601),i=n(30763),o=n(83682),s=n(59974),r=n(25698),l=n(77472),c=n(7866),d=n(31423),u=n(49214);function m(e){const{nextItem:t,prevItem:n}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,u.jsx)(d.A,{...n,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer Post"})}),t&&(0,u.jsx)(d.A,{...t,subLabel:(0,u.jsx)(c.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older Post"}),isNext:!0})]})}function g(){const{assets:e,metadata:t}=(0,s.e)(),{title:n,description:a,date:o,tags:r,authors:l,frontMatter:c}=t,{keywords:d}=c,m=e.image??c.image;return(0,u.jsxs)(i.be,{title:n,description:a,keywords:d,image:m,children:[(0,u.jsx)("meta",{property:"og:type",content:"article"}),(0,u.jsx)("meta",{property:"article:published_time",content:o}),l.some((e=>e.url))&&(0,u.jsx)("meta",{property:"article:author",content:l.map((e=>e.url)).filter(Boolean).join(",")}),r.length>0&&(0,u.jsx)("meta",{property:"article:tag",content:r.map((e=>e.label)).join(",")})]})}var h=n(39527),f=n(90883);function p(){const e=(0,f.J)();return(0,u.jsx)(h.A,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var v=n(70829),x=n(1181);function b(e){let{sidebar:t,children:n}=e;const{metadata:a,toc:i}=(0,s.e)(),{nextItem:o,prevItem:c,frontMatter:d,unlisted:g}=a,{hide_table_of_contents:h,toc_min_heading_level:f,toc_max_heading_level:p}=d;return(0,u.jsxs)(r.A,{sidebar:t,toc:!h&&i.length>0?(0,u.jsx)(v.A,{toc:i,minHeadingLevel:f,maxHeadingLevel:p}):void 0,children:[g&&(0,u.jsx)(x.A,{}),(0,u.jsx)(l.A,{children:n}),(o||c)&&(0,u.jsx)(m,{nextItem:o,prevItem:c})]})}function j(e){const t=e.content;return(0,u.jsx)(s.i,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(i.e3,{className:(0,a.A)(o.G.wrapper.blogPages,o.G.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(p,{}),(0,u.jsx)(b,{sidebar:e.sidebar,children:(0,u.jsx)(t,{})})]})})}},70829:(e,t,n)=>{n.d(t,{A:()=>c});n(48318);var a=n(46601),i=n(83903);const o={tableOfContents:"tableOfContents_J_au",docItemContainer:"docItemContainer_UNai"};var s=n(49214);const r="table-of-contents__link toc-highlight",l="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,s.jsx)("div",{className:(0,a.A)(o.tableOfContents,"thin-scrollbar",t),children:(0,s.jsx)(i.A,{...n,linkClassName:r,linkActiveClassName:l})})}},83903:(e,t,n)=>{n.d(t,{A:()=>f});var a=n(48318),i=n(12449);function o(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...i}=e;n>=0?t[n].children.push(i):a.push(i)})),a}function s(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=s({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function r(e){const t=e.getBoundingClientRect();return t.top===t.bottom?r(e.parentNode):t}function l(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>r(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(r(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function c(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,i.p)();return(0,a.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,a.useRef)(void 0),n=c();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:i,minHeadingLevel:o,maxHeadingLevel:s}=e;function r(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),r=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let i=t;i<=n;i+=1)a.push(`h${i}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:o,maxHeadingLevel:s}),c=l(r,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(i),e.classList.add(i),t.current=e):e.classList.remove(i)}(e,e===d)}))}return document.addEventListener("scroll",r),document.addEventListener("resize",r),r(),()=>{document.removeEventListener("scroll",r),document.removeEventListener("resize",r)}}),[e,n])}var u=n(33985),m=n(49214);function g(e){let{toc:t,className:n,linkClassName:a,isChild:i}=e;return t.length?(0,m.jsx)("ul",{className:i?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(g,{isChild:!0,toc:e.children,className:n,linkClassName:a})]},e.id)))}):null}const h=a.memo(g);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:r="table-of-contents__link",linkActiveClassName:l,minHeadingLevel:c,maxHeadingLevel:u,...g}=e;const f=(0,i.p)(),p=c??f.tableOfContents.minHeadingLevel,v=u??f.tableOfContents.maxHeadingLevel,x=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:i}=e;return(0,a.useMemo)((()=>s({toc:o(t),minHeadingLevel:n,maxHeadingLevel:i})),[t,n,i])}({toc:t,minHeadingLevel:p,maxHeadingLevel:v});return d((0,a.useMemo)((()=>{if(r&&l)return{linkClassName:r,linkActiveClassName:l,minHeadingLevel:p,maxHeadingLevel:v}}),[r,l,p,v])),(0,m.jsx)(h,{toc:x,className:n,linkClassName:r,...g})}},1181:(e,t,n)=>{n.d(t,{A:()=>g});n(48318);var a=n(46601),i=n(7866),o=n(39527),s=n(49214);function r(){return(0,s.jsx)(i.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,s.jsx)(i.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,s.jsx)(o.A,{children:(0,s.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(83682),u=n(35940);function m(e){let{className:t}=e;return(0,s.jsx)(u.A,{type:"caution",title:(0,s.jsx)(r,{}),className:(0,a.A)(t,d.G.common.unlistedBanner),children:(0,s.jsx)(l,{})})}function g(e){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(m,{...e})]})}},90883:(e,t,n)=>{n.d(t,{k:()=>d,J:()=>u});var a=n(90246),i=n(62429),o=n(5766);var s=n(59974);const r=e=>new Date(e).toISOString();function l(e){const t=e.map(m);return{author:1===t.length?t[0]:t}}function c(e,t,n){return e?{image:g({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function d(e){const{siteConfig:t}=(0,i.A)(),{withBaseUrl:n}=(0,a.h)(),{metadata:{blogDescription:o,blogTitle:s,permalink:d}}=e,u=`${t.url}${d}`;return{"@context":"https://schema.org","@type":"Blog","@id":u,mainEntityOfPage:u,headline:s,description:o,blogPost:e.items.map((e=>function(e,t,n){const{assets:a,frontMatter:i,metadata:o}=e,{date:s,title:d,description:u,lastUpdatedAt:m}=o,g=a.image??i.image,h=i.keywords??[],f=`${t.url}${o.permalink}`,p=m?r(m):void 0;return{"@type":"BlogPosting","@id":f,mainEntityOfPage:f,url:f,headline:d,name:d,description:u,datePublished:s,...p?{dateModified:p}:{},...l(o.authors),...c(g,n,d),...h?{keywords:h}:{}}}(e.content,t,n)))}}function u(){const e=function(){const e=(0,o.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}(),{assets:t,metadata:n}=(0,s.e)(),{siteConfig:d}=(0,i.A)(),{withBaseUrl:u}=(0,a.h)(),{date:m,title:g,description:h,frontMatter:f,lastUpdatedAt:p}=n,v=t.image??f.image,x=f.keywords??[],b=p?r(p):void 0,j=`${d.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":j,mainEntityOfPage:j,url:j,headline:g,name:g,description:h,datePublished:m,...b?{dateModified:b}:{},...l(n.authors),...c(v,u,g),...x?{keywords:x}:{},isPartOf:{"@type":"Blog","@id":`${d.url}${e.blogBasePath}`,name:e.blogTitle}}}function m(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function g(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cd424372.eae215f7.js b/pr-preview/pr-1298/assets/js/cd424372.eae215f7.js deleted file mode 100644 index f531085859..0000000000 --- a/pr-preview/pr-1298/assets/js/cd424372.eae215f7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3836],{84635:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>d,toc:()=>l});var i=t(49214),o=t(5409);const r={sidebar_position:1,title:"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf"},s="\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf",d={id:"deploy/config/audit/intro",title:"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf",description:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf\u3002",source:"@site/docs/deploy/config/audit/intro.md",sourceDirName:"deploy/config/audit",slug:"/deploy/config/audit/intro",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/audit/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf"},sidebar:"deploy",previous:{title:"\u5ba1\u8ba1\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf"},next:{title:"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent"}},c={},l=[{value:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e",id:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e",level:2},{value:"\u542f\u52a8\u670d\u52a1",id:"\u542f\u52a8\u670d\u52a1",level:2}];function a(e){const n={code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf",children:"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf"}),"\n",(0,i.jsx)(n.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",children:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,i.jsx)(n.p,{children:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yaml"',children:'# \u786e\u4fdd\u5ba1\u8ba1\u7cfb\u7edf\u4f1a\u90e8\u7f72\naudit:\n\n # dbPassword\u4e3a\u5ba1\u8ba1\u7cfb\u7edf\u6570\u636e\u5e93\u5bc6\u7801\n # \u5728\u7cfb\u7edf\u7b2c\u4e00\u6b21\u542f\u52a8\u524d\u53ef\u81ea\u7531\u8bbe\u7f6e\uff0c\u4f7f\u7528\u6b64\u5bc6\u7801\u53ef\u4ee5\u4ee5root\u8eab\u4efd\u767b\u5f55\u6570\u636e\u5e93\n # \u4e00\u65e6\u6570\u636e\u5e93\u542f\u52a8\u540e\u5373\u4e0d\u53ef\u4fee\u6539\n # \u5fc5\u987b\u957f\u4e8e8\u4e2a\u5b57\u7b26\uff0c\u5e76\u540c\u65f6\u5305\u62ec\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7b26\u53f7\n dbPassword: "must!chang3this"\n'})}),"\n",(0,i.jsx)(n.h2,{id:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e",children:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e"}),"\n",(0,i.jsxs)(n.p,{children:["\u5728",(0,i.jsx)(n.code,{children:"config/audit.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yaml",metastring:'title="config/audit.yaml"',children:"\n# \u5ba1\u8ba1\u670d\u52a1\u7684url\uff0c\u9ed8\u8ba4\u4e0d\u4fee\u6539\nurl: audit-server:5000\n# \u5ba1\u8ba1\u7cfb\u7edf\u6570\u636e\u5e93\u7684\u4fe1\u606f\u3002\u53ef\u4ee5\u4e0d\u4fee\u6539\ndb:\n host: audit-db\n port: 3306\n user: root\n password: mysqlrootpassword\n dbName: scow_audit\n"})}),"\n",(0,i.jsx)(n.h2,{id:"\u542f\u52a8\u670d\u52a1",children:"\u542f\u52a8\u670d\u52a1"}),"\n",(0,i.jsxs)(n.p,{children:["\u8fd0\u884c",(0,i.jsx)(n.code,{children:"./cli compose up -d"}),"\u542f\u52a8\u5ba1\u8ba1\u670d\u52a1\u3002"]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>d});var i=t(48318);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cd539b66.cf8e8d5c.js b/pr-preview/pr-1298/assets/js/cd539b66.cf8e8d5c.js deleted file mode 100644 index 953e63c9af..0000000000 --- a/pr-preview/pr-1298/assets/js/cd539b66.cf8e8d5c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7939],{95556:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>c,metadata:()=>i,toc:()=>u});var r=n(49214),s=n(5409);const c={sidebar_position:1,title:"slurm\u90e8\u7f72\u7b80\u4ecb"},o=void 0,i={id:"hpccluster/index",title:"slurm\u90e8\u7f72\u7b80\u4ecb",description:"\u672c\u6587\u6863\u4ece\u90e8\u7f72\u89c4\u5212\u5f00\u59cb\uff0c\u4e00\u6b65\u4e00\u6b65\u642d\u5efaslurm\u96c6\u7fa4\uff0c\u5b89\u88c5\u5171\u4eab\u5b58\u50a8\u3001\u5b89\u88c5module\u3001intel\u7b49\u5de5\u5177\u8f6f\u4ef6\u3002",source:"@site/docs/hpccluster/index.md",sourceDirName:"hpccluster",slug:"/hpccluster/",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"slurm\u90e8\u7f72\u7b80\u4ecb"},sidebar:"hpccluster",next:{title:"\u96c6\u7fa4\u89c4\u5212",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan"}},p={},u=[];function l(e){const t={a:"a",p:"p",...(0,s.R)(),...e.components};return(0,r.jsxs)(t.p,{children:["\u672c\u6587\u6863\u4ece\u90e8\u7f72\u89c4\u5212\u5f00\u59cb\uff0c\u4e00\u6b65\u4e00\u6b65\u642d\u5efaslurm\u96c6\u7fa4\uff0c\u5b89\u88c5\u5171\u4eab\u5b58\u50a8\u3001\u5b89\u88c5module\u3001intel\u7b49\u5de5\u5177\u8f6f\u4ef6\u3002\n\u8ba9\u6211\u4eec\u4ece\u96f6",(0,r.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan",children:"\u5f00\u59cb"}),"\u3002"]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>i});var r=n(48318);const s={},c=r.createContext(s);function o(e){const t=r.useContext(c);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cdd5e2cb.f5e8970a.js b/pr-preview/pr-1298/assets/js/cdd5e2cb.f5e8970a.js deleted file mode 100644 index de9bc2d695..0000000000 --- a/pr-preview/pr-1298/assets/js/cdd5e2cb.f5e8970a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9413],{88695:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>d,contentTitle:()=>t,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var i=n(49214),c=n(5409);const s={sidebar_position:2,title:"\u81ea\u5b9a\u4e49\u524d\u7aef\u9879\u76ee\u4e3b\u9898"},t="\u81ea\u5b9a\u4e49\u7f51\u9875UI\u5143\u7d20",r={id:"deploy/config/customization/webui",title:"\u81ea\u5b9a\u4e49\u524d\u7aef\u9879\u76ee\u4e3b\u9898",description:"\u7cfb\u7edf\u4e2d\u652f\u6301\u81ea\u5b9a\u4e49\u4e00\u4e9b\u7f51\u9875\u4e2d\u7684UI\u5143\u7d20\u3002\u652f\u6301\u81ea\u5b9a\u4e49UI\u5143\u7d20\u7684\u7ec4\u4ef6\u6709\uff1a",source:"@site/docs/deploy/config/customization/webui.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/webui",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/webui.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u81ea\u5b9a\u4e49\u524d\u7aef\u9879\u76ee\u4e3b\u9898"},sidebar:"deploy",previous:{title:"\u76f8\u5bf9\u8def\u5f84",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath"},next:{title:"\u516c\u5171\u6587\u4ef6",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files"}},d={},l=[{value:"\u81ea\u5b9a\u4e49favicon",id:"\u81ea\u5b9a\u4e49favicon",level:2},{value:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u680fLOGO",id:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u680flogo",level:2},{value:"\u81ea\u5b9a\u4e49\u4e3b\u9898\u8272\u548cfooter\u6587\u672c",id:"\u81ea\u5b9a\u4e49\u4e3b\u9898\u8272\u548cfooter\u6587\u672c",level:2},{value:"\u6765\u8bbf\u7684\u57df\u540d",id:"\u6765\u8bbf\u7684\u57df\u540d",level:2}];function a(e){const o={code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.h1,{id:"\u81ea\u5b9a\u4e49\u7f51\u9875ui\u5143\u7d20",children:"\u81ea\u5b9a\u4e49\u7f51\u9875UI\u5143\u7d20"}),"\n",(0,i.jsx)(o.p,{children:"\u7cfb\u7edf\u4e2d\u652f\u6301\u81ea\u5b9a\u4e49\u4e00\u4e9b\u7f51\u9875\u4e2d\u7684UI\u5143\u7d20\u3002\u652f\u6301\u81ea\u5b9a\u4e49UI\u5143\u7d20\u7684\u7ec4\u4ef6\u6709\uff1a"}),"\n",(0,i.jsx)(o.h2,{id:"\u81ea\u5b9a\u4e49favicon",children:"\u81ea\u5b9a\u4e49favicon"}),"\n",(0,i.jsxs)(o.p,{children:["favicon\u6587\u4ef6\u5e94\u53d6\u540d\u4e3a",(0,i.jsx)(o.code,{children:"favicon.ico"}),"\uff0c\u653e\u5230",(0,i.jsx)(o.code,{children:"config/icons"}),"\u4e0b\u3002"]}),"\n",(0,i.jsxs)(o.p,{children:["\u7cfb\u7edf\u652f\u6301\u6839\u636e\u4e0d\u540c\u7684\u6765\u8bbf\u57df\u540d\u663e\u793a\u4e0d\u540c\u7684LOGO\u3002\u5c06\u9700\u8981\u5728\u67d0\u4e2a\u57df\u540d\u4e0b\u663e\u793a\u7684LOGO\u6587\u4ef6\u653e\u5230",(0,i.jsx)(o.code,{children:"config/logo/{\u57df\u540d}"}),"\u4e0b\u5373\u53ef\u3002",(0,i.jsx)(o.code,{children:"config/logo"}),"\u4e0b\u7684\u6587\u4ef6\u4e3a\u5bf9\u6240\u6709\u5176\u4ed6\u57df\u540d\u7684LOGO\u56fe\u7247\u3002"]}),"\n",(0,i.jsx)(o.h2,{id:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u680flogo",children:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u680fLOGO"}),"\n",(0,i.jsxs)(o.p,{children:["LOGO\u56fe\u7247\u7684\u6587\u4ef6\u540d\u5e94\u4e3a",(0,i.jsx)(o.code,{children:"logo"}),"\uff0c\u540e\u7f00\u5e94\u4e3a",(0,i.jsx)(o.code,{children:"svg"}),", ",(0,i.jsx)(o.code,{children:"png"}),"\u6216\u8005",(0,i.jsx)(o.code,{children:"jpg"}),"\uff0c\u5982\u679c\u591a\u4e2a\u540e\u7f00\u540d\u7684\u6587\u4ef6\u540c\u65f6\u5b58\u5728\uff0c\u5219\u987a\u5e8f\u4e3a",(0,i.jsx)(o.code,{children:"svg"}),", ",(0,i.jsx)(o.code,{children:"png"}),", ",(0,i.jsx)(o.code,{children:"jpg"}),"\u3002"]}),"\n",(0,i.jsxs)(o.p,{children:["\u6709\u7684\u56fe\u7247\u5728\u6697\u8272\u4e3b\u9898\u4e0b\u663e\u793a\u80cc\u666f\u4e0d\u4f73\uff0c\u7cfb\u7edf\u652f\u6301\u5355\u72ec\u8bbe\u7f6e\u5728",(0,i.jsx)(o.strong,{children:"\u6697\u8272\u6a21\u5f0f\u4e0b\u663e\u793a\u7684\u56fe\u7247"}),"\u3002\u5728\u6697\u8272\u6a21\u5f0f\u4e0b\u663e\u793a\u7684\u56fe\u7247\u7684\u6587\u4ef6\u540d\u5e94\u8be5\u4e3a",(0,i.jsx)(o.code,{children:"logo.dark"}),"\uff0c\u540e\u7f00\u540d\u89c4\u5219\u548c\u4e0a\u8ff0\u89c4\u5219\u76f8\u540c\u3002\u5982\u679c\u4e0d\u5b58\u5728\u6697\u8272\u6a21\u5f0f\u4e0b\u7684\u56fe\u7247\uff0c\u5219\u7cfb\u7edf\u5c06\u663e\u793a\u6b63\u5e38\u6a21\u5f0f\u4e0b\u7684\u56fe\u7247\u3002"]}),"\n",(0,i.jsxs)(o.p,{children:["\u5c06LOGO\u56fe\u7247\u653e\u5165",(0,i.jsx)(o.code,{children:"config/logo"}),"\u4e0b\u5373\u53ef\u3002"]}),"\n",(0,i.jsxs)(o.p,{children:["\u7cfb\u7edf\u652f\u6301\u6839\u636e\u4e0d\u540c\u7684\u6765\u8bbf\u57df\u540d\u663e\u793a\u4e0d\u540c\u7684LOGO\u3002\u5c06\u9700\u8981\u5728\u67d0\u4e2a\u57df\u540d\u4e0b\u663e\u793a\u7684LOGO\u6587\u4ef6\u653e\u5230",(0,i.jsx)(o.code,{children:"config/logo/{\u57df\u540d}"}),"\u4e0b\u5373\u53ef\u3002",(0,i.jsx)(o.code,{children:"config/logo"}),"\u4e0b\u7684\u6587\u4ef6\u4e3a\u5bf9\u6240\u6709\u5176\u4ed6\u57df\u540d\u7684LOGO\u56fe\u7247\u3002"]}),"\n",(0,i.jsx)(o.p,{children:"\u7cfb\u7edf\u5c06\u5bfc\u822a\u680fLOGO\u7684\u9ad8\u5ea6\u9650\u5236\u4e3a40px\u3002"}),"\n",(0,i.jsx)(o.h2,{id:"\u81ea\u5b9a\u4e49\u4e3b\u9898\u8272\u548cfooter\u6587\u672c",children:"\u81ea\u5b9a\u4e49\u4e3b\u9898\u8272\u548cfooter\u6587\u672c"}),"\n",(0,i.jsx)(o.p,{children:"\u7cfb\u7edf\u652f\u6301\u6839\u636e\u4e0d\u540c\u7684\u57df\u540d\u663e\u793a\u4e0d\u540c\u7684\u4e3b\u9898\u8272\u4ee5\u53cafooter\u6587\u672c\u3002"}),"\n",(0,i.jsxs)(o.p,{children:["\u8bf7\u521b\u5efa\u6587\u4ef6",(0,i.jsx)(o.code,{children:"config/ui.yaml"}),"\uff0c\u5e76\u6839\u636e\u4ee5\u4e0b\u914d\u7f6e\u8bf4\u660e\u7f16\u5199\u81ea\u5df1\u7684\u914d\u7f6e"]}),"\n",(0,i.jsx)(o.pre,{children:(0,i.jsx)(o.code,{className:"language-yaml",metastring:'title="config/ui.yaml"',children:'# footer\u90e8\u5206\u7684\u914d\u7f6e\u3002\u53ef\u4ee5\u4e0d\u586b\u3002\n# \u5bf9portal-web\u3001mis-web\u548cauth\u7684\u767b\u5f55\u754c\u9762\u6709\u6548\nfooter:\n # \u5bf9\u6240\u6709\u57df\u540d\u751f\u6548\u7684footer\u6587\u672c\uff0c\u9ed8\u8ba4\u4e3a\u7a7a\u5b57\u7b26\u4e32\n # \u6587\u672c\u652f\u6301HTML\u7684\u6807\u7b7e\uff0c\u5c06\u4f1a\u88ab\u653e\u5728\u4e00\u4e2adiv\u4e2d\u3002\n defaultText: ""\n # \u5bf9\u67d0\u7279\u5b9a\u6765\u8bbf\u57df\u540d\u751f\u6548\u7684footer\u6587\u672c\uff0c\u53ef\u4ee5\u4e0d\u586b\n hostnameMap: \n # \u4ecea.com\u7684\u8bbf\u95ee\u663e\u793afooter\u6587\u672c\u4e3aa.com\u7684\u6587\u672c\n a.com: a.com\u7684\u6587\u672c\n\n# \u4e3b\u9898\u8272\u914d\u7f6e\u3002\u53ef\u4ee5\u4e0d\u586b\n# \u5bf9portal-web\u548cmis-web\u6709\u6548\nprimaryColor:\n # \u5bf9\u6240\u6709\u57df\u540d\u751f\u6548\u7684\u4e3b\u9898\u8272\u3002\u9ed8\u8ba4\u4e3a#9B0000\n defaultColor: string\n # \u5bf9\u67d0\u7279\u5b9a\u6765\u8bbf\u57df\u540d\u751f\u6548\u7684\u4e3b\u9898\u8272\uff0c\u53ef\u4ee5\u4e0d\u586b\n hostnameMap: \n # \u4ecea.com\u7684\u8bbf\u95ee\u7684\u4e3b\u9898\u8272\u4e3a#000000\n a.com: #000000\n'})}),"\n",(0,i.jsx)(o.h2,{id:"\u6765\u8bbf\u7684\u57df\u540d",children:"\u6765\u8bbf\u7684\u57df\u540d"}),"\n",(0,i.jsxs)(o.p,{children:["\u7cfb\u7edf\u4f7f\u7528",(0,i.jsx)(o.code,{children:"host"})," HTTP header\u5224\u65ad\u6765\u8bbf\u7684\u57df\u540d\u3002\u5982\u679c\u60a8\u53d1\u73b0\u60a8\u8bbe\u5b9a\u7684\u9488\u5bf9\u67d0\u4e2a\u57df\u540d\u7684\u56fe\u7247\u6ca1\u6709\u663e\u793a\uff0c\u8bf7\u68c0\u67e5\u7cfb\u7edf\u6536\u5230\u7684\u8bf7\u6c42\u7684",(0,i.jsx)(o.code,{children:"host"})," header\u7684\u503c\u662f\u5426\u6b63\u786e\u3002"]})]})}function p(e={}){const{wrapper:o}={...(0,c.R)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5409:(e,o,n)=>{n.d(o,{R:()=>t,x:()=>r});var i=n(48318);const c={},s=i.createContext(c);function t(e){const o=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:t(e.components),i.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ced0e768.3a7ad99c.js b/pr-preview/pr-1298/assets/js/ced0e768.3a7ad99c.js deleted file mode 100644 index e18414530f..0000000000 --- a/pr-preview/pr-1298/assets/js/ced0e768.3a7ad99c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8397],{85570:e=>{e.exports=JSON.parse('{"title":"\u7ba1\u7406\u7cfb\u7edf","description":"\u5173\u4e8e\u7ba1\u7406\u7cfb\u7edf\u7684\u90e8\u7f72\u548c\u914d\u7f6e","slug":"/category/\u7ba1\u7406\u7cfb\u7edf","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf","navigation":{"previous":{"title":"\u4ee3\u7406\u7f51\u5173\u8282\u70b9","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway/"},"next":{"title":"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/cf085041.b33c83b6.js b/pr-preview/pr-1298/assets/js/cf085041.b33c83b6.js deleted file mode 100644 index e346b7c4d8..0000000000 --- a/pr-preview/pr-1298/assets/js/cf085041.b33c83b6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3814],{5426:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>l,frontMatter:()=>s,metadata:()=>n,toc:()=>d});var r=i(49214),o=i(5409);const s={},p=void 0,n={id:"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm",title:"definition-properties-logindesktop-properties-wms-items-properties-wm",description:"wm Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop-properties-wms-items-properties-name",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name"},next:{title:"definition-properties-logindesktop-properties-wms-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items"}},c={},d=[{value:"wm Type",id:"wm-type",level:2}];function m(e){const t={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"wm-type",children:"wm Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>p,x:()=>n});var r=i(48318);const o={},s=r.createContext(o);function p(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:p(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d00b81a6.5fef0bcc.js b/pr-preview/pr-1298/assets/js/d00b81a6.5fef0bcc.js deleted file mode 100644 index 9d5981b301..0000000000 --- a/pr-preview/pr-1298/assets/js/d00b81a6.5fef0bcc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8725],{55113:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var r=n(49214),t=n(5409);const o={sidebar_position:2,title:"\u540c\u6b65\u5c01\u9501\u72b6\u6001",description:"\u540c\u6b65\u8c03\u5ea6\u5668\u8d26\u6237\u3001\u7528\u6237\u5c01\u9501\u72b6\u6001"},c="\u5237\u65b0\u8c03\u5ea6\u5668\u8d26\u6237\u3001\u7528\u6237\u5c01\u9501\u72b6\u6001",i={id:"deploy/config/mis/schedulers/sync",title:"\u540c\u6b65\u5c01\u9501\u72b6\u6001",description:"\u540c\u6b65\u8c03\u5ea6\u5668\u8d26\u6237\u3001\u7528\u6237\u5c01\u9501\u72b6\u6001",source:"@site/docs/deploy/config/mis/schedulers/sync.md",sourceDirName:"deploy/config/mis/schedulers",slug:"/deploy/config/mis/schedulers/sync",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/mis/schedulers/sync.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u540c\u6b65\u5c01\u9501\u72b6\u6001",description:"\u540c\u6b65\u8c03\u5ea6\u5668\u8d26\u6237\u3001\u7528\u6237\u5c01\u9501\u72b6\u6001"},sidebar:"deploy",previous:{title:"slurm",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm"},next:{title:"\u7cfb\u7edf\u521d\u59cb\u5316",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init/"}},l={},d=[];function p(e){const s={code:"code",h1:"h1",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h1,{id:"\u5237\u65b0\u8c03\u5ea6\u5668\u8d26\u6237\u7528\u6237\u5c01\u9501\u72b6\u6001",children:"\u5237\u65b0\u8c03\u5ea6\u5668\u8d26\u6237\u3001\u7528\u6237\u5c01\u9501\u72b6\u6001"}),"\n",(0,r.jsx)(s.p,{children:"\u7531\u4e8e\u5df2\u5c01\u9501\u7684\u8d26\u6237\u5c06\u4f1a\u5728slurm\u96c6\u7fa4\u91cd\u542f\u540e\u88ab\u89e3\u5c01\uff0c\u4e14slurm\u96c6\u7fa4\u53ef\u80fd\u5728SCOW\u8fd0\u884c\u65f6\u91cd\u542f\uff0c\u4f46\u5e76\u4e0d\u4f1a\u7ed9scow\u53d1\u9001\u4fe1\u606f\uff0c\u6240\u4ee5SCOW\u5728\u542f\u52a8\u65f6\u5c06\u4f1a\u81ea\u52a8\u5237\u65b0\u4e00\u6b21slurm\u8d26\u6237\u7684\u5c01\u9501/\u89e3\u5c01\uff0c\u7528\u6237\u7684\u5c01\u9501\u72b6\u6001\uff0c\u540c\u65f6\u9ed8\u8ba4\u5728\u6bcf\u5929\u51cc\u66684\u70b9\u6267\u884c\u4e00\u6b21\u540c\u6b65\u3002"}),"\n",(0,r.jsxs)(s.p,{children:["\u5982\u679c\u60a8\u5bf9\u65f6\u6548\u6027\u6709\u8981\u6c42\uff0c\u53ef\u4ee5\u5728slurm\uff08\u5176\u5b83\u8c03\u5ea6\u5668\u4e5f\u4e00\u6837\uff0c\u6b64\u5904\u4ee5slurm\u4e3a\u4f8b\uff09\u96c6\u7fa4\u91cd\u542f\u540e\uff0c\u624b\u52a8\u6267\u884c\u4e00\u4e0b",(0,r.jsx)(s.strong,{children:"\u5e73\u53f0\u8c03\u8bd5"}),"->",(0,r.jsx)(s.strong,{children:"\u5c01\u9501\u72b6\u6001\u540c\u6b65"}),"\u7684",(0,r.jsx)(s.strong,{children:"\u7acb\u523b\u540c\u6b65\u8c03\u5ea6\u5668\u8d26\u6237\u548c\u7528\u6237\u5c01\u9501\u72b6\u6001"}),"\u7684\u529f\u80fd\u3002"]}),"\n",(0,r.jsx)(s.p,{children:"\u5982\u679c\u60a8\u4e0d\u9700\u8981\u6b64\u529f\u80fd\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u914d\u7f6e\uff1a"}),"\n",(0,r.jsxs)(s.p,{children:["\u5728",(0,r.jsx)(s.code,{children:"config/mis.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'# \u5468\u671f\u6027\u540c\u6b65scow\u4e0e\u8c03\u5ea6\u5668(\u5982slurm)\u8d26\u6237\u7528\u6237\u5c01\u9501\u72b6\u6001\u7684\u914d\u7f6e\nperiodicSyncUserAccountBlockStatus:\n # \u662f\u5426\u5f00\u542f\n enabled: true\n # \u5468\u671f\u7684cron\u8868\u8fbe\u5f0f\n cron: "0 4 * * *"\n\n'})})]})}function u(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},5409:(e,s,n)=>{n.d(s,{R:()=>c,x:()=>i});var r=n(48318);const t={},o=r.createContext(t);function c(e){const s=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),r.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d05c84bd.ce760585.js b/pr-preview/pr-1298/assets/js/d05c84bd.ce760585.js deleted file mode 100644 index d08c1164db..0000000000 --- a/pr-preview/pr-1298/assets/js/d05c84bd.ce760585.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2173],{23291:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"scow-update-to-v1.0","metadata":{"permalink":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","editUrl":"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-10-20-scow-update1.0.md","source":"@site/blog/2023-10-20-scow-update1.0.md","title":"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0","description":"\u672c\u6587\u6863\u9002\u7528\u4e8e\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5347\u7ea7\u5230v1.0.0\u3002","date":"2023-10-20T00:00:00.000Z","tags":[{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{"label":"scow-deployment","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"},{"label":"v1.0.0","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0"}],"readingTime":3.285,"hasTruncateMarker":false,"authors":[{"name":"Huangjun","title":"Developer","url":"https://blog.csdn.net/huangjun0210?type=blog","imageURL":"https://avatars.githubusercontent.com/u/26295600","key":"huangjun"}],"frontMatter":{"slug":"scow-update-to-v1.0","title":"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0","authors":["huangjun"],"tags":["scow","scow-deployment","v1.0.0"]},"unlisted":false,"nextItem":{"title":"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0","permalink":"/SCOW/pr-preview/pr-1298/blog/update-portal-app"}},"content":"\u672c\u6587\u6863\u9002\u7528\u4e8e\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5347\u7ea7\u5230v1.0.0\u3002\\n\\n# 1. \u5347\u7ea7cli\\n\\n```bash\\n# \u4e24\u79cd\u65b9\u5f0f\u5347\u7ea7cli\\n# 1. \u76f4\u63a5\u4e0b\u8f7d\u66ff\u6362\u672c\u5730cli\\nwget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64\\n\\n# 2. \u4f7f\u7528\u547d\u4ee4\u5347\u7ea7\\n./cli update --release v1.0.0\\n```\\n\\n# 2. \u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\\n\\n\u5728install.yaml\u6dfb\u52a0\u5982\u4e0b\u914d\u7f6e\uff1a\\n\\n```yaml\\n# \u53ef\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\uff0c\u5e76\u914d\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u6570\u636e\u5e93\u5bc6\u7801\\naudit:\\n dbPassword: \\"must!chang3this\\"\\n```\\n\\ninstall.yaml\u914d\u7f6e\u53c2\u8003(\u6781\u7b80\u914d\u7f6e)\uff1a\\n\\n```yaml\\nport: 80\\nbasePath: /\\nimageTag: v1.0.0\\nportal:\\n portMappings: {}\\nmis:\\n dbPassword: must!chang3this\\n portMappings: {}\\nlog:\\n fluentd:\\n logDir: /var/log/fluentd\\nauth:\\n portMappings: {}\\naudit:\\n dbPassword: \\"must!chang3this\\"\\ngateway:\\n proxyReadTimeout: 36000s\\n```\\n\\n\u6dfb\u52a0\u5ba1\u8ba1\u65e5\u5fd7\u914d\u7f6e\u6587\u4ef6\uff0c\u5728`./config`\u76ee\u5f55\u4e0b\u6dfb\u52a0audit.yaml\\n\\n```yaml\\n# \u5ba1\u8ba1\u7cfb\u7edf\u6570\u636e\u5e93\u7684\u4fe1\u606f\u3002\u53ef\u4ee5\u4e0d\u4fee\u6539\\ndb:\\n host: audit-db\\n port: 3306\\n user: root\\n dbName: scow_audit\\n```\\n\\n# 3. \u4fee\u6539mis.yaml\\n\\n\u4fee\u6539mis.yaml\uff0c\u53bb\u6389\u6e90\u4f5c\u4e1a\u6570\u636e\u5e93\u76f8\u5173\u914d\u7f6e\uff0c\u53bb\u6389`fetchJobs.db`\u914d\u7f6e\uff0c\u7c7b\u4f3c\u5982\u4e0b\uff1a\\n\\n```yaml\\nfetchJobs:\\n # \u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93\u7684\u6570\u636e\u5e93\u4fe1\u606f\\n db:\\n host: 192.168.188.11\\n port: 3306\\n user: root\\n password: \\"aUTx373~5pU@!&^6\\"\\n dbName: hpc\\n tableName: job_table\\n type: mysql\\n```\\n\\nmis.yaml\u914d\u7f6e\u53c2\u8003(\u6781\u7b80\u914d\u7f6e)\uff1a\\n\\n```yaml\\ndb:\\n host: db\\n port: 3306\\n user: root\\n dbName: scow\\n\\nfetchJobs:\\n periodicFetch:\\n enabled: true\\n cron: \\"*/10 * * * *\\"\\n\\npredefinedChargingTypes:\\n - \u6d4b\u8bd5\\n\\naccountNamePattern:\\n regex: \\"(a_)[a-z]+$\\"\\n```\\n\\n# 4. \u90e8\u7f72\u9002\u914d\u5668\\n\\n\u9002\u914d\u5668\u7f16\u8bd1\u90e8\u7f72\u53ef\u53c2\u8003[\u6587\u6863](https://github.com/PKUHPC/scow-slurm-adapter/blob/master/docs/deploy.md)\u3002\\n\\n:::tip\\n\\n\u7531\u4e8egithub\u4ee3\u7801\u4ed3\u5e93\u4e0b\u8f7d\u7684\u9002\u914d\u5668\u53ef\u6267\u884c\u7a0b\u5e8f\u662f\u7531github action\u751f\u6210\uff0cglibc\u7248\u672c(2.34)\u8f83\u9ad8\uff0c\u82e5slurm\u9002\u914d\u5668\u90e8\u7f72\u8282\u70b9\u7684glibc\u7248\u672c\u4f4e\u4e8e\u8be5\u7248\u672c\uff0c\u5efa\u8bae\u4e0b\u8f7d\u6e90\u7801\uff0c\u81ea\u884c\u7f16\u8bd1\u3002\\n\\n:::\\n\\n# 5. \u4fee\u6539\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6\\n\\n```yaml\\ndisplayName: hpc01\\n\\nloginNodes:\\n - name: hpc01_login01\\n address: hpc01_login01\\n\\nadapterUrl: \\"192.168.188.102:8999\\"\\n```\\n\\n:::tip\\n\\n\u6ce8\u610f\u5c06\u767b\u5f55\u8282\u70b9`loginNodes.address`\u53c2\u6570\u548c\u9002\u914d\u5668url`adapterUrl`\u4fee\u6539\u4e3a\u5b9e\u9645\u96c6\u7fa4\u7684\u503c\u3002\u8be6\u7ec6\u914d\u7f6e\u53ef\u53c2\u8003[\u8be5\u6587\u6863](https://pkuhpc.github.io/SCOW/docs/deploy/config/cluster-config)\u3002\\n\\n:::\\n\\n# 6. \u4ea4\u4e92\u5f0f\u5e94\u7528\u589e\u52a0\u56fe\u6807(\u53ef\u9009)\\n\\n\u652f\u6301\u4e3a\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u56fe\u6807\uff1a\u5c06\u56fe\u6807\u6587\u4ef6\u4e0a\u4f20\u81f3`./public/apps/`\u76ee\u5f55\uff0c\u5e76\u5728\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u56fe\u6807\u7684\u8def\u5f84\u3002\\n\\n\u4f8b\u5982\u7ed9jupyter\u6dfb\u52a0\u4e00\u4e2a\u56fe\u6807(\u5df2\u5c06`jupyter.png`\u4e0a\u4f20\u81f3`./public/apps/`)\uff0c\u5728jupyter.yaml\u4e2d\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a\\n\\n```yaml\\nlogoPath: /apps/jupyter.png\\n```\\n\\n:::tip\\n\\n\u591a\u96c6\u7fa4\u4e0b\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u53ef\u53c2\u8003[\u8be5\u6587\u6863](https://pkuhpc.github.io/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps)\u3002\\n\\n:::\\n\\n# 7. \u767b\u5f55\u9875\u9762\u6dfb\u52a0slogan(\u53ef\u9009)\\n\\n\u652f\u6301\u767b\u5f55\u754c\u9762\u81ea\u5b9a\u4e49slogan\u5185\u5bb9\uff0c\u4fee\u6539`./config/auth.yaml`\u6587\u4ef6\uff0c\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a\\n\\n```yaml\\nui:\\n backgroundImagePath: \\"./assets/background.png\\"\\n backgroundFallbackColor: \\"#9a0000\\"\\n logoType: \\"dark\\"\\n slogan: \\n color: \\"white\\"\\n title: \\"\u5f00\u6e90\u7b97\u529b\u4e2d\u5fc3\u95e8\u6237\u548c\u7ba1\u7406\u5e73\u53f0\\"\\n texts:\\n - \\"\u56fe\u5f62\u5316\u754c\u9762\uff0c\u4f7f\u7528\u65b9\u4fbf\\"\\n - \\"\u529f\u80fd\u4e30\u5bcc\uff0c\u7ba1\u7406\u7b80\u5355\\"\\n - \\"\u4e00\u4f53\u5316\u90e8\u7f72\uff0c\u5f00\u7bb1\u5373\u7528\\"\\n - \\"\u6807\u51c6\u5316\u5e73\u53f0\uff0c\u652f\u6301\u7b97\u529b\u878d\u5408\\"\\n - \\"\u5f00\u6e90\u4e2d\u7acb\uff0c\u72ec\u7acb\u81ea\u4e3b\\"\\n```\\n\\n:::tip\\n\\n\u8be6\u7ec6\u914d\u7f6e\u53ef\u53c2\u8003[\u8be5\u6587\u6863](https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config)\u3002\\n\\n:::\\n\\n# 8. \u91cd\u542f\u670d\u52a1\\n\\n```Bash\\n./cli compose down\\n./cli compose up -d \\n```"},{"id":"update-portal-app","metadata":{"permalink":"/SCOW/pr-preview/pr-1298/blog/update-portal-app","editUrl":"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-07-05-update-app.md","source":"@site/blog/2023-07-05-update-app.md","title":"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0","description":"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c\u5728SCOW\u95e8\u6237\u7cfb\u7edf\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e0b\uff0c\u6211\u4eec\u901a\u8fc7\u5728config/apps\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\uff0c\u5b9e\u73b0\u521b\u5efa\u5404\u4e2a\u96c6\u7fa4\u4e0b\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u3002","date":"2023-07-05T00:00:00.000Z","tags":[{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{"label":"scow-portal-apps","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps"},{"label":"scow-apps","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps"}],"readingTime":1.305,"hasTruncateMarker":false,"authors":[{"name":"Sun Yixin","title":"Developer","url":"https://github.com/piccaSun","imageURL":"https://avatars.githubusercontent.com/u/43978285","key":"sunyixin"}],"frontMatter":{"slug":"update-portal-app","title":"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0","authors":["sunyixin"],"tags":["scow","scow-portal-apps","scow-apps"]},"unlisted":false,"prevItem":{"title":"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0"},"nextItem":{"title":"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter"}},"content":"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c\u5728SCOW\u95e8\u6237\u7cfb\u7edf\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e0b\uff0c\u6211\u4eec\u901a\u8fc7\u5728`config/apps`\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\uff0c\u5b9e\u73b0\u521b\u5efa\u5404\u4e2a\u96c6\u7fa4\u4e0b\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u3002\\n\u4f46\u662f\u8003\u8651\u5230\u4e0d\u540c\u96c6\u7fa4\u7684\u8ba1\u7b97\u673a\u8282\u70b9\u4e0b\u5b89\u88c5\u73af\u5883\u4e0d\u540c\uff0c\u53ef\u80fd\u65e0\u6cd5\u6ee1\u8db3\u5bf9\u6240\u6709\u83b7\u53d6\u5230\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u6b63\u5e38\u4f7f\u7528\u3002\\n\\n\u4e3a\u4e86\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u3001\u9ad8\u6548\u5730\u7ba1\u7406\u548c\u4f7f\u7528SCOW\u96c6\u7fa4\uff0c\u6211\u4eec\u5728\u65b0\u7248\u672c\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u90e8\u5206\uff0c\u5b9e\u73b0\u4e86\u4ee5\u4e0b\u529f\u80fd\uff1a\\n\\n- \u5b9e\u73b0\u5728`config/clusters/{\u96c6\u7fa4ID}/apps`\u4e0b\u5bf9\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u8fdb\u884c\u5355\u72ec\u914d\u7f6e\\n- \u540c\u65f6\u6709\u6548\u517c\u5bb9\u65e7\u7248\u672c`config/apps`\u4e0b\u6240\u6709\u96c6\u7fa4\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\\n- \u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u589e\u52a0\u53ef\u9009\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\uff0c\u5728\u521b\u5efa\u5e94\u7528\u9875\u9762\u5b9e\u73b0\u4ea4\u4e92\u5f0f\u5e94\u7528\u56fe\u6807\u53ef\u89c6\u5316\u7ba1\u7406\\n\\n\u8be6\u7ec6\u8bf4\u660e\u53ef\u53c2\u8003SCOW`\u90e8\u7f72\u548c\u914d\u7f6e`\u4e0b\u7684[\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e](%DOCS_URL%%BASE_PATH%docs/deploy/config/portal/apps/configure-cluster-apps)\u3002"},{"id":"scow-scheduler-adapter","metadata":{"permalink":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","editUrl":"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-06-26-scow-scheduler-adapter.md","source":"@site/blog/2023-06-26-scow-scheduler-adapter.md","title":"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668","description":"\u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668","date":"2023-06-26T00:00:00.000Z","tags":[{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{"label":"scow-scheduler-adapter","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter"}],"readingTime":2.935,"hasTruncateMarker":false,"authors":[{"name":"Qu Han","title":"Developer","imageURL":"https://avatars.githubusercontent.com/u/98016770","key":"quhan"}],"frontMatter":{"slug":"scow-scheduler-adapter","title":"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668","authors":["quhan"],"tags":["scow","scow-scheduler-adapter"]},"unlisted":false,"prevItem":{"title":"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0","permalink":"/SCOW/pr-preview/pr-1298/blog/update-portal-app"},"nextItem":{"title":"scow-cli","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-cli-release"}},"content":"## \u4ec0\u4e48\u662f\u8c03\u5ea6\u5668\u9002\u914d\u5668\\n\\nSCOW\u662f\u5efa\u7acb\u5728\u5e95\u5c42\u4f5c\u4e1a\u8c03\u5ea6\u5668\u57fa\u7840\u4e0a\u7684\u7cfb\u7edf\uff0c\u5b83\u901a\u8fc7\u4e0e\u5e95\u5c42\u8c03\u5ea6\u5668\u8fdb\u884c\u529f\u80fd\u5bf9\u63a5\uff0c\u5411\u7528\u6237\u63d0\u4f9b\u5404\u79cd\u8d85\u7b97\u529f\u80fd\u3002\\n\\n\u5728\u4e4b\u524d\u7684\u5b9e\u73b0\u4e2d\uff0cscow\u76f4\u63a5\u4e0e\u4f5c\u4e1a\u8c03\u5ea6\u5668\u672c\u8eab\u4ea4\u4e92\uff0c\u56e0\u6b64scow\u5fc5\u987b\u77e5\u9053\u5e95\u5c42\u8c03\u5ea6\u5668\u5185\u90e8\u7684\u67d0\u4e9b\u7ec6\u8282\uff0c\\n\u5bfc\u81f4scow\u5185\u90e8\u7684\u67d0\u4e9b\u4ee3\u7801\u662f\u4e0e\u8c03\u5ea6\u5668\u79cd\u7c7b\u76f4\u63a5\u76f8\u5173\u7684\uff08\u5982\u6700\u5148\u9002\u914d\u7684slurm\uff09\uff0c\u8fd9\u4f1a\u4f7f\u9002\u914d\u5176\u5b83\u8c03\u5ea6\u5668\u65f6\u6bd4\u8f83\u9ebb\u70e6\u3002\\n\\n\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff08`scheduler-adapter`\uff09\u5219\u662f\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e00\u95ee\u9898\uff0c\u901a\u8fc7\u4e00\u5c42\u9002\u914d\u5668\u5c42\uff0cscow\u53ea\u4e0e\u9002\u914d\u5668\u8fdb\u884c\u4ea4\u4e92\uff0c\\n\u9002\u914d\u5668\u518d\u5bf9\u63a5\u4f5c\u4e1a\u8c03\u5ea6\u5668\uff0c\u5b9e\u73b0scow\u9700\u8981\u7684\u8c03\u5ea6\u5668\u529f\u80fd\u3002\\n\\n## \u600e\u6837\u5b9e\u73b0\u8c03\u5ea6\u5668\u9002\u914d\u5668\\n\\n\u8c03\u5ea6\u5668\u9002\u914d\u5668\u672c\u8d28\u4e0a\u662f\u4e00\u4e2agRPC\u670d\u52a1\u5668\uff0c\u5b83\u5b9e\u73b0\u4e86scow\u5b9a\u4e49\u7684\u4e00\u5957[\u63a5\u53e3](https://github.com/PKUHPC/scow-scheduler-adapter-interface)\uff0c\\nscow\u53ea\u4f1a\u8c03\u7528\u8fd9\u5957\u63a5\u53e3\u6765\u5b9e\u73b0\u8c03\u5ea6\u5668\u529f\u80fd\u3002\\n\\n\u56e0\u6b64\uff0c\u53ea\u9700\u8981\u4e3a\u5bf9\u5e94\u79cd\u7c7b\u7684\u4f5c\u4e1a\u8c03\u5ea6\u5668\u5b9e\u73b0\u8fd9\u6837\u4e00\u4e2agRPC\u670d\u52a1\u5668\uff0c\u6ee1\u8db3\u4e0a\u8ff0\u63a5\u53e3\u5b9a\u4e49\uff0c\u5c31\u80fd\u591f\u8f7b\u677e\u5bf9\u63a5scow\u7cfb\u7edf\\n\\n\u6211\u4eec\u5df2\u7ecf\u5b9e\u73b0\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff1a\\n\\n- [slurm](https://github.com/PKUHPC/scow-slurm-adapter)\\n\\n## \u5982\u4f55\u5e73\u6ed1\u5347\u7ea7\\n\\n\u8fd9\u4e00\u90e8\u5206\u4ecb\u7ecd\u5982\u4f55\u4ece\u65e7\u7248\u672cscow\u5347\u7ea7\u81f3\u65b0\u7248\u672c\uff0c\u4f7f\u7528\u8c03\u5ea6\u5668\u9002\u914d\u5668\\n\\n### 1. \u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668\\n\\n\u9996\u5148\u9700\u8981\u786e\u4fdd\u60a8\u7684\u96c6\u7fa4\u4e0a\u90e8\u7f72\u4e86\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668\uff0c\u5f97\u5230\u8bbf\u95ee\u5b83\u7684\u5730\u5740\u53ca\u7aef\u53e3\u53f7\\n\\n\u90e8\u7f72\u9002\u914d\u5668\u53ef\u53c2\u8003\u6587\u6863\uff1a\\n\\n- [slurm](https://github.com/PKUHPC/scow-slurm-adapter)\\n\\n### 2. \u4fee\u6539SCOW\u914d\u7f6e\u6587\u4ef6\\n\\n\u9996\u5148\u786e\u4fdd\u60a8\u4f7f\u7528\u4e86\u6700\u65b0\u7684SCOW\u955c\u50cf\uff08\u53ef\u67e5\u770b`install.yaml`\u4e2d\u7684`imageTag`\u5b57\u6bb5\uff09\\n\\n\u5728\u7528\u4e8e\u90e8\u7f72scow\u7684`scow-deployment`\u6587\u4ef6\u5939\u4e2d\uff0c\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff1a\\n\\n- \u9996\u5148\u4fee\u6539[\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6](%DOCS_URL%%BASE_PATH%docs/deploy/config/cluster-config)\\n\\n \u4e3b\u8981\u53d8\u5316\u4e3a\u5220\u9664`slurm`\u914d\u7f6e\u9879, \u5c06`loginNodes`\u914d\u7f6e\u9879\u4f5c\u4e3a\u72ec\u7acb\u7684\u4e00\u9879\u914d\u7f6e\u3002\u65b0\u589e`adapterUrl`\u914d\u7f6e\u9879\uff0c\u6807\u8bc6\u9002\u914d\u5668\u5730\u5740\\n\\n- \u4fee\u6539[\u7ba1\u7406\u7cfb\u7edf\u914d\u7f6e\u6587\u4ef6](%DOCS_URL%%BASE_PATH%docs/deploy/config/mis/intro)\\n\\n \u5220\u9664\u4e86`fetchJobs`\u914d\u7f6e\u9879\u4e2d\u7684`db`\u9879\uff0c\u5373\u4e0d\u518d\u91c7\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93\uff0c\u901a\u8fc7\u9002\u914d\u5668\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f\\n\\n### 3. \u4e0d\u518d\u4f7f\u7528\u6e90\u4f5c\u4e1a\u4fe1\u606f\u6570\u636e\u5e93\\n\\n\u90e8\u7f72\u4f7f\u7528\u9002\u914d\u5668\u540e\uff0c\u53ef\u4ee5\u4e0d\u518d\u90e8\u7f72[`export-jobs`](https://github.com/PKUHPC/export-jobs)\u9879\u76ee\uff0c\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f\u7684\u529f\u80fd\u7531\u9002\u914d\u5668\u5b8c\u6210"},{"id":"scow-cli-release","metadata":{"permalink":"/SCOW/pr-preview/pr-1298/blog/scow-cli-release","editUrl":"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-03-29-scow-cli.md","source":"@site/blog/2023-03-29-scow-cli.md","title":"scow-cli","description":"\u6211\u4eec\u81f4\u529b\u4e8e\u4ee5\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u5730\u90e8\u7f72\u3001\u8fd0\u7ef4\u548c\u7ba1\u7406SCOW\u96c6\u7fa4\u3002","date":"2023-03-29T00:00:00.000Z","tags":[{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{"label":"scow-cli","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli"},{"label":"scow-deployment","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"}],"readingTime":1.285,"hasTruncateMarker":false,"authors":[{"name":"Chen Junda","title":"Developer","url":"https://ddadaal.me","imageURL":"https://avatars.githubusercontent.com/u/8363856","key":"chenjunda"}],"frontMatter":{"slug":"scow-cli-release","title":"scow-cli","authors":["chenjunda"],"tags":["scow","scow-cli","scow-deployment"]},"unlisted":false,"prevItem":{"title":"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter"},"nextItem":{"title":"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc","permalink":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment"}},"content":"\u6211\u4eec\u81f4\u529b\u4e8e\u4ee5\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u5730\u90e8\u7f72\u3001\u8fd0\u7ef4\u548c\u7ba1\u7406SCOW\u96c6\u7fa4\u3002\\n\\n\u4e4b\u524d\u7684`scow-deployment`\u4e3a\u4e86\u4fdd\u8bc1\u65e0\u9700\u5b89\u88c5\u4f9d\u8d56\u5747\u53ef\u4f7f\u7528\uff0c\u6240\u4ee5\u91c7\u7528\u4e86\u548cSCOW\u5176\u4ed6\u90e8\u5206\u4e0d\u4e00\u6837\u7684python\u8bed\u8a00\u5f00\u53d1\uff0c\u4e14\u65e0\u6cd5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\u7684\u529f\u80fd\uff0c\u9650\u5236\u4e86`scow-deployment`\u7684\u529f\u80fd\u3002\\n\\n\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e9b\u95ee\u9898\uff0c\u6211\u4eec\u91cd\u65b0\u7f16\u5199\u4e86`scow-cli`\u3002\u6b64\u5de5\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a\\n\\n- \u4f7f\u7528`install.yaml`\u8fdb\u884c\u914d\u7f6e\uff0c\u914d\u7f6e\u65b9\u5f0f\u548c\u7cfb\u7edf\u5176\u4ed6\u90e8\u5206\u76f8\u540c\\n- \u53ef\u81ea\u7531\u4f7f\u7528\u7b2c\u4e09\u65b9\u5305\uff0c\u529f\u80fd\u6269\u5c55\u8d77\u6765\u66f4\u52a0\u65b9\u4fbf\\n- \u6b64\u5de5\u5177\u91c7\u7528\u548c\u7cfb\u7edf\u5176\u4ed6\u90e8\u5206\u76f8\u540c\u7684\u6280\u672f\u6808\u7f16\u5199\uff0c\u65b9\u4fbf\u540e\u7eed\u529f\u80fd\u5f00\u53d1\u548c\u7ef4\u62a4\\n- \u6253\u5305\u4e3a\u4e00\u4e2a\u53ef\u4ee5\u76f4\u63a5\u6267\u884c\u7684\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u540c\u6837\u65e0\u9700\u5b89\u88c5\u4efb\u4f55\u4f9d\u8d56\u5373\u53ef\u4f7f\u7528\\n\\n`scow-cli`\u662f\u540e\u7eed\u589e\u52a0\u66f4\u591a\u547d\u4ee4\u884c\u7ef4\u62a4\u529f\u80fd\u7684\u57fa\u7840\uff0c\u5efa\u8bae\u5927\u5bb6\u5c3d\u5feb\u4ece`scow-deployment`\u8fc1\u79fb\u5230`scow-cli`\u3002\\n\\n\u8bf7\u53c2\u8003[scow-cli](%DOCS_URL%%BASE_PATH%docs/deploy/install/scow-cli)\u6587\u6863\u4ee5\u4e0b\u8f7dscow-cli\uff0c\u4ee5\u53ca\u4e86\u89e3\u5982\u4f55\u4ece`scow-deployment`\u8fc1\u79fb\u5230`scow-cli`\u3002"},{"id":"update-to-python-deployment","metadata":{"permalink":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","editUrl":"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2022-10-22-update-deployment.md","source":"@site/blog/2022-10-22-update-deployment.md","title":"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc","description":"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0cPKUHPC/scow-deployment\u9879\u76ee\u662f\u7eaf\u901a\u8fc7Docker Compose\u5b9e\u73b0\u7684\uff0c\u4e3b\u8981\u7528\u5230\u4e86Docker Compose\u5185\u7f6e\u7684profile\u529f\u80fd\u3001\u8bfb\u53d6\u73af\u5883\u53d8\u91cf\u4ee5\u53ca\u53d8\u91cf\u66ff\u6362\u529f\u80fd\u6765\u5b9e\u73b0\u7c7b\u4f3c\u4e0d\u540c\u914d\u7f6e\u3002\u4f46\u662fDocker Compose\u7684\u8fd9\u4e9b\u529f\u80fd\u8f83\u5f31\uff0c\u65e0\u6cd5\u6ee1\u8db3\u672a\u6765\u66f4\u591a\u81ea\u5b9a\u4e49\u9700\u6c42\u3002","date":"2022-10-22T00:00:00.000Z","tags":[{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{"label":"scow-deployment","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"}],"readingTime":2.265,"hasTruncateMarker":false,"authors":[{"name":"Huangjun","title":"Developer","url":"https://blog.csdn.net/huangjun0210?type=blog","imageURL":"https://avatars.githubusercontent.com/u/26295600","key":"huangjun"}],"frontMatter":{"slug":"update-to-python-deployment","title":"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc","authors":["huangjun"],"tags":["scow","scow-deployment"]},"unlisted":false,"prevItem":{"title":"scow-cli","permalink":"/SCOW/pr-preview/pr-1298/blog/scow-cli-release"},"nextItem":{"title":"scow\u6587\u6863\u4e0a\u7ebf","permalink":"/SCOW/pr-preview/pr-1298/blog/docs-online"}},"content":"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c`PKUHPC/scow-deployment`\u9879\u76ee\u662f\u7eaf\u901a\u8fc7`Docker Compose`\u5b9e\u73b0\u7684\uff0c\u4e3b\u8981\u7528\u5230\u4e86`Docker Compose`\u5185\u7f6e\u7684`profile`\u529f\u80fd\u3001\u8bfb\u53d6\u73af\u5883\u53d8\u91cf\u4ee5\u53ca\u53d8\u91cf\u66ff\u6362\u529f\u80fd\u6765\u5b9e\u73b0\u7c7b\u4f3c\u4e0d\u540c\u914d\u7f6e\u3002\u4f46\u662f`Docker Compose`\u7684\u8fd9\u4e9b\u529f\u80fd\u8f83\u5f31\uff0c\u65e0\u6cd5\u6ee1\u8db3\u672a\u6765\u66f4\u591a\u81ea\u5b9a\u4e49\u9700\u6c42\u3002\\n\\n\u4e3a\u7b80\u5316\u90e8\u7f72\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u540c\u65f6\u4e3a\u7528\u6237\u63d0\u4f9b\u66f4\u6613\u61c2\u548c\u7075\u6d3b\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u6700\u65b0\u7248\u672c\u7684`PKUHPC/scow-deployment`\u9879\u76ee\u4f7f\u7528`python`\u52a8\u6001\u751f\u6210`Docker Compose`\u6587\u4ef6\uff0c\u6839\u636e\u7528\u6237\u7684\u9700\u6c42\u751f\u6210\u66f4\u6613\u7406\u89e3\u7684`Docker Compose`\u6587\u4ef6\u3002\\n\\n\u63a5\u4e0b\u6765\uff0c\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u5e73\u6ed1\u7684\u4ece\u65e7\u7248\u672c\u5347\u7ea7\u81f3\u65b0\u7248\u672c\u3002\\n\\n## 1. \u505c\u6b62scow\u670d\u52a1\\n\\n```shell\\n# \u8fdb\u5165scow-deployment\u9879\u76ee\u76ee\u5f55\\ncd scow-deployment\\n\\n# \u505c\u6b62scow\u670d\u52a1\\ndocker-compose down\\n```\\n\\n## 2. \u5907\u4efd\u914d\u7f6e\u6587\u4ef6\\n\\n\u4e3b\u8981\u5907\u4efd`.env`\u914d\u7f6e\u6587\u4ef6\uff1a\\n\\n```shell\\n# 1. \u521b\u5efa\u5907\u4efd\u76ee\u5f55\\nmkdir /path/to/backup\\n\\n# 2. \u5907\u4efd\u90e8\u7f72\u7684\u73af\u5883\u53d8\u91cf\\ncp .env /path/to/backup\\n\\n```\\n\\n## 3. \u5347\u7ea7\\n\\n\u62c9\u53d6master\u5206\u652f\u6700\u65b0\u4ee3\u7801\uff1a\\n\\n```shell\\ncd /path/to/scow-deployment\\n# \u540c\u6b65\u6700\u65b0\u4ee3\u7801\\ngit pull\\n```\\n\\n\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a\\n\\n```shell\\ntree -L 1\\n\u251c\u2500\u2500 compose.sh\\t\\t\\t\\t# \u7a0b\u5e8f\u6267\u884c\u5165\u53e3\uff0c\u6267\u884c\u8be5\u811a\u672c\u4f1a\u751f\u6210docker-compose.json\u3001db.sh\u6587\u4ef6\\n\u251c\u2500\u2500 config-example\\t\\t\\t# scow\u4e1a\u52a1\u914d\u7f6e\u6a21\u677f\u6587\u4ef6\u76ee\u5f55\\n\u251c\u2500\u2500 config-example.py\\t\\t# scow\u7cfb\u7edf\u90e8\u7f72\u53c2\u6570\u914d\u7f6e\u6587\u4ef6\u6a21\u677f\\n\u251c\u2500\u2500 fluent\\t\\t\\t\\t\\t# fluent\u914d\u7f6e\u6587\u4ef6\u5b58\u653e\u76ee\u5f55\\n\u251c\u2500\u2500 generate.py\\t\\t\\t\\t# \u90e8\u7f72\u914d\u7f6e\u6587\u4ef6\u751f\u6210python\u811a\u672c\\n\u2514\u2500\u2500 README.md\\n```\\n\\n\u7f16\u5199\u914d\u7f6e\u6587\u4ef6:\\n\\n```shell\\n# 1. \u590d\u5236\u914d\u7f6e\u6587\u4ef6\\ncp config-example.py config.py\\n\\n# 2. \u914d\u7f6e\u53c2\u6570\\n# \u6839\u636e\u548c\u5907\u4efd\u7684.env\u6587\u4ef6\u548cconfig.py\u4e2d\u7684\u53c2\u6570\u8bf4\u660e\uff0c\u4fee\u6539config.py\u6587\u4ef6\u4e2d\u7684\u53c2\u6570\\n\\n```\\n\\n\u670d\u52a1\u542f\u52a8\u4e0e\u505c\u6b62\uff1a\\n\\n```shell\\n# \u542f\u52a8\u670d\u52a1\\n./compose.sh up -d\\n\\n# \u505c\u6b62\u670d\u52a1\\n./compose.sh down\\n```\\n\\n> `./compose.sh`\u652f\u6301\u6240\u6709\u57fa\u4e8e`Docker Compose`\u6587\u4ef6\u7684`docker-compose`\u547d\u4ee4\uff0c\u5982\uff1aup\u3001down\u3001ps\u3001restart\u7b49\u3002\\n\\n\u8be6\u7ec6\u8bf4\u660e\u53ef\u53c2\u8003`PKUHPC/scow-deployment`\u9879\u76ee\u7684[README.md](https://github.com/PKUHPC/scow-deployment/blob/master/README.md)\u3002"},{"id":"docs-online","metadata":{"permalink":"/SCOW/pr-preview/pr-1298/blog/docs-online","editUrl":"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2022-04-01-docs-online.md","source":"@site/blog/2022-04-01-docs-online.md","title":"scow\u6587\u6863\u4e0a\u7ebf","description":"scow\u6587\u6863\u7f51\u7ad9\u4e0a\u7ebf\uff01","date":"2022-04-01T00:00:00.000Z","tags":[{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow"}],"readingTime":0.035,"hasTruncateMarker":false,"authors":[{"name":"Chen Junda","title":"Developer","url":"https://ddadaal.me","imageURL":"https://avatars.githubusercontent.com/u/8363856","key":"chenjunda"}],"frontMatter":{"slug":"docs-online","title":"scow\u6587\u6863\u4e0a\u7ebf","authors":["chenjunda"],"tags":["scow"]},"unlisted":false,"prevItem":{"title":"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc","permalink":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment"}},"content":"scow\u6587\u6863\u7f51\u7ad9\u4e0a\u7ebf\uff01"}]}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d09a226f.7b8f2d7d.js b/pr-preview/pr-1298/assets/js/d09a226f.7b8f2d7d.js deleted file mode 100644 index bd5efecb87..0000000000 --- a/pr-preview/pr-1298/assets/js/d09a226f.7b8f2d7d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2561],{19399:e=>{e.exports=JSON.parse('{"title":"\u591a\u96c6\u7fa4\u7ba1\u7406","description":"\u5173\u4e8e\u591a\u96c6\u7fa4\u7ba1\u7406\u7684\u6587\u6863","slug":"/category/\u591a\u96c6\u7fa4\u7ba1\u7406","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406","navigation":{"previous":{"title":"\u81ea\u5b9a\u4e49\u7cfb\u7edf\u8bed\u8a00","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language"},"next":{"title":"\u591a\u96c6\u7fa4\u7ba1\u7406","permalink":"/SCOW/pr-preview/pr-1298/docs/multi_cluster"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d0e820e2.3a51f3e2.js b/pr-preview/pr-1298/assets/js/d0e820e2.3a51f3e2.js deleted file mode 100644 index 1a1773b306..0000000000 --- a/pr-preview/pr-1298/assets/js/d0e820e2.3a51f3e2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9235],{65821:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>o,frontMatter:()=>l,metadata:()=>d,toc:()=>h});var r=i(49214),t=i(5409);const l={},s=void 0,d={id:"refs/config/mis/definition",title:"definition",description:"Untitled object in undefined Type",source:"@site/docs/refs/config/mis/definition.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-predefinedchargingtypes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes"},next:{title:"portal",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/"}},c={},h=[{value:"Untitled object in undefined Type",id:"untitled-object-in-undefined-type",level:2},{value:"db",id:"db",level:2},{value:"db Type",id:"db-type",level:3},{value:"authUrl",id:"authurl",level:2},{value:"authUrl Type",id:"authurl-type",level:3},{value:"authUrl Default Value",id:"authurl-default-value",level:3},{value:"portalUrl",id:"portalurl",level:2},{value:"portalUrl Type",id:"portalurl-type",level:3},{value:"predefinedChargingTypes",id:"predefinedchargingtypes",level:2},{value:"predefinedChargingTypes Type",id:"predefinedchargingtypes-type",level:3},{value:"predefinedChargingTypes Default Value",id:"predefinedchargingtypes-default-value",level:3},{value:"accountNamePattern",id:"accountnamepattern",level:2},{value:"accountNamePattern Type",id:"accountnamepattern-type",level:3},{value:"fetchJobs",id:"fetchjobs",level:2},{value:"fetchJobs Type",id:"fetchjobs-type",level:3},{value:"jobChargeType",id:"jobchargetype",level:2},{value:"jobChargeType Type",id:"jobchargetype-type",level:3},{value:"jobChargeType Default Value",id:"jobchargetype-default-value",level:3},{value:"changeJobPriceType",id:"changejobpricetype",level:2},{value:"changeJobPriceType Type",id:"changejobpricetype-type",level:3},{value:"changeJobPriceType Default Value",id:"changejobpricetype-default-value",level:3},{value:"jobChargeComment",id:"jobchargecomment",level:2},{value:"jobChargeComment Type",id:"jobchargecomment-type",level:3},{value:"jobChargeComment Default Value",id:"jobchargecomment-default-value",level:3}];function p(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"untitled-object-in-undefined-type",children:"Untitled object in undefined Type"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"object"})," (",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition",children:"Details"}),")"]}),"\n",(0,r.jsx)(n.h1,{id:"untitled-object-in-undefined-properties",children:"Untitled object in undefined Properties"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{style:{textAlign:"left"},children:"Property"}),(0,r.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(n.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.th,{style:{textAlign:"left"},children:"Nullable"}),(0,r.jsx)(n.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#db",children:"db"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"object"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",title:"undefined#/properties/db",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#authurl",children:"authUrl"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl",title:"undefined#/properties/authUrl",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#portalurl",children:"portalUrl"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl",title:"undefined#/properties/portalUrl",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#predefinedchargingtypes",children:"predefinedChargingTypes"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"array"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes",title:"undefined#/properties/predefinedChargingTypes",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#accountnamepattern",children:"accountNamePattern"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"object"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Optional"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",title:"undefined#/properties/accountNamePattern",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#fetchjobs",children:"fetchJobs"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"object"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",title:"undefined#/properties/fetchJobs",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#jobchargetype",children:"jobChargeType"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype",title:"undefined#/properties/jobChargeType",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#changejobpricetype",children:"changeJobPriceType"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype",title:"undefined#/properties/changeJobPriceType",children:"Untitled schema"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"#jobchargecomment",children:"jobChargeComment"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,r.jsx)(n.td,{style:{textAlign:"left"},children:(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment",title:"undefined#/properties/jobChargeComment",children:"Untitled schema"})})]})]})]}),"\n",(0,r.jsx)(n.h2,{id:"db",children:"db"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"db"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"object"})," (",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",children:"Details"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",title:"undefined#/properties/db",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"db-type",children:"db Type"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"object"})," (",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",children:"Details"}),")"]}),"\n",(0,r.jsx)(n.h2,{id:"authurl",children:"authUrl"}),"\n",(0,r.jsx)(n.p,{children:"\u8ba4\u8bc1\u670d\u52a1\u7684\u5730\u5740\u3002\u4e00\u5b9a\u8981\u52a0\u534f\u8bae(http://)"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"authUrl"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl",title:"undefined#/properties/authUrl",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"authurl-type",children:"authUrl Type"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.h3,{id:"authurl-default-value",children:"authUrl Default Value"}),"\n",(0,r.jsx)(n.p,{children:"The default value is:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'"http://auth:5000"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"portalurl",children:"portalUrl"}),"\n",(0,r.jsx)(n.p,{children:"\u5982\u679c\u90e8\u7f72\u4e86\u95e8\u6237\u7cfb\u7edf\uff0c\u8bbe\u7f6e\u95e8\u6237\u7cfb\u7edf\u7684\u90e8\u7f72URL\u6216\u8005pathname"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"portalUrl"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl",title:"undefined#/properties/portalUrl",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"portalurl-type",children:"portalUrl Type"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.h2,{id:"predefinedchargingtypes",children:"predefinedChargingTypes"}),"\n",(0,r.jsx)(n.p,{children:"\u9884\u5b9a\u4e49\u7684\u5145\u503c\u7c7b\u578b"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"predefinedChargingTypes"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"string[]"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes",title:"undefined#/properties/predefinedChargingTypes",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"predefinedchargingtypes-type",children:"predefinedChargingTypes Type"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string[]"})}),"\n",(0,r.jsx)(n.h3,{id:"predefinedchargingtypes-default-value",children:"predefinedChargingTypes Default Value"}),"\n",(0,r.jsx)(n.p,{children:"The default value is:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:"[]\n"})}),"\n",(0,r.jsx)(n.h2,{id:"accountnamepattern",children:"accountNamePattern"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"accountNamePattern"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is optional"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"object"})," (",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",children:"Details"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",title:"undefined#/properties/accountNamePattern",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"accountnamepattern-type",children:"accountNamePattern Type"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"object"})," (",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",children:"Details"}),")"]}),"\n",(0,r.jsx)(n.h2,{id:"fetchjobs",children:"fetchJobs"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"fetchJobs"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"object"})," (",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",children:"Details"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",title:"undefined#/properties/fetchJobs",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"fetchjobs-type",children:"fetchJobs Type"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"object"})," (",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",children:"Details"}),")"]}),"\n",(0,r.jsx)(n.h2,{id:"jobchargetype",children:"jobChargeType"}),"\n",(0,r.jsx)(n.p,{children:"\u5bf9\u4f5c\u4e1a\u8ba1\u8d39\u65f6\uff0c\u8ba1\u8d39\u8d39\u7528\u7684\u7684\u4ed8\u6b3e\u7c7b\u578b"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"jobChargeType"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype",title:"undefined#/properties/jobChargeType",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"jobchargetype-type",children:"jobChargeType Type"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.h3,{id:"jobchargetype-default-value",children:"jobChargeType Default Value"}),"\n",(0,r.jsx)(n.p,{children:"The default value is:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'"\u4f5c\u4e1a\u8d39\u7528"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"changejobpricetype",children:"changeJobPriceType"}),"\n",(0,r.jsx)(n.p,{children:"\u4fee\u6539\u4f5c\u4e1a\u8d39\u7528\u65f6\u6240\u4f7f\u7528\u7684\u4ed8\u6b3e/\u5145\u503c\u7c7b\u578b"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"changeJobPriceType"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype",title:"undefined#/properties/changeJobPriceType",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"changejobpricetype-type",children:"changeJobPriceType Type"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.h3,{id:"changejobpricetype-default-value",children:"changeJobPriceType Default Value"}),"\n",(0,r.jsx)(n.p,{children:"The default value is:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'"\u4f5c\u4e1a\u8d39\u7528\u66f4\u6539"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"jobchargecomment",children:"jobChargeComment"}),"\n",(0,r.jsx)(n.p,{children:"\u7ed9\u4f5c\u4e1a\u6263\u8d39\u65f6\uff0c\u6263\u8d39\u9879\u7684\u5907\u6ce8\u3002\u53ef\u4ee5\u4f7f\u7528{price}\u4f7f\u7528\u4f5c\u4e1a\u4fe1\u606f\u4e2d\u7684\u5b57\u6bb5\u3002\u5b57\u6bb5\u53c2\u8003src/entities/JobInfo"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"jobChargeComment"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"is required"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Type: ",(0,r.jsx)(n.code,{children:"string"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"cannot be null"}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["defined in: ",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment",title:"undefined#/properties/jobChargeComment",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"jobchargecomment-type",children:"jobChargeComment Type"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"string"})}),"\n",(0,r.jsx)(n.h3,{id:"jobchargecomment-default-value",children:"jobChargeComment Default Value"}),"\n",(0,r.jsx)(n.p,{children:"The default value is:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'"\u96c6\u7fa4: {cluster}\uff0c\u4f5c\u4e1aID\uff1a{idJob}"\n'})})]})}function o(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>d});var r=i(48318);const t={},l=r.createContext(t);function s(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d18c46a9.4d06c56c.js b/pr-preview/pr-1298/assets/js/d18c46a9.4d06c56c.js deleted file mode 100644 index ac503aaf20..0000000000 --- a/pr-preview/pr-1298/assets/js/d18c46a9.4d06c56c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6145],{71751:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>i,metadata:()=>p,toc:()=>a});var r=t(49214),o=t(5409);const i={sidebar_position:2,title:"\u4ea4\u4e92\u5f0f\u5e94\u7528"},s="\u4ea4\u4e92\u5f0f\u5e94\u7528",p={id:"info/portal/app",title:"\u4ea4\u4e92\u5f0f\u5e94\u7528",description:"\u501f\u52a9\u4ea4\u4e92\u5f0f\u5e94\u7528\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u4e0a\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u5728\u8ba1\u7b97\u8282\u70b9\u4e0a\u542f\u52a8\u5e94\u7528\uff0c\u5e76\u901a\u8fc7\u6d4f\u89c8\u5668\u4f7f\u7528\u8fd9\u4e9b\u5e94\u7528\u3002",source:"@site/docs/info/portal/app.md",sourceDirName:"info/portal",slug:"/info/portal/app",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/app",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/info/portal/app.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u4ea4\u4e92\u5f0f\u5e94\u7528"},sidebar:"info",previous:{title:"\u95e8\u6237\u7cfb\u7edf\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/"},next:{title:"\u4f5c\u4e1a",permalink:"/SCOW/pr-preview/pr-1298/docs/info/portal/job"}},c={},a=[{value:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u5206\u7c7b",id:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u5206\u7c7b",level:2},{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u4ea4\u4e92\u5f0f\u5e94\u7528",children:"\u4ea4\u4e92\u5f0f\u5e94\u7528"}),"\n",(0,r.jsx)(n.p,{children:"\u501f\u52a9\u4ea4\u4e92\u5f0f\u5e94\u7528\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u4e0a\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u5728\u8ba1\u7b97\u8282\u70b9\u4e0a\u542f\u52a8\u5e94\u7528\uff0c\u5e76\u901a\u8fc7\u6d4f\u89c8\u5668\u4f7f\u7528\u8fd9\u4e9b\u5e94\u7528\u3002"}),"\n",(0,r.jsx)(n.h2,{id:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u5206\u7c7b",children:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u5206\u7c7b"}),"\n",(0,r.jsxs)(n.p,{children:["\u6211\u4eec\u5c06\u4ea4\u4e92\u5f0f\u5e94\u7528\u5206\u4e3a\u4e24\u7c7b\uff1a",(0,r.jsx)(n.strong,{children:"Web"}),"\u548c",(0,r.jsx)(n.strong,{children:"VNC"}),"\u3002"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Web\u7c7b"}),"\u662f\u6307\u901a\u8fc7HTTP\u548cWebSocket\u534f\u8bae\u63d0\u4f9b\u529f\u80fd\u7684\u5e94\u7528\uff0c\u5982VSCode, RStudio\u7b49\uff1b"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"VNC\u7c7b"}),"\u662f\u6307\u8fd0\u884c\u5728\u684c\u9762\u4e0a\u7684GUI\u7a0b\u5e8f\uff0c\u5982Matlab\u7b49\u3002\u7cfb\u7edf\u901a\u8fc7VNC\u534f\u8bae\u8fdc\u7a0b\u8fde\u63a5\u5230\u542f\u52a8\u8fd9\u4e9b\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u7684X Session\u4e2d\u3002"]}),"\n",(0,r.jsx)(n.p,{children:"\u7cfb\u7edf\u540c\u65f6\u652f\u6301\u8fd9\u4e24\u79cd\u5e94\u7528\u3002\u60a8\u53ea\u9700\u8981\u586b\u5199\u5bf9\u5e94\u5e94\u7528\u7684\u914d\u7f6e\uff0c\u5c31\u53ef\u4ee5\u8ba9\u7528\u6237\u5728\u6d4f\u89c8\u5668\u4e0a\u5feb\u901f\u542f\u52a8\u5e76\u8fde\u63a5\u5230\u670d\u52a1\u5668\u7c7b\u6216\u8005VNC\u7c7b\u5e94\u7528\u3002"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"\u5728\u6d4f\u89c8\u5668\u4e0a\u4f7f\u7528Web\u7c7b\u5e94\u7528VSCode",src:t(43023).A+"",width:"1565",height:"992"})}),"\n",(0,r.jsx)(n.h2,{id:"\u914d\u7f6e",children:"\u914d\u7f6e"}),"\n",(0,r.jsxs)(n.p,{children:["\u53c2\u8003",(0,r.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro",children:"\u914d\u7f6e\u4ea4\u4e92\u5f0f\u5e94\u7528"}),"\u6587\u6863\u3002"]})]})}function l(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},43023:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/interactive-apps-37466d9524fe2a515d454d6ea003e7b2.png"},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var r=t(48318);const o={},i=r.createContext(o);function s(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d36851ff.3c632d22.js b/pr-preview/pr-1298/assets/js/d36851ff.3c632d22.js deleted file mode 100644 index 7dd9724d62..0000000000 --- a/pr-preview/pr-1298/assets/js/d36851ff.3c632d22.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2484],{18379:e=>{e.exports=JSON.parse('{"title":"\u914d\u7f6e","description":"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6eSCOW\u3002","slug":"/category/\u914d\u7f6e","permalink":"/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e","navigation":{"previous":{"title":"\u591a\u67b6\u6784\u652f\u6301","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform"},"next":{"title":"\u914d\u7f6e\u7b80\u4ecb","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d36b53ca.9fe6a788.js b/pr-preview/pr-1298/assets/js/d36b53ca.9fe6a788.js deleted file mode 100644 index cc7f9f3ba7..0000000000 --- a/pr-preview/pr-1298/assets/js/d36b53ca.9fe6a788.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5684],{67135:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>f,frontMatter:()=>p,metadata:()=>s,toc:()=>a});var n=r(49214),i=r(5409);const p={},o=void 0,s={id:"refs/config/app/definition-properties-vnc-properties-xstartup",title:"definition-properties-vnc-properties-xstartup",description:"xstartup Type",source:"@site/docs/refs/config/app/definition-properties-vnc-properties-xstartup.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-vnc-properties-xstartup",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-vnc-properties-xstartup.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-type",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type"},next:{title:"definition-properties-vnc",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc"}},c={},a=[{value:"xstartup Type",id:"xstartup-type",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"xstartup-type",children:"xstartup Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>s});var n=r(48318);const i={},p=n.createContext(i);function o(e){const t=n.useContext(p);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(p.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d4cbbfe3.6c2c6a2d.js b/pr-preview/pr-1298/assets/js/d4cbbfe3.6c2c6a2d.js deleted file mode 100644 index b19a1514b2..0000000000 --- a/pr-preview/pr-1298/assets/js/d4cbbfe3.6c2c6a2d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1212],{19689:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var t=r(49214),s=r(5409);const i={},o=void 0,c={id:"refs/config/cluster/definition-properties-scheduler-anyof-0",title:"definition-properties-scheduler-anyof-0",description:"0 Type",source:"@site/docs/refs/config/cluster/definition-properties-scheduler-anyof-0.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-scheduler-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-scheduler-anyof-0.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-misignore",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore"},next:{title:"definition-properties-scheduler",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler"}},p={},d=[{value:"0 Type",id:"0-type",level:2},{value:"0 Constraints",id:"0-constraints",level:2}];function l(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"0-type",children:"0 Type"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.code,{children:"string"})}),"\n",(0,t.jsx)(n.h2,{id:"0-constraints",children:"0 Constraints"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"constant"}),": the value of this property must be equal to:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'"slurm"\n'})})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},5409:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>c});var t=r(48318);const s={},i=t.createContext(s);function o(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d524ea6b.98533bfe.js b/pr-preview/pr-1298/assets/js/d524ea6b.98533bfe.js deleted file mode 100644 index 71abbf1e26..0000000000 --- a/pr-preview/pr-1298/assets/js/d524ea6b.98533bfe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2842],{19931:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>t,metadata:()=>r,toc:()=>o});var s=i(49214),a=i(5409);const t={sidebar_position:1},l="IGV",r={id:"deploy/config/portal/apps/apps/igv/index",title:"IGV",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/igv/index.md",sourceDirName:"deploy/config/portal/apps/apps/igv",slug:"/deploy/config/portal/apps/apps/igv/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/igv/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"Emacs",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs/"},next:{title:"Jupyter",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/"}},p={},o=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001TurboVNC\u5b89\u88c5",id:"1turbovnc\u5b89\u88c5",level:3},{value:"2\u3001Java\u5b89\u88c5",id:"2java\u5b89\u88c5",level:3},{value:"3\u3001IGV\u5b89\u88c5",id:"3igv\u5b89\u88c5",level:4},{value:"4\u3001\u6dfb\u52a0modulefile\u6587\u4ef6",id:"4\u6dfb\u52a0modulefile\u6587\u4ef6",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"igv",children:"IGV"}),"\n",(0,s.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,s.jsx)(n.p,{children:"IGV (Integrative Genomics Viewer) \u662f\u4e00\u4e2a\u529f\u80fd\u5f3a\u5927\u7684\u57fa\u56e0\u7ec4\u6570\u636e\u5206\u6790\u5de5\u5177\uff0c\u88ab\u5e7f\u6cdb\u5e94\u7528\u4e8e\u751f\u7269\u533b\u5b66\u7814\u7a76\u548c\u751f\u7269\u4fe1\u606f\u5b66\u9886\u57df\u3002\u5b83\u652f\u6301\u591a\u79cd\u6570\u636e\u7c7b\u578b\uff0c\u5305\u62ec\u57fa\u56e0\u7ec4\u5e8f\u5217\u3001\u6ce8\u91ca\u3001\u6bd4\u5bf9\u3001\u53d8\u5f02\u548c\u8868\u8fbe\u7b49\u6570\u636e\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,s.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"TurboVNC 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Java 1.8 \u6216\u66f4\u9ad8\u7248\u672c"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684IGV"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"1turbovnc\u5b89\u88c5",children:"1\u3001TurboVNC\u5b89\u88c5"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate\nmv TurboVNC.repo /etc/yum.repos.d\n# \u5b89\u88c5\u6700\u65b0\u7248\u672c\nyum install turbovnc -y\n"})}),"\n",(0,s.jsx)(n.h3,{id:"2java\u5b89\u88c5",children:"2\u3001Java\u5b89\u88c5"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yum install java-1.8.0-openjdk\n"})}),"\n",(0,s.jsx)(n.h4,{id:"3igv\u5b89\u88c5",children:"3\u3001IGV\u5b89\u88c5"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# \u4e0b\u8f7d\u8f6f\u4ef6\u5305\nwget https://data.broadinstitute.org/igv/projects/downloads/2.16/IGV_Linux_2.16.1_WithJava.zip\n# \u89e3\u538b\u8f6f\u4ef6\u5305\u5230\u6307\u5b9a\u5b89\u88c5\u8def\u5f84\nmkdir /data/software/igv\nunzip IGV_Linux_2.16.1_WithJava.zip -d /data/software/igv/\n"})}),"\n",(0,s.jsx)(n.h3,{id:"4\u6dfb\u52a0modulefile\u6587\u4ef6",children:"4\u3001\u6dfb\u52a0modulefile\u6587\u4ef6"}),"\n",(0,s.jsx)(n.p,{children:"\u914d\u7f6e\u5df2\u5b89\u88c5\u597d\u7684IGV\u7684modulefile\u6587\u4ef6:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# ${MODULEPATH}\u4e3amodulefile\u6240\u5728\u7684\u8def\u5f84\nmkdir -p ${MODULEPATH}/igv\ncat >> ${MODULEPATH}/igv/IGV_Linux_2.16.1 << EOF\n#%Module1.0#####################################################################\n##\n## igv@IGV_Linux_2.16.1 modulefile\n##\n\nproc ModulesHelp { } {\n puts stderr "\\tThis module defines environment variables, aliases and add PATH for igv"\n puts stderr "\\tVersion IGV_Linux_2.16.1"\n InfoOut\n}\n\nset appname igv\nset version IGV_Linux_2.16.1\nset prefix /data/software/${appname}/${version}\n\nmodule-whatis "igv@IGV_Linux_2.16.1"\n\nprepend-path PATH $prefix\nprepend-path LD_LIBRARY_PATH $prefix/lib\nprepend-path CLASSPATH $prefix/lib/igv.jar\nEOF\n'})}),"\n",(0,s.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528IGV\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,s.jsxs)(n.p,{children:["\u521b\u5efa",(0,s.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,s.jsx)(n.code,{children:"igv.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/igv.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: igv\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: igv\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n module switch igv/${igv_path}\n igv.sh\n \n# \u914d\u7f6eHTML\u8868\u5355\nattributes:\n - type: select\n name: igv_path\n label: \u9009\u62e9\u7248\u672c\n select:\n - value: IGV_Linux_2.16.1\n label: IGV_Linux_2.16.1\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})})]})}function c(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>r});var s=i(48318);const a={},t=s.createContext(a);function l(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d534a19b.569d8bb6.js b/pr-preview/pr-1298/assets/js/d534a19b.569d8bb6.js deleted file mode 100644 index e115d357a8..0000000000 --- a/pr-preview/pr-1298/assets/js/d534a19b.569d8bb6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7720],{4966:(n,e,o)=>{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>s,default:()=>m,frontMatter:()=>c,metadata:()=>l,toc:()=>i});var r=o(49214),t=o(5409);const c={title:"slurm.conf \u914d\u7f6e",sidebar_position:2},s=void 0,l={id:"hpccluster/config/slurm.conf",title:"slurm.conf \u914d\u7f6e",description:"",source:"@site/docs/hpccluster/config/slurm.conf.md",sourceDirName:"hpccluster/config",slug:"/hpccluster/config/slurm.conf",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/config/slurm.conf.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"slurm.conf \u914d\u7f6e",sidebar_position:2},sidebar:"hpccluster",previous:{title:"NFS\u5b89\u88c5\u548c\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs"},next:{title:"slurmdbd.conf \u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf"}},u={},i=[];function a(n){const e={code:"code",pre:"pre",...(0,t.R)(),...n.components};return(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-Properties",children:"#\n# slurm.conf file. Please run configurator.html\n# (in doc/html) to build a configuration file customized\n# for your environment.\n#\n#\n# slurm.conf file generated by configurator.html.\n# Put this file on all nodes of your cluster.\n# See the slurm.conf man page for more information.\n#\n################################################\n# CONTROL #\n################################################\nClusterName=cluster #\u96c6\u7fa4\u540d\u79f0\nSlurmctldHost=manage01 #\u7ba1\u7406\u670d\u52a1\u8282\u70b9\u540d\u79f0\nSlurmctldPort=6817 #slurmctld\u670d\u52a1\u7aef\u53e3\nSlurmdPort=6818 #slurmd\u670d\u52a1\u7684\u7aef\u53e3 \nSlurmUser=slurm #slurm\u7684\u4e3b\u7528\u6237\n#SlurmdUser=root #slurmd\u670d\u52a1\u7684\u542f\u52a8\u7528\u6237\n\n################################################\n# LOGGING & OTHER PATHS #\n################################################\nSlurmctldDebug=info\nSlurmctldLogFile=/var/log/slurm/slurmctld.log\nSlurmdDebug=info\nSlurmdLogFile=/var/log/slurm/slurmd.log\nSlurmctldPidFile=/var/run/slurmctld.pid\nSlurmdPidFile=/var/run/slurmd.pid\nSlurmdSpoolDir=/var/spool/slurmd\nStateSaveLocation=/var/spool/slurmctld\n\n################################################\n# ACCOUNTING #\n################################################\nAccountingStorageEnforce=associations,limits,qos #account\u5b58\u50a8\u6570\u636e\u7684\u914d\u7f6e\u9009\u9879\nAccountingStorageHost=manage01 #\u6570\u636e\u5e93\u5b58\u50a8\u8282\u70b9\nAccountingStoragePass=/var/run/munge/munge.socket.2 #munge\u8ba4\u8bc1\u6587\u4ef6\uff0c\u4e0eslurmdbd.conf\u6587\u4ef6\u4e2d\u7684AuthInfo\u6587\u4ef6\u540c\u540d\u3002\nAccountingStoragePort=6819 #slurmd\u670d\u52a1\u76d1\u542c\u7aef\u53e3\uff0c\u9ed8\u8ba4\u4e3a6819\nAccountingStorageType=accounting_storage/slurmdbd #\u6570\u636e\u5e93\u8bb0\u8d26\u670d\u52a1\n\n################################################\n# JOBS #\n################################################\nJobCompHost=localhost #\u4f5c\u4e1a\u5b8c\u6210\u4fe1\u606f\u7684\u6570\u636e\u5e93\u672c\u8282\u70b9\nJobCompLoc=slurm_acct_db #\u6570\u636e\u5e93\u540d\u79f0\nJobCompPass=123456 #slurm\u7528\u6237\u6570\u636e\u5e93\u5bc6\u7801\nJobCompPort=3306 #\u6570\u636e\u5e93\u7aef\u53e3\nJobCompType=jobcomp/mysql #\u4f5c\u4e1a\u5b8c\u6210\u4fe1\u606f\u6570\u636e\u5b58\u50a8\u7c7b\u578b\uff0c\u91c7\u7528mysql\u6570\u636e\u5e93\nJobCompUser=slurm #\u4f5c\u4e1a\u5b8c\u6210\u4fe1\u606f\u6570\u636e\u5e93\u7528\u6237\u540d\nJobContainerType=job_container/none\nJobAcctGatherFrequency=30\nJobAcctGatherType=jobacct_gather/linux\n\n################################################\n# SCHEDULING & ALLOCATION #\n################################################\nSchedulerType=sched/backfill\nSelectType=select/cons_tres\nSelectTypeParameters=CR_Core\n\n################################################\n# TIMERS #\n################################################\nInactiveLimit=0\nKillWait=30\nMinJobAge=300\nSlurmctldTimeout=120\nSlurmdTimeout=300\nWaittime=0\n\n################################################\n# OTHER #\n################################################\nMpiDefault=none\nProctrackType=proctrack/cgroup\nReturnToService=1\nSwitchType=switch/none\nTaskPlugin=task/affinity\n\n################################################\n# NODES #\n################################################\nNodeName=manage01 NodeAddr=192.168.29.106 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN\nNodeName=login01 NodeAddr=192.168.29.101 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN\nNodeName=compute0[1-2] NodeAddr=192.168.29.10[2-3] CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN\n\n################################################\n# PARTITIONS #\n################################################\nPartitionName=compute Nodes=compute0[1-2] Default=YES MaxTime=INFINITE State=UP\n"})})}function m(n={}){const{wrapper:e}={...(0,t.R)(),...n.components};return e?(0,r.jsx)(e,{...n,children:(0,r.jsx)(a,{...n})}):a(n)}},5409:(n,e,o)=>{o.d(e,{R:()=>s,x:()=>l});var r=o(48318);const t={},c=r.createContext(t);function s(n){const e=r.useContext(c);return r.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:s(n.components),r.createElement(c.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d7d5528d.625c038c.js b/pr-preview/pr-1298/assets/js/d7d5528d.625c038c.js deleted file mode 100644 index 2d881c15ac..0000000000 --- a/pr-preview/pr-1298/assets/js/d7d5528d.625c038c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[424],{84914:p=>{p.exports=JSON.parse('[{"label":"scow","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow","count":6},{"label":"scow-deployment","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment","count":3},{"label":"v1.0.0","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0","count":1},{"label":"scow-portal-apps","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps","count":1},{"label":"scow-apps","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps","count":1},{"label":"scow-scheduler-adapter","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter","count":1},{"label":"scow-cli","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli","count":1}]')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/d8d27391.e325699d.js b/pr-preview/pr-1298/assets/js/d8d27391.e325699d.js deleted file mode 100644 index da13a4cc1b..0000000000 --- a/pr-preview/pr-1298/assets/js/d8d27391.e325699d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7433],{32353:s=>{s.exports=JSON.parse('{"label":"scow-portal-apps","permalink":"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps","allTagsPath":"/SCOW/pr-preview/pr-1298/blog/tags","count":1,"unlisted":false}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/da9155f5.8d169cf7.js b/pr-preview/pr-1298/assets/js/da9155f5.8d169cf7.js deleted file mode 100644 index ad55f9c0e6..0000000000 --- a/pr-preview/pr-1298/assets/js/da9155f5.8d169cf7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[769],{95600:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=t(49214),i=t(5409);const s={sidebar_position:2,title:"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7"},c="\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7",r={id:"deploy/config/audit/customEvent",title:"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7",description:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7",source:"@site/docs/deploy/config/audit/customEvent.md",sourceDirName:"deploy/config/audit",slug:"/deploy/config/audit/customEvent",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/audit/customEvent.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7"},sidebar:"deploy",previous:{title:"\u914d\u7f6e\u5ba1\u8ba1\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro"},next:{title:"CLI",permalink:"/SCOW/pr-preview/pr-1298/docs/category/cli"}},d={},l=[{value:"\u529f\u80fd\u4ecb\u7ecd",id:"\u529f\u80fd\u4ecb\u7ecd",level:2},{value:"\u5982\u4f55\u65b0\u589e\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a",id:"\u5982\u4f55\u65b0\u589e\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a",level:2},{value:"1. \u8c03\u7528CreateOperationLog API",id:"1-\u8c03\u7528createoperationlog-api",level:3},{value:"CustomEvent\u53c2\u6570\u5b9a\u4e49",id:"customevent\u53c2\u6570\u5b9a\u4e49",level:4},{value:"2. \u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7\u67e5\u770b\u53ca\u641c\u7d22",id:"2-\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7\u67e5\u770b\u53ca\u641c\u7d22",level:3},{value:"\u6ce8\u610f",id:"\u6ce8\u610f",level:3}];function a(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7",children:"\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7"}),"\n",(0,o.jsx)(n.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7"}),"\n",(0,o.jsx)(n.h2,{id:"\u529f\u80fd\u4ecb\u7ecd",children:"\u529f\u80fd\u4ecb\u7ecd"}),"\n",(0,o.jsx)(n.p,{children:"SCOW\u7684\u5ba1\u8ba1\u7cfb\u7edf\u5185\u7f6e\u4e86\u4e00\u4e9b\u7528\u6237\u64cd\u4f5c\u884c\u4e3a\uff0c\u4f8b\u5982\u767b\u5f55\u3001\u767b\u51fa\u548c\u4fee\u6539\u5bc6\u7801\u7b49\u3002\u8fd9\u4e9b\u5185\u7f6e\u64cd\u4f5c\u884c\u4e3a\u5728SCOW\u7684\u7ba1\u7406\u7cfb\u7edf\u9875\u9762\u4e0a\uff0c\u53ef\u4ee5\u8fdb\u884c\u5c55\u793a\u3001\u641c\u7d22\u4ee5\u53ca\u7edf\u8ba1\u3002"}),"\n",(0,o.jsx)(n.p,{children:"\u4f46\u662f\uff0c\u6709\u65f6\u5019\u7528\u6237\u53ef\u80fd\u9700\u8981\u5bf9\u81ea\u5df1\u7684\u4e1a\u52a1\u7cfb\u7edf\u8fdb\u884c\u5ba1\u8ba1\uff0c\u8fd9\u65f6\u5019\u5c31\u9700\u8981\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u3002\u8be5\u529f\u80fd\u53ef\u4ee5\u5728\u4e0d\u4fee\u6539SCOW\u6e90\u7801\u7684\u60c5\u51b5\u4e0b\uff0c\u901a\u8fc7\u8c03\u7528\u5ba1\u8ba1\u7cfb\u7edf\u7684 API \u5b9e\u73b0\u5bf9\u64cd\u4f5c\u884c\u4e3a\u7c7b\u522b\u7684\u6269\u5c55\u4ee5\u53ca\u5bf9\u5e94\u7684\u56fd\u9645\u5316\u5c55\u793a,\u540c\u65f6\u53ef\u4ee5\u652f\u6301\u5728\u7ba1\u7406\u7cfb\u7edf\u7684\u64cd\u4f5c\u65e5\u5fd7\u9875\u9762\u5bf9\u8be5\u7c7b\u522b\u7684\u64cd\u4f5c\u884c\u4e3a\u8fdb\u884c\u641c\u7d22\u3002"}),"\n",(0,o.jsx)(n.h2,{id:"\u5982\u4f55\u65b0\u589e\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a",children:"\u5982\u4f55\u65b0\u589e\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a"}),"\n",(0,o.jsx)(n.h3,{id:"1-\u8c03\u7528createoperationlog-api",children:"1. \u8c03\u7528CreateOperationLog API"}),"\n",(0,o.jsxs)(n.p,{children:["\u5728\u81ea\u5df1\u5b9e\u73b0\u7684\u4e1a\u52a1\u7cfb\u7edf\u4e2d\uff0c\u8c03\u7528\u5ba1\u8ba1\u7cfb\u7edf\u7684",(0,o.jsx)(n.code,{children:"CreateOperationLog"}),"\uff0c\u65b0\u589e\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u7684\u7c7b\u522b\u3002"]}),"\n",(0,o.jsx)(n.p,{children:"\u5b9a\u4e49\u7684protobuf\u6587\u4ef6\u76f8\u5173\u5185\u5bb9\u5982\u4e0b\uff1a"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-proto",children:"message I18nObject {\n message I18n {\n string default = 1;\n optional string en = 2;\n optional string zh_cn = 3;\n }\n I18n i18n = 1;\n}\n\n// \u7528\u6237\u81ea\u5b9a\u4e49\u64cd\u4f5c\u7c7b\u578b\uff0cname\u548ccontent\u5c06\u76f4\u63a5\u5c55\u793a\nmessage CustomEvent {\n string type = 1;\n common.I18nObject name = 2;\n common.I18nObject content = 3;\n}\n\nmessage CreateOperationLogRequest {\n string operator_user_id = 1;\n string operator_ip = 2;\n OperationResult operation_result = 3;\n oneof operation_event {\n Login login = 4;\n Logout logout = 5;\n SubmitJob submit_job = 6;\n EndJob end_job = 7;\n //...\u7701\u7565\u4e2d\u95f4\u7684\u5185\u7f6e\u64cd\u4f5c\u884c\u4e3a\n\n // \u8868\u793a\u8be5\u6761\u64cd\u4f5c\u65e5\u5fd7\u8bb0\u5f55\u4e3a\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\n CustomEvent custom_event = 61;\n }\n}\n"})}),"\n",(0,o.jsx)(n.h4,{id:"customevent\u53c2\u6570\u5b9a\u4e49",children:"CustomEvent\u53c2\u6570\u5b9a\u4e49"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"type"}),"\uff1a\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u7684\u7c7b\u522b\uff0c\u7528\u4e8e\u533a\u5206\u4e0d\u540c\u7684\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u3002"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"name"}),"\uff1a\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u7684\u540d\u79f0\uff0c\u56fd\u9645\u5316\u5bf9\u8c61\uff0c\u7528\u4e8e\u5728\u7ba1\u7406\u7cfb\u7edf\u7684\u64cd\u4f5c\u65e5\u5fd7\u9875\u9762\u8fdb\u884c\u5c55\u793a\u3002"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"content"}),"\uff1a\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u7684\u5185\u5bb9\uff0c\u56fd\u9645\u5316\u5bf9\u8c61\uff0c\u7528\u4e8e\u5728\u7ba1\u7406\u7cfb\u7edf\u7684\u64cd\u4f5c\u65e5\u5fd7\u9875\u9762\u8fdb\u884c\u5c55\u793a\u4ee5\u53ca\u641c\u7d22\u3002"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"2-\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7\u67e5\u770b\u53ca\u641c\u7d22",children:"2. \u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65e5\u5fd7\u67e5\u770b\u53ca\u641c\u7d22"}),"\n",(0,o.jsx)(n.p,{children:"\u5728\u7ba1\u7406\u7cfb\u7edf\u7684\u64cd\u4f5c\u65e5\u5fd7\u9875\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5230\u65b0\u589e\u7684\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u7684\u7c7b\u522b\uff0c\u4ee5\u53ca\u5bf9\u5e94\u7684\u64cd\u4f5c\u65e5\u5fd7\u8bb0\u5f55\u3002"}),"\n",(0,o.jsxs)(n.p,{children:["\u8868\u683c\u4e2d\u64cd\u4f5c\u884c\u4e3a\u5217\u5c06\u5c55\u793a",(0,o.jsx)(n.code,{children:"custom_event"}),"\u4e2d",(0,o.jsx)(n.code,{children:"name"}),"\u7684\u56fd\u9645\u5316\u5185\u5bb9\uff0c \u64cd\u4f5c\u5185\u5bb9\u4e3a",(0,o.jsx)(n.code,{children:"custom_event"}),"\u4e2d",(0,o.jsx)(n.code,{children:"content"}),"\u7684\u56fd\u9645\u5316\u5185\u5bb9"]}),"\n",(0,o.jsxs)(n.p,{children:["\u5982\u679c\u9700\u8981\u641c\u7d22\u7279\u5b9a\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u7684\u64cd\u4f5c\u65e5\u5fd7\uff0c\u53ef\u5728\u8868\u5355\u4e0a\u65b9\u8fc7\u6ee4\u64cd\u4f5c\u884c\u4e3a\u9009\u62e9\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\uff0c\u4e4b\u540e\u5728\u81ea\u5b9a\u4e49\u64cd\u4f5c\u7c7b\u578b\u7684\u4e0b\u62c9\u6846\u91cc\u9009\u53d6\u5177\u4f53\u7684\u81ea\u5b9a\u4e49\u64cd\u4f5c\u7c7b\u578b\uff08\u5bf9\u5e94\u521b\u5efa\u65f6\u7684",(0,o.jsx)(n.code,{children:"type"}),"\u53c2\u6570\uff09"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"custom_event",src:t(17020).A+"",width:"2241",height:"1149"})}),"\n",(0,o.jsx)(n.h3,{id:"\u6ce8\u610f",children:"\u6ce8\u610f"}),"\n",(0,o.jsxs)(n.p,{children:["\u5728\u65b0\u589e\u81ea\u5b9a\u4e49\u64cd\u4f5c\u884c\u4e3a\u65f6\uff0c\u9700\u8981\u786e\u4fdd\u7cfb\u7edf\u5185\u5df2\u6709\u6570\u636e\u662f\u5426\u6709\u76f8\u540c\u7684",(0,o.jsx)(n.code,{children:"custom_event_type"}),", \u5982\u679c\u521b\u5efa\u64cd\u4f5c\u65e5\u5fd7\u65f6\u4f20\u53c2",(0,o.jsx)(n.code,{children:"custom_event"}),"\u5185\u7684",(0,o.jsx)(n.code,{children:"type"}),"\u5df2\u5b58\u5728\uff0c\u9700\u8981\u786e\u4fdd\u6b64\u65f6",(0,o.jsx)(n.code,{children:"name"}),"\u53c2\u6570\u4e0e\u5df2\u6709\u6570\u636e\u4e2d\u7684",(0,o.jsx)(n.code,{children:"name"}),"\u5b8c\u5168\u4e00\u81f4\uff0c\u5426\u5219\u5c06\u521b\u5efa\u5931\u8d25"]})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},17020:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/customEvent-e4fe0f4a8cdb2e493d6b1f223d8d844f.png"},5409:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>r});var o=t(48318);const i={},s=o.createContext(i);function c(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/dae56168.aa0b2d66.js b/pr-preview/pr-1298/assets/js/dae56168.aa0b2d66.js deleted file mode 100644 index 6c4ee6701e..0000000000 --- a/pr-preview/pr-1298/assets/js/dae56168.aa0b2d66.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4905],{86013:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>d,metadata:()=>p,toc:()=>t});var s=o(49214),r=o(5409);const d={sidebar_position:1},i="VSCode",p={id:"deploy/config/ai/apps/apps/vscode/index",title:"VSCode",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/ai/apps/apps/vscode/index.md",sourceDirName:"deploy/config/ai/apps/apps/vscode",slug:"/deploy/config/ai/apps/apps/vscode/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/ai/apps/apps/vscode/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"JupyterLab",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab/"},next:{title:"\u5ba1\u8ba1\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf"}},c={},t=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u6ce8\u610f\u4e8b\u9879",id:"\u6ce8\u610f\u4e8b\u9879",level:2}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"vscode",children:"VSCode"}),"\n",(0,s.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,s.jsx)(n.p,{children:"code-server\u662f\u4e00\u4e2a\u57fa\u4e8eVS Code\u7684\u5f00\u6e90\u5de5\u5177\uff0c\u5b83\u53ef\u4ee5\u8ba9\u4f60\u901a\u8fc7\u6d4f\u89c8\u5668\u8fdc\u7a0b\u8bbf\u95ee\u4e00\u4e2a\u8fd0\u884c\u7740VS Code\u7684\u670d\u52a1\u5668\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,s.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u6709coder/code-server\u955c\u50cf\u6216\u8005\u53ef\u4ee5\u62c9\u53d6\u5230\u914d\u7f6e\u91cc\u5bf9\u5e94\u7684\u955c\u50cf\u5730\u5740\u3002"}),"\n",(0,s.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528code-server\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,s.jsxs)(n.p,{children:["\u521b\u5efa",(0,s.jsx)(n.code,{children:"config/ai/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,s.jsx)(n.code,{children:"vscode.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/ai/apps/vscode.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: vscode\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: VSCode\n\nimage:\n # \u955c\u50cf\u540d\u79f0\n name: codercom/code-server\n # \u955c\u50cf\u7248\u672c\n tag: 4.20.0\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n \n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PASSWORD=$(get_password 12)\n\n # \u6307\u660e\u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u4e2d\u7684\u542f\u52a8\u547d\u4ee4\uff0c\u7528\u6237\u5728\u521b\u5efa\u5e94\u7528\u9875\u9762\u53ef\u4ee5\u5728\u811a\u672c\u4e2d\u66ff\u6362\u8be5\u547d\u4ee4\n startCommand:\n code-server\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\n script: |\n PASSWORD=$PASSWORD\n code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n'})}),"\n",(0,s.jsx)(n.h2,{id:"\u6ce8\u610f\u4e8b\u9879",children:"\u6ce8\u610f\u4e8b\u9879"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode/#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9",children:"\u53c2\u8003\u95e8\u6237\u7cfb\u7edf\u7684vscode\u914d\u7f6e\u793a\u4f8b\u7684\u6ce8\u610f\u4e8b\u9879"})})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},5409:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>p});var s=o(48318);const r={},d=s.createContext(r);function i(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/dbeacb8f.00b20e9d.js b/pr-preview/pr-1298/assets/js/dbeacb8f.00b20e9d.js deleted file mode 100644 index 501c9573ad..0000000000 --- a/pr-preview/pr-1298/assets/js/dbeacb8f.00b20e9d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1954],{96519:e=>{e.exports=JSON.parse('{"title":"AI \u7cfb\u7edf\uff08beta\uff09","description":"\u5173\u4e8e AI \u7cfb\u7edf\uff08beta\uff09\u7684\u90e8\u7f72\u548c\u914d\u7f6e","slug":"/category/ai-\u7cfb\u7edfbeta","permalink":"/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta","navigation":{"previous":{"title":"\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08\u53ef\u9009\uff09","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor/"},"next":{"title":"\u914d\u7f6e AI \u7cfb\u7edf\uff08beta\uff09","permalink":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro"}}}')}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ddf462b5.0f8006c1.js b/pr-preview/pr-1298/assets/js/ddf462b5.0f8006c1.js deleted file mode 100644 index 2eba529dba..0000000000 --- a/pr-preview/pr-1298/assets/js/ddf462b5.0f8006c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[662],{23809:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>a,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var o=s(49214),t=s(5409);const i={sidebar_position:3,title:"\u4ece\u6e90\u7801\u6784\u5efa",description:"\u4ece\u6e90\u7801\u6784\u5efaSCOW"},l=void 0,r={id:"deploy/install/build-from-source",title:"\u4ece\u6e90\u7801\u6784\u5efa",description:"\u4ece\u6e90\u7801\u6784\u5efaSCOW",source:"@site/docs/deploy/install/build-from-source.md",sourceDirName:"deploy/install",slug:"/deploy/install/build-from-source",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/install/build-from-source.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"\u4ece\u6e90\u7801\u6784\u5efa",description:"\u4ece\u6e90\u7801\u6784\u5efaSCOW"},sidebar:"deploy",previous:{title:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli"},next:{title:"\u591a\u67b6\u6784\u652f\u6301",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform"}},c={},d=[{value:"\u4ece\u6e90\u7801\u6784\u5efa",id:"\u4ece\u6e90\u7801\u6784\u5efa",level:2}];function p(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"\u4ece\u6e90\u7801\u6784\u5efa",children:"\u4ece\u6e90\u7801\u6784\u5efa"}),"\n",(0,o.jsx)(n.p,{children:"\u76ee\u524d\u7cfb\u7edf\u5904\u4e8e\u516c\u5f00\u6d4b\u8bd5\u9636\u6bb5\uff0c\u6682\u4e0d\u63d0\u4f9b\u6784\u5efa\u597d\u7684\u955c\u50cf\u4e0b\u8f7d\u3002\u672c\u90e8\u5206\u4ecb\u7ecd\u5982\u4f55\u4ece\u6e90\u7801\u6784\u5efa\u9879\u76ee\u7684\u955c\u50cf\u3002"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"\u5728\u670d\u52a1\u8282\u70b9\u4e2d\u5b89\u88c5\u4ee5\u4e0b\u8f6f\u4ef6\uff1a"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"docker"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://docs.docker.com/compose/install/",children:"docker compose"})}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"\u4ece\u4ed3\u5e93clone\u9879\u76ee"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/PKUHPC/SCOW --depth=1\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"\u6784\u5efa\u955c\u50cf"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"# \u6784\u5efatag\u4e3ascow:latest\u7684\u955c\u50cf\u3002\u5982\u679c\u9700\u8981\u4fee\u6539\u955c\u50cf\u7684tag\uff0c\u8bf7\u4fee\u6539-t\u53c2\u6570\u7684\u503c\ndocker build -f docker/Dockerfile.scow -t scow .\n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"tip",children:[(0,o.jsx)(n.p,{children:"\u4e3a\u4e86\u7b80\u5316\u6784\u5efa\u955c\u50cf\u65f6\u6240\u9700\u8981\u7684\u73af\u5883\u548c\u51cf\u5c11\u6240\u9700\u65f6\u95f4\uff0c\u4f7f\u7528\u6b64\u547d\u4ee4\u6784\u5efa\u955c\u50cf\u65f6\uff0cdocker\u5c06\u4f1a\u81ea\u52a8\u4f7f\u7528\u8fd0\u884c\u6b64\u547d\u4ee4\u65f6\u7684\u673a\u5668\u7684\u67b6\u6784\u7f16\u8bd1\u955c\u50cf\u3002\u4f8b\u5982\u5982\u679c\u60a8\u5728AMD64\u67b6\u6784\u7684\u673a\u5668\u4e0a\u7f16\u8bd1\uff0c\u7f16\u8bd1\u51fa\u6765\u7684\u955c\u50cf\u4ec5\u652f\u6301AMD64\u67b6\u6784\u3002"}),(0,o.jsxs)(n.p,{children:["\u8bf7\u67e5\u770b",(0,o.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform",children:"\u591a\u67b6\u6784\u652f\u6301"}),"\u6587\u6863\u6765\u4e86\u89e3\u7cfb\u7edf\u5bf9\u975eAMD64\u67b6\u6784\uff08\u5982ARM64\uff09\u7684\u673a\u5668\u7684\u652f\u6301\u3002"]})]})]})}function a(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>r});var o=s(48318);const t={},i=o.createContext(t);function l(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/de526efe.6efead60.js b/pr-preview/pr-1298/assets/js/de526efe.6efead60.js deleted file mode 100644 index a28d6d6a12..0000000000 --- a/pr-preview/pr-1298/assets/js/de526efe.6efead60.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5403],{16945:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>n,metadata:()=>s,toc:()=>a});var p=r(49214),o=r(5409);const n={},i=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-path",title:"definition-properties-web-properties-connect-properties-path",description:"path Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-path.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-path",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-path.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-method",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method"},next:{title:"definition-properties-web-properties-connect-properties-query-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-"}},c={},a=[{value:"path Type",id:"path-type",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t.h2,{id:"path-type",children:"path Type"}),"\n",(0,p.jsx)(t.p,{children:(0,p.jsx)(t.code,{children:"string"})})]})}function f(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,p.jsx)(t,{...e,children:(0,p.jsx)(d,{...e})}):d(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>s});var p=r(48318);const o={},n=p.createContext(o);function i(e){const t=p.useContext(n);return p.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),p.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/de670940.613a8e17.js b/pr-preview/pr-1298/assets/js/de670940.613a8e17.js deleted file mode 100644 index c9743857ca..0000000000 --- a/pr-preview/pr-1298/assets/js/de670940.613a8e17.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6670],{20289:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>u,frontMatter:()=>s,metadata:()=>p,toc:()=>c});var r=i(49214),o=i(5409);const s={},n=void 0,p={id:"refs/config/mis/definition-properties-db-properties-host",title:"definition-properties-db-properties-host",description:"host Type",source:"@site/docs/refs/config/mis/definition-properties-db-properties-host.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-db-properties-host",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-db-properties-host.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-db-properties-debug",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug"},next:{title:"definition-properties-db-properties-password",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password"}},d={},c=[{value:"host Type",id:"host-type",level:2}];function f(e){const t={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"host-type",children:"host Type"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.code,{children:"string"})})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(f,{...e})}):f(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>n,x:()=>p});var r=i(48318);const o={},s=r.createContext(o);function n(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/df576f10.1b2b00ea.js b/pr-preview/pr-1298/assets/js/df576f10.1b2b00ea.js deleted file mode 100644 index e7df59d206..0000000000 --- a/pr-preview/pr-1298/assets/js/df576f10.1b2b00ea.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2710],{42865:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var i=r(49214),o=r(5409);const s={},n=void 0,p={id:"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname",title:"definition-properties-fetchjobs-properties-db-properties-dbname",description:"dbName Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-fetchjobs-properties-batchsize",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize"},next:{title:"definition-properties-fetchjobs-properties-db-properties-host",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host"}},c={},d=[{value:"dbName Type",id:"dbname-type",level:2}];function f(e){const t={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"dbname-type",children:"dbName Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>p});var i=r(48318);const o={},s=i.createContext(o);function n(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e00e09f9.b421f393.js b/pr-preview/pr-1298/assets/js/e00e09f9.b421f393.js deleted file mode 100644 index dab6c0c569..0000000000 --- a/pr-preview/pr-1298/assets/js/e00e09f9.b421f393.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8703],{11359:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>n,toc:()=>u});var p=t(49214),i=t(5409);const s={},o=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",title:"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",description:"gpus Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-cores",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-mem",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem"}},c={},u=[{value:"gpus Type",id:"gpus-type",level:2}];function a(e){const r={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(r.h2,{id:"gpus-type",children:"gpus Type"}),"\n",(0,p.jsx)(r.p,{children:(0,p.jsx)(r.code,{children:"integer"})})]})}function d(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,p.jsx)(r,{...e,children:(0,p.jsx)(a,{...e})}):a(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>n});var p=t(48318);const i={},s=p.createContext(i);function o(e){const r=p.useContext(s);return p.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),p.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e0907375.0eccf75d.js b/pr-preview/pr-1298/assets/js/e0907375.0eccf75d.js deleted file mode 100644 index 4fcd2ff651..0000000000 --- a/pr-preview/pr-1298/assets/js/e0907375.0eccf75d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7649],{56204:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var o=n(49214),s=n(5409);const r={slug:"docs-online",title:"scow\u6587\u6863\u4e0a\u7ebf",authors:["chenjunda"],tags:["scow"]},c=void 0,a={permalink:"/SCOW/pr-preview/pr-1298/blog/docs-online",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2022-04-01-docs-online.md",source:"@site/blog/2022-04-01-docs-online.md",title:"scow\u6587\u6863\u4e0a\u7ebf",description:"scow\u6587\u6863\u7f51\u7ad9\u4e0a\u7ebf\uff01",date:"2022-04-01T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"}],readingTime:.035,hasTruncateMarker:!1,authors:[{name:"Chen Junda",title:"Developer",url:"https://ddadaal.me",imageURL:"https://avatars.githubusercontent.com/u/8363856",key:"chenjunda"}],frontMatter:{slug:"docs-online",title:"scow\u6587\u6863\u4e0a\u7ebf",authors:["chenjunda"],tags:["scow"]},unlisted:!1,prevItem:{title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",permalink:"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment"}},i={authorsImageUrls:[void 0]},l=[];function u(e){const t={p:"p",...(0,s.R)(),...e.components};return(0,o.jsx)(t.p,{children:"scow\u6587\u6863\u7f51\u7ad9\u4e0a\u7ebf\uff01"})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>a});var o=n(48318);const s={},r=o.createContext(s);function c(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e10f4f39.7cfd12ea.js b/pr-preview/pr-1298/assets/js/e10f4f39.7cfd12ea.js deleted file mode 100644 index 1027fbcb27..0000000000 --- a/pr-preview/pr-1298/assets/js/e10f4f39.7cfd12ea.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1501],{77950:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=t(49214),a=t(5409);const l={sidebar_position:10,title:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7"},s="\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7",o={id:"hpccluster/cluster-monitor/index",title:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7",description:"\u914d\u7f6e\u8be5\u529f\u80fd\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\u67e5\u770b\u96c6\u7fa4\u8d44\u6e90\u4fe1\u606f\u548c\u544a\u8b66\u65e5\u5fd7\uff0c\u9700\u8981\u914d\u7f6e Prometheus\u3001Grafana\u3001Alertmanager\u3001alertsnitch\u3001MySQL \u5b89\u88c5",source:"@site/docs/hpccluster/cluster-monitor/index.md",sourceDirName:"hpccluster/cluster-monitor",slug:"/hpccluster/cluster-monitor/",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/cluster-monitor/index.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,title:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7"},sidebar:"hpccluster",previous:{title:"intel\u7f16\u8bd1\u5668\u5b89\u88c5",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel"}},i={},d=[{value:"\u4e00\u3001\u73af\u5883\u51c6\u5907",id:"\u4e00\u73af\u5883\u51c6\u5907",level:2},{value:"\u4e8c\u3001\u521b\u5efa\u914d\u7f6e\u6587\u4ef6",id:"\u4e8c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u914d\u7f6e Grafana",id:"\u914d\u7f6e-grafana",level:3},{value:"\u7f16\u8f91 grafana \u914d\u7f6e\u6587\u4ef6\uff1a<code>/root/monitor/grafana/grafana.ini</code>",id:"\u7f16\u8f91-grafana-\u914d\u7f6e\u6587\u4ef6rootmonitorgrafanagrafanaini",level:4},{value:"\u7f16\u8f91 grafana \u9ed8\u8ba4\u6570\u636e\u6e90",id:"\u7f16\u8f91-grafana-\u9ed8\u8ba4\u6570\u636e\u6e90",level:4},{value:"\u7f16\u8f91 grafana Mysql \u6570\u636e\u6e90",id:"\u7f16\u8f91-grafana-mysql-\u6570\u636e\u6e90",level:4},{value:"\u7f16\u8f91 grafana \u9762\u677f\u914d\u7f6e",id:"\u7f16\u8f91-grafana-\u9762\u677f\u914d\u7f6e",level:4},{value:"\u7f16\u8f91 grafana \u9762\u677f\u6a21\u677f\u6587\u4ef6",id:"\u7f16\u8f91-grafana-\u9762\u677f\u6a21\u677f\u6587\u4ef6",level:4},{value:"\u914d\u7f6e Prometheus",id:"\u914d\u7f6e-prometheus",level:3},{value:"\u914d\u7f6e Prometheus \u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e-prometheus-\u914d\u7f6e\u6587\u4ef6",level:4},{value:"\u914d\u7f6e Prometheus \u544a\u8b66\u89c4\u5219",id:"\u914d\u7f6e-prometheus-\u544a\u8b66\u89c4\u5219",level:4},{value:"\u914d\u7f6e Alertmanager",id:"\u914d\u7f6e-alertmanager",level:3},{value:"\u914d\u7f6e Alertmanager \u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e-alertmanager-\u914d\u7f6e\u6587\u4ef6",level:4},{value:"\u914d\u7f6e Alertmanager \u544a\u8b66\u6a21\u677f",id:"\u914d\u7f6e-alertmanager-\u544a\u8b66\u6a21\u677f",level:4},{value:"\u4e09\u3001\u542f\u52a8\u670d\u52a1",id:"\u4e09\u542f\u52a8\u670d\u52a1",level:2},{value:"\u7f16\u8f91\u96c6\u7fa4\u76d1\u63a7\u7684 docker compose \u914d\u7f6e\u6587\u4ef6",id:"\u7f16\u8f91\u96c6\u7fa4\u76d1\u63a7\u7684-docker-compose-\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u542f\u52a8\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1\u76f8\u5173\u5bb9\u5668",id:"\u542f\u52a8\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1\u76f8\u5173\u5bb9\u5668",level:3},{value:"\u521d\u59cb\u5316 alert-db",id:"\u521d\u59cb\u5316-alert-db",level:3},{value:"\u7f16\u8f91 <code>/root/monitor/bootstrap.sql</code>",id:"\u7f16\u8f91-rootmonitorbootstrapsql",level:4},{value:"\u7f16\u8f91 <code>/root/monitor/fingerprint.sql</code>",id:"\u7f16\u8f91-rootmonitorfingerprintsql",level:4},{value:"\u521d\u59cb\u5316",id:"\u521d\u59cb\u5316",level:4},{value:"\u91cd\u542f\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1",id:"\u91cd\u542f\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1",level:3},{value:"\u56db\u3001\u542f\u52a8 exporter \u670d\u52a1",id:"\u56db\u542f\u52a8-exporter-\u670d\u52a1",level:2},{value:"\u5b89\u88c5 golang",id:"\u5b89\u88c5-golang",level:3},{value:"\u7f16\u8bd1\u5b89\u88c5 exporter",id:"\u7f16\u8bd1\u5b89\u88c5-exporter",level:3},{value:"\u4e94\u3001SCOW \u914d\u7f6e\u5f00\u542f\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd",id:"\u4e94scow-\u914d\u7f6e\u5f00\u542f\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd",level:2}];function c(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7",children:"\u90e8\u7f72\u96c6\u7fa4\u76d1\u63a7"}),"\n",(0,r.jsx)(n.p,{children:"\u914d\u7f6e\u8be5\u529f\u80fd\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u5728\u7ba1\u7406\u7cfb\u7edf\u4e2d\u67e5\u770b\u96c6\u7fa4\u8d44\u6e90\u4fe1\u606f\u548c\u544a\u8b66\u65e5\u5fd7\uff0c\u9700\u8981\u914d\u7f6e Prometheus\u3001Grafana\u3001Alertmanager\u3001alertsnitch\u3001MySQL \u5b89\u88c5"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u96c6\u7fa4\u8d44\u6e90\u4fe1\u606f"}),"\n",(0,r.jsx)(n.img,{alt:"\u96c6\u7fa4\u8d44\u6e90\u4fe1\u606f",src:t(57834).A+"",width:"1896",height:"905"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\u544a\u8b66\u65e5\u5fd7"}),"\n",(0,r.jsx)(n.img,{alt:"\u544a\u8b66\u65e5\u5fd7",src:t(60855).A+"",width:"1902",height:"910"})]}),"\n",(0,r.jsx)(n.h2,{id:"\u4e00\u73af\u5883\u51c6\u5907",children:"\u4e00\u3001\u73af\u5883\u51c6\u5907"}),"\n",(0,r.jsx)(n.p,{children:"\u672c\u76d1\u63a7\u65b9\u6848\u901a\u8fc7 docker-compose \u5b89\u88c5\uff0c\u9700\u8981\u5b89\u88c5 docker \u548c docker-compose\uff1a"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"\u5b89\u88c5 docker"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u5b89\u88c5\u6240\u9700\u7684\u5305\nyum install -y yum-utils \\\n device-mapper-persistent-data \\\n lvm2\n \n# \u8bbe\u7f6e\u7a33\u5b9a\u5b58\u50a8\u5e93\nyum-config-manager \\\n --add-repo \\\n https://download.docker.com/linux/centos/docker-ce.repo\n \n**# **\u5b89\u88c5Docker CE**\n**yum install docker-ce -y\n\n# \u5b89\u88c5\u6307\u5b9a\u7248\u672cDocker CE\nyum list docker-ce --showduplicates | sort -r\nyum install docker-ce-23.0.6 -y\n\n**# **\u542f\u52a8Docker CE\u5e76\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8\nsystemctl start docker\nsystemctl enable docker\n\n**# **\u9a8c\u8bc1Docker\u73af\u5883**\n**docker run hello-world\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsx)(n.li,{children:"\u5b89\u88c5 docker-compose"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'**# **\u4e0b\u8f7d\u5b89\u88c5**\n**curl -L "https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose\nmv docker-compose-linux-x86_64 /usr/local/bin/docker-compose\n**# **\u8d4b\u6743**\n**chmod +x /usr/local/bin/docker-compose\n\n**# **\u9a8c\u8bc1\u5b89\u88c5\u6210\u529f**\n**docker-compose --version\n'})}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsx)(n.li,{children:"\u521b\u5efa\u6301\u4e45\u5316\u914d\u7f6e\u76ee\u5f55"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u521b\u5efa\u5b58\u653e\u914d\u7f6e\u7684\u76ee\u5f55\nmkdir -p /root/monitor\nmkdir -p /root/monitor/alertmanager\nmkdir -p /root/monitor/alertmanager/template\nmkdir -p /root/monitor/grafana\nmkdir -p /root/monitor/grafana/provisioning\nmkdir -p /root/monitor/grafana/provisioning/dashboards\nmkdir -p /root/monitor/grafana/provisioning/dashboards/tmp\nmkdir -p /root/monitor/grafana/provisioning/datasources\nmkdir -p /root/monitor/prometheus\nmkdir -p /root/monitor/prometheus/rules\n"})}),"\n",(0,r.jsx)(n.h2,{id:"\u4e8c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6",children:"\u4e8c\u3001\u521b\u5efa\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u914d\u7f6e\u6587\u4ef6\u4e2d\u5404\u4e3b\u673a\u540d\u3001\u4e3b\u673a IP \u4ee5\u53ca\u96c6\u7fa4\u4fe1\u606f\u6309\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff01"})}),"\n",(0,r.jsx)(n.h3,{id:"\u914d\u7f6e-grafana",children:"\u914d\u7f6e Grafana"}),"\n",(0,r.jsxs)(n.h4,{id:"\u7f16\u8f91-grafana-\u914d\u7f6e\u6587\u4ef6rootmonitorgrafanagrafanaini",children:["\u7f16\u8f91 grafana \u914d\u7f6e\u6587\u4ef6\uff1a",(0,r.jsx)(n.code,{children:"/root/monitor/grafana/grafana.ini"})]}),"\n",(0,r.jsxs)(n.p,{children:["\u6b64\u5904\u9700\u8981\u4fee\u6539 [server] \u4e0b\u7684 root_url\uff0c\u5c06 ",(0,r.jsx)(n.code,{children:"your_scow_mis_path"})," \u4fee\u6539\u4e3a scow \u7ba1\u7406\u7cfb\u7edf\u7684\u8def\u5f84"]}),"\n",(0,r.jsx)(n.p,{children:"\u6b64\u5904\u914d\u7f6e\u4e86 root_url \u548c allow_embedding\uff0c\u5c06\u5141\u8bb8 grafana \u901a\u8fc7 iframe \u88ab\u5d4c\u5165\u3002\u5e76\u901a\u8fc7 scow \u4ee3\u7406\uff0c\u5c06\u8bf7\u6c42\u8f6c\u53d1\u5230 grafana\u3002"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"[paths]\n# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)\ndata = /var/lib/grafana\n# folder that contains provisioning config files that grafana will apply on startup and while running.\nprovisioning = /etc/grafana/provisioning\n[auth.anonymous] \n# enable anonymous access\nenabled = true\n# specify role for unauthenticated users\norg_role = Viewer\n[server]\n# Root URL for specifying the Grafana instance\n# for example\n# root_url=http://localhost:5003/api/admin/monitor/getResourceStatus\nroot_url=[your_scow_mis_path]/api/admin/monitor/getResourceStatus\n[security]\n# Allows embedding Grafana dashboards into iframes in other websites\nallow_embedding = true\n"})}),"\n",(0,r.jsx)(n.h4,{id:"\u7f16\u8f91-grafana-\u9ed8\u8ba4\u6570\u636e\u6e90",children:"\u7f16\u8f91 grafana \u9ed8\u8ba4\u6570\u636e\u6e90"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/grafana/provisioning/datasources/prometheus.yaml"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"apiVersion: 1\ndatasources:\n - name: Prometheus\n type: prometheus\n orgId: 1\n access: proxy\n url: http://prometheus:9090\n editable: true\n isDefault: true\n jsonData:\n timeInterval: 5s\n"})}),"\n",(0,r.jsx)(n.h4,{id:"\u7f16\u8f91-grafana-mysql-\u6570\u636e\u6e90",children:"\u7f16\u8f91 grafana Mysql \u6570\u636e\u6e90"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/grafana/provisioning/datasources/mysql.yaml"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"apiVersion: 1\n\ndatasources:\n - name: AlarmDB-MySQL\n type: mysql\n url: alert-db:3306\n user: alertsnitch\n jsonData:\n database: alertsnitch\n maxOpenConns: 100 # Grafana v5.4+\n maxIdleConns: 100 # Grafana v5.4+\n maxIdleConnsAuto: true # Grafana v9.5.1+\n connMaxLifetime: 14400 # Grafana v5.4+\n secureJsonData:\n password: alertsnitch\n"})}),"\n",(0,r.jsx)(n.h4,{id:"\u7f16\u8f91-grafana-\u9762\u677f\u914d\u7f6e",children:"\u7f16\u8f91 grafana \u9762\u677f\u914d\u7f6e"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/grafana/provisioning/dashboards/dashboard.yaml"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"apiVersion: 1\nproviders:\n - name: 'default'\n orgId: 1\n folder: ''\n type: file\n disableDeletion: false\n updateIntervalSeconds: 10 #how often Grafana will scan for changed dashboards\n options:\n path: /etc/grafana/provisioning/dashboards/tmp\n"})}),"\n",(0,r.jsx)(n.h4,{id:"\u7f16\u8f91-grafana-\u9762\u677f\u6a21\u677f\u6587\u4ef6",children:"\u7f16\u8f91 grafana \u9762\u677f\u6a21\u677f\u6587\u4ef6"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/grafana/provisioning/dashboards/tmp/JobScheduler.json"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{\n "annotations": {\n "list": [\n {\n "builtIn": 1,\n "datasource": {\n "type": "datasource",\n "uid": "grafana"\n },\n "enable": true,\n "hide": true,\n "iconColor": "rgba(0, 211, 255, 1)",\n "name": "Annotations & Alerts",\n "type": "dashboard"\n }\n ]\n },\n "editable": true,\n "fiscalYearStartMonth": 0,\n "graphTooltip": 0,\n "links": [],\n "liveNow": false,\n "panels": [\n {\n "collapsed": false,\n "datasource": {\n "type": "prometheus"\n },\n "gridPos": {\n "h": 1,\n "w": 24,\n "x": 0,\n "y": 0\n },\n "id": 2,\n "panels": [],\n "targets": [\n {\n "datasource": {\n "type": "prometheus"\n },\n "refId": "A"\n }\n ],\n "title": "CPU Cores",\n "type": "row"\n },\n {\n "datasource": {\n "type": "prometheus"\n },\n "fieldConfig": {\n "defaults": {\n "color": {\n "mode": "palette-classic"\n },\n "custom": {\n "axisBorderShow": false,\n "axisCenteredZero": false,\n "axisColorMode": "text",\n "axisLabel": "",\n "axisPlacement": "auto",\n "barAlignment": 0,\n "drawStyle": "line",\n "fillOpacity": 10,\n "gradientMode": "none",\n "hideFrom": {\n "legend": false,\n "tooltip": false,\n "viz": false\n },\n "insertNulls": false,\n "lineInterpolation": "linear",\n "lineWidth": 1,\n "pointSize": 5,\n "scaleDistribution": {\n "type": "linear"\n },\n "showPoints": "never",\n "spanNulls": false,\n "stacking": {\n "group": "A",\n "mode": "none"\n },\n "thresholdsStyle": {\n "mode": "off"\n }\n },\n "mappings": [],\n "thresholds": {\n "mode": "absolute",\n "steps": [\n {\n "color": "green",\n "value": null\n },\n {\n "color": "red",\n "value": 80\n }\n ]\n },\n "unit": "short"\n },\n "overrides": []\n },\n "gridPos": {\n "h": 9,\n "w": 8,\n "x": 0,\n "y": 1\n },\n "id": 4,\n "options": {\n "legend": {\n "calcs": [\n "mean",\n "lastNotNull",\n "max",\n "min"\n ],\n "displayMode": "table",\n "placement": "bottom",\n "showLegend": true\n },\n "tooltip": {\n "mode": "multi",\n "sort": "none"\n }\n },\n "pluginVersion": "10.2.2",\n "repeat": "partition",\n "targets": [\n {\n "datasource": {\n "type": "prometheus"\n },\n "editorMode": "code",\n "expr": "slurm_partition_cpus_idle{clustername=\\"$cluster\\", partition=\\"$partition\\"}",\n "interval": "",\n "legendFormat": "available",\n "range": true,\n "refId": "A"\n },\n {\n "datasource": {\n "type": "prometheus"\n },\n "editorMode": "code",\n "expr": "slurm_partition_cpus_allocated{clustername=\\"$cluster\\", partition=\\"$partition\\"}",\n "interval": "",\n "legendFormat": "allocated",\n "range": true,\n "refId": "B"\n },\n {\n "datasource": {\n "type": "prometheus"\n },\n "editorMode": "code",\n "expr": "slurm_partition_cpus_other{clustername=\\"$cluster\\", partition=\\"$partition\\"}",\n "interval": "",\n "legendFormat": "unavailable",\n "range": true,\n "refId": "C"\n }\n ],\n "title": "${partition}",\n "type": "timeseries"\n },\n {\n "collapsed": true,\n "datasource": {\n "type": "prometheus"\n },\n "gridPos": {\n "h": 1,\n "w": 24,\n "x": 0,\n "y": 10\n },\n "id": 8,\n "panels": [],\n "targets": [\n {\n "datasource": {\n "type": "prometheus"\n },\n "refId": "A"\n }\n ],\n "title": "Job Count",\n "type": "row"\n },\n {\n "datasource": {\n "type": "prometheus"\n },\n "fieldConfig": {\n "defaults": {\n "color": {\n "mode": "palette-classic"\n },\n "custom": {\n "axisBorderShow": false,\n "axisCenteredZero": false,\n "axisColorMode": "text",\n "axisLabel": "",\n "axisPlacement": "auto",\n "barAlignment": 0,\n "drawStyle": "line",\n "fillOpacity": 10,\n "gradientMode": "none",\n "hideFrom": {\n "legend": false,\n "tooltip": false,\n "viz": false\n },\n "insertNulls": false,\n "lineInterpolation": "linear",\n "lineWidth": 1,\n "pointSize": 5,\n "scaleDistribution": {\n "type": "linear"\n },\n "showPoints": "never",\n "spanNulls": false,\n "stacking": {\n "group": "A",\n "mode": "none"\n },\n "thresholdsStyle": {\n "mode": "off"\n }\n },\n "mappings": [],\n "thresholds": {\n "mode": "absolute",\n "steps": [\n {\n "color": "green",\n "value": null\n },\n {\n "color": "red",\n "value": 80\n }\n ]\n },\n "unit": "short"\n },\n "overrides": []\n },\n "gridPos": {\n "h": 12,\n "w": 8,\n "x": 0,\n "y": 11\n },\n "id": 12,\n "options": {\n "legend": {\n "calcs": [\n "mean",\n "lastNotNull",\n "max",\n "min"\n ],\n "displayMode": "table",\n "placement": "bottom",\n "showLegend": true\n },\n "tooltip": {\n "mode": "multi",\n "sort": "none"\n }\n },\n "pluginVersion": "10.2.2",\n "repeat": "partition",\n "targets": [\n {\n "datasource": {\n "type": "prometheus"\n },\n "editorMode": "code",\n "expr": "slurm_partition_jobs_running{clustername=\\"$cluster\\", partition=\\"$partition\\"}",\n "interval": "",\n "legendFormat": "RUNNING",\n "range": true,\n "refId": "A"\n },\n {\n "datasource": {\n "type": "prometheus"\n },\n "editorMode": "code",\n "expr": "slurm_partition_jobs_pending{clustername=\\"$cluster\\", partition=\\"$partition\\"}",\n "interval": "",\n "legendFormat": "PENDING",\n "range": true,\n "refId": "B"\n },\n {\n "datasource": {\n "type": "prometheus"\n },\n "editorMode": "code",\n "expr": "slurm_partition_jobs_suspended{clustername=\\"$cluster\\", partition=\\"$partition\\"}",\n "interval": "",\n "legendFormat": "SUSPENDED",\n "range": true,\n "refId": "C"\n },\n {\n "datasource": {\n "type": "prometheus"\n },\n "editorMode": "code",\n "expr": "slurm_partition_jobs_completing{clustername=\\"$cluster\\", partition=\\"$partition\\"}",\n "interval": "",\n "legendFormat": "COMPLETING",\n "range": true,\n "refId": "D"\n }\n ],\n "title": "$partition",\n "type": "timeseries"\n }\n ],\n "refresh": "",\n "schemaVersion": 38,\n "tags": [],\n "templating": {\n "list": [\n {\n "current": {\n "selected": false,\n "text": "hpc01",\n "value": "hpc01"\n },\n "datasource": {\n "type": "prometheus"\n },\n "definition": "label_values(clustername)",\n "hide": 0,\n "includeAll": false,\n "label": "\u96c6\u7fa4",\n "multi": false,\n "name": "cluster",\n "options": [],\n "query": "label_values(clustername)",\n "refresh": 2,\n "regex": "",\n "skipUrlSync": false,\n "sort": 0,\n "tagValuesQuery": "",\n "tagsQuery": "",\n "type": "query",\n "useTags": false\n },\n {\n "current": {\n "selected": true,\n "text": [\n "All"\n ],\n "value": [\n "$__all"\n ]\n },\n "datasource": {\n "type": "prometheus"\n },\n "definition": "label_values(slurm_partition_cpus_total{clustername=\\"$cluster\\"}, partition)",\n "hide": 0,\n "includeAll": true,\n "label": "\u5206\u533a",\n "multi": true,\n "name": "partition",\n "options": [],\n "query": "label_values(slurm_partition_cpus_total{clustername=\\"$cluster\\"}, partition)",\n "refresh": 2,\n "regex": "",\n "skipUrlSync": false,\n "sort": 0,\n "tagValuesQuery": "",\n "tagsQuery": "",\n "type": "query",\n "useTags": false\n }\n ]\n },\n "time": {\n "from": "now-24h",\n "to": "now"\n },\n "timepicker": {\n "refresh_intervals": [\n "10s",\n "30s",\n "1m",\n "5m",\n "15m",\n "30m",\n "1h",\n "2h",\n "1d"\n ]\n },\n "timezone": "",\n "title": "Job Scheduler",\n "uid": "shZOtO4Sk",\n "version": 1,\n "weekStart": ""\n}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"\u914d\u7f6e-prometheus",children:"\u914d\u7f6e Prometheus"}),"\n",(0,r.jsx)(n.h4,{id:"\u914d\u7f6e-prometheus-\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e Prometheus \u914d\u7f6e\u6587\u4ef6"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/prometheus/prometheus.yml"})}),"\n",(0,r.jsx)(n.p,{children:"\u6ce8\u610f\uff1ascrape_configs \u4e0b slurm_exporter \u4e2d slurmctlIP \u9700\u8981\u66ff\u6362\u6210 slurm \u7ba1\u7406\u8282\u70b9\u5b9e\u9645\u7684 IP \u5730\u5740"}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c\u6709\u591a\u4e2a slurm \u7ba1\u7406\u8282\u70b9\u5219\u5728 ",(0,r.jsx)(n.code,{children:"scrape_configs"})," \u4e0b slurm_exporter \u4e2d\u7684 ",(0,r.jsx)(n.code,{children:"static_configs"})," \u91cc\u9762\u914d\u7f6e\u66f4\u591a\u3002"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"global:\n scrape_interval: 60s # Set the scrape interval to every 15 seconds. Default is every 1 minute.\n evaluation_interval: 60s # Evaluate rules every 15 seconds. The default is every 1 minute.\n\n# Alertmanager configuration\nalerting:\n alertmanagers:\n - static_configs:\n - targets: [\"alertmanager:9093\"]\n\n# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.\nrule_files:\n - \"rules/rules.yml\"\n\nscrape_configs:\n - job_name: 'slurm_exporter'\n scrape_interval: 30s\n scrape_timeout: 30s\n static_configs:\n - targets: ['[slurmctlIP]:9341']\n labels:\n appname: 'hpc01' #\u6dfb\u52a0\u7684\u6807\u7b7e\n clustername: 'hpc01' #\u6dfb\u52a0\u7684\u6807\u7b7e\n - job_name: 'prometheus'\n static_configs:\n - targets: [ 'prometheus:9090']\n labels:\n appname: 'prometheus'\n"})}),"\n",(0,r.jsx)(n.h4,{id:"\u914d\u7f6e-prometheus-\u544a\u8b66\u89c4\u5219",children:"\u914d\u7f6e Prometheus \u544a\u8b66\u89c4\u5219"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/prometheus/rules/rules.yml"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'# slurmAlert\ngroups:\n- name: slurmAlert\n rules:\n - alert: SlurmPartitionCPUUsage\n expr: (slurm_partition_cpus_total - slurm_partition_cpus_idle)/slurm_partition_cpus_total > 0.80\n for: 1m\n labels:\n severity: "Warning"\n annotations:\n summary: "SLURM partition CPU usgae high"\n description: "{{ $labels.clustername }} partition: {{ $labels.partition }} - CPU usage above 80% (current value: {{ $value }})"\n - alert: SlurmPendingJob\n expr: slurm_partition_jobs_pending >= 5\n for: 1m\n labels:\n severity: "Warning"\n annotations:\n summary: "Too many jobs queued"\n description: "{{ $labels.clustername }} partition: {{ $labels.partition }} - Too many jobs queued (current value: {{ $value }})"\n'})}),"\n",(0,r.jsx)(n.h3,{id:"\u914d\u7f6e-alertmanager",children:"\u914d\u7f6e Alertmanager"}),"\n",(0,r.jsx)(n.h4,{id:"\u914d\u7f6e-alertmanager-\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e Alertmanager \u914d\u7f6e\u6587\u4ef6"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/alertmanager/alertmanager.yml"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"global:\n smtp_smarthost: 'smtp.163.com:25'\n smtp_from: 'xxxxxxx@163.com'\n smtp_auth_username: 'xxxxxxx@163.com'\n smtp_auth_password: 'XXXXXXXXXXXXXXXX'\n smtp_require_tls: false\n\ntemplates:\n - '/etc/alertmanager/template/*.tmpl'\n\nroute:\n group_by: ['alertname','cluster','service']\n group_wait: 30s\n group_interval: 10s\n repeat_interval: 10m\n receiver: 'default-receiver'\n routes:\n - receiver: 'alertsnitch'\n continue: true\n\nreceivers:\n - name: 'default-receiver'\n email_configs:\n - to: 'xxxxxxx@qq.com'\n html: '{{ template \"email.default.html\" . }}'\n headers: { Subject: \"Prometheus \u544a\u8b66\u6d4b\u8bd5\u90ae\u4ef6\" }\n - name: 'alertsnitch'\n webhook_configs:\n - send_resolved: true\n http_config:\n follow_redirects: true\n url: http://alertsnitch:9567/webhook\n"})}),"\n",(0,r.jsx)(n.h4,{id:"\u914d\u7f6e-alertmanager-\u544a\u8b66\u6a21\u677f",children:"\u914d\u7f6e Alertmanager \u544a\u8b66\u6a21\u677f"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/alertmanager/template/default.tmpl"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'{{ define "__alertmanager" }}Alertmanager{{ end }}\n{{ define "__alertmanagerURL" }}{{ .ExternalURL }}/#/alerts?receiver={{ .Receiver | urlquery }}{{ end }}\n\n{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}\n{{ define "__description" }}{{ end }}\n\n{{ define "__text_alert_list" }}{{ range . }}Labels:\n{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}\n{{ end }}Annotations:\n{{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}\n{{ end }}Source: {{ .GeneratorURL }}\n{{ end }}{{ end }}\n\n{{ define "__text_alert_list_markdown" }}{{ range . }}\nLabels:\n{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}\n{{ end }}\nAnnotations:\n{{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}\n{{ end }}\nSource: {{ .GeneratorURL }}\n{{ end }}\n{{ end }}\n\n{{ define "slack.default.title" }}{{ template "__subject" . }}{{ end }}\n{{ define "slack.default.username" }}{{ template "__alertmanager" . }}{{ end }}\n{{ define "slack.default.fallback" }}{{ template "slack.default.title" . }} | {{ template "slack.default.titlelink" . }}{{ end }}\n{{ define "slack.default.callbackid" }}{{ end }}\n{{ define "slack.default.pretext" }}{{ end }}\n{{ define "slack.default.titlelink" }}{{ template "__alertmanagerURL" . }}{{ end }}\n{{ define "slack.default.iconemoji" }}{{ end }}\n{{ define "slack.default.iconurl" }}{{ end }}\n{{ define "slack.default.text" }}{{ end }}\n{{ define "slack.default.footer" }}{{ end }}\n\n\n{{ define "pagerduty.default.description" }}{{ template "__subject" . }}{{ end }}\n{{ define "pagerduty.default.client" }}{{ template "__alertmanager" . }}{{ end }}\n{{ define "pagerduty.default.clientURL" }}{{ template "__alertmanagerURL" . }}{{ end }}\n{{ define "pagerduty.default.instances" }}{{ template "__text_alert_list" . }}{{ end }}\n\n\n{{ define "opsgenie.default.message" }}{{ template "__subject" . }}{{ end }}\n{{ define "opsgenie.default.description" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}\n{{ if gt (len .Alerts.Firing) 0 -}}\nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{- end }}\n{{ if gt (len .Alerts.Resolved) 0 -}}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{- end }}\n{{- end }}\n{{ define "opsgenie.default.source" }}{{ template "__alertmanagerURL" . }}{{ end }}\n\n\n{{ define "wechat.default.message" }}{{ template "__subject" . }}\n{{ .CommonAnnotations.SortedPairs.Values | join " " }}\n{{ if gt (len .Alerts.Firing) 0 -}}\nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{- end }}\n{{ if gt (len .Alerts.Resolved) 0 -}}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{- end }} \nAlertmanagerUrl:\n{{ template "__alertmanagerURL" . }}\n{{- end }}\n{{ define "wechat.default.to_user" }}{{ end }}\n{{ define "wechat.default.to_party" }}{{ end }}\n{{ define "wechat.default.to_tag" }}{{ end }}\n{{ define "wechat.default.agent_id" }}{{ end }}\n\n\n\n{{ define "victorops.default.state_message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}\n{{ if gt (len .Alerts.Firing) 0 -}} \nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{- end }}\n{{ if gt (len .Alerts.Resolved) 0 -}}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{- end }}\n{{- end }}\n{{ define "victorops.default.entity_display_name" }}{{ template "__subject" . }}{{ end }}\n{{ define "victorops.default.monitoring_tool" }}{{ template "__alertmanager" . }}{{ end }}\n\n{{ define "pushover.default.title" }}{{ template "__subject" . }}{{ end }}\n{{ define "pushover.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}\n{{ if gt (len .Alerts.Firing) 0 }}\nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{ end }}\n{{ if gt (len .Alerts.Resolved) 0 }}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{ end }} \n{{ end }}\n{{ define "pushover.default.url" }}{{ template "__alertmanagerURL" . }}{{ end }}\n\n{{ define "sns.default.subject" }}{{ template "__subject" . }}{{ end }}\n{{ define "sns.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}\n{{ if gt (len .Alerts.Firing) 0 }}\nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{ end }}\n{{ if gt (len .Alerts.Resolved) 0 }}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{ end }}\n{{ end }}\n\n{{ define "telegram.default.message" }} \n{{ if gt (len .Alerts.Firing) 0 }}\nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{ end }}\n{{ if gt (len .Alerts.Resolved) 0 }}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{ end }}\n{{ end }}\n\n{{ define "discord.default.title" }}{{ template "__subject" . }}{{ end }}\n{{ define "discord.default.message" }}\n{{ if gt (len .Alerts.Firing) 0 }}\nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{ end }}\n{{ if gt (len .Alerts.Resolved) 0 }}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{ end }} \n{{ end }} \n\n{{ define "webex.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}\n{{ if gt (len .Alerts.Firing) 0 }}\nAlerts Firing:\n{{ template "__text_alert_list" .Alerts.Firing }}\n{{ end }}\n{{ if gt (len .Alerts.Resolved) 0 }}\nAlerts Resolved:\n{{ template "__text_alert_list" .Alerts.Resolved }}\n{{ end }} \n{{ end }}\n\n{{ define "msteams.default.title" }}{{ template "__subject" . }}{{ end }}\n{{ define "msteams.default.text" }}\n{{ if gt (len .Alerts.Firing) 0 }}\n# Alerts Firing:\n{{ template "__text_alert_list_markdown" .Alerts.Firing }}\n{{ end }}\n{{ if gt (len .Alerts.Resolved) 0 }}\n# Alerts Resolved:\n{{ template "__text_alert_list_markdown" .Alerts.Resolved }}\n{{ end }}\n{{ end }}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"\u4e09\u542f\u52a8\u670d\u52a1",children:"\u4e09\u3001\u542f\u52a8\u670d\u52a1"}),"\n",(0,r.jsx)(n.h3,{id:"\u7f16\u8f91\u96c6\u7fa4\u76d1\u63a7\u7684-docker-compose-\u914d\u7f6e\u6587\u4ef6",children:"\u7f16\u8f91\u96c6\u7fa4\u76d1\u63a7\u7684 docker compose \u914d\u7f6e\u6587\u4ef6"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"/root/monitor/monitor.yaml"})}),"\n",(0,r.jsxs)(n.p,{children:["\u5982\u679c\u9700\u8981\u4fee\u6539 ",(0,r.jsx)(n.code,{children:"alert-db"})," \u5bc6\u7801\uff0c\u5219\u5728\u5bf9\u5e94\u5bb9\u5668\u914d\u7f6e\u4e0b\u4fee\u6539\u5373\u53ef\u3002\u5982\u679c\u4fee\u6539 mysql \u7528\u6237 ",(0,r.jsx)(n.code,{children:"alertsnitch"})," \u7684\u5bc6\u7801\uff0c\u9700\u8981\u5728\u914d\u7f6e grafana \u7684 mysql \u6570\u636e\u6e90\u5904\u540c\u6b65\u4fee\u6539\u5bc6\u7801"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'version: "3.1"\nservices:\n grafana:\n container_name: grafana\n image: grafana/grafana:10.2.2\n user: root\n ports:\n - "4000:3000"\n volumes:\n - /root/monitor/grafana:/etc/grafana\n - grafana_data:/var/lib/grafana\n restart: unless-stopped\n prometheus:\n container_name: prometheus\n image: prom/prometheus\n user: root\n ports:\n - "9090:9090"\n volumes:\n - /root/monitor/prometheus:/etc/prometheus\n - prometheus_data:/prometheus\n restart: unless-stopped\n alertmanager:\n container_name: alertmanager\n image: prom/alertmanager\n user: root\n ports:\n - 9093:9093\n volumes:\n - /root/monitor/alertmanager:/etc/alertmanager\n - alertmanager_data:/alertmanager\n command:\n - "--config.file=/etc/alertmanager/alertmanager.yml"\n - "--storage.path=/alertmanager"\n restart: unless-stopped\n alert-db:\n container_name: alert-db\n image: mysql:5.7\n command: --default-authentication-plugin=mysql_native_password\n environment:\n MYSQL_DATABASE: alertsnitch\n MYSQL_USER: "alertsnitch"\n MYSQL_PASSWORD: "alertsnitch"\n MYSQL_ROOT_PASSWORD: "root"\n volumes:\n - alert_db_data:/var/lib/mysql\n restart: unless-stopped\n alertsnitch:\n container_name: alertsnitch\n image: registry.gitlab.com/yakshaving.art/alertsnitch\n ports:\n - 9567:9567\n environment:\n ALERTSNITCH_BACKEND: "mysql"\n ALERTSNITCH_DSN: "alertsnitch:alertsnitch@tcp(alert-db)/alertsnitch"\n restart: unless-stopped\n depends_on:\n - alert-db\nvolumes:\n prometheus_data: {}\n grafana_data: {}\n alertmanager_data: {}\n alert_db_data: {}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"\u542f\u52a8\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1\u76f8\u5173\u5bb9\u5668",children:"\u542f\u52a8\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1\u76f8\u5173\u5bb9\u5668"}),"\n",(0,r.jsx)(n.p,{children:"\u542f\u52a8\u540e alertsnitch \u5bb9\u5668\u4f1a\u4e0d\u65ad\u91cd\u542f\uff0c\u9700\u8981\u5b8c\u6210\u521d\u59cb\u5316 alert-db \u6b65\u9aa4\u540e\u518d\u91cd\u542f\u6574\u4e2a\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"cd /root/monitor\ndocker-compose -f monitor.yaml up -d\n"})}),"\n",(0,r.jsx)(n.h3,{id:"\u521d\u59cb\u5316-alert-db",children:"\u521d\u59cb\u5316 alert-db"}),"\n",(0,r.jsxs)(n.h4,{id:"\u7f16\u8f91-rootmonitorbootstrapsql",children:["\u7f16\u8f91 ",(0,r.jsx)(n.code,{children:"/root/monitor/bootstrap.sql"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sql",children:"DROP PROCEDURE IF EXISTS bootstrap;\n\nDELIMITER //\nCREATE PROCEDURE bootstrap()\nBEGIN\n SET @exists := (SELECT 1 FROM information_schema.tables I WHERE I.table_name = \"Model\" AND I.table_schema = database());\n IF @exists IS NULL THEN\n\n CREATE TABLE `Model` (\n `ID` enum('1') NOT NULL,\n `version` VARCHAR(20) NOT NULL,\n PRIMARY KEY (`ID`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\n INSERT INTO `Model` (`version`) VALUES (\"0.0.1\");\n\n ELSE\n SIGNAL SQLSTATE '42000' SET MESSAGE_TEXT='Model Table Exists, quitting...';\n END IF;\nEND;\n//\nDELIMITER ;\n\n-- Execute the procedure\nCALL bootstrap();\n\n-- Drop the procedure\nDROP PROCEDURE bootstrap;\n\n-- Create the rest of the tables\nCREATE TABLE `AlertGroup` (\n `ID` INT NOT NULL AUTO_INCREMENT,\n `time` TIMESTAMP NOT NULL,\n `receiver` VARCHAR(100) NOT NULL,\n `status` VARCHAR(50) NOT NULL,\n `externalURL` TEXT NOT NULL,\n `groupKey` VARCHAR(255) NOT NULL,\n KEY `idx_time` (`time`) USING BTREE,\n KEY `idx_status_ts` (`status`, `time`) USING BTREE,\n PRIMARY KEY (`ID`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\nCREATE TABLE `GroupLabel` (\n `ID` INT NOT NULL AUTO_INCREMENT,\n `AlertGroupID` INT NOT NULL,\n `GroupLabel` VARCHAR(100) NOT NULL,\n `Value` VARCHAR(1000) NOT NULL,\n FOREIGN KEY (AlertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,\n PRIMARY KEY (`ID`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\nCREATE TABLE `CommonLabel` (\n `ID` INT NOT NULL AUTO_INCREMENT,\n `AlertGroupID` INT NOT NULL,\n `Label` VARCHAR(100) NOT NULL,\n `Value` VARCHAR(1000) NOT NULL,\n FOREIGN KEY (AlertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,\n PRIMARY KEY (`ID`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\nCREATE TABLE `CommonAnnotation` (\n `ID` INT NOT NULL AUTO_INCREMENT,\n `AlertGroupID` INT NOT NULL,\n `Annotation` VARCHAR(100) NOT NULL,\n `Value` VARCHAR(1000) NOT NULL,\n FOREIGN KEY (AlertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,\n PRIMARY KEY (`ID`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\nCREATE TABLE `Alert` (\n `ID` INT NOT NULL AUTO_INCREMENT,\n `alertGroupID` INT NOT NULL,\n `status` VARCHAR(50) NOT NULL,\n `startsAt` DATETIME NOT NULL,\n `endsAt` DATETIME DEFAULT NULL,\n `generatorURL` TEXT NOT NULL,\n FOREIGN KEY (alertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,\n PRIMARY KEY (`ID`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\nCREATE TABLE `AlertLabel` (\n `ID` INT NOT NULL AUTO_INCREMENT,\n `AlertID` INT NOT NULL,\n `Label` VARCHAR(100) NOT NULL,\n `Value` VARCHAR(1000) NOT NULL,\n FOREIGN KEY (AlertID) REFERENCES Alert (ID) ON DELETE CASCADE,\n PRIMARY KEY (`ID`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\nCREATE TABLE `AlertAnnotation` (\n `ID` INT NOT NULL AUTO_INCREMENT,\n `AlertID` INT NOT NULL,\n `Annotation` VARCHAR(100) NOT NULL,\n `Value` VARCHAR(1000) NOT NULL,\n FOREIGN KEY (AlertID) REFERENCES Alert (ID) ON DELETE CASCADE,\n PRIMARY KEY (`ID`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n"})}),"\n",(0,r.jsxs)(n.h4,{id:"\u7f16\u8f91-rootmonitorfingerprintsql",children:["\u7f16\u8f91 ",(0,r.jsx)(n.code,{children:"/root/monitor/fingerprint.sql"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sql",children:'# db.d/mysql/0.1.0-fingerprint.sql\nALTER TABLE Alert\n ADD `fingerprint` TEXT NOT NULL;\n\nUPDATE `Model` SET `version`="0.1.0";\n'})}),"\n",(0,r.jsx)(n.h4,{id:"\u521d\u59cb\u5316",children:"\u521d\u59cb\u5316"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u5c06\u4e0a\u4e24\u6b65\u7684 sql \u6587\u4ef6\u5206\u522b\u62f7\u8d1d\u5230 alert-db \u5bb9\u5668\n# container_id \u901a\u8fc7\u67e5\u8be2 alert-db \u5bb9\u5668 id \u83b7\u53d6\ndocker cp /root/monitor/bootstrap.sql container_id:/root\ndocker cp /root/monitor/fingerprint.sql container_id:/root\n\n# \u8fdb\u5165\u5bb9\u5668\ndocker exec -it container_id /bin/sh\n\n# \u8fdb\u5165\u5bb9\u5668\u540e\ncd /root\n# \u4f7f\u7528root\u767b\u5f55\u6570\u636e\u5e93\uff0c\u5bc6\u7801\u662froot\nmysql -uroot -p\n\n\u5207\u5230alertsnitch\u6570\u636e\u5e93\nuse alertsnitch\n\n\u6267\u884csql\u6587\u4ef6\nsource bootstrap.sql\nsource fingerprint.sql\n"})}),"\n",(0,r.jsx)(n.h3,{id:"\u91cd\u542f\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1",children:"\u91cd\u542f\u96c6\u7fa4\u76d1\u63a7\u670d\u52a1"}),"\n",(0,r.jsx)(n.p,{children:"\u9000\u51fa alert-db \u5bb9\u5668\uff0c\u7136\u540e\u91cd\u542f\u670d\u52a1"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"docker-compose -f monitor.yaml restart\n# \u68c0\u67e5\u670d\u52a1\u662f\u5426\u542f\u52a8\u6210\u529f\ndocker ps\n"})}),"\n",(0,r.jsx)(n.h2,{id:"\u56db\u542f\u52a8-exporter-\u670d\u52a1",children:"\u56db\u3001\u542f\u52a8 exporter \u670d\u52a1"}),"\n",(0,r.jsx)(n.p,{children:"\u4ee5\u4e0b\u64cd\u4f5c\u5747\u5728 slurm \u7ba1\u7406\u8282\u70b9\u4e0a\u8fdb\u884c"}),"\n",(0,r.jsx)(n.h3,{id:"\u5b89\u88c5-golang",children:"\u5b89\u88c5 golang"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u4e0b\u8f7dgo\u8bed\u8a00\u5b89\u88c5\u5305\uff0c\u5b89\u88c5gocd download/\nwget https://golang.google.cn/dl/go1.19.7.linux-amd64.tar.gz\ntar -C /usr/local -xzf go1.19.7.linux-amd64.tar.gz\n\n# \u5728/etc/profile\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\nexport GOROOT=/usr/local/go\nexport GOPATH=/usr/local/gopath\nexport PATH=$PATH:/$GOROOT/bin:$GOPATH/bin\n\n# source\u73af\u5883\u53d8\u91cf\nsource /etc/profile\n\n# \u9a8c\u8bc1\ngo version\n\n# \u8bbe\u7f6e\u4ee3\u7406\ngo env -w GOPROXY=https://goproxy.cn,direct\n\n# \u5f00\u542fgo mod\u7ba1\u7406\ngo env -w GO111MODULE=on\n"})}),"\n",(0,r.jsx)(n.h3,{id:"\u7f16\u8bd1\u5b89\u88c5-exporter",children:"\u7f16\u8bd1\u5b89\u88c5 exporter"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# \u4e0b\u8f7d\u4ee3\u7801\ngit clone https://github.com/PKUHPC/prometheus-slurm-exporter.git\ncd prometheus-slurm-exporter\n// \u7f16\u8bd1\nmake\n# \u5b89\u88c5\ncp bin/prometheus-slurm-exporter /usr/bin/prometheus-slurm-exporter\ncp lib/systemd/prometheus-slurm-exporter.service /usr/lib/systemd/system\n# \u542f\u52a8exporter\u670d\u52a1\nsystemctl start prometheus-slurm-exporter.service\n# \u67e5\u770b\u670d\u52a1\u72b6\u6001\nsystemctl status prometheus-slurm-exporter.service\n# \u542f\u7528\u5f00\u673a\u542f\u52a8exporter\u670d\u52a1\nsystemctl enable prometheus-slurm-exporter.service\n"})}),"\n",(0,r.jsx)(n.h2,{id:"\u4e94scow-\u914d\u7f6e\u5f00\u542f\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd",children:"\u4e94\u3001SCOW \u914d\u7f6e\u5f00\u542f\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd"}),"\n",(0,r.jsxs)(n.p,{children:["\u5728 ",(0,r.jsx)(n.code,{children:"mis.yaml"})," \u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u914d\u7f6e\u3002"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",children:'# \u96c6\u7fa4\u76d1\u63a7\u914d\u7f6e\nclusterMonitor:\n # \u534f\u8bae + ip/\u57df\u540d + \u7aef\u53e3\uff0c\u9ed8\u8ba4\u4e3a http://127.0.0.1:4000\n grafanaUrl: "[your-grafana-url]"\n # \u8d44\u6e90\u72b6\u6001\u76f8\u5173\u914d\u7f6e\n resourceStatus:\n # \u662f\u5426\u5f00\u542f\u8d44\u6e90\u72b6\u6001\uff0c\u9ed8\u8ba4\u4e0d\u5f00\u542f\n enabled: true\n # \u662f\u5426\u4f7f\u7528\u4ee3\u7406\u7684\u65b9\u5f0f\n proxy: true\n # \u9ed8\u8ba4\u9762\u677f id,\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a shZOtO4Sk\n dashboardUid: "shZOtO4Sk"\n # \u544a\u8b66\u65e5\u5fd7\u914d\u7f6e\n alarmLogs:\n # \u662f\u5426\u5f00\u542f\u544a\u8b66\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u4e0d\u5f00\u542f\n enabled: true\n'})})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},60855:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/alarmLog-4de6d965a6fb8d85697f231116ae54c5.png"},57834:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/resourceStatus-08081b8fb398cc77dbba5e390cf42e69.png"},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var r=t(48318);const a={},l=r.createContext(a);function s(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e2e031cd.b41f87fe.js b/pr-preview/pr-1298/assets/js/e2e031cd.b41f87fe.js deleted file mode 100644 index 1186bc9568..0000000000 --- a/pr-preview/pr-1298/assets/js/e2e031cd.b41f87fe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9020],{51783:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>d,toc:()=>a});var t=n(49214),c=n(5409);const r={sidebar_label:"\u6570\u636e\u76d8\u6302\u8f7d",title:"\u6570\u636e\u76d8\u6302\u8f7d",sidebar_position:6},i=void 0,d={id:"hpccluster/mount-disk",title:"\u6570\u636e\u76d8\u6302\u8f7d",description:"\u5047\u8bbe\u5f85\u6302\u8f7d\u76d8\u7b26\u4e3a/dev/sdb\uff0c\u6302\u8f7d\u76ee\u5f55\u4e3a/data",source:"@site/docs/hpccluster/mount-disk.md",sourceDirName:"hpccluster",slug:"/hpccluster/mount-disk",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/mount-disk.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_label:"\u6570\u636e\u76d8\u6302\u8f7d",title:"\u6570\u636e\u76d8\u6302\u8f7d",sidebar_position:6},sidebar:"hpccluster",previous:{title:"slurm\u96c6\u7fa4\u90e8\u7f72",permalink:"/SCOW/pr-preview/pr-1298/docs/slurm"},next:{title:"LDAP\u65b0\u5efa\u7528\u6237",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user"}},o={},a=[];function l(e){const s={blockquote:"blockquote",code:"code",img:"img",p:"p",pre:"pre",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsxs)(s.p,{children:["\u5047\u8bbe\u5f85\u6302\u8f7d\u76d8\u7b26\u4e3a",(0,t.jsx)(s.code,{children:"/dev/sdb"}),"\uff0c\u6302\u8f7d\u76ee\u5f55\u4e3a",(0,t.jsx)(s.code,{children:"/data"})]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"\u67e5\u770b\u51c6\u5907\u7684\u78c1\u76d8\uff1a"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{children:"fdisk -l\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"img",src:n(12964).A+"",width:"1048",height:"738"})}),"\n",(0,t.jsx)(s.p,{children:"\u521b\u5efa\u78c1\u76d8\u5206\u533a\uff1a"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"fdisk /dev/sdb"})," \uff0c\u4f9d\u6b21\u8f93\u5165\uff1an, p, 1, \u4e24\u6b21\u56de\u8f66, wq"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"img",src:n(98239).A+"",width:"914",height:"581"})}),"\n",(0,t.jsx)(s.p,{children:"\u683c\u5f0f\u5316\u78c1\u76d8\uff1a"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.code,{children:"mkfs.ext4 /dev/sdb"}),"\uff0c\u8f93\u5165\uff1ay"]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"img",src:n(44438).A+"",width:"767",height:"543"})}),"\n",(0,t.jsx)(s.p,{children:"\u6302\u8f7d\u78c1\u76d8\uff1a"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-PowerShell",children:"# 1. \u5efa\u7acb\u6302\u8f7d\u76ee\u5f55\n mkdir -p /data\n\n# 2. \u6302\u8f7d\u786c\u76d8\n mount /dev/sdb /data\n\n# 3. \u8bbe\u7f6e\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\nvim /etc/fstab\n# \u5728\u6587\u6863\u672b\u5c3e\u6dfb\u52a0\n/dev/sdb /data ext4 defaults 0 0 \n\n# 4. \u91cd\u542f\u751f\u6548\nreboot\n"})})]})}function p(e={}){const{wrapper:s}={...(0,c.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},12964:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/-8-1-98f4acb6a06731634dd622623661ef0a.png"},98239:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/-8-2-98386af57ed61941286eb62f36f7a00c.png"},44438:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/-8-3-59eb28c9faf44c4ac944c9a2a489be3b.png"},5409:(e,s,n)=>{n.d(s,{R:()=>i,x:()=>d});var t=n(48318);const c={},r=t.createContext(c);function i(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e44fec9a.d1706c63.js b/pr-preview/pr-1298/assets/js/e44fec9a.d1706c63.js deleted file mode 100644 index 1e5e1c9f7a..0000000000 --- a/pr-preview/pr-1298/assets/js/e44fec9a.d1706c63.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1640],{14445:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>i,default:()=>a,frontMatter:()=>d,metadata:()=>o,toc:()=>l});var t=s(49214),c=s(5409);const d={sidebar_position:6,title:"\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5"},i="\u81ea\u5b9a\u4e49\u5bfc\u822a\u680f\u53f3\u4fa7\u7684\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5",o={id:"deploy/config/customization/custom-userlinks",title:"\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5",description:"\u60a8\u53ef\u4ee5\u5728\u95e8\u6237\u548c\u7ba1\u7406\u7cfb\u7edf\u5bfc\u822a\u680f\u53f3\u4fa7\u7684\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u4e2d\u589e\u52a0\u94fe\u63a5\uff0c\u70b9\u51fb\u8fd9\u4e9b\u94fe\u63a5\u4f1a\u8df3\u8f6c\u5230\u60a8\u6307\u5b9a\u7684URL\u3002",source:"@site/docs/deploy/config/customization/custom-userlinks.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/custom-userlinks",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/custom-userlinks.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5"},sidebar:"deploy",previous:{title:"\u901a\u8fc7\u4ee3\u7801\u81ea\u5b9a\u4e49\u6536\u8d39\u89c4\u5219",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies"},next:{title:"\u7528\u6237\u5bc6\u7801\u6b63\u5219\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern"}},r={},l=[{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:2},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:2},{value:"\u914d\u7f6e\u89e3\u91ca",id:"\u914d\u7f6e\u89e3\u91ca",level:2}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u680f\u53f3\u4fa7\u7684\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5",children:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u680f\u53f3\u4fa7\u7684\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u94fe\u63a5"}),"\n",(0,t.jsx)(n.p,{children:"\u60a8\u53ef\u4ee5\u5728\u95e8\u6237\u548c\u7ba1\u7406\u7cfb\u7edf\u5bfc\u822a\u680f\u53f3\u4fa7\u7684\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u4e2d\u589e\u52a0\u94fe\u63a5\uff0c\u70b9\u51fb\u8fd9\u4e9b\u94fe\u63a5\u4f1a\u8df3\u8f6c\u5230\u60a8\u6307\u5b9a\u7684URL\u3002"}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["\u5f53\u60a8\u70b9\u51fb\u83dc\u5355\u94fe\u63a5\u65f6\uff0c\u6211\u4eec\u4f1a\u5728\u5f53\u524d\u94fe\u63a5\u540e\u9762\u52a0\u5165\u67e5\u8be2\u53c2\u6570",(0,t.jsx)(n.code,{children:"?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7token\u67e5\u8be2\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u3002"]})}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e",children:"\u914d\u7f6e"}),"\n",(0,t.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u5728",(0,t.jsx)(n.code,{children:"config/common.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e\uff0c\u60a8\u8bbe\u7f6e\u7684\u914d\u7f6e\u5c06\u4f1a\u5728\u95e8\u6237\u7cfb\u7edf\u548c\u7ba1\u7406\u7cfb\u7edf\u540c\u65f6\u751f\u6548\u3002"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yaml"',children:'# \u5728\u5bfc\u822a\u680f\u53f3\u4fa7\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u4e2d\u589e\u52a0\u94fe\u63a5\u76f8\u5173\u914d\u7f6e\nuserLinks:\n # \u94fe\u63a5\u540d\u79f0\uff0c\u5fc5\u586b\n - text: ""\n # \u94fe\u63a5\u5730\u5740\uff0c\u5fc5\u586b\n url: ""\n # \u662f\u5426\u6253\u5f00\u65b0\u7684\u9875\u9762\uff0c\u53ef\u9009\u586b\uff0c\u9ed8\u8ba4\u503c\u4e3afalse\n # openInNewPage: true\n'})}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u793a\u4f8b",children:"\u914d\u7f6e\u793a\u4f8b"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yaml"',children:'userLinks:\n # \u94fe\u63a5\u540d\u79f0\uff0c\u5fc5\u586b\n - text: "\u767e\u5ea6\u641c\u7d22"\n # \u94fe\u63a5\u5730\u5740\uff0c\u5fc5\u586b\n url: "https://www.baidu.com"\n # \u662f\u5426\u6253\u5f00\u65b0\u7684\u9875\u9762\uff0c\u53ef\u9009\u586b\uff0c\u9ed8\u8ba4\u503c\u4e3afalse\n openInNewPage: true\n'})}),"\n",(0,t.jsx)(n.p,{children:"\u7528\u6237\u53ef\u4ee5\u9605\u89c8\u5230\u7684\u81ea\u5b9a\u4e49\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u914d\u7f6e\u793a\u4f8b\u5982\u4e0b\uff1a"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"\u81ea\u5b9a\u4e49\u83dc\u5355\u914d\u7f6e\u793a\u4f8b",src:s(73588).A+"",width:"547",height:"226"})}),"\n",(0,t.jsx)(n.h2,{id:"\u914d\u7f6e\u89e3\u91ca",children:"\u914d\u7f6e\u89e3\u91ca"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"\u5c5e\u6027"}),(0,t.jsx)(n.th,{children:"\u7c7b\u578b"}),(0,t.jsx)(n.th,{children:"\u5e94\u7528\u7cfb\u7edf"}),(0,t.jsx)(n.th,{children:"\u662f\u5426\u5fc5\u586b"}),(0,t.jsx)(n.th,{children:"\u89e3\u91ca"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"navLinks"})}),(0,t.jsx)(n.td,{children:"/"}),(0,t.jsx)(n.td,{children:"/"}),(0,t.jsx)(n.td,{children:"/"}),(0,t.jsx)(n.td,{children:"/"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"text"})}),(0,t.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"portal"}),"\uff0c",(0,t.jsx)(n.code,{children:"mis"})]}),(0,t.jsx)(n.td,{children:"\u662f"}),(0,t.jsx)(n.td,{children:"\u94fe\u63a5\u540d\u79f0\uff0cSCOW\u7528\u6237\u4e0b\u62c9\u83dc\u5355\u4e0a\u663e\u793a\u7684\u540d\u79f0"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"url"})}),(0,t.jsx)(n.td,{children:"\u5b57\u7b26\u4e32"}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"portal"}),"\uff0c",(0,t.jsx)(n.code,{children:"mis"})]}),(0,t.jsx)(n.td,{children:"\u662f"}),(0,t.jsxs)(n.td,{children:["\u81ea\u5b9a\u4e49\u94fe\u63a5\u5730\u5740\uff0c\u8df3\u8f6c\u65f6\u4f1a\u5728\u540e\u9762\u52a0\u5165\u67e5\u8be2\u53c2\u6570",(0,t.jsx)(n.code,{children:"?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u3002"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"openInNewPage"})}),(0,t.jsx)(n.td,{children:"\u5e03\u5c14\u7c7b\u578b"}),(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"portal"}),"\uff0c",(0,t.jsx)(n.code,{children:"mis"})]}),(0,t.jsx)(n.td,{children:"\u5426"}),(0,t.jsxs)(n.td,{children:["\u53ef\u4ee5\u9009\u586b\u3002\u5982\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u503c\u4e3a",(0,t.jsx)(n.code,{children:"false"}),"\uff0c\u4e0d\u6253\u5f00\u65b0\u7684\u9875\u9762\u3002\u5982\u679c\u8bbe\u7f6e\u4e3a",(0,t.jsx)(n.code,{children:"true"}),"\uff0c\u5219\u4f1a\u5728\u65b0\u7684\u9875\u9762\u6253\u5f00\u8be5\u94fe\u63a5\u3002"]})]})]})]}),"\n",(0,t.jsxs)(n.admonition,{type:"note",children:[(0,t.jsxs)(n.p,{children:["\u5173\u4e8e\u94fe\u63a5\u5730\u5740",(0,t.jsx)(n.code,{children:"url"}),"\u7684\u8df3\u8f6c\uff0c\u4e0e",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks",children:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5\u4e00\u81f4"}),"\uff0c\u4e0e",(0,t.jsx)(n.code,{children:"HTML"}),"\u6807\u7b7e\u7684\u9ed8\u8ba4\u884c\u4e3a\u4e00\u81f4\uff0c\u4ee5",(0,t.jsx)(n.code,{children:"http://"}),"\u5f00\u5934\u7684",(0,t.jsx)(n.code,{children:"url"}),"\u4f1a\u81ea\u52a8\u88ab\u8bc6\u522b\u4e3a\u5916\u90e8\u8def\u5f84\u3002\u70b9\u51fb\u8be5\u83dc\u5355\u680f\u65f6\uff0c\u4f1a\u6309\u7167\u4e0e",(0,t.jsx)(n.code,{children:"url"}),"\u4e2d\u586b\u5199\u7684\u5b8c\u5168\u4e00\u81f4\u7684\u8def\u5f84\u8fdb\u884c\u8df3\u8f6c\u3002"]}),(0,t.jsxs)(n.p,{children:["\u5982\u679c",(0,t.jsx)(n.code,{children:"url"}),"\u4e2d\u914d\u7f6e\u7684\u94fe\u63a5\u5730\u5740\u662f\u4ee5",(0,t.jsx)(n.code,{children:"/"}),"\u5f00\u5934\uff0c\u6216\u8005\u6ca1\u6709\u4ee5",(0,t.jsx)(n.code,{children:"http://"}),"\u5f00\u5934\uff0c\u5219\u4f1a\u88ab\u7cfb\u7edf\u8bc6\u522b\u4e3a\u5185\u90e8\u8def\u5f84\u3002\u8fd9\u65f6\u70b9\u51fb\u8be5\u83dc\u5355\u680f\u8df3\u8f6c\u65f6\uff0c\u5c06\u6839\u636e\u5df2\u914d\u7f6e\u7684",(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath",children:"\u81ea\u5b9a\u4e49\u76f8\u5bf9\u8def\u5f84"}),"\u81ea\u52a8\u6dfb\u52a0\u76f8\u5bf9\u8def\u5f84\u524d\u7f00\u3002"]}),(0,t.jsx)(n.p,{children:"\u793a\u4f8b\uff1a"}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",metastring:'title="config/common.yaml"',children:' userLinks:\n - text: "\u83dc\u53551"\n url: "http://www.navtest1.com"\n - text: "\u83dc\u53552"\n url: "www.navtest2.com"\n - text: "\u83dc\u53553"\n url: "/www.navtest3.com"\n'})}),(0,t.jsxs)(n.p,{children:["\u5047\u8bbe\u6211\u4eec\u7684\u7cfb\u7edf\u90e8\u7f72\u5728",(0,t.jsx)(n.code,{children:"https://scowtest.com"}),"\u4e0b,\u7ba1\u7406\u5458\u914d\u7f6e\u7684\u76f8\u5bf9\u8def\u5f84\u4e3a",(0,t.jsx)(n.code,{children:"/scow"}),"\u3002"]}),(0,t.jsxs)(n.p,{children:["\u90a3\u4e48\u6309\u7167\u4e0a\u8ff0\u81ea\u5b9a\u4e49\u83dc\u5355\u914d\u7f6e\u793a\u4f8b\uff0c\u70b9\u51fb",(0,t.jsx)(n.code,{children:"\u83dc\u53551"}),"\u65f6\uff0c\u4f1a\u94fe\u63a5",(0,t.jsx)(n.code,{children:"http://www.navtest1.com?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u8fdb\u884c\u8df3\u8f6c\u3002"]}),(0,t.jsxs)(n.p,{children:["\u70b9\u51fb",(0,t.jsx)(n.code,{children:"\u83dc\u53552"}),"\u65f6\uff0c",(0,t.jsx)(n.code,{children:"url"}),"\u4f1a\u88ab\u8bc6\u522b\u4e3a\u5185\u90e8\u8def\u5f84\uff0c\u5c06\u4f1a\u62fc\u63a5\u76f8\u5bf9\u8def\u5f84\u524d\u7f00\u548c",(0,t.jsx)(n.code,{children:"/"}),"\uff0c\u6309\u7167",(0,t.jsx)(n.code,{children:"https://scowtest.com/scow/www.navtest2.com?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u8fdb\u884c\u8df3\u8f6c\u3002"]}),(0,t.jsxs)(n.p,{children:["\u70b9\u51fb",(0,t.jsx)(n.code,{children:"\u83dc\u53553"}),"\u65f6\uff0c",(0,t.jsx)(n.code,{children:"url"}),"\u540c\u6837\u4f1a\u88ab\u8bc6\u522b\u4e3a\u5185\u90e8\u8def\u5f84\uff0c\u5c06\u4f1a\u62fc\u63a5\u76f8\u5bf9\u8def\u5f84\u524d\u7f00\uff0c\u6309\u7167",(0,t.jsx)(n.code,{children:"https://scowtest.com/scow/www.navtest3.com?token={\u7528\u6765\u8ddf\u8e2a\u767b\u5f55\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u8fdb\u884c\u8df3\u8f6c\u3002"]})]})]})}function a(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},73588:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/custom-user-link-549d80b3d0a0adad51dcb5ead74969ee.png"},5409:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>o});var t=s(48318);const c={},d=t.createContext(c);function i(e){const n=t.useContext(d);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),t.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e53995c8.32ce1e02.js b/pr-preview/pr-1298/assets/js/e53995c8.32ce1e02.js deleted file mode 100644 index dac3b75eef..0000000000 --- a/pr-preview/pr-1298/assets/js/e53995c8.32ce1e02.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9410],{93806:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>a,frontMatter:()=>t,metadata:()=>r,toc:()=>p});var s=o(49214),c=o(5409);const t={slug:"update-to-python-deployment",title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",authors:["huangjun"],tags:["scow","scow-deployment"]},l=void 0,r={permalink:"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2022-10-22-update-deployment.md",source:"@site/blog/2022-10-22-update-deployment.md",title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",description:"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0cPKUHPC/scow-deployment\u9879\u76ee\u662f\u7eaf\u901a\u8fc7Docker Compose\u5b9e\u73b0\u7684\uff0c\u4e3b\u8981\u7528\u5230\u4e86Docker Compose\u5185\u7f6e\u7684profile\u529f\u80fd\u3001\u8bfb\u53d6\u73af\u5883\u53d8\u91cf\u4ee5\u53ca\u53d8\u91cf\u66ff\u6362\u529f\u80fd\u6765\u5b9e\u73b0\u7c7b\u4f3c\u4e0d\u540c\u914d\u7f6e\u3002\u4f46\u662fDocker Compose\u7684\u8fd9\u4e9b\u529f\u80fd\u8f83\u5f31\uff0c\u65e0\u6cd5\u6ee1\u8db3\u672a\u6765\u66f4\u591a\u81ea\u5b9a\u4e49\u9700\u6c42\u3002",date:"2022-10-22T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-deployment",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment"}],readingTime:2.265,hasTruncateMarker:!1,authors:[{name:"Huangjun",title:"Developer",url:"https://blog.csdn.net/huangjun0210?type=blog",imageURL:"https://avatars.githubusercontent.com/u/26295600",key:"huangjun"}],frontMatter:{slug:"update-to-python-deployment",title:"scow-deployment\u5e73\u6ed1\u5347\u7ea7\u6307\u5bfc",authors:["huangjun"],tags:["scow","scow-deployment"]},unlisted:!1,prevItem:{title:"scow-cli",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-cli-release"},nextItem:{title:"scow\u6587\u6863\u4e0a\u7ebf",permalink:"/SCOW/pr-preview/pr-1298/blog/docs-online"}},d={authorsImageUrls:[void 0]},p=[{value:"1. \u505c\u6b62scow\u670d\u52a1",id:"1-\u505c\u6b62scow\u670d\u52a1",level:2},{value:"2. \u5907\u4efd\u914d\u7f6e\u6587\u4ef6",id:"2-\u5907\u4efd\u914d\u7f6e\u6587\u4ef6",level:2},{value:"3. \u5347\u7ea7",id:"3--\u5347\u7ea7",level:2}];function i(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",p:"p",pre:"pre",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c",(0,s.jsx)(n.code,{children:"PKUHPC/scow-deployment"}),"\u9879\u76ee\u662f\u7eaf\u901a\u8fc7",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u5b9e\u73b0\u7684\uff0c\u4e3b\u8981\u7528\u5230\u4e86",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u5185\u7f6e\u7684",(0,s.jsx)(n.code,{children:"profile"}),"\u529f\u80fd\u3001\u8bfb\u53d6\u73af\u5883\u53d8\u91cf\u4ee5\u53ca\u53d8\u91cf\u66ff\u6362\u529f\u80fd\u6765\u5b9e\u73b0\u7c7b\u4f3c\u4e0d\u540c\u914d\u7f6e\u3002\u4f46\u662f",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u7684\u8fd9\u4e9b\u529f\u80fd\u8f83\u5f31\uff0c\u65e0\u6cd5\u6ee1\u8db3\u672a\u6765\u66f4\u591a\u81ea\u5b9a\u4e49\u9700\u6c42\u3002"]}),"\n",(0,s.jsxs)(n.p,{children:["\u4e3a\u7b80\u5316\u90e8\u7f72\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u540c\u65f6\u4e3a\u7528\u6237\u63d0\u4f9b\u66f4\u6613\u61c2\u548c\u7075\u6d3b\u7684\u53c2\u6570\u914d\u7f6e\uff0c\u6700\u65b0\u7248\u672c\u7684",(0,s.jsx)(n.code,{children:"PKUHPC/scow-deployment"}),"\u9879\u76ee\u4f7f\u7528",(0,s.jsx)(n.code,{children:"python"}),"\u52a8\u6001\u751f\u6210",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u6587\u4ef6\uff0c\u6839\u636e\u7528\u6237\u7684\u9700\u6c42\u751f\u6210\u66f4\u6613\u7406\u89e3\u7684",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u6587\u4ef6\u3002"]}),"\n",(0,s.jsx)(n.p,{children:"\u63a5\u4e0b\u6765\uff0c\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u5e73\u6ed1\u7684\u4ece\u65e7\u7248\u672c\u5347\u7ea7\u81f3\u65b0\u7248\u672c\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"1-\u505c\u6b62scow\u670d\u52a1",children:"1. \u505c\u6b62scow\u670d\u52a1"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# \u8fdb\u5165scow-deployment\u9879\u76ee\u76ee\u5f55\ncd scow-deployment\n\n# \u505c\u6b62scow\u670d\u52a1\ndocker-compose down\n"})}),"\n",(0,s.jsx)(n.h2,{id:"2-\u5907\u4efd\u914d\u7f6e\u6587\u4ef6",children:"2. \u5907\u4efd\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,s.jsxs)(n.p,{children:["\u4e3b\u8981\u5907\u4efd",(0,s.jsx)(n.code,{children:".env"}),"\u914d\u7f6e\u6587\u4ef6\uff1a"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# 1. \u521b\u5efa\u5907\u4efd\u76ee\u5f55\nmkdir /path/to/backup\n\n# 2. \u5907\u4efd\u90e8\u7f72\u7684\u73af\u5883\u53d8\u91cf\ncp .env /path/to/backup\n\n"})}),"\n",(0,s.jsx)(n.h2,{id:"3--\u5347\u7ea7",children:"3. \u5347\u7ea7"}),"\n",(0,s.jsx)(n.p,{children:"\u62c9\u53d6master\u5206\u652f\u6700\u65b0\u4ee3\u7801\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"cd /path/to/scow-deployment\n# \u540c\u6b65\u6700\u65b0\u4ee3\u7801\ngit pull\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"tree -L 1\n\u251c\u2500\u2500 compose.sh\t\t\t\t# \u7a0b\u5e8f\u6267\u884c\u5165\u53e3\uff0c\u6267\u884c\u8be5\u811a\u672c\u4f1a\u751f\u6210docker-compose.json\u3001db.sh\u6587\u4ef6\n\u251c\u2500\u2500 config-example\t\t\t# scow\u4e1a\u52a1\u914d\u7f6e\u6a21\u677f\u6587\u4ef6\u76ee\u5f55\n\u251c\u2500\u2500 config-example.py\t\t# scow\u7cfb\u7edf\u90e8\u7f72\u53c2\u6570\u914d\u7f6e\u6587\u4ef6\u6a21\u677f\n\u251c\u2500\u2500 fluent\t\t\t\t\t# fluent\u914d\u7f6e\u6587\u4ef6\u5b58\u653e\u76ee\u5f55\n\u251c\u2500\u2500 generate.py\t\t\t\t# \u90e8\u7f72\u914d\u7f6e\u6587\u4ef6\u751f\u6210python\u811a\u672c\n\u2514\u2500\u2500 README.md\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u7f16\u5199\u914d\u7f6e\u6587\u4ef6:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# 1. \u590d\u5236\u914d\u7f6e\u6587\u4ef6\ncp config-example.py config.py\n\n# 2. \u914d\u7f6e\u53c2\u6570\n# \u6839\u636e\u548c\u5907\u4efd\u7684.env\u6587\u4ef6\u548cconfig.py\u4e2d\u7684\u53c2\u6570\u8bf4\u660e\uff0c\u4fee\u6539config.py\u6587\u4ef6\u4e2d\u7684\u53c2\u6570\n\n"})}),"\n",(0,s.jsx)(n.p,{children:"\u670d\u52a1\u542f\u52a8\u4e0e\u505c\u6b62\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"# \u542f\u52a8\u670d\u52a1\n./compose.sh up -d\n\n# \u505c\u6b62\u670d\u52a1\n./compose.sh down\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"./compose.sh"}),"\u652f\u6301\u6240\u6709\u57fa\u4e8e",(0,s.jsx)(n.code,{children:"Docker Compose"}),"\u6587\u4ef6\u7684",(0,s.jsx)(n.code,{children:"docker-compose"}),"\u547d\u4ee4\uff0c\u5982\uff1aup\u3001down\u3001ps\u3001restart\u7b49\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["\u8be6\u7ec6\u8bf4\u660e\u53ef\u53c2\u8003",(0,s.jsx)(n.code,{children:"PKUHPC/scow-deployment"}),"\u9879\u76ee\u7684",(0,s.jsx)(n.a,{href:"https://github.com/PKUHPC/scow-deployment/blob/master/README.md",children:"README.md"}),"\u3002"]})]})}function a(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},5409:(e,n,o)=>{o.d(n,{R:()=>l,x:()=>r});var s=o(48318);const c={},t=s.createContext(c);function l(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e57f1229.a9ecbe48.js b/pr-preview/pr-1298/assets/js/e57f1229.a9ecbe48.js deleted file mode 100644 index 51a5563bc6..0000000000 --- a/pr-preview/pr-1298/assets/js/e57f1229.a9ecbe48.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3288],{71295:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>u});var i=e(49214),o=e(5409);const r={sidebar_position:1,title:"\u8d21\u732e\u6307\u5357"},s="\u8d21\u732e\u6307\u5357",c={id:"contribution/index",title:"\u8d21\u732e\u6307\u5357",description:"\u611f\u8c22\u60a8\u5bf9\u53c2\u4e0eSCOW\u9879\u76ee\u5f00\u53d1\u7684\u5174\u8da3\uff01\u6211\u4eec\u6b22\u8fce\u5bf9\u9879\u76ee\u6709\u5174\u8da3\u7684\u53c2\u4e0e\u8005\u4e00\u8d77\u53c2\u4e0e\u9879\u76ee\u5f00\u53d1\u3002",source:"@site/docs/contribution/index.md",sourceDirName:"contribution",slug:"/contribution/",permalink:"/SCOW/pr-preview/pr-1298/docs/contribution/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/contribution/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u8d21\u732e\u6307\u5357"},sidebar:"contribution",next:{title:"\u5f00\u53d1",permalink:"/SCOW/pr-preview/pr-1298/docs/contribution/dev"}},d={},u=[];function l(t){const n={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.R)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"\u8d21\u732e\u6307\u5357",children:"\u8d21\u732e\u6307\u5357"}),"\n",(0,i.jsx)(n.p,{children:"\u611f\u8c22\u60a8\u5bf9\u53c2\u4e0eSCOW\u9879\u76ee\u5f00\u53d1\u7684\u5174\u8da3\uff01\u6211\u4eec\u6b22\u8fce\u5bf9\u9879\u76ee\u6709\u5174\u8da3\u7684\u53c2\u4e0e\u8005\u4e00\u8d77\u53c2\u4e0e\u9879\u76ee\u5f00\u53d1\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u76f8\u5173\u8d44\u6599\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/contribution/dev",children:"\u5f00\u53d1"}),": \u5e2e\u52a9\u60a8\u642d\u5efa\u672c\u5730\u5f00\u53d1\u73af\u5883\uff0c\u8fd0\u884c\u4ee3\u7801\u548c\u6d4b\u8bd5\u4ee5\u53ca\u63d0\u4ea4\u4ee3\u7801"]}),"\n"]})]})}function p(t={}){const{wrapper:n}={...(0,o.R)(),...t.components};return n?(0,i.jsx)(n,{...t,children:(0,i.jsx)(l,{...t})}):l(t)}},5409:(t,n,e)=>{e.d(n,{R:()=>s,x:()=>c});var i=e(48318);const o={},r=i.createContext(o);function s(t){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function c(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:s(t.components),i.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e5e271d9.051722a9.js b/pr-preview/pr-1298/assets/js/e5e271d9.051722a9.js deleted file mode 100644 index 70c805e97a..0000000000 --- a/pr-preview/pr-1298/assets/js/e5e271d9.051722a9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[293],{52216:(e,d,n)=>{n.r(d),n.d(d,{assets:()=>c,contentTitle:()=>h,default:()=>j,frontMatter:()=>s,metadata:()=>r,toc:()=>t});var l=n(49214),i=n(5409);const s={sidebar_position:2,title:"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"},h="\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",r={id:"integration/auth/impl",title:"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",description:"\u5982\u679c\u7cfb\u7edf\u63d0\u4f9b\u7684\u8ba4\u8bc1\u7cfb\u7edf\u4e0d\u80fd\u6ee1\u8db3\u60a8\u7684\u9700\u6c42\uff0c\u60a8\u53ef\u4ee5\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u3002",source:"@site/docs/integration/auth/impl.md",sourceDirName:"integration/auth",slug:"/integration/auth/impl",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/auth/impl.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"},sidebar:"integration",previous:{title:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/auth/use"},next:{title:"SCOW API\u548cHook",permalink:"/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook"}},c={},t=[{value:"\u57fa\u672c\u6982\u5ff5",id:"\u57fa\u672c\u6982\u5ff5",level:2},{value:"\u5fc5\u987b\u5b9e\u73b0\u7684API",id:"\u5fc5\u987b\u5b9e\u73b0\u7684api",level:2},{value:"GET /public/auth",id:"get-publicauth",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94",level:4},{value:"\u89e3\u91ca",id:"\u89e3\u91ca",level:4},{value:"GET /public/validateToken",id:"get-publicvalidatetoken",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-1",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94-1",level:4},{value:"200 OK",id:"200-ok",level:5},{value:"400 Bad Request",id:"400-bad-request",level:5},{value:"DELETE /token",id:"delete-token",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-2",level:4},{value:"\u54cd\u5e94",id:"\u54cd\u5e94",level:4},{value:"\u89e3\u91ca",id:"\u89e3\u91ca-1",level:4},{value:"GET /capabilities",id:"get-capabilities",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-3",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94-2",level:4},{value:"200 OK",id:"200-ok-1",level:5},{value:"\u89e3\u91ca",id:"\u89e3\u91ca-2",level:4},{value:"\u521b\u5efa\u7528\u6237\u529f\u80fd\u76f8\u5173API",id:"\u521b\u5efa\u7528\u6237\u529f\u80fd\u76f8\u5173api",level:2},{value:"POST /user",id:"post-user",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-4",level:4},{value:"\u54cd\u5e94",id:"\u54cd\u5e94-1",level:4},{value:"\u89e3\u91ca",id:"\u89e3\u91ca-3",level:4},{value:"\u67e5\u8be2\u7528\u6237\u529f\u80fd\u76f8\u5173API",id:"\u67e5\u8be2\u7528\u6237\u529f\u80fd\u76f8\u5173api",level:2},{value:"GET /user",id:"get-user",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-5",level:4},{value:"200 OK",id:"200-ok-2",level:5},{value:"404 Not Found",id:"404-not-found",level:5},{value:"\u89e3\u91ca",id:"\u89e3\u91ca-4",level:4},{value:"\u4fee\u6539\u90ae\u7bb1\u76f8\u5173API",id:"\u4fee\u6539\u90ae\u7bb1\u76f8\u5173api",level:2},{value:"PATCH /user/email",id:"patch-useremail",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-6",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94-3",level:4},{value:"\u89e3\u91ca",id:"\u89e3\u91ca-5",level:4},{value:"\u9a8c\u8bc1\u5bc6\u7801\u76f8\u5173API",id:"\u9a8c\u8bc1\u5bc6\u7801\u76f8\u5173api",level:2},{value:"GET /checkPassword",id:"get-checkpassword",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-7",level:4},{value:"200 OK",id:"200-ok-3",level:5},{value:"404 Not Found",id:"404-not-found-1",level:5},{value:"501",id:"501",level:5},{value:"\u4fee\u6539\u5bc6\u7801\u76f8\u5173API",id:"\u4fee\u6539\u5bc6\u7801\u76f8\u5173api",level:2},{value:"PATCH /password",id:"patch-password",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-8",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94-4",level:4},{value:"\u89e3\u91ca",id:"\u89e3\u91ca-6",level:4},{value:"\u7528\u6237\u8d26\u6237\u5173\u7cfb\u76f8\u5173API",id:"\u7528\u6237\u8d26\u6237\u5173\u7cfb\u76f8\u5173api",level:2},{value:"POST /account",id:"post-account",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-9",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94-5",level:4},{value:"POST /account/${accountName}/user",id:"post-accountaccountnameuser",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-10",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94-6",level:4},{value:"DELETE /account/${accountName}/user/${userId}",id:"delete-accountaccountnameuseruserid",level:3},{value:"\u8bf7\u6c42",id:"\u8bf7\u6c42-11",level:4},{value:"\u671f\u671b\u7684\u54cd\u5e94",id:"\u671f\u671b\u7684\u54cd\u5e94-7",level:4}];function x(e){const d={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(d.h1,{id:"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",children:"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"}),"\n",(0,l.jsx)(d.p,{children:"\u5982\u679c\u7cfb\u7edf\u63d0\u4f9b\u7684\u8ba4\u8bc1\u7cfb\u7edf\u4e0d\u80fd\u6ee1\u8db3\u60a8\u7684\u9700\u6c42\uff0c\u60a8\u53ef\u4ee5\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u670d\u52a1\u3002"}),"\n",(0,l.jsx)(d.h2,{id:"\u57fa\u672c\u6982\u5ff5",children:"\u57fa\u672c\u6982\u5ff5"}),"\n",(0,l.jsxs)(d.p,{children:["SCOW\u4e2d\u4f7f\u7528",(0,l.jsx)(d.code,{children:"identityId"}),"\u6807\u8bc6\u4e00\u4e2a\u7528\u6237\uff0c\u5e76\u540c\u65f6\u4f7f\u7528\u6b64",(0,l.jsx)(d.code,{children:"identityId"}),"\u4f5c\u4e3a\u7528\u6237\u5728\u96c6\u7fa4\u4e0a\u7684\u767b\u5f55\u540d\u3002"]}),"\n",(0,l.jsx)(d.p,{children:"\u7528\u6237\u767b\u5f55\u540e\uff0c\u8ba4\u8bc1\u7cfb\u7edf\u5e94\u8d1f\u8d23\u7ed9\u5f53\u524d\u767b\u5f55\u7528\u6237\u7684\u5f53\u524d\u4f1a\u8bdd\u8d4b\u4e88\u4e00\u4e2aToken\uff0cSCOW\u5c06\u4f1a\u5728\u6bcf\u6b21\u9700\u8981\u8ba4\u8bc1\u7684\u8bf7\u6c42\u65f6\u4f7f\u7528token\u8bf7\u6c42\u8ba4\u8bc1\u7cfb\u7edf\u4ee5\u83b7\u53d6\u7528\u6237\u7684\u8eab\u4efd\u3002"}),"\n",(0,l.jsx)(d.p,{children:"\u4e00\u4e2a\u8ba4\u8bc1\u670d\u52a1\u672c\u8d28\u662f\u4e00\u4e2a\u5b9e\u73b0\u4e86\u4ee5\u4e0bHTTP API\u7684HTTP\u670d\u52a1\u5668\u3002"}),"\n",(0,l.jsx)(d.p,{children:"\u8bf7\u6ce8\u610f"}),"\n",(0,l.jsxs)(d.ul,{children:["\n",(0,l.jsxs)(d.li,{children:["\u4ee5",(0,l.jsx)(d.code,{children:"/public"}),"\u5f00\u5934\u7684API\u5c06\u4f1a\u662f\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\u7684\uff0c\u5176\u4ed6\u7684\u7528\u6237\u4e0d\u53ef\u76f4\u63a5\u8bbf\u95ee"]}),"\n",(0,l.jsxs)(d.li,{children:["\u6240\u6709\u54cd\u5e94\u548c\u5904\u4e8e",(0,l.jsx)(d.code,{children:"body"}),"\u4f4d\u7f6e\u7684\u53c2\u6570\u5747\u4e3ajson\u683c\u5f0f"]}),"\n"]}),"\n",(0,l.jsx)(d.h2,{id:"\u5fc5\u987b\u5b9e\u73b0\u7684api",children:"\u5fc5\u987b\u5b9e\u73b0\u7684API"}),"\n",(0,l.jsx)(d.h3,{id:"get-publicauth",children:"GET /public/auth"}),"\n",(0,l.jsx)(d.p,{children:"\u53d1\u8d77\u767b\u5f55\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"callbackUrl"})}),(0,l.jsx)(d.td,{children:"querystring"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u767b\u5f55\u5b8c\u6210\u540e\u7684\u56de\u8c03\u5730\u5740\u3002\u5fc5\u987b\u662f\u4e00\u4e2a\u5408\u6cd5\u7684URL\u3002"})]})})]}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsx)(d.p,{children:"\u8fd4\u56de\u767b\u5f55HTML\u6216\u8005\u91cd\u5b9a\u5411\u5230\u5b9e\u9645\u7684\u767b\u5f55\u754c\u9762\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u89e3\u91ca",children:"\u89e3\u91ca"}),"\n",(0,l.jsx)(d.p,{children:"\u6b64API\u7528\u4e8e\u8fdb\u884c\u5b9e\u9645\u7684\u767b\u5f55\u64cd\u4f5c\u3002\u7528\u6237\u70b9\u51fb\u767b\u5f55\u540e\uff0c\u7cfb\u7edf\u5c06\u4f1a\u91cd\u5b9a\u5411\u5230\u8fd9\u4e2aURL\u3002\u60a8\u53ef\u4ee5\u9009\u62e9\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a\u767b\u5f55\u9875\u9762\uff0c\u6216\u8005\u91cd\u5b9a\u5411\u5230\u7b2c\u4e09\u65b9\u767b\u5f55\u8ba4\u8bc1\u7684\u9875\u9762\u3002"}),"\n",(0,l.jsxs)(d.p,{children:["\u767b\u5f55\u5b8c\u6210\u540e\uff0c\u8bf7\u8fd4\u56de\u4e00\u4e2a\u91cd\u5b9a\u5411\u7684\u8bf7\u6c42\u5230",(0,l.jsx)(d.code,{children:"callbackUrl"}),"\u6307\u5b9a\u7684URL\uff0c\u5e76\u9644\u4e0aquerystring",(0,l.jsx)(d.code,{children:"?token={\u60a8\u7528\u6765\u8ddf\u8e2a\u672c\u7528\u6237\u7684\u72b6\u6001\u7684token}"}),"\u3002\u8fd9\u4e9btoken\u7684\u751f\u6210\u548c\u4fdd\u5b58\u60a8\u9700\u8981\u81ea\u5df1\u5b9e\u73b0\u3002\u540e\u7eed\u7684\u7528\u6237\u5c06\u4f1a\u5e26\u7740\u6b64token\u7528\u4e8e\u9274\u6743\u3002"]}),"\n",(0,l.jsxs)(d.p,{children:["\u5982\u679c\u60a8\u5728\u540e\u7aef\u4f7f\u7528\u7c7b\u4f3cOAuth2\u7684\u8ba4\u8bc1\u7cfb\u7edf\uff0c\u8fd9\u4e9b\u8ba4\u8bc1\u7cfb\u7edf\u767b\u5f55\u5b8c\u6210\u540e\u4f1a\u7ed9\u4e00\u4e2atoken\u7528\u4e8e\u8ddf\u8e2a\u7528\u6237\u72b6\u6001\u5e76\u91cd\u5b9a\u5411\u5230\u60a8\u6307\u5b9a\u7684\u56de\u8c03\u5730\u5740\u3002\u5bf9\u4e8e\u8fd9\u4e9b\u7cfb\u7edf\uff0c\u60a8\u5e94\u8be5\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2a\u5355\u72ec\u7684\u56de\u8c03\u5730\u5740\uff08\u4e14\u8fd9\u4e9b\u56de\u8c03\u5730\u5740\u7684URL\u5fc5\u987b\u4ee5",(0,l.jsx)(d.code,{children:"/public"}),"\u4e3a\u524d\u7f00\u4ee5\u4f7f\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\uff09\uff0c\u5728\u8fd9\u4e9b\u5730\u5740\u7684\u5904\u7406\u51fd\u6570\u4e2d\u83b7\u53d6\u8ba4\u8bc1\u7cfb\u7edf\u7ed9\u4e88\u7684token\uff0c\u5e76\u4f7f\u7528token\u8fdb\u884c\u540e\u7eed\u7684\u5904\u7406\uff08\u4f8b\u5982\u751f\u6210\u81ea\u5df1\u7684token\uff0c\u5c06\u8fd9\u4e9btoken\u6620\u5c04\u5230\u7528\u6237\u7b49\uff09\u3002\u5904\u7406\u5b8c\u6210\u540e\uff0c\u518d\u56de\u8c03\u5230",(0,l.jsx)(d.code,{children:"callbackUrl"}),"\u6307\u5b9a\u7684URL\u3002"]}),"\n",(0,l.jsx)(d.h3,{id:"get-publicvalidatetoken",children:"GET /public/validateToken"}),"\n",(0,l.jsx)(d.p,{children:"\u9a8c\u8bc1token\uff0c\u8fd4\u56de\u5bf9\u5e94\u7684\u7528\u6237ID\u3002SCOW\u5c06\u4f1a\u5728\u6bcf\u6b21\u9700\u8981\u9a8c\u8bc1\u7684\u8bf7\u6c42\u53d1\u751f\u65f6\uff0c\u4f7f\u7528\u767b\u5f55\u65f6\u83b7\u53d6\u7684token\u8bf7\u6c42\u6b64API\uff0c\u6240\u4ee5\u8bf7\u4fdd\u8bc1\u6b64API\u7684\u6027\u80fd\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-1",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"token"})}),(0,l.jsx)(d.td,{children:"querystring"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u7684token"})]})})]}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94-1",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsx)(d.h5,{id:"200-ok",children:"200 OK"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u5b57\u6bb5"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"identityId"})}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u6b64token\u5bf9\u5e94\u7684\u7528\u6237\u7684\u7528\u6237ID"})]})})]}),"\n",(0,l.jsx)(d.h5,{id:"400-bad-request",children:"400 Bad Request"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u5b57\u6bb5"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"code"})}),(0,l.jsxs)(d.td,{children:["\u5b57\u7b26\u4e32\u5e38\u91cf",(0,l.jsx)(d.code,{children:"INVALID_TOKEN"})]}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsxs)(d.td,{children:[(0,l.jsx)(d.code,{children:"INVALID_TOKEN"}),"\uff1atoken\u65e0\u6548"]})]})})]}),"\n",(0,l.jsx)(d.h3,{id:"delete-token",children:"DELETE /token"}),"\n",(0,l.jsx)(d.p,{children:"\u65e0\u6548\u5316\u4e00\u4e2atoken\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-2",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"token"})}),(0,l.jsx)(d.td,{children:"query"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"token"})]})})]}),"\n",(0,l.jsx)(d.h4,{id:"\u54cd\u5e94",children:"\u54cd\u5e94"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u72b6\u6001\u7801"}),(0,l.jsx)(d.th,{children:"\u5185\u5bb9"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"204"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u64cd\u4f5c\u5b8c\u6210\u3002\u5982\u679ctoken\u4e0d\u5b58\u5728\u4e5f\u5e94\u8be5\u8fd4\u56de\u8fd9\u4e2a\u72b6\u6001\u7801\u3002"})]})})]}),"\n",(0,l.jsx)(d.h4,{id:"\u89e3\u91ca-1",children:"\u89e3\u91ca"}),"\n",(0,l.jsxs)(d.p,{children:["\u6b64API\u7528\u4e8e\u65e0\u6548\u5316\u4e00\u4e2atoken\u3002\u8c03\u7528\u8fd9\u4e2a\u8bf7\u6c42\u540e\uff0c\u8fd9\u4e2atoken\u5c06\u4e0d\u5e94\u8be5\u7ee7\u7eed\u80fd\u591f\u901a\u8fc7",(0,l.jsx)(d.code,{children:"GET /validateToken"}),"\u83b7\u5f97\u7528\u6237\u7684\u4fe1\u606f\u3002"]}),"\n",(0,l.jsx)(d.h3,{id:"get-capabilities",children:"GET /capabilities"}),"\n",(0,l.jsx)(d.p,{children:"\u8fd4\u56de\u8ba4\u8bc1\u7cfb\u7edf\u652f\u6301\u7684\u80fd\u529b\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-3",children:"\u8bf7\u6c42"}),"\n",(0,l.jsx)(d.p,{children:"\u65e0\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94-2",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsx)(d.h5,{id:"200-ok-1",children:"200 OK"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u5b57\u6bb5"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"createUser"})}),(0,l.jsx)(d.td,{children:"boolean"}),(0,l.jsx)(d.td,{children:"\u5426"}),(0,l.jsx)(d.td,{children:"\u6b64\u8ba4\u8bc1\u7cfb\u7edf\u662f\u5426\u652f\u6301\u521b\u5efa\u7528\u6237"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"getUser"})}),(0,l.jsx)(d.td,{children:"boolean"}),(0,l.jsx)(d.td,{children:"\u5426"}),(0,l.jsx)(d.td,{children:"\u6b64\u8ba4\u8bc1\u7cfb\u7edf\u662f\u5426\u652f\u6301\u67e5\u8be2\u7528\u6237"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"checkPassword"})}),(0,l.jsx)(d.td,{children:"boolean"}),(0,l.jsx)(d.td,{children:"\u5426"}),(0,l.jsx)(d.td,{children:"\u6b64\u8ba4\u8bc1\u7cfb\u7edf\u662f\u5426\u652f\u6301\u9a8c\u8bc1\u7528\u6237\u5bc6\u7801"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"changePassword"})}),(0,l.jsx)(d.td,{children:"boolean"}),(0,l.jsx)(d.td,{children:"\u5426"}),(0,l.jsx)(d.td,{children:"\u6b64\u8ba4\u8bc1\u7cfb\u7edf\u662f\u5426\u652f\u6301\u4fee\u6539\u7528\u6237\u5bc6\u7801"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"accountUserRelation"})}),(0,l.jsx)(d.td,{children:"boolean"}),(0,l.jsx)(d.td,{children:"\u5426"}),(0,l.jsx)(d.td,{children:"\u6b64\u8ba4\u8bc1\u7cfb\u7edf\u662f\u5426\u652f\u6301\u7ba1\u7406\u7528\u6237\u8d26\u6237\u5173\u7cfb"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u89e3\u91ca-2",children:"\u89e3\u91ca"}),"\n",(0,l.jsxs)(d.p,{children:["\u6b64API\u7528\u4e8e\u8ba4\u8bc1\u7cfb\u7edf\u58f0\u660e\u81ea\u5df1\u7684\u652f\u6301\u7684\u80fd\u529b\u3002\u7cfb\u7edf\u7684\u5176\u4ed6\u90e8\u5206\u5c06\u4f1a\u6839\u636e\u6b64API\u7684\u8fd4\u56de\u503c\u9009\u62e9\u6027\u5730\u9009\u62e9\u662f\u5426\u663e\u793a\u67d0\u4e9b\u529f\u80fd\u3002\u4f8b\u5982\uff0c\u5982\u679c",(0,l.jsx)(d.code,{children:"changePassword"}),"\u4e3a",(0,l.jsx)(d.code,{children:"false"}),"\u6216\u8005\u4e3a",(0,l.jsx)(d.code,{children:"undefined"}),"\uff0c\u90a3\u4e48\u524d\u7aef\u7cfb\u7edf\u5c06\u4f1a\u4e0d\u663e\u793a\u4fee\u6539\u5bc6\u7801\u7684\u529f\u80fd\u3002"]}),"\n",(0,l.jsx)(d.h2,{id:"\u521b\u5efa\u7528\u6237\u529f\u80fd\u76f8\u5173api",children:"\u521b\u5efa\u7528\u6237\u529f\u80fd\u76f8\u5173API"}),"\n",(0,l.jsx)(d.p,{children:"\u8ba4\u8bc1\u7cfb\u7edf\u5982\u679c\u58f0\u660e\u652f\u6301\u521b\u5efa\u7528\u6237\uff0c\u5219\u5fc5\u987b\u5b9e\u73b0\u6b64\u90e8\u5206\u7684API\u3002"}),"\n",(0,l.jsx)(d.h3,{id:"post-user",children:"POST /user"}),"\n",(0,l.jsx)(d.p,{children:"\u521b\u5efa\u7528\u6237\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-4",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"identityId"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237ID"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"password"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u5bc6\u7801"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"id"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u6574\u6570"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u5728\u6570\u636e\u5e93\u4e2d\u7684ID"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"name"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u59d3\u540d"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"mail"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u90ae\u7bb1"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u54cd\u5e94-1",children:"\u54cd\u5e94"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u72b6\u6001\u7801"}),(0,l.jsx)(d.th,{children:"\u5185\u5bb9"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"204"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u521b\u5efa\u5b8c\u6210"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"409"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u7528\u6237ID\u5df2\u7ecf\u5b58\u5728"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"501"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u4e0d\u652f\u6301\u521b\u5efa\u7528\u6237\u529f\u80fd"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u89e3\u91ca-3",children:"\u89e3\u91ca"}),"\n",(0,l.jsxs)(d.p,{children:["\u6b64API\u7528\u4e8e\u5728\u8ba4\u8bc1\u7cfb\u7edf\u4e2d\u521b\u5efa\u7528\u6237\u3002\u5f53\u524d\uff0c\u7cfb\u7edf\u53ea\u652f\u6301\u901a\u8fc7\u7ba1\u7406\u7cfb\u7edf\u521b\u5efa\u7528\u6237\u3002\u7ba1\u7406\u7cfb\u7edf\u9996\u5148\u5728\u81ea\u5df1\u7684\u6570\u636e\u5e93\u4e2d\u521b\u5efa\u7528\u6237\uff0c\u7136\u540e\u8bf7\u6c42\u8ba4\u8bc1\u7cfb\u7edf\u521b\u5efa\u7528\u6237\u3002\u8bf7\u6c42\u53c2\u6570\u4e2d\u7684",(0,l.jsx)(d.code,{children:"id"}),"\u5373\u662f\u6570\u636e\u5e93\u4e2d\u8fd9\u4e2a\u65b0\u7684\u7528\u6237\u7684\u81ea\u589eID\u3002\u5982\u679c\u8ba4\u8bc1\u7cfb\u7edf\u8fd4\u56de\u975e\u6210\u529f\u7684\u8fd4\u56de\u503c\uff0c\u7ba1\u7406\u7cfb\u7edf\u5c06\u4f1a\u64a4\u56de\u5728\u6570\u636e\u5e93\u4e2d\u7684\u9879\u3002"]}),"\n",(0,l.jsx)(d.h2,{id:"\u67e5\u8be2\u7528\u6237\u529f\u80fd\u76f8\u5173api",children:"\u67e5\u8be2\u7528\u6237\u529f\u80fd\u76f8\u5173API"}),"\n",(0,l.jsx)(d.h3,{id:"get-user",children:"GET /user"}),"\n",(0,l.jsx)(d.p,{children:"\u83b7\u53d6\u5df2\u7ecf\u5b58\u5728\u7684\u7528\u6237\u4fe1\u606f\u3002\u76ee\u524d\u53ea\u9700\u8981\u8fd4\u56de\u7528\u6237\u7684ID\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-5",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"identityId"})}),(0,l.jsx)(d.td,{children:"querystring"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u7684ID"})]})})]}),"\n",(0,l.jsx)(d.h5,{id:"200-ok-2",children:"200 OK"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u5b57\u6bb5"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"user.identityId"})}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u7684ID\u3002\u548c\u8bf7\u6c42\u7684identityId\u4e00\u81f4"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"user.name"})}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u5426"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u7684\u59d3\u540d\u3002\u5982\u679c\u8ba4\u8bc1\u7cfb\u7edf\u53ef\u4ee5\u83b7\u53d6\u7528\u6237\u7684\u59d3\u540d\uff0c\u5219\u8fd4\u56de\u3002\u5982\u679c\u4e0d\u80fd\u83b7\u53d6\uff0c\u5c31\u4e0d\u8bbe\u7f6e"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"user.mail"})}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u5426"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u7684\u90ae\u7bb1\u3002\u5982\u679c\u8ba4\u8bc1\u7cfb\u7edf\u53ef\u4ee5\u83b7\u53d6\u7528\u6237\u7684\u90ae\u7bb1\uff0c\u5219\u8fd4\u56de\u3002\u5982\u679c\u4e0d\u80fd\u83b7\u53d6\uff0c\u5c31\u4e0d\u8bbe\u7f6e"})]})]})]}),"\n",(0,l.jsx)(d.h5,{id:"404-not-found",children:"404 Not Found"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u5b57\u6bb5"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"code"})}),(0,l.jsxs)(d.td,{children:["\u5b57\u7b26\u4e32\u5e38\u91cf",(0,l.jsx)(d.code,{children:"USER_NOT_FOUND"})]}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsxs)(d.td,{children:[(0,l.jsx)(d.code,{children:"USER_NOT_FOUND"}),"\uff1a\u7528\u6237\u4e0d\u5b58\u5728"]})]})})]}),"\n",(0,l.jsx)(d.h4,{id:"\u89e3\u91ca-4",children:"\u89e3\u91ca"}),"\n",(0,l.jsx)(d.p,{children:"\u6b64API\u53ef\u4ee5\u83b7\u53d6\u7528\u6237\u7684\u4fe1\u606f\u3002\u6b64API\u4e5f\u53ef\u4ee5\u7528\u4e8e\u83b7\u53d6\u7528\u6237\u662f\u5426\u5b58\u5728\u3002"}),"\n",(0,l.jsx)(d.h2,{id:"\u4fee\u6539\u90ae\u7bb1\u76f8\u5173api",children:"\u4fee\u6539\u90ae\u7bb1\u76f8\u5173API"}),"\n",(0,l.jsx)(d.p,{children:"\u8ba4\u8bc1\u7cfb\u7edf\u5982\u679c\u58f0\u660e\u652f\u6301\u4fee\u6539\u90ae\u7bb1\uff0c\u5219\u5fc5\u987b\u5b9e\u73b0\u6b64\u90e8\u5206\u7684API\u3002"}),"\n",(0,l.jsx)(d.h3,{id:"patch-useremail",children:"PATCH /user/email"}),"\n",(0,l.jsx)(d.p,{children:"\u4fee\u6539\u90ae\u7bb1\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-6",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"identityId"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237ID"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"newEmail"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u65b0\u90ae\u7bb1"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94-3",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u72b6\u6001\u7801"}),(0,l.jsx)(d.th,{children:"\u5185\u5bb9"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"204"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u4fee\u6539\u5b8c\u6210"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"404"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u672a\u627e\u5230"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"501"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u4e0d\u652f\u6301\u4fee\u6539\u90ae\u7bb1\u529f\u80fd"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u89e3\u91ca-5",children:"\u89e3\u91ca"}),"\n",(0,l.jsx)(d.p,{children:"\u6b64API\u7528\u4e8e\u5b8c\u6210\u4fee\u6539\u90ae\u7bb1\u7684\u529f\u80fd\u3002"}),"\n",(0,l.jsx)(d.h2,{id:"\u9a8c\u8bc1\u5bc6\u7801\u76f8\u5173api",children:"\u9a8c\u8bc1\u5bc6\u7801\u76f8\u5173API"}),"\n",(0,l.jsx)(d.h3,{id:"get-checkpassword",children:"GET /checkPassword"}),"\n",(0,l.jsx)(d.p,{children:"\u9a8c\u8bc1\u5bc6\u7801\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-7",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"identityId"})}),(0,l.jsx)(d.td,{children:"query"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237ID"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"password"})}),(0,l.jsx)(d.td,{children:"query"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u5bc6\u7801"})]})]})]}),"\n",(0,l.jsx)(d.h5,{id:"200-ok-3",children:"200 OK"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u5b57\u6bb5"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"success"})}),(0,l.jsx)(d.td,{children:"\u5e03\u5c14\u503c"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u9a8c\u8bc1\u7ed3\u679c"})]})})]}),"\n",(0,l.jsx)(d.h5,{id:"404-not-found-1",children:"404 Not Found"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u5b57\u6bb5"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"code"})}),(0,l.jsxs)(d.td,{children:["\u5b57\u7b26\u4e32\u5e38\u91cf",(0,l.jsx)(d.code,{children:"USER_NOT_FOUND"})]}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsxs)(d.td,{children:[(0,l.jsx)(d.code,{children:"USER_NOT_FOUND"}),"\uff1a\u7528\u6237\u4e0d\u5b58\u5728"]})]})})]}),"\n",(0,l.jsx)(d.h5,{id:"501",children:"501"}),"\n",(0,l.jsx)(d.p,{children:"\u8868\u793a\u6b64\u529f\u80fd\u5728\u5f53\u524d\u670d\u52a1\u5668\u914d\u7f6e\u4e0b\u4e0d\u53ef\u7528\uff0c\u8fd4\u56denull\u3002"}),"\n",(0,l.jsx)(d.h2,{id:"\u4fee\u6539\u5bc6\u7801\u76f8\u5173api",children:"\u4fee\u6539\u5bc6\u7801\u76f8\u5173API"}),"\n",(0,l.jsx)(d.p,{children:"\u8ba4\u8bc1\u7cfb\u7edf\u5982\u679c\u58f0\u660e\u652f\u6301\u4fee\u6539\u5bc6\u7801\uff0c\u5219\u5fc5\u987b\u5b9e\u73b0\u6b64\u90e8\u5206\u7684API\u3002"}),"\n",(0,l.jsx)(d.h3,{id:"patch-password",children:"PATCH /password"}),"\n",(0,l.jsx)(d.p,{children:"\u4fee\u6539\u5bc6\u7801\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-8",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"identityId"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237ID"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"newPassword"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u65b0\u5bc6\u7801"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94-4",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u72b6\u6001\u7801"}),(0,l.jsx)(d.th,{children:"\u5185\u5bb9"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"204"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u4fee\u6539\u5b8c\u6210"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"404"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u7528\u6237\u672a\u627e\u5230"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"501"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u4e0d\u652f\u6301\u4fee\u6539\u5bc6\u7801\u529f\u80fd"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u89e3\u91ca-6",children:"\u89e3\u91ca"}),"\n",(0,l.jsx)(d.p,{children:"\u6b64API\u7528\u4e8e\u5b8c\u6210\u4fee\u6539\u5bc6\u7801\u7684\u529f\u80fd\u3002"}),"\n",(0,l.jsx)(d.h2,{id:"\u7528\u6237\u8d26\u6237\u5173\u7cfb\u76f8\u5173api",children:"\u7528\u6237\u8d26\u6237\u5173\u7cfb\u76f8\u5173API"}),"\n",(0,l.jsx)(d.p,{children:"\u8ba4\u8bc1\u7cfb\u7edf\u5982\u679c\u58f0\u660e\u652f\u6301\u7ba1\u7406\u7528\u6237\u8d26\u6237\u5173\u7cfb\uff0c\u5219\u5fc5\u987b\u5b9e\u73b0\u6b64\u90e8\u5206API\u3002"}),"\n",(0,l.jsx)(d.h3,{id:"post-account",children:"POST /account"}),"\n",(0,l.jsx)(d.p,{children:"\u5728\u8ba4\u8bc1\u7cfb\u7edf\u4e2d\u521b\u5efa\u8d26\u6237\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-9",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"accountName"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u8d26\u6237\u540d"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"ownerUserId"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u62e5\u6709\u8005\u7528\u6237ID"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94-5",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u72b6\u6001\u7801"}),(0,l.jsx)(d.th,{children:"\u5185\u5bb9"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"204"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u521b\u5efa\u6210\u529f"})]})})]}),"\n",(0,l.jsx)(d.h3,{id:"post-accountaccountnameuser",children:"POST /account/${accountName}/user"}),"\n",(0,l.jsx)(d.p,{children:"\u628a\u7528\u6237\u52a0\u5165\u8d26\u6237\u4e2d\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-10",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"accountName"})}),(0,l.jsx)(d.td,{children:"path"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u8d26\u6237\u540d"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"userId"})}),(0,l.jsx)(d.td,{children:"body"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237ID"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94-6",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u72b6\u6001\u7801"}),(0,l.jsx)(d.th,{children:"\u5185\u5bb9"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"204"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u628a\u7528\u6237\u52a0\u5165\u8d26\u6237\u6210\u529f"})]})})]}),"\n",(0,l.jsx)(d.h3,{id:"delete-accountaccountnameuseruserid",children:"DELETE /account/${accountName}/user/${userId}"}),"\n",(0,l.jsx)(d.p,{children:"\u628a\u7528\u6237\u4ece\u8d26\u6237\u4e2d\u5220\u9664\u3002"}),"\n",(0,l.jsx)(d.h4,{id:"\u8bf7\u6c42-11",children:"\u8bf7\u6c42"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u53c2\u6570"}),(0,l.jsx)(d.th,{children:"\u4f4d\u7f6e"}),(0,l.jsx)(d.th,{children:"\u7c7b\u578b"}),(0,l.jsx)(d.th,{children:"\u662f\u5426\u5fc5\u987b"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsxs)(d.tbody,{children:[(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"accountName"})}),(0,l.jsx)(d.td,{children:"path"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u8d26\u6237\u540d"})]}),(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"userId"})}),(0,l.jsx)(d.td,{children:"path"}),(0,l.jsx)(d.td,{children:"\u5b57\u7b26\u4e32"}),(0,l.jsx)(d.td,{children:"\u662f"}),(0,l.jsx)(d.td,{children:"\u7528\u6237ID"})]})]})]}),"\n",(0,l.jsx)(d.h4,{id:"\u671f\u671b\u7684\u54cd\u5e94-7",children:"\u671f\u671b\u7684\u54cd\u5e94"}),"\n",(0,l.jsxs)(d.table,{children:[(0,l.jsx)(d.thead,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.th,{children:"\u72b6\u6001\u7801"}),(0,l.jsx)(d.th,{children:"\u5185\u5bb9"}),(0,l.jsx)(d.th,{children:"\u89e3\u91ca"})]})}),(0,l.jsx)(d.tbody,{children:(0,l.jsxs)(d.tr,{children:[(0,l.jsx)(d.td,{children:(0,l.jsx)(d.code,{children:"204"})}),(0,l.jsx)(d.td,{children:"\u65e0"}),(0,l.jsx)(d.td,{children:"\u5220\u9664\u7528\u6237\u6210\u529f"})]})})]})]})}function j(e={}){const{wrapper:d}={...(0,i.R)(),...e.components};return d?(0,l.jsx)(d,{...e,children:(0,l.jsx)(x,{...e})}):x(e)}},5409:(e,d,n)=>{n.d(d,{R:()=>h,x:()=>r});var l=n(48318);const i={},s=l.createContext(i);function h(e){const d=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function r(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:h(e.components),l.createElement(s.Provider,{value:d},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e722de6b.2db40e72.js b/pr-preview/pr-1298/assets/js/e722de6b.2db40e72.js deleted file mode 100644 index 42f48afbba..0000000000 --- a/pr-preview/pr-1298/assets/js/e722de6b.2db40e72.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5198],{49631:(n,e,r)=>{r.r(e),r.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>a});var i=r(49214),s=r(5409);const t={sidebar_position:1,title:"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf"},o="\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf",c={id:"deploy/config/mis/intro",title:"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf",description:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf\u3002",source:"@site/docs/deploy/config/mis/intro.md",sourceDirName:"deploy/config/mis",slug:"/deploy/config/mis/intro",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/mis/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf"},sidebar:"deploy",previous:{title:"\u7ba1\u7406\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf"},next:{title:"\u521b\u5efa\u7528\u6237\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user/"}},l={},a=[{value:"\u7ba1\u7406\u7cfb\u7edf\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f",id:"\u7ba1\u7406\u7cfb\u7edf\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f",level:2},{value:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",id:"\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",level:2},{value:"\u66f4\u65b0\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",id:"\u66f4\u65b0\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e",id:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e",level:2},{value:"\u542f\u52a8\u670d\u52a1",id:"\u542f\u52a8\u670d\u52a1",level:2},{value:"\u7cfb\u7edf\u521d\u59cb\u5316",id:"\u7cfb\u7edf\u521d\u59cb\u5316",level:2}];function d(n){const e={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{id:"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf",children:"\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf"}),"\n",(0,i.jsx)(e.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf\u3002"}),"\n",(0,i.jsx)(e.h2,{id:"\u7ba1\u7406\u7cfb\u7edf\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f",children:"\u7ba1\u7406\u7cfb\u7edf\u540c\u6b65\u4f5c\u4e1a\u4fe1\u606f"}),"\n",(0,i.jsxs)(e.p,{children:["\u670d\u52a1\u5668\u4f1a\u5b9a\u671f\u5730\u4ece",(0,i.jsx)(e.strong,{children:"\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\u4e2d\u83b7\u53d6\u5df2\u5b8c\u6210\u7684\u4f5c\u4e1a\u4fe1\u606f\uff0c\u5e76\u6839\u636e\u89c4\u5219\u5bf9\u79df\u6237\u548c\u8d26\u6237\u8fdb\u884c\u6263\u8d39\u64cd\u4f5c\u3002\u8be6\u7ec6\u8ba1\u8d39\u89c4\u5219\u8bf7\u53c2\u8003",(0,i.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing",children:"\u8ba1\u8d39\u6536\u8d39"}),"\u3002"]}),"\n",(0,i.jsx)(e.h2,{id:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6",children:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,i.jsx)(e.p,{children:"\u4fee\u6539\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-yaml",metastring:'title="install.yaml"',children:'# \u786e\u4fdd\u7ba1\u7406\u7cfb\u7edf\u4f1a\u90e8\u7f72\nmis:\n # \u5982\u679c\u7ba1\u7406\u7cfb\u7edf\u90e8\u7f72\u5728`/mis`\u8def\u5f84\u4e0b\uff0c\u8bbe\u7f6e"MIS.BASE_PATH"\u4e3a "/mis"\u3002\u9ed8\u8ba4\u4e3a"/"\n basePath: "/mis"\n # \u5982\u679c\u5c06\u4f1a\u90e8\u7f72\u5728\u57df\u540d\u7684\u6839\u76ee\u5f55\u4e0b\uff0c\u8bbe\u7f6e"MIS.BASE_PATH"\u4e3a "/"\n basePath: "/"\n\n # dbPassword\u4e3a\u7ba1\u7406\u7cfb\u7edf\u6570\u636e\u5e93\u5bc6\u7801\n # \u5728\u7cfb\u7edf\u7b2c\u4e00\u6b21\u542f\u52a8\u524d\u53ef\u81ea\u7531\u8bbe\u7f6e\uff0c\u4f7f\u7528\u6b64\u5bc6\u7801\u53ef\u4ee5\u4ee5root\u8eab\u4efd\u767b\u5f55\u6570\u636e\u5e93\n # \u4e00\u65e6\u6570\u636e\u5e93\u542f\u52a8\u540e\u5373\u4e0d\u53ef\u4fee\u6539\n # \u5fc5\u987b\u957f\u4e8e8\u4e2a\u5b57\u7b26\uff0c\u5e76\u540c\u65f6\u5305\u62ec\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7b26\u53f7\n dbPassword: "must!chang3this"\n'})}),"\n",(0,i.jsx)(e.admonition,{type:"tip",children:(0,i.jsxs)(e.p,{children:["\u5982\u679c\u60f3\u81ea\u5b9a\u4e49\u7cfb\u7edf\u90e8\u7f72\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u6216\u8005\u4e86\u89e3",(0,i.jsx)(e.code,{children:"MIS.BASE_PATH"}),"\u7684\u542b\u4e49\uff0c\u8bf7\u53c2\u8003",(0,i.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath",children:"\u81ea\u5b9a\u4e49\u76f8\u5bf9\u8def\u5f84"}),"\u3002"]})}),"\n",(0,i.jsx)(e.h2,{id:"\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668",children:"\u90e8\u7f72\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,i.jsx)(e.p,{children:"\u6839\u636e\u8c03\u5ea6\u5668\u79cd\u7c7b\u7684\u4e0d\u540c\uff0c\u9700\u8981\u5728\u96c6\u7fa4\u4e0a\u90e8\u7f72\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u9002\u914d\u5668"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"slurm"}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"\u66f4\u65b0\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6",children:"\u66f4\u65b0\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,i.jsxs)(e.p,{children:["\u6839\u636e\u96c6\u7fa4\u6240\u4f7f\u7528\u7684\u8c03\u5ea6\u5668\u7684\u4e0d\u540c\uff0c\u53c2\u8003\u5bf9\u5e94\u6587\u6863\u66f4\u65b0",(0,i.jsx)(e.code,{children:"config/clusters/{\u96c6\u7fa4ID}.yml"}),"\u6587\u4ef6\uff1a"]}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:(0,i.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm",children:"slurm"})}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e",children:"\u7f16\u5199\u540e\u7aef\u670d\u52a1\u914d\u7f6e"}),"\n",(0,i.jsxs)(e.p,{children:["\u5728",(0,i.jsx)(e.code,{children:"config/mis.yaml"}),"\u6587\u4ef6\u4e2d\uff0c\u6839\u636e\u5907\u6ce8\u4fee\u6539\u6240\u9700\u8981\u7684\u914d\u7f6e"]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-yaml",metastring:'title="config/mis.yaml"',children:'# \u7ba1\u7406\u7cfb\u7edf\u6570\u636e\u5e93\u7684\u4fe1\u606f\u3002\u53ef\u4ee5\u4e0d\u4fee\u6539\ndb:\n host: db\n port: 3306\n user: root\n password: mysqlrootpassword\n dbName: scow\n\n# \u83b7\u53d6\u4f5c\u4e1a\u76f8\u5173\u914d\u7f6e\nfetchJobs:\n # \u4ece\u54ea\u4e2a\u65f6\u95f4\u70b9\u5f00\u59cb\u83b7\u53d6\u4f5c\u4e1a\n # (\u65e5\u671f\u683c\u5f0fISO 8601,\u4e14\u9700\u5728\u672b\u5c3e\u6dfb\u52a0\u65f6\u533a\uff0c\u63a8\u8350\u4f7f\u7528\u534f\u8c03\u4e16\u754c\u65f6(UTC))\n # startDate: "2000-01-01T00:00:00Z"\n\n # \u9650\u5236\u4e00\u6b21\u83b7\u53d6\u7684\u4f5c\u4e1a\u6570\u91cf\n # batchSize: 1000\n\n # \u5468\u671f\u6027\u83b7\u53d6\u6570\u636e\n periodicFetch:\n # \u662f\u5426\u5f00\u542f\n enabled: true\n # \u5468\u671f\u7684cron\u8868\u8fbe\u5f0f\n cron: "*/10 * * * *"\n\n# \u5468\u671f\u6027\u540c\u6b65scow\u4e0e\u8c03\u5ea6\u5668(\u5982slurm)\u8d26\u6237\u7528\u6237\u5c01\u9501\u72b6\u6001\u7684\u914d\u7f6e\nperiodicSyncUserAccountBlockStatus:\n # \u662f\u5426\u5f00\u542f\n enabled: true\n # \u5468\u671f\u7684cron\u8868\u8fbe\u5f0f\n cron: "0 4 * * *"\n\n# \u9884\u5b9a\u4e49\u7684\u5145\u503c\u7c7b\u578b\npredefinedChargingTypes:\n - \u6d4b\u8bd5\n\n# \u521b\u5efa\u8d26\u6237\u65f6\uff0c\u8d26\u6237\u540d\u7684\u89c4\u5219\u3002\u4e0d\u8bbe\u7f6e\u5c31\u6ca1\u6709\u9650\u5236\naccountNamePattern:\n # \u6b63\u5219\u8868\u8fbe\u5f0f\n regex: "^[a-z][a-z0-9_]{2,19}$"\n\n # \u51fa\u9519\u65f6\u7684\u6d88\u606f\uff0c\u5bf9\u5e94\u4e0a\u9762\u7684\u6b63\u5219\u8868\u8fbe\u5f0f\n # \u6b64\u6587\u672c\u652f\u6301\u56fd\u9645\u5316\n errorMessage: "\u8981\u6c42\u8f93\u5165\u957f\u5ea6\u4e3a3-20\u4f4d\uff0c\u7531\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\u7ec4\u6210\uff0c\u4e14\u4ee5\u5c0f\u5199\u5b57\u6bcd\u5f00\u5934\u7684\u5b57\u7b26\u4e32"\n\ncreateUser:\n # \u5141\u8bb8\u7528\u6237\u521b\u5efa\u7528\u6237\u3002\u9ed8\u8ba4\u4e3atrue\n enabled: true\n\n # \u4f7f\u7528SCOW\u5185\u7f6e\u7684\u521b\u5efa\u7528\u6237\u529f\u80fd\u3002\u9ed8\u8ba4\u4e3abuiltin\n type: builtin\n\n # \u5185\u7f6e\u521b\u5efa\u7528\u6237\u529f\u80fd\u914d\u7f6e\n builtin:\n # \u521b\u5efa\u7528\u6237\u65f6\uff0c\u7528\u6237ID\u7684\u89c4\u5219\u3002\u4e0d\u8bbe\u7f6e\u5c31\u6ca1\u6709\u9650\u5236\n userIdPattern:\n # \u6b63\u5219\u8868\u8fbe\u5f0f\n regex: "^[a-z][a-z0-9_]{2,19}$"\n # \u51fa\u9519\u65f6\u7684\u6d88\u606f\n errorMessage: "\u8981\u6c42\u8f93\u5165\u957f\u5ea6\u4e3a3-20\u4f4d\uff0c\u7531\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\u7ec4\u6210\uff0c\u4e14\u4ee5\u5c0f\u5199\u5b57\u6bcd\u5f00\u5934\u7684\u5b57\u7b26\u4e32"\n # errorMessage:\n # i18n:\n # default: "\u8981\u6c42\u8f93\u5165\u957f\u5ea6\u4e3a3-20\u4f4d\uff0c\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\u7ec4\u6210\u7684\u5b57\u7b26\u4e32\uff0c\u4e14\u4ee5\u5c0f\u5199\u5b57\u6bcd\u5f00\u5934"\n # en: "It is required to enter a string of 3-20 characters in length, consisting of lowercase letters, numbers, and underscores, and starting with a lowercase letter."\n # zh_cn: "\u8981\u6c42\u8f93\u5165\u957f\u5ea6\u4e3a3-20\u4f4d\uff0c\u7531\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\u7ec4\u6210\uff0c\u4e14\u4ee5\u5c0f\u5199\u5b57\u6bcd\u5f00\u5934\u7684\u5b57\u7b26\u4e32"\n\n# # \u65b0\u589e\u5bfc\u822a\u94fe\u63a5\u76f8\u5173\u914d\u7f6e\n# navLinks:\n# # \u94fe\u63a5\u540d\n# - text: "\u4e00\u7ea7\u5bfc\u822a1"\n# # \u94fe\u63a5\u5730\u5740\uff0c\u4e00\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u53ef\u9009\u586b\uff0c\u4e8c\u7ea7\u5bfc\u822a\u94fe\u63a5\u5730\u5740\u4e3a\u5fc5\u586b\n# url: ""\n# # \u662f\u5426\u6253\u5f00\u65b0\u7684\u9875\u9762\uff0c\u53ef\u9009\u586b\uff0c\u9ed8\u8ba4\u503c\u4e3afalse\n# # openInNewPage: true\n# # \u81ea\u5b9a\u4e49\u56fe\u6807\u5730\u5740,\u53ef\u9009\u586b\n# # iconPath: ""\n# # \u53ef\u4ee5\u770b\u5230\u8fd9\u4e2a\u94fe\u63a5\u7684\u7528\u6237,\u53ef\u9009\u586b\n# # \u7528\u6237\u7c7b\u578b\uff1a user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance\n# allowedRoles: []\n# # \u4e8c\u7ea7\u5bfc\u822a,\u53ef\u9009\u586b\n# children:\n# # \u4e8c\u7ea7\u5bfc\u822a\u76f8\u5173\u914d\u7f6e\uff0c\u4e0e\u4e00\u7ea7\u5bfc\u822a\u76f8\u540c\uff0c\u4f46\u662furl\u4e3a\u5fc5\u586b\u914d\u7f6e\uff0c\u540c\u65f6\u4e0d\u5141\u8bb8\u518d\u8bbe\u7f6echildren\n# - text: "\u4e8c\u7ea7\u5bfc\u822a1"\n# url: "https://hahahaha1.1.com"\n# # openInNewPage: true\n# iconPath: ""\n# allowedRoles: [accountAdmin, accountOwner]\n# - text: "\u4e8c\u7ea7\u5bfc\u822a2"\n# url: "https://hahahaha1.2.com"\n# allowedRoles: [tenantAdmin, platformAdmin]\n# - text: "\u4e00\u7ea7\u5bfc\u822a2"\n# url: "https://hahahaha2.com"\n\n'})}),"\n",(0,i.jsx)(e.h2,{id:"\u542f\u52a8\u670d\u52a1",children:"\u542f\u52a8\u670d\u52a1"}),"\n",(0,i.jsxs)(e.p,{children:["\u8fd0\u884c",(0,i.jsx)(e.code,{children:"./cli compose up -d"}),"\u542f\u52a8\u7ba1\u7406\u7cfb\u7edf\u3002"]}),"\n",(0,i.jsx)(e.h2,{id:"\u7cfb\u7edf\u521d\u59cb\u5316",children:"\u7cfb\u7edf\u521d\u59cb\u5316"}),"\n",(0,i.jsxs)(e.p,{children:["\u67e5\u770b",(0,i.jsx)(e.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init/",children:"\u7cfb\u7edf\u521d\u59cb\u5316"}),"\u6587\u6863\u521d\u59cb\u5316\u7cfb\u7edf\u4fe1\u606f\u3002"]})]})}function h(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(d,{...n})}):d(n)}},5409:(n,e,r)=>{r.d(e,{R:()=>o,x:()=>c});var i=r(48318);const s={},t=i.createContext(s);function o(n){const e=i.useContext(t);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:o(n.components),i.createElement(t.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e7d646cc.795c887d.js b/pr-preview/pr-1298/assets/js/e7d646cc.795c887d.js deleted file mode 100644 index 25981e3315..0000000000 --- a/pr-preview/pr-1298/assets/js/e7d646cc.795c887d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6217],{31654:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>a,contentTitle:()=>n,default:()=>f,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=t(49214),p=t(5409);const i={},n=void 0,s={id:"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties",title:"definition-properties-primarycolor-properties-hostnamemap-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-primarycolor-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-"},next:{title:"definition-properties-primarycolor-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap"}},a={},c=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function m(e){const r={h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,o.jsx)(r.p,{children:"unknown"})]})}function f(e={}){const{wrapper:r}={...(0,p.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>n,x:()=>s});var o=t(48318);const p={},i=o.createContext(p);function n(e){const r=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:n(e.components),o.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e8a0c150.596cb2b6.js b/pr-preview/pr-1298/assets/js/e8a0c150.596cb2b6.js deleted file mode 100644 index 90a6620650..0000000000 --- a/pr-preview/pr-1298/assets/js/e8a0c150.596cb2b6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1328],{31812:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>l,frontMatter:()=>s,metadata:()=>o,toc:()=>a});var i=r(49214),p=r(5409);const s={},n=void 0,o={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties",title:"definition-properties-slurm-properties-partitions-patternproperties",description:"patternProperties Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-"},next:{title:"definition-properties-slurm-properties-partitions",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions"}},c={},a=[{value:"patternProperties Type",id:"patternproperties-type",level:2}];function u(e){const t={h2:"h2",p:"p",...(0,p.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"patternproperties-type",children:"patternProperties Type"}),"\n",(0,i.jsx)(t.p,{children:"unknown"})]})}function l(e={}){const{wrapper:t}={...(0,p.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>o});var i=r(48318);const p={},s=i.createContext(p);function n(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(p):e.components||p:n(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/e95cd134.d1994bcc.js b/pr-preview/pr-1298/assets/js/e95cd134.d1994bcc.js deleted file mode 100644 index c44bd2b8ba..0000000000 --- a/pr-preview/pr-1298/assets/js/e95cd134.d1994bcc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6137],{93210:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var t=s(49214),c=s(5409);const i={sidebar_label:"\u57fa\u7840\u914d\u7f6e",title:"\u57fa\u7840\u914d\u7f6e",slug:"/basic-config",sidebar_position:3},a=void 0,o={id:"hpccluster/basic-config",title:"\u57fa\u7840\u914d\u7f6e",description:"1. \u6240\u6709\u8282\u70b9",source:"@site/docs/hpccluster/basic-config.md",sourceDirName:"hpccluster",slug:"/basic-config",permalink:"/SCOW/pr-preview/pr-1298/docs/basic-config",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/basic-config.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_label:"\u57fa\u7840\u914d\u7f6e",title:"\u57fa\u7840\u914d\u7f6e",slug:"/basic-config",sidebar_position:3},sidebar:"hpccluster",previous:{title:"\u96c6\u7fa4\u89c4\u5212",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan"},next:{title:"NFS\u5b89\u88c5\u548c\u914d\u7f6e",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs"}},r={},l=[{value:"1. \u6240\u6709\u8282\u70b9",id:"1-\u6240\u6709\u8282\u70b9",level:2},{value:"2. \u670d\u52a1\u8282\u70b9",id:"2-\u670d\u52a1\u8282\u70b9",level:2}];function d(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"1-\u6240\u6709\u8282\u70b9",children:"1. \u6240\u6709\u8282\u70b9"}),"\n",(0,t.jsx)(n.p,{children:"\u8bbe\u7f6e\u4e3b\u673a\u540d"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-Bash",children:"hostnamectl set-hostname manage01\nhostnamectl set-hostname login01\nhostnamectl set-hostname compute01\nhostnamectl set-hostname compute02\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u914d\u7f6ehosts\uff1a"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-Bash",children:"vim /etc/hosts\n192.168.29.106 manage01\n192.168.29.101 login01\n192.168.29.102 compute01\n192.168.29.103 compute02\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u5173\u95ed\u9632\u706b\u5899\u3001selinux\u3001dnsmasq\u3001swap\uff1a"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-SQL",children:"systemctl disable --now firewalld \nsystemctl disable --now dnsmasq\nsystemctl disable --now NetworkManager\n\nsetenforce 0\nsed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/sysconfig/selinux\nsed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/selinux/config\nreboot\ngetenforce\n\n\nswapoff -a && sysctl -w vm.swappiness=0\nsed -ri '/^[^#]*swap/s@^@#@' /etc/fstab\n"})}),"\n",(0,t.jsx)(n.p,{children:"\u65f6\u95f4\u540c\u6b65\uff1a"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-Bash",children:"# \u5b89\u88c5ntpdate\nrpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm\nyum install ntpdate -y\n\n# \u540c\u6b65\u65f6\u95f4\u3002time2.aliyun.com\u5916\u7f51\uff0cvineyard.pku.edu.cn\u5185\u7f51\n# \u65f6\u95f4\u540c\u6b65\u914d\u7f6e\u5982\u4e0b\uff1a\nln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime\necho 'Asia/Shanghai' >/etc/timezone\nntpdate vineyard.pku.edu.cn\n\n# \u52a0\u5165\u5230crontab\ncrontab -e\n*/5 * * * * /usr/sbin/ntpdate vineyard.pku.edu.cn \n"})}),"\n",(0,t.jsx)(n.h2,{id:"2-\u670d\u52a1\u8282\u70b9",children:"2. \u670d\u52a1\u8282\u70b9"}),"\n",(0,t.jsx)(n.p,{children:"\u5230\u5176\u4ed6\u8282\u70b9\u7684\u514d\u5bc6\u767b\u5f55\uff1a"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-Bash",children:"yum install sshpass -y\nmkdir -p /extend/shell\n\n#\u751f\u6210\u811a\u672c\uff0croot123 \u4e3aroot\u7528\u6237\u5bc6\u7801\ncat >>/extend/shell/fenfa_pub.sh<< EOF\n#!/bin/bash\nssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''\nfor ip in 101 102 103 \ndo\nsshpass -proot123 ssh-copy-id -o StrictHostKeyChecking=no 192.168.29.\\$ip\ndone\nEOF\n\n# \u8d4b\u6743\ncd /extend/shell\nchmod +x fenfa_pub.sh\n# \u6267\u884c\u811a\u672c\n ./fenfa_pub.sh\n"})})]})}function p(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5409:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>o});var t=s(48318);const c={},i=t.createContext(c);function a(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:a(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ec1eb26c.aab19153.js b/pr-preview/pr-1298/assets/js/ec1eb26c.aab19153.js deleted file mode 100644 index 9c3de35ae3..0000000000 --- a/pr-preview/pr-1298/assets/js/ec1eb26c.aab19153.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5872],{72663:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>p,toc:()=>d});var n=t(49214),s=t(5409);const r={},l=void 0,p={id:"refs/config/portal/definition-properties-logindesktop-properties-wms-items",title:"definition-properties-logindesktop-properties-wms-items",description:"items Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop-properties-wms-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-logindesktop-properties-wms-items-properties-wm",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm"},next:{title:"definition-properties-logindesktop-properties-wms",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms"}},o={},d=[{value:"items Type",id:"items-type",level:2},{value:"name",id:"name",level:2},{value:"name Type",id:"name-type",level:3},{value:"wm",id:"wm",level:2},{value:"wm Type",id:"wm-type",level:3}];function c(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h2,{id:"items-type",children:"items Type"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.code,{children:"object"})," (",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items",children:"Details"}),")"]}),"\n",(0,n.jsx)(i.h1,{id:"items-properties",children:"items Properties"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(i.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsxs)(i.tbody,{children:[(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#name",children:"name"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"string"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name",title:"undefined#/properties/loginDesktop/properties/wms/items/properties/name",children:"Untitled schema"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"#wm",children:"wm"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.code,{children:"string"})}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(i.td,{style:{textAlign:"left"},children:(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm",title:"undefined#/properties/loginDesktop/properties/wms/items/properties/wm",children:"Untitled schema"})})]})]})]}),"\n",(0,n.jsx)(i.h2,{id:"name",children:"name"}),"\n",(0,n.jsx)(i.p,{children:"\u540d\u79f0"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"name"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name",title:"undefined#/properties/loginDesktop/properties/wms/items/properties/name",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"name-type",children:"name Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})}),"\n",(0,n.jsx)(i.h2,{id:"wm",children:"wm"}),"\n",(0,n.jsx)(i.p,{children:"wm\u503c"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"wm"})}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"is required"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["Type: ",(0,n.jsx)(i.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsx)(i.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(i.li,{children:["\n",(0,n.jsxs)(i.p,{children:["defined in: ",(0,n.jsx)(i.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm",title:"undefined#/properties/loginDesktop/properties/wms/items/properties/wm",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(i.h3,{id:"wm-type",children:"wm Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})})]})}function h(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},5409:(e,i,t)=>{t.d(i,{R:()=>l,x:()=>p});var n=t(48318);const s={},r=n.createContext(s);function l(e){const i=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(r.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ed1aabbe.1abae96e.js b/pr-preview/pr-1298/assets/js/ed1aabbe.1abae96e.js deleted file mode 100644 index df80bf1b22..0000000000 --- a/pr-preview/pr-1298/assets/js/ed1aabbe.1abae96e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1660],{89603:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>l,frontMatter:()=>t,metadata:()=>o,toc:()=>a});var i=s(49214),d=s(5409);const t={sidebar_label:"LDAP\u65b0\u5efa\u7528\u6237",title:"LDAP\u65b0\u5efa\u7528\u6237",sidebar_position:7},c=void 0,o={id:"hpccluster/add-user",title:"LDAP\u65b0\u5efa\u7528\u6237",description:"\u90e8\u7f72LDAP\u540e\u53f0\u7ba1\u7406\u540e\uff0c\u8bbf\u95eehttp8080/ \uff0c\u767b\u5f55DN LDAP\u670d\u52a1\u7aef\u5b89\u88c5\u811a\u672cadminPasswd\u7684\u503c\u3002",source:"@site/docs/hpccluster/add-user.md",sourceDirName:"hpccluster",slug:"/hpccluster/add-user",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/hpccluster/add-user.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_label:"LDAP\u65b0\u5efa\u7528\u6237",title:"LDAP\u65b0\u5efa\u7528\u6237",sidebar_position:7},sidebar:"hpccluster",previous:{title:"\u6570\u636e\u76d8\u6302\u8f7d",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk"},next:{title:"module\u5b89\u88c5",permalink:"/SCOW/pr-preview/pr-1298/docs/hpccluster/module"}},r={},a=[{value:"1. \u754c\u9762\u6dfb\u52a0LDAP\u7528\u6237",id:"1-\u754c\u9762\u6dfb\u52a0ldap\u7528\u6237",level:2},{value:"2. \u547d\u4ee4\u6dfb\u52a0LDAP\u7528\u6237",id:"2-\u547d\u4ee4\u6dfb\u52a0ldap\u7528\u6237",level:2}];function p(e){const n={blockquote:"blockquote",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"\u90e8\u7f72LDAP\u540e\u53f0\u7ba1\u7406\u540e\uff0c\u8bbf\u95eehttp://{LDAP\u670d\u52a1\u8282\u70b9ip}:8080/ \uff0c\u767b\u5f55DN: cn=Manager,ou=hpc,o=pku Password: LDAP\u670d\u52a1\u7aef\u5b89\u88c5\u811a\u672cadminPasswd\u7684\u503c\u3002"}),"\n",(0,i.jsx)(n.h2,{id:"1-\u754c\u9762\u6dfb\u52a0ldap\u7528\u6237",children:"1. \u754c\u9762\u6dfb\u52a0LDAP\u7528\u6237"}),"\n",(0,i.jsx)(n.p,{children:"\u90e8\u7f72LDAP\u540e\u53f0\u7ba1\u7406\u540e\uff0c\u8bbf\u95eehttp://{LDAP\u670d\u52a1\u8282\u70b9ip}:8080/ \uff0c\u767b\u5f55DN: cn=Manager,ou=hpc,o=pku Password: LDAP\u670d\u52a1\u7aef\u5b89\u88c5\u811a\u672cadminPasswd\u7684\u503c\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u767b\u5f55\u6210\u529f\u540e\uff0c\u65b0\u5efaGroup\uff1a"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(38483).A+"",width:"1280",height:"560"})}),"\n",(0,i.jsx)(n.p,{children:"\u9009\u62e9 generic\uff1aposix group"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(63992).A+"",width:"1280",height:"560"})}),"\n",(0,i.jsx)(n.p,{children:"\u586b\u5199group\u540d\u5b57"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(48609).A+"",width:"1280",height:"443"})}),"\n",(0,i.jsx)(n.p,{children:"\u70b9\u51fbcreate\uff0c\u7136\u540e\u70b9\u51fbcommit\uff0c\u521b\u5efa\u6210\u529f\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u70b9\u51fbpeople\u65b0\u5efa\u7528\u6237"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(96142).A+"",width:"1280",height:"623"})}),"\n",(0,i.jsx)(n.p,{children:"\u9009\u62e9generic\uff1auser account"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(55511).A+"",width:"1280",height:"623"})}),"\n",(0,i.jsx)(n.p,{children:"\u586b\u5199fist name\uff0clast name\uff0c\u8bbe\u7f6e\u5bc6\u7801\u3002"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(54876).A+"",width:"1280",height:"826"})}),"\n",(0,i.jsx)(n.p,{children:"GID\u9009\u62e9\u521a\u521a\u8bbe\u7f6e\u7684\u7ec4\u3002"}),"\n",(0,i.jsx)(n.p,{children:"home directory\u9700\u8981\u8bbe\u7f6e\u4e3aNFS\u7684\u76ee\u5f55\uff0c\u6309\u7167\u6559\u7a0b\u7684\u914d\u7f6e\uff0c\u5e94\u8be5\u4e3a /data/home/\u7528\u6237\u540d"}),"\n",(0,i.jsx)(n.p,{children:"\u70b9\u51fbcreate\uff0c\u7136\u540e\u70b9\u51fbcommit\uff0c\u521b\u5efa\u6210\u529f\u3002"}),"\n",(0,i.jsx)(n.p,{children:"\u7cfb\u7edf\u521d\u59cb\u5316\u65f6\uff0c\u8bbf\u95ee\u90e8\u7f72\u8def\u5f84\u7684mis/init\u8def\u5f84\u4e0b\uff0c\u5c06\u7ba1\u7406\u5458\u8bbe\u7f6e\u4e3a\u521a\u521a\u521b\u5efa\u7684\u7528\u6237\u3002"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(84293).A+"",width:"1280",height:"628"})}),"\n",(0,i.jsx)(n.p,{children:"\u4ee5\u8be5\u8eab\u4efd\u767b\u5f55\u7ba1\u7406\u7cfb\u7edf\uff0c\u70b9\u51fb\u79df\u6237\u7ba1\u7406-\u7528\u6237\u7ba1\u7406-\u521b\u5efa\u7528\u6237\uff0c\u53ef\u4ee5\u521b\u5efa\u522b\u7684\u7528\u6237\u3002"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(37346).A+"",width:"1280",height:"628"})}),"\n",(0,i.jsx)(n.p,{children:"\u70b9\u51fb\u79df\u6237\u7ba1\u7406-\u8d26\u6237\u7ba1\u7406-\u521b\u5efa\u8d26\u6237\uff0c\u8d26\u6237\u7684\u62e5\u6709\u8005ID\u9009\u62e9\u521a\u521a\u5728\u7ba1\u7406\u7cfb\u7edf\u521b\u5efa\u7684\u65b0\u7528\u6237\u3002"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"img",src:s(58475).A+"",width:"1280",height:"628"})}),"\n",(0,i.jsx)(n.h2,{id:"2-\u547d\u4ee4\u6dfb\u52a0ldap\u7528\u6237",children:"2. \u547d\u4ee4\u6dfb\u52a0LDAP\u7528\u6237"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"ldap\u670d\u52a1\u8282\u70b9\u64cd\u4f5c"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:'vim demo_admin.ldif\ndn: uid=demo_admin,ou=People,ou=hpc,o=pku\nobjectClass: inetOrgPerson\nobjectClass: posixAccount\nobjectClass: shadowAccount\ncn: demo_admin\nsn: demo_admin\nuidNumber: 65001\ngidNumber: 65001\nhomeDirectory: /data/home/demo_admin\nloginShell: /bin/bash\nuserPassword: {SSHA}emlfzzuvWxe54LgoP5uCO7S63vIfK7jY\n\ndn: cn=demo_admin,ou=Group,ou=hpc,o=pku\nobjectClass: posixGroup\ngidNumber: 65001\nmemberUid: demo_admin\n# \u6dfb\u52a0\n ldapadd -x -D cn=Manager,ou=hpc,o=pku -W -f demo_admin.ldif\n#\u67e5\u627e\nldapsearch -x -D cn=Manager,ou=hpc,o=pku -W "uid=demo_admin,ou=People,ou=hpc,o=pku"\n# \u5220\u9664\nldapdelete -x -D cn=Manager,ou=hpc,o=pku -W "uid=demo_admin,ou=People,ou=hpc,o=pku"\n# \u5bc6\u7801SSHA(\u53ef\u9009\u62e9MD5\u7b49\u5176\u4ed6\u52a0\u5bc6\u65b9\u5f0f)\u52a0\u5bc6\nslappasswd -h {SSHA} -s "password"\n'})})]})}function l(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},38483:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-1-414eb05502574573dfec447976457e65.png"},63992:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-2-a7014c5e36dffcf7f77b98df419567b3.png"},48609:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-3-65c8df01ee37667b3b8d5d62a4277441.png"},96142:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-4-71081f81255027477f2f22437aa8b915.png"},55511:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-5-b0a7abd38f7b61e0b34f61722e4fefee.png"},54876:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-6-e6ab6a8f5759758d373ad0a1b0ff491f.png"},84293:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-7-74b06f488107a4f58b5e983450323645.png"},37346:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-8-24819f6377c22464d98b1138f1cf0c92.png"},58475:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/-7-9-89d72ee2be7473a1dfda2bfc331acb42.png"},5409:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>o});var i=s(48318);const d={},t=i.createContext(d);function c(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:c(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ed5bbd30.232cca14.js b/pr-preview/pr-1298/assets/js/ed5bbd30.232cca14.js deleted file mode 100644 index 473427588b..0000000000 --- a/pr-preview/pr-1298/assets/js/ed5bbd30.232cca14.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8794],{3174:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var i=r(49214),n=r(5409);const s={},o=void 0,p={id:"refs/config/ui/definition-properties-footer-properties-hostnamemap",title:"definition-properties-footer-properties-hostnamemap",description:"hostnameMap Type",source:"@site/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-footer-properties-hostnamemap",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-footer-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties"},next:{title:"definition-properties-footer",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer"}},l={},d=[{value:"hostnameMap Type",id:"hostnamemap-type",level:2},{value:"Pattern: <code>^.*$</code>",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"hostnamemap-type",children:"hostnameMap Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",children:"Details"}),")"]}),"\n",(0,i.jsx)(t.h1,{id:"hostnamemap-properties",children:"hostnameMap Properties"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"^.*$"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-",title:"undefined#/properties/footer/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,i.jsxs)(t.h2,{id:"pattern-",children:["Pattern: ",(0,i.jsx)(t.code,{children:"^.*$"})]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"^.*$"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Type: ",(0,i.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["defined in: ",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-",title:"undefined#/properties/footer/properties/hostnameMap/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>p});var i=r(48318);const n={},s=i.createContext(n);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ee1368cd.4f98d401.js b/pr-preview/pr-1298/assets/js/ee1368cd.4f98d401.js deleted file mode 100644 index e1d5e8abf4..0000000000 --- a/pr-preview/pr-1298/assets/js/ee1368cd.4f98d401.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4846],{37266:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>f,frontMatter:()=>n,metadata:()=>c,toc:()=>d});var s=i(49214),r=i(5409);const n={},o=void 0,c={id:"refs/config/mis/definition-properties-fetchjobs-properties-batchsize",title:"definition-properties-fetchjobs-properties-batchsize",description:"batchSize Type",source:"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-fetchjobs-properties-batchsize",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-db",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db"},next:{title:"definition-properties-fetchjobs-properties-db-properties-dbname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname"}},p={},d=[{value:"batchSize Type",id:"batchsize-type",level:2},{value:"batchSize Default Value",id:"batchsize-default-value",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"batchsize-type",children:"batchSize Type"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"integer"})}),"\n",(0,s.jsx)(t.h2,{id:"batchsize-default-value",children:"batchSize Default Value"}),"\n",(0,s.jsx)(t.p,{children:"The default value is:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:"100000\n"})})]})}function f(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},5409:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>c});var s=i(48318);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ef0a3fb1.9d150dba.js b/pr-preview/pr-1298/assets/js/ef0a3fb1.9d150dba.js deleted file mode 100644 index b0ffd5d82f..0000000000 --- a/pr-preview/pr-1298/assets/js/ef0a3fb1.9d150dba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6720],{62040:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>f,frontMatter:()=>s,metadata:()=>l,toc:()=>o});var i=n(49214),r=n(5409);const s={},d=void 0,l={id:"refs/config/clusterTexts/definition",title:"definition",description:"Untitled object in undefined Type",source:"@site/docs/refs/config/clusterTexts/definition.md",sourceDirName:"refs/config/clusterTexts",slug:"/refs/config/clusterTexts/definition",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/clusterTexts/definition.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties"},next:{title:"mis",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/"}},c={},o=[{value:"Untitled object in undefined Type",id:"untitled-object-in-undefined-type",level:2},{value:"Pattern: <code>^.*$</code>",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function p(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"untitled-object-in-undefined-type",children:"Untitled object in undefined Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition",children:"Details"}),")"]}),"\n",(0,i.jsx)(t.h1,{id:"untitled-object-in-undefined-properties",children:"Untitled object in undefined Properties"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"^.*$"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"object"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",title:"undefined#/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,i.jsxs)(t.h2,{id:"pattern-",children:["Pattern: ",(0,i.jsx)(t.code,{children:"^.*$"})]}),"\n",(0,i.jsx)(t.p,{children:"\u5176\u4ed6\u5185\u5bb9"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.code,{children:"^.*$"})}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Type: ",(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",children:"Details"}),")"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["defined in: ",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",title:"undefined#/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"object"})," (",(0,i.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",children:"Details"}),")"]})]})}function f(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>l});var i=n(48318);const r={},s=i.createContext(r);function d(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/ef4f1127.0f6f2da6.js b/pr-preview/pr-1298/assets/js/ef4f1127.0f6f2da6.js deleted file mode 100644 index c9735def67..0000000000 --- a/pr-preview/pr-1298/assets/js/ef4f1127.0f6f2da6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6927],{91895:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>p,metadata:()=>n,toc:()=>d});var i=t(49214),s=t(5409);const p={},o=void 0,n={id:"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",title:"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",description:"nodes Type",source:"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes.md",sourceDirName:"refs/config/cluster",slug:"/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-mem",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem"},next:{title:"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items"}},c={},d=[{value:"nodes Type",id:"nodes-type",level:2}];function a(e){const r={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"nodes-type",children:"nodes Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})})]})}function u(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>n});var i=t(48318);const s={},p=i.createContext(s);function o(e){const r=i.useContext(p);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(p.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f175d574.55463de6.js b/pr-preview/pr-1298/assets/js/f175d574.55463de6.js deleted file mode 100644 index 249c597ebb..0000000000 --- a/pr-preview/pr-1298/assets/js/f175d574.55463de6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1400],{29207:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>x,frontMatter:()=>d,metadata:()=>c,toc:()=>h});var r=s(49214),n=s(5409);const d={title:"mis-web"},i="mis-web",c={id:"refs/env/mis-web",title:"mis-web",description:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",source:"@site/docs/refs/env/mis-web.md",sourceDirName:"refs/env",slug:"/refs/env/mis-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/env/mis-web.md",tags:[],version:"current",frontMatter:{title:"mis-web"},sidebar:"refs",previous:{title:"mis-server",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server"},next:{title:"portal-web",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web"}},l={},h=[{value:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",level:2}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"mis-web",children:"mis-web"}),"\n",(0,r.jsx)(t.h2,{id:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e",children:"\u73af\u5883\u53d8\u91cf\u914d\u7f6e"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"\u540d\u5b57"}),(0,r.jsx)(t.th,{children:"\u7c7b\u578b"}),(0,r.jsx)(t.th,{children:"\u63cf\u8ff0"}),(0,r.jsx)(t.th,{children:"\u9ed8\u8ba4\u503c"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"BASE_PATH"})}),(0,r.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,r.jsx)(t.td,{children:"\u6574\u4e2a\u7cfb\u7edf\u7684base path"}),(0,r.jsx)(t.td,{children:"/"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"SERVER_URL"})}),(0,r.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,r.jsx)(t.td,{children:"\u540e\u7aef\u670d\u52a1\u5730\u5740"}),(0,r.jsx)(t.td,{children:"mis-server:5000"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"AUTH_INTERNAL_URL"})}),(0,r.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,r.jsx)(t.td,{children:"\u8ba4\u8bc1\u670d\u52a1\u5185\u7f51\u5730\u5740"}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.a,{href:"http://auth:5000",children:"http://auth:5000"})})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"PORTAL_DEPLOYED"})}),(0,r.jsx)(t.td,{children:"\u5e03\u5c14\u503c"}),(0,r.jsx)(t.td,{children:"\u662f\u5426\u90e8\u7f72\u4e86\u95e8\u6237\u7cfb\u7edf"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"PORTAL_URL"})}),(0,r.jsx)(t.td,{children:"\u5b57\u7b26\u4e32"}),(0,r.jsx)(t.td,{children:"\u5982\u679c\u90e8\u7f72\u4e86\u95e8\u6237\u7cfb\u7edf\uff0c\u8bbe\u7f6eURL\u6216\u8005\u8def\u5f84\u3002\u76f8\u5bf9\u4e8e\u6574\u4e2a\u7cfb\u7edf\u7684base path\u3002\u5c06\u4f1a\u8986\u76d6\u914d\u7f6e\u6587\u4ef6\u3002\u7a7a\u5b57\u7b26\u4e32\u7b49\u4ef7\u4e8e\u672a\u90e8\u7f72\u95e8\u6237\u7cfb\u7edf"}),(0,r.jsx)(t.td,{})]})]})]})]})}function x(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5409:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>c});var r=s(48318);const n={},d=r.createContext(n);function i(e){const t=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f194c5d5.163dae18.js b/pr-preview/pr-1298/assets/js/f194c5d5.163dae18.js deleted file mode 100644 index b8ae91f386..0000000000 --- a/pr-preview/pr-1298/assets/js/f194c5d5.163dae18.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1446],{6941:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>t});var d=s(49214),r=s(5409);const i={sidebar_position:1},l="VSCode",o={id:"deploy/config/portal/apps/apps/vscode/index",title:"VSCode",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/vscode/index.md",sourceDirName:"deploy/config/portal/apps/apps/vscode",slug:"/deploy/config/portal/apps/apps/vscode/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/vscode/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"RStudio",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio/"},next:{title:"\u914d\u7f6eHTML\u8868\u5355",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes"}},c={},t=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001code-server\u5b89\u88c5",id:"1code-server\u5b89\u88c5",level:3},{value:"2\u3001\u6dfb\u52a0modulefile\u6587\u4ef6",id:"2\u6dfb\u52a0modulefile\u6587\u4ef6",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u6ce8\u610f\u4e8b\u9879",id:"\u6ce8\u610f\u4e8b\u9879",level:2},{value:"VSCode\u6269\u5c55\u5b89\u88c5",id:"vscode\u6269\u5c55\u5b89\u88c5",level:3},{value:"1\u3001\u57df\u540d\u89e3\u6790",id:"1\u57df\u540d\u89e3\u6790",level:4},{value:"2\u3001\u901a\u8fc7\u6269\u5c55\u5546\u5e97\u5b89\u88c5",id:"2\u901a\u8fc7\u6269\u5c55\u5546\u5e97\u5b89\u88c5",level:4},{value:"3\u3001\u901a\u8fc7\u6269\u5c55\u540d\u6216\u8005\u6269\u5c55ID\u5b89\u88c5",id:"3\u901a\u8fc7\u6269\u5c55\u540d\u6216\u8005\u6269\u5c55id\u5b89\u88c5",level:4},{value:"4\u3001\u624b\u52a8\u4e0b\u8f7d\u6269\u5c55\u5305\u8fdb\u884c\u5b89\u88c5",id:"4\u624b\u52a8\u4e0b\u8f7d\u6269\u5c55\u5305\u8fdb\u884c\u5b89\u88c5",level:4}];function a(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.h1,{id:"vscode",children:"VSCode"}),"\n",(0,d.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,d.jsx)(n.p,{children:"code-server\u662f\u4e00\u4e2a\u57fa\u4e8eVS Code\u7684\u5f00\u6e90\u5de5\u5177\uff0c\u5b83\u53ef\u4ee5\u8ba9\u4f60\u901a\u8fc7\u6d4f\u89c8\u5668\u8fdc\u7a0b\u8bbf\u95ee\u4e00\u4e2a\u8fd0\u884c\u7740VS Code\u7684\u670d\u52a1\u5668\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,d.jsxs)(n.p,{children:["\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u5e94\u7528\u7684\u8ba1\u7b97\u8282\u70b9\u4e0a\u5b89\u88c5\u6709",(0,d.jsx)(n.a,{href:"https://github.com/coder/code-server",children:"coder/code-server"}),"\u8f6f\u4ef6\u5305\u3002"]}),"\n",(0,d.jsx)(n.h3,{id:"1code-server\u5b89\u88c5",children:"1\u3001code-server\u5b89\u88c5"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"# \u4e0b\u8f7d\u6240\u9700\u7248\u672c\u7684code-server\u4e8c\u8fdb\u5236\u5b89\u88c5\u5305\nwget https://github.com/coder/code-server/releases/download/v4.11.0/code-server-4.11.0-linux-amd64.tar.gz\n\n# \u89e3\u538bcode-server\u4e8c\u8fdb\u5236\u5b89\u88c5\u5305\ntar zxf code-server-4.11.0-linux-amd64.tar.gz\n\n# \u5c06code-server\u91cd\u547d\u540d\u81f3\u6307\u5b9a\u8def\u5f84\nmkdir -p /data/software/code-server\nmv code-server-4.11.0-linux-amd64 /data/software/code-server/4.11.0\n"})}),"\n",(0,d.jsx)(n.h3,{id:"2\u6dfb\u52a0modulefile\u6587\u4ef6",children:"2\u3001\u6dfb\u52a0modulefile\u6587\u4ef6"}),"\n",(0,d.jsx)(n.p,{children:"\u914d\u7f6e\u5df2\u5b89\u88c5\u597d\u7684code-server\u7684modulefile\u6587\u4ef6:"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:'# ${MODULEPATH}\u4e3amodulefile\u6240\u5728\u7684\u8def\u5f84\nmkdir -p ${MODULEPATH}/code-server\ncat >> ${MODULEPATH}/code-server/4.11.0 << EOF\n#%Module1.0########################################################################\n##\n## code-server@4.11.0 modulefile\n##\nproc ModulesHelp { } {\n puts stderr "\\tThis module defines environment variables, aliases and add PATH for code-server"\n puts stderr "\\tVersion 4.11.0"\n}\n\nmodule-whatis "code-server@4.11.0"\nprepend-path PATH "/data/software/code-server/4.11.0/bin"\nEOF\n'})}),"\n",(0,d.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528code-server\u3002"}),"\n",(0,d.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,d.jsxs)(n.p,{children:["\u521b\u5efa",(0,d.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,d.jsx)(n.code,{children:"vscode.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/vscode.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: vscode\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: VSCode\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3aweb\ntype: web\n\n# Web\u5e94\u7528\u7684\u914d\u7f6e\nweb:\n\n # \u6307\u5b9a\u53cd\u5411\u4ee3\u7406\u7c7b\u578b\n proxyType: relative\n \n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export PORT=$(get_port)\n export PASSWORD=$(get_password 12)\n\n # \u8fd0\u884c\u4efb\u52a1\u7684\u811a\u672c\u3002\u53ef\u4ee5\u4f7f\u7528\u51c6\u5907\u811a\u672c\u5b9a\u4e49\u7684\u53d8\u91cf\n script: |\n module switch code-server/${selectVersion}\n PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password\n\n # \u5982\u4f55\u8fde\u63a5\u5e94\u7528\n connect:\n method: POST\n path: /login\n formData:\n password: "{{ PASSWORD }}"\n\n# \u914d\u7f6eHTML\u8868\u5355\uff0c\u7528\u6237\u53ef\u4ee5\u6307\u5b9acode-server\u7248\u672c \nattributes:\n - type: select\n name: selectVersion\n label: \u9009\u62e9\u7248\u672c\n required: true # \u7528\u6237\u5fc5\u987b\u9009\u62e9\u4e00\u4e2a\u7248\u672c\n placeholder: \u9009\u62e9code-server\u7684\u7248\u672c # \u63d0\u793a\u4fe1\u606f\n select:\n - value: 4.9.1\n label: version 4.9.1\n - value: 4.11.0\n label: version 4.11.0\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,d.jsx)(n.h2,{id:"\u6ce8\u610f\u4e8b\u9879",children:"\u6ce8\u610f\u4e8b\u9879"}),"\n",(0,d.jsx)(n.h3,{id:"vscode\u6269\u5c55\u5b89\u88c5",children:"VSCode\u6269\u5c55\u5b89\u88c5"}),"\n",(0,d.jsx)(n.p,{children:"VSCode\u6269\u5c55\u7684\u5b89\u88c5\u9700\u8981\u4e92\u8054\u7f51\uff0c\u5f53\u96c6\u7fa4\u8ba1\u7b97\u8282\u70b9\u65e0\u6cd5\u8fde\u5165\u4e92\u8054\u7f51\u65f6\uff0c\u4f1a\u5f71\u54cdVSCode\u6269\u5c55\u7684\u5b89\u88c5\u3002"}),"\n",(0,d.jsx)(n.h4,{id:"1\u57df\u540d\u89e3\u6790",children:"1\u3001\u57df\u540d\u89e3\u6790"}),"\n",(0,d.jsxs)(n.p,{children:["Open VSX\u662f\u4e00\u4e2a\u5f00\u6e90\u7684VSCode\u6269\u5c55\u5e02\u573a\uff0c\u76ee\u524d\u5b83\u7684\u57df\u540d",(0,d.jsx)(n.a,{href:"https://open-vsx.org",children:"open-vsx.org"}),"\u89e3\u6790\u5730\u5740\u4e3a198.41.30.195\uff0c\u9700\u8981\u786e\u4fdd\u5728\u8fd0\u884cVSCode\u7684\u8282\u70b9\u4e0a\u89e3\u6790\u8be5\u57df\u540d\uff0c\u5e76\u901a\u8fc7\u589e\u52a0\u8def\u7531\u7684\u65b9\u5f0f\u4f7f\u5f97\u8ba1\u7b97\u8282\u70b9\u80fd\u8bbf\u95ee198.41.30.195\u7684443\u7aef\u53e3\u670d\u52a1\u3002\u53e6\u5916\uff0c\u5728\u7ebf\u5b89\u88c5\u6269\u5c55\u65f6\uff0copen-vsx.org\u9700\u8981\u91cd\u5b9a\u5411\u8f6c\u53d1\u5230openvsxorg.blob.core.windows.net\u4e0a\u83b7\u53d6\u6269\u5c55\u5305\uff0c\u56e0\u6b64\uff0copenvsxorg.blob.core.windows.net\u4e0a\u6240\u5bf9\u5e94\u7684IP:443\u670d\u52a1\u9700\u8981\u786e\u4fddVSCode\u8282\u70b9\u4e0a\u80fd\u8bbf\u95ee\u5230\u3002"]}),"\n",(0,d.jsx)(n.p,{children:"\u4ee5\u4e0b\u8868\u683c\u4e2d\u4e3a\u9700\u8981\u89e3\u6790\u7684\u57df\u540d\u53ca\u5b89\u88c5\u6240\u9700\u8bbf\u95ee\u7684IP\u5730\u5740\u548c\u7aef\u53e3\uff1a"}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{children:"\u57df\u540d"}),(0,d.jsx)(n.th,{children:"IP"}),(0,d.jsx)(n.th,{children:"\u7aef\u53e3"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"open-vsx.org"}),(0,d.jsx)(n.td,{children:"198.41.30.195"}),(0,d.jsx)(n.td,{children:"443"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"openvsxorg.blob.core.windows.net"}),(0,d.jsx)(n.td,{children:"20.60.40.4"}),(0,d.jsx)(n.td,{children:"443"})]})]})]}),"\n",(0,d.jsx)(n.p,{children:"VSCode\u6269\u5c55\u5b89\u88c5\u6709\u4e09\u79cd\u65b9\u5f0f\uff1a"}),"\n",(0,d.jsx)(n.h4,{id:"2\u901a\u8fc7\u6269\u5c55\u5546\u5e97\u5b89\u88c5",children:"2\u3001\u901a\u8fc7\u6269\u5c55\u5546\u5e97\u5b89\u88c5"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5728VSCode\u5de6\u4fa7\u7684\u4fa7\u8fb9\u680f\u4e2d\uff0c\u70b9\u51fb\u5e95\u90e8\u7684\u6269\u5c55\u56fe\u6807\uff08\u901a\u5e38\u662f\u4e00\u4e2a\u6b63\u65b9\u5f62\u65b9\u5757\u6216\u62fc\u56fe\u56fe\u6807\uff09\uff0c\u4ee5\u6253\u5f00\u6269\u5c55\u9762\u677f\u3002"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.img,{alt:"vscode\u6269\u5c55\u5546\u5e97",src:s(27134).A+"",width:"1280",height:"873"})}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5728\u6269\u5c55\u9762\u677f\u4e2d\uff0c\u4f60\u53ef\u4ee5\u6d4f\u89c8\u5e76\u641c\u7d22\u53ef\u7528\u7684\u6269\u5c55\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u627e\u5230\u4f60\u60f3\u8981\u5b89\u88c5\u7684\u6269\u5c55\u540e\uff0c\u70b9\u51fb\u6269\u5c55\u5361\u7247\u4e0a\u7684\u5b89\u88c5\u6309\u94ae\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"VSCode\u5c06\u5f00\u59cb\u4e0b\u8f7d\u548c\u5b89\u88c5\u6269\u5c55\uff0c\u4f60\u53ef\u4ee5\u5728\u6269\u5c55\u9762\u677f\u4e2d\u67e5\u770b\u5b89\u88c5\u8fdb\u5ea6\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f60\u4f1a\u6536\u5230\u901a\u77e5\uff0c\u5e76\u4e14\u6269\u5c55\u4f1a\u51fa\u73b0\u5728\u5df2\u5b89\u88c5\u7684\u6269\u5c55\u5217\u8868\u4e2d\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5728\u6269\u5c55\u9762\u677f\u7684\u5df2\u5b89\u88c5\u6269\u5c55\u5217\u8868\u4e2d\uff0c\u4f60\u53ef\u4ee5\u542f\u7528\u3001\u7981\u7528\u6216\u5378\u8f7d\u5df2\u5b89\u88c5\u7684\u6269\u5c55\u3002\u4e00\u4e9b\u6269\u5c55\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u8bbe\u7f6e\u6216\u914d\u7f6e\u3002"}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"3\u901a\u8fc7\u6269\u5c55\u540d\u6216\u8005\u6269\u5c55id\u5b89\u88c5",children:"3\u3001\u901a\u8fc7\u6269\u5c55\u540d\u6216\u8005\u6269\u5c55ID\u5b89\u88c5"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u6253\u5f00\u7ec8\u7aef\uff1a\u5728VSCode\u7684\u754c\u9762\u4e0a\u627e\u5230\u7ec8\u7aef\uff08\u547d\u4ee4\u884c\u754c\u9762\uff09\u7684\u5165\u53e3\u3002\u901a\u5e38\uff0c\u7ec8\u7aef\u56fe\u6807\u4f4d\u4e8e\u5de6\u4fa7\u7684\u4fa7\u8fb9\u680f\u4e2d\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5728\u7ec8\u7aef\u4e2d\uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5\u6269\u5c55\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:'# <extension-name>\u66ff\u6362\u4e3a\u4f60\u60f3\u5b89\u88c5\u7684\u6269\u5c55\u7684\u6807\u8bc6\u7b26\u6216\u540d\u79f0\u3002\u6269\u5c55\u7684\u6807\u8bc6\u7b26\u901a\u5e38\u662f\u7c7b\u4f3c\u4e8epublisher.extension\u7684\u683c\u5f0f\u3002\u4f8b\u5982\uff0c\u8981\u5b89\u88c5 "Python" \u6269\u5c55\uff0c\u6269\u5c55\u6807\u8bc6\u7b26\u4e3ams-python.python\ncode-server --install-extension <extension-name>\n'})}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5982\u679c\u4f60\u4e0d\u786e\u5b9a\u6269\u5c55\u7684\u6807\u8bc6\u7b26\uff0c\u4f60\u53ef\u4ee5\u5728Visual Studio Code Marketplace\u4e0a\u627e\u5230\u6269\u5c55\u9875\u9762\uff0c\u5e76\u4eceURL\u4e2d\u83b7\u53d6\u6807\u8bc6\u7b26\u90e8\u5206\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u6267\u884c\u547d\u4ee4\u540e\uff0cVSCode\u5c06\u5f00\u59cb\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6307\u5b9a\u7684\u6269\u5c55\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f60\u5c06\u5728\u7ec8\u7aef\u4e2d\u770b\u5230\u76f8\u5e94\u7684\u6210\u529f\u6d88\u606f\u3002"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.img,{alt:"vscode\u6269\u5c55ID\u5b89\u88c5",src:s(93671).A+"",width:"965",height:"154"})}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5b89\u88c5\u7684\u6269\u5c55\u73b0\u5728\u5e94\u8be5\u5df2\u7ecf\u5728VSCode\u4e2d\u53ef\u7528\u3002\u4f60\u53ef\u4ee5\u5728\u5de6\u4fa7\u7684\u4fa7\u8fb9\u680f\u4e2d\u70b9\u51fb\u6269\u5c55\u56fe\u6807\u6765\u67e5\u770b\u5df2\u5b89\u88c5\u7684\u6269\u5c55\uff0c\u5e76\u6839\u636e\u9700\u8981\u542f\u7528\u3001\u7981\u7528\u6216\u914d\u7f6e\u5b83\u4eec\u3002"}),"\n"]}),"\n"]}),"\n",(0,d.jsx)(n.h4,{id:"4\u624b\u52a8\u4e0b\u8f7d\u6269\u5c55\u5305\u8fdb\u884c\u5b89\u88c5",children:"4\u3001\u624b\u52a8\u4e0b\u8f7d\u6269\u5c55\u5305\u8fdb\u884c\u5b89\u88c5"}),"\n",(0,d.jsxs)(n.ul,{children:["\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u51c6\u5907\u6269\u5c55\u6587\u4ef6\uff1a\u9996\u5148\u4e0b\u8f7d\u4f60\u9700\u8981\u5b89\u88c5\u7684\u6269\u5c55\u6587\u4ef6\uff0c\u5e76\u4e0a\u4f20\u5230\u670d\u52a1\u5668\u3002\u6269\u5c55\u6587\u4ef6\u901a\u5e38\u5177\u6709.vsix\u6269\u5c55\u540d\uff0c\u5e76\u4e14\u662f\u9884\u5148\u6253\u5305\u597d\u7684\u6269\u5c55\u6587\u4ef6\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u6253\u5f00\u7ec8\u7aef\uff1a\u5728VSCode\u7684\u754c\u9762\u4e0a\u627e\u5230\u7ec8\u7aef\uff08\u547d\u4ee4\u884c\u754c\u9762\uff09\u7684\u5165\u53e3\u3002\u901a\u5e38\uff0c\u7ec8\u7aef\u56fe\u6807\u4f4d\u4e8e\u5de6\u4fa7\u7684\u4fa7\u8fb9\u680f\u4e2d\u3002"}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5728\u7ec8\u7aef\u4e2d\u4f7f\u7528--install-extension\u53c2\u6570\u5b89\u88c5\u6269\u5c55\uff0c\u5c06/path/to/extension.vsix\u66ff\u6362\u4e3a\u4f60\u5b9e\u9645\u7684\u6269\u5c55\u6587\u4ef6\u8def\u5f84\uff1a"}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"code-server --install-extension /path/to/extension.vsix\n"})}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.img,{alt:"vscode\u6269\u5c55\u5305\u5b89\u88c51",src:s(25196).A+"",width:"962",height:"141"})}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"VSCode\u5c06\u5f00\u59cb\u5b89\u88c5\u6307\u5b9a\u7684\u6269\u5c55\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f60\u5c06\u5728\u7ec8\u7aef\u4e2d\u770b\u5230\u76f8\u5e94\u7684\u6210\u529f\u6d88\u606f\u3002\u53e6\u5916\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728Visual Studio Code Marketplace\u4e0a\u6216\u8005\u975e\u5b98\u65b9\u4e0b\u8f7d\u7684\u6269\u5c55\u5305\u4f1a\u5b58\u5728\u548cVSCode\u4e0d\u517c\u5bb9\u7684\u60c5\u51b5\u3002"}),"\n",(0,d.jsx)(n.p,{children:(0,d.jsx)(n.img,{alt:"vscode\u6269\u5c55\u5305\u5b89\u88c52",src:s(8085).A+"",width:"962",height:"141"})}),"\n"]}),"\n",(0,d.jsxs)(n.li,{children:["\n",(0,d.jsx)(n.p,{children:"\u5b89\u88c5\u7684\u6269\u5c55\u73b0\u5728\u5e94\u8be5\u5df2\u7ecf\u5728VSCode\u4e2d\u53ef\u7528\u3002\u4f60\u53ef\u4ee5\u5728\u5de6\u4fa7\u7684\u4fa7\u8fb9\u680f\u4e2d\u70b9\u51fb\u6269\u5c55\u56fe\u6807\u6765\u67e5\u770b\u5df2\u5b89\u88c5\u7684\u6269\u5c55\uff0c\u5e76\u6839\u636e\u9700\u8981\u542f\u7528\u3001\u7981\u7528\u6216\u914d\u7f6e\u5b83\u4eec\u3002"}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(a,{...e})}):a(e)}},93671:(e,n,s)=>{s.d(n,{A:()=>d});const d=s.p+"assets/images/vscode-ext-install-1-f0f827f20fbcf215b5e4468706e143fd.png"},25196:(e,n,s)=>{s.d(n,{A:()=>d});const d=s.p+"assets/images/vscode-ext-install-2-f5867f1ebc9a1d680dc895dc9a6552c7.png"},8085:(e,n,s)=>{s.d(n,{A:()=>d});const d=s.p+"assets/images/vscode-ext-install-3-f5867f1ebc9a1d680dc895dc9a6552c7.png"},27134:(e,n,s)=>{s.d(n,{A:()=>d});const d=s.p+"assets/images/vscode-ext-shop-e7624cf5878850cfa077f46f715b450c.png"},5409:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var d=s(48318);const r={},i=d.createContext(r);function l(e){const n=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),d.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f1abeebd.f85e2ca5.js b/pr-preview/pr-1298/assets/js/f1abeebd.f85e2ca5.js deleted file mode 100644 index 36d03dddcd..0000000000 --- a/pr-preview/pr-1298/assets/js/f1abeebd.f85e2ca5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7441],{5707:(s,e,r)=>{r.r(e),r.d(e,{assets:()=>t,contentTitle:()=>c,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>o});var n=r(49214),l=r(5409);const i={sidebar_position:1,title:"slurm",description:"\u4f7f\u7528slurm\u7684\u96c6\u7fa4\u7684\u914d\u7f6e"},c="\u914d\u7f6e\u4f7f\u7528slurm\u7684\u96c6\u7fa4",d={id:"deploy/config/mis/schedulers/slurm",title:"slurm",description:"\u4f7f\u7528slurm\u7684\u96c6\u7fa4\u7684\u914d\u7f6e",source:"@site/docs/deploy/config/mis/schedulers/slurm.md",sourceDirName:"deploy/config/mis/schedulers",slug:"/deploy/config/mis/schedulers/slurm",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/mis/schedulers/slurm.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"slurm",description:"\u4f7f\u7528slurm\u7684\u96c6\u7fa4\u7684\u914d\u7f6e"},sidebar:"deploy",previous:{title:"\u8c03\u5ea6\u5668",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668"},next:{title:"\u540c\u6b65\u5c01\u9501\u72b6\u6001",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync"}},t={},o=[{value:"\u9009\u5b9aslurm\u8282\u70b9\u548c\u90e8\u7f72slurm\u9002\u914d\u5668",id:"\u9009\u5b9aslurm\u8282\u70b9\u548c\u90e8\u7f72slurm\u9002\u914d\u5668",level:2},{value:"\u4fee\u6539\u96c6\u7fa4\u914d\u7f6e",id:"\u4fee\u6539\u96c6\u7fa4\u914d\u7f6e",level:2},{value:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",id:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",level:2},{value:"SCOW\u548cslurm\u7528\u6237\u4fe1\u606f\u7684\u5173\u7cfb",id:"scow\u548cslurm\u7528\u6237\u4fe1\u606f\u7684\u5173\u7cfb",level:2}];function u(s){const e={code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...s.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h1,{id:"\u914d\u7f6e\u4f7f\u7528slurm\u7684\u96c6\u7fa4",children:"\u914d\u7f6e\u4f7f\u7528slurm\u7684\u96c6\u7fa4"}),"\n",(0,n.jsx)(e.h2,{id:"\u9009\u5b9aslurm\u8282\u70b9\u548c\u90e8\u7f72slurm\u9002\u914d\u5668",children:"\u9009\u5b9aslurm\u8282\u70b9\u548c\u90e8\u7f72slurm\u9002\u914d\u5668"}),"\n",(0,n.jsxs)(e.p,{children:["\u5728\u96c6\u7fa4\u4e2d\u9009\u5b9a\u4e00\u4e2a\u8282\u70b9\u4f5c\u4e3a",(0,n.jsx)(e.strong,{children:"slurm\u8282\u70b9"}),"\u3002\u6b64\u8282\u70b9\u9700\u8981\u90e8\u7f72slurm\u9002\u914d\u5668\u5e76\u4fdd\u8bc1\u6b63\u786e\u8fd0\u884c\u3002"]}),"\n",(0,n.jsx)(e.h2,{id:"\u4fee\u6539\u96c6\u7fa4\u914d\u7f6e",children:"\u4fee\u6539\u96c6\u7fa4\u914d\u7f6e"}),"\n",(0,n.jsxs)(e.p,{children:["\u5728",(0,n.jsx)(e.code,{children:"config/clusters/{\u4f7f\u7528slurm\u7684\u96c6\u7fa4\u7684ID}.yml"}),"\u4e2d\uff0c\u4fee\u6539\u914d\u7f6e(\u4f7f\u7528\u9002\u914d\u5668\u7684ip\u5730\u5740\u548c\u7aef\u53e3\u53f7)"]}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-yaml",metastring:'title="config/clusters/{\u4f7f\u7528slurm\u7684\u96c6\u7fa4\u7684\u96c6\u7fa4ID}.yml"',children:"# ...\nadapterUrl: localhost:8972\n"})}),"\n",(0,n.jsx)(e.h2,{id:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",children:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f"}),"\n",(0,n.jsx)(e.p,{children:"\u5982\u679c\u60a8\u5df2\u6709\u4e00\u4e2aslurm\u96c6\u7fa4\uff0c\u5728\u7ba1\u7406\u7cfb\u7edf\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528\u672c\u529f\u80fd\u5c06slurm\u4e2d\u7684\u7528\u6237\u4fe1\u606f\u5bfc\u5165\u672c\u7cfb\u7edf\u3002"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"\u5bfc\u5165\u5df2\u6709\u7528\u6237\u4fe1\u606f",src:r(75806).A+"",width:"885",height:"769"})}),"\n",(0,n.jsx)(e.p,{children:"\u7cfb\u7edf\u4f1a\u4eceslurm\u96c6\u7fa4\u4e2d\u8bfb\u53d6\u7528\u6237\u548c\u8d26\u6237\u4fe1\u606f\uff0c\u663e\u793a\u5728\u8868\u683c\u4e2d\u3002\u4e0d\u5b58\u5728\u540d\u5b57\u7684\u7528\u6237\u7684\u521d\u59cb\u540d\u5b57\u9ed8\u8ba4\u4e3a\u81ea\u5df1\u7684ID\u3002"}),"\n",(0,n.jsxs)(e.p,{children:["\u7cfb\u7edf\u9ed8\u8ba4\u5c06",(0,n.jsx)(e.code,{children:"a_\u7528\u6237ID == \u8d26\u6237ID"}),"\u7684\u7528\u6237\u8bbe\u7f6e\u4e3a\u62e5\u6709\u8005\u3002\u6b64\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5728\u7cfb\u7edf\u4e2d\u9009\u62e9\u62e5\u6709\u8005\uff0c\u9700\u8981\u6ce8\u610f\u7cfb\u7edf\u8981\u6c42\u8d26\u6237\u7684\u62e5\u6709\u8005\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a\u3002"]}),"\n",(0,n.jsxs)(e.p,{children:["\u5728\u7cfb\u7edf\u521d\u59cb\u5316\u65f6\uff0c\u6216\u8005\u7cfb\u7edf\u521d\u59cb\u5316\u540e\u4f7f\u7528\u5e73\u53f0\u7ba1\u7406\u5458\u7528\u6237\u767b\u5f55\u540e\u9009\u62e9",(0,n.jsx)(e.strong,{children:"\u5e73\u53f0\u7ba1\u7406"}),"->",(0,n.jsx)(e.strong,{children:"\u5bfc\u5165\u7528\u6237"}),"\uff0c\u5373\u53ef\u4f7f\u7528\u5bfc\u5165\u7528\u6237\u529f\u80fd\u3002\u5982\u679c\u9700\u8981\u5c06\u65b0\u52a0\u5165\u7684\u8d26\u6237\u90fd\u52a0\u5165\u767d\u540d\u5355\u4e2d\uff0c\u8bf7\u52fe\u9009",(0,n.jsx)(e.code,{children:"\u5c06\u6240\u6709\u8d26\u6237\u52a0\u5165\u767d\u540d\u5355"}),"\u3002\u70b9\u51fb\u786e\u5b9a\uff0c\u5373\u53ef\u5c06\u6240\u6709\u8d26\u6237\u5bfc\u5165\u6307\u5b9a\u79df\u6237\u4e2d\u3002"]}),"\n",(0,n.jsx)(e.h2,{id:"scow\u548cslurm\u7528\u6237\u4fe1\u606f\u7684\u5173\u7cfb",children:"SCOW\u548cslurm\u7528\u6237\u4fe1\u606f\u7684\u5173\u7cfb"}),"\n",(0,n.jsx)(e.p,{children:"\u4e3a\u4e86\u4fdd\u5b58\u5982\u8ba1\u8d39\u6536\u8d39\u7b49\u66f4\u591a\u4fe1\u606f\uff0cSCOW\u81ea\u5df1\u7ef4\u62a4\u4e00\u5957\u7528\u6237\u8d26\u6237\u4fe1\u606f\uff0c\u5e76\u5728\u8fdb\u884c\u5404\u79cd\u4e0e\u7528\u6237\u4fe1\u606f\u6709\u5173\u7684\u64cd\u4f5c\u65f6\u81ea\u52a8\u5c06\u8fd9\u4e2a\u64cd\u4f5c\u540c\u6b65\u5230slurm\u7684\u7528\u6237\u8d26\u6237\u4fe1\u606f\u4e2d\u3002"}),"\n",(0,n.jsxs)(e.p,{children:["\u4e3a\u4e86\u4fdd\u8bc1SCOW\u64cd\u4f5c\u7684\u6b63\u786e\u6027\uff0c\u6211\u4eec\u8981\u6c42",(0,n.jsx)(e.strong,{children:"SCOW\u7684\u7528\u6237\u4fe1\u606f\u4e3aslurm\u7528\u6237\u4fe1\u606f\u7684\u5b50\u96c6"}),"\u3002"]}),"\n",(0,n.jsx)(e.p,{children:"\u4ee5\u4e0b\u60c5\u51b5\u662f\u5141\u8bb8\u7684\uff1a"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["slurm\u4e2d\u6216\u8005\u8ba4\u8bc1\u7cfb\u7edf\u4e2d\u5b58\u5728\u7684\u7528\u6237SCOW\u4e2d\u4e0d\u5b58\u5728","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"\u5728SCOW\u521b\u5efa\u8fd9\u4e2a\u7528\u6237\u65f6\uff08\u7528\u6237ID\u548c\u5df2\u6709\u7528\u6237\u76f8\u540c\uff09\uff0cSCOW\u5c06\u4f1a\u63d0\u793a\u8ba4\u8bc1\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\u6b64\u7528\u6237\uff0c\u5e76\u5141\u8bb8\u7528\u6237\u76f4\u63a5\u5728SCOW\u4e2d\u6dfb\u52a0\u7528\u6237"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["slurm\u4e2d\u5b58\u5728\u7684\u8d26\u6237SCOW\u4e2d\u4e0d\u5b58\u5728","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"\u5728SCOW\u4e2d\u521b\u5efa\u8fd9\u4e2a\u8d26\u6237\u65f6\uff0c\u5982\u679cslurm\u4e2d\u5df2\u7ecf\u5b58\u5728\uff0cSCOW\u5c06\u76f4\u63a5\u6dfb\u52a0\u5230SCOW\u6570\u636e\u5e93\u4e2d\uff0c\u5e76\u5c1d\u8bd5\u628a\u62e5\u6709\u8005\u52a0\u5165\u8d26\u6237\u4e2d"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["slurm\u4e2d\u4e00\u4e2a\u7528\u6237\u5b58\u5728\u4e8e\u4e00\u4e2a\u8d26\u6237\u4e2d\uff0cSCOW\u4e2d\u6ca1\u6709","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"\u5728SCOW\u4e2d\u5c06\u8fd9\u4e2a\u7528\u6237\u52a0\u5165\u8d26\u6237\u65f6\uff0c\u5982\u679cslurm\u4e2d\u7528\u6237\u5df2\u7ecf\u5b58\u5728\u4e8e\u8d26\u6237\u4e2d\uff0cSCOW\u5c06\u4f1a\u76f4\u63a5\u5728slurm\u7684\u7528\u6237\u4fe1\u606f\u4e2d\u6dfb\u52a0\u8fd9\u4e2a\u7528\u6237\u8d26\u6237\u5173\u7cfb"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.p,{children:"\u4ee5\u4e0b\u60c5\u51b5\u5728\u8fdb\u884c\u548cslurm\u6709\u5173\u7684\u64cd\u4f5c\uff08\u5982\u5c01\u9501\u89e3\u5c01\uff09\u65f6\u4f1a\u51fa\u9519\uff0c\u5728\u8fdb\u884c\u53ea\u548cSCOW\u6709\u5173\u7684\u64cd\u4f5c\uff08\u5982\u8bbe\u7f6e\u9650\u989d\u3001\u8bbe\u7f6e\u7528\u6237\u7ba1\u7406\u5458\u6743\u9650\u7b49\uff09\u65f6\u4e0d\u4f1a\u62a5\u9519\uff1a"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"SCOW\u4e2d\u4e00\u4e2a\u7528\u6237\u4e8e\u4e00\u4e2a\u8d26\u6237\u4e2d\uff0cslurm\u4e2d\u6ca1\u6709"}),"\n",(0,n.jsx)(e.li,{children:"SCOW\u4e2d\u5b58\u5728\u7684\u7528\u6237\u6216\u8005\u8d26\u6237\u65f6slurm\u4e2d\u4e0d\u5b58\u5728"}),"\n"]}),"\n",(0,n.jsx)(e.p,{children:"\u6211\u4eec\u5efa\u8bae\uff0c\u90e8\u7f72\u597dSCOW\u7cfb\u7edf\u540e\uff0c\u6240\u6709SCOW\u4e2d\u652f\u6301\u7684\u529f\u80fd\u90fd\u4eceSCOW\u4e2d\u64cd\u4f5c\u3002\u5982\u679c\u9700\u8981\u4e00\u4e9bSCOW\u4e2d\u4e0d\u652f\u6301\u7684\u64cd\u4f5c\uff0c\u8bf7\u5b8c\u6210\u64cd\u4f5c\u540e\u7acb\u5373\u624b\u52a8\u4fee\u6539\u6570\u636e\u5e93\uff0c\u4f7fSCOW\u548cslurm\u7684\u7528\u6237\u4fe1\u606f\u540c\u6b65\u3002"})]})}function m(s={}){const{wrapper:e}={...(0,l.R)(),...s.components};return e?(0,n.jsx)(e,{...s,children:(0,n.jsx)(u,{...s})}):u(s)}},75806:(s,e,r)=>{r.d(e,{A:()=>n});const n=r.p+"assets/images/import-users-bf3cfc54075a63287a0b7dbf5ce0d53c.png"},5409:(s,e,r)=>{r.d(e,{R:()=>c,x:()=>d});var n=r(48318);const l={},i=n.createContext(l);function c(s){const e=n.useContext(i);return n.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function d(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(l):s.components||l:c(s.components),n.createElement(i.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f1d6bce2.fb49932b.js b/pr-preview/pr-1298/assets/js/f1d6bce2.fb49932b.js deleted file mode 100644 index 3cc58a6e94..0000000000 --- a/pr-preview/pr-1298/assets/js/f1d6bce2.fb49932b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[58],{81675:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var a=r(49214),n=r(5409);const i={sidebar_position:5,title:"FAQ"},d=void 0,s={id:"deploy/get-started/vagrant/faq",title:"FAQ",description:"1. Invalid value 'WAS' in AudioAdapter/@driver attribute",source:"@site/docs/deploy/get-started/vagrant/faq.md",sourceDirName:"deploy/get-started/vagrant",slug:"/deploy/get-started/vagrant/faq",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/get-started/vagrant/faq.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"FAQ"},sidebar:"deploy",previous:{title:"vagrant\u955c\u50cf\u5236\u4f5c",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images"},next:{title:"\u5b89\u88c5",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5"}},o={},c=[{value:"1. Invalid value 'WAS' in AudioAdapter/@driver attribute",id:"1--invalid-value-was-in-audioadapterdriver-attribute",level:3}];function p(e){const t={code:"code",h3:"h3",img:"img",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h3,{id:"1--invalid-value-was-in-audioadapterdriver-attribute",children:"1. Invalid value 'WAS' in AudioAdapter/@driver attribute"}),"\n",(0,a.jsx)(t.p,{children:"\u5728vagrant up\u65f6\u51fa\u73b0\u5982\u4e0b\u62a5\u9519\uff1a"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"image-20230126080954387",src:r(97294).A+"",width:"982",height:"356"})}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.strong,{children:"\u89e3\u51b3\u65b9\u6cd5\uff1a"})}),"\n",(0,a.jsxs)(t.p,{children:["\u8fdb\u5165vagrant\u7684box\u76ee\u5f55\uff0c\u627e\u5230\u5bf9\u5e94box\u7684box.ovf\u914d\u7f6e\u6587\u4ef6(\u9ed8\u8ba4\u5728",(0,a.jsx)(t.code,{children:"{userhome}/.vagrant.d/boxes/"}),"\u4e0b\u8fdb\u5165\u5bf9\u5e94\u7684box\u76ee\u5f55\u67e5\u627e)\uff0c\u5220\u9664",(0,a.jsx)(t.code,{children:"AudioAdapter"}),"\u914d\u7f6e\u3002"]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"image-20230126082518267",src:r(68448).A+"",width:"1019",height:"327"})})]})}function l(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},68448:(e,t,r)=>{r.d(t,{A:()=>a});const a=r.p+"assets/images/was-audioadapter-error-fix-1348588c841c023dac24bad4af0bd1bc.png"},97294:(e,t,r)=>{r.d(t,{A:()=>a});const a=r.p+"assets/images/was-audioadapter-error-6a429ed3e90d34880ee7a2a2a5caff23.png"},5409:(e,t,r)=>{r.d(t,{R:()=>d,x:()=>s});var a=r(48318);const n={},i=a.createContext(n);function d(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f2814725.b401d4f5.js b/pr-preview/pr-1298/assets/js/f2814725.b401d4f5.js deleted file mode 100644 index 4a406c071c..0000000000 --- a/pr-preview/pr-1298/assets/js/f2814725.b401d4f5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[9838],{75148:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>r,contentTitle:()=>s,default:()=>u,frontMatter:()=>c,metadata:()=>l,toc:()=>p});var o=t(49214),n=t(5409);const c={sidebar_position:3,title:"\u516c\u5171\u6587\u4ef6"},s="\u516c\u5171\u6587\u4ef6",l={id:"deploy/config/customization/public-files",title:"\u516c\u5171\u6587\u4ef6",description:"\u60a8\u5b58\u653e\u5728\u548cinstall.yml\u540c\u7ea7\u7684public\u76ee\u5f55\u4e0b\u4e0b\u7684\u6587\u4ef6\u5c06\u53ef\u4ee5\u5728SCOW\u90e8\u7f72\u8def\u5f84\u7684/public \u8def\u5f84\u4e0b\u8bbf\u95ee\u3002",source:"@site/docs/deploy/config/customization/public-files.md",sourceDirName:"deploy/config/customization",slug:"/deploy/config/customization/public-files",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/customization/public-files.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"\u516c\u5171\u6587\u4ef6"},sidebar:"deploy",previous:{title:"\u81ea\u5b9a\u4e49\u524d\u7aef\u9879\u76ee\u4e3b\u9898",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui"},next:{title:"\u81ea\u5b9a\u4e49\u5bfc\u822a\u94fe\u63a5",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks"}},r={},p=[];function d(e){const i={code:"code",h1:"h1",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.h1,{id:"\u516c\u5171\u6587\u4ef6",children:"\u516c\u5171\u6587\u4ef6"}),"\n",(0,o.jsxs)(i.p,{children:["\u60a8\u5b58\u653e\u5728\u548c",(0,o.jsx)(i.code,{children:"install.yml"}),"\u540c\u7ea7\u7684",(0,o.jsx)(i.code,{children:"public"}),"\u76ee\u5f55\u4e0b\u4e0b\u7684\u6587\u4ef6\u5c06\u53ef\u4ee5\u5728SCOW\u90e8\u7f72\u8def\u5f84\u7684",(0,o.jsx)(i.code,{children:"/__public__"})," \u8def\u5f84\u4e0b\u8bbf\u95ee\u3002"]}),"\n",(0,o.jsxs)(i.p,{children:["\u4f8b\u5982",(0,o.jsx)(i.code,{children:"public/test.png"}),"\uff0cSCOW\u7684base path\u4e3a",(0,o.jsx)(i.code,{children:"/scow"}),"\uff0c\u5219\u53ef\u4ee5\u5728",(0,o.jsx)(i.code,{children:"/scow/__public__/test.png"}),"\u4e0b\u8bbf\u95ee\u5230\u8fd9\u4e2a\u6587\u4ef6\u3002"]}),"\n",(0,o.jsxs)(i.p,{children:["\u66f4\u65b0",(0,o.jsx)(i.code,{children:"public"}),"\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u65e0\u9700\u91cd\u542f\u670d\u52a1\u5668\u3002"]})]})}function u(e={}){const{wrapper:i}={...(0,n.R)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},5409:(e,i,t)=>{t.d(i,{R:()=>s,x:()=>l});var o=t(48318);const n={},c=o.createContext(n);function s(e){const i=o.useContext(c);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),o.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f383e482.50afac30.js b/pr-preview/pr-1298/assets/js/f383e482.50afac30.js deleted file mode 100644 index 69f93b75d5..0000000000 --- a/pr-preview/pr-1298/assets/js/f383e482.50afac30.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[1836],{63046:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>i});var p=s(49214),n=s(5409);const o={slug:"update-portal-app",title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",authors:["sunyixin"],tags:["scow","scow-portal-apps","scow-apps"]},r=void 0,a={permalink:"/SCOW/pr-preview/pr-1298/blog/update-portal-app",editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/blog/blog/2023-07-05-update-app.md",source:"@site/blog/2023-07-05-update-app.md",title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",description:"\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c\u5728SCOW\u95e8\u6237\u7cfb\u7edf\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e0b\uff0c\u6211\u4eec\u901a\u8fc7\u5728config/apps\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\uff0c\u5b9e\u73b0\u521b\u5efa\u5404\u4e2a\u96c6\u7fa4\u4e0b\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u3002",date:"2023-07-05T00:00:00.000Z",tags:[{label:"scow",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow"},{label:"scow-portal-apps",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps"},{label:"scow-apps",permalink:"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps"}],readingTime:1.305,hasTruncateMarker:!1,authors:[{name:"Sun Yixin",title:"Developer",url:"https://github.com/piccaSun",imageURL:"https://avatars.githubusercontent.com/u/43978285",key:"sunyixin"}],frontMatter:{slug:"update-portal-app",title:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u66f4\u65b0",authors:["sunyixin"],tags:["scow","scow-portal-apps","scow-apps"]},unlisted:!1,prevItem:{title:"SCOW\u5347\u7ea7\uff1a\u4ecev0.4.0(\u53ca\u4ee5\u4e0a)\u5230v1.0.0",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0"},nextItem:{title:"SCOW\u8c03\u5ea6\u5668\u9002\u914d\u5668",permalink:"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter"}},c={authorsImageUrls:[void 0]},i=[];function l(e){const t={a:"a",code:"code",li:"li",p:"p",ul:"ul",...(0,n.R)(),...e.components};return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(t.p,{children:["\u4e0a\u4e00\u4e2a\u7248\u672c\uff0c\u5728SCOW\u95e8\u6237\u7cfb\u7edf\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u4e0b\uff0c\u6211\u4eec\u901a\u8fc7\u5728",(0,p.jsx)(t.code,{children:"config/apps"}),"\u4e0b\u914d\u7f6e\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\uff0c\u5b9e\u73b0\u521b\u5efa\u5404\u4e2a\u96c6\u7fa4\u4e0b\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u3002\n\u4f46\u662f\u8003\u8651\u5230\u4e0d\u540c\u96c6\u7fa4\u7684\u8ba1\u7b97\u673a\u8282\u70b9\u4e0b\u5b89\u88c5\u73af\u5883\u4e0d\u540c\uff0c\u53ef\u80fd\u65e0\u6cd5\u6ee1\u8db3\u5bf9\u6240\u6709\u83b7\u53d6\u5230\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u7684\u6b63\u5e38\u4f7f\u7528\u3002"]}),"\n",(0,p.jsx)(t.p,{children:"\u4e3a\u4e86\u8ba9\u5927\u5bb6\u66f4\u65b9\u4fbf\u3001\u9ad8\u6548\u5730\u7ba1\u7406\u548c\u4f7f\u7528SCOW\u96c6\u7fa4\uff0c\u6211\u4eec\u5728\u65b0\u7248\u672c\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u90e8\u5206\uff0c\u5b9e\u73b0\u4e86\u4ee5\u4e0b\u529f\u80fd\uff1a"}),"\n",(0,p.jsxs)(t.ul,{children:["\n",(0,p.jsxs)(t.li,{children:["\u5b9e\u73b0\u5728",(0,p.jsx)(t.code,{children:"config/clusters/{\u96c6\u7fa4ID}/apps"}),"\u4e0b\u5bf9\u7279\u5b9a\u96c6\u7fa4\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u8fdb\u884c\u5355\u72ec\u914d\u7f6e"]}),"\n",(0,p.jsxs)(t.li,{children:["\u540c\u65f6\u6709\u6548\u517c\u5bb9\u65e7\u7248\u672c",(0,p.jsx)(t.code,{children:"config/apps"}),"\u4e0b\u6240\u6709\u96c6\u7fa4\u5747\u53ef\u4ee5\u4f7f\u7528\u7684\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e"]}),"\n",(0,p.jsx)(t.li,{children:"\u4ea4\u4e92\u5f0f\u5e94\u7528\u914d\u7f6e\u589e\u52a0\u53ef\u9009\u81ea\u5b9a\u4e49\u56fe\u6807\u914d\u7f6e\uff0c\u5728\u521b\u5efa\u5e94\u7528\u9875\u9762\u5b9e\u73b0\u4ea4\u4e92\u5f0f\u5e94\u7528\u56fe\u6807\u53ef\u89c6\u5316\u7ba1\u7406"}),"\n"]}),"\n",(0,p.jsxs)(t.p,{children:["\u8be6\u7ec6\u8bf4\u660e\u53ef\u53c2\u8003SCOW",(0,p.jsx)(t.code,{children:"\u90e8\u7f72\u548c\u914d\u7f6e"}),"\u4e0b\u7684",(0,p.jsx)(t.a,{href:"https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps",children:"\u591a\u96c6\u7fa4\u4e0b\u7684\u5e94\u7528\u914d\u7f6e"}),"\u3002"]})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,p.jsx)(t,{...e,children:(0,p.jsx)(l,{...e})}):l(e)}},5409:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>a});var p=s(48318);const n={},o=p.createContext(n);function r(e){const t=p.useContext(o);return p.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),p.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f3b93fbd.167f9741.js b/pr-preview/pr-1298/assets/js/f3b93fbd.167f9741.js deleted file mode 100644 index 4c5cb73ac0..0000000000 --- a/pr-preview/pr-1298/assets/js/f3b93fbd.167f9741.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[3043],{44387:(e,n,c)=>{c.r(n),c.d(n,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>t,metadata:()=>l,toc:()=>r});var s=c(49214),a=c(5409);const t={sidebar_position:1},o="Octave",l={id:"deploy/config/portal/apps/apps/octave/index",title:"Octave",description:"\u8f6f\u4ef6\u7b80\u4ecb",source:"@site/docs/deploy/config/portal/apps/apps/octave/index.md",sourceDirName:"deploy/config/portal/apps/apps/octave",slug:"/deploy/config/portal/apps/apps/octave/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/apps/apps/octave/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"deploy",previous:{title:"Matlab",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab/"},next:{title:"Relion",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion/"}},i={},r=[{value:"\u8f6f\u4ef6\u7b80\u4ecb",id:"\u8f6f\u4ef6\u7b80\u4ecb",level:2},{value:"\u524d\u63d0\u6761\u4ef6",id:"\u524d\u63d0\u6761\u4ef6",level:2},{value:"1\u3001TurboVNC\u5b89\u88c5",id:"1turbovnc\u5b89\u88c5",level:3},{value:"2\u3001Octave\u5b89\u88c5",id:"2octave\u5b89\u88c5",level:3},{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2}];function p(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"octave",children:"Octave"}),"\n",(0,s.jsx)(n.h2,{id:"\u8f6f\u4ef6\u7b80\u4ecb",children:"\u8f6f\u4ef6\u7b80\u4ecb"}),"\n",(0,s.jsx)(n.p,{children:"Octave\u662f\u4e00\u79cd\u5f00\u6e90\u7684\u6570\u503c\u8ba1\u7b97\u5de5\u5177\uff0c\u53ef\u7528\u4e8e\u6267\u884c\u5404\u79cd\u6570\u503c\u8ba1\u7b97\u4efb\u52a1\uff0c\u5305\u62ec\u7ebf\u6027\u4ee3\u6570\u3001\u975e\u7ebf\u6027\u4f18\u5316\u3001\u4fe1\u53f7\u5904\u7406\u3001\u56fe\u50cf\u5904\u7406\u548c\u7edf\u8ba1\u5206\u6790\u7b49\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u524d\u63d0\u6761\u4ef6",children:"\u524d\u63d0\u6761\u4ef6"}),"\n",(0,s.jsx)(n.p,{children:"\u8bf7\u786e\u4fdd\u5728\u9700\u8981\u8fd0\u884c\u684c\u9762\u7c7b\u5e94\u7528\u7684\u673a\u5668\u4e0a\u5b89\u88c5\u6709\uff1a"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"TurboVNC 3.0\u7248\u672c\u53ca\u4ee5\u4e0a"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u60a8\u9700\u8981\u8fd0\u884c\u7684Octave"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"1turbovnc\u5b89\u88c5",children:"1\u3001TurboVNC\u5b89\u88c5"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate\nmv TurboVNC.repo /etc/yum.repos.d\n# \u5b89\u88c5\u6700\u65b0\u7248\u672c\nyum install turbovnc -y\n"})}),"\n",(0,s.jsx)(n.h3,{id:"2octave\u5b89\u88c5",children:"2\u3001Octave\u5b89\u88c5"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["octave\u53ef\u4ee5\u901a\u8fc7conda\u8fdb\u884c\u5b89\u88c5\uff0c\u8bf7\u53c2\u8003Jupyter\u5e94\u7528\u914d\u7f6e\u9644\u7ae0\u4e2d\u7684",(0,s.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/",children:"Anaconda\u5b89\u88c5"}),"\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u521b\u5efa\u4e00\u4e2a\u65b0\u7684conda\u73af\u5883\uff0c\u65b0\u73af\u5883\u540d\u79f0\u683c\u5f0f\u4f7f\u7528\u201c\u8f6f\u4ef6\u540d-\u7248\u672c\u53f7\u201d\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"conda create -n octave-7.2.0 -y\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u6fc0\u6d3b\u65b0\u521b\u5efa\u7684\u73af\u5883\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"conda activate octave-7.2.0\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"\u5b89\u88c5 Octave\uff1a"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"conda install octave=7.2.0\n"})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u4e0b\u9762\u8bb2\u89e3\u5982\u4f55\u914d\u7f6e\u4f7f\u7528Octave\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u914d\u7f6e\u6587\u4ef6",children:"\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,s.jsxs)(n.p,{children:["\u521b\u5efa",(0,s.jsx)(n.code,{children:"config/apps"}),"\u76ee\u5f55\uff0c\u5728\u91cc\u9762\u521b\u5efa",(0,s.jsx)(n.code,{children:"octave.yml"}),"\u6587\u4ef6\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="config/apps/octave.yml"',children:'# \u8fd9\u4e2a\u5e94\u7528\u7684ID\nid: octave\n\n# \u8fd9\u4e2a\u5e94\u7528\u7684\u540d\u5b57\nname: octave\n\n# \u6307\u5b9a\u5e94\u7528\u7c7b\u578b\u4e3avnc\ntype: vnc\n\n# VNC\u5e94\u7528\u7684\u914d\u7f6e\nvnc:\n # \u51c6\u5907\u811a\u672c\n beforeScript: |\n export CONDA_VERSION="anaconda/3-2023.03"\n export SHELL_NAME=$(echo ${SHELL} | awk -F\'/\' \'{print $NF}\')\n\n # \u6b64X Session\u7684xstartup\u811a\u672c\n xstartup: |\n module switch ${CONDA_VERSION}\n eval "$($(which conda) shell.${SHELL_NAME} hook)"\n\n conda activate ${octave_version}\n if [ $? -ne 0 ]; then\n exit 1\n fi\n octave --gui\n \n# \u914d\u7f6eHTML\u8868\u5355\nattributes:\n - type: select\n name: octave_version\n label: \u9009\u62e9\u7248\u672c\n select:\n - value: octave-7.2.0\n label: octave-7.2.0\n - type: text\n name: sbatchOptions\n label: \u5176\u4ed6sbatch\u53c2\u6570\n required: false\n placeholder: "\u6bd4\u5982\uff1a--gpus gres:2 --time 10"\n'})}),"\n",(0,s.jsx)(n.p,{children:"\u589e\u52a0\u4e86\u6b64\u6587\u4ef6\u540e\uff0c\u5237\u65b0WEB\u6d4f\u89c8\u5668\u5373\u53ef\u3002"}),"\n",(0,s.jsx)(n.p,{children:"\u5bf9\u4e8eOctave\uff0cexport\u4ee5\u4e0b\u53d8\u91cf\u7684\u542b\u4e49\u662f\uff1a"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"SHELL_NAME"}),"\uff1a\u5f53\u524d\u4f1a\u8bdd\u7684shell\u540d\u79f0"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"CONDA_VERSION"}),"\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u7684conda\u7248\u672c"]}),"\n"]}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},5409:(e,n,c)=>{c.d(n,{R:()=>o,x:()=>l});var s=c(48318);const a={},t=s.createContext(a);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f537da69.d9a77f51.js b/pr-preview/pr-1298/assets/js/f537da69.d9a77f51.js deleted file mode 100644 index 4be0db3c06..0000000000 --- a/pr-preview/pr-1298/assets/js/f537da69.d9a77f51.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5488],{49478:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>d,contentTitle:()=>r,default:()=>a,frontMatter:()=>i,metadata:()=>t,toc:()=>l});var c=n(49214),s=n(5409);const i={sidebar_position:1,title:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8"},r="\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8",t={id:"deploy/config/portal/customization/dashboard",title:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8",description:"\u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u95e8\u6237\u9879\u76ee\u4eea\u8868\u76d8\u7684LOGO\u548c\u6587\u672c\u3002",source:"@site/docs/deploy/config/portal/customization/dashboard.md",sourceDirName:"deploy/config/portal/customization",slug:"/deploy/config/portal/customization/dashboard",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/portal/customization/dashboard.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8"},sidebar:"deploy",previous:{title:"Shell\u7ec8\u7aef\u6587\u4ef6\u4f20\u8f93\u529f\u80fd",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell"},next:{title:"\u4ee3\u7406\u7f51\u5173\u8282\u70b9",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway/"}},d={},l=[{value:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8LOGO",id:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8logo",level:2}];function p(e){const o={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(o.h1,{id:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8",children:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8"}),"\n",(0,c.jsx)(o.p,{children:"\u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u95e8\u6237\u9879\u76ee\u4eea\u8868\u76d8\u7684LOGO\u548c\u6587\u672c\u3002"}),"\n",(0,c.jsx)(o.h2,{id:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8logo",children:"\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8LOGO"}),"\n",(0,c.jsxs)(o.p,{children:["LOGO\u56fe\u7247\u7684\u6587\u4ef6\u540d\u5e94\u4e3a",(0,c.jsx)(o.code,{children:"banner"}),"\uff0c\u540e\u7f00\u5e94\u4e3a",(0,c.jsx)(o.code,{children:"svg"}),", ",(0,c.jsx)(o.code,{children:"png"}),"\u6216\u8005",(0,c.jsx)(o.code,{children:"jpg"}),"\u540e\u7f00\u540d\uff0c\u5982\u679c\u591a\u4e2a\u540e\u7f00\u540d\u7684\u6587\u4ef6\u540c\u65f6\u5b58\u5728\uff0c\u5219\u987a\u5e8f\u4e3a",(0,c.jsx)(o.code,{children:"svg"}),", ",(0,c.jsx)(o.code,{children:"png"}),", ",(0,c.jsx)(o.code,{children:"jpg"}),"\u3002"]}),"\n",(0,c.jsxs)(o.p,{children:["\u6709\u7684\u56fe\u7247\u5728\u6697\u8272\u4e3b\u9898\u4e0b\u663e\u793a\u80cc\u666f\u4e0d\u4f73\uff0c\u7cfb\u7edf\u652f\u6301\u5355\u72ec\u8bbe\u7f6e\u5728",(0,c.jsx)(o.strong,{children:"\u6697\u8272\u6a21\u5f0f\u4e0b\u663e\u793a\u7684LOGO\u56fe\u7247"}),"\u3002\u5728\u6697\u8272\u6a21\u5f0f\u4e0b\u663e\u793a\u7684LOGO\u56fe\u7247\u7684\u6587\u4ef6\u540d\u5e94\u8be5\u4e3a",(0,c.jsx)(o.code,{children:"banner.dark"}),"\uff0c\u540e\u7f00\u540d\u89c4\u5219\u548c\u4e0a\u8ff0\u89c4\u5219\u76f8\u540c\u3002\u5982\u679c\u4e0d\u5b58\u5728\u6697\u8272\u6a21\u5f0f\u4e0b\u7684\u56fe\u7247\uff0c\u5219\u7cfb\u7edf\u5c06\u663e\u793a\u6b63\u5e38\u6a21\u5f0f\u4e0b\u7684LOGO\u56fe\u7247\u3002"]}),"\n",(0,c.jsxs)(o.p,{children:["\u5c06LOGO\u56fe\u7247\u653e\u5165",(0,c.jsx)(o.code,{children:"config/logo"}),"\u4e0b\u5373\u53ef\u3002"]}),"\n",(0,c.jsxs)(o.p,{children:["\u7cfb\u7edf\u652f\u6301\u6839\u636e\u4e0d\u540c\u7684\u6765\u8bbf\u57df\u540d\u663e\u793a\u4e0d\u540c\u7684LOGO\u3002\u5c06\u9700\u8981\u5728\u67d0\u4e2a\u57df\u540d\u4e0b\u663e\u793a\u7684LOGO\u6587\u4ef6\u653e\u5230",(0,c.jsx)(o.code,{children:"config/logo/{\u57df\u540d}"}),"\u4e0b\u5373\u53ef\u3002",(0,c.jsx)(o.code,{children:"config/logo"}),"\u4e0b\u7684\u6587\u4ef6\u4e3a\u5bf9\u6240\u6709\u5176\u4ed6\u57df\u540d\u7684LOGO\u56fe\u7247\u3002\u5224\u65ad\u6765\u8bbf\u57df\u540d\u7684\u89c4\u5219\u8bf7\u53c2\u8003",(0,c.jsx)(o.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui#%E6%9D%A5%E8%AE%BF%E7%9A%84%E5%9F%9F%E5%90%8D",children:"\u8fd9\u91cc"}),"\u3002"]}),"\n",(0,c.jsxs)(o.p,{children:["\u5982\u679c\u60a8\u4f7f\u7528",(0,c.jsx)(o.code,{children:"svg"}),"\u56fe\u7247\uff0c\u90a3\u4e48\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8LOGO\u5c06\u4f1a\u9ed8\u8ba4\u5360\u636e\u6574\u4e2a\u9875\u9762\u7684100%\u5bbd\u5ea6\uff0c\u9ad8\u5ea6\u8ddf\u968f\u5bbd\u5ea6\u81ea\u52a8\u7f29\u653e\u3002\u60a8\u53ef\u4ee5\u7ed9\u60a8\u7684",(0,c.jsx)(o.code,{children:"svg"}),"\u6587\u4ef6\u7684",(0,c.jsx)(o.code,{children:"svg"}),"\u6807\u7b7e\u8bbe\u7f6e",(0,c.jsx)(o.code,{children:"width"}),"\u5c5e\u6027\u6765\u9650\u5236\u56fe\u7247\u7684\u6700\u5927\u5bbd\u5ea6\u3002"]}),"\n",(0,c.jsxs)(o.p,{children:["\u5982\u679c\u60a8\u4f7f\u7528",(0,c.jsx)(o.code,{children:"png"}),"\u6216\u8005",(0,c.jsx)(o.code,{children:"jpg"}),"\u56fe\u7247\uff0c\u90a3\u4e48\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8LOGO\u7684\u6700\u5927\u5927\u5c0f\u4e3a\u56fe\u7247\u672c\u8eab\u7684\u5927\u5c0f\uff0c\u5982\u679c\u6d4f\u89c8\u5668\u89c6\u53e3\u5bbd\u5ea6\u5c0f\u4e8e\u56fe\u7247\u7684\u5bbd\u5ea6\uff0c\u5219\u56fe\u7247\u5c06\u4f1a\u81ea\u52a8\u7f29\u653e\u3002"]})]})}function a(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,c.jsx)(o,{...e,children:(0,c.jsx)(p,{...e})}):p(e)}},5409:(e,o,n)=>{n.d(o,{R:()=>r,x:()=>t});var c=n(48318);const s={},i=c.createContext(s);function r(e){const o=c.useContext(i);return c.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function t(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),c.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f58cd18e.07d7d1e1.js b/pr-preview/pr-1298/assets/js/f58cd18e.07d7d1e1.js deleted file mode 100644 index 35ad971634..0000000000 --- a/pr-preview/pr-1298/assets/js/f58cd18e.07d7d1e1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7815],{35509:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var t=i(49214),r=i(5409);const s={sidebar_position:1,title:"\u4e0eSCOW\u96c6\u6210"},o="\u4e0eSCOW\u96c6\u6210",c={id:"integration/index",title:"\u4e0eSCOW\u96c6\u6210",description:"\u96c6\u6210",source:"@site/docs/integration/index.md",sourceDirName:"integration",slug:"/integration/",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"\u4e0eSCOW\u96c6\u6210"},sidebar:"integration",next:{title:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/auth/use"}},a={},d=[];function l(e){const n={a:"a",h1:"h1",img:"img",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"\u4e0escow\u96c6\u6210",children:"\u4e0eSCOW\u96c6\u6210"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"\u96c6\u6210",src:i(69837).A+"",width:"1252",height:"1082"})}),"\n",(0,t.jsx)(n.p,{children:"\u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u5c06\u60a8\u81ea\u5df1\u7684\u5de5\u5177\u548c\u7cfb\u7edf\u4e0eSCOW\u7cfb\u7edf\u96c6\u6210\uff1a"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/auth/use",children:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl",children:"\u5b9e\u73b0\u81ea\u5b9a\u4e49\u8ba4\u8bc1\u7cfb\u7edf"})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/",children:"SCOW API"}),"\uff1a\u901a\u8fc7\u7f16\u7a0b\u8c03\u7528SCOW\u7684\u529f\u80fd"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook",children:"SCOW Hook"}),"\uff1a\u76d1\u542cSCOW\u7684\u4e8b\u4ef6"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/",children:"UI\u6269\u5c55"}),"\uff1a\u5c06\u60a8\u7684UI\u96c6\u6210\u8fdbSCOW"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},69837:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/integration-14be13722d8a2d7ad171a3a1eae37da2.png"},5409:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var t=i(48318);const r={},s=t.createContext(r);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f745c053.40af6985.js b/pr-preview/pr-1298/assets/js/f745c053.40af6985.js deleted file mode 100644 index df215d5703..0000000000 --- a/pr-preview/pr-1298/assets/js/f745c053.40af6985.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[6354],{76092:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>n,metadata:()=>p,toc:()=>d});var i=t(49214),o=t(5409);const n={},s=void 0,p={id:"refs/config/mis/definition-properties-db-properties-port",title:"definition-properties-db-properties-port",description:"port Type",source:"@site/docs/refs/config/mis/definition-properties-db-properties-port.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-db-properties-port",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-db-properties-port.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-db-properties-password",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password"},next:{title:"definition-properties-db-properties-user",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user"}},c={},d=[{value:"port Type",id:"port-type",level:2}];function f(e){const r={code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"port-type",children:"port Type"}),"\n",(0,i.jsx)(r.p,{children:(0,i.jsx)(r.code,{children:"integer"})})]})}function u(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(f,{...e})}):f(e)}},5409:(e,r,t)=>{t.d(r,{R:()=>s,x:()=>p});var i=t(48318);const o={},n=i.createContext(o);function s(e){const r=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function p(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f7f99c03.6b4b5b84.js b/pr-preview/pr-1298/assets/js/f7f99c03.6b4b5b84.js deleted file mode 100644 index 729bf91b7a..0000000000 --- a/pr-preview/pr-1298/assets/js/f7f99c03.6b4b5b84.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[5314],{58846:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var o=t(49214),r=t(5409);const i={},s=void 0,p={id:"refs/config/portal/definition-properties-logindesktop-properties-enabled",title:"definition-properties-logindesktop-properties-enabled",description:"enabled Type",source:"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled.md",sourceDirName:"refs/config/portal",slug:"/refs/config/portal/definition-properties-logindesktop-properties-enabled",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-jobmanagement",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement"},next:{title:"definition-properties-logindesktop-properties-maxdesktops",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops"}},d={},l=[{value:"enabled Type",id:"enabled-type",level:2},{value:"enabled Default Value",id:"enabled-default-value",level:2}];function a(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"enabled-type",children:"enabled Type"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"boolean"})}),"\n",(0,o.jsx)(n.h2,{id:"enabled-default-value",children:"enabled Default Value"}),"\n",(0,o.jsx)(n.p,{children:"The default value is:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:"true\n"})})]})}function c(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},5409:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var o=t(48318);const r={},i=o.createContext(r);function s(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f8b6983b.08d533e7.js b/pr-preview/pr-1298/assets/js/f8b6983b.08d533e7.js deleted file mode 100644 index 57151985b5..0000000000 --- a/pr-preview/pr-1298/assets/js/f8b6983b.08d533e7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[4701],{25452:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>x,frontMatter:()=>r,metadata:()=>o,toc:()=>t});var s=i(49214),c=i(5409);const r={sidebar_position:2,title:"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API"},d="\u6570\u636e\u7edf\u8ba1\u76f8\u5173API",o={id:"integration/scow-api-hook/api/statistic",title:"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API",description:"SCOW\u7cfb\u7edf\u63d0\u4f9b\u4e86\u4e00\u4e9b\u6570\u636e\u7edf\u8ba1\u76f8\u5173\u7684API\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9bAPI\u83b7\u53d6SCOW\u7cfb\u7edf\u7684\u4e00\u4e9b\u7edf\u8ba1\u6570\u636e\u3002\u5176\u4e2d\u6709\u90e8\u5206API\u662f\u4ee5\u65e5\u671f\u4e3a\u7ef4\u5ea6\u8fdb\u884c\u7684\u7edf\u8ba1\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9bAPI\u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u7edf\u8ba1\u6570\u636e\u3002\u4f46\u7531\u4e8e\u6570\u636e\u5e93\u91cc\u91c7\u7528\u7684\u662fUTC\u65f6\u95f4\uff0c\u5982\u679c\u5e0c\u671b\u7edf\u8ba1\u7684\u7ef4\u5ea6\u548c\u5ba2\u6237\u7aef\u4e00\u81f4\uff0c\u5728\u4f7f\u7528\u8fd9\u4e9bAPI\u65f6\uff0c\u60a8\u9700\u8981\u6ce8\u610f\u65f6\u533a\u7684\u95ee\u9898\u3002",source:"@site/docs/integration/scow-api-hook/api/statistic.md",sourceDirName:"integration/scow-api-hook/api",slug:"/integration/scow-api-hook/api/statistic",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/integration/scow-api-hook/api/statistic.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API"},sidebar:"integration",previous:{title:"SCOW API",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/"},next:{title:"SCOW Protobuf\u6587\u4ef6",permalink:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto"}},l={},t=[{value:"\u76f8\u5173API",id:"\u76f8\u5173api",level:2},{value:"\u53c2\u6570 TimeZone",id:"\u53c2\u6570-timezone",level:2},{value:"\u53ef\u7528\u65f6\u533a\u540d\u79f0\u53caUTC\u504f\u79fb\u91cf",id:"\u53ef\u7528\u65f6\u533a\u540d\u79f0\u53cautc\u504f\u79fb\u91cf",level:2}];function h(e){const n={code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"\u6570\u636e\u7edf\u8ba1\u76f8\u5173api",children:"\u6570\u636e\u7edf\u8ba1\u76f8\u5173API"}),"\n",(0,s.jsx)(n.p,{children:"SCOW\u7cfb\u7edf\u63d0\u4f9b\u4e86\u4e00\u4e9b\u6570\u636e\u7edf\u8ba1\u76f8\u5173\u7684API\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9bAPI\u83b7\u53d6SCOW\u7cfb\u7edf\u7684\u4e00\u4e9b\u7edf\u8ba1\u6570\u636e\u3002\u5176\u4e2d\u6709\u90e8\u5206API\u662f\u4ee5\u65e5\u671f\u4e3a\u7ef4\u5ea6\u8fdb\u884c\u7684\u7edf\u8ba1\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9bAPI\u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u7edf\u8ba1\u6570\u636e\u3002\u4f46\u7531\u4e8e\u6570\u636e\u5e93\u91cc\u91c7\u7528\u7684\u662fUTC\u65f6\u95f4\uff0c\u5982\u679c\u5e0c\u671b\u7edf\u8ba1\u7684\u7ef4\u5ea6\u548c\u5ba2\u6237\u7aef\u4e00\u81f4\uff0c\u5728\u4f7f\u7528\u8fd9\u4e9bAPI\u65f6\uff0c\u60a8\u9700\u8981\u6ce8\u610f\u65f6\u533a\u7684\u95ee\u9898\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u76f8\u5173api",children:"\u76f8\u5173API"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"GetActiveUserCount"}),"\uff1a\u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u7528\u6237\u767b\u5f55\u6b21\u6570"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"GetNewUserCount"}),"\uff1a\u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u65b0\u7528\u6237\u6ce8\u518c\u6570"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"GetNewJobCount"}),"\uff1a\u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u65b0\u4f5c\u4e1a\u63d0\u4ea4\u6570"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"GetDailyCharge"}),"\uff1a\u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u7528\u6237\u6d88\u8d39\u91d1\u989d\u603b\u8ba1"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"GetDailyPay"}),": \u83b7\u53d6x\u5929\u5185\u6bcf\u4e00\u5929\u7684\u7528\u6237\u5145\u503c\u91d1\u989d\u603b\u8ba1"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"\u53c2\u6570-timezone",children:"\u53c2\u6570 TimeZone"}),"\n",(0,s.jsx)(n.p,{children:"\u4ee5\u4e0aAPI\u5728\u8c03\u7528\u65f6\u90fd\u9700\u8981\u4f20timeZone\u53c2\u6570\uff0c\u8fd9\u4e2a\u53c2\u6570\u662f\u7528\u6765\u6307\u5b9a\u7edf\u8ba1\u7684\u65f6\u533a\u3002\u5982\u679c\u4e0d\u4f20timeZone\u53c2\u6570\uff0c\u7edf\u8ba1\u7684\u65f6\u533a\u9ed8\u8ba4\u4e3aUTC\u3002\u5982\u679c\u5e0c\u671b\u7edf\u8ba1\u7684\u7ef4\u5ea6\u548c\u5ba2\u6237\u7aef\u4e00\u81f4\uff0c\u60a8\u9700\u8981\u4f20\u5165timeZone\u53c2\u6570\u3002"}),"\n",(0,s.jsx)(n.p,{children:"timeZone\u53c2\u6570\u8bf7\u9075\u5faa\u4ee5\u4e0b\u683c\u5f0f\u6307\u5357\uff1a"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"UTC\u504f\u79fb\u91cf"}),": \u4f7f\u7528\u683c\u5f0f+HH",":MM","\u6216-HH",":MM","\u8868\u793a\u76f8\u5bf9\u4e8eUTC\u7684\u504f\u79fb\u3002\u4f8b\u5982\uff0c+08:00\u8868\u793a\u4e1c\u516b\u533a\u3002"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"\u65f6\u533a\u540d\u79f0"}),": \u4f7f\u7528\u5177\u4f53\u7684\u5730\u7406\u65f6\u533a\u540d\u79f0\uff0c\u5982Asia/Shanghai\u6216Europe/London\u3002\u8fd9\u4e9b\u540d\u79f0\u4ee3\u8868\u7279\u5b9a\u5730\u533a\u7684\u6807\u51c6\u65f6\u95f4\u3002"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"\u8bf7\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u4ee5\u4e0a\u4e00\u79cd\u683c\u5f0f\u6765\u6307\u5b9a\u65f6\u533a\u3002"}),"\n",(0,s.jsx)(n.h2,{id:"\u53ef\u7528\u65f6\u533a\u540d\u79f0\u53cautc\u504f\u79fb\u91cf",children:"\u53ef\u7528\u65f6\u533a\u540d\u79f0\u53caUTC\u504f\u79fb\u91cf"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-12:00"})," ",(0,s.jsx)(n.code,{children:"Etc/GMT+12"})," - ",(0,s.jsx)(n.code,{children:"-12:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-11:00"})," ",(0,s.jsx)(n.code,{children:"Pacific/Pago_Pago"})," - ",(0,s.jsx)(n.code,{children:"-11:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-10:00"})," ",(0,s.jsx)(n.code,{children:"Pacific/Honolulu"})," - ",(0,s.jsx)(n.code,{children:"-10:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-09:00"})," ",(0,s.jsx)(n.code,{children:"America/Anchorage"})," - ",(0,s.jsx)(n.code,{children:"-09:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-08:00"})," ",(0,s.jsx)(n.code,{children:"America/Los_Angeles"})," - ",(0,s.jsx)(n.code,{children:"-08:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-07:00"})," ",(0,s.jsx)(n.code,{children:"America/Denver"})," - ",(0,s.jsx)(n.code,{children:"-07:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-06:00"})," ",(0,s.jsx)(n.code,{children:"America/Chicago"})," - ",(0,s.jsx)(n.code,{children:"-06:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-05:00"})," ",(0,s.jsx)(n.code,{children:"America/New_York"})," - ",(0,s.jsx)(n.code,{children:"-05:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-04:00"})," ",(0,s.jsx)(n.code,{children:"America/Caracas"})," - ",(0,s.jsx)(n.code,{children:"-04:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-03:00"})," ",(0,s.jsx)(n.code,{children:"America/Argentina/Buenos_Aires"})," - ",(0,s.jsx)(n.code,{children:"-03:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-02:00"})," ",(0,s.jsx)(n.code,{children:"Atlantic/South_Georgia"})," - ",(0,s.jsx)(n.code,{children:"-02:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC-01:00"})," ",(0,s.jsx)(n.code,{children:"Atlantic/Azores"})," - ",(0,s.jsx)(n.code,{children:"-01:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+00:00"})," ",(0,s.jsx)(n.code,{children:"UTC"})," - ",(0,s.jsx)(n.code,{children:"+00:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+01:00"})," ",(0,s.jsx)(n.code,{children:"Europe/Paris"})," - ",(0,s.jsx)(n.code,{children:"+01:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+02:00"})," ",(0,s.jsx)(n.code,{children:"Europe/Athens"})," - ",(0,s.jsx)(n.code,{children:"+02:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+03:00"})," ",(0,s.jsx)(n.code,{children:"Europe/Moscow"})," - ",(0,s.jsx)(n.code,{children:"+03:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+04:00"})," ",(0,s.jsx)(n.code,{children:"Asia/Dubai"})," - ",(0,s.jsx)(n.code,{children:"+04:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+05:00"})," ",(0,s.jsx)(n.code,{children:"Asia/Karachi"})," - ",(0,s.jsx)(n.code,{children:"+05:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+06:00"})," ",(0,s.jsx)(n.code,{children:"Asia/Dhaka"})," - ",(0,s.jsx)(n.code,{children:"+06:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+07:00"})," ",(0,s.jsx)(n.code,{children:"Asia/Bangkok"})," - ",(0,s.jsx)(n.code,{children:"+07:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+08:00"})," ",(0,s.jsx)(n.code,{children:"Asia/Shanghai"})," - ",(0,s.jsx)(n.code,{children:"+08:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+09:00"})," ",(0,s.jsx)(n.code,{children:"Asia/Tokyo"})," - ",(0,s.jsx)(n.code,{children:"+09:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+10:00"})," ",(0,s.jsx)(n.code,{children:"Australia/Sydney"})," - ",(0,s.jsx)(n.code,{children:"+10:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+11:00"})," ",(0,s.jsx)(n.code,{children:"Pacific/Noumea"})," - ",(0,s.jsx)(n.code,{children:"+11:00"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"UTC+12:00"})," ",(0,s.jsx)(n.code,{children:"Pacific/Fiji"})," - ",(0,s.jsx)(n.code,{children:"+12:00"})]}),"\n"]})]})}function x(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>o});var s=i(48318);const c={},r=s.createContext(c);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:d(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f9c7338a.5ee06263.js b/pr-preview/pr-1298/assets/js/f9c7338a.5ee06263.js deleted file mode 100644 index 1ade61370e..0000000000 --- a/pr-preview/pr-1298/assets/js/f9c7338a.5ee06263.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8297],{7084:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>s,contentTitle:()=>c,default:()=>f,frontMatter:()=>o,metadata:()=>p,toc:()=>a});var t=n(49214),r=n(5409);const o={},c=void 0,p={id:"refs/config/mis/definition-properties-changejobpricetype",title:"definition-properties-changejobpricetype",description:"changeJobPriceType Type",source:"@site/docs/refs/config/mis/definition-properties-changejobpricetype.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-changejobpricetype",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-changejobpricetype.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-authurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl"},next:{title:"definition-properties-db-properties-dbname",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname"}},s={},a=[{value:"changeJobPriceType Type",id:"changejobpricetype-type",level:2},{value:"changeJobPriceType Default Value",id:"changejobpricetype-default-value",level:2}];function d(e){const i={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.h2,{id:"changejobpricetype-type",children:"changeJobPriceType Type"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.code,{children:"string"})}),"\n",(0,t.jsx)(i.h2,{id:"changejobpricetype-default-value",children:"changeJobPriceType Default Value"}),"\n",(0,t.jsx)(i.p,{children:"The default value is:"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-json",children:'"\u4f5c\u4e1a\u8d39\u7528\u66f4\u6539"\n'})})]})}function f(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5409:(e,i,n)=>{n.d(i,{R:()=>c,x:()=>p});var t=n(48318);const r={},o=t.createContext(r);function c(e){const i=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),t.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/f9cadbd5.d932ebd4.js b/pr-preview/pr-1298/assets/js/f9cadbd5.d932ebd4.js deleted file mode 100644 index 04788f6299..0000000000 --- a/pr-preview/pr-1298/assets/js/f9cadbd5.d932ebd4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7663],{76470:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>a,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var s=n(49214),r=n(5409);const i={sidebar_position:2,title:"SSH"},d="SSH\u8ba4\u8bc1\u7cfb\u7edf",c={id:"deploy/config/auth/ssh",title:"SSH",description:"\u672c\u8282\u4ecb\u7ecd\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u5e76\u91c7\u7528SSH\u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\u7684\u8ba4\u8bc1\u7cfb\u7edf\u3002",source:"@site/docs/deploy/config/auth/ssh.md",sourceDirName:"deploy/config/auth",slug:"/deploy/config/auth/ssh",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/auth/ssh.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"SSH"},sidebar:"deploy",previous:{title:"\u7b80\u4ecb",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro"},next:{title:"LDAP",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap"}},o={},l=[{value:"\u914d\u7f6eSSH\u8ba4\u8bc1\u670d\u52a1",id:"\u914d\u7f6essh\u8ba4\u8bc1\u670d\u52a1",level:2}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"ssh\u8ba4\u8bc1\u7cfb\u7edf",children:"SSH\u8ba4\u8bc1\u7cfb\u7edf"}),"\n",(0,s.jsx)(t.p,{children:"\u672c\u8282\u4ecb\u7ecd\u5185\u7f6e\u8ba4\u8bc1\u7cfb\u7edf\u5e76\u91c7\u7528SSH\u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\u7684\u8ba4\u8bc1\u7cfb\u7edf\u3002"}),"\n",(0,s.jsx)(t.p,{children:"SSH\u8ba4\u8bc1\u662f\u975e\u5e38\u7b80\u5355\u7684\u8ba4\u8bc1\u65b9\u5f0f\u3002\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u548cSSH\u767b\u5f55\u96c6\u7fa4\u76f8\u540c\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u6765\u767b\u5f55\u7cfb\u7edf\u3002"}),"\n",(0,s.jsxs)(t.p,{children:["\u5728\u6b64\u8ba4\u8bc1\u65b9\u5f0f\u4e2d\uff0c\u7528\u6237\u7684\u7528\u6237ID\u4e3a\u5176\u5bf9\u5e94\u7684Linux\u7528\u6237\u540d\uff0c\u7528\u6237\u7684\u59d3\u540d\u4e3a\u5176\u5bf9\u5e94\u7684Linux\u7528\u6237\u7684",(0,s.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/Gecos_field",children:"Gecos Field"}),"\u7684full name\u5b57\u6bb5\u3002"]}),"\n",(0,s.jsx)(t.p,{children:"SSH\u8ba4\u8bc1\u65b9\u5f0f\u6240\u652f\u6301\u7684\u529f\u80fd\u5982\u4e0b\u8868\uff1a"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"\u529f\u80fd"}),(0,s.jsx)(t.th,{children:"\u662f\u5426\u652f\u6301"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"\u7528\u6237\u767b\u5f55"}),(0,s.jsx)(t.td,{children:"\u662f"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"\u83b7\u53d6\u7528\u6237\u4fe1\u606f"}),(0,s.jsx)(t.td,{children:"\u662f"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"\u7528\u6237\u521b\u5efa"}),(0,s.jsx)(t.td,{children:"\u5426"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"\u7528\u6237\u540d\u548c\u59d3\u540d\u9a8c\u8bc1"}),(0,s.jsx)(t.td,{children:"\u5426"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"\u4fee\u6539\u5bc6\u7801"}),(0,s.jsx)(t.td,{children:"\u5426"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"\u7ba1\u7406\u7528\u6237\u8d26\u6237\u5173\u7cfb"}),(0,s.jsx)(t.td,{children:"\u5426"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"\u914d\u7f6essh\u8ba4\u8bc1\u670d\u52a1",children:"\u914d\u7f6eSSH\u8ba4\u8bc1\u670d\u52a1"}),"\n",(0,s.jsxs)(t.p,{children:["SSH\u8ba4\u8bc1\u65b9\u5f0f\u8981\u6c42\u7f16\u5199\u597d",(0,s.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",children:"\u96c6\u7fa4\u914d\u7f6e\u6587\u4ef6"}),"\uff0c\u5e76\u4e14\u786e\u4fdd\u5176\u4e2d\u7b2c\u4e00\u4e2a\u96c6\u7fa4\u6709\u81f3\u5c11\u4e00\u4e2a\u767b\u5f55\u8282\u70b9\u3002"]}),"\n",(0,s.jsxs)(t.p,{children:["\u5728",(0,s.jsx)(t.code,{children:"config/auth.yml"}),"\u4e2d\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-yaml",metastring:'title="config/auth.yml"',children:"# \u6307\u5b9a\u4f7f\u7528\u8ba4\u8bc1\u7c7b\u578b\u4e3aSSH\nauthType: ssh\n"})}),"\n",(0,s.jsxs)(t.p,{children:["\u589e\u52a0\u597d\u914d\u7f6e\u540e\uff0c\u8fd0\u884c",(0,s.jsx)(t.code,{children:"./cli compose restart"}),"\u91cd\u542f\u7cfb\u7edf\u5373\u53ef\u3002"]})]})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},5409:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>c});var s=n(48318);const r={},i=s.createContext(r);function d(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/fc3d3865.60384bb4.js b/pr-preview/pr-1298/assets/js/fc3d3865.60384bb4.js deleted file mode 100644 index 2c9f6ec145..0000000000 --- a/pr-preview/pr-1298/assets/js/fc3d3865.60384bb4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2289],{45083:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>a,frontMatter:()=>s,metadata:()=>r,toc:()=>t});var c=i(49214),o=i(5409);const s={sidebar_position:8,title:"\u63d2\u4ef6"},l="CLI\u63d2\u4ef6",r={id:"deploy/config/cli/plugins/index",title:"\u63d2\u4ef6",description:"\u5b9e\u9a8c\u6027\u529f\u80fd\uff01",source:"@site/docs/deploy/config/cli/plugins/index.md",sourceDirName:"deploy/config/cli/plugins",slug:"/deploy/config/cli/plugins/",permalink:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins/",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/deploy/config/cli/plugins/index.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,title:"\u63d2\u4ef6"},sidebar:"deploy",previous:{title:"CLI",permalink:"/SCOW/pr-preview/pr-1298/docs/category/cli"},next:{title:"\u7f51\u5173",permalink:"/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173"}},d={},t=[{value:"\u7f16\u5199\u548c\u914d\u7f6e",id:"\u7f16\u5199\u548c\u914d\u7f6e",level:2},{value:"\u63d2\u4ef6\u529f\u80fd",id:"\u63d2\u4ef6\u529f\u80fd",level:2},{value:"\u8986\u76d6<code>docker-compose.yml</code>",id:"\u8986\u76d6docker-composeyml",level:3},{value:"\u62d3\u5c55\u4e0e\u96c6\u6210",id:"\u62d3\u5c55\u4e0e\u96c6\u6210",level:2}];function p(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.h1,{id:"cli\u63d2\u4ef6",children:"CLI\u63d2\u4ef6"}),"\n",(0,c.jsx)(n.admonition,{type:"caution",children:(0,c.jsx)(n.p,{children:"\u5b9e\u9a8c\u6027\u529f\u80fd\uff01"})}),"\n",(0,c.jsx)(n.h2,{id:"\u7f16\u5199\u548c\u914d\u7f6e",children:"\u7f16\u5199\u548c\u914d\u7f6e"}),"\n",(0,c.jsxs)(n.p,{children:["\u60a8\u53ef\u4ee5\u901a\u8fc7\u548ccli\u540c\u7ea7\u7684",(0,c.jsx)(n.code,{children:"plugins"}),"\u76ee\u5f55\u7f16\u5199CLI\u63d2\u4ef6\u3002"]}),"\n",(0,c.jsxs)(n.p,{children:["\u6bcf\u4e2a\u63d2\u4ef6\u5360\u636e\u4e00\u4e2a\u76ee\u5f55\uff0c\u76ee\u5f55\u540d\u4e3a\u63d2\u4ef6\u7684ID\u3002\u4f8b\u5982",(0,c.jsx)(n.code,{children:"plugins/plugin1"}),"\uff0c\u5219\u6b64\u63d2\u4ef6id\u4e3a",(0,c.jsx)(n.code,{children:"plugin1"}),"\u3002"]}),"\n",(0,c.jsxs)(n.p,{children:["\u5f53\u60a8\u7f16\u5199\u597d\u63d2\u4ef6\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7",(0,c.jsx)(n.code,{children:"install.yml"}),"\u7684",(0,c.jsx)(n.code,{children:"plugins.enabledPlugins"}),"\u9009\u9879\uff0c\u6307\u5b9a\u542f\u7528\u7684\u63d2\u4ef6\u3002"]}),"\n",(0,c.jsxs)(n.p,{children:["\u4f8b\u5982\uff0c\u5982\u679c\u8981\u4f7f\u7528",(0,c.jsx)(n.code,{children:"plugin1"}),"\u63d2\u4ef6\uff0c\u5219\u7f16\u5199"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-yaml",metastring:'title="install.yml"',children:'plugins: \n enabledPlugins: ["plugin1"]\n'})}),"\n",(0,c.jsx)(n.h2,{id:"\u63d2\u4ef6\u529f\u80fd",children:"\u63d2\u4ef6\u529f\u80fd"}),"\n",(0,c.jsxs)(n.h3,{id:"\u8986\u76d6docker-composeyml",children:["\u8986\u76d6",(0,c.jsx)(n.code,{children:"docker-compose.yml"})]}),"\n",(0,c.jsx)(n.p,{children:"\u60a8\u53ef\u4ee5\u901a\u8fc7\u6b64\u529f\u80fd\u66f4\u6539\u90e8\u7f72\u7684Docker Compose\u914d\u7f6e\uff0c\u4f8b\u5982\u5728SCOW\u7f51\u7edc\u4e2d\u90e8\u7f72\u5176\u4ed6\u7684\u5bb9\u5668\uff0c\u6216\u8005\u7ed9\u5df2\u6709\u7684\u670d\u52a1\u589e\u52a0\u65b0\u7684\u73af\u5883\u53d8\u91cf\u3001\u7aef\u53e3\u7b49\u3002"}),"\n",(0,c.jsxs)(n.p,{children:["\u5728\u63d2\u4ef6\u76ee\u5f55\u4e0b\uff0c\u60a8\u53ef\u4ee5\u7f16\u5199",(0,c.jsx)(n.code,{children:"docker-compose.yml"}),"\u6587\u4ef6\uff0c\u6b64\u6587\u4ef6\u5c06\u4f1a\u4e0eCLI\u751f\u6210\u7684Docker Compose\u914d\u7f6e\u6587\u4ef6\u5408\u5e76\u3002CLI\u5728\u8c03\u7528docker compose\u65f6\uff0c\u4f7f\u7528",(0,c.jsx)(n.code,{children:"docker compose -f {scow-cli\u751f\u6210\u7684compose\u6587\u4ef6} ...-f {\u6240\u6709\u63d2\u4ef6\u7684compose\u6587\u4ef6}"}),"\u7684\u65b9\u6cd5\u6267\u884c\u3002"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-yaml",metastring:'title="plugins/plugin1/docker-compose.yml"',children:'version: "3"\n\nservices: \n extraService:\n image: <\u60a8\u7684\u5bb9\u5668\u955c\u50cf>\n # ...\n'})}),"\n",(0,c.jsx)(n.h2,{id:"\u62d3\u5c55\u4e0e\u96c6\u6210",children:"\u62d3\u5c55\u4e0e\u96c6\u6210"}),"\n",(0,c.jsx)(n.p,{children:"\u5982\u679c\u60a8\u4ec5\u9700\u8981\u589e\u52a0\u90e8\u5206\u670d\u52a1\u7aef\u529f\u80fd\uff0c\u53ea\u9700\u8981\u589e\u52a0\u4e00\u4e2a\u63d2\u4ef6\u670d\u52a1\u5373\u53ef\u3002"}),"\n",(0,c.jsxs)(n.p,{children:["\u5982\u679c\u60a8\u9700\u8981\u589e\u52a0\u9875\u9762\u529f\u80fd\uff0c\u5e76\u4e0escow\u7684http\u670d\u52a1\u7ed1\u5b9a\u5728\u540c\u4e00\u4e2a\u7aef\u53e3\u4e0a\uff0c\u9700\u8981\u5728\u589e\u52a0\u63d2\u4ef6\u670d\u52a1\u7684\u540c\u65f6\u589e\u52a0gateway\u7684\u914d\u7f6e\uff0c\u5177\u4f53\u53c2\u8003",(0,c.jsx)(n.a,{href:"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config/",children:"\u7f51\u5173\u914d\u7f6e"})]})]})}function a(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(p,{...e})}):p(e)}},5409:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>r});var c=i(48318);const o={},s=c.createContext(o);function l(e){const n=c.useContext(s);return c.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),c.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/fc59bd41.769ad369.js b/pr-preview/pr-1298/assets/js/fc59bd41.769ad369.js deleted file mode 100644 index 13c78b315f..0000000000 --- a/pr-preview/pr-1298/assets/js/fc59bd41.769ad369.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7367],{14437:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>f});var o=r(49214),i=r(5409);const n={},p=void 0,s={id:"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-",title:"definition-properties-footer-properties-hostnamemap-patternproperties-",description:"^.\\*$ Type",source:"@site/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-.md",sourceDirName:"refs/config/ui",slug:"/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-footer-properties-defaulttext",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext"},next:{title:"definition-properties-footer-properties-hostnamemap-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties"}},c={},f=[{value:"^.*$ Type",id:"-type",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"-type",children:"^.*$ Type"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"string"})})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>p,x:()=>s});var o=r(48318);const i={},n=o.createContext(i);function p(e){const t=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),o.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/fd2af939.c2dcfb63.js b/pr-preview/pr-1298/assets/js/fd2af939.c2dcfb63.js deleted file mode 100644 index d1ff97e149..0000000000 --- a/pr-preview/pr-1298/assets/js/fd2af939.c2dcfb63.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[7133],{70561:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>s,metadata:()=>p,toc:()=>d});var n=t(49214),r=t(5409);const s={},o=void 0,p={id:"refs/config/mis/definition-properties-predefinedchargingtypes-items",title:"definition-properties-predefinedchargingtypes-items",description:"items Type",source:"@site/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items.md",sourceDirName:"refs/config/mis",slug:"/refs/config/mis/definition-properties-predefinedchargingtypes-items",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-portalurl",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl"},next:{title:"definition-properties-predefinedchargingtypes",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes"}},c={},d=[{value:"items Type",id:"items-type",level:2}];function f(e){const i={code:"code",h2:"h2",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h2,{id:"items-type",children:"items Type"}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.code,{children:"string"})})]})}function a(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}},5409:(e,i,t)=>{t.d(i,{R:()=>o,x:()=>p});var n=t(48318);const r={},s=n.createContext(r);function o(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function p(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/fd9d9fc2.fc47b8c0.js b/pr-preview/pr-1298/assets/js/fd9d9fc2.fc47b8c0.js deleted file mode 100644 index 4a4fc7bcd5..0000000000 --- a/pr-preview/pr-1298/assets/js/fd9d9fc2.fc47b8c0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[2827],{56352:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>p,metadata:()=>s,toc:()=>d});var n=r(49214),i=r(5409);const p={},o=void 0,s={id:"refs/config/app/definition-properties-web-properties-connect-properties-formdata",title:"definition-properties-web-properties-connect-properties-formdata",description:"formData Type",source:"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata.md",sourceDirName:"refs/config/app",slug:"/refs/config/app/definition-properties-web-properties-connect-properties-formdata",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",draft:!1,unlisted:!1,editUrl:"https://github.com/PKUHPC/SCOW/edit/main/website/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata.md",tags:[],version:"current",frontMatter:{},sidebar:"refs",previous:{title:"definition-properties-web-properties-connect-properties-formdata-patternproperties",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties"},next:{title:"definition-properties-web-properties-connect-properties-method-anyof-0",permalink:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0"}},c={},d=[{value:"formData Type",id:"formdata-type",level:2},{value:"Pattern: <code>^.*$</code>",id:"pattern-",level:2},{value:"^.*$ Type",id:"-type",level:3}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"formdata-type",children:"formData Type"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"object"})," (",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",children:"Details"}),")"]}),"\n",(0,n.jsx)(t.h1,{id:"formdata-properties",children:"formData Properties"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Property"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Nullable"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Defined by"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"^.*$"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"string"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Optional"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"cannot be null"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-",title:"undefined#/properties/web/properties/connect/properties/formData/patternProperties/^.*$",children:"Untitled schema"})})]})})]}),"\n",(0,n.jsxs)(t.h2,{id:"pattern-",children:["Pattern: ",(0,n.jsx)(t.code,{children:"^.*$"})]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"^.*$"})}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"is optional"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Type: ",(0,n.jsx)(t.code,{children:"string"})]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"cannot be null"}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["defined in: ",(0,n.jsx)(t.a,{href:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-",title:"undefined#/properties/web/properties/connect/properties/formData/patternProperties/^.*$",children:"Untitled schema"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"-type",children:"^.*$ Type"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.code,{children:"string"})})]})}function a(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},5409:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>s});var n=r(48318);const i={},p=n.createContext(i);function o(e){const t=n.useContext(p);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(p.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/main.639eb0e0.js b/pr-preview/pr-1298/assets/js/main.639eb0e0.js deleted file mode 100644 index 6892e782df..0000000000 --- a/pr-preview/pr-1298/assets/js/main.639eb0e0.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.639eb0e0.js.LICENSE.txt */ -(self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[]).push([[8792],{56929:(e,t,r)=>{var n={"./":78248};function o(e){var t=i(e);return r(t)}function i(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=i,e.exports=o,o.id=56929},61546:(e,t,r)=>{"use strict";r.d(t,{A:()=>u});r(48318);var n=r(41195),o=r.n(n),i=r(84054);const s={"0023ffb3":[()=>r.e(4391).then(r.bind(r,25963)),"@site/blog/2023-06-26-scow-scheduler-adapter.md?truncated=true",25963],"006bd8ee":[()=>r.e(2165).then(r.bind(r,363)),"@site/docs/refs/config/portal/definition-properties-shell.md",363],"01a85c17":[()=>Promise.all([r.e(1869),r.e(8209)]).then(r.bind(r,69130)),"@theme/BlogTagsListPage",69130],"041c0eb7":[()=>r.e(3367).then(r.bind(r,28315)),"@site/docs/info/portal/job.md",28315],"04add352":[()=>r.e(878).then(r.bind(r,86235)),"@site/docs/refs/config/portal/definition-properties-turbovncpath.md",86235],"058f61b7":[()=>r.e(4586).then(r.bind(r,57891)),"@site/docs/refs/config/app/definition-properties-vnc.md",57891],"0719cfb4":[()=>r.e(247).then(r.bind(r,99235)),"@site/docs/deploy/config/auth/ldap.md",99235],"07bec90e":[()=>r.e(2242).then(r.t.bind(r,98959,19)),"~docs/default/category-scowpr-previewpr-1298-docs-integration-category-\u4f7f\u7528\u793a\u4f8b-ad3.json",98959],"0809e651":[()=>r.e(5165).then(r.bind(r,27531)),"@site/docs/refs/config/portal/definition-properties-appjobsdir.md",27531],"0a219fe5":[()=>r.e(1754).then(r.t.bind(r,87123,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-e52-list.json",87123],"0b0ea684":[()=>r.e(665).then(r.t.bind(r,58702,19)),"~docs/default/category-scowpr-previewpr-1298-docs-integration-category-ui\u6269\u5c55-ffe.json",58702],"0d635f54":[()=>r.e(4960).then(r.bind(r,12003)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port.md",12003],"0ebeba4c":[()=>r.e(6093).then(r.bind(r,86255)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex.md",86255],"0ed0cbdf":[()=>r.e(4323).then(r.bind(r,45392)),"@site/docs/integration/ui-extension/ui-extension.md",45392],"0f17fb15":[()=>r.e(5863).then(r.bind(r,57070)),"@site/docs/refs/config/mis/definition-properties-db-properties-dbname.md",57070],"102a15c7":[()=>r.e(8211).then(r.bind(r,74652)),"@site/docs/refs/config/app/definition-properties-type.md",74652],"104930f1":[()=>r.e(1107).then(r.bind(r,41518)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties.md",41518],"10b97c91":[()=>r.e(263).then(r.bind(r,20807)),"@site/docs/hpccluster/slurm.md",20807],"10f77ea9":[()=>r.e(2831).then(r.bind(r,22574)),"@site/docs/deploy/index.md",22574],"134a9cd2":[()=>r.e(7744).then(r.bind(r,12696)),"@site/docs/info/portal/index.md",12696],"134ac117":[()=>r.e(4030).then(r.bind(r,54072)),"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap.md",54072],"135cdc30":[()=>r.e(7565).then(r.bind(r,53471)),"@site/docs/refs/config/app/definition-properties-name.md",53471],"14eb3368":[()=>Promise.all([r.e(1869),r.e(6969)]).then(r.bind(r,54540)),"@theme/DocCategoryGeneratedIndexPage",54540],15341993:[()=>r.e(7730).then(r.bind(r,53142)),"@site/docs/deploy/config/portal/apps/apps/emacs/index.md",53142],"15d314a9":[()=>r.e(4011).then(r.t.bind(r,19731,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-v-1-0-0-3fc-list.json",19731],"162a2e8e":[()=>r.e(4535).then(r.bind(r,72251)),"@site/docs/refs/config/clusterTexts/definition-patternproperties-.md",72251],"16f748ee":[()=>r.e(4473).then(r.bind(r,79454)),"@site/docs/deploy/install/index.md",79454],17208778:[()=>r.e(2071).then(r.bind(r,97506)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items.md",97506],17896441:[()=>Promise.all([r.e(1869),r.e(9273),r.e(8401)]).then(r.bind(r,50644)),"@theme/DocItem",50644],"1880ad5d":[()=>r.e(3784).then(r.bind(r,99147)),"@site/docs/deploy/install/multi-platform.md",99147],"18e39512":[()=>r.e(4819).then(r.bind(r,71281)),"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras.md",71281],"19b62525":[()=>r.e(7805).then(r.bind(r,4467)),"@site/docs/refs/config/portal/definition-properties-savedjobsdir.md",4467],"1a2a2bba":[()=>r.e(8925).then(r.bind(r,28552)),"@site/docs/deploy/config/portal/apps/configure-web-app.md",28552],"1a4e3797":[()=>Promise.all([r.e(1869),r.e(2138)]).then(r.bind(r,24542)),"@theme/SearchPage",24542],"1c1d17b7":[()=>r.e(6277).then(r.t.bind(r,93529,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u5ba1\u8ba1\u7cfb\u7edf-f27.json",93529],"1c4e3edd":[()=>r.e(6414).then(r.t.bind(r,23153,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-deployment-485.json",23153],"1df93b7f":[()=>Promise.all([r.e(1869),r.e(4583)]).then(r.bind(r,6551)),"@site/src/pages/index.tsx",6551],"1f391b9e":[()=>Promise.all([r.e(1869),r.e(9273),r.e(6061)]).then(r.bind(r,56959)),"@theme/MDXPage",56959],"2000e6e1":[()=>r.e(3262).then(r.bind(r,5968)),"@site/docs/deploy/config/mis/init/index.md",5968],"2046b0a8":[()=>r.e(6578).then(r.bind(r,69402)),"@site/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage.md",69402],"20b0fd8e":[()=>r.e(8840).then(r.bind(r,26875)),"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-.md",26875],"235dd83b":[()=>r.e(3758).then(r.bind(r,48440)),"@site/docs/deploy/get-started/vagrant/vagrant-env.md",48440],"24164a22":[()=>r.e(9893).then(r.bind(r,34185)),"@site/blog/2023-06-26-scow-scheduler-adapter.md",34185],"264eac15":[()=>r.e(2796).then(r.bind(r,72223)),"@site/docs/deploy/config/portal/apps/configure-app-logo.md",72223],"270aea63":[()=>r.e(9688).then(r.bind(r,97052)),"@site/docs/deploy/architecture/index.md",97052],27118133:[()=>r.e(4839).then(r.bind(r,58660)),"@site/docs/deploy/config/multi-cluster/index.md",58660],27379729:[()=>r.e(9771).then(r.bind(r,913)),"@site/docs/hpccluster/nfs.md",913],"2781b32a":[()=>r.e(2941).then(r.bind(r,65766)),"@site/docs/refs/config/portal/definition-properties-logindesktop.md",65766],"288d6068":[()=>r.e(7017).then(r.bind(r,15914)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis.md",15914],"296ec80a":[()=>r.e(8383).then(r.bind(r,23921)),"@site/docs/deploy/config/index.md",23921],"2c0abe55":[()=>r.e(1914).then(r.t.bind(r,53717,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-scheduler-adapter-c73.json",53717],"2cba0029":[()=>r.e(7362).then(r.bind(r,32350)),"@site/docs/refs/config/cluster/definition-properties-misignore.md",32350],"2d109f9d":[()=>r.e(4560).then(r.bind(r,13201)),"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties.md",13201],"2efbb146":[()=>r.e(6605).then(r.bind(r,30042)),"@site/docs/deploy/config/mis/create-user/index.md",30042],"2f9acf95":[()=>r.e(4804).then(r.bind(r,96600)),"@site/docs/deploy/config/customization/custom-config-i18n.md",96600],"300fc5e8":[()=>r.e(2455).then(r.bind(r,99944)),"@site/docs/deploy/config/ai/apps/configure-web-app.md",99944],"3033e5d5":[()=>r.e(8575).then(r.bind(r,65154)),"@site/docs/refs/config/portal/definition-properties-hometitle.md",65154],"30e80eb6":[()=>r.e(8260).then(r.t.bind(r,81142,19)),"/home/runner/work/SCOW/SCOW/docs/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",81142],"32e25c5c":[()=>r.e(1605).then(r.bind(r,79723)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath.md",79723],"32e6b22b":[()=>r.e(5409).then(r.bind(r,76073)),"@site/docs/info/index.md",76073],35441759:[()=>r.e(8701).then(r.bind(r,86468)),"@site/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties.md",86468],"35ce270c":[()=>r.e(4281).then(r.bind(r,39163)),"@site/docs/deploy/config/ai/apps/configure-vnc-app.md",39163],"35db44dc":[()=>r.e(9798).then(r.bind(r,58265)),"@site/docs/deploy/config/customization/custom-job-charge-metadata.md",58265],"3845b85f":[()=>r.e(7156).then(r.bind(r,88536)),"@site/docs/deploy/config/portal/apps/apps/jupyter/index.md",88536],"393be207":[()=>r.e(4134).then(r.bind(r,95651)),"@site/src/pages/markdown-page.md",95651],"399409c2":[()=>r.e(9398).then(r.bind(r,98374)),"@site/docs/refs/env/mis-server.md",98374],"3a4721f9":[()=>r.e(9712).then(r.bind(r,87991)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user.md",87991],"3b168db0":[()=>r.e(5995).then(r.bind(r,54374)),"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default.md",54374],"3ca54f8b":[()=>r.e(7259).then(r.bind(r,87165)),"@site/docs/refs/config/portal/index.md",87165],"3dd28916":[()=>r.e(6784).then(r.bind(r,18389)),"@site/docs/refs/config/portal/definition-properties-jobmanagement.md",18389],"3df23af8":[()=>r.e(5616).then(r.bind(r,19515)),"@site/blog/2023-10-20-scow-update1.0.md?truncated=true",19515],"3fb875ce":[()=>r.e(4454).then(r.bind(r,82692)),"@site/docs/refs/config/portal/definition.md",82692],"3fbcfebf":[()=>r.e(8122).then(r.bind(r,20841)),"@site/docs/refs/config/clusterTexts/index.md",20841],"41beef73":[()=>r.e(6634).then(r.bind(r,8375)),"@site/docs/integration/scow-api-hook/proto.md",8375],"42228e1f":[()=>r.e(7897).then(r.bind(r,93646)),"@site/docs/deploy/config/portal/transfer-cross-clusters.md",93646],"4274bccf":[()=>r.e(6474).then(r.bind(r,69907)),"@site/docs/deploy/config/ai/apps/apps/jupyterlab/index.md",69907],"43d6633b":[()=>r.e(5220).then(r.t.bind(r,62990,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta-0f4.json",62990],"447d3b5d":[()=>r.e(8530).then(r.bind(r,15852)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled.md",15852],"44dd9873":[()=>r.e(826).then(r.bind(r,26466)),"@site/docs/refs/config/portal/definition-properties-submitjobdefaultpwd.md",26466],"4602b3cf":[()=>r.e(9733).then(r.bind(r,97311)),"@site/docs/deploy/config/portal/apps/configure-cluster-apps.md",97311],"481303a9":[()=>r.e(9650).then(r.bind(r,98200)),"@site/docs/deploy/config/portal/proxy-gateway/index.md",98200],"48ca4a4c":[()=>r.e(9981).then(r.t.bind(r,64382,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-cli-6d1.json",64382],"49a81271":[()=>r.e(6412).then(r.bind(r,28035)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-.md",28035],"49cc2738":[()=>r.e(6260).then(r.bind(r,76501)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron.md",76501],"4af1b4a4":[()=>r.e(4168).then(r.bind(r,26361)),"@site/blog/2023-10-20-scow-update1.0.md",26361],"4b114181":[()=>r.e(3587).then(r.bind(r,63431)),"@site/docs/deploy/get-started/vagrant/index.md",63431],"4b1253d4":[()=>r.e(9136).then(r.bind(r,44783)),"@site/docs/integration/auth/use.md",44783],"4b3e4006":[()=>r.e(1959).then(r.bind(r,34062)),"@site/docs/hpccluster/config/slurmdbd.conf.md",34062],"4be18fe5":[()=>r.e(5187).then(r.bind(r,13186)),"@site/docs/refs/config/cluster/definition.md",13186],"4bfdffa6":[()=>r.e(6494).then(r.bind(r,18125)),"@site/docs/refs/config/mis/definition-properties-portalurl.md",18125],"4cbc5714":[()=>r.e(506).then(r.bind(r,96586)),"@site/docs/deploy/config/portal/apps/apps/matlab/index.md",96586],"4d7b2436":[()=>r.e(3525).then(r.t.bind(r,33864,19)),"~docs/default/category-scowpr-previewpr-1298-docs-integration-category-scow-api\u548chook-c22.json",33864],"4dc4ac6a":[()=>r.e(929).then(r.bind(r,7918)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties.md",7918],"4dc79cf7":[()=>r.e(392).then(r.bind(r,24190)),"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-.md",24190],"4df2913f":[()=>r.e(1854).then(r.bind(r,20933)),"@site/docs/deploy/config/portal/apps/apps/desktop/index.md",20933],"4fa8152a":[()=>r.e(1439).then(r.bind(r,55223)),"@site/docs/deploy/config/gateway/config/index.md",55223],"504f4918":[()=>r.e(5316).then(r.bind(r,75522)),"@site/docs/integration/scow-api-hook/api/api.md",75522],"50cb17b0":[()=>r.e(1917).then(r.bind(r,49129)),"@site/docs/deploy/get-started/vagrant/images.md",49129],"515951e7":[()=>r.e(7577).then(r.bind(r,18713)),"@site/docs/refs/config/mis/definition-properties-jobchargetype.md",18713],"529e0f84":[()=>r.e(9618).then(r.bind(r,26002)),"@site/docs/deploy/config/portal/intro.md",26002],"530f30b9":[()=>r.e(1251).then(r.bind(r,79691)),"@site/docs/refs/config/app/definition-properties-nodes.md",79691],"541590dc":[()=>r.e(1322).then(r.bind(r,92986)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items.md",92986],"5490b0a7":[()=>r.e(717).then(r.bind(r,10136)),"@site/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext.md",10136],56655189:[()=>r.e(5762).then(r.bind(r,18870)),"@site/docs/hpccluster/module.md",18870],"56e69d09":[()=>r.e(1909).then(r.t.bind(r,52945,19)),"/home/runner/work/SCOW/SCOW/docs/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",52945],"575ec6fe":[()=>r.e(2269).then(r.bind(r,87457)),"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-.md",87457],"5793c24f":[()=>r.e(2042).then(r.bind(r,89562)),"@site/docs/deploy/config/portal/shell.md",89562],"57ff00fe":[()=>r.e(2428).then(r.bind(r,19649)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password.md",19649],"588ed5a0":[()=>r.e(7055).then(r.bind(r,36736)),"@site/blog/2022-04-01-docs-online.md",36736],59894842:[()=>r.e(4602).then(r.bind(r,24077)),"@site/docs/refs/config/portal/definition-properties-hometext.md",24077],"5a3a23f4":[()=>r.e(806).then(r.t.bind(r,79436,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-e52.json",79436],"5a872021":[()=>r.e(2575).then(r.bind(r,22273)),"@site/docs/refs/config/ui/definition-properties-footer-properties-defaulttext.md",22273],"5a8eccb4":[()=>r.e(684).then(r.t.bind(r,75703,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u5feb\u901f\u4f53\u9a8c-20d.json",75703],"5b053c0b":[()=>r.e(6467).then(r.bind(r,38355)),"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default.md",38355],"5b3bec20":[()=>r.e(3151).then(r.bind(r,88088)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default.md",88088],"5c19d128":[()=>r.e(5842).then(r.bind(r,40831)),"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title.md",40831],"5c336a8b":[()=>r.e(5208).then(r.bind(r,74685)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db.md",74685],"5c672f9b":[()=>r.e(455).then(r.bind(r,39338)),"@site/docs/deploy/config/cluster-config.md",39338],"5cdb811f":[()=>r.e(5641).then(r.bind(r,8497)),"@site/docs/deploy/config/customization/custom-charge-types.md",8497],"5e95c892":[()=>r.e(9647).then(r.bind(r,51656)),"@theme/DocsRoot",51656],"5e9f5e1a":[()=>Promise.resolve().then(r.bind(r,4784)),"@generated/docusaurus.config",4784],"5f88ad0a":[()=>r.e(116).then(r.bind(r,5467)),"@site/docs/deploy/config/portal/apps/intro.md",5467],"5fd64547":[()=>r.e(478).then(r.bind(r,50579)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos.md",50579],"605fff6e":[()=>r.e(7759).then(r.bind(r,30428)),"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content.md",30428],"6091f775":[()=>r.e(3362).then(r.bind(r,30666)),"@site/docs/refs/config/app/definition-properties-nodes-items.md",30666],"6144ba72":[()=>r.e(756).then(r.bind(r,30905)),"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment.md",30905],"618c6699":[()=>r.e(9001).then(r.bind(r,44677)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-.md",44677],"6262d4a9":[()=>r.e(7149).then(r.bind(r,18724)),"@site/docs/refs/config/ui/definition.md",18724],"6318ccaf":[()=>r.e(1658).then(r.bind(r,25019)),"@site/docs/deploy/config/ai/apps/intro.md",25019],"6371f3df":[()=>r.e(3793).then(r.bind(r,96719)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes.md",96719],"642269fc":[()=>r.e(8819).then(r.bind(r,22951)),"@site/docs/integration/scow-api-hook/examples/go.md",22951],65608051:[()=>r.e(3260).then(r.bind(r,8427)),"@site/docs/deploy/config/customization/custom-system-language.md",8427],"6603c338":[()=>r.e(8971).then(r.bind(r,79692)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0.md",79692],"6610c469":[()=>r.e(2990).then(r.t.bind(r,19596,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-v-1-0-0-3fc.json",19596],"6875c492":[()=>Promise.all([r.e(1869),r.e(9273),r.e(1531),r.e(4813)]).then(r.bind(r,74874)),"@theme/BlogTagsPostsPage",74874],"691071dc":[()=>r.e(8460).then(r.bind(r,36502)),"@site/docs/refs/config/mis/definition-properties-accountnamepattern.md",36502],"6a2e412c":[()=>r.e(6963).then(r.bind(r,60248)),"@site/docs/refs/config/ui/definition-properties-primarycolor.md",60248],"6a813a07":[()=>r.e(6270).then(r.bind(r,63798)),"@site/docs/refs/config/ui/definition-properties-footer.md",63798],"6b027799":[()=>r.e(2153).then(r.bind(r,50356)),"@site/docs/refs/config/mis/definition-properties-predefinedchargingtypes.md",50356],"6c8a2e8a":[()=>r.e(7061).then(r.bind(r,17315)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-method.md",17315],"6d05d604":[()=>r.e(6526).then(r.bind(r,64298)),"@site/docs/refs/config/app/index.md",64298],"6d7d51cf":[()=>r.e(681).then(r.bind(r,14064)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword.md",14064],"6e65c112":[()=>r.e(2726).then(r.bind(r,86706)),"@site/blog/2023-07-05-update-app.md",86706],"6ffbd0f4":[()=>r.e(4453).then(r.bind(r,29383)),"@site/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap.md",29383],"707cf715":[()=>r.e(9659).then(r.t.bind(r,33070,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u8ba4\u8bc1-fc8.json",33070],"71e92d78":[()=>r.e(4534).then(r.bind(r,8477)),"@site/docs/deploy/config/customization/basepath.md",8477],"725950c0":[()=>r.e(9160).then(r.t.bind(r,97056,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-deployment-485-list.json",97056],"7330e3de":[()=>r.e(89).then(r.bind(r,33261)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename.md",33261],"7347c163":[()=>r.e(3883).then(r.bind(r,15098)),"@site/docs/refs/config/mis/definition-properties-db.md",15098],"73781f44":[()=>Promise.all([r.e(1869),r.e(7469)]).then(r.bind(r,59878)),"@site/docs/info/mis/business/billing.mdx",59878],"740f0f16":[()=>r.e(8523).then(r.bind(r,27076)),"@site/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items.md",27076],"74d28950":[()=>r.e(3550).then(r.bind(r,19870)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores.md",19870],"75d506d6":[()=>r.e(2334).then(r.bind(r,3451)),"@site/docs/deploy/config/portal/apps/configure-vnc-app.md",3451],"760ec2c8":[()=>r.e(9011).then(r.bind(r,18883)),"@site/docs/refs/config/app/definition-properties-web-properties-connect.md",18883],"766fec9a":[()=>r.e(8178).then(r.t.bind(r,38306,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u81ea\u5b9a\u4e49-210.json",38306],"77a21a71":[()=>r.e(3470).then(r.bind(r,28986)),"@site/docs/refs/env/portal-web.md",28986],78135479:[()=>r.e(8673).then(r.t.bind(r,4061,19)),"/home/runner/work/SCOW/SCOW/docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",4061],"786ceb8d":[()=>r.e(9134).then(r.bind(r,8910)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host.md",8910],"7a47eb1a":[()=>r.e(7799).then(r.t.bind(r,61082,19)),"~blog/default/scow-pr-preview-pr-1298-blog-e13.json",61082],"7ae2e072":[()=>r.e(790).then(r.bind(r,98123)),"@site/docs/refs/config/cluster/index.md",98123],"7ba6c5b9":[()=>r.e(398).then(r.bind(r,73822)),"@site/docs/refs/config/cluster/definition-properties-displayname.md",73822],"7d0af991":[()=>r.e(6398).then(r.bind(r,57224)),"@site/docs/hpccluster/intel.md",57224],"7d1a29d8":[()=>r.e(4519).then(r.bind(r,41512)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch.md",41512],"7e358b27":[()=>r.e(3308).then(r.bind(r,20013)),"@site/docs/refs/config/app/definition-properties-web-properties-beforescript.md",20013],"7f5809d2":[()=>r.e(3328).then(r.bind(r,94945)),"@site/docs/refs/env/gateway.md",94945],"814f3328":[()=>r.e(7472).then(r.t.bind(r,55513,19)),"~blog/default/blog-post-list-prop-default.json",55513],"8181c4d7":[()=>r.e(8341).then(r.bind(r,36396)),"@site/docs/deploy/config/portal/apps/apps/baltamatica/index.md",36396],"8315913c":[()=>r.e(4166).then(r.t.bind(r,71590,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-e72.json",71590],"834d47d4":[()=>r.e(2943).then(r.t.bind(r,5324,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u8c03\u5ea6\u5668-9ae.json",5324],"83b97878":[()=>r.e(7859).then(r.bind(r,64568)),"@site/docs/info/mis/business/users.md",64568],"83bfe665":[()=>r.e(6030).then(r.bind(r,68402)),"@site/docs/deploy/get-started/vagrant/customization.md",68402],"875b1c20":[()=>r.e(5227).then(r.bind(r,82770)),"@site/docs/deploy/config/ai/intro.md",82770],"886d9ccc":[()=>r.e(5499).then(r.bind(r,96117)),"@site/docs/deploy/config/portal/apps/apps/rstudio/index.md",96117],"88e4b177":[()=>r.e(1765).then(r.bind(r,64765)),"@site/docs/refs/config/ui/index.md",64765],"89e9f6e7":[()=>r.e(5376).then(r.bind(r,47948)),"@site/docs/refs/config/mis/definition-properties-db-properties-debug.md",47948],"8a006bc4":[()=>r.e(1399).then(r.bind(r,9723)),"@site/docs/refs/index.md",9723],"8b602a21":[()=>r.e(9351).then(r.bind(r,19825)),"@site/docs/refs/config/mis/definition-properties-authurl.md",19825],"8d03ef63":[()=>r.e(6236).then(r.bind(r,14680)),"@site/docs/contribution/dev.md",14680],"8ee61ba6":[()=>r.e(4807).then(r.bind(r,75472)),"@site/docs/deploy/config/portal/desktop.md",75472],"8f9ca38a":[()=>r.e(9728).then(r.bind(r,93571)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl.md",93571],"90902a62":[()=>r.e(2980).then(r.bind(r,46659)),"@site/docs/deploy/config/mis/cluster-monitor/index.md",46659],"9117ebf9":[()=>r.e(2559).then(r.bind(r,28976)),"@site/docs/refs/config/app/definition-properties-web.md",28976],"9145f5ac":[()=>r.e(7595).then(r.bind(r,49094)),"@site/docs/refs/config/clusterTexts/definition-patternproperties.md",49094],"921ea997":[()=>r.e(9318).then(r.bind(r,52571)),"@site/docs/deploy/ops/admin-usage-tips.md",52571],"935f2afb":[()=>r.e(8581).then(r.t.bind(r,35610,19)),"~docs/default/version-current-metadata-prop-751.json",35610],"93fad3d8":[()=>r.e(8307).then(r.t.bind(r,19653,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-cli-6d1-list.json",19653],95052379:[()=>r.e(1661).then(r.bind(r,60369)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename.md",60369],"95090fe2":[()=>r.e(8351).then(r.t.bind(r,16415,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-cli-962.json",16415],"95479f07":[()=>r.e(6852).then(r.t.bind(r,70388,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-vagrant-6f1.json",70388],"972d4ae7":[()=>r.e(1752).then(r.bind(r,82630)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions.md",82630],"983feadf":[()=>r.e(8447).then(r.bind(r,72914)),"@site/docs/refs/config/mis/definition-properties-fetchjobs.md",72914],"986b6d4a":[()=>r.e(5319).then(r.bind(r,9898)),"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap.md",9898],"9904ccd0":[()=>r.e(4863).then(r.bind(r,32856)),"@site/docs/refs/config/cluster/definition-properties-slurm.md",32856],"996b20f7":[()=>r.e(4346).then(r.bind(r,45016)),"@site/docs/refs/config/app/definition-properties-type-anyof-1.md",45016],"9bed1141":[()=>r.e(338).then(r.bind(r,7523)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1.md",7523],"9bee0a7d":[()=>r.e(5144).then(r.bind(r,36620)),"@site/blog/2023-03-29-scow-cli.md",36620],"9bfb8b77":[()=>r.e(7910).then(r.bind(r,52328)),"@site/docs/deploy/config/auth/config.md",52328],"9e4087bc":[()=>r.e(2711).then(r.bind(r,79284)),"@theme/BlogArchivePage",79284],"9e59f98a":[()=>r.e(5101).then(r.t.bind(r,40048,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-portal-apps-902-list.json",40048],"9fce2471":[()=>r.e(2212).then(r.bind(r,21187)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-.md",21187],a0bc05eb:[()=>r.e(2889).then(r.t.bind(r,5317,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u5b89\u88c5-0b3.json",5317],a25b4132:[()=>r.e(9485).then(r.bind(r,47186)),"@site/docs/deploy/config/auth/intro.md",47186],a2b87712:[()=>r.e(4847).then(r.bind(r,15997)),"@site/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext.md",15997],a4ad22f5:[()=>r.e(7540).then(r.bind(r,4094)),"@site/docs/refs/config/mis/index.md",4094],a4d86676:[()=>r.e(4139).then(r.t.bind(r,66641,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u8fd0\u7ef4-ce3.json",66641],a52439c7:[()=>r.e(5121).then(r.bind(r,53464)),"@site/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex.md",53464],a5ef1f4b:[()=>r.e(4791).then(r.bind(r,7837)),"@site/docs/refs/env/auth.md",7837],a6aa9e1f:[()=>Promise.all([r.e(1869),r.e(9273),r.e(1531),r.e(7643)]).then(r.bind(r,58540)),"@theme/BlogListPage",58540],a6b6269c:[()=>r.e(5110).then(r.bind(r,13771)),"@site/docs/deploy/config/customization/custom-amount-strategies.md",13771],a7bd4aaa:[()=>r.e(7098).then(r.bind(r,34389)),"@theme/DocVersionRoot",34389],a8e7d297:[()=>r.e(9882).then(r.bind(r,69326)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items.md",69326],a94703ab:[()=>Promise.all([r.e(1869),r.e(9048)]).then(r.bind(r,17540)),"@theme/DocRoot",17540],ab8014e4:[()=>r.e(834).then(r.bind(r,26961)),"@site/docs/integration/ui-extension/develop.md",26961],ab90b937:[()=>r.e(3192).then(r.bind(r,77637)),"@site/docs/hpccluster/plan.md",77637],acba7cd2:[()=>r.e(5740).then(r.bind(r,68889)),"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name.md",68889],acecf23e:[()=>r.e(1903).then(r.t.bind(r,1912,19)),"~blog/default/blogMetadata-default.json",1912],ad98ab2d:[()=>r.e(7288).then(r.bind(r,17602)),"@site/docs/integration/scow-api-hook/hook.md",17602],ae452c37:[()=>r.e(5171).then(r.bind(r,50067)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem.md",50067],af8bc913:[()=>r.e(9392).then(r.t.bind(r,55701,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-apps-926-list.json",55701],af8efd43:[()=>r.e(9450).then(r.bind(r,97112)),"@site/docs/refs/config/mis/definition-properties-jobchargecomment.md",97112],b089b694:[()=>r.e(9811).then(r.bind(r,34289)),"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor.md",34289],b0aeb598:[()=>r.e(3955).then(r.t.bind(r,86023,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u7f51\u5173-9ff.json",86023],b26bb1dc:[()=>r.e(7695).then(r.bind(r,49248)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-query.md",49248],b3d3256b:[()=>r.e(6862).then(r.bind(r,94493)),"@site/docs/deploy/ops/index.md",94493],b41687e1:[()=>r.e(1761).then(r.bind(r,68040)),"@site/blog/2023-03-29-scow-cli.md?truncated=true",68040],b4dc43d1:[()=>r.e(8052).then(r.bind(r,42945)),"@site/docs/deploy/config/customization/password-pattern.md",42945],b5149d2c:[()=>r.e(6429).then(r.bind(r,79418)),"@site/docs/refs/config/cluster/definition-properties-scheduler.md",79418],b569d8d0:[()=>r.e(4459).then(r.bind(r,92855)),"@site/docs/deploy/config/portal/apps/configure-attributes.md",92855],b706a0dc:[()=>r.e(6144).then(r.t.bind(r,61966,19)),"/home/runner/work/SCOW/SCOW/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",61966],b8940892:[()=>r.e(2795).then(r.bind(r,47347)),"@site/docs/deploy/config/portal/apps/apps/jupyterlab/index.md",47347],bb0219a9:[()=>r.e(449).then(r.t.bind(r,12654,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-apps-926.json",12654],bb4989ea:[()=>r.e(453).then(r.bind(r,46611)),"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0.md",46611],bce71fda:[()=>r.e(6070).then(r.bind(r,75253)),"@site/docs/refs/config/portal/definition-properties-apps.md",75253],c1e84185:[()=>r.e(8308).then(r.bind(r,31468)),"@site/docs/deploy/config/portal/apps/apps/relion/index.md",31468],c1f2c513:[()=>r.e(4975).then(r.bind(r,87255)),"@site/docs/deploy/install/scow-cli.md",87255],c2496278:[()=>r.e(8588).then(r.bind(r,72618)),"@site/docs/refs/config/mis/definition-properties-db-properties-password.md",72618],c413100c:[()=>r.e(6054).then(r.t.bind(r,52481,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u95e8\u6237\u7cfb\u7edf-57f.json",52481],c4578cd2:[()=>r.e(7783).then(r.bind(r,67390)),"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms.md",67390],c470300a:[()=>r.e(4307).then(r.bind(r,11961)),"@site/docs/refs/config/portal/definition-properties-misurl.md",11961],c5b602f0:[()=>r.e(6015).then(r.bind(r,19307)),"@site/docs/deploy/config/customization/custom-navlinks.md",19307],c66c8cf1:[()=>r.e(573).then(r.bind(r,12909)),"@site/docs/info/mis/index.md",12909],c718d69e:[()=>r.e(5214).then(r.bind(r,32595)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment.md",32595],c77d0a39:[()=>r.e(3565).then(r.bind(r,15931)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes.md",15931],c7a4d644:[()=>r.e(6276).then(r.bind(r,72850)),"@site/blog/2022-10-22-update-deployment.md?truncated=true",72850],c8ca1670:[()=>r.e(8062).then(r.bind(r,48945)),"@site/docs/refs/config/app/definition.md",48945],c93ae627:[()=>r.e(1359).then(r.bind(r,44640)),"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops.md",44640],ca086665:[()=>r.e(5424).then(r.t.bind(r,36436,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-scheduler-adapter-c73-list.json",36436],ca437f48:[()=>r.e(4339).then(r.bind(r,61108)),"@site/docs/refs/config/mis/definition-properties-db-properties-user.md",61108],ca74b5d2:[()=>r.e(6579).then(r.t.bind(r,94031,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1-a02.json",94031],ca808249:[()=>r.e(3212).then(r.bind(r,84543)),"@site/docs/refs/config/app/definition-properties-type-anyof-0.md",84543],cacd4a48:[()=>r.e(6827).then(r.bind(r,59402)),"@site/docs/refs/config/app/definition-properties-web-properties-script.md",59402],cbf5d2a0:[()=>r.e(4774).then(r.bind(r,41520)),"@site/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties.md",41520],cc0fc0ef:[()=>r.e(8271).then(r.bind(r,75752)),"@site/docs/info/ai/index.md",75752],cc264cac:[()=>r.e(6326).then(r.bind(r,47771)),"@site/docs/deploy/config/portal/apps/configure-app-comment.md",47771],ccc49370:[()=>Promise.all([r.e(1869),r.e(9273),r.e(1531),r.e(3249)]).then(r.bind(r,76479)),"@theme/BlogPostPage",76479],cd424372:[()=>r.e(3836).then(r.bind(r,84635)),"@site/docs/deploy/config/audit/intro.md",84635],cd539b66:[()=>r.e(7939).then(r.bind(r,95556)),"@site/docs/hpccluster/index.md",95556],cdd5e2cb:[()=>r.e(9413).then(r.bind(r,88695)),"@site/docs/deploy/config/customization/webui.md",88695],ced0e768:[()=>r.e(8397).then(r.t.bind(r,85570,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u7ba1\u7406\u7cfb\u7edf-203.json",85570],cf085041:[()=>r.e(3814).then(r.bind(r,5426)),"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm.md",5426],d00b81a6:[()=>r.e(8725).then(r.bind(r,55113)),"@site/docs/deploy/config/mis/schedulers/sync.md",55113],d05c84bd:[()=>r.e(2173).then(r.t.bind(r,23291,19)),"~blog/default/scow-pr-preview-pr-1298-blog-archive-35c.json",23291],d09a226f:[()=>r.e(2561).then(r.t.bind(r,19399,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u591a\u96c6\u7fa4\u7ba1\u7406-73d.json",19399],d0e820e2:[()=>r.e(9235).then(r.bind(r,65821)),"@site/docs/refs/config/mis/definition.md",65821],d18c46a9:[()=>r.e(6145).then(r.bind(r,71751)),"@site/docs/info/portal/app.md",71751],d36851ff:[()=>r.e(2484).then(r.t.bind(r,18379,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-\u914d\u7f6e-ade.json",18379],d36b53ca:[()=>r.e(5684).then(r.bind(r,67135)),"@site/docs/refs/config/app/definition-properties-vnc-properties-xstartup.md",67135],d4cbbfe3:[()=>r.e(1212).then(r.bind(r,19689)),"@site/docs/refs/config/cluster/definition-properties-scheduler-anyof-0.md",19689],d524ea6b:[()=>r.e(2842).then(r.bind(r,19931)),"@site/docs/deploy/config/portal/apps/apps/igv/index.md",19931],d534a19b:[()=>r.e(7720).then(r.bind(r,4966)),"@site/docs/hpccluster/config/slurm.conf.md",4966],d7d5528d:[()=>r.e(424).then(r.t.bind(r,84914,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-tags-944.json",84914],d8d27391:[()=>r.e(7433).then(r.t.bind(r,32353,19)),"~blog/default/scow-pr-preview-pr-1298-blog-tags-scow-portal-apps-902.json",32353],da9155f5:[()=>r.e(769).then(r.bind(r,95600)),"@site/docs/deploy/config/audit/customEvent.md",95600],dae56168:[()=>r.e(4905).then(r.bind(r,86013)),"@site/docs/deploy/config/ai/apps/apps/vscode/index.md",86013],dbeacb8f:[()=>r.e(1954).then(r.t.bind(r,96519,19)),"~docs/default/category-scowpr-previewpr-1298-docs-deploy-category-ai-\u7cfb\u7edfbeta-bbd.json",96519],ddf462b5:[()=>r.e(662).then(r.bind(r,23809)),"@site/docs/deploy/install/build-from-source.md",23809],de526efe:[()=>r.e(5403).then(r.bind(r,16945)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-path.md",16945],de670940:[()=>r.e(6670).then(r.bind(r,20289)),"@site/docs/refs/config/mis/definition-properties-db-properties-host.md",20289],df576f10:[()=>r.e(2710).then(r.bind(r,42865)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname.md",42865],e00e09f9:[()=>r.e(8703).then(r.bind(r,11359)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus.md",11359],e0907375:[()=>r.e(7649).then(r.bind(r,56204)),"@site/blog/2022-04-01-docs-online.md?truncated=true",56204],e10f4f39:[()=>r.e(1501).then(r.bind(r,77950)),"@site/docs/hpccluster/cluster-monitor/index.md",77950],e2e031cd:[()=>r.e(9020).then(r.bind(r,51783)),"@site/docs/hpccluster/mount-disk.md",51783],e44fec9a:[()=>r.e(1640).then(r.bind(r,14445)),"@site/docs/deploy/config/customization/custom-userlinks.md",14445],e53995c8:[()=>r.e(9410).then(r.bind(r,93806)),"@site/blog/2022-10-22-update-deployment.md",93806],e57f1229:[()=>r.e(3288).then(r.bind(r,71295)),"@site/docs/contribution/index.md",71295],e5e271d9:[()=>r.e(293).then(r.bind(r,52216)),"@site/docs/integration/auth/impl.md",52216],e722de6b:[()=>r.e(5198).then(r.bind(r,49631)),"@site/docs/deploy/config/mis/intro.md",49631],e7d646cc:[()=>r.e(6217).then(r.bind(r,31654)),"@site/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties.md",31654],e8a0c150:[()=>r.e(1328).then(r.bind(r,31812)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties.md",31812],e95cd134:[()=>r.e(6137).then(r.bind(r,93210)),"@site/docs/hpccluster/basic-config.md",93210],ec1eb26c:[()=>r.e(5872).then(r.bind(r,72663)),"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items.md",72663],ed1aabbe:[()=>r.e(1660).then(r.bind(r,89603)),"@site/docs/hpccluster/add-user.md",89603],ed5bbd30:[()=>r.e(8794).then(r.bind(r,3174)),"@site/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap.md",3174],ee1368cd:[()=>r.e(4846).then(r.bind(r,37266)),"@site/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize.md",37266],ef0a3fb1:[()=>r.e(6720).then(r.bind(r,62040)),"@site/docs/refs/config/clusterTexts/definition.md",62040],ef4f1127:[()=>r.e(6927).then(r.bind(r,91895)),"@site/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes.md",91895],f175d574:[()=>r.e(1400).then(r.bind(r,29207)),"@site/docs/refs/env/mis-web.md",29207],f194c5d5:[()=>r.e(1446).then(r.bind(r,6941)),"@site/docs/deploy/config/portal/apps/apps/vscode/index.md",6941],f1abeebd:[()=>r.e(7441).then(r.bind(r,5707)),"@site/docs/deploy/config/mis/schedulers/slurm.md",5707],f1d6bce2:[()=>r.e(58).then(r.bind(r,81675)),"@site/docs/deploy/get-started/vagrant/faq.md",81675],f2814725:[()=>r.e(9838).then(r.bind(r,75148)),"@site/docs/deploy/config/customization/public-files.md",75148],f383e482:[()=>r.e(1836).then(r.bind(r,63046)),"@site/blog/2023-07-05-update-app.md?truncated=true",63046],f3b93fbd:[()=>r.e(3043).then(r.bind(r,44387)),"@site/docs/deploy/config/portal/apps/apps/octave/index.md",44387],f537da69:[()=>r.e(5488).then(r.bind(r,49478)),"@site/docs/deploy/config/portal/customization/dashboard.md",49478],f58cd18e:[()=>r.e(7815).then(r.bind(r,35509)),"@site/docs/integration/index.md",35509],f745c053:[()=>r.e(6354).then(r.bind(r,76092)),"@site/docs/refs/config/mis/definition-properties-db-properties-port.md",76092],f7f99c03:[()=>r.e(5314).then(r.bind(r,58846)),"@site/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled.md",58846],f8b6983b:[()=>r.e(4701).then(r.bind(r,25452)),"@site/docs/integration/scow-api-hook/api/statistic.md",25452],f9c7338a:[()=>r.e(8297).then(r.bind(r,7084)),"@site/docs/refs/config/mis/definition-properties-changejobpricetype.md",7084],f9cadbd5:[()=>r.e(7663).then(r.bind(r,76470)),"@site/docs/deploy/config/auth/ssh.md",76470],fc3d3865:[()=>r.e(2289).then(r.bind(r,45083)),"@site/docs/deploy/config/cli/plugins/index.md",45083],fc59bd41:[()=>r.e(7367).then(r.bind(r,14437)),"@site/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-.md",14437],fd2af939:[()=>r.e(7133).then(r.bind(r,70561)),"@site/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items.md",70561],fd9d9fc2:[()=>r.e(2827).then(r.bind(r,56352)),"@site/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata.md",56352]};var a=r(49214);function p(e){let{error:t,retry:r,pastDelay:n}=e;return t?(0,a.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,a.jsx)("p",{children:String(t)}),(0,a.jsx)("div",{children:(0,a.jsx)("button",{type:"button",onClick:r,children:"Retry"})})]}):n?(0,a.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,a.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,a.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,a.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,a.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,a.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,a.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,a.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,a.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,a.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,a.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,a.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,a.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=r(61114),l=r(13393);function d(e,t){if("*"===e)return o()({loading:p,loader:()=>r.e(8092).then(r.bind(r,18092)),modules:["@theme/NotFound"],webpack:()=>[18092],render(e,t){const r=e.default;return(0,a.jsx)(l.W,{value:{plugin:{name:"native",id:"default"}},children:(0,a.jsx)(r,{...t})})}});const n=i[`${e}-${t}`],d={},u=[],f=[],m=(0,c.A)(n);return Object.entries(m).forEach((e=>{let[t,r]=e;const n=s[r];n&&(d[t]=n[0],u.push(n[1]),f.push(n[2]))})),o().Map({loading:p,loader:d,modules:u,webpack:()=>f,render(t,r){const o=JSON.parse(JSON.stringify(n));Object.entries(t).forEach((t=>{let[r,n]=t;const i=n.default;if(!i)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof i&&"function"!=typeof i||Object.keys(n).filter((e=>"default"!==e)).forEach((e=>{i[e]=n[e]}));let s=o;const a=r.split(".");a.slice(0,-1).forEach((e=>{s=s[e]})),s[a[a.length-1]]=i}));const i=o.__comp;delete o.__comp;const s=o.__context;return delete o.__context,(0,a.jsx)(l.W,{value:s,children:(0,a.jsx)(i,{...o,...r})})}})}const u=[{path:"/SCOW/pr-preview/pr-1298/",component:d("/SCOW/pr-preview/pr-1298/","18a"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog",component:d("/SCOW/pr-preview/pr-1298/blog","92a"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/archive",component:d("/SCOW/pr-preview/pr-1298/blog/archive","245"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/docs-online",component:d("/SCOW/pr-preview/pr-1298/blog/docs-online","497"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/scow-cli-release",component:d("/SCOW/pr-preview/pr-1298/blog/scow-cli-release","0d3"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter",component:d("/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","81e"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0",component:d("/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","33a"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags",component:d("/SCOW/pr-preview/pr-1298/blog/tags","1d8"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags/scow",component:d("/SCOW/pr-preview/pr-1298/blog/tags/scow","f59"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps",component:d("/SCOW/pr-preview/pr-1298/blog/tags/scow-apps","173"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli",component:d("/SCOW/pr-preview/pr-1298/blog/tags/scow-cli","9be"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment",component:d("/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment","2e5"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps",component:d("/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps","97a"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter",component:d("/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter","7cf"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0",component:d("/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0","054"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/update-portal-app",component:d("/SCOW/pr-preview/pr-1298/blog/update-portal-app","de1"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment",component:d("/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","b3a"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/markdown-page",component:d("/SCOW/pr-preview/pr-1298/markdown-page","687"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/search",component:d("/SCOW/pr-preview/pr-1298/search","cb3"),exact:!0},{path:"/SCOW/pr-preview/pr-1298/docs",component:d("/SCOW/pr-preview/pr-1298/docs","24e"),routes:[{path:"/SCOW/pr-preview/pr-1298/docs",component:d("/SCOW/pr-preview/pr-1298/docs","e5b"),routes:[{path:"/SCOW/pr-preview/pr-1298/docs",component:d("/SCOW/pr-preview/pr-1298/docs","e4e"),routes:[{path:"/SCOW/pr-preview/pr-1298/docs/basic-config",component:d("/SCOW/pr-preview/pr-1298/docs/basic-config","e3b"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta",component:d("/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta","3a2"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/cli",component:d("/SCOW/pr-preview/pr-1298/docs/category/cli","a2e"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook",component:d("/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook","bad"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55",component:d("/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55","99b"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/category/vagrant",component:d("/SCOW/pr-preview/pr-1298/docs/category/vagrant","90e"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta","10e"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b","0a9"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406","69d"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5","268"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf","0b6"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","5f7"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1","4e6"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c","aa3"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf","4d6"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173","544"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49","25e"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1","e77"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668","ba2"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4","4ab"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e","e6b"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf",component:d("/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf","2a0"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/contribution",component:d("/SCOW/pr-preview/pr-1298/docs/contribution","6ca"),exact:!0,sidebar:"contribution"},{path:"/SCOW/pr-preview/pr-1298/docs/contribution/dev",component:d("/SCOW/pr-preview/pr-1298/docs/contribution/dev","8d6"),exact:!0,sidebar:"contribution"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy",component:d("/SCOW/pr-preview/pr-1298/docs/deploy","a12"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/architecture",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/architecture","e4b"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config","947"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","ae6"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","7e0"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","2c3"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","73e"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro","6f7"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","faa"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","742"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","b38"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","24b"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","295"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","a87"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","436"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","b41"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","0a2"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","f07"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","50e"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types","2e9"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","c4d"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","958"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","5d2"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","f4b"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","741"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern","596"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files","390"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","d6e"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","9a8"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","d17"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","9a4"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","661"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","87d"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","21f"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync","cf0"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","fe7"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","a4c"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","aa8"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","0a0"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","228"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","303"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","962"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","3b4"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","bd8"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","2b6"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","095"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","342"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","29a"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","22b"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","198"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","ac6"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","838"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro","83f"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","1ae"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","ec0"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","0d2"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","490"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","a29"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","9de"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","a12"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","2ba"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq","5b9"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","330"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","142"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/install",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/install","023"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source","283"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","634"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","c8f"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/ops",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/ops","4eb"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips",component:d("/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","a84"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster","886"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","1bf"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","2b2"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf","cc3"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf","2ae"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","95d"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/module",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/module","55c"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk","95a"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","426"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan",component:d("/SCOW/pr-preview/pr-1298/docs/hpccluster/plan","1d4"),exact:!0,sidebar:"hpccluster"},{path:"/SCOW/pr-preview/pr-1298/docs/info",component:d("/SCOW/pr-preview/pr-1298/docs/info","8f4"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/info/ai",component:d("/SCOW/pr-preview/pr-1298/docs/info/ai","82d"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/info/mis",component:d("/SCOW/pr-preview/pr-1298/docs/info/mis","abc"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing",component:d("/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","b4d"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users",component:d("/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","e3a"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/info/portal",component:d("/SCOW/pr-preview/pr-1298/docs/info/portal","ca2"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/info/portal/app",component:d("/SCOW/pr-preview/pr-1298/docs/info/portal/app","165"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/info/portal/job",component:d("/SCOW/pr-preview/pr-1298/docs/info/portal/job","361"),exact:!0,sidebar:"info"},{path:"/SCOW/pr-preview/pr-1298/docs/integration",component:d("/SCOW/pr-preview/pr-1298/docs/integration","5fb"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl",component:d("/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","2aa"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/auth/use",component:d("/SCOW/pr-preview/pr-1298/docs/integration/auth/use","a0a"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api",component:d("/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","86f"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic",component:d("/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","1fe"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go",component:d("/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","1b2"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook",component:d("/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","3af"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto",component:d("/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","6d5"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension",component:d("/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","701"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop",component:d("/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","9c0"),exact:!0,sidebar:"integration"},{path:"/SCOW/pr-preview/pr-1298/docs/multi_cluster",component:d("/SCOW/pr-preview/pr-1298/docs/multi_cluster","600"),exact:!0,sidebar:"deploy"},{path:"/SCOW/pr-preview/pr-1298/docs/refs",component:d("/SCOW/pr-preview/pr-1298/docs/refs","c49"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app","510"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","005"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name","43c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes","1ea"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items","5b6"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type","75b"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0","b32"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1","dfb"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","4dc"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup","00d"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","b40"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript","23c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","a9c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","926"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","de9"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","bf8"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","3af"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","5cc"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","05c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","3e5"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","ecf"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","abf"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","120"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script","654"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster","5d5"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","33d"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname","a03"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore","82f"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler","52d"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","fa5"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","3a5"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","1ea"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","a4d"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","67b"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","e2b"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","dcc"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","718"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","fb3"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","ba3"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","4b6"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","748"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","ca2"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","2b1"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","a30"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","c1d"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","9eb"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","959"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","876"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","208"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","8ee"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts","585"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","8bf"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties","587"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","669"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","71f"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","25f"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","682"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","e27"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","098"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis","60a"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","db2"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","a24"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","182"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","578"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl","d6b"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype","880"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","5ac"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname","70f"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug","939"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host","b05"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password","162"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port","b38"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user","626"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","c8c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","43a"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","8a6"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","c91"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","6d9"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","05c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","161"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","70a"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","8f7"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","9dd"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","163"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","f6b"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","7d5"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","9be"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment","38e"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype","ba0"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl","023"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes","3fc"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","a62"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal","a4d"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","913"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir","b9c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps","5d0"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","afa"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","6c6"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","ab9"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","84c"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","435"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","249"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","100"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","f25"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","bf6"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","c32"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","2e1"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","23d"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement","edd"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","9b3"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","382"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","796"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","d89"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","799"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","95e"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","1f1"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","412"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl","4c4"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir","155"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell","98e"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","41a"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath","eb2"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui","1bb"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","771"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","4b0"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","cb6"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","fa8"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","974"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","4cd"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","1cb"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","d00"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","3b2"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","5d5"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-",component:d("/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","6ab"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/env/auth",component:d("/SCOW/pr-preview/pr-1298/docs/refs/env/auth","c88"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway",component:d("/SCOW/pr-preview/pr-1298/docs/refs/env/gateway","9f0"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server",component:d("/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server","ab1"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web",component:d("/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web","816"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web",component:d("/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web","bb8"),exact:!0,sidebar:"refs"},{path:"/SCOW/pr-preview/pr-1298/docs/slurm",component:d("/SCOW/pr-preview/pr-1298/docs/slurm","a29"),exact:!0,sidebar:"hpccluster"}]}]}]},{path:"*",component:d("*")}]},94158:(e,t,r)=>{"use strict";r.d(t,{o:()=>i,x:()=>s});var n=r(48318),o=r(49214);const i=n.createContext(!1);function s(e){let{children:t}=e;const[r,s]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{s(!0)}),[]),(0,o.jsx)(i.Provider,{value:r,children:t})}},75589:(e,t,r)=>{"use strict";var n=r(48318),o=r(93220),i=r(11734),s=r(10904),a=r(70830);const p=[r(76125),r(35416),r(98077),r(26461)];var c=r(61546),l=r(66325),d=r(73153),u=r(49214);function f(e){let{children:t}=e;return(0,u.jsx)(u.Fragment,{children:t})}var m=r(39527),g=r(62429),h=r(90246),b=r(12449),y=r(30763),v=r(11446),w=r(85140),S=r(65478),x=r(52005),C=r(5270);function k(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:r}}=(0,g.A)(),n=(0,v.o)(),o=r[e].htmlLang,i=e=>e.replace("-","_");return(0,u.jsxs)(m.A,{children:[Object.entries(r).map((e=>{let[t,{htmlLang:r}]=e;return(0,u.jsx)("link",{rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:r},t)})),(0,u.jsx)("link",{rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,u.jsx)("meta",{property:"og:locale",content:i(o)}),Object.values(r).filter((e=>o!==e.htmlLang)).map((e=>(0,u.jsx)("meta",{property:"og:locale:alternate",content:i(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function O(e){let{permalink:t}=e;const{siteConfig:{url:r}}=(0,g.A)(),n=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:r}}=(0,g.A)(),{pathname:n}=(0,l.zy)();return e+(0,x.applyTrailingSlash)((0,h.A)(n),{trailingSlash:r,baseUrl:t})}(),o=t?`${r}${t}`:n;return(0,u.jsxs)(m.A,{children:[(0,u.jsx)("meta",{property:"og:url",content:o}),(0,u.jsx)("link",{rel:"canonical",href:o})]})}function _(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:r}=(0,b.p)();return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(m.A,{children:[(0,u.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,u.jsx)("body",{className:w.w})]}),r&&(0,u.jsx)(y.be,{image:r}),(0,u.jsx)(O,{}),(0,u.jsx)(k,{}),(0,u.jsx)(C.A,{tag:S.Cy,locale:e}),(0,u.jsx)(m.A,{children:t.map(((e,t)=>(0,u.jsx)("meta",{...e},t)))})]})}const W=new Map;function E(e){if(W.has(e.pathname))return{...e,pathname:W.get(e.pathname)};if((0,d.u)(c.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return W.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return W.set(e.pathname,t),{...e,pathname:t}}var T=r(94158),j=r(35208),A=r(65828);function L(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];const o=p.map((t=>{const n=t.default?.[e]??t[e];return n?.(...r)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:r,previousLocation:n}=e;return(0,A.A)((()=>{n!==r&&(!function(e){let{location:t,previousLocation:r}=e;if(!r)return;const n=t.pathname===r.pathname,o=t.hash===r.hash,i=t.search===r.search;if(n&&o&&!i)return;const{hash:s}=t;if(s){const e=decodeURIComponent(s.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:r,previousLocation:n}),L("onRouteDidUpdate",{previousLocation:n,location:r}))}),[n,r]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class N extends n.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=a.A.canUseDOM?L("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const r=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=L("onRouteUpdate",{previousLocation:this.previousLocation,location:r}),R(r.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,u.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,u.jsx)(l.qh,{location:t,render:()=>e})})}}const I=N,D="__docusaurus-base-url-issue-banner-container",F="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function M(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${D}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${F}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function B(){const{siteConfig:{baseUrl:e}}=(0,g.A)();return(0,u.jsx)(u.Fragment,{children:!a.A.canUseDOM&&(0,u.jsx)(m.A,{children:(0,u.jsx)("script",{children:M(e)})})})}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.A)(),{pathname:r}=(0,l.zy)();return t&&r===e?(0,u.jsx)(B,{}):null}function U(){const{siteConfig:{favicon:e,title:t,noIndex:r},i18n:{currentLocale:n,localeConfigs:o}}=(0,g.A)(),i=(0,h.A)(e),{htmlLang:s,direction:a}=o[n];return(0,u.jsxs)(m.A,{children:[(0,u.jsx)("html",{lang:s,dir:a}),(0,u.jsx)("title",{children:t}),(0,u.jsx)("meta",{property:"og:title",content:t}),(0,u.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),r&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,u.jsx)("link",{rel:"icon",href:i})]})}var q=r(57033),H=r(12144);function Q(){const e=(0,H.A)();return(0,u.jsx)(m.A,{children:(0,u.jsx)("html",{"data-has-hydrated":e})})}function V(){const e=(0,d.v)(c.A),t=(0,l.zy)();return(0,u.jsx)(q.A,{children:(0,u.jsx)(j.l,{children:(0,u.jsxs)(T.x,{children:[(0,u.jsxs)(f,{children:[(0,u.jsx)(U,{}),(0,u.jsx)(_,{}),(0,u.jsx)($,{}),(0,u.jsx)(I,{location:E(t),children:e})]}),(0,u.jsx)(Q,{})]})})})}var G=r(84054);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,r)=>{if("undefined"==typeof document)return void r();const n=document.createElement("link");n.setAttribute("rel","prefetch"),n.setAttribute("href",e),n.onload=()=>t(),n.onerror=()=>r();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(n)}))}:function(e){return new Promise(((t,r)=>{const n=new XMLHttpRequest;n.open("GET",e,!0),n.withCredentials=!0,n.onload=()=>{200===n.status?t():r()},n.send(null)}))};var Y=r(61114);const Z=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,d.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[r]=e;return r.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=r.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),R(e))},te=Object.freeze(ee),re=Boolean(!0);if(a.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,u.jsx)(s.vd,{children:(0,u.jsx)(i.Kd,{children:(0,u.jsx)(V,{})})}),r=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},a=()=>{if(re)n.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:r})}));else{const i=o.createRoot(e,{onRecoverableError:r});n.startTransition((()=>{i.render(t)}))}};R(window.location.pathname).then(a)}},35208:(e,t,r)=>{"use strict";r.d(t,{o:()=>d,l:()=>u});var n=r(48318),o=r(4784);const i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/SCOW/pr-preview/pr-1298/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/SCOW/pr-preview/pr-1298/docs","mainDocId":"info/index","docs":[{"id":"contribution/dev","path":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","sidebar":"contribution"},{"id":"contribution/index","path":"/SCOW/pr-preview/pr-1298/docs/contribution/","sidebar":"contribution"},{"id":"deploy/architecture/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/architecture/","sidebar":"deploy"},{"id":"deploy/config/ai/apps/apps/jupyterlab/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab/","sidebar":"deploy"},{"id":"deploy/config/ai/apps/apps/vscode/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode/","sidebar":"deploy"},{"id":"deploy/config/ai/apps/configure-vnc-app","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","sidebar":"deploy"},{"id":"deploy/config/ai/apps/configure-web-app","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","sidebar":"deploy"},{"id":"deploy/config/ai/apps/intro","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro","sidebar":"deploy"},{"id":"deploy/config/ai/intro","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","sidebar":"deploy"},{"id":"deploy/config/audit/customEvent","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","sidebar":"deploy"},{"id":"deploy/config/audit/intro","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","sidebar":"deploy"},{"id":"deploy/config/auth/config","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","sidebar":"deploy"},{"id":"deploy/config/auth/intro","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","sidebar":"deploy"},{"id":"deploy/config/auth/ldap","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","sidebar":"deploy"},{"id":"deploy/config/auth/ssh","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","sidebar":"deploy"},{"id":"deploy/config/cli/plugins/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins/","sidebar":"deploy"},{"id":"deploy/config/cluster-config","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","sidebar":"deploy"},{"id":"deploy/config/customization/basepath","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","sidebar":"deploy"},{"id":"deploy/config/customization/custom-amount-strategies","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","sidebar":"deploy"},{"id":"deploy/config/customization/custom-charge-types","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types","sidebar":"deploy"},{"id":"deploy/config/customization/custom-config-i18n","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","sidebar":"deploy"},{"id":"deploy/config/customization/custom-job-charge-metadata","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","sidebar":"deploy"},{"id":"deploy/config/customization/custom-navlinks","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","sidebar":"deploy"},{"id":"deploy/config/customization/custom-system-language","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","sidebar":"deploy"},{"id":"deploy/config/customization/custom-userlinks","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","sidebar":"deploy"},{"id":"deploy/config/customization/password-pattern","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern","sidebar":"deploy"},{"id":"deploy/config/customization/public-files","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files","sidebar":"deploy"},{"id":"deploy/config/customization/webui","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","sidebar":"deploy"},{"id":"deploy/config/gateway/config/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config/","sidebar":"deploy"},{"id":"deploy/config/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/","sidebar":"deploy"},{"id":"deploy/config/mis/cluster-monitor/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor/","sidebar":"deploy"},{"id":"deploy/config/mis/create-user/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user/","sidebar":"deploy"},{"id":"deploy/config/mis/init/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init/","sidebar":"deploy"},{"id":"deploy/config/mis/intro","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","sidebar":"deploy"},{"id":"deploy/config/mis/schedulers/slurm","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","sidebar":"deploy"},{"id":"deploy/config/mis/schedulers/sync","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync","sidebar":"deploy"},{"id":"deploy/config/multi-cluster/index","path":"/SCOW/pr-preview/pr-1298/docs/multi_cluster","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/baltamatica/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/desktop/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/emacs/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/igv/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/jupyter/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/jupyterlab/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/matlab/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/octave/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/relion/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/rstudio/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/apps/vscode/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode/","sidebar":"deploy"},{"id":"deploy/config/portal/apps/configure-app-comment","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","sidebar":"deploy"},{"id":"deploy/config/portal/apps/configure-app-logo","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","sidebar":"deploy"},{"id":"deploy/config/portal/apps/configure-attributes","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","sidebar":"deploy"},{"id":"deploy/config/portal/apps/configure-cluster-apps","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","sidebar":"deploy"},{"id":"deploy/config/portal/apps/configure-vnc-app","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","sidebar":"deploy"},{"id":"deploy/config/portal/apps/configure-web-app","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","sidebar":"deploy"},{"id":"deploy/config/portal/apps/intro","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro","sidebar":"deploy"},{"id":"deploy/config/portal/customization/dashboard","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","sidebar":"deploy"},{"id":"deploy/config/portal/desktop","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","sidebar":"deploy"},{"id":"deploy/config/portal/intro","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","sidebar":"deploy"},{"id":"deploy/config/portal/proxy-gateway/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway/","sidebar":"deploy"},{"id":"deploy/config/portal/shell","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","sidebar":"deploy"},{"id":"deploy/config/portal/transfer-cross-clusters","path":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","sidebar":"deploy"},{"id":"deploy/get-started/vagrant/customization","path":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","sidebar":"deploy"},{"id":"deploy/get-started/vagrant/faq","path":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq","sidebar":"deploy"},{"id":"deploy/get-started/vagrant/images","path":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","sidebar":"deploy"},{"id":"deploy/get-started/vagrant/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/","sidebar":"deploy"},{"id":"deploy/get-started/vagrant/vagrant-env","path":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","sidebar":"deploy"},{"id":"deploy/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/","sidebar":"deploy"},{"id":"deploy/install/build-from-source","path":"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source","sidebar":"deploy"},{"id":"deploy/install/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/install/","sidebar":"deploy"},{"id":"deploy/install/multi-platform","path":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","sidebar":"deploy"},{"id":"deploy/install/scow-cli","path":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","sidebar":"deploy"},{"id":"deploy/ops/admin-usage-tips","path":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","sidebar":"deploy"},{"id":"deploy/ops/index","path":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/","sidebar":"deploy"},{"id":"hpccluster/add-user","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","sidebar":"hpccluster"},{"id":"hpccluster/basic-config","path":"/SCOW/pr-preview/pr-1298/docs/basic-config","sidebar":"hpccluster"},{"id":"hpccluster/cluster-monitor/index","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor/","sidebar":"hpccluster"},{"id":"hpccluster/config/slurm.conf","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf","sidebar":"hpccluster"},{"id":"hpccluster/config/slurmdbd.conf","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf","sidebar":"hpccluster"},{"id":"hpccluster/index","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/","sidebar":"hpccluster"},{"id":"hpccluster/intel","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","sidebar":"hpccluster"},{"id":"hpccluster/module","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","sidebar":"hpccluster"},{"id":"hpccluster/mount-disk","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk","sidebar":"hpccluster"},{"id":"hpccluster/nfs","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","sidebar":"hpccluster"},{"id":"hpccluster/plan","path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan","sidebar":"hpccluster"},{"id":"hpccluster/slurm","path":"/SCOW/pr-preview/pr-1298/docs/slurm","sidebar":"hpccluster"},{"id":"info/ai/index","path":"/SCOW/pr-preview/pr-1298/docs/info/ai/","sidebar":"info"},{"id":"info/index","path":"/SCOW/pr-preview/pr-1298/docs/info/","sidebar":"info"},{"id":"info/mis/business/billing","path":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","sidebar":"info"},{"id":"info/mis/business/users","path":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","sidebar":"info"},{"id":"info/mis/index","path":"/SCOW/pr-preview/pr-1298/docs/info/mis/","sidebar":"info"},{"id":"info/portal/app","path":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","sidebar":"info"},{"id":"info/portal/index","path":"/SCOW/pr-preview/pr-1298/docs/info/portal/","sidebar":"info"},{"id":"info/portal/job","path":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","sidebar":"info"},{"id":"integration/auth/impl","path":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","sidebar":"integration"},{"id":"integration/auth/use","path":"/SCOW/pr-preview/pr-1298/docs/integration/auth/use","sidebar":"integration"},{"id":"integration/index","path":"/SCOW/pr-preview/pr-1298/docs/integration/","sidebar":"integration"},{"id":"integration/scow-api-hook/api/api","path":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/","sidebar":"integration"},{"id":"integration/scow-api-hook/api/statistic","path":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","sidebar":"integration"},{"id":"integration/scow-api-hook/examples/go","path":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","sidebar":"integration"},{"id":"integration/scow-api-hook/hook","path":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","sidebar":"integration"},{"id":"integration/scow-api-hook/proto","path":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","sidebar":"integration"},{"id":"integration/ui-extension/develop","path":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","sidebar":"integration"},{"id":"integration/ui-extension/ui-extension","path":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/","sidebar":"integration"},{"id":"refs/config/app/definition","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","sidebar":"refs"},{"id":"refs/config/app/definition-properties-name","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name","sidebar":"refs"},{"id":"refs/config/app/definition-properties-nodes","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes","sidebar":"refs"},{"id":"refs/config/app/definition-properties-nodes-items","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items","sidebar":"refs"},{"id":"refs/config/app/definition-properties-type","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type","sidebar":"refs"},{"id":"refs/config/app/definition-properties-type-anyof-0","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0","sidebar":"refs"},{"id":"refs/config/app/definition-properties-type-anyof-1","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1","sidebar":"refs"},{"id":"refs/config/app/definition-properties-vnc","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","sidebar":"refs"},{"id":"refs/config/app/definition-properties-vnc-properties-xstartup","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-beforescript","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-formdata","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-method","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-path","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-query","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","sidebar":"refs"},{"id":"refs/config/app/definition-properties-web-properties-script","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script","sidebar":"refs"},{"id":"refs/config/app/index","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/","sidebar":"refs"},{"id":"refs/config/cluster/definition","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-displayname","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-misignore","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-scheduler","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-scheduler-anyof-0","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-computenodes","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-computenodes-items","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-loginnodes","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-mis","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","sidebar":"refs"},{"id":"refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","sidebar":"refs"},{"id":"refs/config/cluster/index","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","sidebar":"refs"},{"id":"refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","sidebar":"refs"},{"id":"refs/config/clusterTexts/index","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/","sidebar":"refs"},{"id":"refs/config/mis/definition","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-accountnamepattern","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-accountnamepattern-properties-regex","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-authurl","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-changejobpricetype","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-db","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-db-properties-dbname","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-db-properties-debug","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-db-properties-host","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-db-properties-password","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-db-properties-port","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-db-properties-user","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-batchsize","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-fetchjobs-properties-startindex","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-jobchargecomment","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-jobchargetype","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-portalurl","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-predefinedchargingtypes","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes","sidebar":"refs"},{"id":"refs/config/mis/definition-properties-predefinedchargingtypes-items","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","sidebar":"refs"},{"id":"refs/config/mis/index","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/","sidebar":"refs"},{"id":"refs/config/portal/definition","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-appjobsdir","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-apps","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometext","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometext-properties-defaulttext","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometitle","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometitle-properties-defaulttext","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-jobmanagement","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop-properties-enabled","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-items","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-misurl","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-savedjobsdir","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-shell","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-submitjobdefaultpwd","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","sidebar":"refs"},{"id":"refs/config/portal/definition-properties-turbovncpath","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath","sidebar":"refs"},{"id":"refs/config/portal/index","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/","sidebar":"refs"},{"id":"refs/config/ui/definition","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-footer","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-footer-properties-defaulttext","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-footer-properties-hostnamemap","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-primarycolor","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","sidebar":"refs"},{"id":"refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","sidebar":"refs"},{"id":"refs/config/ui/index","path":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/","sidebar":"refs"},{"id":"refs/env/auth","path":"/SCOW/pr-preview/pr-1298/docs/refs/env/auth","sidebar":"refs"},{"id":"refs/env/gateway","path":"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway","sidebar":"refs"},{"id":"refs/env/mis-server","path":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server","sidebar":"refs"},{"id":"refs/env/mis-web","path":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web","sidebar":"refs"},{"id":"refs/env/portal-web","path":"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web","sidebar":"refs"},{"id":"refs/index","path":"/SCOW/pr-preview/pr-1298/docs/refs/","sidebar":"refs"},{"id":"/category/\u5feb\u901f\u4f53\u9a8c","path":"/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c","sidebar":"deploy"},{"id":"/category/vagrant","path":"/SCOW/pr-preview/pr-1298/docs/category/vagrant","sidebar":"deploy"},{"id":"/category/\u5b89\u88c5","path":"/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5","sidebar":"deploy"},{"id":"/category/\u914d\u7f6e","path":"/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e","sidebar":"deploy"},{"id":"/category/\u8ba4\u8bc1","path":"/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1","sidebar":"deploy"},{"id":"/category/\u95e8\u6237\u7cfb\u7edf","path":"/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf","sidebar":"deploy"},{"id":"/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","path":"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b","sidebar":"deploy"},{"id":"/category/\u7ba1\u7406\u7cfb\u7edf","path":"/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf","sidebar":"deploy"},{"id":"/category/\u8c03\u5ea6\u5668","path":"/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668","sidebar":"deploy"},{"id":"/category/ai-\u7cfb\u7edfbeta","path":"/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta","sidebar":"deploy"},{"id":"/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta","path":"/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta","sidebar":"deploy"},{"id":"/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1","path":"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1","sidebar":"deploy"},{"id":"/category/\u5ba1\u8ba1\u7cfb\u7edf","path":"/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf","sidebar":"deploy"},{"id":"/category/cli","path":"/SCOW/pr-preview/pr-1298/docs/category/cli","sidebar":"deploy"},{"id":"/category/\u7f51\u5173","path":"/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173","sidebar":"deploy"},{"id":"/category/\u81ea\u5b9a\u4e49","path":"/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49","sidebar":"deploy"},{"id":"/category/\u591a\u96c6\u7fa4\u7ba1\u7406","path":"/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406","sidebar":"deploy"},{"id":"/category/\u8fd0\u7ef4","path":"/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4","sidebar":"deploy"},{"id":"/category/scow-api\u548chook","path":"/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook","sidebar":"integration"},{"id":"/category/\u4f7f\u7528\u793a\u4f8b","path":"/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b","sidebar":"integration"},{"id":"/category/ui\u6269\u5c55","path":"/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55","sidebar":"integration"}],"draftIds":[],"sidebars":{"info":{"link":{"path":"/SCOW/pr-preview/pr-1298/docs/info/","label":"info/index"}},"deploy":{"link":{"path":"/SCOW/pr-preview/pr-1298/docs/deploy/","label":"deploy/index"}},"integration":{"link":{"path":"/SCOW/pr-preview/pr-1298/docs/integration/","label":"integration/index"}},"hpccluster":{"link":{"path":"/SCOW/pr-preview/pr-1298/docs/hpccluster/","label":"hpccluster/index"}},"contribution":{"link":{"path":"/SCOW/pr-preview/pr-1298/docs/contribution/","label":"contribution/index"}},"refs":{"link":{"path":"/SCOW/pr-preview/pr-1298/docs/refs/","label":"refs/index"}}}}],"breadcrumbs":true}}}'),s=JSON.parse('{"defaultLocale":"zh","locales":["zh"],"path":"i18n","currentLocale":"zh","localeConfigs":{"zh":{"label":"\u4e2d\u6587","direction":"ltr","htmlLang":"zh","calendar":"gregory","path":"zh"}}}');var a=r(22654);const p=JSON.parse('{"docusaurusVersion":"3.2.0","siteVersion":"1.3.3","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.2.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.2.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.2.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.2.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.2.0"},"resolve-react":{"type":"local"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.44.0"}}}');var c=r(49214);const l={siteConfig:o.default,siteMetadata:p,globalData:i,i18n:s,codeTranslations:a},d=n.createContext(l);function u(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:l,children:t})}},57033:(e,t,r)=>{"use strict";r.d(t,{A:()=>g});var n=r(48318),o=r(70830),i=r(39527),s=r(52005),a=r(68665),p=r(13393),c=r(49214);function l(e){let{error:t,tryAgain:r}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:r,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const r=(0,s.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:r})}function u(e){let{children:t}=e;return(0,c.jsx)(p.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:r}=e;return(0,c.jsx)(u,{children:(0,c.jsxs)(g,{fallback:()=>(0,c.jsx)(l,{error:t,tryAgain:r}),children:[(0,c.jsx)(i.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(a.A,{children:(0,c.jsx)(l,{error:t,tryAgain:r})})]})})}const m=e=>(0,c.jsx)(f,{...e});class g extends n.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},70830:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});const n="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:n,canUseEventListeners:n&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:n&&"IntersectionObserver"in window,canUseViewport:n&&"screen"in window}},39527:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});r(48318);var n=r(10904),o=r(49214);function i(e){return(0,o.jsx)(n.mg,{...e})}},33985:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(48318),o=r(11734),i=r(52005),s=r(62429),a=r(96583),p=r(70830),c=r(51035),l=r(90246),d=r(49214);function u(e,t){let{isNavLink:r,to:u,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,s.A)(),{withBaseUrl:S}=(0,l.h)(),x=(0,c.A)(),C=(0,n.useRef)(null);(0,n.useImperativeHandle)(t,(()=>C.current));const k=u||f;const O=(0,a.A)(k),_=k?.replace("pathname://","");let W=void 0!==_?(E=_,b&&(e=>e.startsWith("/"))(E)?S(E):E):void 0;var E;W&&O&&(W=(0,i.applyTrailingSlash)(W,{trailingSlash:v,baseUrl:w}));const T=(0,n.useRef)(!1),j=r?o.k2:o.N_,A=p.A.canUseIntersectionObserver,L=(0,n.useRef)(),P=()=>{T.current||null==W||(window.docusaurus.preload(W),T.current=!0)};(0,n.useEffect)((()=>(!A&&O&&null!=W&&window.docusaurus.prefetch(W),()=>{A&&L.current&&L.current.disconnect()})),[L,W,A,O]);const R=W?.startsWith("#")??!1,N=!y.target||"_self"===y.target,I=!W||!O||!N||R;return h||!R&&I||x.collectLink(W),y.id&&x.collectAnchor(y.id),I?(0,d.jsx)("a",{ref:C,href:W,...k&&!O&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,d.jsx)(j,{...y,onMouseEnter:P,onTouchStart:P,innerRef:e=>{C.current=e,A&&e&&O&&(L.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(L.current.unobserve(e),L.current.disconnect(),null!=W&&window.docusaurus.prefetch(W))}))})),L.current.observe(e))},to:W,...r&&{isActive:g,activeClassName:m}})}const f=n.forwardRef(u)},7866:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,T:()=>p});var n=r(48318),o=r(49214);function i(e,t){const r=e.split(/(\{\w+\})/).map(((e,r)=>{if(r%2==1){const r=t?.[e.slice(1,-1)];if(void 0!==r)return r}return e}));return r.some((e=>(0,n.isValidElement)(e)))?r.map(((e,t)=>(0,n.isValidElement)(e)?n.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):r.join("")}var s=r(22654);function a(e){let{id:t,message:r}=e;if(void 0===t&&void 0===r)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return s[t??r]??r??t}function p(e,t){let{message:r,id:n}=e;return i(a({message:r,id:n}),t)}function c(e){let{children:t,id:r,values:n}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const s=a({message:t,id:r});return(0,o.jsx)(o.Fragment,{children:i(s,n)})}},3612:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n="default"},96583:(e,t,r)=>{"use strict";function n(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!n(e)}r.d(t,{A:()=>o,z:()=>n})},90246:(e,t,r)=>{"use strict";r.d(t,{A:()=>a,h:()=>s});var n=r(48318),o=r(62429),i=r(96583);function s(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.A)(),r=(0,n.useCallback)(((r,n)=>function(e,t,r,n){let{forcePrependBaseUrl:o=!1,absolute:s=!1}=void 0===n?{}:n;if(!r||r.startsWith("#")||(0,i.z)(r))return r;if(o)return t+r.replace(/^\//,"");if(r===t.replace(/\/$/,""))return t;const a=r.startsWith(t)?r:t+r.replace(/^\//,"");return s?e+a:a}(t,e,r,n)),[t,e]);return{withBaseUrl:r}}function a(e,t){void 0===t&&(t={});const{withBaseUrl:r}=s();return r(e,t)}},51035:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(48318);r(49214);const o=n.createContext({collectAnchor:()=>{},collectLink:()=>{}}),i=()=>(0,n.useContext)(o);function s(){return i()}},62429:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(48318),o=r(35208);function i(){return(0,n.useContext)(o.o)}},12144:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(48318),o=r(94158);function i(){return(0,n.useContext)(o.o)}},65828:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(48318);const o=r(70830).A.canUseDOM?n.useLayoutEffect:n.useEffect},5766:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(48318),o=r(13393);function i(){const e=n.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},61114:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});const n=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(r,o){Object.entries(r).forEach((r=>{let[i,s]=r;const a=o?`${o}.${i}`:i;n(s)?e(s,a):t[a]=s}))}(e),t}},13393:(e,t,r)=>{"use strict";r.d(t,{W:()=>s,o:()=>i});var n=r(48318),o=r(49214);const i=n.createContext(null);function s(e){let{children:t,value:r}=e;const s=n.useContext(i),a=(0,n.useMemo)((()=>function(e){let{parent:t,value:r}=e;if(!t){if(!r)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in r))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return r}const n={...t.data,...r?.data};return{plugin:t.plugin,data:n}}({parent:s,value:r})),[s,r]);return(0,o.jsx)(i.Provider,{value:a,children:t})}},14914:(e,t,r)=>{"use strict";r.d(t,{zK:()=>g,vT:()=>u,Gy:()=>l,HW:()=>h,ht:()=>d,r7:()=>m,jh:()=>f});var n=r(66325),o=r(62429),i=r(3612);function s(e,t){void 0===t&&(t={});const r=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!r&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return r}const a=e=>e.versions.find((e=>e.isLast));function p(e,t){const r=function(e,t){const r=a(e);return[...e.versions.filter((e=>e!==r)),r].find((e=>!!(0,n.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=r?.docs.find((e=>!!(0,n.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:r,activeDoc:o,alternateDocVersions:o?function(t){const r={};return e.versions.forEach((e=>{e.docs.forEach((n=>{n.id===t&&(r[e.name]=n)}))})),r}(o.id):{}}}const c={},l=()=>s("docusaurus-plugin-content-docs")??c,d=e=>{try{return function(e,t,r){void 0===t&&(t=i.W),void 0===r&&(r={});const n=s(e),o=n?.[t];if(!o&&r.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function u(e){void 0===e&&(e={});const t=l(),{pathname:r}=(0,n.zy)();return function(e,t,r){void 0===r&&(r={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,r]=e;return!!(0,n.B6)(t,{path:r.path,exact:!1,strict:!1})})),i=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!i&&r.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return i}(t,r,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return a(t)}function g(e){const t=d(e),{pathname:r}=(0,n.zy)();return p(t,r)}function h(e){const t=d(e),{pathname:r}=(0,n.zy)();return function(e,t){const r=a(e);return{latestDocSuggestion:p(e,t).alternateDocVersions[r.name],latestVersionSuggestion:r}}(t,r)}},41195:(e,t,r)=>{"use strict";function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(this,arguments)}var a=r(48318),p=r(23108),c=[],l=[];function d(e){var t=e(),r={loading:!0,loaded:null,error:null};return r.promise=t.then((function(e){return r.loading=!1,r.loaded=e,e})).catch((function(e){throw r.loading=!1,r.error=e,e})),r}function u(e){var t={loading:!1,loaded:{},error:null},r=[];try{Object.keys(e).forEach((function(n){var o=d(e[n]);o.loading?t.loading=!0:(t.loaded[n]=o.loaded,t.error=o.error),r.push(o.promise),o.promise.then((function(e){t.loaded[n]=e})).catch((function(e){t.error=e}))}))}catch(n){t.error=n}return t.promise=Promise.all(r).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return a.createElement((r=e)&&r.__esModule?r.default:r,t);var r}function m(e,t){var d,u;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=s({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),g=null;function h(){return g||(g=e(m.loader)),g.promise}return c.push(h),"function"==typeof m.webpack&&l.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==r.m[e]})))return h()})),u=d=function(t){function r(r){var n;return i(o(o(n=t.call(this,r)||this)),"retry",(function(){n.setState({error:null,loading:!0,timedOut:!1}),g=e(m.loader),n._loadModule()})),h(),n.state={error:g.error,pastDelay:!1,timedOut:!1,loading:g.loading,loaded:g.loaded},n}n(r,t),r.preload=function(){return h()};var s=r.prototype;return s.UNSAFE_componentWillMount=function(){this._loadModule()},s.componentDidMount=function(){this._mounted=!0},s._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),g.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var r=function(){t({error:g.error,loaded:g.loaded,loading:g.loading}),e._clearTimeouts()};g.promise.then((function(){return r(),null})).catch((function(e){return r(),null}))}},s.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},s._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},s.render=function(){return this.state.loading||this.state.error?a.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},r}(a.Component),i(d,"contextTypes",{loadable:p.shape({report:p.func.isRequired})}),u}function g(e){return m(d,e)}g.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(u,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}n(t,e);var r=t.prototype;return r.getChildContext=function(){return{loadable:{report:this.props.report}}},r.render=function(){return a.Children.only(this.props.children)},t}(a.Component);function b(e){for(var t=[];e.length;){var r=e.pop();t.push(r())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}i(h,"propTypes",{report:p.func.isRequired}),i(h,"childContextTypes",{loadable:p.shape({report:p.func.isRequired}).isRequired}),g.Capture=h,g.preloadAll=function(){return new Promise((function(e,t){b(c).then(e,t)}))},g.preloadReady=function(){return new Promise((function(e,t){b(l).then(e,e)}))},e.exports=g},98077:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var n=r(84564),o=r.n(n);o().configure({showSpinner:!1});const i={onRouteUpdate(e){let{location:t,previousLocation:r}=e;if(r&&t.pathname!==r.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},35416:(e,t,r)=>{"use strict";r.r(t);var n=r(79095),o=r(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:n}=t;globalThis.Prism=e,n.forEach((e=>{"php"===e&&r(43814),r(56929)(`./prism-${e}`)})),delete globalThis.Prism}(n.My)},31773:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});r(48318);var n=r(46601),o=r(7866),i=r(12449),s=r(33985),a=r(51035);const p={anchorWithStickyNavbar:"anchorWithStickyNavbar_FvRs",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_jfPV"};var c=r(49214);function l(e){let{as:t,id:r,...l}=e;const d=(0,a.A)(),{navbar:{hideOnScroll:u}}=(0,i.p)();if("h1"===t||!r)return(0,c.jsx)(t,{...l,id:void 0});d.collectAnchor(r);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof l.children?l.children:r});return(0,c.jsxs)(t,{...l,className:(0,n.A)("anchor",u?p.anchorWithHideOnScrollNavbar:p.anchorWithStickyNavbar,l.className),id:r,children:[l.children,(0,c.jsx)(s.A,{className:"hash-link",to:`#${r}`,"aria-label":f,title:f,children:"\u200b"})]})}},21244:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});r(48318);const n={iconExternalLink:"iconExternalLink_in87"};var o=r(49214);function i(e){let{width:t=13.5,height:r=13.5}=e;return(0,o.jsx)("svg",{width:t,height:r,"aria-hidden":"true",viewBox:"0 0 24 24",className:n.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},68665:(e,t,r)=>{"use strict";r.d(t,{A:()=>It});var n=r(48318),o=r(46601),i=r(57033),s=r(30763),a=r(66325),p=r(7866),c=r(67599),l=r(49214);const d="__docusaurus_skipToContent_fallback";function u(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,n.useRef)(null),{action:t}=(0,a.W6)(),r=(0,n.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&u(t)}),[]);return(0,c.$)((r=>{let{location:n}=r;e.current&&!n.hash&&"PUSH"===t&&u(e.current)})),{containerRef:e,onClick:r}}const m=(0,p.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:r,onClick:n}=f();return(0,l.jsx)("div",{ref:r,role:"region","aria-label":m,children:(0,l.jsx)("a",{...e,href:`#${d}`,onClick:n,children:t})})}var h=r(83682),b=r(85140);const y={skipToContent:"skipToContent_DaBv"};function v(){return(0,l.jsx)(g,{className:y.skipToContent})}var w=r(12449),S=r(7718);function x(e){let{width:t=21,height:r=21,color:n="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return(0,l.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:r,...s,children:(0,l.jsx)("g",{stroke:n,strokeWidth:o,children:(0,l.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const C={closeButton:"closeButton_Pzdz"};function k(e){return(0,l.jsx)("button",{type:"button","aria-label":(0,p.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",C.closeButton,e.className),children:(0,l.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const O={content:"content_evsg"};function _(e){const{announcementBar:t}=(0,w.p)(),{content:r}=t;return(0,l.jsx)("div",{...e,className:(0,o.A)(O.content,e.className),dangerouslySetInnerHTML:{__html:r}})}const W={announcementBar:"announcementBar_il64",announcementBarPlaceholder:"announcementBarPlaceholder_hea3",announcementBarClose:"announcementBarClose_m_42",announcementBarContent:"announcementBarContent_LQTH"};function E(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:r}=(0,S.Mj)();if(!t)return null;const{backgroundColor:n,textColor:o,isCloseable:i}=e;return(0,l.jsxs)("div",{className:W.announcementBar,style:{backgroundColor:n,color:o},role:"banner",children:[i&&(0,l.jsx)("div",{className:W.announcementBarPlaceholder}),(0,l.jsx)(_,{className:W.announcementBarContent}),i&&(0,l.jsx)(k,{onClick:r,className:W.announcementBarClose})]})}var T=r(50358),j=r(90817);var A=r(84091),L=r(86167);const P=n.createContext(null);function R(e){let{children:t}=e;const r=function(){const e=(0,T.M)(),t=(0,L.YL)(),[r,o]=(0,n.useState)(!1),i=null!==t.component,s=(0,A.ZC)(i);return(0,n.useEffect)((()=>{i&&!s&&o(!0)}),[i,s]),(0,n.useEffect)((()=>{i?e.shown||o(!0):o(!1)}),[e.shown,i]),(0,n.useMemo)((()=>[r,o]),[r])}();return(0,l.jsx)(P.Provider,{value:r,children:t})}function N(e){if(e.component){const t=e.component;return(0,l.jsx)(t,{...e.props})}}function I(){const e=(0,n.useContext)(P);if(!e)throw new A.dV("NavbarSecondaryMenuDisplayProvider");const[t,r]=e,o=(0,n.useCallback)((()=>r(!1)),[r]),i=(0,L.YL)();return(0,n.useMemo)((()=>({shown:t,hide:o,content:N(i)})),[o,i,t])}function D(e){let{header:t,primaryMenu:r,secondaryMenu:n}=e;const{shown:i}=I();return(0,l.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,l.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i}),children:[(0,l.jsx)("div",{className:"navbar-sidebar__item menu",children:r}),(0,l.jsx)("div",{className:"navbar-sidebar__item menu",children:n})]})]})}var F=r(36650),z=r(12144);function M(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function B(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_mqUd",toggleButton:"toggleButton_RaCl",darkToggleIcon:"darkToggleIcon_XeEH",lightToggleIcon:"lightToggleIcon_J9d5",toggleButtonDisabled:"toggleButtonDisabled_evVP"};function U(e){let{className:t,buttonClassName:r,value:n,onChange:i}=e;const s=(0,z.A)(),a=(0,p.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===n?(0,p.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,p.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,l.jsx)("div",{className:(0,o.A)($.toggle,t),children:(0,l.jsxs)("button",{className:(0,o.A)("clean-btn",$.toggleButton,!s&&$.toggleButtonDisabled,r),type:"button",onClick:()=>i("dark"===n?"light":"dark"),disabled:!s,title:a,"aria-label":a,"aria-live":"polite",children:[(0,l.jsx)(M,{className:(0,o.A)($.toggleIcon,$.lightToggleIcon)}),(0,l.jsx)(B,{className:(0,o.A)($.toggleIcon,$.darkToggleIcon)})]})})}const q=n.memo(U),H={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_ox95"};function Q(e){let{className:t}=e;const r=(0,w.p)().navbar.style,n=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,F.G)();return n?null:(0,l.jsx)(q,{className:t,buttonClassName:"dark"===r?H.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var V=r(77632);function G(){return(0,l.jsx)(V.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,T.M)();return(0,l.jsx)("button",{type:"button","aria-label":(0,p.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,l.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,l.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,l.jsx)(G,{}),(0,l.jsx)(Q,{className:"margin-right--md"}),(0,l.jsx)(K,{})]})}var Z=r(33985),X=r(90246),J=r(96583);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=r(21244);function re(e){let{activeBasePath:t,activeBaseRegex:r,to:n,href:o,label:i,html:s,isDropdownLink:a,prependBaseUrlToHref:p,...c}=e;const d=(0,X.A)(n),u=(0,X.A)(t),f=(0,X.A)(o,{forcePrependBaseUrl:!0}),m=i&&o&&!(0,J.A)(o),g=s?{dangerouslySetInnerHTML:{__html:s}}:{children:(0,l.jsxs)(l.Fragment,{children:[i,m&&(0,l.jsx)(te.A,{...a&&{width:12,height:12}})]})};return o?(0,l.jsx)(Z.A,{href:p?f:o,...c,...g}):(0,l.jsx)(Z.A,{to:d,isNavLink:!0,...(t||r)&&{isActive:(e,t)=>r?ee(r,t.pathname):t.pathname.startsWith(u)},...c,...g})}function ne(e){let{className:t,isDropdownItem:r=!1,...n}=e;const i=(0,l.jsx)(re,{className:(0,o.A)(r?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:r,...n});return r?(0,l.jsx)("li",{children:i}):i}function oe(e){let{className:t,isDropdownItem:r,...n}=e;return(0,l.jsx)("li",{className:"menu__list-item",children:(0,l.jsx)(re,{className:(0,o.A)("menu__link",t),...n})})}function ie(e){let{mobile:t=!1,position:r,...n}=e;const o=t?oe:ne;return(0,l.jsx)(o,{...n,activeClassName:n.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var se=r(65937),ae=r(63352),pe=r(62429);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_GNO0"};function le(e,t){return e.some((e=>function(e,t){return!!(0,ae.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:r,className:i,onClick:s,...a}=e;const p=(0,n.useRef)(null),[c,d]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{const e=e=>{p.current&&!p.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[p]),(0,l.jsxs)("div",{ref:p,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===r,"dropdown--show":c}),children:[(0,l.jsx)(re,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:a.to?void 0:"#",className:(0,o.A)("navbar__link",i),...a,onClick:a.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:a.children??a.label}),(0,l.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,n.createElement)(Ge,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function ue(e){let{items:t,className:r,position:i,onClick:s,...p}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,pe.A)(),{pathname:t}=(0,a.zy)();return t.replace(e,"/")}(),d=le(t,c),{collapsed:u,toggleCollapsed:f,setCollapsed:m}=(0,se.u)({initialState:()=>!d});return(0,n.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,l.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":u}),children:[(0,l.jsx)(re,{role:"button",className:(0,o.A)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",r),...p,onClick:e=>{e.preventDefault(),f()},children:p.children??p.label}),(0,l.jsx)(se.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:u,children:t.map(((e,t)=>(0,n.createElement)(Ge,{mobile:!0,isDropdownItem:!0,onClick:s,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...r}=e;const n=t?ue:de;return(0,l.jsx)(n,{...r})}var me=r(11446);function ge(e){let{width:t=20,height:r=20,...n}=e;return(0,l.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:r,"aria-hidden":!0,...n,children:(0,l.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_vjSp";var be=r(69730),ye=r(82767),ve=r(9456),we=r(14914),Se=r(77831),xe=r(26327),Ce=r(47061),ke=r(37619),Oe=r(68478),_e=r(99765),We=r(53144);const Ee='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Te='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg>',je='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 5H3h14zm0 5H3h14zm0 5H3h14z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Ae='<svg width="20" height="20" viewBox="0 0 20 20"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M18 3v4c0 2-2 4-4 4H2"></path><path d="M8 17l-6-6 6-6"></path></g></svg>',Le='<svg width="40" height="40" viewBox="0 0 20 20" fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"></path></svg>',Pe='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v42M20 27H8.3"></path></g></svg>',Re='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v21M20 27H8.3"></path></g></svg>',Ne={searchBar:"searchBar_pqcy",dropdownMenu:"dropdownMenu_roJv",searchBarLeft:"searchBarLeft_CXc5",suggestion:"suggestion_QpW_",cursor:"cursor_oCEa",hitTree:"hitTree_Ioxh",hitIcon:"hitIcon_ARYa",hitPath:"hitPath_yqmk",noResultsIcon:"noResultsIcon_ZYnd",hitFooter:"hitFooter_o86x",hitWrapper:"hitWrapper_Aco1",hitTitle:"hitTitle_Vuma",hitAction:"hitAction_Kee_",hideAction:"hideAction_j448",noResults:"noResults_M2t4",searchBarContainer:"searchBarContainer_jyB6",searchBarLoadingRing:"searchBarLoadingRing_Gs_b",searchClearButton:"searchClearButton_qO14",searchIndexLoading:"searchIndexLoading_ARSa",searchHintContainer:"searchHintContainer_gO9p",searchHint:"searchHint_j8ml",focused:"focused_U3qw",input:"input_PRFi",hint:"hint_NQai",suggestions:"suggestions_OzJX",dataset:"dataset_FxjM",empty:"empty_SV88"};function Ie(e){let{document:t,type:r,page:n,metadata:o,tokens:i,isInterOfTree:s,isLastOfTree:a}=e;const p=r===Ce.i.Title,c=r===Ce.i.Keywords,l=p||c,d=r===Ce.i.Heading,u=[];s?u.push(Pe):a&&u.push(Re);const f=u.map((e=>`<span class="${Ne.hitTree}">${e}</span>`)),m=`<span class="${Ne.hitIcon}">${l?Ee:d?Te:je}</span>`,g=[`<span class="${Ne.hitTitle}">${c?(0,_e.Z)(t.s,i):(0,We.C)(t.t,(0,Oe.g)(o,"t"),i)}</span>`];if(!s&&!a&&be.tb){const e=n?n.b?.concat(n.t).concat(t.s&&t.s!==n.t?t.s:[]):t.b;g.push(`<span class="${Ne.hitPath}">${(0,ke.$)(e??[])}</span>`)}else l||g.push(`<span class="${Ne.hitPath}">${(0,_e.Z)(n.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),i)}</span>`);const h=`<span class="${Ne.hitAction}">${Ae}</span>`;return[...f,m,`<span class="${Ne.hitWrapper}">`,...g,"</span>",h].join("")}function De(){return`<span class="${Ne.noResults}"><span class="${Ne.noResultsIcon}">${Le}</span><span>${(0,p.T)({id:"theme.SearchBar.noResultsText",message:"No results"})}</span></span>`}var Fe=r(88530),ze=r(46037);async function Me(){const e=await Promise.all([r.e(6643),r.e(4332)]).then(r.t.bind(r,16643,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const Be="_highlight";const $e=function(e){let{handleSearchBarToggle:t}=e;const r=(0,z.A)(),{siteConfig:{baseUrl:o},i18n:{currentLocale:i}}=(0,pe.A)(),s=(0,we.vT)();let c=o;try{const{preferredVersion:e}=(0,ve.g1)(s?.pluginId??be.UB);e&&!e.isLast&&(c=e.path+"/")}catch(D){if(be.I$&&!(D instanceof A.dV))throw D}const d=(0,a.W6)(),u=(0,a.zy)(),f=(0,n.useRef)(null),m=(0,n.useRef)(new Map),g=(0,n.useRef)(!1),[h,b]=(0,n.useState)(!1),[y,v]=(0,n.useState)(!1),[w,S]=(0,n.useState)(""),x=(0,n.useRef)(null),C=(0,n.useRef)(""),[k,O]=(0,n.useState)("");(0,n.useEffect)((()=>{if(!Array.isArray(be.Hg))return;let e="";if(u.pathname.startsWith(c)){const t=u.pathname.substring(c.length);let r;for(const e of be.Hg){const n="string"==typeof e?e:e.path;if(t===n||t.startsWith(`${n}/`)){r=n;break}}r&&(e=r)}C.current!==e&&(m.current.delete(e),C.current=e),O(e)}),[u.pathname,c]);const _=!!be.O6&&Array.isArray(be.Hg)&&""===k,W=(0,n.useCallback)((async()=>{if(_||m.current.get(k))return;m.current.set(k,"loading"),x.current?.autocomplete.destroy(),b(!0);const[{wrappedIndexes:e,zhDictionary:t},r]=await Promise.all([(0,Se.Z)(c,k),Me()]);if(x.current=r(f.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,ye.A)(Ne.searchBar,{[Ne.searchBarLeft]:"left"===be.ZG}),noPrefix:!0,dropdownMenu:Ne.dropdownMenu,input:Ne.input,hint:Ne.hint,suggestions:Ne.suggestions,suggestion:Ne.suggestion,cursor:Ne.cursor,dataset:Ne.dataset,empty:Ne.empty}},[{source:(0,xe.m)(e,t,be.AT),templates:{suggestion:Ie,empty:De,footer:e=>{let{query:t,isEmpty:r}=e;if(r&&(!k||!be.dz))return;const n=(e=>{let{query:t,isEmpty:r}=e;const n=document.createElement("a"),s=new URLSearchParams;let a;if(s.set("q",t),k){const e=k&&Array.isArray(be.Hg)?be.Hg.find((e=>"string"==typeof e?e===k:e.path===k)):k,t=e?(0,ze.p)(e,i).label:k;a=be.dz&&r?(0,p.T)({id:"theme.SearchBar.seeAllOutsideContext",message:'See all results outside "{context}"'},{context:t}):(0,p.T)({id:"theme.SearchBar.searchInContext",message:'See all results within "{context}"'},{context:t})}else a=(0,p.T)({id:"theme.SearchBar.seeAll",message:"See all results"});if(!k||!Array.isArray(be.Hg)||be.dz&&r||s.set("ctx",k),c!==o){if(!c.startsWith(o))throw new Error(`Version url '${c}' does not start with base url '${o}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);s.set("version",c.substring(o.length))}const l=`${o}search?${s.toString()}`;return n.href=l,n.textContent=a,n.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),x.current?.autocomplete.close(),d.push(l))})),n})({query:t,isEmpty:r}),s=document.createElement("div");return s.className=Ne.hitFooter,s.appendChild(n),s}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:r,h:n},tokens:o}=t;f.current?.blur();let i=r;if(be.CU&&o.length>0){const e=new URLSearchParams;for(const t of o)e.append(Be,t);i+=`?${e.toString()}`}n&&(i+=n),d.push(i)})).on("autocomplete:closed",(()=>{f.current?.blur()})),m.current.set(k,"done"),b(!1),g.current){const e=f.current;e.value&&x.current?.autocomplete.open(),e.focus()}}),[_,k,c,o,d]);(0,n.useEffect)((()=>{if(!be.CU)return;const e=r?new URLSearchParams(u.search).getAll(Be):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const r=new be.CU(t);r.unmark(),0!==e.length&&r.mark(e),S(e.join(" ")),x.current?.autocomplete.setVal(e.join(" "))}))}),[r,u.search,u.pathname]);const[E,T]=(0,n.useState)(!1),j=(0,n.useCallback)((()=>{g.current=!0,W(),T(!0),t?.(!0)}),[t,W]),L=(0,n.useCallback)((()=>{T(!1),t?.(!1)}),[t]),P=(0,n.useCallback)((()=>{W()}),[W]),R=(0,n.useCallback)((e=>{S(e.target.value),e.target.value&&v(!0)}),[]),N=!!r&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,n.useEffect)((()=>{if(!be.WW)return;const e=e=>{!(N?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),f.current?.focus(),j())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[N,j]);const I=(0,n.useCallback)((()=>{const e=new URLSearchParams(u.search);e.delete(Be);const t=e.toString(),r=u.pathname+(""!=t?`?${t}`:"")+u.hash;r!=u.pathname+u.search+u.hash&&d.push(r),S(""),x.current?.autocomplete.setVal("")}),[u.pathname,u.search,u.hash,d]);return(0,l.jsxs)("div",{className:(0,ye.A)("navbar__search",Ne.searchBarContainer,{[Ne.searchIndexLoading]:h&&y,[Ne.focused]:E}),hidden:_,children:[(0,l.jsx)("input",{placeholder:(0,p.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:P,onFocus:j,onBlur:L,onChange:R,ref:f,value:w}),(0,l.jsx)(Fe.A,{className:Ne.searchBarLoadingRing}),be.WW&&be.pk&&(""!==w?(0,l.jsx)("button",{className:Ne.searchClearButton,onClick:I,children:"\u2715"}):r&&(0,l.jsxs)("div",{className:Ne.searchHintContainer,children:[(0,l.jsx)("kbd",{className:Ne.searchHint,children:N?"\u2318":"ctrl"}),(0,l.jsx)("kbd",{className:Ne.searchHint,children:"K"})]}))]})},Ue={navbarSearchContainer:"navbarSearchContainer_cDAb"};function qe(e){let{children:t,className:r}=e;return(0,l.jsx)("div",{className:(0,o.A)(r,Ue.navbarSearchContainer),children:t})}var He=r(53347);const Qe=e=>e.docs.find((t=>t.id===e.mainDocId));const Ve={default:ie,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:r,dropdownItemsAfter:n,queryString:o="",...i}=e;const{i18n:{currentLocale:s,locales:c,localeConfigs:d}}=(0,pe.A)(),u=(0,me.o)(),{search:f,hash:m}=(0,a.zy)(),g=[...r,...c.map((e=>{const r=`${`pathname://${u.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:r,target:"_self",autoAddBaseUrl:!1,className:e===s?t?"menu__link--active":"dropdown__link--active":""}})),...n],h=t?(0,p.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[s].label;return(0,l.jsx)(fe,{...i,mobile:t,label:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:r}=e;return t?null:(0,l.jsx)(qe,{className:r,children:(0,l.jsx)($e,{})})},dropdown:fe,html:function(e){let{value:t,className:r,mobile:n=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return(0,l.jsx)(s,{className:(0,o.A)({navbar__item:!n&&!i,"menu__list-item":n},r),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:r,docsPluginId:n,...o}=e;const{activeDoc:i}=(0,we.zK)(n),s=(0,He.QB)(t,n),a=i?.path===s?.path;return null===s||s.unlisted&&!a?null:(0,l.jsx)(ie,{exact:!0,...o,isActive:()=>a||!!i?.sidebar&&i.sidebar===s.sidebar,label:r??s.id,to:s.path})},docSidebar:function(e){let{sidebarId:t,label:r,docsPluginId:n,...o}=e;const{activeDoc:i}=(0,we.zK)(n),s=(0,He.fW)(t,n).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,l.jsx)(ie,{exact:!0,...o,isActive:()=>i?.sidebar===t,label:r??s.label,to:s.path})},docsVersion:function(e){let{label:t,to:r,docsPluginId:n,...o}=e;const i=(0,He.Vd)(n)[0],s=t??i.label,a=r??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return(0,l.jsx)(ie,{...o,label:s,to:a})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:r,dropdownActiveClassDisabled:n,dropdownItemsBefore:o,dropdownItemsAfter:i,...s}=e;const{search:c,hash:d}=(0,a.zy)(),u=(0,we.zK)(r),f=(0,we.jh)(r),{savePreferredVersionName:m}=(0,ve.g1)(r),g=[...o,...f.map((e=>{const t=u.alternateDocVersions[e.name]??Qe(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===u.activeVersion,onClick:()=>m(e.name)}})),...i],h=(0,He.Vd)(r)[0],b=t&&g.length>1?(0,p.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,y=t&&g.length>1?void 0:Qe(h).path;return g.length<=1?(0,l.jsx)(ie,{...s,mobile:t,label:b,to:y,isActive:n?()=>!1:void 0}):(0,l.jsx)(fe,{...s,mobile:t,label:b,to:y,items:g,isActive:n?()=>!1:void 0})}};function Ge(e){let{type:t,...r}=e;const n=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,r),o=Ve[n];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,l.jsx)(o,{...r})}function Ke(){const e=(0,T.M)(),t=(0,w.p)().navbar.items;return(0,l.jsx)("ul",{className:"menu__list",children:t.map(((t,r)=>(0,n.createElement)(Ge,{mobile:!0,...t,onClick:()=>e.toggle(),key:r})))})}function Ye(e){return(0,l.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,l.jsx)(p.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ze(){const e=0===(0,w.p)().navbar.items.length,t=I();return(0,l.jsxs)(l.Fragment,{children:[!e&&(0,l.jsx)(Ye,{onClick:()=>t.hide()}),t.content]})}function Xe(){const e=(0,T.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,n.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,l.jsx)(D,{header:(0,l.jsx)(Y,{}),primaryMenu:(0,l.jsx)(Ke,{}),secondaryMenu:(0,l.jsx)(Ze,{})}):null}const Je={navbarHideable:"navbarHideable_TwCu",navbarHidden:"navbarHidden__TOU"};function et(e){return(0,l.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function tt(e){let{children:t}=e;const{navbar:{hideOnScroll:r,style:i}}=(0,w.p)(),s=(0,T.M)(),{navbarRef:a,isNavbarVisible:d}=function(e){const[t,r]=(0,n.useState)(e),o=(0,n.useRef)(!1),i=(0,n.useRef)(0),s=(0,n.useCallback)((e=>{null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,j.Mq)(((t,n)=>{let{scrollY:s}=t;if(!e)return;if(s<i.current)return void r(!0);if(o.current)return void(o.current=!1);const a=n?.scrollY,p=document.documentElement.scrollHeight-i.current,c=window.innerHeight;a&&s>=a?r(!1):s+c<p&&r(!0)})),(0,c.$)((t=>{if(!e)return;const n=t.location.hash;if(n?document.getElementById(n.substring(1)):void 0)return o.current=!0,void r(!1);r(!0)})),{navbarRef:s,isNavbarVisible:t}}(r);return(0,l.jsxs)("nav",{ref:a,"aria-label":(0,p.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",r&&[Je.navbarHideable,!d&&Je.navbarHidden],{"navbar--dark":"dark"===i,"navbar--primary":"primary"===i,"navbar-sidebar--show":s.shown}),children:[t,(0,l.jsx)(et,{onClick:s.toggle}),(0,l.jsx)(Xe,{})]})}var rt=r(52005);const nt={errorBoundaryError:"errorBoundaryError_suSn",errorBoundaryFallback:"errorBoundaryFallback_3KpY"};function ot(e){return(0,l.jsx)("button",{type:"button",...e,children:(0,l.jsx)(p.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function it(e){let{error:t}=e;const r=(0,rt.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{className:nt.errorBoundaryError,children:r})}class st extends n.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function pt(e){let{width:t=30,height:r=30,className:n,...o}=e;return(0,l.jsx)("svg",{className:n,width:t,height:r,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,l.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function ct(){const{toggle:e,shown:t}=(0,T.M)();return(0,l.jsx)("button",{onClick:e,"aria-label":(0,p.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,l.jsx)(pt,{})})}const lt={colorModeToggle:"colorModeToggle_kPDy"};function dt(e){let{items:t}=e;return(0,l.jsx)(l.Fragment,{children:t.map(((e,t)=>(0,l.jsx)(st,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,l.jsx)(Ge,{...e})},t)))})}function ut(e){let{left:t,right:r}=e;return(0,l.jsxs)("div",{className:"navbar__inner",children:[(0,l.jsx)("div",{className:"navbar__items",children:t}),(0,l.jsx)("div",{className:"navbar__items navbar__items--right",children:r})]})}function ft(){const e=(0,T.M)(),t=(0,w.p)().navbar.items,[r,n]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,l.jsx)(ut,{left:(0,l.jsxs)(l.Fragment,{children:[!e.disabled&&(0,l.jsx)(ct,{}),(0,l.jsx)(G,{}),(0,l.jsx)(dt,{items:r})]}),right:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(dt,{items:n}),(0,l.jsx)(Q,{className:lt.colorModeToggle}),!o&&(0,l.jsx)(qe,{children:(0,l.jsx)($e,{})})]})})}function mt(){return(0,l.jsx)(tt,{children:(0,l.jsx)(ft,{})})}function gt(e){let{item:t}=e;const{to:r,href:n,label:o,prependBaseUrlToHref:i,...s}=t,a=(0,X.A)(r),p=(0,X.A)(n,{forcePrependBaseUrl:!0});return(0,l.jsxs)(Z.A,{className:"footer__link-item",...n?{href:i?p:n}:{to:a},...s,children:[o,n&&!(0,J.A)(n)&&(0,l.jsx)(te.A,{})]})}function ht(e){let{item:t}=e;return t.html?(0,l.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,l.jsx)("li",{className:"footer__item",children:(0,l.jsx)(gt,{item:t})},t.href??t.to)}function bt(e){let{column:t}=e;return(0,l.jsxs)("div",{className:"col footer__col",children:[(0,l.jsx)("div",{className:"footer__title",children:t.title}),(0,l.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,l.jsx)(ht,{item:e},t)))})]})}function yt(e){let{columns:t}=e;return(0,l.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,l.jsx)(bt,{column:e},t)))})}function vt(){return(0,l.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function wt(e){let{item:t}=e;return t.html?(0,l.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,l.jsx)(gt,{item:t})}function St(e){let{links:t}=e;return(0,l.jsx)("div",{className:"footer__links text--center",children:(0,l.jsx)("div",{className:"footer__links",children:t.map(((e,r)=>(0,l.jsxs)(n.Fragment,{children:[(0,l.jsx)(wt,{item:e}),t.length!==r+1&&(0,l.jsx)(vt,{})]},r)))})})}function xt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,l.jsx)(yt,{columns:t}):(0,l.jsx)(St,{links:t})}var Ct=r(14113);const kt={footerLogoLink:"footerLogoLink_okxG"};function Ot(e){let{logo:t}=e;const{withBaseUrl:r}=(0,X.h)(),n={light:r(t.src),dark:r(t.srcDark??t.src)};return(0,l.jsx)(Ct.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:n,width:t.width,height:t.height,style:t.style})}function _t(e){let{logo:t}=e;return t.href?(0,l.jsx)(Z.A,{href:t.href,className:kt.footerLogoLink,target:t.target,children:(0,l.jsx)(Ot,{logo:t})}):(0,l.jsx)(Ot,{logo:t})}function Wt(e){let{copyright:t}=e;return(0,l.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Et(e){let{style:t,links:r,logo:n,copyright:i}=e;return(0,l.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,l.jsxs)("div",{className:"container container-fluid",children:[r,(n||i)&&(0,l.jsxs)("div",{className:"footer__bottom text--center",children:[n&&(0,l.jsx)("div",{className:"margin-bottom--sm",children:n}),i]})]})})}function Tt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:r,logo:n,style:o}=e;return(0,l.jsx)(Et,{style:o,links:r&&r.length>0&&(0,l.jsx)(xt,{links:r}),logo:n&&(0,l.jsx)(_t,{logo:n}),copyright:t&&(0,l.jsx)(Wt,{copyright:t})})}const jt=n.memo(Tt),At=(0,A.fM)([F.a,S.oq,j.Tv,ve.VQ,s.Jx,function(e){let{children:t}=e;return(0,l.jsx)(L.y_,{children:(0,l.jsx)(T.e,{children:(0,l.jsx)(R,{children:t})})})}]);function Lt(e){let{children:t}=e;return(0,l.jsx)(At,{children:t})}var Pt=r(31773);function Rt(e){let{error:t,tryAgain:r}=e;return(0,l.jsx)("main",{className:"container margin-vert--xl",children:(0,l.jsx)("div",{className:"row",children:(0,l.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,l.jsx)(Pt.A,{as:"h1",className:"hero__title",children:(0,l.jsx)(p.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,l.jsx)("div",{className:"margin-vert--lg",children:(0,l.jsx)(ot,{onClick:r,className:"button button--primary shadow--lw"})}),(0,l.jsx)("hr",{}),(0,l.jsx)("div",{className:"margin-vert--md",children:(0,l.jsx)(it,{error:t})})]})})})}const Nt={mainWrapper:"mainWrapper_DPu9"};function It(e){const{children:t,noFooter:r,wrapperClassName:n,title:a,description:p}=e;return(0,b.J)(),(0,l.jsxs)(Lt,{children:[(0,l.jsx)(s.be,{title:a,description:p}),(0,l.jsx)(v,{}),(0,l.jsx)(E,{}),(0,l.jsx)(mt,{}),(0,l.jsx)("div",{id:d,className:(0,o.A)(h.G.wrapper.main,Nt.mainWrapper,n),children:(0,l.jsx)(i.A,{fallback:e=>(0,l.jsx)(Rt,{...e}),children:t})}),!r&&(0,l.jsx)(jt,{})]})}},77632:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});r(48318);var n=r(33985),o=r(90246),i=r(62429),s=r(12449),a=r(14113),p=r(49214);function c(e){let{logo:t,alt:r,imageClassName:n}=e;const i={light:(0,o.A)(t.src),dark:(0,o.A)(t.srcDark||t.src)},s=(0,p.jsx)(a.A,{className:t.className,sources:i,height:t.height,width:t.width,alt:r,style:t.style});return n?(0,p.jsx)("div",{className:n,children:s}):s}function l(e){const{siteConfig:{title:t}}=(0,i.A)(),{navbar:{title:r,logo:a}}=(0,s.p)(),{imageClassName:l,titleClassName:d,...u}=e,f=(0,o.A)(a?.href||"/"),m=r?"":t,g=a?.alt??m;return(0,p.jsxs)(n.A,{to:f,...u,...a?.target&&{target:a.target},children:[a&&(0,p.jsx)(c,{logo:a,alt:g,imageClassName:l}),null!=r&&(0,p.jsx)("b",{className:d,children:r})]})}},5270:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});r(48318);var n=r(39527),o=r(49214);function i(e){let{locale:t,version:r,tag:i}=e;const s=t;return(0,o.jsxs)(n.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),r&&(0,o.jsx)("meta",{name:"docusaurus_version",content:r}),i&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:i}),s&&(0,o.jsx)("meta",{name:"docsearch:language",content:s}),r&&(0,o.jsx)("meta",{name:"docsearch:version",content:r}),i&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:i})]})}},14113:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var n=r(48318),o=r(46601),i=r(12144),s=r(36650);const a={themedComponent:"themedComponent_WQSP","themedComponent--light":"themedComponent--light_qcU3","themedComponent--dark":"themedComponent--dark_PWdW"};var p=r(49214);function c(e){let{className:t,children:r}=e;const c=(0,i.A)(),{colorMode:l}=(0,s.G)();return(0,p.jsx)(p.Fragment,{children:(c?"dark"===l?["dark"]:["light"]:["light","dark"]).map((e=>{const i=r({theme:e,className:(0,o.A)(t,a.themedComponent,a[`themedComponent--${e}`])});return(0,p.jsx)(n.Fragment,{children:i},e)}))})}function l(e){const{sources:t,className:r,alt:n,...o}=e;return(0,p.jsx)(c,{className:r,children:e=>{let{theme:r,className:i}=e;return(0,p.jsx)("img",{src:t[r],alt:n,className:i,...o})}})}},65937:(e,t,r)=>{"use strict";r.d(t,{N:()=>b,u:()=>c});var n=r(48318),o=r(70830),i=r(65828),s=r(39330),a=r(49214);const p="ease-in-out";function c(e){let{initialState:t}=e;const[r,o]=(0,n.useState)(t??!1),i=(0,n.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:r,setCollapsed:o,toggleCollapsed:i}}const l={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function u(e,t){const r=t?l:d;e.style.display=r.display,e.style.overflow=r.overflow,e.style.height=r.height}function f(e){let{collapsibleRef:t,collapsed:r,animation:o}=e;const i=(0,n.useRef)(!1);(0,n.useEffect)((()=>{const e=t.current;function n(){const t=e.scrollHeight,r=o?.duration??function(e){if((0,s.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${r}ms ${o?.easing??p}`,height:`${t}px`}}function a(){const t=n();e.style.transition=t.transition,e.style.height=t.height}if(!i.current)return u(e,r),void(i.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{r?(a(),requestAnimationFrame((()=>{e.style.height=l.height,e.style.overflow=l.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{a()})))}));return()=>cancelAnimationFrame(t)}()}),[t,r,o])}function m(e){if(!o.A.canUseDOM)return e?l:d}function g(e){let{as:t="div",collapsed:r,children:o,animation:i,onCollapseTransitionEnd:s,className:p,disableSSRStyle:c}=e;const l=(0,n.useRef)(null);return f({collapsibleRef:l,collapsed:r,animation:i}),(0,a.jsx)(t,{ref:l,style:c?void 0:m(r),onTransitionEnd:e=>{"height"===e.propertyName&&(u(l.current,r),s?.(r))},className:p,children:o})}function h(e){let{collapsed:t,...r}=e;const[o,s]=(0,n.useState)(!t),[p,c]=(0,n.useState)(t);return(0,i.A)((()=>{t||s(!0)}),[t]),(0,i.A)((()=>{o&&c(t)}),[o,t]),o?(0,a.jsx)(g,{...r,collapsed:p}):null}function b(e){let{lazy:t,...r}=e;const n=t?h:g;return(0,a.jsx)(n,{...r})}},7718:(e,t,r)=>{"use strict";r.d(t,{Mj:()=>g,oq:()=>m});var n=r(48318),o=r(12144),i=r(15489),s=r(84091),a=r(12449),p=r(49214);const c=(0,i.Wf)("docusaurus.announcement.dismiss"),l=(0,i.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),u=e=>c.set(String(e)),f=n.createContext(null);function m(e){let{children:t}=e;const r=function(){const{announcementBar:e}=(0,a.p)(),t=(0,o.A)(),[r,i]=(0,n.useState)((()=>!!t&&d()));(0,n.useEffect)((()=>{i(d())}),[]);const s=(0,n.useCallback)((()=>{u(!0),i(!0)}),[]);return(0,n.useEffect)((()=>{if(!e)return;const{id:t}=e;let r=l.get();"annoucement-bar"===r&&(r="announcement-bar");const n=t!==r;l.set(t),n&&u(!1),!n&&d()||i(!1)}),[e]),(0,n.useMemo)((()=>({isActive:!!e&&!r,close:s})),[e,r,s])}();return(0,p.jsx)(f.Provider,{value:r,children:t})}function g(){const e=(0,n.useContext)(f);if(!e)throw new s.dV("AnnouncementBarProvider");return e}},36650:(e,t,r)=>{"use strict";r.d(t,{G:()=>b,a:()=>h});var n=r(48318),o=r(70830),i=r(84091),s=r(15489),a=r(12449),p=r(49214);const c=n.createContext(void 0),l="theme",d=(0,s.Wf)(l),u={light:"light",dark:"dark"},f=e=>e===u.dark?u.dark:u.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const r=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:r}}=(0,a.p)(),[o,i]=(0,n.useState)(m(e));(0,n.useEffect)((()=>{t&&d.del()}),[t]);const s=(0,n.useCallback)((function(t,n){void 0===n&&(n={});const{persist:o=!0}=n;t?(i(t),o&&g(t)):(i(r?window.matchMedia("(prefers-color-scheme: dark)").matches?u.dark:u.light:e),d.del())}),[r,e]);(0,n.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,n.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==l)return;const t=d.get();null!==t&&s(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,s]);const p=(0,n.useRef)(!1);return(0,n.useEffect)((()=>{if(t&&!r)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>{window.matchMedia("print").matches||p.current?p.current=window.matchMedia("print").matches:s(null)};return e.addListener(n),()=>e.removeListener(n)}),[s,t,r]),(0,n.useMemo)((()=>({colorMode:o,setColorMode:s,get isDarkTheme(){return o===u.dark},setLightTheme(){s(u.light)},setDarkTheme(){s(u.dark)}})),[o,s])}();return(0,p.jsx)(c.Provider,{value:r,children:t})}function b(){const e=(0,n.useContext)(c);if(null==e)throw new i.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},9456:(e,t,r)=>{"use strict";r.d(t,{VQ:()=>b,g1:()=>v});var n=r(48318),o=r(14914),i=r(3612),s=r(12449),a=r(53347),p=r(84091),c=r(15489),l=r(49214);const d=e=>`docs-preferred-version-${e}`,u={save:(e,t,r)=>{(0,c.Wf)(d(e),{persistence:t}).set(r)},read:(e,t)=>(0,c.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=n.createContext(null);function g(){const e=(0,o.Gy)(),t=(0,s.p)().docs.versionPersistence,r=(0,n.useMemo)((()=>Object.keys(e)),[e]),[i,a]=(0,n.useState)((()=>f(r)));(0,n.useEffect)((()=>{a(function(e){let{pluginIds:t,versionPersistence:r,allDocsData:n}=e;function o(e){const t=u.read(e,r);return n[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(u.clear(e,r),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:r}))}),[e,t,r]);return[i,(0,n.useMemo)((()=>({savePreferredVersion:function(e,r){u.save(e,t,r),a((t=>({...t,[e]:{preferredVersionName:r}})))}})),[t])]}function h(e){let{children:t}=e;const r=g();return(0,l.jsx)(m.Provider,{value:r,children:t})}function b(e){let{children:t}=e;return a.C5?(0,l.jsx)(h,{children:t}):(0,l.jsx)(l.Fragment,{children:t})}function y(){const e=(0,n.useContext)(m);if(!e)throw new p.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=i.W);const t=(0,o.ht)(e),[r,s]=y(),{preferredVersionName:a}=r[e];return{preferredVersion:t.versions.find((e=>e.name===a))??null,savePreferredVersionName:(0,n.useCallback)((t=>{s.savePreferredVersion(e,t)}),[s,e])}}},12311:(e,t,r)=>{"use strict";r.d(t,{V:()=>p,t:()=>c});var n=r(48318),o=r(84091),i=r(49214);const s=Symbol("EmptyContext"),a=n.createContext(s);function p(e){let{children:t,name:r,items:o}=e;const s=(0,n.useMemo)((()=>r&&o?{name:r,items:o}:null),[r,o]);return(0,i.jsx)(a.Provider,{value:s,children:t})}function c(){const e=(0,n.useContext)(a);if(e===s)throw new o.dV("DocsSidebarProvider");return e}},71679:(e,t,r)=>{"use strict";r.d(t,{n:()=>a,r:()=>p});var n=r(48318),o=r(84091),i=r(49214);const s=n.createContext(null);function a(e){let{children:t,version:r}=e;return(0,i.jsx)(s.Provider,{value:r,children:t})}function p(){const e=(0,n.useContext)(s);if(null===e)throw new o.dV("DocsVersionProvider");return e}},50358:(e,t,r)=>{"use strict";r.d(t,{M:()=>f,e:()=>u});var n=r(48318),o=r(86167),i=r(88524),s=r(96106),a=r(12449),p=r(84091),c=r(49214);const l=n.createContext(void 0);function d(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,a.p)().navbar;return 0===t.length&&!e.component}(),t=(0,i.l)(),r=!e&&"mobile"===t,[p,c]=(0,n.useState)(!1);(0,s.$Z)((()=>{if(p)return c(!1),!1}));const l=(0,n.useCallback)((()=>{c((e=>!e))}),[]);return(0,n.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,n.useMemo)((()=>({disabled:e,shouldRender:r,toggle:l,shown:p})),[e,r,l,p])}function u(e){let{children:t}=e;const r=d();return(0,c.jsx)(l.Provider,{value:r,children:t})}function f(){const e=n.useContext(l);if(void 0===e)throw new p.dV("NavbarMobileSidebarProvider");return e}},86167:(e,t,r)=>{"use strict";r.d(t,{GX:()=>c,YL:()=>p,y_:()=>a});var n=r(48318),o=r(84091),i=r(49214);const s=n.createContext(null);function a(e){let{children:t}=e;const r=(0,n.useState)({component:null,props:null});return(0,i.jsx)(s.Provider,{value:r,children:t})}function p(){const e=(0,n.useContext)(s);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:r}=e;const i=(0,n.useContext)(s);if(!i)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,a]=i,p=(0,o.Be)(r);return(0,n.useEffect)((()=>{a({component:t,props:p})}),[a,t,p]),(0,n.useEffect)((()=>()=>a({component:null,props:null})),[a]),null}},85140:(e,t,r)=>{"use strict";r.d(t,{w:()=>o,J:()=>i});var n=r(48318);const o="navigation-with-keyboard";function i(){(0,n.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},88524:(e,t,r)=>{"use strict";r.d(t,{l:()=>a});var n=r(48318),o=r(70830);const i={desktop:"desktop",mobile:"mobile",ssr:"ssr"},s=996;function a(e){let{desktopBreakpoint:t=s}=void 0===e?{}:e;const[r,a]=(0,n.useState)((()=>"ssr"));return(0,n.useEffect)((()=>{function e(){a(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?i.desktop:i.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),r}},83682:(e,t,r)=>{"use strict";r.d(t,{G:()=>n});const n={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"}}},39330:(e,t,r)=>{"use strict";function n(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}r.d(t,{O:()=>n})},53347:(e,t,r)=>{"use strict";r.d(t,{$S:()=>g,B5:()=>_,C5:()=>u,Nr:()=>m,OF:()=>x,QB:()=>O,Vd:()=>C,Y:()=>w,cC:()=>f,d1:()=>W,fW:()=>k,w8:()=>y});var n=r(48318),o=r(66325),i=r(73153),s=r(14914),a=r(9456),p=r(71679),c=r(12311),l=r(67987),d=r(63352);const u=!!s.Gy;function f(e){const t=(0,p.r)();if(!e)return;const r=t.docs[e];if(!r)throw new Error(`no version doc found by id=${e}`);return r}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function g(){const{pathname:e}=(0,o.zy)(),t=(0,c.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const r=S({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!r)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return r}const h=(e,t)=>void 0!==e&&(0,d.ys)(e,t),b=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||b(e.items,t))}function v(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function w(e,t){return(0,n.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function S(e){let{sidebarItems:t,pathname:r,onlyCategories:n=!1}=e;const o=[];return function e(t){for(const i of t)if("category"===i.type&&((0,d.ys)(i.href,r)||e(i.items))||"link"===i.type&&(0,d.ys)(i.href,r)){return n&&"category"!==i.type||o.unshift(i),!0}return!1}(t),o}function x(){const e=(0,c.t)(),{pathname:t}=(0,o.zy)(),r=(0,s.vT)()?.pluginData.breadcrumbs;return!1!==r&&e?S({sidebarItems:e.items,pathname:t}):null}function C(e){const{activeVersion:t}=(0,s.zK)(e),{preferredVersion:r}=(0,a.g1)(e),o=(0,s.r7)(e);return(0,n.useMemo)((()=>(0,l.s)([t,r,o].filter(Boolean))),[t,r,o])}function k(e,t){const r=C(t);return(0,n.useMemo)((()=>{const t=r.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),n=t.find((t=>t[0]===e));if(!n)throw new Error(`Can't find any sidebar with id "${e}" in version${r.length>1?"s":""} ${r.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return n[1]}),[e,r])}function O(e,t){const r=C(t);return(0,n.useMemo)((()=>{const t=r.flatMap((e=>e.docs)),n=t.find((t=>t.id===e));if(!n){if(r.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${r.length>1?"s":""} "${r.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.s)(t.map((e=>e.id))).join("\n- ")}`)}return n}),[e,r])}function _(e){let{route:t}=e;const r=(0,o.zy)(),n=(0,p.r)(),s=t.routes,a=s.find((e=>(0,o.B6)(r.pathname,e)));if(!a)return null;const c=a.sidebar,l=c?n.docsSidebars[c]:void 0;return{docElement:(0,i.v)(s),sidebarName:c,sidebarItems:l}}function W(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},96106:(e,t,r)=>{"use strict";r.d(t,{$Z:()=>s,aZ:()=>a});var n=r(48318),o=r(66325),i=r(84091);function s(e){!function(e){const t=(0,o.W6)(),r=(0,i._q)(e);(0,n.useEffect)((()=>t.block(((e,t)=>r(e,t)))),[t,r])}(((t,r)=>{if("POP"===r)return e(t,r)}))}function a(e){return function(e){const t=(0,o.W6)();return(0,n.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},67987:(e,t,r)=>{"use strict";function n(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((r,n)=>e.findIndex((e=>t(e,r)))!==n))}function o(e){return Array.from(new Set(e))}r.d(t,{X:()=>n,s:()=>o})},30763:(e,t,r)=>{"use strict";r.d(t,{e3:()=>u,be:()=>l,Jx:()=>f});var n=r(48318),o=r(46601),i=r(39527),s=r(5766),a=r(90246),p=r(62429);var c=r(49214);function l(e){let{title:t,description:r,keywords:n,image:o,children:s}=e;const l=function(e){const{siteConfig:t}=(0,p.A)(),{title:r,titleDelimiter:n}=t;return e?.trim().length?`${e.trim()} ${n} ${r}`:r}(t),{withBaseUrl:d}=(0,a.h)(),u=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(i.A,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),r&&(0,c.jsx)("meta",{name:"description",content:r}),r&&(0,c.jsx)("meta",{property:"og:description",content:r}),n&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(n)?n.join(","):n}),u&&(0,c.jsx)("meta",{property:"og:image",content:u}),u&&(0,c.jsx)("meta",{name:"twitter:image",content:u}),s]})}const d=n.createContext(void 0);function u(e){let{className:t,children:r}=e;const s=n.useContext(d),a=(0,o.A)(s,t);return(0,c.jsxs)(d.Provider,{value:a,children:[(0,c.jsx)(i.A,{children:(0,c.jsx)("html",{className:a})}),r]})}function f(e){let{children:t}=e;const r=(0,s.A)(),n=`plugin-${r.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${r.plugin.id}`;return(0,c.jsx)(u,{className:(0,o.A)(n,i),children:t})}},84091:(e,t,r)=>{"use strict";r.d(t,{Be:()=>c,ZC:()=>a,_q:()=>s,dV:()=>p,fM:()=>l});var n=r(48318),o=r(65828),i=r(49214);function s(e){const t=(0,n.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,n.useCallback)((function(){return t.current(...arguments)}),[])}function a(e){const t=(0,n.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class p extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,n.useMemo)((()=>e),t.flat())}function l(e){return t=>{let{children:r}=t;return(0,i.jsx)(i.Fragment,{children:e.reduceRight(((e,t)=>(0,i.jsx)(t,{children:e})),r)})}}},63352:(e,t,r)=>{"use strict";r.d(t,{Dt:()=>a,ys:()=>s});var n=r(48318),o=r(61546),i=r(62429);function s(e,t){const r=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return r(e)===r(t)}function a(){const{baseUrl:e}=(0,i.A)().siteConfig;return(0,n.useMemo)((()=>function(e){let{baseUrl:t,routes:r}=e;function n(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(n)||e(t.filter(o).flatMap((e=>e.routes??[])))}(r)}({routes:o.A,baseUrl:e})),[e])}},90817:(e,t,r)=>{"use strict";r.d(t,{Mq:()=>f,Tv:()=>l,a_:()=>m,gk:()=>g});var n=r(48318),o=r(70830),i=r(12144),s=r(65828),a=r(84091),p=r(49214);const c=n.createContext(void 0);function l(e){let{children:t}=e;const r=function(){const e=(0,n.useRef)(!0);return(0,n.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,p.jsx)(c.Provider,{value:r,children:t})}function d(){const e=(0,n.useContext)(c);if(null==e)throw new a.dV("ScrollControllerProvider");return e}const u=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:r}=d(),o=(0,n.useRef)(u()),i=(0,a._q)(e);(0,n.useEffect)((()=>{const e=()=>{if(!r.current)return;const e=u();i(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[i,r,...t])}function m(){const e=d(),t=function(){const e=(0,n.useRef)({elem:null,top:0}),t=(0,n.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),r=(0,n.useCallback)((()=>{const{current:{elem:t,top:r}}=e;if(!t)return{restored:!1};const n=t.getBoundingClientRect().top-r;return n&&window.scrollBy({left:0,top:n}),e.current={elem:null,top:0},{restored:0!==n}}),[]);return(0,n.useMemo)((()=>({save:t,restore:r})),[r,t])}(),r=(0,n.useRef)(void 0),o=(0,n.useCallback)((n=>{t.save(n),e.disableScrollEvents(),r.current=()=>{const{restored:n}=t.restore();if(r.current=void 0,n){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,s.A)((()=>{queueMicrotask((()=>r.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function g(){const e=(0,n.useRef)(null),t=(0,i.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:r=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(r):function(e){let t=null;const r=document.documentElement.scrollTop>e;return function n(){const o=document.documentElement.scrollTop;(r&&o>e||!r&&o<e)&&(t=requestAnimationFrame(n),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(r)},cancelScroll:()=>e.current?.()}}},65478:(e,t,r)=>{"use strict";r.d(t,{Cy:()=>n,tU:()=>o});r(62429);const n="default";function o(e,t){return`docs-${e}-${t}`}},15489:(e,t,r)=>{"use strict";r.d(t,{Dv:()=>l,Wf:()=>c});var n=r(48318);const o="localStorage";function i(e){let{key:t,oldValue:r,newValue:n,storage:o}=e;if(r===n)return;const i=document.createEvent("StorageEvent");i.initStorageEvent("storage",!1,!1,t,r,n,window.location.href,o),window.dispatchEvent(i)}function s(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(r){return t=r,a||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),a=!0),null}var t}let a=!1;const p={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const r=s(t?.persistence);return null===r?p:{get:()=>{try{return r.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const n=r.getItem(e);r.setItem(e,t),i({key:e,oldValue:n,newValue:t,storage:r})}catch(n){console.error(`Docusaurus storage error, can't set ${e}=${t}`,n)}},del:()=>{try{const t=r.getItem(e);r.removeItem(e),i({key:e,oldValue:t,newValue:null,storage:r})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const n=n=>{n.storageArea===r&&n.key===e&&t(n)};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}catch(n){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,n),()=>{}}}}}function l(e,t){const r=(0,n.useRef)((()=>null===e?p:c(e,t))).current(),o=(0,n.useCallback)((e=>"undefined"==typeof window?()=>{}:r.listen(e)),[r]);return[(0,n.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:r.get()),(()=>null)),r]}},11446:(e,t,r)=>{"use strict";r.d(t,{o:()=>s});var n=r(62429),o=r(66325),i=r(52005);function s(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:r},i18n:{defaultLocale:s,currentLocale:a}}=(0,n.A)(),{pathname:p}=(0,o.zy)(),c=(0,i.applyTrailingSlash)(p,{trailingSlash:r,baseUrl:e}),l=a===s?e:e.replace(`/${a}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:n}=e;return`${n?t:""}${function(e){return e===s?`${l}`:`${l}${e}/`}(r)}${d}`}}}},67599:(e,t,r)=>{"use strict";r.d(t,{$:()=>s});var n=r(48318),o=r(66325),i=r(84091);function s(e){const t=(0,o.zy)(),r=(0,i.ZC)(t),s=(0,i._q)(e);(0,n.useEffect)((()=>{r&&t!==r&&s({location:t,previousLocation:r})}),[s,t,r])}},12449:(e,t,r)=>{"use strict";r.d(t,{p:()=>o});var n=r(62429);function o(){return(0,n.A)().siteConfig.themeConfig}},22552:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const n=r(22783);function o(e){return e.endsWith("/")?e:`${e}/`}function i(e){return(0,n.removeSuffix)(e,"/")}t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:r,baseUrl:n}=t;if(e.startsWith("#"))return e;if(void 0===r)return e;const[s]=e.split(/[#?]/),a="/"===s||s===n?s:(p=s,r?o(p):i(p));var p;return e.replace(s,a)},t.addLeadingSlash=function(e){return(0,n.addPrefix)(e,"/")},t.removeTrailingSlash=i},25774:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},52005:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=r(22552);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return n(o).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return o.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return o.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return o.removeTrailingSlash}});var i=r(22783);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return i.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return i.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return i.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return i.removePrefix}});var s=r(25774);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return s.getErrorCausalChain}})},22783:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},88530:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});r(48318);var n=r(82767);const o={loadingRing:"loadingRing_WpbY","loading-ring":"loading-ring_mBEo"};var i=r(49214);function s(e){let{className:t}=e;return(0,i.jsxs)("div",{className:(0,n.A)(o.loadingRing,t),children:[(0,i.jsx)("div",{}),(0,i.jsx)("div",{}),(0,i.jsx)("div",{}),(0,i.jsx)("div",{})]})}},77831:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var n=r(26410),o=r.n(n),i=r(69730);const s=new Map;function a(e,t){const r=`${e}${t}`;let n=s.get(r);return n||(n=async function(e,t){{const r=`${e}${i.IH.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(r,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const n=await(await fetch(r)).json(),s=n.map(((e,t)=>{let{documents:r,index:n}=e;return{type:t,documents:r,index:o().Index.load(n)}})),a=n.reduce(((e,t)=>{for(const r of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(r[0][0])&&e.add(r[0]);return e}),new Set);return{wrappedIndexes:s,zhDictionary:Array.from(a)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),s.set(r,n)),n}},26327:(e,t,r)=>{"use strict";r.d(t,{m:()=>c});var n=r(26410),o=r.n(n);var i=r(69730);function s(e){return a(e).concat(a(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function a(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:o().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?o().Query.wildcard.TRAILING:o().Query.wildcard.NONE})))})))}var p=r(47061);function c(e,t,r){return function(n,a){const c=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return o()[t[0]].tokenizer(e).map((e=>e.toString()));let r=/[^-\s]+/g;return t.includes("zh")&&(r=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(r)||[]}(n,i.BH);if(0===c.length)return void a([]);const l=function(e,t){const r=function(e,t){const r=[];return function e(n,o){if(0===n.length)return void r.push(o);const i=n[0];if(/\p{Unified_Ideograph}/u.test(i)){const r=function(e,t){const r=[];return function e(n,o){let i=0,s=!1;for(const a of t)if(n.substr(0,a.length)===a){const t={missed:o.missed,term:o.term.concat({value:a})};n.length>a.length?e(n.substr(a.length),t):r.push(t),s=!0}else for(let t=a.length-1;t>i;t-=1){const p=a.substr(0,t);if(n.substr(0,t)===p){i=t;const a={missed:o.missed,term:o.term.concat({value:p,trailing:!0})};n.length>t?e(n.substr(t),a):r.push(a),s=!0;break}}s||(n.length>0?e(n.substr(1),{missed:o.missed+1,term:o.term}):o.term.length>0&&r.push(o))}(e,{missed:0,term:[]}),r.sort(((e,t)=>{const r=e.missed>0?1:0,n=t.missed>0?1:0;return r!==n?r-n:e.term.length-t.term.length})).map((e=>e.term))}(i,t);for(const t of r){const r=o.concat(...t);e(n.slice(1),r)}}else{const t=o.concat({value:i});e(n.slice(1),t)}}(e,[]),r}(e,t);if(0===r.length)return[{tokens:e,term:e.map((e=>({value:e,presence:o().Query.presence.REQUIRED,wildcard:o().Query.wildcard.LEADING|o().Query.wildcard.TRAILING})))}];for(const o of r)o[o.length-1].maybeTyping=!0;const n=[];for(const s of i.BH)if("en"===s)i.sx||n.unshift(o().stopWordFilter);else{const e=o()[s];e.stopWordFilter&&n.unshift(e.stopWordFilter)}let a;if(n.length>0){const e=e=>n.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);a=[];const t=[];for(const n of r){const r=e(n);a.push(r),r.length<n.length&&r.length>0&&t.push(r)}r.push(...t)}else a=r.slice();const p=[];for(const o of a)if(o.length>2)for(let e=o.length-1;e>=0;e-=1)p.push(o.slice(0,e).concat(o.slice(e+1)));return s(r).concat(s(p))}(c,t),d=[];e:for(const{term:t,tokens:o}of l)for(const{documents:n,index:i,type:s}of e)if(d.push(...i.query((e=>{for(const r of t)e.term(r.value,{wildcard:r.wildcard,presence:r.presence})})).slice(0,r).filter((e=>!d.some((t=>t.document.i.toString()===e.ref)))).slice(0,r-d.length).map((t=>{const r=n.find((e=>e.i.toString()===t.ref));return{document:r,type:s,page:s!==p.i.Title&&e[0].documents.find((e=>e.i===r.p)),metadata:t.matchData.metadata,tokens:o,score:t.score}}))),d.length>=r)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,r)=>{let n=t.type!==p.i.Heading&&t.type!==p.i.Content&&t.type!==p.i.Description||!t.page?t.index:e.findIndex((e=>e.document===t.page)),o=r.type!==p.i.Heading&&r.type!==p.i.Content&&r.type!==p.i.Description||!r.page?r.index:e.findIndex((e=>e.document===r.page));if(-1===n&&(n=t.index),-1===o&&(o=r.index),n===o){const e=(0===r.type?1:0)-(0===t.type?1:0);return 0===e?t.index-r.index:e}return n-o}))}(d),function(e){e.forEach(((t,r)=>{r>0&&t.page&&e.slice(0,r).some((e=>(e.type===p.i.Keywords?e.page:e.document)===t.page))&&(r<e.length-1&&e[r+1].page===t.page?t.isInterOfTree=!0:t.isLastOfTree=!0)}))}(d),a(d)}}},37619:(e,t,r)=>{"use strict";function n(e){return e.join(" \u203a ")}r.d(t,{$:()=>n})},94107:(e,t,r)=>{"use strict";function n(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}r.d(t,{Z:()=>n})},68478:(e,t,r)=>{"use strict";function n(e,t){const r=[];for(const n of Object.values(e))n[t]&&r.push(...n[t].position);return r.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}r.d(t,{g:()=>n})},99765:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(94107);function o(e,t,r){const i=[];for(const s of t){const r=e.toLowerCase().indexOf(s);if(r>=0){r>0&&i.push(o(e.substr(0,r),t)),i.push(`<mark>${(0,n.Z)(e.substr(r,s.length))}</mark>`);const a=r+s.length;a<e.length&&i.push(o(e.substr(a),t));break}}return 0===i.length?r?`<mark>${(0,n.Z)(e)}</mark>`:(0,n.Z)(e):i.join("")}},53144:(e,t,r)=>{"use strict";r.d(t,{C:()=>p});var n=r(94107),o=r(99765);const i=/\w+|\p{Unified_Ideograph}/u;function s(e){const t=[];let r=0,n=e;for(;n.length>0;){const o=n.match(i);if(!o){t.push(n);break}o.index>0&&t.push(n.substring(0,o.index)),t.push(o[0]),r+=o.index+o[0].length,n=e.substring(r)}return t}var a=r(69730);function p(e,t,r,i){void 0===i&&(i=a.rG);const{chunkIndex:p,chunks:c}=function(e,t,r){const i=[];let a=0,p=0,c=-1;for(;a<t.length;){const[l,d]=t[a];if(a+=1,!(l<p)){if(l>p){const t=s(e.substring(p,l)).map((e=>({html:(0,n.Z)(e),textLength:e.length})));for(const e of t)i.push(e)}-1===c&&(c=i.length),p=l+d,i.push({html:(0,o.Z)(e.substring(l,p),r,!0),textLength:d})}}if(p<e.length){const t=s(e.substring(p)).map((e=>({html:(0,n.Z)(e),textLength:e.length})));for(const e of t)i.push(e)}return{chunkIndex:c,chunks:i}}(e,t,r),l=c.slice(0,p),d=c[p],u=[d.html],f=c.slice(p+1);let m=d.textLength,g=0,h=0,b=!1,y=!1;for(;m<i;)if((g<=h||0===f.length)&&l.length>0){const e=l.pop();m+e.textLength<=i?(u.unshift(e.html),g+=e.textLength,m+=e.textLength):(b=!0,l.length=0)}else{if(!(f.length>0))break;{const e=f.shift();m+e.textLength<=i?(u.push(e.html),h+=e.textLength,m+=e.textLength):(y=!0,f.length=0)}}return(b||l.length>0)&&u.unshift("\u2026"),(y||f.length>0)&&u.push("\u2026"),u.join("")}},46037:(e,t,r)=>{"use strict";function n(e,t){if("string"==typeof e)return{label:e,path:e};{const{label:r,path:n}=e;return"string"==typeof r?{label:r,path:n}:Object.prototype.hasOwnProperty.call(r,t)?{label:r[t],path:n}:{label:n,path:n}}}r.d(t,{p:()=>n})},69730:(e,t,r)=>{"use strict";r.d(t,{CU:()=>a,UB:()=>g,tb:()=>d,O6:()=>y,I$:()=>h,BH:()=>i,sx:()=>s,ZG:()=>m,WW:()=>u,pk:()=>f,Hg:()=>b,IH:()=>p,rG:()=>l,AT:()=>c,dz:()=>v});var n=r(26410),o=r.n(n);r(98956)(o()),r(72422).A(o()),r(67515)(o());const i=["en","zh"],s=!1,a=null,p="search-index{dir}.json?_=a083db0f",c=8,l=50,d=!1,u=!0,f=!0,m="right",g=void 0,h=!0,b=null,y=!1,v=!1},47061:(e,t,r)=>{"use strict";var n;r.d(t,{i:()=>n}),function(e){e[e.Title=0]="Title",e[e.Heading=1]="Heading",e[e.Description=2]="Description",e[e.Keywords=3]="Keywords",e[e.Content=4]="Content"}(n||(n={}))},72422:(e,t,r)=>{"use strict";function n(e){const t=new RegExp("^[^"+e+"]+","u"),r=new RegExp("[^"+e+"]+$","u");return function(e){return e.update((function(e){return e.replace(t,"").replace(r,"")}))}}function o(e,t){e.trimmerSupport.generateTrimmer=n,e.zh=function(){this.pipeline.reset(),this.pipeline.add(e.zh.trimmer,e.zh.stopWordFilter),t&&(this.tokenizer=t)},t&&(e.zh.tokenizer=t),e.zh.wordCharacters="\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29\\u{20000}-\\u{2A6DD}\\u{2A700}-\\u{2B734}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{30000}-\\u{3134A}",e.zh.trimmer=e.trimmerSupport.generateTrimmer(e.zh.wordCharacters),e.Pipeline.registerFunction(e.zh.trimmer,"trimmer-zh"),e.zh.stopWordFilter=e.generateStopWordFilter("\u7684 \u4e00 \u4e0d \u5728 \u4eba \u6709 \u662f \u4e3a \u4ee5 \u4e8e \u4e0a \u4ed6 \u800c \u540e \u4e4b \u6765 \u53ca \u4e86 \u56e0 \u4e0b \u53ef \u5230 \u7531 \u8fd9 \u4e0e \u4e5f \u6b64 \u4f46 \u5e76 \u4e2a \u5176 \u5df2 \u65e0 \u5c0f \u6211 \u4eec \u8d77 \u6700 \u518d \u4eca \u53bb \u597d \u53ea \u53c8 \u6216 \u5f88 \u4ea6 \u67d0 \u628a \u90a3 \u4f60 \u4e43 \u5b83 \u5427 \u88ab \u6bd4 \u522b \u8d81 \u5f53 \u4ece \u5230 \u5f97 \u6253 \u51e1 \u513f \u5c14 \u8be5 \u5404 \u7ed9 \u8ddf \u548c \u4f55 \u8fd8 \u5373 \u51e0 \u65e2 \u770b \u636e \u8ddd \u9760 \u5566 \u4e86 \u53e6 \u4e48 \u6bcf \u4eec \u561b \u62ff \u54ea \u90a3 \u60a8 \u51ed \u4e14 \u5374 \u8ba9 \u4ecd \u5565 \u5982 \u82e5 \u4f7f \u8c01 \u867d \u968f \u540c \u6240 \u5979 \u54c7 \u55e1 \u5f80 \u54ea \u4e9b \u5411 \u6cbf \u54df \u7528 \u4e8e \u54b1 \u5219 \u600e \u66fe \u81f3 \u81f4 \u7740 \u8bf8 \u81ea".split(" ")),e.Pipeline.registerFunction(e.zh.stopWordFilter,"stopWordFilter-zh")}r.d(t,{A:()=>o})},82767:(e,t,r)=>{"use strict";function n(e){var t,r,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(r=n(e[t]))&&(o&&(o+=" "),o+=r);else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}r.d(t,{A:()=>o});const o=function(){for(var e,t,r=0,o="";r<arguments.length;)(e=arguments[r++])&&(t=n(e))&&(o&&(o+=" "),o+=t);return o}},29888:(e,t,r)=>{"use strict";r.d(t,{zR:()=>w,TM:()=>_,yJ:()=>f,sC:()=>E,AO:()=>u});var n=r(1778);function o(e){return"/"===e.charAt(0)}function i(e,t){for(var r=t,n=r+1,o=e.length;n<o;r+=1,n+=1)e[r]=e[n];e.pop()}const s=function(e,t){void 0===t&&(t="");var r,n=e&&e.split("/")||[],s=t&&t.split("/")||[],a=e&&o(e),p=t&&o(t),c=a||p;if(e&&o(e)?s=n:n.length&&(s.pop(),s=s.concat(n)),!s.length)return"/";if(s.length){var l=s[s.length-1];r="."===l||".."===l||""===l}else r=!1;for(var d=0,u=s.length;u>=0;u--){var f=s[u];"."===f?i(s,u):".."===f?(i(s,u),d++):d&&(i(s,u),d--)}if(!c)for(;d--;d)s.unshift("..");!c||""===s[0]||s[0]&&o(s[0])||s.unshift("");var m=s.join("/");return r&&"/"!==m.substr(-1)&&(m+="/"),m};var a=r(25649);function p(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function l(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function u(e){var t=e.pathname,r=e.search,n=e.hash,o=t||"/";return r&&"?"!==r&&(o+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(o+="#"===n.charAt(0)?n:"#"+n),o}function f(e,t,r,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",r="",n="",o=t.indexOf("#");-1!==o&&(n=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(r=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===r?"":r,hash:"#"===n?"":n}}(e),i.state=t):(void 0===(i=(0,n.A)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(a){throw a instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):a}return r&&(i.key=r),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=s(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,r,n,o){if(null!=e){var i="function"==typeof e?e(t,r):e;"string"==typeof i?"function"==typeof n?n(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var r=!0;function n(){r&&e.apply(void 0,arguments)}return t.push(n),function(){r=!1,t=t.filter((function(e){return e!==n}))}},notifyListeners:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];t.forEach((function(e){return e.apply(void 0,r)}))}}}var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),g||(0,a.A)(!1);var t,r=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),s=e,c=s.forceRefresh,w=void 0!==c&&c,S=s.getUserConfirmation,x=void 0===S?h:S,C=s.keyLength,k=void 0===C?6:C,O=e.basename?d(p(e.basename)):"";function _(e){var t=e||{},r=t.key,n=t.state,o=window.location,i=o.pathname+o.search+o.hash;return O&&(i=l(i,O)),f(i,n,r)}function W(){return Math.random().toString(36).substr(2,k)}var E=m();function T(e){(0,n.A)(B,e),B.length=r.length,E.notifyListeners(B.location,B.action)}function j(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(_(e.state))}function A(){P(_(v()))}var L=!1;function P(e){if(L)L=!1,T();else{E.confirmTransitionTo(e,"POP",x,(function(t){t?T({action:"POP",location:e}):function(e){var t=B.location,r=N.indexOf(t.key);-1===r&&(r=0);var n=N.indexOf(e.key);-1===n&&(n=0);var o=r-n;o&&(L=!0,D(o))}(e)}))}}var R=_(v()),N=[R.key];function I(e){return O+u(e)}function D(e){r.go(e)}var F=0;function z(e){1===(F+=e)&&1===e?(window.addEventListener(b,j),i&&window.addEventListener(y,A)):0===F&&(window.removeEventListener(b,j),i&&window.removeEventListener(y,A))}var M=!1;var B={length:r.length,action:"POP",location:R,createHref:I,push:function(e,t){var n="PUSH",i=f(e,t,W(),B.location);E.confirmTransitionTo(i,n,x,(function(e){if(e){var t=I(i),s=i.key,a=i.state;if(o)if(r.pushState({key:s,state:a},null,t),w)window.location.href=t;else{var p=N.indexOf(B.location.key),c=N.slice(0,p+1);c.push(i.key),N=c,T({action:n,location:i})}else window.location.href=t}}))},replace:function(e,t){var n="REPLACE",i=f(e,t,W(),B.location);E.confirmTransitionTo(i,n,x,(function(e){if(e){var t=I(i),s=i.key,a=i.state;if(o)if(r.replaceState({key:s,state:a},null,t),w)window.location.replace(t);else{var p=N.indexOf(B.location.key);-1!==p&&(N[p]=i.key),T({action:n,location:i})}else window.location.replace(t)}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=E.setPrompt(e);return M||(z(1),M=!0),function(){return M&&(M=!1,z(-1)),t()}},listen:function(e){var t=E.appendListener(e);return z(1),function(){z(-1),t()}}};return B}var S="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:p},slash:{encodePath:p,decodePath:p}};function C(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function k(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function O(e){window.location.replace(C(window.location.href)+"#"+e)}function _(e){void 0===e&&(e={}),g||(0,a.A)(!1);var t=window.history,r=(window.navigator.userAgent.indexOf("Firefox"),e),o=r.getUserConfirmation,i=void 0===o?h:o,s=r.hashType,c=void 0===s?"slash":s,b=e.basename?d(p(e.basename)):"",y=x[c],v=y.encodePath,w=y.decodePath;function _(){var e=w(k());return b&&(e=l(e,b)),f(e)}var W=m();function E(e){(0,n.A)(M,e),M.length=t.length,W.notifyListeners(M.location,M.action)}var T=!1,j=null;function A(){var e,t,r=k(),n=v(r);if(r!==n)O(n);else{var o=_(),s=M.location;if(!T&&(t=o,(e=s).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(j===u(o))return;j=null,function(e){if(T)T=!1,E();else{var t="POP";W.confirmTransitionTo(e,t,i,(function(r){r?E({action:t,location:e}):function(e){var t=M.location,r=N.lastIndexOf(u(t));-1===r&&(r=0);var n=N.lastIndexOf(u(e));-1===n&&(n=0);var o=r-n;o&&(T=!0,I(o))}(e)}))}}(o)}}var L=k(),P=v(L);L!==P&&O(P);var R=_(),N=[u(R)];function I(e){t.go(e)}var D=0;function F(e){1===(D+=e)&&1===e?window.addEventListener(S,A):0===D&&window.removeEventListener(S,A)}var z=!1;var M={length:t.length,action:"POP",location:R,createHref:function(e){var t=document.querySelector("base"),r="";return t&&t.getAttribute("href")&&(r=C(window.location.href)),r+"#"+v(b+u(e))},push:function(e,t){var r="PUSH",n=f(e,void 0,void 0,M.location);W.confirmTransitionTo(n,r,i,(function(e){if(e){var t=u(n),o=v(b+t);if(k()!==o){j=t,function(e){window.location.hash=e}(o);var i=N.lastIndexOf(u(M.location)),s=N.slice(0,i+1);s.push(t),N=s,E({action:r,location:n})}else E()}}))},replace:function(e,t){var r="REPLACE",n=f(e,void 0,void 0,M.location);W.confirmTransitionTo(n,r,i,(function(e){if(e){var t=u(n),o=v(b+t);k()!==o&&(j=t,O(o));var i=N.indexOf(u(M.location));-1!==i&&(N[i]=t),E({action:r,location:n})}}))},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=W.setPrompt(e);return z||(F(1),z=!0),function(){return z&&(z=!1,F(-1)),t()}},listen:function(e){var t=W.appendListener(e);return F(1),function(){F(-1),t()}}};return M}function W(e,t,r){return Math.min(Math.max(e,t),r)}function E(e){void 0===e&&(e={});var t=e,r=t.getUserConfirmation,o=t.initialEntries,i=void 0===o?["/"]:o,s=t.initialIndex,a=void 0===s?0:s,p=t.keyLength,c=void 0===p?6:p,l=m();function d(e){(0,n.A)(w,e),w.length=w.entries.length,l.notifyListeners(w.location,w.action)}function g(){return Math.random().toString(36).substr(2,c)}var h=W(a,0,i.length-1),b=i.map((function(e){return f(e,void 0,"string"==typeof e?g():e.key||g())})),y=u;function v(e){var t=W(w.index+e,0,w.entries.length-1),n=w.entries[t];l.confirmTransitionTo(n,"POP",r,(function(e){e?d({action:"POP",location:n,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[h],index:h,entries:b,createHref:y,push:function(e,t){var n="PUSH",o=f(e,t,g(),w.location);l.confirmTransitionTo(o,n,r,(function(e){if(e){var t=w.index+1,r=w.entries.slice(0);r.length>t?r.splice(t,r.length-t,o):r.push(o),d({action:n,location:o,index:t,entries:r})}}))},replace:function(e,t){var n="REPLACE",o=f(e,t,g(),w.location);l.confirmTransitionTo(o,n,r,(function(e){e&&(w.entries[w.index]=o,d({action:n,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),l.setPrompt(e)},listen:function(e){return l.appendListener(e)}};return w}},33871:(e,t,r)=>{"use strict";var n=r(53635),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function p(e){return n.isMemo(e)?s:a[e.$$typeof]||o}a[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[n.Memo]=s;var c=Object.defineProperty,l=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,u=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,r,n){if("string"!=typeof r){if(m){var o=f(r);o&&o!==m&&e(t,o,n)}var s=l(r);d&&(s=s.concat(d(r)));for(var a=p(t),g=p(r),h=0;h<s.length;++h){var b=s[h];if(!(i[b]||n&&n[b]||g&&g[b]||a&&a[b])){var y=u(r,b);try{c(t,b,y)}catch(v){}}}}return t}},84009:e=>{"use strict";e.exports=function(e,t,r,n,o,i,s,a){if(!e){var p;if(void 0===t)p=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,n,o,i,s,a],l=0;(p=new Error(t.replace(/%s/g,(function(){return c[l++]})))).name="Invariant Violation"}throw p.framesToPop=1,p}}},71434:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},67515:function(e,t,r){var n,o;n=function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),r=t.join("-"),n="",o=[],i=[],s=0;s<t.length;++s)"en"==t[s]?(n+="\\w",o.unshift(e.stopWordFilter),o.push(e.stemmer),i.push(e.stemmer)):(n+=e[t[s]].wordCharacters,e[t[s]].stopWordFilter&&o.unshift(e[t[s]].stopWordFilter),e[t[s]].stemmer&&(o.push(e[t[s]].stemmer),i.push(e[t[s]].stemmer)));var a=e.trimmerSupport.generateTrimmer(n);return e.Pipeline.registerFunction(a,"lunr-multi-trimmer-"+r),o.unshift(a),function(){this.pipeline.reset(),this.pipeline.add.apply(this.pipeline,o),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add.apply(this.searchPipeline,i))}}}},void 0===(o="function"==typeof n?n.call(t,r,t,e):n)||(e.exports=o)},98956:function(e,t,r){var n,o;void 0===(o="function"==typeof(n=function(){return function(e){e.stemmerSupport={Among:function(e,t,r,n){if(this.toCharArray=function(e){for(var t=e.length,r=new Array(t),n=0;n<t;n++)r[n]=e.charCodeAt(n);return r},!e&&""!=e||!t&&0!=t||!r)throw"Bad Among initialisation: s:"+e+", substring_i: "+t+", result: "+r;this.s_size=e.length,this.s=this.toCharArray(e),this.substring_i=t,this.result=r,this.method=n},SnowballProgram:function(){var e;return{bra:0,ket:0,limit:0,cursor:0,limit_backward:0,setCurrent:function(t){e=t,this.cursor=0,this.limit=t.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},getCurrent:function(){var t=e;return e=null,t},in_grouping:function(t,r,n){if(this.cursor<this.limit){var o=e.charCodeAt(this.cursor);if(o<=n&&o>=r&&t[(o-=r)>>3]&1<<(7&o))return this.cursor++,!0}return!1},in_grouping_b:function(t,r,n){if(this.cursor>this.limit_backward){var o=e.charCodeAt(this.cursor-1);if(o<=n&&o>=r&&t[(o-=r)>>3]&1<<(7&o))return this.cursor--,!0}return!1},out_grouping:function(t,r,n){if(this.cursor<this.limit){var o=e.charCodeAt(this.cursor);if(o>n||o<r)return this.cursor++,!0;if(!(t[(o-=r)>>3]&1<<(7&o)))return this.cursor++,!0}return!1},out_grouping_b:function(t,r,n){if(this.cursor>this.limit_backward){var o=e.charCodeAt(this.cursor-1);if(o>n||o<r)return this.cursor--,!0;if(!(t[(o-=r)>>3]&1<<(7&o)))return this.cursor--,!0}return!1},eq_s:function(t,r){if(this.limit-this.cursor<t)return!1;for(var n=0;n<t;n++)if(e.charCodeAt(this.cursor+n)!=r.charCodeAt(n))return!1;return this.cursor+=t,!0},eq_s_b:function(t,r){if(this.cursor-this.limit_backward<t)return!1;for(var n=0;n<t;n++)if(e.charCodeAt(this.cursor-t+n)!=r.charCodeAt(n))return!1;return this.cursor-=t,!0},find_among:function(t,r){for(var n=0,o=r,i=this.cursor,s=this.limit,a=0,p=0,c=!1;;){for(var l=n+(o-n>>1),d=0,u=a<p?a:p,f=t[l],m=u;m<f.s_size;m++){if(i+u==s){d=-1;break}if(d=e.charCodeAt(i+u)-f.s[m])break;u++}if(d<0?(o=l,p=u):(n=l,a=u),o-n<=1){if(n>0||o==n||c)break;c=!0}}for(;;){if(a>=(f=t[n]).s_size){if(this.cursor=i+f.s_size,!f.method)return f.result;var g=f.method();if(this.cursor=i+f.s_size,g)return f.result}if((n=f.substring_i)<0)return 0}},find_among_b:function(t,r){for(var n=0,o=r,i=this.cursor,s=this.limit_backward,a=0,p=0,c=!1;;){for(var l=n+(o-n>>1),d=0,u=a<p?a:p,f=(m=t[l]).s_size-1-u;f>=0;f--){if(i-u==s){d=-1;break}if(d=e.charCodeAt(i-1-u)-m.s[f])break;u++}if(d<0?(o=l,p=u):(n=l,a=u),o-n<=1){if(n>0||o==n||c)break;c=!0}}for(;;){var m;if(a>=(m=t[n]).s_size){if(this.cursor=i-m.s_size,!m.method)return m.result;var g=m.method();if(this.cursor=i-m.s_size,g)return m.result}if((n=m.substring_i)<0)return 0}},replace_s:function(t,r,n){var o=n.length-(r-t),i=e.substring(0,t),s=e.substring(r);return e=i+n+s,this.limit+=o,this.cursor>=r?this.cursor+=o:this.cursor>t&&(this.cursor=t),o},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>e.length)throw"faulty slice operation"},slice_from:function(e){this.slice_check(),this.replace_s(this.bra,this.ket,e)},slice_del:function(){this.slice_from("")},insert:function(e,t,r){var n=this.replace_s(e,t,r);e<=this.bra&&(this.bra+=n),e<=this.ket&&(this.ket+=n)},slice_to:function(){return this.slice_check(),e.substring(this.bra,this.ket)},eq_v_b:function(e){return this.eq_s_b(e.length,e)}}}},e.trimmerSupport={generateTrimmer:function(e){var t=new RegExp("^[^"+e+"]+"),r=new RegExp("[^"+e+"]+$");return function(e){return"function"==typeof e.update?e.update((function(e){return e.replace(t,"").replace(r,"")})):e.replace(t,"").replace(r,"")}}}}})?n.call(t,r,t,e):n)||(e.exports=o)},26410:(e,t,r)=>{var n,o;!function(){var i,s,a,p,c,l,d,u,f,m,g,h,b,y,v,w,S,x,C,k,O,_,W,E,T,j,A,L,P,R,N=function(e){var t=new N.Builder;return t.pipeline.add(N.trimmer,N.stopWordFilter,N.stemmer),t.searchPipeline.add(N.stemmer),e.call(t,t),t.build()};N.version="2.3.9",N.utils={},N.utils.warn=(i=this,function(e){i.console&&console.warn&&console.warn(e)}),N.utils.asString=function(e){return null==e?"":e.toString()},N.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),n=0;n<r.length;n++){var o=r[n],i=e[o];if(Array.isArray(i))t[o]=i.slice();else{if("string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i)throw new TypeError("clone is not deep and does not support nested objects");t[o]=i}}return t},N.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},N.FieldRef.joiner="/",N.FieldRef.fromString=function(e){var t=e.indexOf(N.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var r=e.slice(0,t),n=e.slice(t+1);return new N.FieldRef(n,r,e)},N.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+N.FieldRef.joiner+this.docRef),this._stringValue},N.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},N.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},N.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},N.Set.prototype.contains=function(e){return!!this.elements[e]},N.Set.prototype.intersect=function(e){var t,r,n,o=[];if(e===N.Set.complete)return this;if(e===N.Set.empty)return e;this.length<e.length?(t=this,r=e):(t=e,r=this),n=Object.keys(t.elements);for(var i=0;i<n.length;i++){var s=n[i];s in r.elements&&o.push(s)}return new N.Set(o)},N.Set.prototype.union=function(e){return e===N.Set.complete?N.Set.complete:e===N.Set.empty?this:new N.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},N.idf=function(e,t){var r=0;for(var n in e)"_index"!=n&&(r+=Object.keys(e[n]).length);var o=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(o))},N.Token=function(e,t){this.str=e||"",this.metadata=t||{}},N.Token.prototype.toString=function(){return this.str},N.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},N.Token.prototype.clone=function(e){return e=e||function(e){return e},new N.Token(e(this.str,this.metadata),this.metadata)},N.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new N.Token(N.utils.asString(e).toLowerCase(),N.utils.clone(t))}));for(var r=e.toString().toLowerCase(),n=r.length,o=[],i=0,s=0;i<=n;i++){var a=i-s;if(r.charAt(i).match(N.tokenizer.separator)||i==n){if(a>0){var p=N.utils.clone(t)||{};p.position=[s,a],p.index=o.length,o.push(new N.Token(r.slice(s,i),p))}s=i+1}}return o},N.tokenizer.separator=/[\s\-]+/,N.Pipeline=function(){this._stack=[]},N.Pipeline.registeredFunctions=Object.create(null),N.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&N.utils.warn("Overwriting existing registered function: "+t),e.label=t,N.Pipeline.registeredFunctions[e.label]=e},N.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||N.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},N.Pipeline.load=function(e){var t=new N.Pipeline;return e.forEach((function(e){var r=N.Pipeline.registeredFunctions[e];if(!r)throw new Error("Cannot load unregistered function: "+e);t.add(r)})),t},N.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){N.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},N.Pipeline.prototype.after=function(e,t){N.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");r+=1,this._stack.splice(r,0,t)},N.Pipeline.prototype.before=function(e,t){N.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");this._stack.splice(r,0,t)},N.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},N.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var n=this._stack[r],o=[],i=0;i<e.length;i++){var s=n(e[i],i,e);if(null!=s&&""!==s)if(Array.isArray(s))for(var a=0;a<s.length;a++)o.push(s[a]);else o.push(s)}e=o}return e},N.Pipeline.prototype.runString=function(e,t){var r=new N.Token(e,t);return this.run([r]).map((function(e){return e.toString()}))},N.Pipeline.prototype.reset=function(){this._stack=[]},N.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return N.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},N.Vector=function(e){this._magnitude=0,this.elements=e||[]},N.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,n=r-t,o=Math.floor(n/2),i=this.elements[2*o];n>1&&(i<e&&(t=o),i>e&&(r=o),i!=e);)n=r-t,o=t+Math.floor(n/2),i=this.elements[2*o];return i==e||i>e?2*o:i<e?2*(o+1):void 0},N.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},N.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var n=this.positionForIndex(e);this.elements[n]==e?this.elements[n+1]=r(this.elements[n+1],t):this.elements.splice(n,0,e,t)},N.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var n=this.elements[r];e+=n*n}return this._magnitude=Math.sqrt(e)},N.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,n=e.elements,o=r.length,i=n.length,s=0,a=0,p=0,c=0;p<o&&c<i;)(s=r[p])<(a=n[c])?p+=2:s>a?c+=2:s==a&&(t+=r[p+1]*n[c+1],p+=2,c+=2);return t},N.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},N.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},N.Vector.prototype.toJSON=function(){return this.elements},N.stemmer=(s={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},a={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="^("+(c="[^aeiou][^aeiouy]*")+")?"+(l=(p="[aeiouy]")+"[aeiou]*")+c+"("+l+")?$",u="^("+c+")?"+l+c+l+c,f="^("+c+")?"+p,m=new RegExp("^("+c+")?"+l+c),g=new RegExp(u),h=new RegExp(d),b=new RegExp(f),y=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,x=/.$/,C=/(at|bl|iz)$/,k=new RegExp("([^aeiouylsz])\\1$"),O=new RegExp("^"+c+p+"[^aeiouwxy]$"),_=/^(.+?[^aeiou])y$/,W=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,T=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,j=/^(.+?)(s|t)(ion)$/,A=/^(.+?)e$/,L=/ll$/,P=new RegExp("^"+c+p+"[^aeiouwxy]$"),R=function(e){var t,r,n,o,i,p,c;if(e.length<3)return e;if("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),i=v,(o=y).test(e)?e=e.replace(o,"$1$2"):i.test(e)&&(e=e.replace(i,"$1$2")),i=S,(o=w).test(e)){var l=o.exec(e);(o=m).test(l[1])&&(o=x,e=e.replace(o,""))}else i.test(e)&&(t=(l=i.exec(e))[1],(i=b).test(t)&&(p=k,c=O,(i=C).test(e=t)?e+="e":p.test(e)?(o=x,e=e.replace(o,"")):c.test(e)&&(e+="e")));return(o=_).test(e)&&(e=(t=(l=o.exec(e))[1])+"i"),(o=W).test(e)&&(t=(l=o.exec(e))[1],r=l[2],(o=m).test(t)&&(e=t+s[r])),(o=E).test(e)&&(t=(l=o.exec(e))[1],r=l[2],(o=m).test(t)&&(e=t+a[r])),i=j,(o=T).test(e)?(t=(l=o.exec(e))[1],(o=g).test(t)&&(e=t)):i.test(e)&&(t=(l=i.exec(e))[1]+l[2],(i=g).test(t)&&(e=t)),(o=A).test(e)&&(t=(l=o.exec(e))[1],i=h,p=P,((o=g).test(t)||i.test(t)&&!p.test(t))&&(e=t)),i=g,(o=L).test(e)&&i.test(e)&&(o=x,e=e.replace(o,"")),"y"==n&&(e=n.toLowerCase()+e.substr(1)),e},function(e){return e.update(R)}),N.Pipeline.registerFunction(N.stemmer,"stemmer"),N.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},N.stopWordFilter=N.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),N.Pipeline.registerFunction(N.stopWordFilter,"stopWordFilter"),N.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},N.Pipeline.registerFunction(N.trimmer,"trimmer"),N.TokenSet=function(){this.final=!1,this.edges={},this.id=N.TokenSet._nextId,N.TokenSet._nextId+=1},N.TokenSet._nextId=1,N.TokenSet.fromArray=function(e){for(var t=new N.TokenSet.Builder,r=0,n=e.length;r<n;r++)t.insert(e[r]);return t.finish(),t.root},N.TokenSet.fromClause=function(e){return"editDistance"in e?N.TokenSet.fromFuzzyString(e.term,e.editDistance):N.TokenSet.fromString(e.term)},N.TokenSet.fromFuzzyString=function(e,t){for(var r=new N.TokenSet,n=[{node:r,editsRemaining:t,str:e}];n.length;){var o=n.pop();if(o.str.length>0){var i,s=o.str.charAt(0);s in o.node.edges?i=o.node.edges[s]:(i=new N.TokenSet,o.node.edges[s]=i),1==o.str.length&&(i.final=!0),n.push({node:i,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var a=o.node.edges["*"];else{a=new N.TokenSet;o.node.edges["*"]=a}if(0==o.str.length&&(a.final=!0),n.push({node:a,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&n.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var p=o.node.edges["*"];else{p=new N.TokenSet;o.node.edges["*"]=p}1==o.str.length&&(p.final=!0),n.push({node:p,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,l=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?c=o.node.edges[d]:(c=new N.TokenSet,o.node.edges[d]=c),1==o.str.length&&(c.final=!0),n.push({node:c,editsRemaining:o.editsRemaining-1,str:l+o.str.slice(2)})}}}return r},N.TokenSet.fromString=function(e){for(var t=new N.TokenSet,r=t,n=0,o=e.length;n<o;n++){var i=e[n],s=n==o-1;if("*"==i)t.edges[i]=t,t.final=s;else{var a=new N.TokenSet;a.final=s,t.edges[i]=a,t=a}}return r},N.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),n=Object.keys(r.node.edges),o=n.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var i=0;i<o;i++){var s=n[i];t.push({prefix:r.prefix.concat(s),node:r.node.edges[s]})}}return e},N.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,n=0;n<r;n++){var o=t[n];e=e+o+this.edges[o].id}return e},N.TokenSet.prototype.intersect=function(e){for(var t=new N.TokenSet,r=void 0,n=[{qNode:e,output:t,node:this}];n.length;){r=n.pop();for(var o=Object.keys(r.qNode.edges),i=o.length,s=Object.keys(r.node.edges),a=s.length,p=0;p<i;p++)for(var c=o[p],l=0;l<a;l++){var d=s[l];if(d==c||"*"==c){var u=r.node.edges[d],f=r.qNode.edges[c],m=u.final&&f.final,g=void 0;d in r.output.edges?(g=r.output.edges[d]).final=g.final||m:((g=new N.TokenSet).final=m,r.output.edges[d]=g),n.push({qNode:f,output:g,node:u})}}}return t},N.TokenSet.Builder=function(){this.previousWord="",this.root=new N.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},N.TokenSet.Builder.prototype.insert=function(e){var t,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<e.length&&n<this.previousWord.length&&e[n]==this.previousWord[n];n++)r++;this.minimize(r),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=r;n<e.length;n++){var o=new N.TokenSet,i=e[n];t.edges[i]=o,this.uncheckedNodes.push({parent:t,char:i,child:o}),t=o}t.final=!0,this.previousWord=e},N.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},N.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var r=this.uncheckedNodes[t],n=r.child.toString();n in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[n]:(r.child._str=n,this.minimizedNodes[n]=r.child),this.uncheckedNodes.pop()}},N.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},N.Index.prototype.search=function(e){return this.query((function(t){new N.QueryParser(e,t).parse()}))},N.Index.prototype.query=function(e){for(var t=new N.Query(this.fields),r=Object.create(null),n=Object.create(null),o=Object.create(null),i=Object.create(null),s=Object.create(null),a=0;a<this.fields.length;a++)n[this.fields[a]]=new N.Vector;e.call(t,t);for(a=0;a<t.clauses.length;a++){var p=t.clauses[a],c=null,l=N.Set.empty;c=p.usePipeline?this.pipeline.runString(p.term,{fields:p.fields}):[p.term];for(var d=0;d<c.length;d++){var u=c[d];p.term=u;var f=N.TokenSet.fromClause(p),m=this.tokenSet.intersect(f).toArray();if(0===m.length&&p.presence===N.Query.presence.REQUIRED){for(var g=0;g<p.fields.length;g++){i[A=p.fields[g]]=N.Set.empty}break}for(var h=0;h<m.length;h++){var b=m[h],y=this.invertedIndex[b],v=y._index;for(g=0;g<p.fields.length;g++){var w=y[A=p.fields[g]],S=Object.keys(w),x=b+"/"+A,C=new N.Set(S);if(p.presence==N.Query.presence.REQUIRED&&(l=l.union(C),void 0===i[A]&&(i[A]=N.Set.complete)),p.presence!=N.Query.presence.PROHIBITED){if(n[A].upsert(v,p.boost,(function(e,t){return e+t})),!o[x]){for(var k=0;k<S.length;k++){var O,_=S[k],W=new N.FieldRef(_,A),E=w[_];void 0===(O=r[W])?r[W]=new N.MatchData(b,A,E):O.add(b,A,E)}o[x]=!0}}else void 0===s[A]&&(s[A]=N.Set.empty),s[A]=s[A].union(C)}}}if(p.presence===N.Query.presence.REQUIRED)for(g=0;g<p.fields.length;g++){i[A=p.fields[g]]=i[A].intersect(l)}}var T=N.Set.complete,j=N.Set.empty;for(a=0;a<this.fields.length;a++){var A;i[A=this.fields[a]]&&(T=T.intersect(i[A])),s[A]&&(j=j.union(s[A]))}var L=Object.keys(r),P=[],R=Object.create(null);if(t.isNegated()){L=Object.keys(this.fieldVectors);for(a=0;a<L.length;a++){W=L[a];var I=N.FieldRef.fromString(W);r[W]=new N.MatchData}}for(a=0;a<L.length;a++){var D=(I=N.FieldRef.fromString(L[a])).docRef;if(T.contains(D)&&!j.contains(D)){var F,z=this.fieldVectors[I],M=n[I.fieldName].similarity(z);if(void 0!==(F=R[D]))F.score+=M,F.matchData.combine(r[I]);else{var B={ref:D,score:M,matchData:r[I]};R[D]=B,P.push(B)}}}return P.sort((function(e,t){return t.score-e.score}))},N.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:N.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},N.Index.load=function(e){var t={},r={},n=e.fieldVectors,o=Object.create(null),i=e.invertedIndex,s=new N.TokenSet.Builder,a=N.Pipeline.load(e.pipeline);e.version!=N.version&&N.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+N.version+"' does not match serialized index '"+e.version+"'");for(var p=0;p<n.length;p++){var c=(d=n[p])[0],l=d[1];r[c]=new N.Vector(l)}for(p=0;p<i.length;p++){var d,u=(d=i[p])[0],f=d[1];s.insert(u),o[u]=f}return s.finish(),t.fields=e.fields,t.fieldVectors=r,t.invertedIndex=o,t.tokenSet=s.root,t.pipeline=a,new N.Index(t)},N.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=N.tokenizer,this.pipeline=new N.Pipeline,this.searchPipeline=new N.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},N.Builder.prototype.ref=function(e){this._ref=e},N.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},N.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},N.Builder.prototype.k1=function(e){this._k1=e},N.Builder.prototype.add=function(e,t){var r=e[this._ref],n=Object.keys(this._fields);this._documents[r]=t||{},this.documentCount+=1;for(var o=0;o<n.length;o++){var i=n[o],s=this._fields[i].extractor,a=s?s(e):e[i],p=this.tokenizer(a,{fields:[i]}),c=this.pipeline.run(p),l=new N.FieldRef(r,i),d=Object.create(null);this.fieldTermFrequencies[l]=d,this.fieldLengths[l]=0,this.fieldLengths[l]+=c.length;for(var u=0;u<c.length;u++){var f=c[u];if(null==d[f]&&(d[f]=0),d[f]+=1,null==this.invertedIndex[f]){var m=Object.create(null);m._index=this.termIndex,this.termIndex+=1;for(var g=0;g<n.length;g++)m[n[g]]=Object.create(null);this.invertedIndex[f]=m}null==this.invertedIndex[f][i][r]&&(this.invertedIndex[f][i][r]=Object.create(null));for(var h=0;h<this.metadataWhitelist.length;h++){var b=this.metadataWhitelist[h],y=f.metadata[b];null==this.invertedIndex[f][i][r][b]&&(this.invertedIndex[f][i][r][b]=[]),this.invertedIndex[f][i][r][b].push(y)}}}},N.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,r={},n={},o=0;o<t;o++){var i=N.FieldRef.fromString(e[o]),s=i.fieldName;n[s]||(n[s]=0),n[s]+=1,r[s]||(r[s]=0),r[s]+=this.fieldLengths[i]}var a=Object.keys(this._fields);for(o=0;o<a.length;o++){var p=a[o];r[p]=r[p]/n[p]}this.averageFieldLength=r},N.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),r=t.length,n=Object.create(null),o=0;o<r;o++){for(var i=N.FieldRef.fromString(t[o]),s=i.fieldName,a=this.fieldLengths[i],p=new N.Vector,c=this.fieldTermFrequencies[i],l=Object.keys(c),d=l.length,u=this._fields[s].boost||1,f=this._documents[i.docRef].boost||1,m=0;m<d;m++){var g,h,b,y=l[m],v=c[y],w=this.invertedIndex[y]._index;void 0===n[y]?(g=N.idf(this.invertedIndex[y],this.documentCount),n[y]=g):g=n[y],h=g*((this._k1+1)*v)/(this._k1*(1-this._b+this._b*(a/this.averageFieldLength[s]))+v),h*=u,h*=f,b=Math.round(1e3*h)/1e3,p.insert(w,b)}e[i]=p}this.fieldVectors=e},N.Builder.prototype.createTokenSet=function(){this.tokenSet=N.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},N.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new N.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},N.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},N.MatchData=function(e,t,r){for(var n=Object.create(null),o=Object.keys(r||{}),i=0;i<o.length;i++){var s=o[i];n[s]=r[s].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=n)},N.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var n=t[r],o=Object.keys(e.metadata[n]);null==this.metadata[n]&&(this.metadata[n]=Object.create(null));for(var i=0;i<o.length;i++){var s=o[i],a=Object.keys(e.metadata[n][s]);null==this.metadata[n][s]&&(this.metadata[n][s]=Object.create(null));for(var p=0;p<a.length;p++){var c=a[p];null==this.metadata[n][s][c]?this.metadata[n][s][c]=e.metadata[n][s][c]:this.metadata[n][s][c]=this.metadata[n][s][c].concat(e.metadata[n][s][c])}}}},N.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var n=Object.keys(r),o=0;o<n.length;o++){var i=n[o];i in this.metadata[e][t]?this.metadata[e][t][i]=this.metadata[e][t][i].concat(r[i]):this.metadata[e][t][i]=r[i]}else this.metadata[e][t]=r},N.Query=function(e){this.clauses=[],this.allFields=e},N.Query.wildcard=new String("*"),N.Query.wildcard.NONE=0,N.Query.wildcard.LEADING=1,N.Query.wildcard.TRAILING=2,N.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},N.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=N.Query.wildcard.NONE),e.wildcard&N.Query.wildcard.LEADING&&e.term.charAt(0)!=N.Query.wildcard&&(e.term="*"+e.term),e.wildcard&N.Query.wildcard.TRAILING&&e.term.slice(-1)!=N.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=N.Query.presence.OPTIONAL),this.clauses.push(e),this},N.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=N.Query.presence.PROHIBITED)return!1;return!0},N.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,N.utils.clone(t))}),this),this;var r=t||{};return r.term=e.toString(),this.clause(r),this},N.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},N.QueryParseError.prototype=new Error,N.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},N.QueryLexer.prototype.run=function(){for(var e=N.QueryLexer.lexText;e;)e=e(this)},N.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,n=0;n<this.escapeCharPositions.length;n++)r=this.escapeCharPositions[n],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},N.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},N.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},N.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return N.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},N.QueryLexer.prototype.width=function(){return this.pos-this.start},N.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},N.QueryLexer.prototype.backup=function(){this.pos-=1},N.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=N.QueryLexer.EOS&&this.backup()},N.QueryLexer.prototype.more=function(){return this.pos<this.length},N.QueryLexer.EOS="EOS",N.QueryLexer.FIELD="FIELD",N.QueryLexer.TERM="TERM",N.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",N.QueryLexer.BOOST="BOOST",N.QueryLexer.PRESENCE="PRESENCE",N.QueryLexer.lexField=function(e){return e.backup(),e.emit(N.QueryLexer.FIELD),e.ignore(),N.QueryLexer.lexText},N.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(N.QueryLexer.TERM)),e.ignore(),e.more())return N.QueryLexer.lexText},N.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(N.QueryLexer.EDIT_DISTANCE),N.QueryLexer.lexText},N.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(N.QueryLexer.BOOST),N.QueryLexer.lexText},N.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(N.QueryLexer.TERM)},N.QueryLexer.termSeparator=N.tokenizer.separator,N.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==N.QueryLexer.EOS)return N.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return N.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(N.QueryLexer.TERM),N.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(N.QueryLexer.TERM),N.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(N.QueryLexer.PRESENCE),N.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(N.QueryLexer.PRESENCE),N.QueryLexer.lexText;if(t.match(N.QueryLexer.termSeparator))return N.QueryLexer.lexTerm}else e.escapeCharacter()}},N.QueryParser=function(e,t){this.lexer=new N.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},N.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=N.QueryParser.parseClause;e;)e=e(this);return this.query},N.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},N.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},N.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},N.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case N.QueryLexer.PRESENCE:return N.QueryParser.parsePresence;case N.QueryLexer.FIELD:return N.QueryParser.parseField;case N.QueryLexer.TERM:return N.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(r+=" with value '"+t.str+"'"),new N.QueryParseError(r,t.start,t.end)}},N.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=N.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=N.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+t.str+"'";throw new N.QueryParseError(r,t.start,t.end)}var n=e.peekLexeme();if(null==n){r="expecting term or field, found nothing";throw new N.QueryParseError(r,t.start,t.end)}switch(n.type){case N.QueryLexer.FIELD:return N.QueryParser.parseField;case N.QueryLexer.TERM:return N.QueryParser.parseTerm;default:r="expecting term or field, found '"+n.type+"'";throw new N.QueryParseError(r,n.start,n.end)}}},N.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var r=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),n="unrecognised field '"+t.str+"', possible fields: "+r;throw new N.QueryParseError(n,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){n="expecting term, found nothing";throw new N.QueryParseError(n,t.start,t.end)}if(o.type===N.QueryLexer.TERM)return N.QueryParser.parseTerm;n="expecting term, found '"+o.type+"'";throw new N.QueryParseError(n,o.start,o.end)}},N.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(null!=r)switch(r.type){case N.QueryLexer.TERM:return e.nextClause(),N.QueryParser.parseTerm;case N.QueryLexer.FIELD:return e.nextClause(),N.QueryParser.parseField;case N.QueryLexer.EDIT_DISTANCE:return N.QueryParser.parseEditDistance;case N.QueryLexer.BOOST:return N.QueryParser.parseBoost;case N.QueryLexer.PRESENCE:return e.nextClause(),N.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+r.type+"'";throw new N.QueryParseError(n,r.start,r.end)}else e.nextClause()}},N.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="edit distance must be numeric";throw new N.QueryParseError(n,t.start,t.end)}e.currentClause.editDistance=r;var o=e.peekLexeme();if(null!=o)switch(o.type){case N.QueryLexer.TERM:return e.nextClause(),N.QueryParser.parseTerm;case N.QueryLexer.FIELD:return e.nextClause(),N.QueryParser.parseField;case N.QueryLexer.EDIT_DISTANCE:return N.QueryParser.parseEditDistance;case N.QueryLexer.BOOST:return N.QueryParser.parseBoost;case N.QueryLexer.PRESENCE:return e.nextClause(),N.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+o.type+"'";throw new N.QueryParseError(n,o.start,o.end)}else e.nextClause()}},N.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="boost must be numeric";throw new N.QueryParseError(n,t.start,t.end)}e.currentClause.boost=r;var o=e.peekLexeme();if(null!=o)switch(o.type){case N.QueryLexer.TERM:return e.nextClause(),N.QueryParser.parseTerm;case N.QueryLexer.FIELD:return e.nextClause(),N.QueryParser.parseField;case N.QueryLexer.EDIT_DISTANCE:return N.QueryParser.parseEditDistance;case N.QueryLexer.BOOST:return N.QueryParser.parseBoost;case N.QueryLexer.PRESENCE:return e.nextClause(),N.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+o.type+"'";throw new N.QueryParseError(n,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(n=function(){return N})?n.call(t,r,t,e):n)||(e.exports=o)}()},26461:(e,t,r)=>{"use strict";r.r(t)},76125:(e,t,r)=>{"use strict";r.r(t)},84564:function(e,t,r){var n,o;n=function(){var e,t,r={version:"0.2.0"},n=r.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,r){return e<t?t:e>r?r:e}function i(e){return 100*(-1+e)}function s(e,t,r){var o;return(o="translate3d"===n.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===n.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+r,o}r.configure=function(e){var t,r;for(t in e)void 0!==(r=e[t])&&e.hasOwnProperty(t)&&(n[t]=r);return this},r.status=null,r.set=function(e){var t=r.isStarted();e=o(e,n.minimum,1),r.status=1===e?null:e;var i=r.render(!t),c=i.querySelector(n.barSelector),l=n.speed,d=n.easing;return i.offsetWidth,a((function(t){""===n.positionUsing&&(n.positionUsing=r.getPositioningCSS()),p(c,s(e,l,d)),1===e?(p(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout((function(){p(i,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){r.remove(),t()}),l)}),l)):setTimeout(t,l)})),this},r.isStarted=function(){return"number"==typeof r.status},r.start=function(){r.status||r.set(0);var e=function(){setTimeout((function(){r.status&&(r.trickle(),e())}),n.trickleSpeed)};return n.trickle&&e(),this},r.done=function(e){return e||r.status?r.inc(.3+.5*Math.random()).set(1):this},r.inc=function(e){var t=r.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),r.set(t)):r.start()},r.trickle=function(){return r.inc(Math.random()*n.trickleRate)},e=0,t=0,r.promise=function(n){return n&&"resolved"!==n.state()?(0===t&&r.start(),e++,t++,n.always((function(){0==--t?(e=0,r.done()):r.set((e-t)/e)})),this):this},r.render=function(e){if(r.isRendered())return document.getElementById("nprogress");l(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=n.template;var o,s=t.querySelector(n.barSelector),a=e?"-100":i(r.status||0),c=document.querySelector(n.parent);return p(s,{transition:"all 0 linear",transform:"translate3d("+a+"%,0,0)"}),n.showSpinner||(o=t.querySelector(n.spinnerSelector))&&f(o),c!=document.body&&l(c,"nprogress-custom-parent"),c.appendChild(t),t},r.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(n.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},r.isRendered=function(){return!!document.getElementById("nprogress")},r.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var a=function(){var e=[];function t(){var r=e.shift();r&&r(t)}return function(r){e.push(r),1==e.length&&t()}}(),p=function(){var e=["Webkit","O","Moz","ms"],t={};function r(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function n(t){var r=document.body.style;if(t in r)return t;for(var n,o=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((n=e[o]+i)in r)return n;return t}function o(e){return e=r(e),t[e]||(t[e]=n(e))}function i(e,t,r){t=o(t),e.style[t]=r}return function(e,t){var r,n,o=arguments;if(2==o.length)for(r in t)void 0!==(n=t[r])&&t.hasOwnProperty(r)&&i(e,r,n);else i(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:u(e)).indexOf(" "+t+" ")>=0}function l(e,t){var r=u(e),n=r+t;c(r,t)||(e.className=n.substring(1))}function d(e,t){var r,n=u(e);c(e,t)&&(r=n.replace(" "+t+" "," "),e.className=r.substring(1,r.length-1))}function u(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return r},void 0===(o="function"==typeof n?n.call(t,r,t,e):n)||(e.exports=o)},36154:(e,t,r)=>{var n=r(71434);e.exports=f,e.exports.parse=i,e.exports.compile=function(e,t){return a(i(e,t),t)},e.exports.tokensToFunction=a,e.exports.tokensToRegExp=u;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var r,n=[],i=0,s=0,a="",l=t&&t.delimiter||"/";null!=(r=o.exec(e));){var d=r[0],u=r[1],f=r.index;if(a+=e.slice(s,f),s=f+d.length,u)a+=u[1];else{var m=e[s],g=r[2],h=r[3],b=r[4],y=r[5],v=r[6],w=r[7];a&&(n.push(a),a="");var S=null!=g&&null!=m&&m!==g,x="+"===v||"*"===v,C="?"===v||"*"===v,k=r[2]||l,O=b||y;n.push({name:h||i++,prefix:g||"",delimiter:k,optional:C,repeat:x,partial:S,asterisk:!!w,pattern:O?c(O):w?".*":"[^"+p(k)+"]+?"})}}return s<e.length&&(a+=e.substr(s)),a&&n.push(a),n}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function a(e,t){for(var r=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(r[o]=new RegExp("^(?:"+e[o].pattern+")$",d(t)));return function(t,o){for(var i="",a=t||{},p=(o||{}).pretty?s:encodeURIComponent,c=0;c<e.length;c++){var l=e[c];if("string"!=typeof l){var d,u=a[l.name];if(null==u){if(l.optional){l.partial&&(i+=l.prefix);continue}throw new TypeError('Expected "'+l.name+'" to be defined')}if(n(u)){if(!l.repeat)throw new TypeError('Expected "'+l.name+'" to not repeat, but received `'+JSON.stringify(u)+"`");if(0===u.length){if(l.optional)continue;throw new TypeError('Expected "'+l.name+'" to not be empty')}for(var f=0;f<u.length;f++){if(d=p(u[f]),!r[c].test(d))throw new TypeError('Expected all "'+l.name+'" to match "'+l.pattern+'", but received `'+JSON.stringify(d)+"`");i+=(0===f?l.prefix:l.delimiter)+d}}else{if(d=l.asterisk?encodeURI(u).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):p(u),!r[c].test(d))throw new TypeError('Expected "'+l.name+'" to match "'+l.pattern+'", but received "'+d+'"');i+=l.prefix+d}}else i+=l}return i}}function p(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function l(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function u(e,t,r){n(t)||(r=t||r,t=[]);for(var o=(r=r||{}).strict,i=!1!==r.end,s="",a=0;a<e.length;a++){var c=e[a];if("string"==typeof c)s+=p(c);else{var u=p(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+u+f+")*"),s+=f=c.optional?c.partial?u+"("+f+")?":"(?:"+u+"("+f+"))?":u+"("+f+")"}}var m=p(r.delimiter||"/"),g=s.slice(-m.length)===m;return o||(s=(g?s.slice(0,-m.length):s)+"(?:"+m+"(?=$))?"),s+=i?"$":o&&g?"":"(?="+m+"|$)",l(new RegExp("^"+s,d(r)),t)}function f(e,t,r){return n(t)||(r=t||r,t=[]),r=r||{},e instanceof RegExp?function(e,t){var r=e.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)t.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return l(e,t)}(e,t):n(e)?function(e,t,r){for(var n=[],o=0;o<e.length;o++)n.push(f(e[o],t,r).source);return l(new RegExp("(?:"+n.join("|")+")",d(r)),t)}(e,t,r):function(e,t,r){return u(i(e,r),t,r)}(e,t,r)}},37839:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},78248:(e,t,r)=>{const n=r(37839),o=r(78290),i=new Set;function s(e){void 0===e?e=Object.keys(n.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...i,...Object.keys(Prism.languages)];o(n,e,t).load((e=>{if(!(e in n.languages))return void(s.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete r.c[r(98911).resolve(t)],delete Prism.languages[e],r(98911)(t),i.add(e)}))}s.silent=!1,e.exports=s},43814:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,n,o,i){if(r.language===n){var s=r.tokenStack=[];r.code=r.code.replace(o,(function(e){if("function"==typeof i&&!i(e))return e;for(var o,a=s.length;-1!==r.code.indexOf(o=t(n,a));)++a;return s[a]=e,o})),r.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(r,n){if(r.language===n&&r.tokenStack){r.grammar=e.languages[n];var o=0,i=Object.keys(r.tokenStack);!function s(a){for(var p=0;p<a.length&&!(o>=i.length);p++){var c=a[p];if("string"==typeof c||c.content&&"string"==typeof c.content){var l=i[o],d=r.tokenStack[l],u="string"==typeof c?c:c.content,f=t(n,l),m=u.indexOf(f);if(m>-1){++o;var g=u.substring(0,m),h=new e.Token(n,e.tokenize(d,r.grammar),"language-"+n,d),b=u.substring(m+f.length),y=[];g&&y.push.apply(y,s([g])),y.push(h),b&&y.push.apply(y,s([b])),"string"==typeof c?a.splice.apply(a,[p,1].concat(y)):c.content=y}}else c.content&&s(c.content)}return a}(r.tokens)}}}})}(Prism)},98911:(e,t,r)=>{var n={"./":78248};function o(e){var t=i(e);return r(t)}function i(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=i,e.exports=o,o.id=98911},78290:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function r(e){for(var t={},r=0,n=e.length;r<n;r++)t[e[r]]=!0;return t}function n(e){var r={},n=[];function o(n,i){if(!(n in r)){i.push(n);var s=i.indexOf(n);if(s<i.length-1)throw new Error("Circular dependency: "+i.slice(s).join(" -> "));var a={},p=e[n];if(p){function c(t){if(!(t in e))throw new Error(n+" depends on an unknown component "+t);if(!(t in a))for(var s in o(t,i),a[t]=!0,r[t])a[s]=!0}t(p.require,c),t(p.optional,c),t(p.modify,c)}r[n]=a,i.pop()}}return function(e){var t=r[e];return t||(o(e,n),t=r[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(i,s,a){var p=function(e){var t={};for(var r in e){var n=e[r];for(var o in n)if("meta"!=o){var i=n[o];t[o]="string"==typeof i?{title:i}:i}}return t}(i),c=function(e){var r;return function(n){if(n in e)return n;if(!r)for(var o in r={},e){var i=e[o];t(i&&i.alias,(function(t){if(t in r)throw new Error(t+" cannot be alias for both "+o+" and "+r[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");r[t]=o}))}return r[n]||n}}(p);s=s.map(c),a=(a||[]).map(c);var l=r(s),d=r(a);s.forEach((function e(r){var n=p[r];t(n&&n.require,(function(t){t in d||(l[t]=!0,e(t))}))}));for(var u,f=n(p),m=l;o(m);){for(var g in u={},m){var h=p[g];t(h&&h.modify,(function(e){e in d&&(u[e]=!0)}))}for(var b in d)if(!(b in l))for(var y in f(b))if(y in l){u[b]=!0;break}for(var v in m=u)l[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,r){return function(t,r,n,o){var i=o?o.series:void 0,s=o?o.parallel:e,a={},p={};function c(e){if(e in a)return a[e];p[e]=!0;var o,l=[];for(var d in t(e))d in r&&l.push(d);if(0===l.length)o=n(e);else{var u=s(l.map((function(e){var t=c(e);return delete p[e],t})));i?o=i(u,(function(){return n(e)})):n(e)}return a[e]=o}for(var l in r)c(l);var d=[];for(var u in p)d.push(a[u]);return s(d)}(f,l,t,r)}};return w}}();e.exports=t},86870:(e,t,r)=>{"use strict";var n=r(36701);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,s){if(s!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},23108:(e,t,r)=>{e.exports=r(86870)()},36701:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},86253:(e,t,r)=>{"use strict";var n=r(48318),o=r(75506);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,a={};function p(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(a[e]=t,e=0;e<t.length;e++)s.add(t[e])}var l=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,u=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function g(e,t,r,n,o,i,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,r,n){var o=h.hasOwnProperty(t)?h[t]:null;(null!==o?0!==o.type:n||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,r,n){if(null==t||function(e,t,r,n){if(null!==r&&0===r.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!n&&(null!==r?!r.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,r,n))return!0;if(n)return!1;if(null!==r)switch(r.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,r,o,n)&&(r=null),n||null===o?function(e){return!!d.call(m,e)||!d.call(f,e)&&(u.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===r?e.removeAttribute(t):e.setAttribute(t,""+r)):o.mustUseProperty?e[o.propertyName]=null===r?3!==o.type&&"":r:(t=o.attributeName,n=o.attributeNamespace,null===r?e.removeAttribute(t):(r=3===(o=o.type)||4===o&&!0===r?"":""+r,n?e.setAttributeNS(n,t,r):e.setAttribute(t,r))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,y);h[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,y);h[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,y);h[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=Symbol.for("react.element"),x=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),O=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),W=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),L=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var R=Symbol.iterator;function N(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=R&&e[R]||e["@@iterator"])?e:null}var I,D=Object.assign;function F(e){if(void 0===I)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);I=t&&t[1]||""}return"\n"+I+e}var z=!1;function M(e,t){if(!e||z)return"";z=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var n=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){n=c}e.call(t.prototype)}else{try{throw Error()}catch(c){n=c}e()}}catch(c){if(c&&n&&"string"==typeof c.stack){for(var o=c.stack.split("\n"),i=n.stack.split("\n"),s=o.length-1,a=i.length-1;1<=s&&0<=a&&o[s]!==i[a];)a--;for(;1<=s&&0<=a;s--,a--)if(o[s]!==i[a]){if(1!==s||1!==a)do{if(s--,0>--a||o[s]!==i[a]){var p="\n"+o[s].replace(" at new "," at ");return e.displayName&&p.includes("<anonymous>")&&(p=p.replace("<anonymous>",e.displayName)),p}}while(1<=s&&0<=a);break}}}finally{z=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?F(e):""}function B(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=M(e.type,!1);case 11:return e=M(e.type.render,!1);case 1:return e=M(e.type,!0);default:return""}}function $(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case C:return"Fragment";case x:return"Portal";case O:return"Profiler";case k:return"StrictMode";case T:return"Suspense";case j:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case W:return(e.displayName||"Context")+".Consumer";case _:return(e._context.displayName||"Context")+".Provider";case E:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case A:return null!==(t=e.displayName||null)?t:$(e.type)||"Memo";case L:t=e._payload,e=e._init;try{return $(e(t))}catch(r){}}return null}function U(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function H(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Q(e){e._valueTracker||(e._valueTracker=function(e){var t=H(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==r&&"function"==typeof r.get&&"function"==typeof r.set){var o=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){n=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function V(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=H(e)?e.checked?"true":"false":e.value),(e=n)!==r&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function K(e,t){var r=t.checked;return D({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function Y(e,t){var r=null==t.defaultValue?"":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;r=q(null!=t.value?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){Z(e,t);var r=q(t.value),n=t.type;if(null!=r)"number"===n?(0===r&&""===e.value||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if("submit"===n||"reset"===n)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,r):t.hasOwnProperty("defaultValue")&&ee(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!("submit"!==n&&"reset"!==n||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}""!==(r=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==r&&(e.name=r)}function ee(e,t,r){"number"===t&&G(e.ownerDocument)===e||(null==r?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var te=Array.isArray;function re(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o<r.length;o++)t["$"+r[o]]=!0;for(r=0;r<e.length;r++)o=t.hasOwnProperty("$"+e[r].value),e[r].selected!==o&&(e[r].selected=o),o&&n&&(e[r].defaultSelected=!0)}else{for(r=""+q(r),t=null,o=0;o<e.length;o++){if(e[o].value===r)return e[o].selected=!0,void(n&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function ne(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return D({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var r=t.value;if(null==r){if(r=t.children,t=t.defaultValue,null!=r){if(null!=t)throw Error(i(92));if(te(r)){if(1<r.length)throw Error(i(93));r=r[0]}t=r}null==t&&(t=""),r=t}e._wrapperState={initialValue:q(r)}}function ie(e,t){var r=q(t.value),n=q(t.defaultValue);null!=r&&((r=""+r)!==e.value&&(e.value=r),null==t.defaultValue&&e.defaultValue!==r&&(e.defaultValue=r)),null!=n&&(e.defaultValue=""+n)}function se(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ae(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function pe(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ae(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,le,de=(le=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,r,n){MSApp.execUnsafeLocalFunction((function(){return le(e,t)}))}:le);function ue(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function ge(e,t,r){return null==t||"boolean"==typeof t||""===t?"":r||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function he(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var n=0===r.indexOf("--"),o=ge(r,t[r],n);"float"===r&&(r="cssFloat"),n?e.setProperty(r,o):e[r]=o}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=D({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function Se(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Ce=null,ke=null;function Oe(e){if(e=wo(e)){if("function"!=typeof xe)throw Error(i(280));var t=e.stateNode;t&&(t=xo(t),xe(e.stateNode,e.type,t))}}function _e(e){Ce?ke?ke.push(e):ke=[e]:Ce=e}function We(){if(Ce){var e=Ce,t=ke;if(ke=Ce=null,Oe(e),t)for(e=0;e<t.length;e++)Oe(t[e])}}function Ee(e,t){return e(t)}function Te(){}var je=!1;function Ae(e,t,r){if(je)return e(t,r);je=!0;try{return Ee(e,t,r)}finally{je=!1,(null!==Ce||null!==ke)&&(Te(),We())}}function Le(e,t){var r=e.stateNode;if(null===r)return null;var n=xo(r);if(null===n)return null;r=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(n=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!n;break e;default:e=!1}if(e)return null;if(r&&"function"!=typeof r)throw Error(i(231,t,typeof r));return r}var Pe=!1;if(l)try{var Re={};Object.defineProperty(Re,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Re,Re),window.removeEventListener("test",Re,Re)}catch(le){Pe=!1}function Ne(e,t,r,n,o,i,s,a,p){var c=Array.prototype.slice.call(arguments,3);try{t.apply(r,c)}catch(l){this.onError(l)}}var Ie=!1,De=null,Fe=!1,ze=null,Me={onError:function(e){Ie=!0,De=e}};function Be(e,t,r,n,o,i,s,a,p){Ie=!1,De=null,Ne.apply(Me,arguments)}function $e(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(r=t.return),e=t.return}while(e)}return 3===t.tag?r:null}function Ue(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function qe(e){if($e(e)!==e)throw Error(i(188))}function He(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=$e(e)))throw Error(i(188));return t!==e?null:e}for(var r=e,n=t;;){var o=r.return;if(null===o)break;var s=o.alternate;if(null===s){if(null!==(n=o.return)){r=n;continue}break}if(o.child===s.child){for(s=o.child;s;){if(s===r)return qe(o),e;if(s===n)return qe(o),t;s=s.sibling}throw Error(i(188))}if(r.return!==n.return)r=o,n=s;else{for(var a=!1,p=o.child;p;){if(p===r){a=!0,r=o,n=s;break}if(p===n){a=!0,n=o,r=s;break}p=p.sibling}if(!a){for(p=s.child;p;){if(p===r){a=!0,r=s,n=o;break}if(p===n){a=!0,n=s,r=o;break}p=p.sibling}if(!a)throw Error(i(189))}}if(r.alternate!==n)throw Error(i(190))}if(3!==r.tag)throw Error(i(188));return r.stateNode.current===r?e:t}(e))?Qe(e):null}function Qe(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Qe(e);if(null!==t)return t;e=e.sibling}return null}var Ve=o.unstable_scheduleCallback,Ge=o.unstable_cancelCallback,Ke=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Ze=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,rt=o.unstable_LowPriority,nt=o.unstable_IdlePriority,ot=null,it=null;var st=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(at(e)/pt|0)|0},at=Math.log,pt=Math.LN2;var ct=64,lt=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ut(e,t){var r=e.pendingLanes;if(0===r)return 0;var n=0,o=e.suspendedLanes,i=e.pingedLanes,s=268435455&r;if(0!==s){var a=s&~o;0!==a?n=dt(a):0!==(i&=s)&&(n=dt(i))}else 0!==(s=r&~o)?n=dt(s):0!==i&&(n=dt(i));if(0===n)return 0;if(0!==t&&t!==n&&0==(t&o)&&((o=n&-n)>=(i=t&-t)||16===o&&0!=(4194240&i)))return t;if(0!=(4&n)&&(n|=16&r),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)o=1<<(r=31-st(t)),n|=e[r],t&=~o;return n}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return 0==(4194240&(ct<<=1))&&(ct=64),e}function ht(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function bt(e,t,r){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=r}function yt(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var n=31-st(r),o=1<<n;o&t|e[n]&t&&(e[n]|=t),r&=~o}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var St,xt,Ct,kt,Ot,_t=!1,Wt=[],Et=null,Tt=null,jt=null,At=new Map,Lt=new Map,Pt=[],Rt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Nt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Tt=null;break;case"mouseover":case"mouseout":jt=null;break;case"pointerover":case"pointerout":At.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Lt.delete(t.pointerId)}}function It(e,t,r,n,o,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:r,eventSystemFlags:n,nativeEvent:i,targetContainers:[o]},null!==t&&(null!==(t=wo(t))&&xt(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Dt(e){var t=vo(e.target);if(null!==t){var r=$e(t);if(null!==r)if(13===(t=r.tag)){if(null!==(t=Ue(r)))return e.blockedOn=t,void Ot(e.priority,(function(){Ct(r)}))}else if(3===t&&r.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===r.tag?r.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var r=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r)return null!==(t=wo(r))&&xt(t),e.blockedOn=r,!1;var n=new(r=e.nativeEvent).constructor(r.type,r);we=n,r.target.dispatchEvent(n),we=null,t.shift()}return!0}function zt(e,t,r){Ft(e)&&r.delete(t)}function Mt(){_t=!1,null!==Et&&Ft(Et)&&(Et=null),null!==Tt&&Ft(Tt)&&(Tt=null),null!==jt&&Ft(jt)&&(jt=null),At.forEach(zt),Lt.forEach(zt)}function Bt(e,t){e.blockedOn===t&&(e.blockedOn=null,_t||(_t=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Mt)))}function $t(e){function t(t){return Bt(t,e)}if(0<Wt.length){Bt(Wt[0],e);for(var r=1;r<Wt.length;r++){var n=Wt[r];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==Et&&Bt(Et,e),null!==Tt&&Bt(Tt,e),null!==jt&&Bt(jt,e),At.forEach(t),Lt.forEach(t),r=0;r<Pt.length;r++)(n=Pt[r]).blockedOn===e&&(n.blockedOn=null);for(;0<Pt.length&&null===(r=Pt[0]).blockedOn;)Dt(r),null===r.blockedOn&&Pt.shift()}var Ut=w.ReactCurrentBatchConfig,qt=!0;function Ht(e,t,r,n){var o=vt,i=Ut.transition;Ut.transition=null;try{vt=1,Vt(e,t,r,n)}finally{vt=o,Ut.transition=i}}function Qt(e,t,r,n){var o=vt,i=Ut.transition;Ut.transition=null;try{vt=4,Vt(e,t,r,n)}finally{vt=o,Ut.transition=i}}function Vt(e,t,r,n){if(qt){var o=Kt(e,t,r,n);if(null===o)qn(e,t,n,Gt,r),Nt(e,n);else if(function(e,t,r,n,o){switch(t){case"focusin":return Et=It(Et,e,t,r,n,o),!0;case"dragenter":return Tt=It(Tt,e,t,r,n,o),!0;case"mouseover":return jt=It(jt,e,t,r,n,o),!0;case"pointerover":var i=o.pointerId;return At.set(i,It(At.get(i)||null,e,t,r,n,o)),!0;case"gotpointercapture":return i=o.pointerId,Lt.set(i,It(Lt.get(i)||null,e,t,r,n,o)),!0}return!1}(o,e,t,r,n))n.stopPropagation();else if(Nt(e,n),4&t&&-1<Rt.indexOf(e)){for(;null!==o;){var i=wo(o);if(null!==i&&St(i),null===(i=Kt(e,t,r,n))&&qn(e,t,n,Gt,r),i===o)break;o=i}null!==o&&n.stopPropagation()}else qn(e,t,n,null,r)}}var Gt=null;function Kt(e,t,r,n){if(Gt=null,null!==(e=vo(e=Se(n))))if(null===(t=$e(e)))e=null;else if(13===(r=t.tag)){if(null!==(e=Ue(t)))return e;e=null}else if(3===r){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case rt:return 16;case nt:return 536870912;default:return 16}default:return 16}}var Zt=null,Xt=null,Jt=null;function er(){if(Jt)return Jt;var e,t,r=Xt,n=r.length,o="value"in Zt?Zt.value:Zt.textContent,i=o.length;for(e=0;e<n&&r[e]===o[e];e++);var s=n-e;for(t=1;t<=s&&r[n-t]===o[i-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tr(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function rr(){return!0}function nr(){return!1}function or(e){function t(t,r,n,o,i){for(var s in this._reactName=t,this._targetInst=n,this.type=r,this.nativeEvent=o,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(o):o[s]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?rr:nr,this.isPropagationStopped=nr,this}return D(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=rr)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=rr)},persist:function(){},isPersistent:rr}),t}var ir,sr,ar,pr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},cr=or(pr),lr=D({},pr,{view:0,detail:0}),dr=or(lr),ur=D({},lr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:kr,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ar&&(ar&&"mousemove"===e.type?(ir=e.screenX-ar.screenX,sr=e.screenY-ar.screenY):sr=ir=0,ar=e),ir)},movementY:function(e){return"movementY"in e?e.movementY:sr}}),fr=or(ur),mr=or(D({},ur,{dataTransfer:0})),gr=or(D({},lr,{relatedTarget:0})),hr=or(D({},pr,{animationName:0,elapsedTime:0,pseudoElement:0})),br=D({},pr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yr=or(br),vr=or(D({},pr,{data:0})),wr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sr={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},xr={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Cr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=xr[e])&&!!t[e]}function kr(){return Cr}var Or=D({},lr,{key:function(e){if(e.key){var t=wr[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tr(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sr[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:kr,charCode:function(e){return"keypress"===e.type?tr(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tr(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),_r=or(Or),Wr=or(D({},ur,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Er=or(D({},lr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:kr})),Tr=or(D({},pr,{propertyName:0,elapsedTime:0,pseudoElement:0})),jr=D({},ur,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ar=or(jr),Lr=[9,13,27,32],Pr=l&&"CompositionEvent"in window,Rr=null;l&&"documentMode"in document&&(Rr=document.documentMode);var Nr=l&&"TextEvent"in window&&!Rr,Ir=l&&(!Pr||Rr&&8<Rr&&11>=Rr),Dr=String.fromCharCode(32),Fr=!1;function zr(e,t){switch(e){case"keyup":return-1!==Lr.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Mr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Br=!1;var $r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Ur(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$r[e.type]:"textarea"===t}function qr(e,t,r,n){_e(n),0<(t=Qn(t,"onChange")).length&&(r=new cr("onChange","change",null,r,n),e.push({event:r,listeners:t}))}var Hr=null,Qr=null;function Vr(e){Fn(e,0)}function Gr(e){if(V(So(e)))return e}function Kr(e,t){if("change"===e)return t}var Yr=!1;if(l){var Zr;if(l){var Xr="oninput"in document;if(!Xr){var Jr=document.createElement("div");Jr.setAttribute("oninput","return;"),Xr="function"==typeof Jr.oninput}Zr=Xr}else Zr=!1;Yr=Zr&&(!document.documentMode||9<document.documentMode)}function en(){Hr&&(Hr.detachEvent("onpropertychange",tn),Qr=Hr=null)}function tn(e){if("value"===e.propertyName&&Gr(Qr)){var t=[];qr(t,Qr,e,Se(e)),Ae(Vr,t)}}function rn(e,t,r){"focusin"===e?(en(),Qr=r,(Hr=t).attachEvent("onpropertychange",tn)):"focusout"===e&&en()}function nn(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Gr(Qr)}function on(e,t){if("click"===e)return Gr(t)}function sn(e,t){if("input"===e||"change"===e)return Gr(t)}var an="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function pn(e,t){if(an(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++){var o=r[n];if(!d.call(t,o)||!an(e[o],t[o]))return!1}return!0}function cn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ln(e,t){var r,n=cn(e);for(e=0;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=cn(n)}}function dn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function un(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var r="string"==typeof t.contentWindow.location.href}catch(n){r=!1}if(!r)break;t=G((e=t.contentWindow).document)}return t}function fn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mn(e){var t=un(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&dn(r.ownerDocument.documentElement,r)){if(null!==n&&fn(r))if(t=n.start,void 0===(e=n.end)&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if((e=(t=r.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=r.textContent.length,i=Math.min(n.start,o);n=void 0===n.end?i:Math.min(n.end,o),!e.extend&&i>n&&(o=n,n=i,i=o),o=ln(r,i);var s=ln(r,n);o&&s&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),i>n?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=r;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof r.focus&&r.focus(),r=0;r<t.length;r++)(e=t[r]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gn=l&&"documentMode"in document&&11>=document.documentMode,hn=null,bn=null,yn=null,vn=!1;function wn(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;vn||null==hn||hn!==G(n)||("selectionStart"in(n=hn)&&fn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},yn&&pn(yn,n)||(yn=n,0<(n=Qn(bn,"onSelect")).length&&(t=new cr("onSelect","select",null,t,r),e.push({event:t,listeners:n}),t.target=hn)))}function Sn(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var xn={animationend:Sn("Animation","AnimationEnd"),animationiteration:Sn("Animation","AnimationIteration"),animationstart:Sn("Animation","AnimationStart"),transitionend:Sn("Transition","TransitionEnd")},Cn={},kn={};function On(e){if(Cn[e])return Cn[e];if(!xn[e])return e;var t,r=xn[e];for(t in r)if(r.hasOwnProperty(t)&&t in kn)return Cn[e]=r[t];return e}l&&(kn=document.createElement("div").style,"AnimationEvent"in window||(delete xn.animationend.animation,delete xn.animationiteration.animation,delete xn.animationstart.animation),"TransitionEvent"in window||delete xn.transitionend.transition);var _n=On("animationend"),Wn=On("animationiteration"),En=On("animationstart"),Tn=On("transitionend"),jn=new Map,An="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ln(e,t){jn.set(e,t),p(t,[e])}for(var Pn=0;Pn<An.length;Pn++){var Rn=An[Pn];Ln(Rn.toLowerCase(),"on"+(Rn[0].toUpperCase()+Rn.slice(1)))}Ln(_n,"onAnimationEnd"),Ln(Wn,"onAnimationIteration"),Ln(En,"onAnimationStart"),Ln("dblclick","onDoubleClick"),Ln("focusin","onFocus"),Ln("focusout","onBlur"),Ln(Tn,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),p("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),p("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),p("onBeforeInput",["compositionend","keypress","textInput","paste"]),p("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),p("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Nn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),In=new Set("cancel close invalid load scroll toggle".split(" ").concat(Nn));function Dn(e,t,r){var n=e.type||"unknown-event";e.currentTarget=r,function(e,t,r,n,o,s,a,p,c){if(Be.apply(this,arguments),Ie){if(!Ie)throw Error(i(198));var l=De;Ie=!1,De=null,Fe||(Fe=!0,ze=l)}}(n,t,void 0,e),e.currentTarget=null}function Fn(e,t){t=0!=(4&t);for(var r=0;r<e.length;r++){var n=e[r],o=n.event;n=n.listeners;e:{var i=void 0;if(t)for(var s=n.length-1;0<=s;s--){var a=n[s],p=a.instance,c=a.currentTarget;if(a=a.listener,p!==i&&o.isPropagationStopped())break e;Dn(o,a,c),i=p}else for(s=0;s<n.length;s++){if(p=(a=n[s]).instance,c=a.currentTarget,a=a.listener,p!==i&&o.isPropagationStopped())break e;Dn(o,a,c),i=p}}}if(Fe)throw e=ze,Fe=!1,ze=null,e}function zn(e,t){var r=t[ho];void 0===r&&(r=t[ho]=new Set);var n=e+"__bubble";r.has(n)||(Un(t,e,2,!1),r.add(n))}function Mn(e,t,r){var n=0;t&&(n|=4),Un(r,e,n,t)}var Bn="_reactListening"+Math.random().toString(36).slice(2);function $n(e){if(!e[Bn]){e[Bn]=!0,s.forEach((function(t){"selectionchange"!==t&&(In.has(t)||Mn(t,!1,e),Mn(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Bn]||(t[Bn]=!0,Mn("selectionchange",!1,t))}}function Un(e,t,r,n){switch(Yt(t)){case 1:var o=Ht;break;case 4:o=Qt;break;default:o=Vt}r=o.bind(null,t,r,e),o=void 0,!Pe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),n?void 0!==o?e.addEventListener(t,r,{capture:!0,passive:o}):e.addEventListener(t,r,!0):void 0!==o?e.addEventListener(t,r,{passive:o}):e.addEventListener(t,r,!1)}function qn(e,t,r,n,o){var i=n;if(0==(1&t)&&0==(2&t)&&null!==n)e:for(;;){if(null===n)return;var s=n.tag;if(3===s||4===s){var a=n.stateNode.containerInfo;if(a===o||8===a.nodeType&&a.parentNode===o)break;if(4===s)for(s=n.return;null!==s;){var p=s.tag;if((3===p||4===p)&&((p=s.stateNode.containerInfo)===o||8===p.nodeType&&p.parentNode===o))return;s=s.return}for(;null!==a;){if(null===(s=vo(a)))return;if(5===(p=s.tag)||6===p){n=i=s;continue e}a=a.parentNode}}n=n.return}Ae((function(){var n=i,o=Se(r),s=[];e:{var a=jn.get(e);if(void 0!==a){var p=cr,c=e;switch(e){case"keypress":if(0===tr(r))break e;case"keydown":case"keyup":p=_r;break;case"focusin":c="focus",p=gr;break;case"focusout":c="blur",p=gr;break;case"beforeblur":case"afterblur":p=gr;break;case"click":if(2===r.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=fr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=mr;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=Er;break;case _n:case Wn:case En:p=hr;break;case Tn:p=Tr;break;case"scroll":p=dr;break;case"wheel":p=Ar;break;case"copy":case"cut":case"paste":p=yr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Wr}var l=0!=(4&t),d=!l&&"scroll"===e,u=l?null!==a?a+"Capture":null:a;l=[];for(var f,m=n;null!==m;){var g=(f=m).stateNode;if(5===f.tag&&null!==g&&(f=g,null!==u&&(null!=(g=Le(m,u))&&l.push(Hn(m,g,f)))),d)break;m=m.return}0<l.length&&(a=new p(a,c,null,r,o),s.push({event:a,listeners:l}))}}if(0==(7&t)){if(p="mouseout"===e||"pointerout"===e,(!(a="mouseover"===e||"pointerover"===e)||r===we||!(c=r.relatedTarget||r.fromElement)||!vo(c)&&!c[go])&&(p||a)&&(a=o.window===o?o:(a=o.ownerDocument)?a.defaultView||a.parentWindow:window,p?(p=n,null!==(c=(c=r.relatedTarget||r.toElement)?vo(c):null)&&(c!==(d=$e(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(p=null,c=n),p!==c)){if(l=fr,g="onMouseLeave",u="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(l=Wr,g="onPointerLeave",u="onPointerEnter",m="pointer"),d=null==p?a:So(p),f=null==c?a:So(c),(a=new l(g,m+"leave",p,r,o)).target=d,a.relatedTarget=f,g=null,vo(o)===n&&((l=new l(u,m+"enter",c,r,o)).target=f,l.relatedTarget=d,g=l),d=g,p&&c)e:{for(u=c,m=0,f=l=p;f;f=Vn(f))m++;for(f=0,g=u;g;g=Vn(g))f++;for(;0<m-f;)l=Vn(l),m--;for(;0<f-m;)u=Vn(u),f--;for(;m--;){if(l===u||null!==u&&l===u.alternate)break e;l=Vn(l),u=Vn(u)}l=null}else l=null;null!==p&&Gn(s,a,p,l,!1),null!==c&&null!==d&&Gn(s,d,c,l,!0)}if("select"===(p=(a=n?So(n):window).nodeName&&a.nodeName.toLowerCase())||"input"===p&&"file"===a.type)var h=Kr;else if(Ur(a))if(Yr)h=sn;else{h=nn;var b=rn}else(p=a.nodeName)&&"input"===p.toLowerCase()&&("checkbox"===a.type||"radio"===a.type)&&(h=on);switch(h&&(h=h(e,n))?qr(s,h,r,o):(b&&b(e,a,n),"focusout"===e&&(b=a._wrapperState)&&b.controlled&&"number"===a.type&&ee(a,"number",a.value)),b=n?So(n):window,e){case"focusin":(Ur(b)||"true"===b.contentEditable)&&(hn=b,bn=n,yn=null);break;case"focusout":yn=bn=hn=null;break;case"mousedown":vn=!0;break;case"contextmenu":case"mouseup":case"dragend":vn=!1,wn(s,r,o);break;case"selectionchange":if(gn)break;case"keydown":case"keyup":wn(s,r,o)}var y;if(Pr)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Br?zr(e,r)&&(v="onCompositionEnd"):"keydown"===e&&229===r.keyCode&&(v="onCompositionStart");v&&(Ir&&"ko"!==r.locale&&(Br||"onCompositionStart"!==v?"onCompositionEnd"===v&&Br&&(y=er()):(Xt="value"in(Zt=o)?Zt.value:Zt.textContent,Br=!0)),0<(b=Qn(n,v)).length&&(v=new vr(v,e,null,r,o),s.push({event:v,listeners:b}),y?v.data=y:null!==(y=Mr(r))&&(v.data=y))),(y=Nr?function(e,t){switch(e){case"compositionend":return Mr(t);case"keypress":return 32!==t.which?null:(Fr=!0,Dr);case"textInput":return(e=t.data)===Dr&&Fr?null:e;default:return null}}(e,r):function(e,t){if(Br)return"compositionend"===e||!Pr&&zr(e,t)?(e=er(),Jt=Xt=Zt=null,Br=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Ir&&"ko"!==t.locale?null:t.data}}(e,r))&&(0<(n=Qn(n,"onBeforeInput")).length&&(o=new vr("onBeforeInput","beforeinput",null,r,o),s.push({event:o,listeners:n}),o.data=y))}Fn(s,t)}))}function Hn(e,t,r){return{instance:e,listener:t,currentTarget:r}}function Qn(e,t){for(var r=t+"Capture",n=[];null!==e;){var o=e,i=o.stateNode;5===o.tag&&null!==i&&(o=i,null!=(i=Le(e,r))&&n.unshift(Hn(e,i,o)),null!=(i=Le(e,t))&&n.push(Hn(e,i,o))),e=e.return}return n}function Vn(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gn(e,t,r,n,o){for(var i=t._reactName,s=[];null!==r&&r!==n;){var a=r,p=a.alternate,c=a.stateNode;if(null!==p&&p===n)break;5===a.tag&&null!==c&&(a=c,o?null!=(p=Le(r,i))&&s.unshift(Hn(r,p,a)):o||null!=(p=Le(r,i))&&s.push(Hn(r,p,a))),r=r.return}0!==s.length&&e.push({event:t,listeners:s})}var Kn=/\r\n?/g,Yn=/\u0000|\uFFFD/g;function Zn(e){return("string"==typeof e?e:""+e).replace(Kn,"\n").replace(Yn,"")}function Xn(e,t,r){if(t=Zn(t),Zn(e)!==t&&r)throw Error(i(425))}function Jn(){}var eo=null,to=null;function ro(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var no="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,io="function"==typeof Promise?Promise:void 0,so="function"==typeof queueMicrotask?queueMicrotask:void 0!==io?function(e){return io.resolve(null).then(e).catch(ao)}:no;function ao(e){setTimeout((function(){throw e}))}function po(e,t){var r=t,n=0;do{var o=r.nextSibling;if(e.removeChild(r),o&&8===o.nodeType)if("/$"===(r=o.data)){if(0===n)return e.removeChild(o),void $t(t);n--}else"$"!==r&&"$?"!==r&&"$!"!==r||n++;r=o}while(r);$t(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function lo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var r=e.data;if("$"===r||"$!"===r||"$?"===r){if(0===t)return e;t--}else"/$"===r&&t++}e=e.previousSibling}return null}var uo=Math.random().toString(36).slice(2),fo="__reactFiber$"+uo,mo="__reactProps$"+uo,go="__reactContainer$"+uo,ho="__reactEvents$"+uo,bo="__reactListeners$"+uo,yo="__reactHandles$"+uo;function vo(e){var t=e[fo];if(t)return t;for(var r=e.parentNode;r;){if(t=r[go]||r[fo]){if(r=t.alternate,null!==t.child||null!==r&&null!==r.child)for(e=lo(e);null!==e;){if(r=e[fo])return r;e=lo(e)}return t}r=(e=r).parentNode}return null}function wo(e){return!(e=e[fo]||e[go])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function So(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function xo(e){return e[mo]||null}var Co=[],ko=-1;function Oo(e){return{current:e}}function _o(e){0>ko||(e.current=Co[ko],Co[ko]=null,ko--)}function Wo(e,t){ko++,Co[ko]=e.current,e.current=t}var Eo={},To=Oo(Eo),jo=Oo(!1),Ao=Eo;function Lo(e,t){var r=e.type.contextTypes;if(!r)return Eo;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o,i={};for(o in r)i[o]=t[o];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Po(e){return null!=(e=e.childContextTypes)}function Ro(){_o(jo),_o(To)}function No(e,t,r){if(To.current!==Eo)throw Error(i(168));Wo(To,t),Wo(jo,r)}function Io(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,"function"!=typeof n.getChildContext)return r;for(var o in n=n.getChildContext())if(!(o in t))throw Error(i(108,U(e)||"Unknown",o));return D({},r,n)}function Do(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Eo,Ao=To.current,Wo(To,e),Wo(jo,jo.current),!0}function Fo(e,t,r){var n=e.stateNode;if(!n)throw Error(i(169));r?(e=Io(e,t,Ao),n.__reactInternalMemoizedMergedChildContext=e,_o(jo),_o(To),Wo(To,e)):_o(jo),Wo(jo,r)}var zo=null,Mo=!1,Bo=!1;function $o(e){null===zo?zo=[e]:zo.push(e)}function Uo(){if(!Bo&&null!==zo){Bo=!0;var e=0,t=vt;try{var r=zo;for(vt=1;e<r.length;e++){var n=r[e];do{n=n(!0)}while(null!==n)}zo=null,Mo=!1}catch(o){throw null!==zo&&(zo=zo.slice(e+1)),Ve(Je,Uo),o}finally{vt=t,Bo=!1}}return null}var qo=[],Ho=0,Qo=null,Vo=0,Go=[],Ko=0,Yo=null,Zo=1,Xo="";function Jo(e,t){qo[Ho++]=Vo,qo[Ho++]=Qo,Qo=e,Vo=t}function ei(e,t,r){Go[Ko++]=Zo,Go[Ko++]=Xo,Go[Ko++]=Yo,Yo=e;var n=Zo;e=Xo;var o=32-st(n)-1;n&=~(1<<o),r+=1;var i=32-st(t)+o;if(30<i){var s=o-o%5;i=(n&(1<<s)-1).toString(32),n>>=s,o-=s,Zo=1<<32-st(t)+o|r<<o|n,Xo=i+e}else Zo=1<<i|r<<o|n,Xo=e}function ti(e){null!==e.return&&(Jo(e,1),ei(e,1,0))}function ri(e){for(;e===Qo;)Qo=qo[--Ho],qo[Ho]=null,Vo=qo[--Ho],qo[Ho]=null;for(;e===Yo;)Yo=Go[--Ko],Go[Ko]=null,Xo=Go[--Ko],Go[Ko]=null,Zo=Go[--Ko],Go[Ko]=null}var ni=null,oi=null,ii=!1,si=null;function ai(e,t){var r=Lc(5,null,null,0);r.elementType="DELETED",r.stateNode=t,r.return=e,null===(t=e.deletions)?(e.deletions=[r],e.flags|=16):t.push(r)}function pi(e,t){switch(e.tag){case 5:var r=e.type;return null!==(t=1!==t.nodeType||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ni=e,oi=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ni=e,oi=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(r=null!==Yo?{id:Zo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:r,retryLane:1073741824},(r=Lc(18,null,null,0)).stateNode=t,r.return=e,e.child=r,ni=e,oi=null,!0);default:return!1}}function ci(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function li(e){if(ii){var t=oi;if(t){var r=t;if(!pi(e,t)){if(ci(e))throw Error(i(418));t=co(r.nextSibling);var n=ni;t&&pi(e,t)?ai(n,r):(e.flags=-4097&e.flags|2,ii=!1,ni=e)}}else{if(ci(e))throw Error(i(418));e.flags=-4097&e.flags|2,ii=!1,ni=e}}}function di(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ni=e}function ui(e){if(e!==ni)return!1;if(!ii)return di(e),ii=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ro(e.type,e.memoizedProps)),t&&(t=oi)){if(ci(e))throw fi(),Error(i(418));for(;t;)ai(e,t),t=co(t.nextSibling)}if(di(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var r=e.data;if("/$"===r){if(0===t){oi=co(e.nextSibling);break e}t--}else"$"!==r&&"$!"!==r&&"$?"!==r||t++}e=e.nextSibling}oi=null}}else oi=ni?co(e.stateNode.nextSibling):null;return!0}function fi(){for(var e=oi;e;)e=co(e.nextSibling)}function mi(){oi=ni=null,ii=!1}function gi(e){null===si?si=[e]:si.push(e)}var hi=w.ReactCurrentBatchConfig;function bi(e,t){if(e&&e.defaultProps){for(var r in t=D({},t),e=e.defaultProps)void 0===t[r]&&(t[r]=e[r]);return t}return t}var yi=Oo(null),vi=null,wi=null,Si=null;function xi(){Si=wi=vi=null}function Ci(e){var t=yi.current;_o(yi),e._currentValue=t}function ki(e,t,r){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==n&&(n.childLanes|=t)):null!==n&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function Oi(e,t){vi=e,Si=wi=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(wa=!0),e.firstContext=null)}function _i(e){var t=e._currentValue;if(Si!==e)if(e={context:e,memoizedValue:t,next:null},null===wi){if(null===vi)throw Error(i(308));wi=e,vi.dependencies={lanes:0,firstContext:e}}else wi=wi.next=e;return t}var Wi=null;function Ei(e){null===Wi?Wi=[e]:Wi.push(e)}function Ti(e,t,r,n){var o=t.interleaved;return null===o?(r.next=r,Ei(t)):(r.next=o.next,o.next=r),t.interleaved=r,ji(e,n)}function ji(e,t){e.lanes|=t;var r=e.alternate;for(null!==r&&(r.lanes|=t),r=e,e=e.return;null!==e;)e.childLanes|=t,null!==(r=e.alternate)&&(r.childLanes|=t),r=e,e=e.return;return 3===r.tag?r.stateNode:null}var Ai=!1;function Li(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Pi(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ri(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ni(e,t,r){var n=e.updateQueue;if(null===n)return null;if(n=n.shared,0!=(2&Tp)){var o=n.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),n.pending=t,ji(e,r)}return null===(o=n.interleaved)?(t.next=t,Ei(n)):(t.next=o.next,o.next=t),n.interleaved=t,ji(e,r)}function Ii(e,t,r){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&r))){var n=t.lanes;r|=n&=e.pendingLanes,t.lanes=r,yt(e,r)}}function Di(e,t){var r=e.updateQueue,n=e.alternate;if(null!==n&&r===(n=n.updateQueue)){var o=null,i=null;if(null!==(r=r.firstBaseUpdate)){do{var s={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};null===i?o=i=s:i=i.next=s,r=r.next}while(null!==r);null===i?o=i=t:i=i.next=t}else o=i=t;return r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:n.shared,effects:n.effects},void(e.updateQueue=r)}null===(e=r.lastBaseUpdate)?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Fi(e,t,r,n){var o=e.updateQueue;Ai=!1;var i=o.firstBaseUpdate,s=o.lastBaseUpdate,a=o.shared.pending;if(null!==a){o.shared.pending=null;var p=a,c=p.next;p.next=null,null===s?i=c:s.next=c,s=p;var l=e.alternate;null!==l&&((a=(l=l.updateQueue).lastBaseUpdate)!==s&&(null===a?l.firstBaseUpdate=c:a.next=c,l.lastBaseUpdate=p))}if(null!==i){var d=o.baseState;for(s=0,l=c=p=null,a=i;;){var u=a.lane,f=a.eventTime;if((n&u)===u){null!==l&&(l=l.next={eventTime:f,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var m=e,g=a;switch(u=t,f=r,g.tag){case 1:if("function"==typeof(m=g.payload)){d=m.call(f,d,u);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(u="function"==typeof(m=g.payload)?m.call(f,d,u):m))break e;d=D({},d,u);break e;case 2:Ai=!0}}null!==a.callback&&0!==a.lane&&(e.flags|=64,null===(u=o.effects)?o.effects=[a]:u.push(a))}else f={eventTime:f,lane:u,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===l?(c=l=f,p=d):l=l.next=f,s|=u;if(null===(a=a.next)){if(null===(a=o.shared.pending))break;a=(u=a).next,u.next=null,o.lastBaseUpdate=u,o.shared.pending=null}}if(null===l&&(p=d),o.baseState=p,o.firstBaseUpdate=c,o.lastBaseUpdate=l,null!==(t=o.shared.interleaved)){o=t;do{s|=o.lane,o=o.next}while(o!==t)}else null===i&&(o.shared.lanes=0);Dp|=s,e.lanes=s,e.memoizedState=d}}function zi(e,t,r){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],o=n.callback;if(null!==o){if(n.callback=null,n=r,"function"!=typeof o)throw Error(i(191,o));o.call(n)}}}var Mi=(new n.Component).refs;function Bi(e,t,r,n){r=null==(r=r(n,t=e.memoizedState))?t:D({},t,r),e.memoizedState=r,0===e.lanes&&(e.updateQueue.baseState=r)}var $i={isMounted:function(e){return!!(e=e._reactInternals)&&$e(e)===e},enqueueSetState:function(e,t,r){e=e._reactInternals;var n=tc(),o=rc(e),i=Ri(n,o);i.payload=t,null!=r&&(i.callback=r),null!==(t=Ni(e,i,o))&&(nc(t,e,o,n),Ii(t,e,o))},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var n=tc(),o=rc(e),i=Ri(n,o);i.tag=1,i.payload=t,null!=r&&(i.callback=r),null!==(t=Ni(e,i,o))&&(nc(t,e,o,n),Ii(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=tc(),n=rc(e),o=Ri(r,n);o.tag=2,null!=t&&(o.callback=t),null!==(t=Ni(e,o,n))&&(nc(t,e,n,r),Ii(t,e,n))}};function Ui(e,t,r,n,o,i,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,i,s):!t.prototype||!t.prototype.isPureReactComponent||(!pn(r,n)||!pn(o,i))}function qi(e,t,r){var n=!1,o=Eo,i=t.contextType;return"object"==typeof i&&null!==i?i=_i(i):(o=Po(t)?Ao:To.current,i=(n=null!=(n=t.contextTypes))?Lo(e,o):Eo),t=new t(r,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=$i,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=i),t}function Hi(e,t,r,n){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(r,n),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==e&&$i.enqueueReplaceState(t,t.state,null)}function Qi(e,t,r,n){var o=e.stateNode;o.props=r,o.state=e.memoizedState,o.refs=Mi,Li(e);var i=t.contextType;"object"==typeof i&&null!==i?o.context=_i(i):(i=Po(t)?Ao:To.current,o.context=Lo(e,i)),o.state=e.memoizedState,"function"==typeof(i=t.getDerivedStateFromProps)&&(Bi(e,t,i,r),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&$i.enqueueReplaceState(o,o.state,null),Fi(e,r,o,n),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function Vi(e,t,r){if(null!==(e=r.ref)&&"function"!=typeof e&&"object"!=typeof e){if(r._owner){if(r=r._owner){if(1!==r.tag)throw Error(i(309));var n=r.stateNode}if(!n)throw Error(i(147,e));var o=n,s=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===s?t.ref:(t=function(e){var t=o.refs;t===Mi&&(t=o.refs={}),null===e?delete t[s]:t[s]=e},t._stringRef=s,t)}if("string"!=typeof e)throw Error(i(284));if(!r._owner)throw Error(i(290,e))}return e}function Gi(e,t){throw e=Object.prototype.toString.call(t),Error(i(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Ki(e){return(0,e._init)(e._payload)}function Yi(e){function t(t,r){if(e){var n=t.deletions;null===n?(t.deletions=[r],t.flags|=16):n.push(r)}}function r(r,n){if(!e)return null;for(;null!==n;)t(r,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Rc(e,t)).index=0,e.sibling=null,e}function s(t,r,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<r?(t.flags|=2,r):n:(t.flags|=2,r):(t.flags|=1048576,r)}function a(t){return e&&null===t.alternate&&(t.flags|=2),t}function p(e,t,r,n){return null===t||6!==t.tag?((t=Fc(r,e.mode,n)).return=e,t):((t=o(t,r)).return=e,t)}function c(e,t,r,n){var i=r.type;return i===C?d(e,t,r.props.children,n,r.key):null!==t&&(t.elementType===i||"object"==typeof i&&null!==i&&i.$$typeof===L&&Ki(i)===t.type)?((n=o(t,r.props)).ref=Vi(e,t,r),n.return=e,n):((n=Nc(r.type,r.key,r.props,null,e.mode,n)).ref=Vi(e,t,r),n.return=e,n)}function l(e,t,r,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==r.containerInfo||t.stateNode.implementation!==r.implementation?((t=zc(r,e.mode,n)).return=e,t):((t=o(t,r.children||[])).return=e,t)}function d(e,t,r,n,i){return null===t||7!==t.tag?((t=Ic(r,e.mode,n,i)).return=e,t):((t=o(t,r)).return=e,t)}function u(e,t,r){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Fc(""+t,e.mode,r)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case S:return(r=Nc(t.type,t.key,t.props,null,e.mode,r)).ref=Vi(e,null,t),r.return=e,r;case x:return(t=zc(t,e.mode,r)).return=e,t;case L:return u(e,(0,t._init)(t._payload),r)}if(te(t)||N(t))return(t=Ic(t,e.mode,r,null)).return=e,t;Gi(e,t)}return null}function f(e,t,r,n){var o=null!==t?t.key:null;if("string"==typeof r&&""!==r||"number"==typeof r)return null!==o?null:p(e,t,""+r,n);if("object"==typeof r&&null!==r){switch(r.$$typeof){case S:return r.key===o?c(e,t,r,n):null;case x:return r.key===o?l(e,t,r,n):null;case L:return f(e,t,(o=r._init)(r._payload),n)}if(te(r)||N(r))return null!==o?null:d(e,t,r,n,null);Gi(e,r)}return null}function m(e,t,r,n,o){if("string"==typeof n&&""!==n||"number"==typeof n)return p(t,e=e.get(r)||null,""+n,o);if("object"==typeof n&&null!==n){switch(n.$$typeof){case S:return c(t,e=e.get(null===n.key?r:n.key)||null,n,o);case x:return l(t,e=e.get(null===n.key?r:n.key)||null,n,o);case L:return m(e,t,r,(0,n._init)(n._payload),o)}if(te(n)||N(n))return d(t,e=e.get(r)||null,n,o,null);Gi(t,n)}return null}function g(o,i,a,p){for(var c=null,l=null,d=i,g=i=0,h=null;null!==d&&g<a.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var b=f(o,d,a[g],p);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(o,d),i=s(b,i,g),null===l?c=b:l.sibling=b,l=b,d=h}if(g===a.length)return r(o,d),ii&&Jo(o,g),c;if(null===d){for(;g<a.length;g++)null!==(d=u(o,a[g],p))&&(i=s(d,i,g),null===l?c=d:l.sibling=d,l=d);return ii&&Jo(o,g),c}for(d=n(o,d);g<a.length;g++)null!==(h=m(d,o,g,a[g],p))&&(e&&null!==h.alternate&&d.delete(null===h.key?g:h.key),i=s(h,i,g),null===l?c=h:l.sibling=h,l=h);return e&&d.forEach((function(e){return t(o,e)})),ii&&Jo(o,g),c}function h(o,a,p,c){var l=N(p);if("function"!=typeof l)throw Error(i(150));if(null==(p=l.call(p)))throw Error(i(151));for(var d=l=null,g=a,h=a=0,b=null,y=p.next();null!==g&&!y.done;h++,y=p.next()){g.index>h?(b=g,g=null):b=g.sibling;var v=f(o,g,y.value,c);if(null===v){null===g&&(g=b);break}e&&g&&null===v.alternate&&t(o,g),a=s(v,a,h),null===d?l=v:d.sibling=v,d=v,g=b}if(y.done)return r(o,g),ii&&Jo(o,h),l;if(null===g){for(;!y.done;h++,y=p.next())null!==(y=u(o,y.value,c))&&(a=s(y,a,h),null===d?l=y:d.sibling=y,d=y);return ii&&Jo(o,h),l}for(g=n(o,g);!y.done;h++,y=p.next())null!==(y=m(g,o,h,y.value,c))&&(e&&null!==y.alternate&&g.delete(null===y.key?h:y.key),a=s(y,a,h),null===d?l=y:d.sibling=y,d=y);return e&&g.forEach((function(e){return t(o,e)})),ii&&Jo(o,h),l}return function e(n,i,s,p){if("object"==typeof s&&null!==s&&s.type===C&&null===s.key&&(s=s.props.children),"object"==typeof s&&null!==s){switch(s.$$typeof){case S:e:{for(var c=s.key,l=i;null!==l;){if(l.key===c){if((c=s.type)===C){if(7===l.tag){r(n,l.sibling),(i=o(l,s.props.children)).return=n,n=i;break e}}else if(l.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===L&&Ki(c)===l.type){r(n,l.sibling),(i=o(l,s.props)).ref=Vi(n,l,s),i.return=n,n=i;break e}r(n,l);break}t(n,l),l=l.sibling}s.type===C?((i=Ic(s.props.children,n.mode,p,s.key)).return=n,n=i):((p=Nc(s.type,s.key,s.props,null,n.mode,p)).ref=Vi(n,i,s),p.return=n,n=p)}return a(n);case x:e:{for(l=s.key;null!==i;){if(i.key===l){if(4===i.tag&&i.stateNode.containerInfo===s.containerInfo&&i.stateNode.implementation===s.implementation){r(n,i.sibling),(i=o(i,s.children||[])).return=n,n=i;break e}r(n,i);break}t(n,i),i=i.sibling}(i=zc(s,n.mode,p)).return=n,n=i}return a(n);case L:return e(n,i,(l=s._init)(s._payload),p)}if(te(s))return g(n,i,s,p);if(N(s))return h(n,i,s,p);Gi(n,s)}return"string"==typeof s&&""!==s||"number"==typeof s?(s=""+s,null!==i&&6===i.tag?(r(n,i.sibling),(i=o(i,s)).return=n,n=i):(r(n,i),(i=Fc(s,n.mode,p)).return=n,n=i),a(n)):r(n,i)}}var Zi=Yi(!0),Xi=Yi(!1),Ji={},es=Oo(Ji),ts=Oo(Ji),rs=Oo(Ji);function ns(e){if(e===Ji)throw Error(i(174));return e}function os(e,t){switch(Wo(rs,t),Wo(ts,e),Wo(es,Ji),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pe(null,"");break;default:t=pe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}_o(es),Wo(es,t)}function is(){_o(es),_o(ts),_o(rs)}function ss(e){ns(rs.current);var t=ns(es.current),r=pe(t,e.type);t!==r&&(Wo(ts,e),Wo(es,r))}function as(e){ts.current===e&&(_o(es),_o(ts))}var ps=Oo(0);function cs(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||"$?"===r.data||"$!"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ls=[];function ds(){for(var e=0;e<ls.length;e++)ls[e]._workInProgressVersionPrimary=null;ls.length=0}var us=w.ReactCurrentDispatcher,fs=w.ReactCurrentBatchConfig,ms=0,gs=null,hs=null,bs=null,ys=!1,vs=!1,ws=0,Ss=0;function xs(){throw Error(i(321))}function Cs(e,t){if(null===t)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!an(e[r],t[r]))return!1;return!0}function ks(e,t,r,n,o,s){if(ms=s,gs=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,us.current=null===e||null===e.memoizedState?aa:pa,e=r(n,o),vs){s=0;do{if(vs=!1,ws=0,25<=s)throw Error(i(301));s+=1,bs=hs=null,t.updateQueue=null,us.current=ca,e=r(n,o)}while(vs)}if(us.current=sa,t=null!==hs&&null!==hs.next,ms=0,bs=hs=gs=null,ys=!1,t)throw Error(i(300));return e}function Os(){var e=0!==ws;return ws=0,e}function _s(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===bs?gs.memoizedState=bs=e:bs=bs.next=e,bs}function Ws(){if(null===hs){var e=gs.alternate;e=null!==e?e.memoizedState:null}else e=hs.next;var t=null===bs?gs.memoizedState:bs.next;if(null!==t)bs=t,hs=e;else{if(null===e)throw Error(i(310));e={memoizedState:(hs=e).memoizedState,baseState:hs.baseState,baseQueue:hs.baseQueue,queue:hs.queue,next:null},null===bs?gs.memoizedState=bs=e:bs=bs.next=e}return bs}function Es(e,t){return"function"==typeof t?t(e):t}function Ts(e){var t=Ws(),r=t.queue;if(null===r)throw Error(i(311));r.lastRenderedReducer=e;var n=hs,o=n.baseQueue,s=r.pending;if(null!==s){if(null!==o){var a=o.next;o.next=s.next,s.next=a}n.baseQueue=o=s,r.pending=null}if(null!==o){s=o.next,n=n.baseState;var p=a=null,c=null,l=s;do{var d=l.lane;if((ms&d)===d)null!==c&&(c=c.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),n=l.hasEagerState?l.eagerState:e(n,l.action);else{var u={lane:d,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null};null===c?(p=c=u,a=n):c=c.next=u,gs.lanes|=d,Dp|=d}l=l.next}while(null!==l&&l!==s);null===c?a=n:c.next=p,an(n,t.memoizedState)||(wa=!0),t.memoizedState=n,t.baseState=a,t.baseQueue=c,r.lastRenderedState=n}if(null!==(e=r.interleaved)){o=e;do{s=o.lane,gs.lanes|=s,Dp|=s,o=o.next}while(o!==e)}else null===o&&(r.lanes=0);return[t.memoizedState,r.dispatch]}function js(e){var t=Ws(),r=t.queue;if(null===r)throw Error(i(311));r.lastRenderedReducer=e;var n=r.dispatch,o=r.pending,s=t.memoizedState;if(null!==o){r.pending=null;var a=o=o.next;do{s=e(s,a.action),a=a.next}while(a!==o);an(s,t.memoizedState)||(wa=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),r.lastRenderedState=s}return[s,n]}function As(){}function Ls(e,t){var r=gs,n=Ws(),o=t(),s=!an(n.memoizedState,o);if(s&&(n.memoizedState=o,wa=!0),n=n.queue,qs(Ns.bind(null,r,n,e),[e]),n.getSnapshot!==t||s||null!==bs&&1&bs.memoizedState.tag){if(r.flags|=2048,zs(9,Rs.bind(null,r,n,o,t),void 0,null),null===jp)throw Error(i(349));0!=(30&ms)||Ps(r,t,o)}return o}function Ps(e,t,r){e.flags|=16384,e={getSnapshot:t,value:r},null===(t=gs.updateQueue)?(t={lastEffect:null,stores:null},gs.updateQueue=t,t.stores=[e]):null===(r=t.stores)?t.stores=[e]:r.push(e)}function Rs(e,t,r,n){t.value=r,t.getSnapshot=n,Is(t)&&Ds(e)}function Ns(e,t,r){return r((function(){Is(t)&&Ds(e)}))}function Is(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!an(e,r)}catch(n){return!0}}function Ds(e){var t=ji(e,1);null!==t&&nc(t,e,1,-1)}function Fs(e){var t=_s();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Es,lastRenderedState:e},t.queue=e,e=e.dispatch=ra.bind(null,gs,e),[t.memoizedState,e]}function zs(e,t,r,n){return e={tag:e,create:t,destroy:r,deps:n,next:null},null===(t=gs.updateQueue)?(t={lastEffect:null,stores:null},gs.updateQueue=t,t.lastEffect=e.next=e):null===(r=t.lastEffect)?t.lastEffect=e.next=e:(n=r.next,r.next=e,e.next=n,t.lastEffect=e),e}function Ms(){return Ws().memoizedState}function Bs(e,t,r,n){var o=_s();gs.flags|=e,o.memoizedState=zs(1|t,r,void 0,void 0===n?null:n)}function $s(e,t,r,n){var o=Ws();n=void 0===n?null:n;var i=void 0;if(null!==hs){var s=hs.memoizedState;if(i=s.destroy,null!==n&&Cs(n,s.deps))return void(o.memoizedState=zs(t,r,i,n))}gs.flags|=e,o.memoizedState=zs(1|t,r,i,n)}function Us(e,t){return Bs(8390656,8,e,t)}function qs(e,t){return $s(2048,8,e,t)}function Hs(e,t){return $s(4,2,e,t)}function Qs(e,t){return $s(4,4,e,t)}function Vs(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Gs(e,t,r){return r=null!=r?r.concat([e]):null,$s(4,4,Vs.bind(null,t,e),r)}function Ks(){}function Ys(e,t){var r=Ws();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&Cs(t,n[1])?n[0]:(r.memoizedState=[e,t],e)}function Zs(e,t){var r=Ws();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&Cs(t,n[1])?n[0]:(e=e(),r.memoizedState=[e,t],e)}function Xs(e,t,r){return 0==(21&ms)?(e.baseState&&(e.baseState=!1,wa=!0),e.memoizedState=r):(an(r,t)||(r=gt(),gs.lanes|=r,Dp|=r,e.baseState=!0),t)}function Js(e,t){var r=vt;vt=0!==r&&4>r?r:4,e(!0);var n=fs.transition;fs.transition={};try{e(!1),t()}finally{vt=r,fs.transition=n}}function ea(){return Ws().memoizedState}function ta(e,t,r){var n=rc(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},na(e))oa(t,r);else if(null!==(r=Ti(e,t,r,n))){nc(r,e,n,tc()),ia(r,t,n)}}function ra(e,t,r){var n=rc(e),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(na(e))oa(t,o);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var s=t.lastRenderedState,a=i(s,r);if(o.hasEagerState=!0,o.eagerState=a,an(a,s)){var p=t.interleaved;return null===p?(o.next=o,Ei(t)):(o.next=p.next,p.next=o),void(t.interleaved=o)}}catch(c){}null!==(r=Ti(e,t,o,n))&&(nc(r,e,n,o=tc()),ia(r,t,n))}}function na(e){var t=e.alternate;return e===gs||null!==t&&t===gs}function oa(e,t){vs=ys=!0;var r=e.pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function ia(e,t,r){if(0!=(4194240&r)){var n=t.lanes;r|=n&=e.pendingLanes,t.lanes=r,yt(e,r)}}var sa={readContext:_i,useCallback:xs,useContext:xs,useEffect:xs,useImperativeHandle:xs,useInsertionEffect:xs,useLayoutEffect:xs,useMemo:xs,useReducer:xs,useRef:xs,useState:xs,useDebugValue:xs,useDeferredValue:xs,useTransition:xs,useMutableSource:xs,useSyncExternalStore:xs,useId:xs,unstable_isNewReconciler:!1},aa={readContext:_i,useCallback:function(e,t){return _s().memoizedState=[e,void 0===t?null:t],e},useContext:_i,useEffect:Us,useImperativeHandle:function(e,t,r){return r=null!=r?r.concat([e]):null,Bs(4194308,4,Vs.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Bs(4194308,4,e,t)},useInsertionEffect:function(e,t){return Bs(4,2,e,t)},useMemo:function(e,t){var r=_s();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=_s();return t=void 0!==r?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=ta.bind(null,gs,e),[n.memoizedState,e]},useRef:function(e){return e={current:e},_s().memoizedState=e},useState:Fs,useDebugValue:Ks,useDeferredValue:function(e){return _s().memoizedState=e},useTransition:function(){var e=Fs(!1),t=e[0];return e=Js.bind(null,e[1]),_s().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=gs,o=_s();if(ii){if(void 0===r)throw Error(i(407));r=r()}else{if(r=t(),null===jp)throw Error(i(349));0!=(30&ms)||Ps(n,t,r)}o.memoizedState=r;var s={value:r,getSnapshot:t};return o.queue=s,Us(Ns.bind(null,n,s,e),[e]),n.flags|=2048,zs(9,Rs.bind(null,n,s,r,t),void 0,null),r},useId:function(){var e=_s(),t=jp.identifierPrefix;if(ii){var r=Xo;t=":"+t+"R"+(r=(Zo&~(1<<32-st(Zo)-1)).toString(32)+r),0<(r=ws++)&&(t+="H"+r.toString(32)),t+=":"}else t=":"+t+"r"+(r=Ss++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},pa={readContext:_i,useCallback:Ys,useContext:_i,useEffect:qs,useImperativeHandle:Gs,useInsertionEffect:Hs,useLayoutEffect:Qs,useMemo:Zs,useReducer:Ts,useRef:Ms,useState:function(){return Ts(Es)},useDebugValue:Ks,useDeferredValue:function(e){return Xs(Ws(),hs.memoizedState,e)},useTransition:function(){return[Ts(Es)[0],Ws().memoizedState]},useMutableSource:As,useSyncExternalStore:Ls,useId:ea,unstable_isNewReconciler:!1},ca={readContext:_i,useCallback:Ys,useContext:_i,useEffect:qs,useImperativeHandle:Gs,useInsertionEffect:Hs,useLayoutEffect:Qs,useMemo:Zs,useReducer:js,useRef:Ms,useState:function(){return js(Es)},useDebugValue:Ks,useDeferredValue:function(e){var t=Ws();return null===hs?t.memoizedState=e:Xs(t,hs.memoizedState,e)},useTransition:function(){return[js(Es)[0],Ws().memoizedState]},useMutableSource:As,useSyncExternalStore:Ls,useId:ea,unstable_isNewReconciler:!1};function la(e,t){try{var r="",n=t;do{r+=B(n),n=n.return}while(n);var o=r}catch(i){o="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:o,digest:null}}function da(e,t,r){return{value:e,source:null,stack:null!=r?r:null,digest:null!=t?t:null}}function ua(e,t){try{console.error(t.value)}catch(r){setTimeout((function(){throw r}))}}var fa="function"==typeof WeakMap?WeakMap:Map;function ma(e,t,r){(r=Ri(-1,r)).tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){Hp||(Hp=!0,Qp=n),ua(0,t)},r}function ga(e,t,r){(r=Ri(-1,r)).tag=3;var n=e.type.getDerivedStateFromError;if("function"==typeof n){var o=t.value;r.payload=function(){return n(o)},r.callback=function(){ua(0,t)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(r.callback=function(){ua(0,t),"function"!=typeof n&&(null===Vp?Vp=new Set([this]):Vp.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),r}function ha(e,t,r){var n=e.pingCache;if(null===n){n=e.pingCache=new fa;var o=new Set;n.set(t,o)}else void 0===(o=n.get(t))&&(o=new Set,n.set(t,o));o.has(r)||(o.add(r),e=_c.bind(null,e,t,r),t.then(e,e))}function ba(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ya(e,t,r,n,o){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,1===r.tag&&(null===r.alternate?r.tag=17:((t=Ri(-1,1)).tag=2,Ni(r,t,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var va=w.ReactCurrentOwner,wa=!1;function Sa(e,t,r,n){t.child=null===e?Xi(t,null,r,n):Zi(t,e.child,r,n)}function xa(e,t,r,n,o){r=r.render;var i=t.ref;return Oi(t,o),n=ks(e,t,r,n,i,o),r=Os(),null===e||wa?(ii&&r&&ti(t),t.flags|=1,Sa(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Ha(e,t,o))}function Ca(e,t,r,n,o){if(null===e){var i=r.type;return"function"!=typeof i||Pc(i)||void 0!==i.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=Nc(r.type,null,n,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,ka(e,t,i,n,o))}if(i=e.child,0==(e.lanes&o)){var s=i.memoizedProps;if((r=null!==(r=r.compare)?r:pn)(s,n)&&e.ref===t.ref)return Ha(e,t,o)}return t.flags|=1,(e=Rc(i,n)).ref=t.ref,e.return=t,t.child=e}function ka(e,t,r,n,o){if(null!==e){var i=e.memoizedProps;if(pn(i,n)&&e.ref===t.ref){if(wa=!1,t.pendingProps=n=i,0==(e.lanes&o))return t.lanes=e.lanes,Ha(e,t,o);0!=(131072&e.flags)&&(wa=!0)}}return Wa(e,t,r,n,o)}function Oa(e,t,r){var n=t.pendingProps,o=n.children,i=null!==e?e.memoizedState:null;if("hidden"===n.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Wo(Rp,Pp),Pp|=r;else{if(0==(1073741824&r))return e=null!==i?i.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Wo(Rp,Pp),Pp|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=null!==i?i.baseLanes:r,Wo(Rp,Pp),Pp|=n}else null!==i?(n=i.baseLanes|r,t.memoizedState=null):n=r,Wo(Rp,Pp),Pp|=n;return Sa(e,t,o,r),t.child}function _a(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function Wa(e,t,r,n,o){var i=Po(r)?Ao:To.current;return i=Lo(t,i),Oi(t,o),r=ks(e,t,r,n,i,o),n=Os(),null===e||wa?(ii&&n&&ti(t),t.flags|=1,Sa(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Ha(e,t,o))}function Ea(e,t,r,n,o){if(Po(r)){var i=!0;Do(t)}else i=!1;if(Oi(t,o),null===t.stateNode)qa(e,t),qi(t,r,n),Qi(t,r,n,o),n=!0;else if(null===e){var s=t.stateNode,a=t.memoizedProps;s.props=a;var p=s.context,c=r.contextType;"object"==typeof c&&null!==c?c=_i(c):c=Lo(t,c=Po(r)?Ao:To.current);var l=r.getDerivedStateFromProps,d="function"==typeof l||"function"==typeof s.getSnapshotBeforeUpdate;d||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(a!==n||p!==c)&&Hi(t,s,n,c),Ai=!1;var u=t.memoizedState;s.state=u,Fi(t,n,s,o),p=t.memoizedState,a!==n||u!==p||jo.current||Ai?("function"==typeof l&&(Bi(t,r,l,n),p=t.memoizedState),(a=Ai||Ui(t,r,a,n,u,p,c))?(d||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4194308)):("function"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=p),s.props=n,s.state=p,s.context=c,n=a):("function"==typeof s.componentDidMount&&(t.flags|=4194308),n=!1)}else{s=t.stateNode,Pi(e,t),a=t.memoizedProps,c=t.type===t.elementType?a:bi(t.type,a),s.props=c,d=t.pendingProps,u=s.context,"object"==typeof(p=r.contextType)&&null!==p?p=_i(p):p=Lo(t,p=Po(r)?Ao:To.current);var f=r.getDerivedStateFromProps;(l="function"==typeof f||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(a!==d||u!==p)&&Hi(t,s,n,p),Ai=!1,u=t.memoizedState,s.state=u,Fi(t,n,s,o);var m=t.memoizedState;a!==d||u!==m||jo.current||Ai?("function"==typeof f&&(Bi(t,r,f,n),m=t.memoizedState),(c=Ai||Ui(t,r,c,n,u,m,p)||!1)?(l||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(n,m,p),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(n,m,p)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof s.componentDidUpdate||a===e.memoizedProps&&u===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&u===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=m),s.props=n,s.state=m,s.context=p,n=c):("function"!=typeof s.componentDidUpdate||a===e.memoizedProps&&u===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&u===e.memoizedState||(t.flags|=1024),n=!1)}return Ta(e,t,r,n,i,o)}function Ta(e,t,r,n,o,i){_a(e,t);var s=0!=(128&t.flags);if(!n&&!s)return o&&Fo(t,r,!1),Ha(e,t,i);n=t.stateNode,va.current=t;var a=s&&"function"!=typeof r.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&s?(t.child=Zi(t,e.child,null,i),t.child=Zi(t,null,a,i)):Sa(e,t,a,i),t.memoizedState=n.state,o&&Fo(t,r,!0),t.child}function ja(e){var t=e.stateNode;t.pendingContext?No(0,t.pendingContext,t.pendingContext!==t.context):t.context&&No(0,t.context,!1),os(e,t.containerInfo)}function Aa(e,t,r,n,o){return mi(),gi(o),t.flags|=256,Sa(e,t,r,n),t.child}var La,Pa,Ra,Na,Ia={dehydrated:null,treeContext:null,retryLane:0};function Da(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fa(e,t,r){var n,o=t.pendingProps,s=ps.current,a=!1,p=0!=(128&t.flags);if((n=p)||(n=(null===e||null!==e.memoizedState)&&0!=(2&s)),n?(a=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),Wo(ps,1&s),null===e)return li(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(p=o.children,e=o.fallback,a?(o=t.mode,a=t.child,p={mode:"hidden",children:p},0==(1&o)&&null!==a?(a.childLanes=0,a.pendingProps=p):a=Dc(p,o,0,null),e=Ic(e,o,r,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Da(r),t.memoizedState=Ia,e):za(t,p));if(null!==(s=e.memoizedState)&&null!==(n=s.dehydrated))return function(e,t,r,n,o,s,a){if(r)return 256&t.flags?(t.flags&=-257,Ma(e,t,a,n=da(Error(i(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=n.fallback,o=t.mode,n=Dc({mode:"visible",children:n.children},o,0,null),(s=Ic(s,o,a,null)).flags|=2,n.return=t,s.return=t,n.sibling=s,t.child=n,0!=(1&t.mode)&&Zi(t,e.child,null,a),t.child.memoizedState=Da(a),t.memoizedState=Ia,s);if(0==(1&t.mode))return Ma(e,t,a,null);if("$!"===o.data){if(n=o.nextSibling&&o.nextSibling.dataset)var p=n.dgst;return n=p,Ma(e,t,a,n=da(s=Error(i(419)),n,void 0))}if(p=0!=(a&e.childLanes),wa||p){if(null!==(n=jp)){switch(a&-a){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!=(o&(n.suspendedLanes|a))?0:o)&&o!==s.retryLane&&(s.retryLane=o,ji(e,o),nc(n,e,o,-1))}return hc(),Ma(e,t,a,n=da(Error(i(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Ec.bind(null,e),o._reactRetry=t,null):(e=s.treeContext,oi=co(o.nextSibling),ni=t,ii=!0,si=null,null!==e&&(Go[Ko++]=Zo,Go[Ko++]=Xo,Go[Ko++]=Yo,Zo=e.id,Xo=e.overflow,Yo=t),t=za(t,n.children),t.flags|=4096,t)}(e,t,p,o,n,s,r);if(a){a=o.fallback,p=t.mode,n=(s=e.child).sibling;var c={mode:"hidden",children:o.children};return 0==(1&p)&&t.child!==s?((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null):(o=Rc(s,c)).subtreeFlags=14680064&s.subtreeFlags,null!==n?a=Rc(n,a):(a=Ic(a,p,r,null)).flags|=2,a.return=t,o.return=t,o.sibling=a,t.child=o,o=a,a=t.child,p=null===(p=e.child.memoizedState)?Da(r):{baseLanes:p.baseLanes|r,cachePool:null,transitions:p.transitions},a.memoizedState=p,a.childLanes=e.childLanes&~r,t.memoizedState=Ia,o}return e=(a=e.child).sibling,o=Rc(a,{mode:"visible",children:o.children}),0==(1&t.mode)&&(o.lanes=r),o.return=t,o.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=o,t.memoizedState=null,o}function za(e,t){return(t=Dc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Ma(e,t,r,n){return null!==n&&gi(n),Zi(t,e.child,null,r),(e=za(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Ba(e,t,r){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ki(e.return,t,r)}function $a(e,t,r,n,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=n,i.tail=r,i.tailMode=o)}function Ua(e,t,r){var n=t.pendingProps,o=n.revealOrder,i=n.tail;if(Sa(e,t,n.children,r),0!=(2&(n=ps.current)))n=1&n|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Ba(e,r,t);else if(19===e.tag)Ba(e,r,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(Wo(ps,n),0==(1&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(r=t.child,o=null;null!==r;)null!==(e=r.alternate)&&null===cs(e)&&(o=r),r=r.sibling;null===(r=o)?(o=t.child,t.child=null):(o=r.sibling,r.sibling=null),$a(t,!1,o,r,i);break;case"backwards":for(r=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===cs(e)){t.child=o;break}e=o.sibling,o.sibling=r,r=o,o=e}$a(t,!0,r,null,i);break;case"together":$a(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function qa(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ha(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Dp|=t.lanes,0==(r&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(r=Rc(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=Rc(e,e.pendingProps)).return=t;r.sibling=null}return t.child}function Qa(e,t){if(!ii)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var n=null;null!==r;)null!==r.alternate&&(n=r),r=r.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Va(e){var t=null!==e.alternate&&e.alternate.child===e.child,r=0,n=0;if(t)for(var o=e.child;null!==o;)r|=o.lanes|o.childLanes,n|=14680064&o.subtreeFlags,n|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)r|=o.lanes|o.childLanes,n|=o.subtreeFlags,n|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=n,e.childLanes=r,t}function Ga(e,t,r){var n=t.pendingProps;switch(ri(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Va(t),null;case 1:case 17:return Po(t.type)&&Ro(),Va(t),null;case 3:return n=t.stateNode,is(),_o(jo),_o(To),ds(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(ui(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==si&&(ac(si),si=null))),Pa(e,t),Va(t),null;case 5:as(t);var o=ns(rs.current);if(r=t.type,null!==e&&null!=t.stateNode)Ra(e,t,r,n,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!n){if(null===t.stateNode)throw Error(i(166));return Va(t),null}if(e=ns(es.current),ui(t)){n=t.stateNode,r=t.type;var s=t.memoizedProps;switch(n[fo]=t,n[mo]=s,e=0!=(1&t.mode),r){case"dialog":zn("cancel",n),zn("close",n);break;case"iframe":case"object":case"embed":zn("load",n);break;case"video":case"audio":for(o=0;o<Nn.length;o++)zn(Nn[o],n);break;case"source":zn("error",n);break;case"img":case"image":case"link":zn("error",n),zn("load",n);break;case"details":zn("toggle",n);break;case"input":Y(n,s),zn("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!s.multiple},zn("invalid",n);break;case"textarea":oe(n,s),zn("invalid",n)}for(var p in ye(r,s),o=null,s)if(s.hasOwnProperty(p)){var c=s[p];"children"===p?"string"==typeof c?n.textContent!==c&&(!0!==s.suppressHydrationWarning&&Xn(n.textContent,c,e),o=["children",c]):"number"==typeof c&&n.textContent!==""+c&&(!0!==s.suppressHydrationWarning&&Xn(n.textContent,c,e),o=["children",""+c]):a.hasOwnProperty(p)&&null!=c&&"onScroll"===p&&zn("scroll",n)}switch(r){case"input":Q(n),J(n,s,!0);break;case"textarea":Q(n),se(n);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(n.onclick=Jn)}n=o,t.updateQueue=n,null!==n&&(t.flags|=4)}else{p=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ae(r)),"http://www.w3.org/1999/xhtml"===e?"script"===r?((e=p.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof n.is?e=p.createElement(r,{is:n.is}):(e=p.createElement(r),"select"===r&&(p=e,n.multiple?p.multiple=!0:n.size&&(p.size=n.size))):e=p.createElementNS(e,r),e[fo]=t,e[mo]=n,La(e,t,!1,!1),t.stateNode=e;e:{switch(p=ve(r,n),r){case"dialog":zn("cancel",e),zn("close",e),o=n;break;case"iframe":case"object":case"embed":zn("load",e),o=n;break;case"video":case"audio":for(o=0;o<Nn.length;o++)zn(Nn[o],e);o=n;break;case"source":zn("error",e),o=n;break;case"img":case"image":case"link":zn("error",e),zn("load",e),o=n;break;case"details":zn("toggle",e),o=n;break;case"input":Y(e,n),o=K(e,n),zn("invalid",e);break;case"option":default:o=n;break;case"select":e._wrapperState={wasMultiple:!!n.multiple},o=D({},n,{value:void 0}),zn("invalid",e);break;case"textarea":oe(e,n),o=ne(e,n),zn("invalid",e)}for(s in ye(r,o),c=o)if(c.hasOwnProperty(s)){var l=c[s];"style"===s?he(e,l):"dangerouslySetInnerHTML"===s?null!=(l=l?l.__html:void 0)&&de(e,l):"children"===s?"string"==typeof l?("textarea"!==r||""!==l)&&ue(e,l):"number"==typeof l&&ue(e,""+l):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(a.hasOwnProperty(s)?null!=l&&"onScroll"===s&&zn("scroll",e):null!=l&&v(e,s,l,p))}switch(r){case"input":Q(e),J(e,n,!1);break;case"textarea":Q(e),se(e);break;case"option":null!=n.value&&e.setAttribute("value",""+q(n.value));break;case"select":e.multiple=!!n.multiple,null!=(s=n.value)?re(e,!!n.multiple,s,!1):null!=n.defaultValue&&re(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Jn)}switch(r){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Va(t),null;case 6:if(e&&null!=t.stateNode)Na(e,t,e.memoizedProps,n);else{if("string"!=typeof n&&null===t.stateNode)throw Error(i(166));if(r=ns(rs.current),ns(es.current),ui(t)){if(n=t.stateNode,r=t.memoizedProps,n[fo]=t,(s=n.nodeValue!==r)&&null!==(e=ni))switch(e.tag){case 3:Xn(n.nodeValue,r,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xn(n.nodeValue,r,0!=(1&e.mode))}s&&(t.flags|=4)}else(n=(9===r.nodeType?r:r.ownerDocument).createTextNode(n))[fo]=t,t.stateNode=n}return Va(t),null;case 13:if(_o(ps),n=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ii&&null!==oi&&0!=(1&t.mode)&&0==(128&t.flags))fi(),mi(),t.flags|=98560,s=!1;else if(s=ui(t),null!==n&&null!==n.dehydrated){if(null===e){if(!s)throw Error(i(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(i(317));s[fo]=t}else mi(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Va(t),s=!1}else null!==si&&(ac(si),si=null),s=!0;if(!s)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=r,t):((n=null!==n)!==(null!==e&&null!==e.memoizedState)&&n&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&ps.current)?0===Np&&(Np=3):hc())),null!==t.updateQueue&&(t.flags|=4),Va(t),null);case 4:return is(),Pa(e,t),null===e&&$n(t.stateNode.containerInfo),Va(t),null;case 10:return Ci(t.type._context),Va(t),null;case 19:if(_o(ps),null===(s=t.memoizedState))return Va(t),null;if(n=0!=(128&t.flags),null===(p=s.rendering))if(n)Qa(s,!1);else{if(0!==Np||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(p=cs(e))){for(t.flags|=128,Qa(s,!1),null!==(n=p.updateQueue)&&(t.updateQueue=n,t.flags|=4),t.subtreeFlags=0,n=r,r=t.child;null!==r;)e=n,(s=r).flags&=14680066,null===(p=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=p.childLanes,s.lanes=p.lanes,s.child=p.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=p.memoizedProps,s.memoizedState=p.memoizedState,s.updateQueue=p.updateQueue,s.type=p.type,e=p.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return Wo(ps,1&ps.current|2),t.child}e=e.sibling}null!==s.tail&&Ze()>Up&&(t.flags|=128,n=!0,Qa(s,!1),t.lanes=4194304)}else{if(!n)if(null!==(e=cs(p))){if(t.flags|=128,n=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),Qa(s,!0),null===s.tail&&"hidden"===s.tailMode&&!p.alternate&&!ii)return Va(t),null}else 2*Ze()-s.renderingStartTime>Up&&1073741824!==r&&(t.flags|=128,n=!0,Qa(s,!1),t.lanes=4194304);s.isBackwards?(p.sibling=t.child,t.child=p):(null!==(r=s.last)?r.sibling=p:t.child=p,s.last=p)}return null!==s.tail?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Ze(),t.sibling=null,r=ps.current,Wo(ps,n?1&r|2:1&r),t):(Va(t),null);case 22:case 23:return uc(),n=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==n&&(t.flags|=8192),n&&0!=(1&t.mode)?0!=(1073741824&Pp)&&(Va(t),6&t.subtreeFlags&&(t.flags|=8192)):Va(t),null;case 24:case 25:return null}throw Error(i(156,t.tag))}function Ka(e,t){switch(ri(t),t.tag){case 1:return Po(t.type)&&Ro(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return is(),_o(jo),_o(To),ds(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return as(t),null;case 13:if(_o(ps),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));mi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return _o(ps),null;case 4:return is(),null;case 10:return Ci(t.type._context),null;case 22:case 23:return uc(),null;default:return null}}La=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Pa=function(){},Ra=function(e,t,r,n){var o=e.memoizedProps;if(o!==n){e=t.stateNode,ns(es.current);var i,s=null;switch(r){case"input":o=K(e,o),n=K(e,n),s=[];break;case"select":o=D({},o,{value:void 0}),n=D({},n,{value:void 0}),s=[];break;case"textarea":o=ne(e,o),n=ne(e,n),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof n.onClick&&(e.onclick=Jn)}for(l in ye(r,n),r=null,o)if(!n.hasOwnProperty(l)&&o.hasOwnProperty(l)&&null!=o[l])if("style"===l){var p=o[l];for(i in p)p.hasOwnProperty(i)&&(r||(r={}),r[i]="")}else"dangerouslySetInnerHTML"!==l&&"children"!==l&&"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(a.hasOwnProperty(l)?s||(s=[]):(s=s||[]).push(l,null));for(l in n){var c=n[l];if(p=null!=o?o[l]:void 0,n.hasOwnProperty(l)&&c!==p&&(null!=c||null!=p))if("style"===l)if(p){for(i in p)!p.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(r||(r={}),r[i]="");for(i in c)c.hasOwnProperty(i)&&p[i]!==c[i]&&(r||(r={}),r[i]=c[i])}else r||(s||(s=[]),s.push(l,r)),r=c;else"dangerouslySetInnerHTML"===l?(c=c?c.__html:void 0,p=p?p.__html:void 0,null!=c&&p!==c&&(s=s||[]).push(l,c)):"children"===l?"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(l,""+c):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&(a.hasOwnProperty(l)?(null!=c&&"onScroll"===l&&zn("scroll",e),s||p===c||(s=[])):(s=s||[]).push(l,c))}r&&(s=s||[]).push("style",r);var l=s;(t.updateQueue=l)&&(t.flags|=4)}},Na=function(e,t,r,n){r!==n&&(t.flags|=4)};var Ya=!1,Za=!1,Xa="function"==typeof WeakSet?WeakSet:Set,Ja=null;function ep(e,t){var r=e.ref;if(null!==r)if("function"==typeof r)try{r(null)}catch(n){Oc(e,t,n)}else r.current=null}function tp(e,t,r){try{r()}catch(n){Oc(e,t,n)}}var rp=!1;function np(e,t,r){var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var o=n=n.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,void 0!==i&&tp(t,r,i)}o=o.next}while(o!==n)}}function op(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function ip(e){var t=e.ref;if(null!==t){var r=e.stateNode;e.tag,e=r,"function"==typeof t?t(e):t.current=e}}function sp(e){var t=e.alternate;null!==t&&(e.alternate=null,sp(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fo],delete t[mo],delete t[ho],delete t[bo],delete t[yo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ap(e){return 5===e.tag||3===e.tag||4===e.tag}function pp(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ap(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cp(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!=(r=r._reactRootContainer)||null!==t.onclick||(t.onclick=Jn));else if(4!==n&&null!==(e=e.child))for(cp(e,t,r),e=e.sibling;null!==e;)cp(e,t,r),e=e.sibling}function lp(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&null!==(e=e.child))for(lp(e,t,r),e=e.sibling;null!==e;)lp(e,t,r),e=e.sibling}var dp=null,up=!1;function fp(e,t,r){for(r=r.child;null!==r;)mp(e,t,r),r=r.sibling}function mp(e,t,r){if(it&&"function"==typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(ot,r)}catch(a){}switch(r.tag){case 5:Za||ep(r,t);case 6:var n=dp,o=up;dp=null,fp(e,t,r),up=o,null!==(dp=n)&&(up?(e=dp,r=r.stateNode,8===e.nodeType?e.parentNode.removeChild(r):e.removeChild(r)):dp.removeChild(r.stateNode));break;case 18:null!==dp&&(up?(e=dp,r=r.stateNode,8===e.nodeType?po(e.parentNode,r):1===e.nodeType&&po(e,r),$t(e)):po(dp,r.stateNode));break;case 4:n=dp,o=up,dp=r.stateNode.containerInfo,up=!0,fp(e,t,r),dp=n,up=o;break;case 0:case 11:case 14:case 15:if(!Za&&(null!==(n=r.updateQueue)&&null!==(n=n.lastEffect))){o=n=n.next;do{var i=o,s=i.destroy;i=i.tag,void 0!==s&&(0!=(2&i)||0!=(4&i))&&tp(r,t,s),o=o.next}while(o!==n)}fp(e,t,r);break;case 1:if(!Za&&(ep(r,t),"function"==typeof(n=r.stateNode).componentWillUnmount))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(a){Oc(r,t,a)}fp(e,t,r);break;case 21:fp(e,t,r);break;case 22:1&r.mode?(Za=(n=Za)||null!==r.memoizedState,fp(e,t,r),Za=n):fp(e,t,r);break;default:fp(e,t,r)}}function gp(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new Xa),t.forEach((function(t){var n=Tc.bind(null,e,t);r.has(t)||(r.add(t),t.then(n,n))}))}}function hp(e,t){var r=t.deletions;if(null!==r)for(var n=0;n<r.length;n++){var o=r[n];try{var s=e,a=t,p=a;e:for(;null!==p;){switch(p.tag){case 5:dp=p.stateNode,up=!1;break e;case 3:case 4:dp=p.stateNode.containerInfo,up=!0;break e}p=p.return}if(null===dp)throw Error(i(160));mp(s,a,o),dp=null,up=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(l){Oc(o,t,l)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)bp(t,e),t=t.sibling}function bp(e,t){var r=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hp(t,e),yp(e),4&n){try{np(3,e,e.return),op(3,e)}catch(h){Oc(e,e.return,h)}try{np(5,e,e.return)}catch(h){Oc(e,e.return,h)}}break;case 1:hp(t,e),yp(e),512&n&&null!==r&&ep(r,r.return);break;case 5:if(hp(t,e),yp(e),512&n&&null!==r&&ep(r,r.return),32&e.flags){var o=e.stateNode;try{ue(o,"")}catch(h){Oc(e,e.return,h)}}if(4&n&&null!=(o=e.stateNode)){var s=e.memoizedProps,a=null!==r?r.memoizedProps:s,p=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===p&&"radio"===s.type&&null!=s.name&&Z(o,s),ve(p,a);var l=ve(p,s);for(a=0;a<c.length;a+=2){var d=c[a],u=c[a+1];"style"===d?he(o,u):"dangerouslySetInnerHTML"===d?de(o,u):"children"===d?ue(o,u):v(o,d,u,l)}switch(p){case"input":X(o,s);break;case"textarea":ie(o,s);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!s.multiple;var m=s.value;null!=m?re(o,!!s.multiple,m,!1):f!==!!s.multiple&&(null!=s.defaultValue?re(o,!!s.multiple,s.defaultValue,!0):re(o,!!s.multiple,s.multiple?[]:"",!1))}o[mo]=s}catch(h){Oc(e,e.return,h)}}break;case 6:if(hp(t,e),yp(e),4&n){if(null===e.stateNode)throw Error(i(162));o=e.stateNode,s=e.memoizedProps;try{o.nodeValue=s}catch(h){Oc(e,e.return,h)}}break;case 3:if(hp(t,e),yp(e),4&n&&null!==r&&r.memoizedState.isDehydrated)try{$t(t.containerInfo)}catch(h){Oc(e,e.return,h)}break;case 4:default:hp(t,e),yp(e);break;case 13:hp(t,e),yp(e),8192&(o=e.child).flags&&(s=null!==o.memoizedState,o.stateNode.isHidden=s,!s||null!==o.alternate&&null!==o.alternate.memoizedState||($p=Ze())),4&n&&gp(e);break;case 22:if(d=null!==r&&null!==r.memoizedState,1&e.mode?(Za=(l=Za)||d,hp(t,e),Za=l):hp(t,e),yp(e),8192&n){if(l=null!==e.memoizedState,(e.stateNode.isHidden=l)&&!d&&0!=(1&e.mode))for(Ja=e,d=e.child;null!==d;){for(u=Ja=d;null!==Ja;){switch(m=(f=Ja).child,f.tag){case 0:case 11:case 14:case 15:np(4,f,f.return);break;case 1:ep(f,f.return);var g=f.stateNode;if("function"==typeof g.componentWillUnmount){n=f,r=f.return;try{t=n,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(h){Oc(n,r,h)}}break;case 5:ep(f,f.return);break;case 22:if(null!==f.memoizedState){xp(u);continue}}null!==m?(m.return=f,Ja=m):xp(u)}d=d.sibling}e:for(d=null,u=e;;){if(5===u.tag){if(null===d){d=u;try{o=u.stateNode,l?"function"==typeof(s=o.style).setProperty?s.setProperty("display","none","important"):s.display="none":(p=u.stateNode,a=null!=(c=u.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,p.style.display=ge("display",a))}catch(h){Oc(e,e.return,h)}}}else if(6===u.tag){if(null===d)try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(h){Oc(e,e.return,h)}}else if((22!==u.tag&&23!==u.tag||null===u.memoizedState||u===e)&&null!==u.child){u.child.return=u,u=u.child;continue}if(u===e)break e;for(;null===u.sibling;){if(null===u.return||u.return===e)break e;d===u&&(d=null),u=u.return}d===u&&(d=null),u.sibling.return=u.return,u=u.sibling}}break;case 19:hp(t,e),yp(e),4&n&&gp(e);case 21:}}function yp(e){var t=e.flags;if(2&t){try{e:{for(var r=e.return;null!==r;){if(ap(r)){var n=r;break e}r=r.return}throw Error(i(160))}switch(n.tag){case 5:var o=n.stateNode;32&n.flags&&(ue(o,""),n.flags&=-33),lp(e,pp(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;cp(e,pp(e),s);break;default:throw Error(i(161))}}catch(a){Oc(e,e.return,a)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vp(e,t,r){Ja=e,wp(e,t,r)}function wp(e,t,r){for(var n=0!=(1&e.mode);null!==Ja;){var o=Ja,i=o.child;if(22===o.tag&&n){var s=null!==o.memoizedState||Ya;if(!s){var a=o.alternate,p=null!==a&&null!==a.memoizedState||Za;a=Ya;var c=Za;if(Ya=s,(Za=p)&&!c)for(Ja=o;null!==Ja;)p=(s=Ja).child,22===s.tag&&null!==s.memoizedState?Cp(o):null!==p?(p.return=s,Ja=p):Cp(o);for(;null!==i;)Ja=i,wp(i,t,r),i=i.sibling;Ja=o,Ya=a,Za=c}Sp(e)}else 0!=(8772&o.subtreeFlags)&&null!==i?(i.return=o,Ja=i):Sp(e)}}function Sp(e){for(;null!==Ja;){var t=Ja;if(0!=(8772&t.flags)){var r=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Za||op(5,t);break;case 1:var n=t.stateNode;if(4&t.flags&&!Za)if(null===r)n.componentDidMount();else{var o=t.elementType===t.type?r.memoizedProps:bi(t.type,r.memoizedProps);n.componentDidUpdate(o,r.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;null!==s&&zi(t,s,n);break;case 3:var a=t.updateQueue;if(null!==a){if(r=null,null!==t.child)switch(t.child.tag){case 5:case 1:r=t.child.stateNode}zi(t,a,r)}break;case 5:var p=t.stateNode;if(null===r&&4&t.flags){r=p;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&r.focus();break;case"img":c.src&&(r.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var l=t.alternate;if(null!==l){var d=l.memoizedState;if(null!==d){var u=d.dehydrated;null!==u&&$t(u)}}}break;default:throw Error(i(163))}Za||512&t.flags&&ip(t)}catch(f){Oc(t,t.return,f)}}if(t===e){Ja=null;break}if(null!==(r=t.sibling)){r.return=t.return,Ja=r;break}Ja=t.return}}function xp(e){for(;null!==Ja;){var t=Ja;if(t===e){Ja=null;break}var r=t.sibling;if(null!==r){r.return=t.return,Ja=r;break}Ja=t.return}}function Cp(e){for(;null!==Ja;){var t=Ja;try{switch(t.tag){case 0:case 11:case 15:var r=t.return;try{op(4,t)}catch(p){Oc(t,r,p)}break;case 1:var n=t.stateNode;if("function"==typeof n.componentDidMount){var o=t.return;try{n.componentDidMount()}catch(p){Oc(t,o,p)}}var i=t.return;try{ip(t)}catch(p){Oc(t,i,p)}break;case 5:var s=t.return;try{ip(t)}catch(p){Oc(t,s,p)}}}catch(p){Oc(t,t.return,p)}if(t===e){Ja=null;break}var a=t.sibling;if(null!==a){a.return=t.return,Ja=a;break}Ja=t.return}}var kp,Op=Math.ceil,_p=w.ReactCurrentDispatcher,Wp=w.ReactCurrentOwner,Ep=w.ReactCurrentBatchConfig,Tp=0,jp=null,Ap=null,Lp=0,Pp=0,Rp=Oo(0),Np=0,Ip=null,Dp=0,Fp=0,zp=0,Mp=null,Bp=null,$p=0,Up=1/0,qp=null,Hp=!1,Qp=null,Vp=null,Gp=!1,Kp=null,Yp=0,Zp=0,Xp=null,Jp=-1,ec=0;function tc(){return 0!=(6&Tp)?Ze():-1!==Jp?Jp:Jp=Ze()}function rc(e){return 0==(1&e.mode)?1:0!=(2&Tp)&&0!==Lp?Lp&-Lp:null!==hi.transition?(0===ec&&(ec=gt()),ec):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type)}function nc(e,t,r,n){if(50<Zp)throw Zp=0,Xp=null,Error(i(185));bt(e,r,n),0!=(2&Tp)&&e===jp||(e===jp&&(0==(2&Tp)&&(Fp|=r),4===Np&&pc(e,Lp)),oc(e,n),1===r&&0===Tp&&0==(1&t.mode)&&(Up=Ze()+500,Mo&&Uo()))}function oc(e,t){var r=e.callbackNode;!function(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,o=e.expirationTimes,i=e.pendingLanes;0<i;){var s=31-st(i),a=1<<s,p=o[s];-1===p?0!=(a&r)&&0==(a&n)||(o[s]=ft(a,t)):p<=t&&(e.expiredLanes|=a),i&=~a}}(e,t);var n=ut(e,e===jp?Lp:0);if(0===n)null!==r&&Ge(r),e.callbackNode=null,e.callbackPriority=0;else if(t=n&-n,e.callbackPriority!==t){if(null!=r&&Ge(r),1===t)0===e.tag?function(e){Mo=!0,$o(e)}(cc.bind(null,e)):$o(cc.bind(null,e)),so((function(){0==(6&Tp)&&Uo()})),r=null;else{switch(wt(n)){case 1:r=Je;break;case 4:r=et;break;case 16:default:r=tt;break;case 536870912:r=nt}r=jc(r,ic.bind(null,e))}e.callbackPriority=t,e.callbackNode=r}}function ic(e,t){if(Jp=-1,ec=0,0!=(6&Tp))throw Error(i(327));var r=e.callbackNode;if(Cc()&&e.callbackNode!==r)return null;var n=ut(e,e===jp?Lp:0);if(0===n)return null;if(0!=(30&n)||0!=(n&e.expiredLanes)||t)t=bc(e,n);else{t=n;var o=Tp;Tp|=2;var s=gc();for(jp===e&&Lp===t||(qp=null,Up=Ze()+500,fc(e,t));;)try{vc();break}catch(p){mc(e,p)}xi(),_p.current=s,Tp=o,null!==Ap?t=0:(jp=null,Lp=0,t=Np)}if(0!==t){if(2===t&&(0!==(o=mt(e))&&(n=o,t=sc(e,o))),1===t)throw r=Ip,fc(e,0),pc(e,n),oc(e,Ze()),r;if(6===t)pc(e,n);else{if(o=e.current.alternate,0==(30&n)&&!function(e){for(var t=e;;){if(16384&t.flags){var r=t.updateQueue;if(null!==r&&null!==(r=r.stores))for(var n=0;n<r.length;n++){var o=r[n],i=o.getSnapshot;o=o.value;try{if(!an(i(),o))return!1}catch(a){return!1}}}if(r=t.child,16384&t.subtreeFlags&&null!==r)r.return=t,t=r;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)&&(2===(t=bc(e,n))&&(0!==(s=mt(e))&&(n=s,t=sc(e,s))),1===t))throw r=Ip,fc(e,0),pc(e,n),oc(e,Ze()),r;switch(e.finishedWork=o,e.finishedLanes=n,t){case 0:case 1:throw Error(i(345));case 2:case 5:xc(e,Bp,qp);break;case 3:if(pc(e,n),(130023424&n)===n&&10<(t=$p+500-Ze())){if(0!==ut(e,0))break;if(((o=e.suspendedLanes)&n)!==n){tc(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=no(xc.bind(null,e,Bp,qp),t);break}xc(e,Bp,qp);break;case 4:if(pc(e,n),(4194240&n)===n)break;for(t=e.eventTimes,o=-1;0<n;){var a=31-st(n);s=1<<a,(a=t[a])>o&&(o=a),n&=~s}if(n=o,10<(n=(120>(n=Ze()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Op(n/1960))-n)){e.timeoutHandle=no(xc.bind(null,e,Bp,qp),n);break}xc(e,Bp,qp);break;default:throw Error(i(329))}}}return oc(e,Ze()),e.callbackNode===r?ic.bind(null,e):null}function sc(e,t){var r=Mp;return e.current.memoizedState.isDehydrated&&(fc(e,t).flags|=256),2!==(e=bc(e,t))&&(t=Bp,Bp=r,null!==t&&ac(t)),e}function ac(e){null===Bp?Bp=e:Bp.push.apply(Bp,e)}function pc(e,t){for(t&=~zp,t&=~Fp,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-st(t),n=1<<r;e[r]=-1,t&=~n}}function cc(e){if(0!=(6&Tp))throw Error(i(327));Cc();var t=ut(e,0);if(0==(1&t))return oc(e,Ze()),null;var r=bc(e,t);if(0!==e.tag&&2===r){var n=mt(e);0!==n&&(t=n,r=sc(e,n))}if(1===r)throw r=Ip,fc(e,0),pc(e,t),oc(e,Ze()),r;if(6===r)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xc(e,Bp,qp),oc(e,Ze()),null}function lc(e,t){var r=Tp;Tp|=1;try{return e(t)}finally{0===(Tp=r)&&(Up=Ze()+500,Mo&&Uo())}}function dc(e){null!==Kp&&0===Kp.tag&&0==(6&Tp)&&Cc();var t=Tp;Tp|=1;var r=Ep.transition,n=vt;try{if(Ep.transition=null,vt=1,e)return e()}finally{vt=n,Ep.transition=r,0==(6&(Tp=t))&&Uo()}}function uc(){Pp=Rp.current,_o(Rp)}function fc(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(-1!==r&&(e.timeoutHandle=-1,oo(r)),null!==Ap)for(r=Ap.return;null!==r;){var n=r;switch(ri(n),n.tag){case 1:null!=(n=n.type.childContextTypes)&&Ro();break;case 3:is(),_o(jo),_o(To),ds();break;case 5:as(n);break;case 4:is();break;case 13:case 19:_o(ps);break;case 10:Ci(n.type._context);break;case 22:case 23:uc()}r=r.return}if(jp=e,Ap=e=Rc(e.current,null),Lp=Pp=t,Np=0,Ip=null,zp=Fp=Dp=0,Bp=Mp=null,null!==Wi){for(t=0;t<Wi.length;t++)if(null!==(n=(r=Wi[t]).interleaved)){r.interleaved=null;var o=n.next,i=r.pending;if(null!==i){var s=i.next;i.next=o,n.next=s}r.pending=n}Wi=null}return e}function mc(e,t){for(;;){var r=Ap;try{if(xi(),us.current=sa,ys){for(var n=gs.memoizedState;null!==n;){var o=n.queue;null!==o&&(o.pending=null),n=n.next}ys=!1}if(ms=0,bs=hs=gs=null,vs=!1,ws=0,Wp.current=null,null===r||null===r.return){Np=1,Ip=t,Ap=null;break}e:{var s=e,a=r.return,p=r,c=t;if(t=Lp,p.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var l=c,d=p,u=d.tag;if(0==(1&d.mode)&&(0===u||11===u||15===u)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=ba(a);if(null!==m){m.flags&=-257,ya(m,a,p,0,t),1&m.mode&&ha(s,l,t),c=l;var g=(t=m).updateQueue;if(null===g){var h=new Set;h.add(c),t.updateQueue=h}else g.add(c);break e}if(0==(1&t)){ha(s,l,t),hc();break e}c=Error(i(426))}else if(ii&&1&p.mode){var b=ba(a);if(null!==b){0==(65536&b.flags)&&(b.flags|=256),ya(b,a,p,0,t),gi(la(c,p));break e}}s=c=la(c,p),4!==Np&&(Np=2),null===Mp?Mp=[s]:Mp.push(s),s=a;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t,Di(s,ma(0,c,t));break e;case 1:p=c;var y=s.type,v=s.stateNode;if(0==(128&s.flags)&&("function"==typeof y.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===Vp||!Vp.has(v)))){s.flags|=65536,t&=-t,s.lanes|=t,Di(s,ga(s,p,t));break e}}s=s.return}while(null!==s)}Sc(r)}catch(w){t=w,Ap===r&&null!==r&&(Ap=r=r.return);continue}break}}function gc(){var e=_p.current;return _p.current=sa,null===e?sa:e}function hc(){0!==Np&&3!==Np&&2!==Np||(Np=4),null===jp||0==(268435455&Dp)&&0==(268435455&Fp)||pc(jp,Lp)}function bc(e,t){var r=Tp;Tp|=2;var n=gc();for(jp===e&&Lp===t||(qp=null,fc(e,t));;)try{yc();break}catch(o){mc(e,o)}if(xi(),Tp=r,_p.current=n,null!==Ap)throw Error(i(261));return jp=null,Lp=0,Np}function yc(){for(;null!==Ap;)wc(Ap)}function vc(){for(;null!==Ap&&!Ke();)wc(Ap)}function wc(e){var t=kp(e.alternate,e,Pp);e.memoizedProps=e.pendingProps,null===t?Sc(e):Ap=t,Wp.current=null}function Sc(e){var t=e;do{var r=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(r=Ga(r,t,Pp)))return void(Ap=r)}else{if(null!==(r=Ka(r,t)))return r.flags&=32767,void(Ap=r);if(null===e)return Np=6,void(Ap=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Ap=t);Ap=t=e}while(null!==t);0===Np&&(Np=5)}function xc(e,t,r){var n=vt,o=Ep.transition;try{Ep.transition=null,vt=1,function(e,t,r,n){do{Cc()}while(null!==Kp);if(0!=(6&Tp))throw Error(i(327));r=e.finishedWork;var o=e.finishedLanes;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var s=r.lanes|r.childLanes;if(function(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0<r;){var o=31-st(r),i=1<<o;t[o]=0,n[o]=-1,e[o]=-1,r&=~i}}(e,s),e===jp&&(Ap=jp=null,Lp=0),0==(2064&r.subtreeFlags)&&0==(2064&r.flags)||Gp||(Gp=!0,jc(tt,(function(){return Cc(),null}))),s=0!=(15990&r.flags),0!=(15990&r.subtreeFlags)||s){s=Ep.transition,Ep.transition=null;var a=vt;vt=1;var p=Tp;Tp|=4,Wp.current=null,function(e,t){if(eo=qt,fn(e=un())){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{var n=(r=(r=e.ownerDocument)&&r.defaultView||window).getSelection&&r.getSelection();if(n&&0!==n.rangeCount){r=n.anchorNode;var o=n.anchorOffset,s=n.focusNode;n=n.focusOffset;try{r.nodeType,s.nodeType}catch(S){r=null;break e}var a=0,p=-1,c=-1,l=0,d=0,u=e,f=null;t:for(;;){for(var m;u!==r||0!==o&&3!==u.nodeType||(p=a+o),u!==s||0!==n&&3!==u.nodeType||(c=a+n),3===u.nodeType&&(a+=u.nodeValue.length),null!==(m=u.firstChild);)f=u,u=m;for(;;){if(u===e)break t;if(f===r&&++l===o&&(p=a),f===s&&++d===n&&(c=a),null!==(m=u.nextSibling))break;f=(u=f).parentNode}u=m}r=-1===p||-1===c?null:{start:p,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(to={focusedElem:e,selectionRange:r},qt=!1,Ja=t;null!==Ja;)if(e=(t=Ja).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Ja=e;else for(;null!==Ja;){t=Ja;try{var g=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var h=g.memoizedProps,b=g.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?h:bi(t.type,h),b);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(i(163))}}catch(S){Oc(t,t.return,S)}if(null!==(e=t.sibling)){e.return=t.return,Ja=e;break}Ja=t.return}g=rp,rp=!1}(e,r),bp(r,e),mn(to),qt=!!eo,to=eo=null,e.current=r,vp(r,e,o),Ye(),Tp=p,vt=a,Ep.transition=s}else e.current=r;if(Gp&&(Gp=!1,Kp=e,Yp=o),s=e.pendingLanes,0===s&&(Vp=null),function(e){if(it&&"function"==typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(ot,e,void 0,128==(128&e.current.flags))}catch(t){}}(r.stateNode),oc(e,Ze()),null!==t)for(n=e.onRecoverableError,r=0;r<t.length;r++)o=t[r],n(o.value,{componentStack:o.stack,digest:o.digest});if(Hp)throw Hp=!1,e=Qp,Qp=null,e;0!=(1&Yp)&&0!==e.tag&&Cc(),s=e.pendingLanes,0!=(1&s)?e===Xp?Zp++:(Zp=0,Xp=e):Zp=0,Uo()}(e,t,r,n)}finally{Ep.transition=o,vt=n}return null}function Cc(){if(null!==Kp){var e=wt(Yp),t=Ep.transition,r=vt;try{if(Ep.transition=null,vt=16>e?16:e,null===Kp)var n=!1;else{if(e=Kp,Kp=null,Yp=0,0!=(6&Tp))throw Error(i(331));var o=Tp;for(Tp|=4,Ja=e.current;null!==Ja;){var s=Ja,a=s.child;if(0!=(16&Ja.flags)){var p=s.deletions;if(null!==p){for(var c=0;c<p.length;c++){var l=p[c];for(Ja=l;null!==Ja;){var d=Ja;switch(d.tag){case 0:case 11:case 15:np(8,d,s)}var u=d.child;if(null!==u)u.return=d,Ja=u;else for(;null!==Ja;){var f=(d=Ja).sibling,m=d.return;if(sp(d),d===l){Ja=null;break}if(null!==f){f.return=m,Ja=f;break}Ja=m}}}var g=s.alternate;if(null!==g){var h=g.child;if(null!==h){g.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}Ja=s}}if(0!=(2064&s.subtreeFlags)&&null!==a)a.return=s,Ja=a;else e:for(;null!==Ja;){if(0!=(2048&(s=Ja).flags))switch(s.tag){case 0:case 11:case 15:np(9,s,s.return)}var y=s.sibling;if(null!==y){y.return=s.return,Ja=y;break e}Ja=s.return}}var v=e.current;for(Ja=v;null!==Ja;){var w=(a=Ja).child;if(0!=(2064&a.subtreeFlags)&&null!==w)w.return=a,Ja=w;else e:for(a=v;null!==Ja;){if(0!=(2048&(p=Ja).flags))try{switch(p.tag){case 0:case 11:case 15:op(9,p)}}catch(x){Oc(p,p.return,x)}if(p===a){Ja=null;break e}var S=p.sibling;if(null!==S){S.return=p.return,Ja=S;break e}Ja=p.return}}if(Tp=o,Uo(),it&&"function"==typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(ot,e)}catch(x){}n=!0}return n}finally{vt=r,Ep.transition=t}}return!1}function kc(e,t,r){e=Ni(e,t=ma(0,t=la(r,t),1),1),t=tc(),null!==e&&(bt(e,1,t),oc(e,t))}function Oc(e,t,r){if(3===e.tag)kc(e,e,r);else for(;null!==t;){if(3===t.tag){kc(t,e,r);break}if(1===t.tag){var n=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof n.componentDidCatch&&(null===Vp||!Vp.has(n))){t=Ni(t,e=ga(t,e=la(r,e),1),1),e=tc(),null!==t&&(bt(t,1,e),oc(t,e));break}}t=t.return}}function _c(e,t,r){var n=e.pingCache;null!==n&&n.delete(t),t=tc(),e.pingedLanes|=e.suspendedLanes&r,jp===e&&(Lp&r)===r&&(4===Np||3===Np&&(130023424&Lp)===Lp&&500>Ze()-$p?fc(e,0):zp|=r),oc(e,t)}function Wc(e,t){0===t&&(0==(1&e.mode)?t=1:(t=lt,0==(130023424&(lt<<=1))&&(lt=4194304)));var r=tc();null!==(e=ji(e,t))&&(bt(e,t,r),oc(e,r))}function Ec(e){var t=e.memoizedState,r=0;null!==t&&(r=t.retryLane),Wc(e,r)}function Tc(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,o=e.memoizedState;null!==o&&(r=o.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(i(314))}null!==n&&n.delete(t),Wc(e,r)}function jc(e,t){return Ve(e,t)}function Ac(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lc(e,t,r,n){return new Ac(e,t,r,n)}function Pc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Rc(e,t){var r=e.alternate;return null===r?((r=Lc(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=14680064&e.flags,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Nc(e,t,r,n,o,s){var a=2;if(n=e,"function"==typeof e)Pc(e)&&(a=1);else if("string"==typeof e)a=5;else e:switch(e){case C:return Ic(r.children,o,s,t);case k:a=8,o|=8;break;case O:return(e=Lc(12,r,t,2|o)).elementType=O,e.lanes=s,e;case T:return(e=Lc(13,r,t,o)).elementType=T,e.lanes=s,e;case j:return(e=Lc(19,r,t,o)).elementType=j,e.lanes=s,e;case P:return Dc(r,o,s,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case _:a=10;break e;case W:a=9;break e;case E:a=11;break e;case A:a=14;break e;case L:a=16,n=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Lc(a,r,t,o)).elementType=e,t.type=n,t.lanes=s,t}function Ic(e,t,r,n){return(e=Lc(7,e,n,t)).lanes=r,e}function Dc(e,t,r,n){return(e=Lc(22,e,n,t)).elementType=P,e.lanes=r,e.stateNode={isHidden:!1},e}function Fc(e,t,r){return(e=Lc(6,e,null,t)).lanes=r,e}function zc(e,t,r){return(t=Lc(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Mc(e,t,r,n,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=n,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bc(e,t,r,n,o,i,s,a,p){return e=new Mc(e,t,r,a,p),1===t?(t=1,!0===i&&(t|=8)):t=0,i=Lc(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Li(i),e}function $c(e){if(!e)return Eo;e:{if($e(e=e._reactInternals)!==e||1!==e.tag)throw Error(i(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Po(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(i(171))}if(1===e.tag){var r=e.type;if(Po(r))return Io(e,r,t)}return t}function Uc(e,t,r,n,o,i,s,a,p){return(e=Bc(r,n,!0,e,0,i,0,a,p)).context=$c(null),r=e.current,(i=Ri(n=tc(),o=rc(r))).callback=null!=t?t:null,Ni(r,i,o),e.current.lanes=o,bt(e,o,n),oc(e,n),e}function qc(e,t,r,n){var o=t.current,i=tc(),s=rc(o);return r=$c(r),null===t.context?t.context=r:t.pendingContext=r,(t=Ri(i,s)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),null!==(e=Ni(o,t,s))&&(nc(e,o,s,i),Ii(e,o,s)),s}function Hc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Qc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var r=e.retryLane;e.retryLane=0!==r&&r<t?r:t}}function Vc(e,t){Qc(e,t),(e=e.alternate)&&Qc(e,t)}kp=function(e,t,r){if(null!==e)if(e.memoizedProps!==t.pendingProps||jo.current)wa=!0;else{if(0==(e.lanes&r)&&0==(128&t.flags))return wa=!1,function(e,t,r){switch(t.tag){case 3:ja(t),mi();break;case 5:ss(t);break;case 1:Po(t.type)&&Do(t);break;case 4:os(t,t.stateNode.containerInfo);break;case 10:var n=t.type._context,o=t.memoizedProps.value;Wo(yi,n._currentValue),n._currentValue=o;break;case 13:if(null!==(n=t.memoizedState))return null!==n.dehydrated?(Wo(ps,1&ps.current),t.flags|=128,null):0!=(r&t.child.childLanes)?Fa(e,t,r):(Wo(ps,1&ps.current),null!==(e=Ha(e,t,r))?e.sibling:null);Wo(ps,1&ps.current);break;case 19:if(n=0!=(r&t.childLanes),0!=(128&e.flags)){if(n)return Ua(e,t,r);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),Wo(ps,ps.current),n)break;return null;case 22:case 23:return t.lanes=0,Oa(e,t,r)}return Ha(e,t,r)}(e,t,r);wa=0!=(131072&e.flags)}else wa=!1,ii&&0!=(1048576&t.flags)&&ei(t,Vo,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;qa(e,t),e=t.pendingProps;var o=Lo(t,To.current);Oi(t,r),o=ks(null,t,n,e,o,r);var s=Os();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Po(n)?(s=!0,Do(t)):s=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Li(t),o.updater=$i,t.stateNode=o,o._reactInternals=t,Qi(t,n,e,r),t=Ta(null,t,n,!0,s,r)):(t.tag=0,ii&&s&&ti(t),Sa(null,t,o,r),t=t.child),t;case 16:n=t.elementType;e:{switch(qa(e,t),e=t.pendingProps,n=(o=n._init)(n._payload),t.type=n,o=t.tag=function(e){if("function"==typeof e)return Pc(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===A)return 14}return 2}(n),e=bi(n,e),o){case 0:t=Wa(null,t,n,e,r);break e;case 1:t=Ea(null,t,n,e,r);break e;case 11:t=xa(null,t,n,e,r);break e;case 14:t=Ca(null,t,n,bi(n.type,e),r);break e}throw Error(i(306,n,""))}return t;case 0:return n=t.type,o=t.pendingProps,Wa(e,t,n,o=t.elementType===n?o:bi(n,o),r);case 1:return n=t.type,o=t.pendingProps,Ea(e,t,n,o=t.elementType===n?o:bi(n,o),r);case 3:e:{if(ja(t),null===e)throw Error(i(387));n=t.pendingProps,o=(s=t.memoizedState).element,Pi(e,t),Fi(t,n,null,r);var a=t.memoizedState;if(n=a.element,s.isDehydrated){if(s={element:n,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=s,t.memoizedState=s,256&t.flags){t=Aa(e,t,n,r,o=la(Error(i(423)),t));break e}if(n!==o){t=Aa(e,t,n,r,o=la(Error(i(424)),t));break e}for(oi=co(t.stateNode.containerInfo.firstChild),ni=t,ii=!0,si=null,r=Xi(t,null,n,r),t.child=r;r;)r.flags=-3&r.flags|4096,r=r.sibling}else{if(mi(),n===o){t=Ha(e,t,r);break e}Sa(e,t,n,r)}t=t.child}return t;case 5:return ss(t),null===e&&li(t),n=t.type,o=t.pendingProps,s=null!==e?e.memoizedProps:null,a=o.children,ro(n,o)?a=null:null!==s&&ro(n,s)&&(t.flags|=32),_a(e,t),Sa(e,t,a,r),t.child;case 6:return null===e&&li(t),null;case 13:return Fa(e,t,r);case 4:return os(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=Zi(t,null,n,r):Sa(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,xa(e,t,n,o=t.elementType===n?o:bi(n,o),r);case 7:return Sa(e,t,t.pendingProps,r),t.child;case 8:case 12:return Sa(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,o=t.pendingProps,s=t.memoizedProps,a=o.value,Wo(yi,n._currentValue),n._currentValue=a,null!==s)if(an(s.value,a)){if(s.children===o.children&&!jo.current){t=Ha(e,t,r);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var p=s.dependencies;if(null!==p){a=s.child;for(var c=p.firstContext;null!==c;){if(c.context===n){if(1===s.tag){(c=Ri(-1,r&-r)).tag=2;var l=s.updateQueue;if(null!==l){var d=(l=l.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),l.pending=c}}s.lanes|=r,null!==(c=s.alternate)&&(c.lanes|=r),ki(s.return,r,t),p.lanes|=r;break}c=c.next}}else if(10===s.tag)a=s.type===t.type?null:s.child;else if(18===s.tag){if(null===(a=s.return))throw Error(i(341));a.lanes|=r,null!==(p=a.alternate)&&(p.lanes|=r),ki(a,r,t),a=s.sibling}else a=s.child;if(null!==a)a.return=s;else for(a=s;null!==a;){if(a===t){a=null;break}if(null!==(s=a.sibling)){s.return=a.return,a=s;break}a=a.return}s=a}Sa(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=t.pendingProps.children,Oi(t,r),n=n(o=_i(o)),t.flags|=1,Sa(e,t,n,r),t.child;case 14:return o=bi(n=t.type,t.pendingProps),Ca(e,t,n,o=bi(n.type,o),r);case 15:return ka(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:bi(n,o),qa(e,t),t.tag=1,Po(n)?(e=!0,Do(t)):e=!1,Oi(t,r),qi(t,n,o),Qi(t,n,o,r),Ta(null,t,n,!0,e,r);case 19:return Ua(e,t,r);case 22:return Oa(e,t,r)}throw Error(i(156,t.tag))};var Gc="function"==typeof reportError?reportError:function(e){console.error(e)};function Kc(e){this._internalRoot=e}function Yc(e){this._internalRoot=e}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function el(e,t,r,n,o){var i=r._reactRootContainer;if(i){var s=i;if("function"==typeof o){var a=o;o=function(){var e=Hc(s);a.call(e)}}qc(t,s,e,o)}else s=function(e,t,r,n,o){if(o){if("function"==typeof n){var i=n;n=function(){var e=Hc(s);i.call(e)}}var s=Uc(t,n,e,0,null,!1,0,"",Jc);return e._reactRootContainer=s,e[go]=s.current,$n(8===e.nodeType?e.parentNode:e),dc(),s}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof n){var a=n;n=function(){var e=Hc(p);a.call(e)}}var p=Bc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=p,e[go]=p.current,$n(8===e.nodeType?e.parentNode:e),dc((function(){qc(t,p,r,n)})),p}(r,t,e,o,n);return Hc(s)}Yc.prototype.render=Kc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));qc(e,t,null,null)},Yc.prototype.unmount=Kc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dc((function(){qc(null,e,null,null)})),t[go]=null}},Yc.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var r=0;r<Pt.length&&0!==t&&t<Pt[r].priority;r++);Pt.splice(r,0,e),0===r&&Dt(e)}},St=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var r=dt(t.pendingLanes);0!==r&&(yt(t,1|r),oc(t,Ze()),0==(6&Tp)&&(Up=Ze()+500,Uo()))}break;case 13:dc((function(){var t=ji(e,1);if(null!==t){var r=tc();nc(t,e,1,r)}})),Vc(e,1)}},xt=function(e){if(13===e.tag){var t=ji(e,134217728);if(null!==t)nc(t,e,134217728,tc());Vc(e,134217728)}},Ct=function(e){if(13===e.tag){var t=rc(e),r=ji(e,t);if(null!==r)nc(r,e,t,tc());Vc(e,t)}},kt=function(){return vt},Ot=function(e,t){var r=vt;try{return vt=e,t()}finally{vt=r}},xe=function(e,t,r){switch(t){case"input":if(X(e,r),t=r.name,"radio"===r.type&&null!=t){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<r.length;t++){var n=r[t];if(n!==e&&n.form===e.form){var o=xo(n);if(!o)throw Error(i(90));V(n),X(n,o)}}}break;case"textarea":ie(e,r);break;case"select":null!=(t=r.value)&&re(e,!!r.multiple,t,!1)}},Ee=lc,Te=dc;var tl={usingClientEntryPoint:!1,Events:[wo,So,xo,_e,We,lc]},rl={findFiberByHostInstance:vo,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},nl={bundleType:rl.bundleType,version:rl.version,rendererPackageName:rl.rendererPackageName,rendererConfig:rl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=He(e))?null:e.stateNode},findFiberByHostInstance:rl.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ol=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ol.isDisabled&&ol.supportsFiber)try{ot=ol.inject(nl),it=ol}catch(le){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl,t.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Zc(t))throw Error(i(200));return function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==n?null:""+n,children:e,containerInfo:t,implementation:r}}(e,t,null,r)},t.createRoot=function(e,t){if(!Zc(e))throw Error(i(299));var r=!1,n="",o=Gc;return null!=t&&(!0===t.unstable_strictMode&&(r=!0),void 0!==t.identifierPrefix&&(n=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Bc(e,1,!1,null,0,r,0,n,o),e[go]=t.current,$n(8===e.nodeType?e.parentNode:e),new Kc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(i(188));throw e=Object.keys(e).join(","),Error(i(268,e))}return e=null===(e=He(t))?null:e.stateNode},t.flushSync=function(e){return dc(e)},t.hydrate=function(e,t,r){if(!Xc(t))throw Error(i(200));return el(null,e,t,!0,r)},t.hydrateRoot=function(e,t,r){if(!Zc(e))throw Error(i(405));var n=null!=r&&r.hydratedSources||null,o=!1,s="",a=Gc;if(null!=r&&(!0===r.unstable_strictMode&&(o=!0),void 0!==r.identifierPrefix&&(s=r.identifierPrefix),void 0!==r.onRecoverableError&&(a=r.onRecoverableError)),t=Uc(t,null,e,1,null!=r?r:null,o,0,s,a),e[go]=t.current,$n(e),n)for(e=0;e<n.length;e++)o=(o=(r=n[e])._getVersion)(r._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[r,o]:t.mutableSourceEagerHydrationData.push(r,o);return new Yc(t)},t.render=function(e,t,r){if(!Xc(t))throw Error(i(200));return el(null,e,t,!1,r)},t.unmountComponentAtNode=function(e){if(!Xc(e))throw Error(i(40));return!!e._reactRootContainer&&(dc((function(){el(null,null,e,!1,(function(){e._reactRootContainer=null,e[go]=null}))})),!0)},t.unstable_batchedUpdates=lc,t.unstable_renderSubtreeIntoContainer=function(e,t,r,n){if(!Xc(r))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return el(e,t,r,!1,n)},t.version="18.2.0-next-9e3b772b8-20220608"},93220:(e,t,r)=>{"use strict";var n=r(91627);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},91627:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=r(86253)},56378:e=>{var t="undefined"!=typeof Element,r="function"==typeof Map,n="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(e,s){if(e===s)return!0;if(e&&s&&"object"==typeof e&&"object"==typeof s){if(e.constructor!==s.constructor)return!1;var a,p,c,l;if(Array.isArray(e)){if((a=e.length)!=s.length)return!1;for(p=a;0!=p--;)if(!i(e[p],s[p]))return!1;return!0}if(r&&e instanceof Map&&s instanceof Map){if(e.size!==s.size)return!1;for(l=e.entries();!(p=l.next()).done;)if(!s.has(p.value[0]))return!1;for(l=e.entries();!(p=l.next()).done;)if(!i(p.value[1],s.get(p.value[0])))return!1;return!0}if(n&&e instanceof Set&&s instanceof Set){if(e.size!==s.size)return!1;for(l=e.entries();!(p=l.next()).done;)if(!s.has(p.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(s)){if((a=e.length)!=s.length)return!1;for(p=a;0!=p--;)if(e[p]!==s[p])return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===s.toString();if((a=(c=Object.keys(e)).length)!==Object.keys(s).length)return!1;for(p=a;0!=p--;)if(!Object.prototype.hasOwnProperty.call(s,c[p]))return!1;if(t&&e instanceof Element)return!1;for(p=a;0!=p--;)if(("_owner"!==c[p]&&"__v"!==c[p]&&"__o"!==c[p]||!e.$$typeof)&&!i(e[c[p]],s[c[p]]))return!1;return!0}return e!=e&&s!=s}e.exports=function(e,t){try{return i(e,t)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}}},10904:(e,t,r)=>{"use strict";r.d(t,{mg:()=>J,vd:()=>H});var n=r(48318),o=r(23108),i=r.n(o),s=r(56378),a=r.n(s),p=r(84009),c=r.n(p),l=r(59141),d=r.n(l);function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},u.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function g(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t.indexOf(r=i[n])>=0||(o[r]=e[r]);return o}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(S).reduce((function(e,t){return e[S[t]]=t,e}),{}),C=function(e,t){for(var r=e.length-1;r>=0;r-=1){var n=e[r];if(Object.prototype.hasOwnProperty.call(n,t))return n[t]}return null},k=function(e){var t=C(e,h.TITLE),r=C(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),r&&t)return r.replace(/%s/g,(function(){return t}));var n=C(e,"defaultTitle");return t||n||void 0},O=function(e){return C(e,"onChangeClientState")||function(){}},_=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return u({},e,t)}),{})},W=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,r){if(!t.length)for(var n=Object.keys(r),o=0;o<n.length;o+=1){var i=n[o].toLowerCase();if(-1!==e.indexOf(i)&&r[i])return t.concat(r)}return t}),[])},E=function(e,t,r){var n={};return r.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,r){var o={};r.filter((function(e){for(var r,i=Object.keys(e),s=0;s<i.length;s+=1){var a=i[s],p=a.toLowerCase();-1===t.indexOf(p)||"rel"===r&&"canonical"===e[r].toLowerCase()||"rel"===p&&"stylesheet"===e[p].toLowerCase()||(r=p),-1===t.indexOf(a)||"innerHTML"!==a&&"cssText"!==a&&"itemprop"!==a||(r=a)}if(!r||!e[r])return!1;var c=e[r].toLowerCase();return n[r]||(n[r]={}),o[r]||(o[r]={}),!n[r][c]&&(o[r][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var i=Object.keys(o),s=0;s<i.length;s+=1){var a=i[s],p=u({},n[a],o[a]);n[a]=p}return e}),[]).reverse()},T=function(e,t){if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r+=1)if(e[r][t])return!0;return!1},j=function(e){return Array.isArray(e)?e.join(""):e},A=function(e,t){return Array.isArray(e)?e.reduce((function(e,r){return function(e,t){for(var r=Object.keys(e),n=0;n<r.length;n+=1)if(t[r[n]]&&t[r[n]].includes(e[r[n]]))return!0;return!1}(r,t)?e.priority.push(r):e.default.push(r),e}),{priority:[],default:[]}):{default:e}},L=function(e,t){var r;return u({},e,((r={})[t]=void 0,r))},P=[h.NOSCRIPT,h.SCRIPT,h.STYLE],R=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},N=function(e){return Object.keys(e).reduce((function(t,r){var n=void 0!==e[r]?r+'="'+e[r]+'"':""+r;return t?t+" "+n:n}),"")},I=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,r){return t[S[r]||r]=e[r],t}),t)},D=function(e,t){return t.map((function(t,r){var o,i=((o={key:r})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var r=S[e]||e;"innerHTML"===r||"cssText"===r?i.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:i[r]=t[e]})),n.createElement(e,i)}))},F=function(e,t,r){switch(e){case h.TITLE:return{toComponent:function(){return r=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,i=I(r,o),[n.createElement(h.TITLE,i,e)];var e,r,o,i},toString:function(){return function(e,t,r,n){var o=N(r),i=j(t);return o?"<"+e+' data-rh="true" '+o+">"+R(i,n)+"</"+e+">":"<"+e+' data-rh="true">'+R(i,n)+"</"+e+">"}(e,t.title,t.titleAttributes,r)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return I(t)},toString:function(){return N(t)}};default:return{toComponent:function(){return D(e,t)},toString:function(){return function(e,t,r){return t.reduce((function(t,n){var o=Object.keys(n).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===n[t]?t:t+'="'+R(n[t],r)+'"';return e?e+" "+o:o}),""),i=n.innerHTML||n.cssText||"",s=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(s?"/>":">"+i+"</"+e+">")}),"")}(e,t,r)}}}},z=function(e){var t=e.baseTag,r=e.bodyAttributes,n=e.encode,o=e.htmlAttributes,i=e.noscriptTags,s=e.styleTags,a=e.title,p=void 0===a?"":a,c=e.titleAttributes,l=e.linkTags,d=e.metaTags,u=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,r=e.scriptTags,n=e.encode,o=A(e.metaTags,v),i=A(t,b),s=A(r,y);return{priorityMethods:{toComponent:function(){return[].concat(D(h.META,o.priority),D(h.LINK,i.priority),D(h.SCRIPT,s.priority))},toString:function(){return F(h.META,o.priority,n)+" "+F(h.LINK,i.priority,n)+" "+F(h.SCRIPT,s.priority,n)}},metaTags:o.default,linkTags:i.default,scriptTags:s.default}}(e);f=m.priorityMethods,l=m.linkTags,d=m.metaTags,u=m.scriptTags}return{priority:f,base:F(h.BASE,t,n),bodyAttributes:F("bodyAttributes",r,n),htmlAttributes:F("htmlAttributes",o,n),link:F(h.LINK,l,n),meta:F(h.META,d,n),noscript:F(h.NOSCRIPT,i,n),script:F(h.SCRIPT,u,n),style:F(h.STYLE,s,n),title:F(h.TITLE,{title:p,titleAttributes:c},n)}},M=[],B=function(e,t){var r=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){r.context.helmet=e},helmetInstances:{get:function(){return r.canUseDOM?M:r.instances},add:function(e){(r.canUseDOM?M:r.instances).push(e)},remove:function(e){var t=(r.canUseDOM?M:r.instances).indexOf(e);(r.canUseDOM?M:r.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},$=n.createContext({}),U=i().shape({setHelmet:i().func,helmetInstances:i().shape({get:i().func,add:i().func,remove:i().func})}),q="undefined"!=typeof document,H=function(e){function t(r){var n;return(n=e.call(this,r)||this).helmetData=new B(n.props.context,t.canUseDOM),n}return f(t,e),t.prototype.render=function(){return n.createElement($.Provider,{value:this.helmetData.value},this.props.children)},t}(n.Component);H.canUseDOM=q,H.propTypes={context:i().shape({helmet:i().shape()}),children:i().node.isRequired},H.defaultProps={context:{}},H.displayName="HelmetProvider";var Q=function(e,t){var r,n=document.head||document.querySelector(h.HEAD),o=n.querySelectorAll(e+"[data-rh]"),i=[].slice.call(o),s=[];return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?n.innerHTML=t.innerHTML:"cssText"===o?n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText)):n.setAttribute(o,void 0===t[o]?"":t[o]));n.setAttribute("data-rh","true"),i.some((function(e,t){return r=t,n.isEqualNode(e)}))?i.splice(r,1):s.push(n)})),i.forEach((function(e){return e.parentNode.removeChild(e)})),s.forEach((function(e){return n.appendChild(e)})),{oldTags:i,newTags:s}},V=function(e,t){var r=document.getElementsByTagName(e)[0];if(r){for(var n=r.getAttribute("data-rh"),o=n?n.split(","):[],i=[].concat(o),s=Object.keys(t),a=0;a<s.length;a+=1){var p=s[a],c=t[p]||"";r.getAttribute(p)!==c&&r.setAttribute(p,c),-1===o.indexOf(p)&&o.push(p);var l=i.indexOf(p);-1!==l&&i.splice(l,1)}for(var d=i.length-1;d>=0;d-=1)r.removeAttribute(i[d]);o.length===i.length?r.removeAttribute("data-rh"):r.getAttribute("data-rh")!==s.join(",")&&r.setAttribute("data-rh",s.join(","))}},G=function(e,t){var r=e.baseTag,n=e.htmlAttributes,o=e.linkTags,i=e.metaTags,s=e.noscriptTags,a=e.onChangeClientState,p=e.scriptTags,c=e.styleTags,l=e.title,d=e.titleAttributes;V(h.BODY,e.bodyAttributes),V(h.HTML,n),function(e,t){void 0!==e&&document.title!==e&&(document.title=j(e)),V(h.TITLE,t)}(l,d);var u={baseTag:Q(h.BASE,r),linkTags:Q(h.LINK,o),metaTags:Q(h.META,i),noscriptTags:Q(h.NOSCRIPT,s),scriptTags:Q(h.SCRIPT,p),styleTags:Q(h.STYLE,c)},f={},m={};Object.keys(u).forEach((function(e){var t=u[e],r=t.newTags,n=t.oldTags;r.length&&(f[e]=r),n.length&&(m[e]=u[e].oldTags)})),t&&t(),a(e,f,m)},K=null,Y=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(t=e.call.apply(e,[this].concat(n))||this).rendered=!1,t}f(t,e);var r=t.prototype;return r.shouldComponentUpdate=function(e){return!d()(e,this.props)},r.componentDidUpdate=function(){this.emitChange()},r.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},r.emitChange=function(){var e,t,r=this.props.context,n=r.setHelmet,o=null,i=(e=r.helmetInstances.get().map((function(e){var t=u({},e.props);return delete t.context,t})),{baseTag:W(["href"],e),bodyAttributes:_("bodyAttributes",e),defer:C(e,"defer"),encode:C(e,"encodeSpecialCharacters"),htmlAttributes:_("htmlAttributes",e),linkTags:E(h.LINK,["rel","href"],e),metaTags:E(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:E(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:O(e),scriptTags:E(h.SCRIPT,["src","innerHTML"],e),styleTags:E(h.STYLE,["cssText"],e),title:k(e),titleAttributes:_("titleAttributes",e),prioritizeSeoTags:T(e,"prioritizeSeoTags")});H.canUseDOM?(t=i,K&&cancelAnimationFrame(K),t.defer?K=requestAnimationFrame((function(){G(t,(function(){K=null}))})):(G(t),K=null)):z&&(o=z(i)),n(o)},r.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},r.render=function(){return this.init(),null},t}(n.Component);Y.propTypes={context:U.isRequired},Y.displayName="HelmetDispatcher";var Z=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var r=t.prototype;return r.shouldComponentUpdate=function(e){return!a()(L(this.props,"helmetData"),L(e,"helmetData"))},r.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},r.flattenArrayTypeChildren=function(e){var t,r=e.child,n=e.arrayTypeChildren;return u({},n,((t={})[r.type]=[].concat(n[r.type]||[],[u({},e.newChildProps,this.mapNestedChildrenToProps(r,e.nestedChildren))]),t))},r.mapObjectTypeChildren=function(e){var t,r,n=e.child,o=e.newProps,i=e.newChildProps,s=e.nestedChildren;switch(n.type){case h.TITLE:return u({},o,((t={})[n.type]=s,t.titleAttributes=u({},i),t));case h.BODY:return u({},o,{bodyAttributes:u({},i)});case h.HTML:return u({},o,{htmlAttributes:u({},i)});default:return u({},o,((r={})[n.type]=u({},i),r))}},r.mapArrayTypeChildrenToProps=function(e,t){var r=u({},t);return Object.keys(e).forEach((function(t){var n;r=u({},r,((n={})[t]=e[t],n))})),r},r.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},r.mapChildrenToProps=function(e,t){var r=this,o={};return n.Children.forEach(e,(function(e){if(e&&e.props){var n=e.props,i=n.children,s=g(n,Z),a=Object.keys(s).reduce((function(e,t){return e[x[t]||t]=s[t],e}),{}),p=e.type;switch("symbol"==typeof p?p=p.toString():r.warnOnInvalidChildren(e,i),p){case h.FRAGMENT:t=r.mapChildrenToProps(i,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:o=r.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:a,nestedChildren:i});break;default:t=r.mapObjectTypeChildren({child:e,newProps:t,newChildProps:a,nestedChildren:i})}}})),this.mapArrayTypeChildrenToProps(o,t)},r.render=function(){var e=this.props,t=e.children,r=g(e,X),o=u({},r),i=r.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!i||i instanceof B||(i=new B(i.context,i.instances)),i?n.createElement(Y,u({},o,{context:i.value,helmetData:void 0})):n.createElement($.Consumer,null,(function(e){return n.createElement(Y,u({},o,{context:e}))}))},t}(n.Component);J.propTypes={base:i().object,bodyAttributes:i().object,children:i().oneOfType([i().arrayOf(i().node),i().node]),defaultTitle:i().string,defer:i().bool,encodeSpecialCharacters:i().bool,htmlAttributes:i().object,link:i().arrayOf(i().object),meta:i().arrayOf(i().object),noscript:i().arrayOf(i().object),onChangeClientState:i().func,script:i().arrayOf(i().object),style:i().arrayOf(i().object),title:i().string,titleAttributes:i().object,titleTemplate:i().string,prioritizeSeoTags:i().bool,helmetData:i().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},45575:(e,t)=>{"use strict";var r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,a=r?Symbol.for("react.profiler"):60114,p=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.async_mode"):60111,d=r?Symbol.for("react.concurrent_mode"):60111,u=r?Symbol.for("react.forward_ref"):60112,f=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.suspense_list"):60120,g=r?Symbol.for("react.memo"):60115,h=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,y=r?Symbol.for("react.fundamental"):60117,v=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function S(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case l:case d:case i:case a:case s:case f:return e;default:switch(e=e&&e.$$typeof){case c:case u:case h:case g:case p:return e;default:return t}}case o:return t}}}function x(e){return S(e)===d}t.AsyncMode=l,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=p,t.Element=n,t.ForwardRef=u,t.Fragment=i,t.Lazy=h,t.Memo=g,t.Portal=o,t.Profiler=a,t.StrictMode=s,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||S(e)===l},t.isConcurrentMode=x,t.isContextConsumer=function(e){return S(e)===c},t.isContextProvider=function(e){return S(e)===p},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return S(e)===u},t.isFragment=function(e){return S(e)===i},t.isLazy=function(e){return S(e)===h},t.isMemo=function(e){return S(e)===g},t.isPortal=function(e){return S(e)===o},t.isProfiler=function(e){return S(e)===a},t.isStrictMode=function(e){return S(e)===s},t.isSuspense=function(e){return S(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===d||e===a||e===s||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===p||e.$$typeof===c||e.$$typeof===u||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=S},53635:(e,t,r)=>{"use strict";e.exports=r(45575)},73153:(e,t,r)=>{"use strict";r.d(t,{u:()=>s,v:()=>a});var n=r(66325),o=r(1778),i=r(48318);function s(e,t,r){return void 0===r&&(r=[]),e.some((function(e){var o=e.path?(0,n.B6)(t,e):r.length?r[r.length-1].match:n.Ix.computeRootMatch(t);return o&&(r.push({route:e,match:o}),e.routes&&s(e.routes,t,r)),o})),r}function a(e,t,r){return void 0===t&&(t={}),void 0===r&&(r={}),e?i.createElement(n.dO,r,e.map((function(e,r){return i.createElement(n.qh,{key:e.key||r,path:e.path,exact:e.exact,strict:e.strict,render:function(r){return e.render?e.render((0,o.A)({},r,{},t,{route:e})):i.createElement(e.component,(0,o.A)({},r,t,{route:e}))}})}))):null}},11734:(e,t,r)=>{"use strict";r.d(t,{Kd:()=>l,N_:()=>h,k2:()=>v});var n=r(66325),o=r(79310),i=r(48318),s=r(29888),a=r(1778),p=r(97381),c=r(25649),l=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(t=e.call.apply(e,[this].concat(n))||this).history=(0,s.zR)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return i.createElement(n.Ix,{history:this.history,children:this.props.children})},t}(i.Component);i.Component;var d=function(e,t){return"function"==typeof e?e(t):e},u=function(e,t){return"string"==typeof e?(0,s.yJ)(e,null,null,t):e},f=function(e){return e},m=i.forwardRef;void 0===m&&(m=f);var g=m((function(e,t){var r=e.innerRef,n=e.navigate,o=e.onClick,s=(0,p.A)(e,["innerRef","navigate","onClick"]),c=s.target,l=(0,a.A)({},s,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),n())}});return l.ref=f!==m&&t||r,i.createElement("a",l)}));var h=m((function(e,t){var r=e.component,o=void 0===r?g:r,l=e.replace,h=e.to,b=e.innerRef,y=(0,p.A)(e,["component","replace","to","innerRef"]);return i.createElement(n.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var r=e.history,n=u(d(h,e.location),e.location),p=n?r.createHref(n):"",g=(0,a.A)({},y,{href:p,navigate:function(){var t=d(h,e.location),n=(0,s.AO)(e.location)===(0,s.AO)(u(t));(l||n?r.replace:r.push)(t)}});return f!==m?g.ref=t||b:g.innerRef=b,i.createElement(o,g)}))})),b=function(e){return e},y=i.forwardRef;void 0===y&&(y=b);var v=y((function(e,t){var r=e["aria-current"],o=void 0===r?"page":r,s=e.activeClassName,l=void 0===s?"active":s,f=e.activeStyle,m=e.className,g=e.exact,v=e.isActive,w=e.location,S=e.sensitive,x=e.strict,C=e.style,k=e.to,O=e.innerRef,_=(0,p.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return i.createElement(n.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var r=w||e.location,s=u(d(k,r),r),p=s.pathname,W=p&&p.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),E=W?(0,n.B6)(r.pathname,{path:W,exact:g,sensitive:S,strict:x}):null,T=!!(v?v(E,r):E),j="function"==typeof m?m(T):m,A="function"==typeof C?C(T):C;T&&(j=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((function(e){return e})).join(" ")}(j,l),A=(0,a.A)({},A,f));var L=(0,a.A)({"aria-current":T&&o||null,className:j,style:A,to:s},_);return b!==y?L.ref=t||O:L.innerRef=O,i.createElement(h,L)}))}))},66325:(e,t,r)=>{"use strict";r.d(t,{B6:()=>C,Ix:()=>v,W6:()=>L,XZ:()=>y,dO:()=>j,qh:()=>k,zy:()=>P});var n=r(79310),o=r(48318),i=r(23108),s=r.n(i),a=r(29888),p=r(25649),c=r(1778),l=r(36154),d=r.n(l),u=(r(53635),r(97381)),f=(r(33871),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r.g?r.g:{};var g=o.createContext||function(e,t){var r,i,a="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",p=function(e){function r(){for(var t,r,n,o=arguments.length,i=new Array(o),s=0;s<o;s++)i[s]=arguments[s];return(t=e.call.apply(e,[this].concat(i))||this).emitter=(r=t.props.value,n=[],{on:function(e){n.push(e)},off:function(e){n=n.filter((function(t){return t!==e}))},get:function(){return r},set:function(e,t){r=e,n.forEach((function(e){return e(r,t)}))}}),t}(0,n.A)(r,e);var o=r.prototype;return o.getChildContext=function(){var e;return(e={})[a]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var r,n=this.props.value,o=e.value;((i=n)===(s=o)?0!==i||1/i==1/s:i!=i&&s!=s)?r=0:(r="function"==typeof t?t(n,o):f,0!==(r|=0)&&this.emitter.set(e.value,r))}var i,s},o.render=function(){return this.props.children},r}(o.Component);p.childContextTypes=((r={})[a]=s().object.isRequired,r);var c=function(t){function r(){for(var e,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(e=t.call.apply(t,[this].concat(n))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,r){0!=((0|e.observedBits)&r)&&e.setState({value:e.getValue()})},e}(0,n.A)(r,t);var o=r.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},o.componentDidMount=function(){this.context[a]&&this.context[a].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},o.componentWillUnmount=function(){this.context[a]&&this.context[a].off(this.onUpdate)},o.getValue=function(){return this.context[a]?this.context[a].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},r}(o.Component);return c.contextTypes=((i={})[a]=s().object,i),{Provider:p,Consumer:c}},h=function(e){var t=g();return t.displayName=e,t},b=h("Router-History"),y=h("Router"),v=function(e){function t(t){var r;return(r=e.call(this,t)||this).state={location:t.history.location},r._isMounted=!1,r._pendingLocation=null,t.staticContext||(r.unlisten=t.history.listen((function(e){r._pendingLocation=e}))),r}(0,n.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var r=t.prototype;return r.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},r.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},r.render=function(){return o.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var w={},S=1e4,x=0;function C(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var r=t,n=r.path,o=r.exact,i=void 0!==o&&o,s=r.strict,a=void 0!==s&&s,p=r.sensitive,c=void 0!==p&&p;return[].concat(n).reduce((function(t,r){if(!r&&""!==r)return null;if(t)return t;var n=function(e,t){var r=""+t.end+t.strict+t.sensitive,n=w[r]||(w[r]={});if(n[e])return n[e];var o=[],i={regexp:d()(e,o,t),keys:o};return x<S&&(n[e]=i,x++),i}(r,{end:i,strict:a,sensitive:c}),o=n.regexp,s=n.keys,p=o.exec(e);if(!p)return null;var l=p[0],u=p.slice(1),f=e===l;return i&&!f?null:{path:r,url:"/"===r&&""===l?"/":l,isExact:f,params:s.reduce((function(e,t,r){return e[t.name]=u[r],e}),{})}}),null)}var k=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,p.A)(!1);var r=e.props.location||t.location,n=e.props.computedMatch?e.props.computedMatch:e.props.path?C(r.pathname,e.props):t.match,i=(0,c.A)({},t,{location:r,match:n}),s=e.props,a=s.children,l=s.component,d=s.render;return Array.isArray(a)&&function(e){return 0===o.Children.count(e)}(a)&&(a=null),o.createElement(y.Provider,{value:i},i.match?a?"function"==typeof a?a(i):a:l?o.createElement(l,i):d?d(i):null:"function"==typeof a?a(i):null)}))},t}(o.Component);function O(e){return"/"===e.charAt(0)?e:"/"+e}function _(e,t){if(!e)return t;var r=O(e);return 0!==t.pathname.indexOf(r)?t:(0,c.A)({},t,{pathname:t.pathname.substr(r.length)})}function W(e){return"string"==typeof e?e:(0,a.AO)(e)}function E(e){return function(){(0,p.A)(!1)}}function T(){}o.Component;var j=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,p.A)(!1);var r,n,i=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==n&&o.isValidElement(e)){r=e;var s=e.props.path||e.props.from;n=s?C(i.pathname,(0,c.A)({},e.props,{path:s})):t.match}})),n?o.cloneElement(r,{location:i,computedMatch:n}):null}))},t}(o.Component);var A=o.useContext;function L(){return A(b)}function P(){return A(y).location}},32942:(e,t,r)=>{"use strict";var n=r(48318),o=Symbol.for("react.element"),i=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var n,i={},c=null,l=null;for(n in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(l=t.ref),t)s.call(t,n)&&!p.hasOwnProperty(n)&&(i[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===i[n]&&(i[n]=t[n]);return{$$typeof:o,type:e,key:c,ref:l,props:i,_owner:a.current}}t.Fragment=i,t.jsx=c,t.jsxs=c},46161:(e,t)=>{"use strict";var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),p=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function b(e,t,r){this.props=e,this.context=t,this.refs=h,this.updater=r||m}function y(){}function v(e,t,r){this.props=e,this.context=t,this.refs=h,this.updater=r||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var w=v.prototype=new y;w.constructor=v,g(w,b.prototype),w.isPureReactComponent=!0;var S=Array.isArray,x=Object.prototype.hasOwnProperty,C={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function O(e,t,n){var o,i={},s=null,a=null;if(null!=t)for(o in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(s=""+t.key),t)x.call(t,o)&&!k.hasOwnProperty(o)&&(i[o]=t[o]);var p=arguments.length-2;if(1===p)i.children=n;else if(1<p){for(var c=Array(p),l=0;l<p;l++)c[l]=arguments[l+2];i.children=c}if(e&&e.defaultProps)for(o in p=e.defaultProps)void 0===i[o]&&(i[o]=p[o]);return{$$typeof:r,type:e,key:s,ref:a,props:i,_owner:C.current}}function _(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var W=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function T(e,t,o,i,s){var a=typeof e;"undefined"!==a&&"boolean"!==a||(e=null);var p=!1;if(null===e)p=!0;else switch(a){case"string":case"number":p=!0;break;case"object":switch(e.$$typeof){case r:case n:p=!0}}if(p)return s=s(p=e),e=""===i?"."+E(p,0):i,S(s)?(o="",null!=e&&(o=e.replace(W,"$&/")+"/"),T(s,t,o,"",(function(e){return e}))):null!=s&&(_(s)&&(s=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,o+(!s.key||p&&p.key===s.key?"":(""+s.key).replace(W,"$&/")+"/")+e)),t.push(s)),1;if(p=0,i=""===i?".":i+":",S(e))for(var c=0;c<e.length;c++){var l=i+E(a=e[c],c);p+=T(a,t,o,l,s)}else if(l=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof l)for(e=l.call(e),c=0;!(a=e.next()).done;)p+=T(a=a.value,t,o,l=i+E(a,c++),s);else if("object"===a)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return p}function j(e,t,r){if(null==e)return e;var n=[],o=0;return T(e,n,"","",(function(e){return t.call(r,e,o++)})),n}function A(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L={current:null},P={transition:null},R={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:P,ReactCurrentOwner:C};t.Children={map:j,forEach:function(e,t,r){j(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return j(e,(function(){t++})),t},toArray:function(e){return j(e,(function(e){return e}))||[]},only:function(e){if(!_(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=o,t.Profiler=s,t.PureComponent=v,t.StrictMode=i,t.Suspense=l,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=R,t.cloneElement=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=g({},e.props),i=e.key,s=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,a=C.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var p=e.type.defaultProps;for(c in t)x.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==p?p[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){p=Array(c);for(var l=0;l<c;l++)p[l]=arguments[l+2];o.children=p}return{$$typeof:r,type:e.type,key:i,ref:s,props:o,_owner:a}},t.createContext=function(e){return(e={$$typeof:p,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=O,t.createFactory=function(e){var t=O.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=_,t.lazy=function(e){return{$$typeof:u,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return L.current.useCallback(e,t)},t.useContext=function(e){return L.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return L.current.useDeferredValue(e)},t.useEffect=function(e,t){return L.current.useEffect(e,t)},t.useId=function(){return L.current.useId()},t.useImperativeHandle=function(e,t,r){return L.current.useImperativeHandle(e,t,r)},t.useInsertionEffect=function(e,t){return L.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return L.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return L.current.useMemo(e,t)},t.useReducer=function(e,t,r){return L.current.useReducer(e,t,r)},t.useRef=function(e){return L.current.useRef(e)},t.useState=function(e){return L.current.useState(e)},t.useSyncExternalStore=function(e,t,r){return L.current.useSyncExternalStore(e,t,r)},t.useTransition=function(){return L.current.useTransition()},t.version="18.2.0"},48318:(e,t,r)=>{"use strict";e.exports=r(46161)},49214:(e,t,r)=>{"use strict";e.exports=r(32942)},96571:(e,t)=>{"use strict";function r(e,t){var r=e.length;e.push(t);e:for(;0<r;){var n=r-1>>>1,o=e[n];if(!(0<i(o,t)))break e;e[n]=t,e[r]=o,r=n}}function n(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;e:for(var n=0,o=e.length,s=o>>>1;n<s;){var a=2*(n+1)-1,p=e[a],c=a+1,l=e[c];if(0>i(p,r))c<o&&0>i(l,p)?(e[n]=l,e[c]=r,n=c):(e[n]=p,e[a]=r,n=a);else{if(!(c<o&&0>i(l,r)))break e;e[n]=l,e[c]=r,n=c}}}return t}function i(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,p=a.now();t.unstable_now=function(){return a.now()-p}}var c=[],l=[],d=1,u=null,f=3,m=!1,g=!1,h=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=n(l);null!==t;){if(null===t.callback)o(l);else{if(!(t.startTime<=e))break;o(l),t.sortIndex=t.expirationTime,r(c,t)}t=n(l)}}function S(e){if(h=!1,w(e),!g)if(null!==n(c))g=!0,P(x);else{var t=n(l);null!==t&&R(S,t.startTime-e)}}function x(e,r){g=!1,h&&(h=!1,y(_),_=-1),m=!0;var i=f;try{for(w(r),u=n(c);null!==u&&(!(u.expirationTime>r)||e&&!T());){var s=u.callback;if("function"==typeof s){u.callback=null,f=u.priorityLevel;var a=s(u.expirationTime<=r);r=t.unstable_now(),"function"==typeof a?u.callback=a:u===n(c)&&o(c),w(r)}else o(c);u=n(c)}if(null!==u)var p=!0;else{var d=n(l);null!==d&&R(S,d.startTime-r),p=!1}return p}finally{u=null,f=i,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var C,k=!1,O=null,_=-1,W=5,E=-1;function T(){return!(t.unstable_now()-E<W)}function j(){if(null!==O){var e=t.unstable_now();E=e;var r=!0;try{r=O(!0,e)}finally{r?C():(k=!1,O=null)}}else k=!1}if("function"==typeof v)C=function(){v(j)};else if("undefined"!=typeof MessageChannel){var A=new MessageChannel,L=A.port2;A.port1.onmessage=j,C=function(){L.postMessage(null)}}else C=function(){b(j,0)};function P(e){O=e,k||(k=!0,C())}function R(e,r){_=b((function(){e(t.unstable_now())}),r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||m||(g=!0,P(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):W=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return n(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var r=f;f=t;try{return e()}finally{f=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=f;f=e;try{return t()}finally{f=r}},t.unstable_scheduleCallback=function(e,o,i){var s=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?s+i:s:i=s,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:i,expirationTime:a=i+a,sortIndex:-1},i>s?(e.sortIndex=i,r(l,e),null===n(c)&&e===n(l)&&(h?(y(_),_=-1):h=!0,R(S,i-s))):(e.sortIndex=a,r(c,e),g||m||(g=!0,P(x))),e},t.unstable_shouldYield=T,t.unstable_wrapCallback=function(e){var t=f;return function(){var r=f;f=t;try{return e.apply(this,arguments)}finally{f=r}}}},75506:(e,t,r)=>{"use strict";e.exports=r(96571)},59141:e=>{e.exports=function(e,t,r,n){var o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),p=0;p<i.length;p++){var c=i[p];if(!a(c))return!1;var l=e[c],d=t[c];if(!1===(o=r?r.call(n,l,d,c):void 0)||void 0===o&&l!==d)return!1}return!0}},4784:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});const n={title:"SCOW",tagline:"Super Computing On Web",url:"https://PKUHPC.github.io",baseUrl:"/SCOW/pr-preview/pr-1298/",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",favicon:"img/favicon.ico",organizationName:"PKUHPC",projectName:"SCOW",trailingSlash:!1,i18n:{defaultLocale:"zh",locales:["zh"],path:"i18n",localeConfigs:{}},themes:[["/home/runner/work/SCOW/SCOW/node_modules/.pnpm/@easyops-cn+docusaurus-search-local@0.44.0_@docusaurus+theme-common@3.2.0_@docusaurus+types@3_eegoxhh76i7ibyqlnax4o6mu4u/node_modules/@easyops-cn/docusaurus-search-local/dist/server/server/index.js",{hashed:!0,language:["en","zh"]}]],plugins:[null],presets:[["@docusaurus/preset-classic",{docs:{sidebarPath:"/home/runner/work/SCOW/SCOW/docs/sidebars.js",editUrl:"https:/github.com/PKUHPC/SCOW/edit/main/website/",beforeDefaultRemarkPlugins:[null]},blog:{showReadingTime:!0,editUrl:"https:/github.com/PKUHPC/SCOW/edit/main/website/blog/",beforeDefaultRemarkPlugins:[null]},theme:{customCss:"/home/runner/work/SCOW/SCOW/docs/src/css/custom.css"}}]],themeConfig:{navbar:{title:"",logo:{alt:"SCOW Logo",src:"img/logo.svg",srcDark:"img/logo_dark.svg"},items:[{type:"doc",docId:"info/index",position:"left",sidebarId:"info",label:"\u529f\u80fd\u4ecb\u7ecd"},{type:"doc",docId:"deploy/index",position:"left",sidebarId:"deploy",label:"\u90e8\u7f72\u548c\u914d\u7f6e"},{type:"doc",docId:"integration/index",position:"left",sidebarId:"deploy",label:"\u4e0eSCOW\u96c6\u6210"},{type:"doc",docId:"hpccluster/index",position:"left",sidebarId:"hpccluster",label:"slurm\u96c6\u7fa4\u90e8\u7f72\u5b9e\u8df5"},{type:"doc",docId:"contribution/index",position:"left",sidebarId:"contribution",label:"\u8d21\u732e\u6307\u5357"},{type:"doc",docId:"refs/index",position:"left",sidebarId:"refs",label:"\u914d\u7f6e\u53c2\u8003"},{to:"blog",label:"\u535a\u5ba2",position:"left"},{href:"https://github.com/PKUHPC/SCOW",label:"Repo",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Docs",items:[{label:"Intro",to:"docs/info"}]},{title:"Community",items:[]},{title:"More",items:[{label:"Blog",to:"blog"},{label:"Repo",href:"https://github.com/PKUHPC/SCOW"}]}],copyright:"Copyright \xa9 2024 \u5317\u4eac\u5927\u5b66\u8ba1\u7b97\u4e0e\u6570\u5b57\u7ecf\u6d4e\u7814\u7a76\u9662. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}}}},1778:(e,t,r)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},n.apply(this,arguments)}r.d(t,{A:()=>n})},79310:(e,t,r)=>{"use strict";function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)}r.d(t,{A:()=>o})},97381:(e,t,r)=>{"use strict";function n(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}r.d(t,{A:()=>n})},46601:(e,t,r)=>{"use strict";function n(e){var t,r,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(r=n(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}r.d(t,{A:()=>o});const o=function(){for(var e,t,r=0,o="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=n(e))&&(o&&(o+=" "),o+=t);return o}},79095:(e,t,r)=>{"use strict";r.d(t,{My:()=>W,f4:()=>ee});var n,o,i,s,a,p,c,l=r(48318),d=r(46601),u=Object.create,f=Object.defineProperty,m=Object.defineProperties,g=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,x=(e,t,r)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,C=(e,t)=>{for(var r in t||(t={}))w.call(t,r)&&x(e,r,t[r]);if(y)for(var r of y(t))S.call(t,r)&&x(e,r,t[r]);return e},k=(e,t)=>m(e,h(t)),O=(e,t)=>{var r={};for(var n in e)w.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&y)for(var n of y(e))t.indexOf(n)<0&&S.call(e,n)&&(r[n]=e[n]);return r},_=(n={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},n={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,r){var o,i;switch(r=r||{},n.util.type(t)){case"Object":if(i=n.util.objId(t),r[i])return r[i];for(var s in o={},r[i]=o,t)t.hasOwnProperty(s)&&(o[s]=e(t[s],r));return o;case"Array":return i=n.util.objId(t),r[i]?r[i]:(o=[],r[i]=o,t.forEach((function(t,n){o[n]=e(t,r)})),o);default:return t}},getLanguage:function(t){for(;t;){var r=e.exec(t.className);if(r)return r[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,r){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+r)},isActive:function(e,t,r){for(var n="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(n))return!1;e=e.parentElement}return!!r}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var r=n.util.clone(n.languages[e]);for(var o in t)r[o]=t[o];return r},insertBefore:function(e,t,r,o){var i=(o=o||n.languages)[e],s={};for(var a in i)if(i.hasOwnProperty(a)){if(a==t)for(var p in r)r.hasOwnProperty(p)&&(s[p]=r[p]);r.hasOwnProperty(a)||(s[a]=i[a])}var c=o[e];return o[e]=s,n.languages.DFS(n.languages,(function(t,r){r===c&&t!=e&&(this[t]=s)})),s},DFS:function e(t,r,o,i){i=i||{};var s=n.util.objId;for(var a in t)if(t.hasOwnProperty(a)){r.call(t,a,t[a],o||a);var p=t[a],c=n.util.type(p);"Object"!==c||i[s(p)]?"Array"!==c||i[s(p)]||(i[s(p)]=!0,e(p,r,a,i)):(i[s(p)]=!0,e(p,r,null,i))}}},plugins:{},highlight:function(e,t,r){var i={code:e,grammar:t,language:r};if(n.hooks.run("before-tokenize",i),!i.grammar)throw new Error('The language "'+i.language+'" has no grammar.');return i.tokens=n.tokenize(i.code,i.grammar),n.hooks.run("after-tokenize",i),o.stringify(n.util.encode(i.tokens),i.language)},tokenize:function(e,t){var r=t.rest;if(r){for(var n in r)t[n]=r[n];delete t.rest}var o=new a;return p(o,o.head,e),s(e,o,t,o.head,0),function(e){for(var t=[],r=e.head.next;r!==e.tail;)t.push(r.value),r=r.next;return t}(o)},hooks:{all:{},add:function(e,t){var r=n.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=n.hooks.all[e];if(r&&r.length)for(var o,i=0;o=r[i++];)o(t)}},Token:o};function o(e,t,r,n){this.type=e,this.content=t,this.alias=r,this.length=0|(n||"").length}function i(e,t,r,n){e.lastIndex=t;var o=e.exec(r);if(o&&n&&o[1]){var i=o[1].length;o.index+=i,o[0]=o[0].slice(i)}return o}function s(e,t,r,a,l,d){for(var u in r)if(r.hasOwnProperty(u)&&r[u]){var f=r[u];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==u+","+m)return;var g=f[m],h=g.inside,b=!!g.lookbehind,y=!!g.greedy,v=g.alias;if(y&&!g.pattern.global){var w=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,w+"g")}for(var S=g.pattern||g,x=a.next,C=l;x!==t.tail&&!(d&&C>=d.reach);C+=x.value.length,x=x.next){var k=x.value;if(t.length>e.length)return;if(!(k instanceof o)){var O,_=1;if(y){if(!(O=i(S,C,e,b))||O.index>=e.length)break;var W=O.index,E=O.index+O[0].length,T=C;for(T+=x.value.length;W>=T;)T+=(x=x.next).value.length;if(C=T-=x.value.length,x.value instanceof o)continue;for(var j=x;j!==t.tail&&(T<E||"string"==typeof j.value);j=j.next)_++,T+=j.value.length;_--,k=e.slice(C,T),O.index-=C}else if(!(O=i(S,0,k,b)))continue;W=O.index;var A=O[0],L=k.slice(0,W),P=k.slice(W+A.length),R=C+k.length;d&&R>d.reach&&(d.reach=R);var N=x.prev;if(L&&(N=p(t,N,L),C+=L.length),c(t,N,_),x=p(t,N,new o(u,h?n.tokenize(A,h):A,v,A)),P&&p(t,x,P),_>1){var I={cause:u+","+m,reach:R};s(e,t,r,x.prev,C,I),d&&I.reach>d.reach&&(d.reach=I.reach)}}}}}}function a(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function p(e,t,r){var n=t.next,o={value:r,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function c(e,t,r){for(var n=t.next,o=0;o<r&&n!==e.tail;o++)n=n.next;t.next=n,n.prev=t,e.length-=o}return o.stringify=function e(t,r){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,r)})),o}var i={type:t.type,content:e(t.content,r),tag:"span",classes:["token",t.type],attributes:{},language:r},s=t.alias;s&&(Array.isArray(s)?Array.prototype.push.apply(i.classes,s):i.classes.push(s)),n.hooks.run("wrap",i);var a="";for(var p in i.attributes)a+=" "+p+'="'+(i.attributes[p]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+a+">"+i.content+"</"+i.tag+">"},n}();t.exports=r,r.default=r}},function(){return o||(0,n[b(n)[0]])((o={exports:{}}).exports,o),o.exports}),W=((e,t,r)=>(r=null!=e?u(v(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of b(t))w.call(e,o)||o===r||f(e,o,{get:()=>t[o],enumerable:!(n=g(t,o))||n.enumerable});return e})(!t&&e&&e.__esModule?r:f(r,"default",{value:e,enumerable:!0}),e)))(_());W.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},W.languages.markup.tag.inside["attr-value"].inside.entity=W.languages.markup.entity,W.languages.markup.doctype.inside["internal-subset"].inside=W.languages.markup,W.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(W.languages.markup.tag,"addInlined",{value:function(e,t){var r;(t=((r=((r={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:W.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}}))["language-"+t]={pattern:/[\s\S]+/,inside:W.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},W.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(W.languages.markup.tag,"addAttribute",{value:function(e,t){W.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:W.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),W.languages.html=W.languages.markup,W.languages.mathml=W.languages.markup,W.languages.svg=W.languages.markup,W.languages.xml=W.languages.extend("markup",{}),W.languages.ssml=W.languages.xml,W.languages.atom=W.languages.xml,W.languages.rss=W.languages.xml,i=W,s={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},p="(?:[^\\\\-]|"+(a=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",p=RegExp(p+"-"+p),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},i.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:p,inside:{escape:a,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":s,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:a}},"special-escape":s,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:a,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},W.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},W.languages.javascript=W.languages.extend("clike",{"class-name":[W.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),W.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,W.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:W.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:W.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:W.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:W.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:W.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),W.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:W.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),W.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),W.languages.markup&&(W.languages.markup.tag.addInlined("script","javascript"),W.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),W.languages.js=W.languages.javascript,W.languages.actionscript=W.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),W.languages.actionscript["class-name"].alias="function",delete W.languages.actionscript.parameter,delete W.languages.actionscript["literal-property"],W.languages.markup&&W.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:W.languages.markup}}),function(e){var t=/#(?!\{).+/,r={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:r}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:r}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:r}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(W),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,r){(t="string"==typeof t?[t]:t).forEach((function(t){var n=function(e){e.inside||(e.inside={}),e.inside.rest=r},o="doc-comment";if(i=e.languages[t]){var i,s=i[o];if((s=s||(i=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(s=i[o]={pattern:s}),Array.isArray(s))for(var a=0,p=s.length;a<p;a++)s[a]instanceof RegExp&&(s[a]={pattern:s[a]}),n(s[a]);else n(s)}}))}}),t.addSupport(["java","javascript","php"],t)}(W),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(W),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,r=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:r,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:r})}(W),function(e){var t=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,n="(?:"+r.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+r.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function s(e,t){t=(t||"").replace(/m/g,"")+"m";var r=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return n})).replace(/<<value>>/g,(function(){return e}));return RegExp(r,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return n}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return n})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+i+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:s(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:s(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:s(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:s(i),lookbehind:!0,greedy:!0},number:{pattern:s(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(W),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var n=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return n})),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,s=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+i+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+i+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(n),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(r){t!==r&&(e.languages.markdown[t].inside.content.inside[r]=e.languages.markdown[r])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var r=0,n=t.length;r<n;r++){var o,i=t[r];"code"!==i.type?e(i.content):(o=i.content[1],i=i.content[3],o&&i&&"code-language"===o.type&&"code-block"===i.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),i.alias?"string"==typeof i.alias?i.alias=[i.alias,o]:i.alias.push(o):i.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var r="",n=0,o=t.classes.length;n<o;n++){var i=t.classes[n];if(i=/language-(.+)/.exec(i)){r=i[1];break}}var c,l=e.languages[r];l?t.content=e.highlight(t.content.replace(s,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var r;return"#"===(t=t.toLowerCase())[0]?(r="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),p(r)):a[t]||e})),l,r):r&&"none"!==r&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(r,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[r],r))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),a={amp:"&",lt:"<",gt:">",quot:'"'},p=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(W),W.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:W.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},W.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),r=0;r<t.length;){var n=t[r++];if("keyword"===n.type&&"mutation"===n.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===l(1).content){r+=2;var i=u(/^\($/,/^\)$/);if(-1===i)continue;for(;r<i;r++){var s=l(0);"variable"===s.type&&(f(s,"variable-input"),o.push(s.content))}r=i+1}if(d(["punctuation","property-query"])&&"{"===l(0).content&&(r++,f(l(0),"property-mutation"),0<o.length)){var a=u(/^\{$/,/^\}$/);if(-1!==a)for(var p=r;p<a;p++){var c=t[p];"variable"===c.type&&0<=o.indexOf(c.content)&&f(c,"variable-input")}}}}function l(e){return t[r+e]}function d(e,t){t=t||0;for(var r=0;r<e.length;r++){var n=l(r+t);if(!n||n.type!==e[r])return}return 1}function u(e,n){for(var o=1,i=r;i<t.length;i++){var s=t[i],a=s.content;if("punctuation"===s.type&&"string"==typeof a)if(e.test(a))o++;else if(n.test(a)&&0==--o)return i}return-1}function f(e,t){var r=e.alias;r?Array.isArray(r)||(e.alias=r=[r]):e.alias=r=[],r.push(t)}})),W.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],r=t.pattern.source,n=t.inside.interpolation,o=n.inside["interpolation-punctuation"],i=n.pattern.source;function s(t,n){if(e.languages[t])return{pattern:RegExp("((?:"+n+")\\s*)"+r),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function a(t,r,n){return t={code:t,grammar:r,language:n},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function p(t,r,s){var p=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),c=0,l={},d=(p=a(p.map((function(e){if("string"==typeof e)return e;var r,n;for(e=e.content;-1!==t.indexOf((n=c++,r="___"+s.toUpperCase()+"_"+n+"___")););return l[r]=e,r})).join(""),r,s),Object.keys(l));return c=0,function t(r){for(var i=0;i<r.length;i++){if(c>=d.length)return;var s,p,u,f,m,g,h,b=r[i];"string"==typeof b||"string"==typeof b.content?(s=d[c],-1!==(h=(g="string"==typeof b?b:b.content).indexOf(s))&&(++c,p=g.substring(0,h),m=l[s],u=void 0,(f={})["interpolation-punctuation"]=o,3===(f=e.tokenize(m,f)).length&&((u=[1,1]).push.apply(u,a(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,u)),u=new e.Token("interpolation",f,n.alias,m),f=g.substring(h+s.length),m=[],p&&m.push(p),m.push(u),f&&(t(g=[f]),m.push.apply(m,g)),"string"==typeof b?(r.splice.apply(r,[i,1].concat(m)),i+=m.length-1):b.content=m)):(h=b.content,Array.isArray(h)?t(h):t([h]))}}(p),new e.Token(s,p,"language-"+s,t)}e.languages.javascript["template-string"]=[s("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),s("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),s("svg",/\bsvg/.source),s("markdown",/\b(?:markdown|md)/.source),s("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),s("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function l(e){return"string"==typeof e?e:Array.isArray(e)?e.map(l).join(""):l(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(r){for(var n=0,o=r.length;n<o;n++){var i,s,a,c=r[n];"string"!=typeof c&&(i=c.content,Array.isArray(i)?"template-string"===c.type?(c=i[1],3===i.length&&"string"!=typeof c&&"embedded-code"===c.type&&(s=l(c),c=c.alias,c=Array.isArray(c)?c[0]:c,a=e.languages[c])&&(i[1]=p(s,a,c))):t(i):"string"!=typeof i&&t([i]))}}(t.tokens)}))}(W),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(W),function(e){var t=e.languages.javascript,r=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,n="(@(?:arg|argument|param|property)\\s+(?:"+r+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(n+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(n+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return r}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+r),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(W),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(W),W.languages.n4js=W.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),W.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),W.languages.n4jsd=W.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var r=["function","function-variable","method","method-variable","property-access"],n=0;n<r.length;n++){var o=r[n],i=e.languages.javascript[o];o=(i="RegExp"===e.util.type(i)?e.languages.javascript[o]={pattern:i}:i).inside||{};(i.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(W),function(e){var t=e.util.clone(e.languages.javascript),r=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,n=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(e,t){return e=e.replace(/<S>/g,(function(){return r})).replace(/<BRACES>/g,(function(){return n})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function s(t){for(var r=[],n=0;n<t.length;n++){var o=t[n],i=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<r.length&&r[r.length-1].tagName===a(o.content[0].content[1])&&r.pop():"/>"!==o.content[o.content.length-1].content&&r.push({tagName:a(o.content[0].content[1]),openedBraces:0}):0<r.length&&"punctuation"===o.type&&"{"===o.content?r[r.length-1].openedBraces++:0<r.length&&0<r[r.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?r[r.length-1].openedBraces--:i=!0),(i||"string"==typeof o)&&0<r.length&&0===r[r.length-1].openedBraces&&(i=a(o),n<t.length-1&&("string"==typeof t[n+1]||"plain-text"===t[n+1].type)&&(i+=a(t[n+1]),t.splice(n+1,1)),0<n&&("string"==typeof t[n-1]||"plain-text"===t[n-1].type)&&(i=a(t[n-1])+i,t.splice(n-1,1),n--),t[n]=new e.Token("plain-text",i,null,i)),o.content&&"string"!=typeof o.content&&s(o.content)}}o=i(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var a=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(a).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(W),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(W),W.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},W.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=W.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(W),W.languages.c=W.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),W.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),W.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},W.languages.c.string],char:W.languages.c.char,comment:W.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:W.languages.c}}}}),W.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete W.languages.c.boolean,W.languages.objectivec=W.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete W.languages.objectivec["class-name"],W.languages.objc=W.languages.objectivec,W.languages.reason=W.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),W.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete W.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,r=0;r<2;r++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(W),W.languages.go=W.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),W.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete W.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,r=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return r}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(W),W.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},W.languages.python["string-interpolation"].inside.interpolation.inside.rest=W.languages.python,W.languages.py=W.languages.python;((e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0})})({},{dracula:()=>E,duotoneDark:()=>T,duotoneLight:()=>j,github:()=>A,jettwaveDark:()=>q,jettwaveLight:()=>H,nightOwl:()=>L,nightOwlLight:()=>P,oceanicNext:()=>I,okaidia:()=>D,oneDark:()=>Q,oneLight:()=>V,palenight:()=>F,shadesOfPurple:()=>z,synthwave84:()=>M,ultramin:()=>B,vsDark:()=>$,vsLight:()=>U});var E={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},T={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},j={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},A={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},L={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},P={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},R="#c5a5c5",N="#8dc891",I={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:R}},{types:["attr-value"],style:{color:N}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:N}},{types:["punctuation"],style:{color:N}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:R}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},D={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},F={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},M={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},B={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},$={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},U={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},q={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},H={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Q={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},V={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},G=(e,t)=>{const{plain:r}=e,n=e.styles.reduce(((e,r)=>{const{languages:n,style:o}=r;return n&&!n.includes(t)||r.types.forEach((t=>{const r=C(C({},e[t]),o);e[t]=r})),e}),{});return n.root=r,n.plain=k(C({},r),{backgroundColor:void 0}),n},K=/\r\n|\r|\n/,Y=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Z=(e,t)=>{const r=e.length;return r>0&&e[r-1]===t?e:e.concat(t)},X=e=>{const t=[[]],r=[e],n=[0],o=[e.length];let i=0,s=0,a=[];const p=[a];for(;s>-1;){for(;(i=n[s]++)<o[s];){let e,c=t[s];const l=r[s][i];if("string"==typeof l?(c=s>0?c:["plain"],e=l):(c=Z(c,l.type),l.alias&&(c=Z(c,l.alias)),e=l.content),"string"!=typeof e){s++,t.push(c),r.push(e),n.push(0),o.push(e.length);continue}const d=e.split(K),u=d.length;a.push({types:c,content:d[0]});for(let t=1;t<u;t++)Y(a),p.push(a=[]),a.push({types:c,content:d[t]})}s--,t.pop(),r.pop(),n.pop(),o.pop()}return Y(a),p},J=({children:e,language:t,code:r,theme:n,prism:o})=>{const i=t.toLowerCase(),s=((e,t)=>{const[r,n]=(0,l.useState)(G(t,e)),o=(0,l.useRef)(),i=(0,l.useRef)();return(0,l.useEffect)((()=>{t===o.current&&e===i.current||(o.current=t,i.current=e,n(G(t,e)))}),[e,t]),r})(i,n),a=(e=>(0,l.useCallback)((t=>{var r=t,{className:n,style:o,line:i}=r,s=O(r,["className","style","line"]);const a=k(C({},s),{className:(0,d.A)("token-line",n)});return"object"==typeof e&&"plain"in e&&(a.style=e.plain),"object"==typeof o&&(a.style=C(C({},a.style||{}),o)),a}),[e]))(s),p=(e=>{const t=(0,l.useCallback)((({types:t,empty:r})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=r?{display:"inline-block"}:void 0:1===t.length&&null!=r?e[t[0]]:Object.assign(null!=r?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,l.useCallback)((e=>{var r=e,{token:n,className:o,style:i}=r,s=O(r,["token","className","style"]);const a=k(C({},s),{className:(0,d.A)("token",...n.types,o),children:n.content,style:t(n)});return null!=i&&(a.style=C(C({},a.style||{}),i)),a}),[t])})(s),c=(({prism:e,code:t,grammar:r,language:n})=>{const o=(0,l.useRef)(e);return(0,l.useMemo)((()=>{if(null==r)return X([t]);const e={code:t,grammar:r,language:n,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,r),o.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,r,n])})({prism:o,language:i,code:r,grammar:o.languages[i]});return e({tokens:c,className:`prism-code language-${i}`,style:null!=s?s.root:{},getLineProps:a,getTokenProps:p})},ee=e=>(0,l.createElement)(J,k(C({},e),{prism:e.prism||W,theme:e.theme||$,code:e.code,language:e.language}))},25649:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=!0,o="Invariant failed";function i(e,t){if(!e){if(n)throw new Error(o);var r="function"==typeof t?t():t,i=r?"".concat(o,": ").concat(r):o;throw new Error(i)}}},22654:e=>{"use strict";e.exports=JSON.parse('{"theme.AnnouncementBar.closeButtonAriaLabel":"\u5173\u95ed","theme.BackToTopButton.buttonAriaLabel":"\u56de\u5230\u9876\u90e8","theme.CodeBlock.copied":"\u590d\u5236\u6210\u529f","theme.CodeBlock.copy":"\u590d\u5236","theme.CodeBlock.copyButtonAriaLabel":"\u590d\u5236\u4ee3\u7801\u5230\u526a\u8d34\u677f","theme.CodeBlock.wordWrapToggle":"\u5207\u6362\u81ea\u52a8\u6362\u884c","theme.DocSidebarItem.collapseCategoryAriaLabel":"\u6298\u53e0\u4fa7\u8fb9\u680f\u5206\u7c7b \'{label}\'","theme.DocSidebarItem.expandCategoryAriaLabel":"\u5c55\u5f00\u4fa7\u8fb9\u680f\u5206\u7c7b \'{label}\'","theme.ErrorPageContent.title":"\u9875\u9762\u5df2\u5d29\u6e83\u3002","theme.ErrorPageContent.tryAgain":"\u91cd\u8bd5","theme.NavBar.navAriaLabel":"\u4e3b\u5bfc\u822a","theme.NotFound.p1":"\u6211\u4eec\u627e\u4e0d\u5230\u60a8\u8981\u627e\u7684\u9875\u9762\u3002","theme.NotFound.p2":"\u8bf7\u8054\u7cfb\u539f\u59cb\u94fe\u63a5\u6765\u6e90\u7f51\u7ad9\u7684\u6240\u6709\u8005\uff0c\u5e76\u544a\u77e5\u4ed6\u4eec\u94fe\u63a5\u5df2\u635f\u574f\u3002","theme.NotFound.title":"\u627e\u4e0d\u5230\u9875\u9762","theme.TOCCollapsible.toggleButtonLabel":"\u672c\u9875\u603b\u89c8","theme.admonition.caution":"\u8b66\u544a","theme.admonition.danger":"\u5371\u9669","theme.admonition.info":"\u4fe1\u606f","theme.admonition.note":"\u5907\u6ce8","theme.admonition.tip":"\u63d0\u793a","theme.admonition.warning":"\u6ce8\u610f","theme.blog.archive.description":"\u5386\u53f2\u535a\u6587","theme.blog.archive.title":"\u5386\u53f2\u535a\u6587","theme.blog.paginator.navAriaLabel":"\u535a\u6587\u5217\u8868\u5206\u9875\u5bfc\u822a","theme.blog.paginator.newerEntries":"\u8f83\u65b0\u7684\u535a\u6587","theme.blog.paginator.olderEntries":"\u8f83\u65e7\u7684\u535a\u6587","theme.blog.post.paginator.navAriaLabel":"\u535a\u6587\u5206\u9875\u5bfc\u822a","theme.blog.post.paginator.newerPost":"\u8f83\u65b0\u4e00\u7bc7","theme.blog.post.paginator.olderPost":"\u8f83\u65e7\u4e00\u7bc7","theme.blog.post.plurals":"{count} \u7bc7\u535a\u6587","theme.blog.post.readMore":"\u9605\u8bfb\u66f4\u591a","theme.blog.post.readMoreLabel":"\u9605\u8bfb {title} \u7684\u5168\u6587","theme.blog.post.readingTime.plurals":"\u9605\u8bfb\u9700 {readingTime} \u5206\u949f","theme.blog.sidebar.navAriaLabel":"\u6700\u8fd1\u535a\u6587\u5bfc\u822a","theme.blog.tagTitle":"{nPosts} \u542b\u6709\u6807\u7b7e\u300c{tagName}\u300d","theme.colorToggle.ariaLabel":"\u5207\u6362\u6d45\u8272/\u6697\u9ed1\u6a21\u5f0f\uff08\u5f53\u524d\u4e3a{mode}\uff09","theme.colorToggle.ariaLabel.mode.dark":"\u6697\u9ed1\u6a21\u5f0f","theme.colorToggle.ariaLabel.mode.light":"\u6d45\u8272\u6a21\u5f0f","theme.common.editThisPage":"\u7f16\u8f91\u6b64\u9875","theme.common.headingLinkTitle":"{heading}\u7684\u76f4\u63a5\u94fe\u63a5","theme.common.skipToMainContent":"\u8df3\u5230\u4e3b\u8981\u5185\u5bb9","theme.docs.DocCard.categoryDescription.plurals":"{count} \u4e2a\u9879\u76ee","theme.docs.breadcrumbs.home":"\u4e3b\u9875\u9762","theme.docs.breadcrumbs.navAriaLabel":"\u9875\u9762\u8def\u5f84","theme.docs.paginator.navAriaLabel":"\u6587\u4ef6\u9009\u9879\u5361","theme.docs.paginator.next":"\u4e0b\u4e00\u9875","theme.docs.paginator.previous":"\u4e0a\u4e00\u9875","theme.docs.sidebar.closeSidebarButtonAriaLabel":"\u5173\u95ed\u5bfc\u822a\u680f","theme.docs.sidebar.collapseButtonAriaLabel":"\u6536\u8d77\u4fa7\u8fb9\u680f","theme.docs.sidebar.collapseButtonTitle":"\u6536\u8d77\u4fa7\u8fb9\u680f","theme.docs.sidebar.expandButtonAriaLabel":"\u5c55\u5f00\u4fa7\u8fb9\u680f","theme.docs.sidebar.expandButtonTitle":"\u5c55\u5f00\u4fa7\u8fb9\u680f","theme.docs.sidebar.navAriaLabel":"\u6587\u6863\u4fa7\u8fb9\u680f","theme.docs.sidebar.toggleSidebarButtonAriaLabel":"\u5207\u6362\u5bfc\u822a\u680f","theme.docs.tagDocListPageTitle":"{nDocsTagged}\u300c{tagName}\u300d","theme.docs.tagDocListPageTitle.nDocsTagged":"{count} \u7bc7\u6587\u6863\u5e26\u6709\u6807\u7b7e","theme.docs.versionBadge.label":"\u7248\u672c\uff1a{versionLabel}","theme.docs.versions.latestVersionLinkLabel":"\u6700\u65b0\u7248\u672c","theme.docs.versions.latestVersionSuggestionLabel":"\u6700\u65b0\u7684\u6587\u6863\u8bf7\u53c2\u9605 {latestVersionLink} ({versionLabel})\u3002","theme.docs.versions.unmaintainedVersionLabel":"\u6b64\u4e3a {siteTitle} {versionLabel} \u7248\u7684\u6587\u6863\uff0c\u73b0\u5df2\u4e0d\u518d\u79ef\u6781\u7ef4\u62a4\u3002","theme.docs.versions.unreleasedVersionLabel":"\u6b64\u4e3a {siteTitle} {versionLabel} \u7248\u5c1a\u672a\u53d1\u884c\u7684\u6587\u6863\u3002","theme.lastUpdated.atDate":"\u4e8e {date} ","theme.lastUpdated.byUser":"\u7531 {user} ","theme.lastUpdated.lastUpdatedAtBy":"\u6700\u540e{byUser}{atDate}\u66f4\u65b0","theme.navbar.mobileLanguageDropdown.label":"\u9009\u62e9\u8bed\u8a00","theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel":"\u2190 \u56de\u5230\u4e3b\u83dc\u5355","theme.navbar.mobileVersionsDropdown.label":"\u9009\u62e9\u7248\u672c","theme.tags.tagsListLabel":"\u6807\u7b7e\uff1a","theme.tags.tagsPageLink":"\u67e5\u770b\u6240\u6709\u6807\u7b7e","theme.tags.tagsPageTitle":"\u6807\u7b7e","theme.unlistedContent.message":"\u6b64\u9875\u9762\u672a\u5217\u51fa\u3002\u641c\u7d22\u5f15\u64ce\u4e0d\u4f1a\u5bf9\u5176\u7d22\u5f15\uff0c\u53ea\u6709\u62e5\u6709\u76f4\u63a5\u94fe\u63a5\u7684\u7528\u6237\u624d\u80fd\u8bbf\u95ee\u3002","theme.unlistedContent.title":"\u672a\u5217\u51fa\u9875","theme.SearchBar.label":"\u641c\u7d22","theme.SearchBar.seeAll":"\u67e5\u770b\u5168\u90e8\u7ed3\u679c","theme.SearchBar.noResultsText":"\u6ca1\u6709\u627e\u5230\u4efb\u4f55\u6587\u6863","theme.SearchBar.searchInContext":"\u67e5\u770b\u201c{context}\u201d\u4ee5\u5185\u7684\u5168\u90e8\u7ed3\u679c","theme.SearchBar.seeAllOutsideContext":"\u67e5\u770b\u201c{context}\u201d\u4ee5\u5916\u7684\u5168\u90e8\u7ed3\u679c","theme.SearchPage.existingResultsTitle":"\u201c{query}\u201d\u7684\u641c\u7d22\u7ed3\u679c","theme.SearchPage.emptyResultsTitle":"\u641c\u7d22\u6587\u6863","theme.SearchPage.documentsFound.plurals":"\u5171\u627e\u5230 {count} \u7bc7\u6587\u6863","theme.SearchPage.noResultsText":"\u6ca1\u6709\u627e\u5230\u4efb\u4f55\u6587\u6863","theme.SearchPage.searchContext.everywhere":"\u6240\u6709"}')},84054:e=>{"use strict";e.exports=JSON.parse('{"/SCOW/pr-preview/pr-1298/-18a":{"__comp":"1df93b7f","__context":{"plugin":"78135479"},"config":"5e9f5e1a"},"/SCOW/pr-preview/pr-1298/blog-92a":{"__comp":"a6aa9e1f","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"3df23af8"},{"content":"f383e482"},{"content":"0023ffb3"},{"content":"b41687e1"},{"content":"c7a4d644"},{"content":"e0907375"}],"metadata":"7a47eb1a"},"/SCOW/pr-preview/pr-1298/blog/archive-245":{"__comp":"9e4087bc","__context":{"plugin":"56e69d09"},"archive":"d05c84bd"},"/SCOW/pr-preview/pr-1298/blog/docs-online-497":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"56e69d09"},"sidebar":"814f3328","content":"588ed5a0"},"/SCOW/pr-preview/pr-1298/blog/scow-cli-release-0d3":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"56e69d09"},"sidebar":"814f3328","content":"9bee0a7d"},"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter-81e":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"56e69d09"},"sidebar":"814f3328","content":"24164a22"},"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0-33a":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"56e69d09"},"sidebar":"814f3328","content":"4af1b4a4"},"/SCOW/pr-preview/pr-1298/blog/tags-1d8":{"__comp":"01a85c17","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","tags":"d7d5528d"},"/SCOW/pr-preview/pr-1298/blog/tags/scow-f59":{"__comp":"6875c492","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"3df23af8"},{"content":"f383e482"},{"content":"0023ffb3"},{"content":"b41687e1"},{"content":"c7a4d644"},{"content":"e0907375"}],"tag":"5a3a23f4","listMetadata":"0a219fe5"},"/SCOW/pr-preview/pr-1298/blog/tags/scow-apps-173":{"__comp":"6875c492","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"f383e482"}],"tag":"bb0219a9","listMetadata":"af8bc913"},"/SCOW/pr-preview/pr-1298/blog/tags/scow-cli-9be":{"__comp":"6875c492","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"b41687e1"}],"tag":"48ca4a4c","listMetadata":"93fad3d8"},"/SCOW/pr-preview/pr-1298/blog/tags/scow-deployment-2e5":{"__comp":"6875c492","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"3df23af8"},{"content":"b41687e1"},{"content":"c7a4d644"}],"tag":"1c4e3edd","listMetadata":"725950c0"},"/SCOW/pr-preview/pr-1298/blog/tags/scow-portal-apps-97a":{"__comp":"6875c492","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"f383e482"}],"tag":"d8d27391","listMetadata":"9e59f98a"},"/SCOW/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter-7cf":{"__comp":"6875c492","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"0023ffb3"}],"tag":"2c0abe55","listMetadata":"ca086665"},"/SCOW/pr-preview/pr-1298/blog/tags/v-1-0-0-054":{"__comp":"6875c492","__context":{"plugin":"56e69d09"},"sidebar":"814f3328","items":[{"content":"3df23af8"}],"tag":"6610c469","listMetadata":"15d314a9"},"/SCOW/pr-preview/pr-1298/blog/update-portal-app-de1":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"56e69d09"},"sidebar":"814f3328","content":"6e65c112"},"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment-b3a":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"56e69d09"},"sidebar":"814f3328","content":"e53995c8"},"/SCOW/pr-preview/pr-1298/markdown-page-687":{"__comp":"1f391b9e","__context":{"plugin":"78135479"},"content":"393be207"},"/SCOW/pr-preview/pr-1298/search-cb3":{"__comp":"1a4e3797","__context":{"plugin":"30e80eb6"}},"/SCOW/pr-preview/pr-1298/docs-24e":{"__comp":"5e95c892","__context":{"plugin":"b706a0dc"}},"/SCOW/pr-preview/pr-1298/docs-e5b":{"__comp":"a7bd4aaa","version":"935f2afb"},"/SCOW/pr-preview/pr-1298/docs-e4e":{"__comp":"a94703ab"},"/SCOW/pr-preview/pr-1298/docs/basic-config-e3b":{"__comp":"17896441","content":"e95cd134"},"/SCOW/pr-preview/pr-1298/docs/category/ai-\u7cfb\u7edfbeta-3a2":{"__comp":"14eb3368","categoryGeneratedIndex":"dbeacb8f"},"/SCOW/pr-preview/pr-1298/docs/category/cli-a2e":{"__comp":"14eb3368","categoryGeneratedIndex":"95090fe2"},"/SCOW/pr-preview/pr-1298/docs/category/scow-api\u548chook-bad":{"__comp":"14eb3368","categoryGeneratedIndex":"4d7b2436"},"/SCOW/pr-preview/pr-1298/docs/category/ui\u6269\u5c55-99b":{"__comp":"14eb3368","categoryGeneratedIndex":"0b0ea684"},"/SCOW/pr-preview/pr-1298/docs/category/vagrant-90e":{"__comp":"14eb3368","categoryGeneratedIndex":"95479f07"},"/SCOW/pr-preview/pr-1298/docs/category/\u4ea4\u4e92\u5f0f\u4efb\u52a1-beta-10e":{"__comp":"14eb3368","categoryGeneratedIndex":"43d6633b"},"/SCOW/pr-preview/pr-1298/docs/category/\u4f7f\u7528\u793a\u4f8b-0a9":{"__comp":"14eb3368","categoryGeneratedIndex":"07bec90e"},"/SCOW/pr-preview/pr-1298/docs/category/\u591a\u96c6\u7fa4\u7ba1\u7406-69d":{"__comp":"14eb3368","categoryGeneratedIndex":"d09a226f"},"/SCOW/pr-preview/pr-1298/docs/category/\u5b89\u88c5-268":{"__comp":"14eb3368","categoryGeneratedIndex":"a0bc05eb"},"/SCOW/pr-preview/pr-1298/docs/category/\u5ba1\u8ba1\u7cfb\u7edf-0b6":{"__comp":"14eb3368","categoryGeneratedIndex":"1c1d17b7"},"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-5f7":{"__comp":"14eb3368","categoryGeneratedIndex":"8315913c"},"/SCOW/pr-preview/pr-1298/docs/category/\u5e94\u7528\u914d\u7f6e\u793a\u4f8b-1-4e6":{"__comp":"14eb3368","categoryGeneratedIndex":"ca74b5d2"},"/SCOW/pr-preview/pr-1298/docs/category/\u5feb\u901f\u4f53\u9a8c-aa3":{"__comp":"14eb3368","categoryGeneratedIndex":"5a8eccb4"},"/SCOW/pr-preview/pr-1298/docs/category/\u7ba1\u7406\u7cfb\u7edf-4d6":{"__comp":"14eb3368","categoryGeneratedIndex":"ced0e768"},"/SCOW/pr-preview/pr-1298/docs/category/\u7f51\u5173-544":{"__comp":"14eb3368","categoryGeneratedIndex":"b0aeb598"},"/SCOW/pr-preview/pr-1298/docs/category/\u81ea\u5b9a\u4e49-25e":{"__comp":"14eb3368","categoryGeneratedIndex":"766fec9a"},"/SCOW/pr-preview/pr-1298/docs/category/\u8ba4\u8bc1-e77":{"__comp":"14eb3368","categoryGeneratedIndex":"707cf715"},"/SCOW/pr-preview/pr-1298/docs/category/\u8c03\u5ea6\u5668-ba2":{"__comp":"14eb3368","categoryGeneratedIndex":"834d47d4"},"/SCOW/pr-preview/pr-1298/docs/category/\u8fd0\u7ef4-4ab":{"__comp":"14eb3368","categoryGeneratedIndex":"a4d86676"},"/SCOW/pr-preview/pr-1298/docs/category/\u914d\u7f6e-e6b":{"__comp":"14eb3368","categoryGeneratedIndex":"d36851ff"},"/SCOW/pr-preview/pr-1298/docs/category/\u95e8\u6237\u7cfb\u7edf-2a0":{"__comp":"14eb3368","categoryGeneratedIndex":"c413100c"},"/SCOW/pr-preview/pr-1298/docs/contribution-6ca":{"__comp":"17896441","content":"e57f1229"},"/SCOW/pr-preview/pr-1298/docs/contribution/dev-8d6":{"__comp":"17896441","content":"8d03ef63"},"/SCOW/pr-preview/pr-1298/docs/deploy-a12":{"__comp":"17896441","content":"10f77ea9"},"/SCOW/pr-preview/pr-1298/docs/deploy/architecture-e4b":{"__comp":"17896441","content":"270aea63"},"/SCOW/pr-preview/pr-1298/docs/deploy/config-947":{"__comp":"17896441","content":"296ec80a"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab-ae6":{"__comp":"17896441","content":"4274bccf"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode-7e0":{"__comp":"17896441","content":"dae56168"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app-2c3":{"__comp":"17896441","content":"35ce270c"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app-73e":{"__comp":"17896441","content":"300fc5e8"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro-6f7":{"__comp":"17896441","content":"6318ccaf"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro-faa":{"__comp":"17896441","content":"875b1c20"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent-742":{"__comp":"17896441","content":"da9155f5"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro-b38":{"__comp":"17896441","content":"cd424372"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config-24b":{"__comp":"17896441","content":"9bfb8b77"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro-295":{"__comp":"17896441","content":"a25b4132"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap-a87":{"__comp":"17896441","content":"0719cfb4"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh-436":{"__comp":"17896441","content":"f9cadbd5"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins-b41":{"__comp":"17896441","content":"fc3d3865"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config-0a2":{"__comp":"17896441","content":"5c672f9b"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath-f07":{"__comp":"17896441","content":"71e92d78"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies-50e":{"__comp":"17896441","content":"a6b6269c"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types-2e9":{"__comp":"17896441","content":"5cdb811f"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n-c4d":{"__comp":"17896441","content":"2f9acf95"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata-958":{"__comp":"17896441","content":"35db44dc"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks-5d2":{"__comp":"17896441","content":"c5b602f0"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language-f4b":{"__comp":"17896441","content":"65608051"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks-741":{"__comp":"17896441","content":"e44fec9a"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern-596":{"__comp":"17896441","content":"b4dc43d1"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files-390":{"__comp":"17896441","content":"f2814725"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui-d6e":{"__comp":"17896441","content":"cdd5e2cb"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config-9a8":{"__comp":"17896441","content":"4fa8152a"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor-d17":{"__comp":"17896441","content":"90902a62"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user-9a4":{"__comp":"17896441","content":"2efbb146"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init-661":{"__comp":"17896441","content":"2000e6e1"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro-87d":{"__comp":"17896441","content":"e722de6b"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm-21f":{"__comp":"17896441","content":"f1abeebd"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync-cf0":{"__comp":"17896441","content":"d00b81a6"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica-fe7":{"__comp":"17896441","content":"8181c4d7"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop-a4c":{"__comp":"17896441","content":"4df2913f"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs-aa8":{"__comp":"17896441","content":"15341993"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv-0a0":{"__comp":"17896441","content":"d524ea6b"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter-228":{"__comp":"17896441","content":"3845b85f"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab-303":{"__comp":"17896441","content":"b8940892"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab-962":{"__comp":"17896441","content":"4cbc5714"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave-3b4":{"__comp":"17896441","content":"f3b93fbd"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion-bd8":{"__comp":"17896441","content":"c1e84185"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio-2b6":{"__comp":"17896441","content":"886d9ccc"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode-095":{"__comp":"17896441","content":"f194c5d5"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment-342":{"__comp":"17896441","content":"cc264cac"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo-29a":{"__comp":"17896441","content":"264eac15"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes-22b":{"__comp":"17896441","content":"b569d8d0"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps-198":{"__comp":"17896441","content":"4602b3cf"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app-ac6":{"__comp":"17896441","content":"75d506d6"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app-838":{"__comp":"17896441","content":"1a2a2bba"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro-83f":{"__comp":"17896441","content":"5f88ad0a"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard-1ae":{"__comp":"17896441","content":"f537da69"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop-ec0":{"__comp":"17896441","content":"8ee61ba6"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro-0d2":{"__comp":"17896441","content":"529e0f84"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway-490":{"__comp":"17896441","content":"481303a9"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell-a29":{"__comp":"17896441","content":"5793c24f"},"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters-9de":{"__comp":"17896441","content":"42228e1f"},"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant-a12":{"__comp":"17896441","content":"4b114181"},"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization-2ba":{"__comp":"17896441","content":"83bfe665"},"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq-5b9":{"__comp":"17896441","content":"f1d6bce2"},"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images-330":{"__comp":"17896441","content":"50cb17b0"},"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env-142":{"__comp":"17896441","content":"235dd83b"},"/SCOW/pr-preview/pr-1298/docs/deploy/install-023":{"__comp":"17896441","content":"16f748ee"},"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source-283":{"__comp":"17896441","content":"ddf462b5"},"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform-634":{"__comp":"17896441","content":"1880ad5d"},"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli-c8f":{"__comp":"17896441","content":"c1f2c513"},"/SCOW/pr-preview/pr-1298/docs/deploy/ops-4eb":{"__comp":"17896441","content":"b3d3256b"},"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips-a84":{"__comp":"17896441","content":"921ea997"},"/SCOW/pr-preview/pr-1298/docs/hpccluster-886":{"__comp":"17896441","content":"cd539b66"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user-1bf":{"__comp":"17896441","content":"ed1aabbe"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor-2b2":{"__comp":"17896441","content":"e10f4f39"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf-cc3":{"__comp":"17896441","content":"d534a19b"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf-2ae":{"__comp":"17896441","content":"4b3e4006"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel-95d":{"__comp":"17896441","content":"7d0af991"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/module-55c":{"__comp":"17896441","content":"56655189"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk-95a":{"__comp":"17896441","content":"e2e031cd"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs-426":{"__comp":"17896441","content":"27379729"},"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan-1d4":{"__comp":"17896441","content":"ab90b937"},"/SCOW/pr-preview/pr-1298/docs/info-8f4":{"__comp":"17896441","content":"32e6b22b"},"/SCOW/pr-preview/pr-1298/docs/info/ai-82d":{"__comp":"17896441","content":"cc0fc0ef"},"/SCOW/pr-preview/pr-1298/docs/info/mis-abc":{"__comp":"17896441","content":"c66c8cf1"},"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing-b4d":{"__comp":"17896441","content":"73781f44"},"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users-e3a":{"__comp":"17896441","content":"83b97878"},"/SCOW/pr-preview/pr-1298/docs/info/portal-ca2":{"__comp":"17896441","content":"134a9cd2"},"/SCOW/pr-preview/pr-1298/docs/info/portal/app-165":{"__comp":"17896441","content":"d18c46a9"},"/SCOW/pr-preview/pr-1298/docs/info/portal/job-361":{"__comp":"17896441","content":"041c0eb7"},"/SCOW/pr-preview/pr-1298/docs/integration-5fb":{"__comp":"17896441","content":"f58cd18e"},"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl-2aa":{"__comp":"17896441","content":"e5e271d9"},"/SCOW/pr-preview/pr-1298/docs/integration/auth/use-a0a":{"__comp":"17896441","content":"4b1253d4"},"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api-86f":{"__comp":"17896441","content":"504f4918"},"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic-1fe":{"__comp":"17896441","content":"f8b6983b"},"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go-1b2":{"__comp":"17896441","content":"642269fc"},"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook-3af":{"__comp":"17896441","content":"ad98ab2d"},"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto-6d5":{"__comp":"17896441","content":"41beef73"},"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension-701":{"__comp":"17896441","content":"0ed0cbdf"},"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop-9c0":{"__comp":"17896441","content":"ab8014e4"},"/SCOW/pr-preview/pr-1298/docs/multi_cluster-600":{"__comp":"17896441","content":"27118133"},"/SCOW/pr-preview/pr-1298/docs/refs-c49":{"__comp":"17896441","content":"8a006bc4"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app-510":{"__comp":"17896441","content":"6d05d604"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-005":{"__comp":"17896441","content":"c8ca1670"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name-43c":{"__comp":"17896441","content":"135cdc30"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-1ea":{"__comp":"17896441","content":"530f30b9"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items-5b6":{"__comp":"17896441","content":"6091f775"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-75b":{"__comp":"17896441","content":"102a15c7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0-b32":{"__comp":"17896441","content":"ca808249"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1-dfb":{"__comp":"17896441","content":"996b20f7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-4dc":{"__comp":"17896441","content":"058f61b7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup-00d":{"__comp":"17896441","content":"d36b53ca"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-b40":{"__comp":"17896441","content":"9117ebf9"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript-23c":{"__comp":"17896441","content":"7e358b27"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-a9c":{"__comp":"17896441","content":"760ec2c8"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-926":{"__comp":"17896441","content":"fd9d9fc2"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-de9":{"__comp":"17896441","content":"4dc4ac6a"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties--bf8":{"__comp":"17896441","content":"9fce2471"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-3af":{"__comp":"17896441","content":"6c8a2e8a"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0-5cc":{"__comp":"17896441","content":"6603c338"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1-05c":{"__comp":"17896441","content":"9bed1141"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path-3e5":{"__comp":"17896441","content":"de526efe"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-ecf":{"__comp":"17896441","content":"b26bb1dc"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-abf":{"__comp":"17896441","content":"104930f1"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties--120":{"__comp":"17896441","content":"49a81271"},"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script-654":{"__comp":"17896441","content":"cacd4a48"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster-5d5":{"__comp":"17896441","content":"7ae2e072"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-33d":{"__comp":"17896441","content":"4be18fe5"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname-a03":{"__comp":"17896441","content":"7ba6c5b9"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore-82f":{"__comp":"17896441","content":"2cba0029"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-52d":{"__comp":"17896441","content":"b5149d2c"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0-fa5":{"__comp":"17896441","content":"d4cbbfe3"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-3a5":{"__comp":"17896441","content":"9904ccd0"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-1ea":{"__comp":"17896441","content":"c77d0a39"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items-a4d":{"__comp":"17896441","content":"541590dc"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-67b":{"__comp":"17896441","content":"6371f3df"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items-e2b":{"__comp":"17896441","content":"a8e7d297"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-dcc":{"__comp":"17896441","content":"288d6068"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename-718":{"__comp":"17896441","content":"95052379"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword-fb3":{"__comp":"17896441","content":"6d7d51cf"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl-ba3":{"__comp":"17896441","content":"8f9ca38a"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath-4b6":{"__comp":"17896441","content":"32e25c5c"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-748":{"__comp":"17896441","content":"972d4ae7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-ca2":{"__comp":"17896441","content":"e8a0c150"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--2b1":{"__comp":"17896441","content":"618c6699"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment-a30":{"__comp":"17896441","content":"c718d69e"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores-c1d":{"__comp":"17896441","content":"74d28950"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus-9eb":{"__comp":"17896441","content":"e00e09f9"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem-959":{"__comp":"17896441","content":"ae452c37"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes-876":{"__comp":"17896441","content":"ef4f1127"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-208":{"__comp":"17896441","content":"5fd64547"},"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items-8ee":{"__comp":"17896441","content":"17208778"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts-585":{"__comp":"17896441","content":"3fbcfebf"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-8bf":{"__comp":"17896441","content":"ef0a3fb1"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-587":{"__comp":"17896441","content":"9145f5ac"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--669":{"__comp":"17896441","content":"162a2e8e"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment-71f":{"__comp":"17896441","content":"6144ba72"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-25f":{"__comp":"17896441","content":"18e39512"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-682":{"__comp":"17896441","content":"740f0f16"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content-e27":{"__comp":"17896441","content":"605fff6e"},"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title-098":{"__comp":"17896441","content":"5c19d128"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis-60a":{"__comp":"17896441","content":"a4ad22f5"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-db2":{"__comp":"17896441","content":"d0e820e2"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-a24":{"__comp":"17896441","content":"691071dc"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage-182":{"__comp":"17896441","content":"2046b0a8"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex-578":{"__comp":"17896441","content":"a52439c7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl-d6b":{"__comp":"17896441","content":"8b602a21"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype-880":{"__comp":"17896441","content":"f9c7338a"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-5ac":{"__comp":"17896441","content":"7347c163"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname-70f":{"__comp":"17896441","content":"0f17fb15"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug-939":{"__comp":"17896441","content":"89e9f6e7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host-b05":{"__comp":"17896441","content":"de670940"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password-162":{"__comp":"17896441","content":"c2496278"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port-b38":{"__comp":"17896441","content":"f745c053"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user-626":{"__comp":"17896441","content":"ca437f48"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-c8c":{"__comp":"17896441","content":"983feadf"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize-43a":{"__comp":"17896441","content":"ee1368cd"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-8a6":{"__comp":"17896441","content":"5c336a8b"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname-c91":{"__comp":"17896441","content":"df576f10"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host-6d9":{"__comp":"17896441","content":"786ceb8d"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password-05c":{"__comp":"17896441","content":"57ff00fe"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port-161":{"__comp":"17896441","content":"0d635f54"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename-70a":{"__comp":"17896441","content":"7330e3de"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user-8f7":{"__comp":"17896441","content":"3a4721f9"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-9dd":{"__comp":"17896441","content":"7d1a29d8"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default-163":{"__comp":"17896441","content":"5b3bec20"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron-f6b":{"__comp":"17896441","content":"49cc2738"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled-7d5":{"__comp":"17896441","content":"447d3b5d"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex-9be":{"__comp":"17896441","content":"0ebeba4c"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment-38e":{"__comp":"17896441","content":"af8efd43"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype-ba0":{"__comp":"17896441","content":"515951e7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl-023":{"__comp":"17896441","content":"4bfdffa6"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-3fc":{"__comp":"17896441","content":"6b027799"},"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items-a62":{"__comp":"17896441","content":"fd2af939"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal-a4d":{"__comp":"17896441","content":"3ca54f8b"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-913":{"__comp":"17896441","content":"3fb875ce"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir-b9c":{"__comp":"17896441","content":"0809e651"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps-5d0":{"__comp":"17896441","content":"bce71fda"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-afa":{"__comp":"17896441","content":"59894842"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext-6c6":{"__comp":"17896441","content":"5490b0a7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-ab9":{"__comp":"17896441","content":"6ffbd0f4"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default-84c":{"__comp":"17896441","content":"5b053c0b"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-435":{"__comp":"17896441","content":"2d109f9d"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties--249":{"__comp":"17896441","content":"4dc79cf7"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-100":{"__comp":"17896441","content":"3033e5d5"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext-f25":{"__comp":"17896441","content":"a2b87712"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-bf6":{"__comp":"17896441","content":"986b6d4a"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default-c32":{"__comp":"17896441","content":"3b168db0"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-2e1":{"__comp":"17896441","content":"cbf5d2a0"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties--23d":{"__comp":"17896441","content":"575ec6fe"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement-edd":{"__comp":"17896441","content":"3dd28916"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-9b3":{"__comp":"17896441","content":"2781b32a"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled-382":{"__comp":"17896441","content":"f7f99c03"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops-796":{"__comp":"17896441","content":"c93ae627"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-d89":{"__comp":"17896441","content":"c4578cd2"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0-799":{"__comp":"17896441","content":"bb4989ea"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-95e":{"__comp":"17896441","content":"ec1eb26c"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name-1f1":{"__comp":"17896441","content":"acba7cd2"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm-412":{"__comp":"17896441","content":"cf085041"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl-4c4":{"__comp":"17896441","content":"c470300a"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir-155":{"__comp":"17896441","content":"19b62525"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell-98e":{"__comp":"17896441","content":"006bd8ee"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd-41a":{"__comp":"17896441","content":"44dd9873"},"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath-eb2":{"__comp":"17896441","content":"04add352"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui-1bb":{"__comp":"17896441","content":"88e4b177"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-771":{"__comp":"17896441","content":"6262d4a9"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-4b0":{"__comp":"17896441","content":"6a813a07"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext-cb6":{"__comp":"17896441","content":"5a872021"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-fa8":{"__comp":"17896441","content":"ed5bbd30"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-974":{"__comp":"17896441","content":"35441759"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties--4cd":{"__comp":"17896441","content":"fc59bd41"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-1cb":{"__comp":"17896441","content":"6a2e412c"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor-d00":{"__comp":"17896441","content":"b089b694"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-3b2":{"__comp":"17896441","content":"134ac117"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-5d5":{"__comp":"17896441","content":"e7d646cc"},"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties--6ab":{"__comp":"17896441","content":"20b0fd8e"},"/SCOW/pr-preview/pr-1298/docs/refs/env/auth-c88":{"__comp":"17896441","content":"a5ef1f4b"},"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway-9f0":{"__comp":"17896441","content":"7f5809d2"},"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server-ab1":{"__comp":"17896441","content":"399409c2"},"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web-816":{"__comp":"17896441","content":"f175d574"},"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web-bb8":{"__comp":"17896441","content":"77a21a71"},"/SCOW/pr-preview/pr-1298/docs/slurm-a29":{"__comp":"17896441","content":"10b97c91"}}')}},e=>{e.O(0,[1869],(()=>{return t=75589,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/pr-preview/pr-1298/assets/js/main.639eb0e0.js.LICENSE.txt b/pr-preview/pr-1298/assets/js/main.639eb0e0.js.LICENSE.txt deleted file mode 100644 index 27f6e4e600..0000000000 --- a/pr-preview/pr-1298/assets/js/main.639eb0e0.js.LICENSE.txt +++ /dev/null @@ -1,135 +0,0 @@ -/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */ - -/*! - * Snowball JavaScript Library v0.3 - * http://code.google.com/p/urim/ - * http://snowball.tartarus.org/ - * - * Copyright 2010, Oleg Mazko - * http://www.mozilla.org/MPL/ - */ - -/*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ - -/*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! Bundled license information: - -prismjs/prism.js: - (** - * Prism: Lightweight, robust, elegant syntax highlighting - * - * @license MIT <https://opensource.org/licenses/MIT> - * @author Lea Verou <https://lea.verou.me> - * @namespace - * @public - *) -*/ - -/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * react-jsx-runtime.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - */ - -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/pr-preview/pr-1298/assets/js/runtime~main.4f1ce97d.js b/pr-preview/pr-1298/assets/js/runtime~main.4f1ce97d.js deleted file mode 100644 index 6484c4c9f2..0000000000 --- a/pr-preview/pr-1298/assets/js/runtime~main.4f1ce97d.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,c,a,d,f,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(c,a,d,f)=>{if(!a){var b=1/0;for(i=0;i<e.length;i++){a=e[i][0],d=e[i][1],f=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&f||b>=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f<b&&(b=f));if(t){e.splice(i--,1);var n=d();void 0!==n&&(c=n)}}return c}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[a,d,f]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};c=c||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(f,b),f},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({58:"f1d6bce2",89:"7330e3de",116:"5f88ad0a",247:"0719cfb4",263:"10b97c91",293:"e5e271d9",338:"9bed1141",392:"4dc79cf7",398:"7ba6c5b9",424:"d7d5528d",449:"bb0219a9",453:"bb4989ea",455:"5c672f9b",478:"5fd64547",506:"4cbc5714",573:"c66c8cf1",662:"ddf462b5",665:"0b0ea684",681:"6d7d51cf",684:"5a8eccb4",717:"5490b0a7",756:"6144ba72",769:"da9155f5",790:"7ae2e072",806:"5a3a23f4",826:"44dd9873",834:"ab8014e4",878:"04add352",929:"4dc4ac6a",1107:"104930f1",1212:"d4cbbfe3",1251:"530f30b9",1322:"541590dc",1328:"e8a0c150",1359:"c93ae627",1399:"8a006bc4",1400:"f175d574",1439:"4fa8152a",1446:"f194c5d5",1501:"e10f4f39",1605:"32e25c5c",1640:"e44fec9a",1658:"6318ccaf",1660:"ed1aabbe",1661:"95052379",1752:"972d4ae7",1754:"0a219fe5",1761:"b41687e1",1765:"88e4b177",1836:"f383e482",1854:"4df2913f",1903:"acecf23e",1909:"56e69d09",1914:"2c0abe55",1917:"50cb17b0",1954:"dbeacb8f",1959:"4b3e4006",2042:"5793c24f",2071:"17208778",2138:"1a4e3797",2153:"6b027799",2165:"006bd8ee",2173:"d05c84bd",2212:"9fce2471",2242:"07bec90e",2269:"575ec6fe",2289:"fc3d3865",2334:"75d506d6",2428:"57ff00fe",2455:"300fc5e8",2484:"d36851ff",2559:"9117ebf9",2561:"d09a226f",2575:"5a872021",2710:"df576f10",2711:"9e4087bc",2726:"6e65c112",2795:"b8940892",2796:"264eac15",2827:"fd9d9fc2",2831:"10f77ea9",2842:"d524ea6b",2889:"a0bc05eb",2941:"2781b32a",2943:"834d47d4",2980:"90902a62",2990:"6610c469",3043:"f3b93fbd",3151:"5b3bec20",3192:"ab90b937",3212:"ca808249",3249:"ccc49370",3260:"65608051",3262:"2000e6e1",3288:"e57f1229",3308:"7e358b27",3328:"7f5809d2",3362:"6091f775",3367:"041c0eb7",3470:"77a21a71",3525:"4d7b2436",3550:"74d28950",3565:"c77d0a39",3587:"4b114181",3758:"235dd83b",3784:"1880ad5d",3793:"6371f3df",3814:"cf085041",3836:"cd424372",3883:"7347c163",3955:"b0aeb598",4011:"15d314a9",4030:"134ac117",4134:"393be207",4139:"a4d86676",4166:"8315913c",4168:"4af1b4a4",4281:"35ce270c",4307:"c470300a",4323:"0ed0cbdf",4339:"ca437f48",4346:"996b20f7",4391:"0023ffb3",4453:"6ffbd0f4",4454:"3fb875ce",4459:"b569d8d0",4473:"16f748ee",4519:"7d1a29d8",4534:"71e92d78",4535:"162a2e8e",4560:"2d109f9d",4583:"1df93b7f",4586:"058f61b7",4602:"59894842",4701:"f8b6983b",4774:"cbf5d2a0",4791:"a5ef1f4b",4804:"2f9acf95",4807:"8ee61ba6",4813:"6875c492",4819:"18e39512",4839:"27118133",4846:"ee1368cd",4847:"a2b87712",4863:"9904ccd0",4905:"dae56168",4960:"0d635f54",4975:"c1f2c513",5101:"9e59f98a",5110:"a6b6269c",5121:"a52439c7",5144:"9bee0a7d",5165:"0809e651",5171:"ae452c37",5187:"4be18fe5",5198:"e722de6b",5208:"5c336a8b",5214:"c718d69e",5220:"43d6633b",5227:"875b1c20",5314:"f7f99c03",5316:"504f4918",5319:"986b6d4a",5376:"89e9f6e7",5403:"de526efe",5409:"32e6b22b",5424:"ca086665",5488:"f537da69",5499:"886d9ccc",5616:"3df23af8",5641:"5cdb811f",5684:"d36b53ca",5740:"acba7cd2",5762:"56655189",5842:"5c19d128",5863:"0f17fb15",5872:"ec1eb26c",5995:"3b168db0",6015:"c5b602f0",6030:"83bfe665",6054:"c413100c",6061:"1f391b9e",6070:"bce71fda",6093:"0ebeba4c",6137:"e95cd134",6144:"b706a0dc",6145:"d18c46a9",6217:"e7d646cc",6236:"8d03ef63",6260:"49cc2738",6270:"6a813a07",6276:"c7a4d644",6277:"1c1d17b7",6326:"cc264cac",6354:"f745c053",6398:"7d0af991",6412:"49a81271",6414:"1c4e3edd",6429:"b5149d2c",6467:"5b053c0b",6474:"4274bccf",6494:"4bfdffa6",6526:"6d05d604",6578:"2046b0a8",6579:"ca74b5d2",6605:"2efbb146",6634:"41beef73",6670:"de670940",6720:"ef0a3fb1",6784:"3dd28916",6827:"cacd4a48",6852:"95479f07",6862:"b3d3256b",6927:"ef4f1127",6963:"6a2e412c",6969:"14eb3368",7017:"288d6068",7055:"588ed5a0",7061:"6c8a2e8a",7098:"a7bd4aaa",7133:"fd2af939",7149:"6262d4a9",7156:"3845b85f",7259:"3ca54f8b",7288:"ad98ab2d",7362:"2cba0029",7367:"fc59bd41",7433:"d8d27391",7441:"f1abeebd",7469:"73781f44",7472:"814f3328",7540:"a4ad22f5",7565:"135cdc30",7577:"515951e7",7595:"9145f5ac",7643:"a6aa9e1f",7649:"e0907375",7663:"f9cadbd5",7695:"b26bb1dc",7720:"d534a19b",7730:"15341993",7744:"134a9cd2",7759:"605fff6e",7783:"c4578cd2",7799:"7a47eb1a",7805:"19b62525",7815:"f58cd18e",7859:"83b97878",7897:"42228e1f",7910:"9bfb8b77",7939:"cd539b66",8052:"b4dc43d1",8062:"c8ca1670",8122:"3fbcfebf",8178:"766fec9a",8209:"01a85c17",8211:"102a15c7",8260:"30e80eb6",8271:"cc0fc0ef",8297:"f9c7338a",8307:"93fad3d8",8308:"c1e84185",8341:"8181c4d7",8351:"95090fe2",8383:"296ec80a",8397:"ced0e768",8401:"17896441",8447:"983feadf",8460:"691071dc",8523:"740f0f16",8530:"447d3b5d",8575:"3033e5d5",8581:"935f2afb",8588:"c2496278",8673:"78135479",8701:"35441759",8703:"e00e09f9",8725:"d00b81a6",8794:"ed5bbd30",8819:"642269fc",8840:"20b0fd8e",8925:"1a2a2bba",8971:"6603c338",9001:"618c6699",9011:"760ec2c8",9020:"e2e031cd",9048:"a94703ab",9134:"786ceb8d",9136:"4b1253d4",9160:"725950c0",9235:"d0e820e2",9318:"921ea997",9351:"8b602a21",9392:"af8bc913",9398:"399409c2",9410:"e53995c8",9413:"cdd5e2cb",9450:"af8efd43",9485:"a25b4132",9618:"529e0f84",9647:"5e95c892",9650:"481303a9",9659:"707cf715",9688:"270aea63",9712:"3a4721f9",9728:"8f9ca38a",9733:"4602b3cf",9771:"27379729",9798:"35db44dc",9811:"b089b694",9838:"f2814725",9882:"a8e7d297",9893:"24164a22",9981:"48ca4a4c"}[e]||e)+"."+{58:"fb49932b",89:"62cdc83c",116:"5b9600a4",247:"1072e150",263:"b87b2c39",293:"051722a9",338:"0cb2c9cd",392:"1378c669",398:"5724e059",424:"625c038c",449:"554e61ad",453:"af8b2b0c",455:"669af07a",478:"08da49fd",506:"db1fdb6f",573:"f3ea5eb7",662:"0f8006c1",665:"afa26a73",681:"af0a6a97",684:"982a6941",717:"2eb143fd",756:"7d036465",769:"8d169cf7",790:"31a4093f",806:"f44dcda9",826:"8be22da1",834:"4460c019",878:"c3f6721f",929:"d6daec48",1107:"6f36da85",1212:"6c2c6a2d",1251:"f038a12e",1322:"0ead0e72",1328:"596cb2b6",1359:"3547c898",1399:"2f768482",1400:"55463de6",1439:"87d6f0d3",1446:"163dae18",1501:"7cfd12ea",1531:"496182e6",1605:"7d6039ad",1640:"d1706c63",1658:"3cd13ca5",1660:"1abae96e",1661:"02bb0503",1752:"5e18c814",1754:"55c4f5b1",1761:"a81304e7",1765:"cebe6740",1836:"50afac30",1854:"74f18c27",1903:"1343ea8c",1909:"a83c09c9",1914:"7cd5ed92",1917:"93856697",1954:"00b20e9d",1959:"e7859506",2042:"89257d41",2071:"b64dfcf8",2138:"37fc0cd6",2153:"3a861128",2165:"e21d06e2",2173:"ce760585",2212:"43bb23ba",2242:"c13c2854",2269:"98782366",2289:"60384bb4",2334:"5fe29c95",2428:"1cf128fd",2455:"fd2e14b5",2484:"3c632d22",2559:"87c87fec",2561:"7b8f2d7d",2575:"030b9258",2710:"1b2b00ea",2711:"69ca59cf",2726:"35e1aadf",2795:"f896905e",2796:"73926e83",2827:"fc47b8c0",2831:"72a8d33c",2842:"98533bfe",2889:"041d0386",2941:"63575cee",2943:"ea483e23",2980:"0bb42bc7",2990:"189db43d",3043:"167f9741",3151:"29e6b854",3192:"3a3c8bf2",3212:"af17a5e7",3249:"adc9e168",3260:"d2ad7a75",3262:"cd603114",3288:"a9ecbe48",3308:"21740e99",3328:"9cb74c95",3362:"8f85e7e4",3367:"7e50fd26",3470:"c204ff6a",3525:"b844365f",3550:"2d927216",3565:"d34f95e6",3587:"476aa5a7",3758:"bfc1eec4",3784:"60d502cb",3793:"bf7404b5",3814:"b33c83b6",3836:"eae215f7",3883:"7212dd95",3955:"3d7f2412",4011:"6a5475c1",4030:"c4f9754a",4134:"d9304be5",4139:"1b9d4e3f",4166:"d298d7b5",4168:"815b6868",4281:"caa99d7b",4307:"8f00ff33",4323:"8baf9512",4332:"e27ec33a",4339:"05c41fe1",4346:"e49fd654",4391:"b8848765",4453:"01492736",4454:"286f025d",4459:"26569a89",4473:"83a030a6",4519:"9669b2c8",4534:"a4bfc40c",4535:"42d10bf0",4560:"39834888",4583:"77ad130e",4586:"8f3afe86",4602:"33cf6c89",4701:"08d533e7",4774:"a80ed9ef",4791:"91440ec0",4804:"630c5e58",4807:"ba667cd2",4813:"e21c1f4f",4819:"dee08c9c",4839:"d72b4c83",4846:"4f98d401",4847:"eacb7826",4863:"6a4a5d25",4905:"aa0b2d66",4960:"fe54ee3f",4975:"8a118f26",5101:"d08bcad6",5110:"403bb593",5121:"e5b517c2",5144:"9c348025",5165:"b4f60377",5171:"7a81add8",5187:"9e1e8c53",5198:"2db40e72",5208:"598d02a9",5214:"12988fd7",5220:"04bfdb7b",5227:"32b5207b",5314:"6b4b5b84",5316:"9b9e0eff",5319:"6a78fcba",5376:"ebc85916",5403:"6efead60",5409:"55cb9ce5",5424:"97e0588e",5488:"d9a77f51",5499:"88c3a2a6",5616:"5de0ebe2",5641:"6042b7d7",5684:"9fe6a788",5740:"dce10222",5762:"5042e5fe",5842:"1e544212",5863:"d387a49a",5872:"aab19153",5995:"91d68fce",6015:"66ce0418",6030:"446b855d",6054:"778760a6",6061:"05180b19",6070:"a36ef90a",6093:"b4be1efe",6137:"d1994bcc",6144:"3d9ef88d",6145:"4d06c56c",6217:"795c887d",6236:"3361b6d4",6260:"0ee7b81c",6270:"67706247",6276:"5e652ca5",6277:"a27cf928",6326:"5b16108e",6354:"40af6985",6398:"8e8de0f4",6412:"518a3951",6414:"ddbbcb61",6429:"be48a356",6467:"f3b45d07",6474:"cc9385e1",6494:"8d96cc27",6526:"7be2795e",6578:"97619a45",6579:"9919dcf1",6605:"8353e12a",6634:"df0e3117",6643:"46c794dc",6670:"613a8e17",6720:"9d150dba",6784:"1a07cf2f",6827:"0021f981",6852:"92f8418e",6862:"0b0b1dff",6927:"0f6f2da6",6963:"b3a7ba47",6969:"bbc8ca42",7017:"32328e91",7055:"2ff12486",7061:"db884f74",7098:"9f35a7c4",7133:"c2dcfb63",7149:"de2a5649",7156:"bfcde5aa",7259:"eb9c3f7b",7288:"81f37278",7362:"6b78807c",7367:"769ad369",7433:"e325699d",7441:"f85e2ca5",7469:"fdccafe5",7472:"6feb072a",7540:"ba3d0768",7565:"6f90e505",7577:"16de3399",7595:"9880d946",7643:"4ad74833",7649:"0eccf75d",7663:"d932ebd4",7695:"0fa4e0b7",7720:"569d8bb6",7730:"6fecdaf5",7744:"c86a7761",7759:"38be1d88",7783:"f86336f4",7799:"1e86c006",7805:"9c67046c",7815:"07d7d1e1",7859:"9831d582",7897:"5da6eca3",7910:"32b7bbbb",7939:"cf8e8d5c",8052:"ffaa4827",8062:"fb873e44",8092:"6c21d8bf",8122:"a17da8df",8178:"a8d40f02",8209:"dfb1b9a7",8211:"05a73ac6",8260:"659ea24b",8271:"71e1e790",8297:"5ee06263",8307:"bbe6d21d",8308:"bf98d296",8341:"a75f8275",8351:"4f6864a3",8383:"dea977a8",8397:"3a7ad99c",8401:"9bd3d7a3",8447:"82680f8d",8460:"50ece12e",8523:"f8f824c6",8530:"f2c1ca81",8575:"1a45389b",8581:"eb372f4f",8588:"20d6601c",8673:"d72b7e5a",8701:"7586eca7",8703:"b421f393",8725:"5fef0bcc",8794:"232cca14",8819:"101f9c48",8840:"4a26b9df",8925:"5a66d9b5",8971:"003012f3",9001:"dacef963",9011:"b37c7e06",9020:"b41f87fe",9048:"bdf2acdf",9134:"821fda83",9136:"1471b9d5",9160:"f2cbe018",9235:"3a51f3e2",9273:"b048f588",9318:"1e6679d5",9351:"129e6daa",9392:"3d762b22",9398:"0aba3ead",9410:"32ce1e02",9413:"f5e8970a",9450:"d5cf2736",9485:"ebd5dc52",9618:"4eab112f",9647:"be8e586c",9650:"a201b782",9659:"7ea09377",9688:"52003902",9712:"4eea86ad",9728:"32f1698d",9733:"7342e621",9771:"62632731",9798:"fa4c5ab6",9811:"2d611ce8",9838:"b401d4f5",9882:"a5d5a5e6",9893:"7cbb31f8",9981:"67f6cd70"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),d={},f="@scow/docs:",r.l=(e,c,a,b)=>{if(d[e])d[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+a){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",f+a),t.src=e),d[e]=[c];var l=(c,a)=>{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/SCOW/pr-preview/pr-1298/",r.gca=function(e){return e={15341993:"7730",17208778:"2071",17896441:"8401",27118133:"4839",27379729:"9771",35441759:"8701",56655189:"5762",59894842:"4602",65608051:"3260",78135479:"8673",95052379:"1661",f1d6bce2:"58","7330e3de":"89","5f88ad0a":"116","0719cfb4":"247","10b97c91":"263",e5e271d9:"293","9bed1141":"338","4dc79cf7":"392","7ba6c5b9":"398",d7d5528d:"424",bb0219a9:"449",bb4989ea:"453","5c672f9b":"455","5fd64547":"478","4cbc5714":"506",c66c8cf1:"573",ddf462b5:"662","0b0ea684":"665","6d7d51cf":"681","5a8eccb4":"684","5490b0a7":"717","6144ba72":"756",da9155f5:"769","7ae2e072":"790","5a3a23f4":"806","44dd9873":"826",ab8014e4:"834","04add352":"878","4dc4ac6a":"929","104930f1":"1107",d4cbbfe3:"1212","530f30b9":"1251","541590dc":"1322",e8a0c150:"1328",c93ae627:"1359","8a006bc4":"1399",f175d574:"1400","4fa8152a":"1439",f194c5d5:"1446",e10f4f39:"1501","32e25c5c":"1605",e44fec9a:"1640","6318ccaf":"1658",ed1aabbe:"1660","972d4ae7":"1752","0a219fe5":"1754",b41687e1:"1761","88e4b177":"1765",f383e482:"1836","4df2913f":"1854",acecf23e:"1903","56e69d09":"1909","2c0abe55":"1914","50cb17b0":"1917",dbeacb8f:"1954","4b3e4006":"1959","5793c24f":"2042","1a4e3797":"2138","6b027799":"2153","006bd8ee":"2165",d05c84bd:"2173","9fce2471":"2212","07bec90e":"2242","575ec6fe":"2269",fc3d3865:"2289","75d506d6":"2334","57ff00fe":"2428","300fc5e8":"2455",d36851ff:"2484","9117ebf9":"2559",d09a226f:"2561","5a872021":"2575",df576f10:"2710","9e4087bc":"2711","6e65c112":"2726",b8940892:"2795","264eac15":"2796",fd9d9fc2:"2827","10f77ea9":"2831",d524ea6b:"2842",a0bc05eb:"2889","2781b32a":"2941","834d47d4":"2943","90902a62":"2980","6610c469":"2990",f3b93fbd:"3043","5b3bec20":"3151",ab90b937:"3192",ca808249:"3212",ccc49370:"3249","2000e6e1":"3262",e57f1229:"3288","7e358b27":"3308","7f5809d2":"3328","6091f775":"3362","041c0eb7":"3367","77a21a71":"3470","4d7b2436":"3525","74d28950":"3550",c77d0a39:"3565","4b114181":"3587","235dd83b":"3758","1880ad5d":"3784","6371f3df":"3793",cf085041:"3814",cd424372:"3836","7347c163":"3883",b0aeb598:"3955","15d314a9":"4011","134ac117":"4030","393be207":"4134",a4d86676:"4139","8315913c":"4166","4af1b4a4":"4168","35ce270c":"4281",c470300a:"4307","0ed0cbdf":"4323",ca437f48:"4339","996b20f7":"4346","0023ffb3":"4391","6ffbd0f4":"4453","3fb875ce":"4454",b569d8d0:"4459","16f748ee":"4473","7d1a29d8":"4519","71e92d78":"4534","162a2e8e":"4535","2d109f9d":"4560","1df93b7f":"4583","058f61b7":"4586",f8b6983b:"4701",cbf5d2a0:"4774",a5ef1f4b:"4791","2f9acf95":"4804","8ee61ba6":"4807","6875c492":"4813","18e39512":"4819",ee1368cd:"4846",a2b87712:"4847","9904ccd0":"4863",dae56168:"4905","0d635f54":"4960",c1f2c513:"4975","9e59f98a":"5101",a6b6269c:"5110",a52439c7:"5121","9bee0a7d":"5144","0809e651":"5165",ae452c37:"5171","4be18fe5":"5187",e722de6b:"5198","5c336a8b":"5208",c718d69e:"5214","43d6633b":"5220","875b1c20":"5227",f7f99c03:"5314","504f4918":"5316","986b6d4a":"5319","89e9f6e7":"5376",de526efe:"5403","32e6b22b":"5409",ca086665:"5424",f537da69:"5488","886d9ccc":"5499","3df23af8":"5616","5cdb811f":"5641",d36b53ca:"5684",acba7cd2:"5740","5c19d128":"5842","0f17fb15":"5863",ec1eb26c:"5872","3b168db0":"5995",c5b602f0:"6015","83bfe665":"6030",c413100c:"6054","1f391b9e":"6061",bce71fda:"6070","0ebeba4c":"6093",e95cd134:"6137",b706a0dc:"6144",d18c46a9:"6145",e7d646cc:"6217","8d03ef63":"6236","49cc2738":"6260","6a813a07":"6270",c7a4d644:"6276","1c1d17b7":"6277",cc264cac:"6326",f745c053:"6354","7d0af991":"6398","49a81271":"6412","1c4e3edd":"6414",b5149d2c:"6429","5b053c0b":"6467","4274bccf":"6474","4bfdffa6":"6494","6d05d604":"6526","2046b0a8":"6578",ca74b5d2:"6579","2efbb146":"6605","41beef73":"6634",de670940:"6670",ef0a3fb1:"6720","3dd28916":"6784",cacd4a48:"6827","95479f07":"6852",b3d3256b:"6862",ef4f1127:"6927","6a2e412c":"6963","14eb3368":"6969","288d6068":"7017","588ed5a0":"7055","6c8a2e8a":"7061",a7bd4aaa:"7098",fd2af939:"7133","6262d4a9":"7149","3845b85f":"7156","3ca54f8b":"7259",ad98ab2d:"7288","2cba0029":"7362",fc59bd41:"7367",d8d27391:"7433",f1abeebd:"7441","73781f44":"7469","814f3328":"7472",a4ad22f5:"7540","135cdc30":"7565","515951e7":"7577","9145f5ac":"7595",a6aa9e1f:"7643",e0907375:"7649",f9cadbd5:"7663",b26bb1dc:"7695",d534a19b:"7720","134a9cd2":"7744","605fff6e":"7759",c4578cd2:"7783","7a47eb1a":"7799","19b62525":"7805",f58cd18e:"7815","83b97878":"7859","42228e1f":"7897","9bfb8b77":"7910",cd539b66:"7939",b4dc43d1:"8052",c8ca1670:"8062","3fbcfebf":"8122","766fec9a":"8178","01a85c17":"8209","102a15c7":"8211","30e80eb6":"8260",cc0fc0ef:"8271",f9c7338a:"8297","93fad3d8":"8307",c1e84185:"8308","8181c4d7":"8341","95090fe2":"8351","296ec80a":"8383",ced0e768:"8397","983feadf":"8447","691071dc":"8460","740f0f16":"8523","447d3b5d":"8530","3033e5d5":"8575","935f2afb":"8581",c2496278:"8588",e00e09f9:"8703",d00b81a6:"8725",ed5bbd30:"8794","642269fc":"8819","20b0fd8e":"8840","1a2a2bba":"8925","6603c338":"8971","618c6699":"9001","760ec2c8":"9011",e2e031cd:"9020",a94703ab:"9048","786ceb8d":"9134","4b1253d4":"9136","725950c0":"9160",d0e820e2:"9235","921ea997":"9318","8b602a21":"9351",af8bc913:"9392","399409c2":"9398",e53995c8:"9410",cdd5e2cb:"9413",af8efd43:"9450",a25b4132:"9485","529e0f84":"9618","5e95c892":"9647","481303a9":"9650","707cf715":"9659","270aea63":"9688","3a4721f9":"9712","8f9ca38a":"9728","4602b3cf":"9733","35db44dc":"9798",b089b694:"9811",f2814725:"9838",a8e7d297:"9882","24164a22":"9893","48ca4a4c":"9981"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(c,a)=>{var d=r.o(e,c)?e[c]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(1869|5354)$/.test(c))e[c]=0;else{var f=new Promise(((a,f)=>d=e[c]=[a,f]));a.push(d[2]=f);var b=r.p+r.u(c),t=new Error;r.l(b,(a=>{if(r.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var f=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var d,f,b=a[0],t=a[1],o=a[2],n=0;if(b.some((c=>0!==e[c]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(c&&c(a);n<b.length;n++)f=b[n],r.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return r.O(i)},a=self.webpackChunk_scow_docs=self.webpackChunk_scow_docs||[];a.forEach(c.bind(null,0)),a.push=c.bind(null,a.push.bind(a))})()})(); \ No newline at end of file diff --git a/pr-preview/pr-1298/blog.html b/pr-preview/pr-1298/blog.html deleted file mode 100644 index 84a6795128..0000000000 --- a/pr-preview/pr-1298/blog.html +++ /dev/null @@ -1,118 +0,0 @@ -<!doctype html> -<html lang="zh" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default" data-has-hydrated="false"> -<head> -<meta charset="UTF-8"> -<meta name="generator" content="Docusaurus v3.2.0"> -<title data-rh="true">Blog | SCOW - - - - - -

SCOW升级:从v0.4.0(及以上)到v1.0.0

· 阅读需 4 分钟
Huangjun
Developer

本文档适用于从v0.4.0(及以上)升级到v1.0.0。

-
# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0
-

2. 添加审计日志功能

-

在install.yaml添加如下配置:

-
# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"
-

install.yaml配置参考(极简配置):

-
port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s
-

添加审计日志配置文件,在./config目录下添加audit.yaml

-
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit
-

3. 修改mis.yaml

-

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

-
fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql
-

mis.yaml配置参考(极简配置):

-
db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"
-

4. 部署适配器

-

适配器编译部署可参考文档

-
提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

-

5. 修改集群配置文件

-
displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
-
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

-

6. 交互式应用增加图标(可选)

-

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

-

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

-
logoPath: /apps/jupyter.png
-
提示

多集群下交互式应用配置可参考该文档

-

7. 登录页面添加slogan(可选)

-

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

-
ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
-
提示

详细配置可参考该文档

-

8. 重启服务

-
./cli compose down
./cli compose up -d

交互式应用配置更新

· 阅读需 2 分钟
Sun Yixin
Developer

上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 -但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。

-

为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能:

-
    -
  • 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置
  • -
  • 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置
  • -
  • 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理
  • -
-

详细说明可参考SCOW部署和配置下的多集群下的应用配置

SCOW调度器适配器

· 阅读需 3 分钟
Qu Han
Qu Han
Developer

什么是调度器适配器

-

SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。

-

在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, -导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。

-

调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, -适配器再对接作业调度器,实现scow需要的调度器功能。

-

怎样实现调度器适配器

-

调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, -scow只会调用这套接口来实现调度器功能。

-

因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统

-

我们已经实现的调度器适配器:

- -

如何平滑升级

-

这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器

-

1. 部署调度器适配器

-

首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号

-

部署适配器可参考文档:

- -

2. 修改SCOW配置文件

-

首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段)

-

在用于部署scow的scow-deployment文件夹中,修改配置文件:

-
    -
  • -

    首先修改集群配置文件

    -

    主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址

    -
  • -
  • -

    修改管理系统配置文件

    -

    删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息

    -
  • -
-

3. 不再使用源作业信息数据库

-

部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成

scow-cli

· 阅读需 2 分钟
Chen Junda
Developer

我们致力于以让大家更方便地部署、运维和管理SCOW集群。

-

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

-

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

-
    -
  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • -
  • 可自由使用第三方包,功能扩展起来更加方便
  • -
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • -
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用
  • -
-

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

-

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

scow-deployment平滑升级指导

· 阅读需 3 分钟
Huangjun
Developer

上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。

-

为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。

-

接下来,主要介绍如何平滑的从旧版本升级至新版本。

-

1. 停止scow服务

-
# 进入scow-deployment项目目录
cd scow-deployment

# 停止scow服务
docker-compose down
-

2. 备份配置文件

-

主要备份.env配置文件:

-
# 1. 创建备份目录
mkdir /path/to/backup

# 2. 备份部署的环境变量
cp .env /path/to/backup

-

3. 升级

-

拉取master分支最新代码:

-
cd /path/to/scow-deployment
# 同步最新代码
git pull
-

目录结构如下:

-
tree -L 1
├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件
├── config-example # scow业务配置模板文件目录
├── config-example.py # scow系统部署参数配置文件模板
├── fluent # fluent配置文件存放目录
├── generate.py # 部署配置文件生成python脚本
└── README.md
-

编写配置文件:

-
# 1. 复制配置文件
cp config-example.py config.py

# 2. 配置参数
# 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数

-

服务启动与停止:

-
# 启动服务
./compose.sh up -d

# 停止服务
./compose.sh down
-
-

./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。

-
-

详细说明可参考PKUHPC/scow-deployment项目的README.md

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/archive.html b/pr-preview/pr-1298/blog/archive.html deleted file mode 100644 index cbb21f0133..0000000000 --- a/pr-preview/pr-1298/blog/archive.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -历史博文 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/atom.xml b/pr-preview/pr-1298/blog/atom.xml deleted file mode 100644 index cd2eba5151..0000000000 --- a/pr-preview/pr-1298/blog/atom.xml +++ /dev/null @@ -1,199 +0,0 @@ - - - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog - SCOW Blog - 2023-10-20T00:00:00.000Z - https://github.com/jpmonette/feed - - SCOW Blog - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/img/favicon.ico - - <![CDATA[SCOW升级:从v0.4.0(及以上)到v1.0.0]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0 - - 2023-10-20T00:00:00.000Z - - 本文档适用于从v0.4.0(及以上)升级到v1.0.0。

-
# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0
-

2. 添加审计日志功能

-

在install.yaml添加如下配置:

-
# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"
-

install.yaml配置参考(极简配置):

-
port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s
-

添加审计日志配置文件,在./config目录下添加audit.yaml

-
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit
-

3. 修改mis.yaml

-

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

-
fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql
-

mis.yaml配置参考(极简配置):

-
db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"
-

4. 部署适配器

-

适配器编译部署可参考文档

-
提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

-

5. 修改集群配置文件

-
displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
-
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

-

6. 交互式应用增加图标(可选)

-

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

-

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

-
logoPath: /apps/jupyter.png
-
提示

多集群下交互式应用配置可参考该文档

-

7. 登录页面添加slogan(可选)

-

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

-
ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
-
提示

详细配置可参考该文档

-

8. 重启服务

-
./cli compose down
./cli compose up -d
]]>
- - Huangjun - https://blog.csdn.net/huangjun0210?type=blog - - - - -
- - <![CDATA[交互式应用配置更新]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/update-portal-app - - 2023-07-05T00:00:00.000Z - - 上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 -但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。

-

为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能:

-
    -
  • 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置
  • -
  • 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置
  • -
  • 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理
  • -
-

详细说明可参考SCOW部署和配置下的多集群下的应用配置

]]>
- - Sun Yixin - https://github.com/piccaSun - - - - -
- - <![CDATA[SCOW调度器适配器]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter - - 2023-06-26T00:00:00.000Z - - 什么是调度器适配器 -

SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。

-

在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, -导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。

-

调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, -适配器再对接作业调度器,实现scow需要的调度器功能。

-

怎样实现调度器适配器

-

调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, -scow只会调用这套接口来实现调度器功能。

-

因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统

-

我们已经实现的调度器适配器:

- -

如何平滑升级

-

这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器

-

1. 部署调度器适配器

-

首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号

-

部署适配器可参考文档:

- -

2. 修改SCOW配置文件

-

首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段)

-

在用于部署scow的scow-deployment文件夹中,修改配置文件:

-
    -
  • -

    首先修改集群配置文件

    -

    主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址

    -
  • -
  • -

    修改管理系统配置文件

    -

    删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息

    -
  • -
-

3. 不再使用源作业信息数据库

-

部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成

]]>
- - Qu Han - - - -
- - <![CDATA[scow-cli]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-cli-release - - 2023-03-29T00:00:00.000Z - - 我们致力于以让大家更方便地部署、运维和管理SCOW集群。

-

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

-

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

-
    -
  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • -
  • 可自由使用第三方包,功能扩展起来更加方便
  • -
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • -
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用
  • -
-

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

-

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

]]>
- - Chen Junda - https://ddadaal.me - - - - -
- - <![CDATA[scow-deployment平滑升级指导]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment - - 2022-10-22T00:00:00.000Z - - 上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。

-

为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。

-

接下来,主要介绍如何平滑的从旧版本升级至新版本。

-

1. 停止scow服务

-
# 进入scow-deployment项目目录
cd scow-deployment

# 停止scow服务
docker-compose down
-

2. 备份配置文件

-

主要备份.env配置文件:

-
# 1. 创建备份目录
mkdir /path/to/backup

# 2. 备份部署的环境变量
cp .env /path/to/backup

-

3. 升级

-

拉取master分支最新代码:

-
cd /path/to/scow-deployment
# 同步最新代码
git pull
-

目录结构如下:

-
tree -L 1
├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件
├── config-example # scow业务配置模板文件目录
├── config-example.py # scow系统部署参数配置文件模板
├── fluent # fluent配置文件存放目录
├── generate.py # 部署配置文件生成python脚本
└── README.md
-

编写配置文件:

-
# 1. 复制配置文件
cp config-example.py config.py

# 2. 配置参数
# 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数

-

服务启动与停止:

-
# 启动服务
./compose.sh up -d

# 停止服务
./compose.sh down
-
-

./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。

-
-

详细说明可参考PKUHPC/scow-deployment项目的README.md

]]>
- - Huangjun - https://blog.csdn.net/huangjun0210?type=blog - - - -
- - <![CDATA[scow文档上线]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/docs-online - - 2022-04-01T00:00:00.000Z - - scow文档网站上线!

]]>
- - Chen Junda - https://ddadaal.me - - -
-
\ No newline at end of file diff --git a/pr-preview/pr-1298/blog/docs-online.html b/pr-preview/pr-1298/blog/docs-online.html deleted file mode 100644 index 2c86bb4a69..0000000000 --- a/pr-preview/pr-1298/blog/docs-online.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -scow文档上线 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/rss.xml b/pr-preview/pr-1298/blog/rss.xml deleted file mode 100644 index 45a51a48eb..0000000000 --- a/pr-preview/pr-1298/blog/rss.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - SCOW Blog - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog - SCOW Blog - Fri, 20 Oct 2023 00:00:00 GMT - https://validator.w3.org/feed/docs/rss2.html - https://github.com/jpmonette/feed - zh - - <![CDATA[SCOW升级:从v0.4.0(及以上)到v1.0.0]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0 - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0 - Fri, 20 Oct 2023 00:00:00 GMT - - 本文档适用于从v0.4.0(及以上)升级到v1.0.0。

-
# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0
-

2. 添加审计日志功能

-

在install.yaml添加如下配置:

-
# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"
-

install.yaml配置参考(极简配置):

-
port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s
-

添加审计日志配置文件,在./config目录下添加audit.yaml

-
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit
-

3. 修改mis.yaml

-

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

-
fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql
-

mis.yaml配置参考(极简配置):

-
db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"
-

4. 部署适配器

-

适配器编译部署可参考文档

-
提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

-

5. 修改集群配置文件

-
displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
-
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

-

6. 交互式应用增加图标(可选)

-

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

-

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

-
logoPath: /apps/jupyter.png
-
提示

多集群下交互式应用配置可参考该文档

-

7. 登录页面添加slogan(可选)

-

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

-
ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
-
提示

详细配置可参考该文档

-

8. 重启服务

-
./cli compose down
./cli compose up -d
]]>
- scow - scow-deployment - v1.0.0 -
- - <![CDATA[交互式应用配置更新]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/update-portal-app - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/update-portal-app - Wed, 05 Jul 2023 00:00:00 GMT - - 上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 -但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。

-

为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能:

-
    -
  • 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置
  • -
  • 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置
  • -
  • 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理
  • -
-

详细说明可参考SCOW部署和配置下的多集群下的应用配置

]]>
- scow - scow-portal-apps - scow-apps -
- - <![CDATA[SCOW调度器适配器]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter - Mon, 26 Jun 2023 00:00:00 GMT - - 什么是调度器适配器 -

SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。

-

在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, -导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。

-

调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, -适配器再对接作业调度器,实现scow需要的调度器功能。

-

怎样实现调度器适配器

-

调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, -scow只会调用这套接口来实现调度器功能。

-

因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统

-

我们已经实现的调度器适配器:

- -

如何平滑升级

-

这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器

-

1. 部署调度器适配器

-

首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号

-

部署适配器可参考文档:

- -

2. 修改SCOW配置文件

-

首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段)

-

在用于部署scow的scow-deployment文件夹中,修改配置文件:

-
    -
  • -

    首先修改集群配置文件

    -

    主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址

    -
  • -
  • -

    修改管理系统配置文件

    -

    删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息

    -
  • -
-

3. 不再使用源作业信息数据库

-

部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成

]]>
- scow - scow-scheduler-adapter -
- - <![CDATA[scow-cli]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-cli-release - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/scow-cli-release - Wed, 29 Mar 2023 00:00:00 GMT - - 我们致力于以让大家更方便地部署、运维和管理SCOW集群。

-

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

-

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

-
    -
  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • -
  • 可自由使用第三方包,功能扩展起来更加方便
  • -
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • -
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用
  • -
-

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

-

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

]]>
- scow - scow-cli - scow-deployment -
- - <![CDATA[scow-deployment平滑升级指导]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment - Sat, 22 Oct 2022 00:00:00 GMT - - 上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。

-

为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。

-

接下来,主要介绍如何平滑的从旧版本升级至新版本。

-

1. 停止scow服务

-
# 进入scow-deployment项目目录
cd scow-deployment

# 停止scow服务
docker-compose down
-

2. 备份配置文件

-

主要备份.env配置文件:

-
# 1. 创建备份目录
mkdir /path/to/backup

# 2. 备份部署的环境变量
cp .env /path/to/backup

-

3. 升级

-

拉取master分支最新代码:

-
cd /path/to/scow-deployment
# 同步最新代码
git pull
-

目录结构如下:

-
tree -L 1
├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件
├── config-example # scow业务配置模板文件目录
├── config-example.py # scow系统部署参数配置文件模板
├── fluent # fluent配置文件存放目录
├── generate.py # 部署配置文件生成python脚本
└── README.md
-

编写配置文件:

-
# 1. 复制配置文件
cp config-example.py config.py

# 2. 配置参数
# 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数

-

服务启动与停止:

-
# 启动服务
./compose.sh up -d

# 停止服务
./compose.sh down
-
-

./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。

-
-

详细说明可参考PKUHPC/scow-deployment项目的README.md

]]>
- scow - scow-deployment -
- - <![CDATA[scow文档上线]]> - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/docs-online - https://PKUHPC.github.io/SCOW/pr-preview/pr-1298/blog/docs-online - Fri, 01 Apr 2022 00:00:00 GMT - - scow文档网站上线!

]]>
- scow -
-
-
\ No newline at end of file diff --git a/pr-preview/pr-1298/blog/scow-cli-release.html b/pr-preview/pr-1298/blog/scow-cli-release.html deleted file mode 100644 index 76bfe90500..0000000000 --- a/pr-preview/pr-1298/blog/scow-cli-release.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -scow-cli | SCOW - - - - - -

scow-cli

· 阅读需 2 分钟
Chen Junda
Developer

我们致力于以让大家更方便地部署、运维和管理SCOW集群。

-

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

-

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

-
    -
  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • -
  • 可自由使用第三方包,功能扩展起来更加方便
  • -
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • -
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用
  • -
-

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

-

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/scow-scheduler-adapter.html b/pr-preview/pr-1298/blog/scow-scheduler-adapter.html deleted file mode 100644 index 8b9fe5ca4b..0000000000 --- a/pr-preview/pr-1298/blog/scow-scheduler-adapter.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -SCOW调度器适配器 | SCOW - - - - - -

SCOW调度器适配器

· 阅读需 3 分钟
Qu Han
Qu Han
Developer

什么是调度器适配器

-

SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。

-

在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, -导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。

-

调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, -适配器再对接作业调度器,实现scow需要的调度器功能。

-

怎样实现调度器适配器

-

调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, -scow只会调用这套接口来实现调度器功能。

-

因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统

-

我们已经实现的调度器适配器:

- -

如何平滑升级

-

这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器

-

1. 部署调度器适配器

-

首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号

-

部署适配器可参考文档:

- -

2. 修改SCOW配置文件

-

首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段)

-

在用于部署scow的scow-deployment文件夹中,修改配置文件:

-
    -
  • -

    首先修改集群配置文件

    -

    主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址

    -
  • -
  • -

    修改管理系统配置文件

    -

    删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息

    -
  • -
-

3. 不再使用源作业信息数据库

-

部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/scow-update-to-v1.0.html b/pr-preview/pr-1298/blog/scow-update-to-v1.0.html deleted file mode 100644 index c0aa7631de..0000000000 --- a/pr-preview/pr-1298/blog/scow-update-to-v1.0.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -SCOW升级:从v0.4.0(及以上)到v1.0.0 | SCOW - - - - - -

SCOW升级:从v0.4.0(及以上)到v1.0.0

· 阅读需 4 分钟
Huangjun
Developer

本文档适用于从v0.4.0(及以上)升级到v1.0.0。

-
# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0
-

2. 添加审计日志功能

-

在install.yaml添加如下配置:

-
# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"
-

install.yaml配置参考(极简配置):

-
port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s
-

添加审计日志配置文件,在./config目录下添加audit.yaml

-
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit
-

3. 修改mis.yaml

-

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

-
fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql
-

mis.yaml配置参考(极简配置):

-
db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"
-

4. 部署适配器

-

适配器编译部署可参考文档

-
提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

-

5. 修改集群配置文件

-
displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
-
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

-

6. 交互式应用增加图标(可选)

-

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

-

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

-
logoPath: /apps/jupyter.png
-
提示

多集群下交互式应用配置可参考该文档

-

7. 登录页面添加slogan(可选)

-

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

-
ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
-
提示

详细配置可参考该文档

-

8. 重启服务

-
./cli compose down
./cli compose up -d
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags.html b/pr-preview/pr-1298/blog/tags.html deleted file mode 100644 index 3ca7a1821c..0000000000 --- a/pr-preview/pr-1298/blog/tags.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -标签 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags/scow-apps.html b/pr-preview/pr-1298/blog/tags/scow-apps.html deleted file mode 100644 index 51442830ba..0000000000 --- a/pr-preview/pr-1298/blog/tags/scow-apps.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -1 篇博文 含有标签「scow-apps」 | SCOW - - - - - -

1 篇博文 含有标签「scow-apps」

查看所有标签

交互式应用配置更新

· 阅读需 2 分钟
Sun Yixin
Developer

上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 -但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。

-

为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能:

-
    -
  • 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置
  • -
  • 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置
  • -
  • 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理
  • -
-

详细说明可参考SCOW部署和配置下的多集群下的应用配置

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags/scow-cli.html b/pr-preview/pr-1298/blog/tags/scow-cli.html deleted file mode 100644 index 8e44333380..0000000000 --- a/pr-preview/pr-1298/blog/tags/scow-cli.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -1 篇博文 含有标签「scow-cli」 | SCOW - - - - - -

1 篇博文 含有标签「scow-cli」

查看所有标签

scow-cli

· 阅读需 2 分钟
Chen Junda
Developer

我们致力于以让大家更方便地部署、运维和管理SCOW集群。

-

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

-

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

-
    -
  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • -
  • 可自由使用第三方包,功能扩展起来更加方便
  • -
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • -
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用
  • -
-

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

-

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags/scow-deployment.html b/pr-preview/pr-1298/blog/tags/scow-deployment.html deleted file mode 100644 index dfea3fd689..0000000000 --- a/pr-preview/pr-1298/blog/tags/scow-deployment.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - -3 篇博文 含有标签「scow-deployment」 | SCOW - - - - - -

3 篇博文 含有标签「scow-deployment」

查看所有标签

SCOW升级:从v0.4.0(及以上)到v1.0.0

· 阅读需 4 分钟
Huangjun
Developer

本文档适用于从v0.4.0(及以上)升级到v1.0.0。

-
# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0
-

2. 添加审计日志功能

-

在install.yaml添加如下配置:

-
# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"
-

install.yaml配置参考(极简配置):

-
port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s
-

添加审计日志配置文件,在./config目录下添加audit.yaml

-
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit
-

3. 修改mis.yaml

-

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

-
fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql
-

mis.yaml配置参考(极简配置):

-
db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"
-

4. 部署适配器

-

适配器编译部署可参考文档

-
提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

-

5. 修改集群配置文件

-
displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
-
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

-

6. 交互式应用增加图标(可选)

-

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

-

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

-
logoPath: /apps/jupyter.png
-
提示

多集群下交互式应用配置可参考该文档

-

7. 登录页面添加slogan(可选)

-

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

-
ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
-
提示

详细配置可参考该文档

-

8. 重启服务

-
./cli compose down
./cli compose up -d

scow-cli

· 阅读需 2 分钟
Chen Junda
Developer

我们致力于以让大家更方便地部署、运维和管理SCOW集群。

-

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

-

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

-
    -
  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • -
  • 可自由使用第三方包,功能扩展起来更加方便
  • -
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • -
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用
  • -
-

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

-

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

scow-deployment平滑升级指导

· 阅读需 3 分钟
Huangjun
Developer

上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。

-

为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。

-

接下来,主要介绍如何平滑的从旧版本升级至新版本。

-

1. 停止scow服务

-
# 进入scow-deployment项目目录
cd scow-deployment

# 停止scow服务
docker-compose down
-

2. 备份配置文件

-

主要备份.env配置文件:

-
# 1. 创建备份目录
mkdir /path/to/backup

# 2. 备份部署的环境变量
cp .env /path/to/backup

-

3. 升级

-

拉取master分支最新代码:

-
cd /path/to/scow-deployment
# 同步最新代码
git pull
-

目录结构如下:

-
tree -L 1
├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件
├── config-example # scow业务配置模板文件目录
├── config-example.py # scow系统部署参数配置文件模板
├── fluent # fluent配置文件存放目录
├── generate.py # 部署配置文件生成python脚本
└── README.md
-

编写配置文件:

-
# 1. 复制配置文件
cp config-example.py config.py

# 2. 配置参数
# 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数

-

服务启动与停止:

-
# 启动服务
./compose.sh up -d

# 停止服务
./compose.sh down
-
-

./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。

-
-

详细说明可参考PKUHPC/scow-deployment项目的README.md

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags/scow-portal-apps.html b/pr-preview/pr-1298/blog/tags/scow-portal-apps.html deleted file mode 100644 index d9dac65822..0000000000 --- a/pr-preview/pr-1298/blog/tags/scow-portal-apps.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -1 篇博文 含有标签「scow-portal-apps」 | SCOW - - - - - -

1 篇博文 含有标签「scow-portal-apps」

查看所有标签

交互式应用配置更新

· 阅读需 2 分钟
Sun Yixin
Developer

上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 -但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。

-

为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能:

-
    -
  • 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置
  • -
  • 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置
  • -
  • 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理
  • -
-

详细说明可参考SCOW部署和配置下的多集群下的应用配置

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter.html b/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter.html deleted file mode 100644 index c433ca282f..0000000000 --- a/pr-preview/pr-1298/blog/tags/scow-scheduler-adapter.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -1 篇博文 含有标签「scow-scheduler-adapter」 | SCOW - - - - - -

1 篇博文 含有标签「scow-scheduler-adapter」

查看所有标签

SCOW调度器适配器

· 阅读需 3 分钟
Qu Han
Qu Han
Developer

什么是调度器适配器

-

SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。

-

在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, -导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。

-

调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, -适配器再对接作业调度器,实现scow需要的调度器功能。

-

怎样实现调度器适配器

-

调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, -scow只会调用这套接口来实现调度器功能。

-

因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统

-

我们已经实现的调度器适配器:

- -

如何平滑升级

-

这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器

-

1. 部署调度器适配器

-

首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号

-

部署适配器可参考文档:

- -

2. 修改SCOW配置文件

-

首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段)

-

在用于部署scow的scow-deployment文件夹中,修改配置文件:

-
    -
  • -

    首先修改集群配置文件

    -

    主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址

    -
  • -
  • -

    修改管理系统配置文件

    -

    删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息

    -
  • -
-

3. 不再使用源作业信息数据库

-

部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags/scow.html b/pr-preview/pr-1298/blog/tags/scow.html deleted file mode 100644 index 1bdc460d21..0000000000 --- a/pr-preview/pr-1298/blog/tags/scow.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - -6 篇博文 含有标签「scow」 | SCOW - - - - - -

6 篇博文 含有标签「scow」

查看所有标签

SCOW升级:从v0.4.0(及以上)到v1.0.0

· 阅读需 4 分钟
Huangjun
Developer

本文档适用于从v0.4.0(及以上)升级到v1.0.0。

-
# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0
-

2. 添加审计日志功能

-

在install.yaml添加如下配置:

-
# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"
-

install.yaml配置参考(极简配置):

-
port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s
-

添加审计日志配置文件,在./config目录下添加audit.yaml

-
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit
-

3. 修改mis.yaml

-

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

-
fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql
-

mis.yaml配置参考(极简配置):

-
db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"
-

4. 部署适配器

-

适配器编译部署可参考文档

-
提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

-

5. 修改集群配置文件

-
displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
-
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

-

6. 交互式应用增加图标(可选)

-

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

-

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

-
logoPath: /apps/jupyter.png
-
提示

多集群下交互式应用配置可参考该文档

-

7. 登录页面添加slogan(可选)

-

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

-
ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
-
提示

详细配置可参考该文档

-

8. 重启服务

-
./cli compose down
./cli compose up -d

交互式应用配置更新

· 阅读需 2 分钟
Sun Yixin
Developer

上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 -但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。

-

为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能:

-
    -
  • 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置
  • -
  • 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置
  • -
  • 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理
  • -
-

详细说明可参考SCOW部署和配置下的多集群下的应用配置

SCOW调度器适配器

· 阅读需 3 分钟
Qu Han
Qu Han
Developer

什么是调度器适配器

-

SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。

-

在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, -导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。

-

调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, -适配器再对接作业调度器,实现scow需要的调度器功能。

-

怎样实现调度器适配器

-

调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, -scow只会调用这套接口来实现调度器功能。

-

因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统

-

我们已经实现的调度器适配器:

- -

如何平滑升级

-

这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器

-

1. 部署调度器适配器

-

首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号

-

部署适配器可参考文档:

- -

2. 修改SCOW配置文件

-

首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段)

-

在用于部署scow的scow-deployment文件夹中,修改配置文件:

-
    -
  • -

    首先修改集群配置文件

    -

    主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址

    -
  • -
  • -

    修改管理系统配置文件

    -

    删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息

    -
  • -
-

3. 不再使用源作业信息数据库

-

部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成

scow-cli

· 阅读需 2 分钟
Chen Junda
Developer

我们致力于以让大家更方便地部署、运维和管理SCOW集群。

-

之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。

-

为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点:

-
    -
  • 使用install.yaml进行配置,配置方式和系统其他部分相同
  • -
  • 可自由使用第三方包,功能扩展起来更加方便
  • -
  • 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护
  • -
  • 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用
  • -
-

scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli

-

请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli

scow-deployment平滑升级指导

· 阅读需 3 分钟
Huangjun
Developer

上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。

-

为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。

-

接下来,主要介绍如何平滑的从旧版本升级至新版本。

-

1. 停止scow服务

-
# 进入scow-deployment项目目录
cd scow-deployment

# 停止scow服务
docker-compose down
-

2. 备份配置文件

-

主要备份.env配置文件:

-
# 1. 创建备份目录
mkdir /path/to/backup

# 2. 备份部署的环境变量
cp .env /path/to/backup

-

3. 升级

-

拉取master分支最新代码:

-
cd /path/to/scow-deployment
# 同步最新代码
git pull
-

目录结构如下:

-
tree -L 1
├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件
├── config-example # scow业务配置模板文件目录
├── config-example.py # scow系统部署参数配置文件模板
├── fluent # fluent配置文件存放目录
├── generate.py # 部署配置文件生成python脚本
└── README.md
-

编写配置文件:

-
# 1. 复制配置文件
cp config-example.py config.py

# 2. 配置参数
# 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数

-

服务启动与停止:

-
# 启动服务
./compose.sh up -d

# 停止服务
./compose.sh down
-
-

./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。

-
-

详细说明可参考PKUHPC/scow-deployment项目的README.md

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/tags/v-1-0-0.html b/pr-preview/pr-1298/blog/tags/v-1-0-0.html deleted file mode 100644 index a2e2917200..0000000000 --- a/pr-preview/pr-1298/blog/tags/v-1-0-0.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -1 篇博文 含有标签「v1.0.0」 | SCOW - - - - - -

1 篇博文 含有标签「v1.0.0」

查看所有标签

SCOW升级:从v0.4.0(及以上)到v1.0.0

· 阅读需 4 分钟
Huangjun
Developer

本文档适用于从v0.4.0(及以上)升级到v1.0.0。

-
# 两种方式升级cli
# 1. 直接下载替换本地cli
wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64

# 2. 使用命令升级
./cli update --release v1.0.0
-

2. 添加审计日志功能

-

在install.yaml添加如下配置:

-
# 可添加审计日志功能,并配置审计日志数据库密码
audit:
dbPassword: "must!chang3this"
-

install.yaml配置参考(极简配置):

-
port: 80
basePath: /
imageTag: v1.0.0
portal:
portMappings: {}
mis:
dbPassword: must!chang3this
portMappings: {}
log:
fluentd:
logDir: /var/log/fluentd
auth:
portMappings: {}
audit:
dbPassword: "must!chang3this"
gateway:
proxyReadTimeout: 36000s
-

添加审计日志配置文件,在./config目录下添加audit.yaml

-
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
dbName: scow_audit
-

3. 修改mis.yaml

-

修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下:

-
fetchJobs:
# 源作业信息数据库的数据库信息
db:
host: 192.168.188.11
port: 3306
user: root
password: "aUTx373~5pU@!&^6"
dbName: hpc
tableName: job_table
type: mysql
-

mis.yaml配置参考(极简配置):

-
db:
host: db
port: 3306
user: root
dbName: scow

fetchJobs:
periodicFetch:
enabled: true
cron: "*/10 * * * *"

predefinedChargingTypes:
- 测试

accountNamePattern:
regex: "(a_)[a-z]+$"
-

4. 部署适配器

-

适配器编译部署可参考文档

-
提示

由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。

-

5. 修改集群配置文件

-
displayName: hpc01

loginNodes:
- name: hpc01_login01
address: hpc01_login01

adapterUrl: "192.168.188.102:8999"
-
提示

注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档

-

6. 交互式应用增加图标(可选)

-

支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。

-

例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容:

-
logoPath: /apps/jupyter.png
-
提示

多集群下交互式应用配置可参考该文档

-

7. 登录页面添加slogan(可选)

-

支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容:

-
ui:
backgroundImagePath: "./assets/background.png"
backgroundFallbackColor: "#9a0000"
logoType: "dark"
slogan:
color: "white"
title: "开源算力中心门户和管理平台"
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"
-
提示

详细配置可参考该文档

-

8. 重启服务

-
./cli compose down
./cli compose up -d
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/update-portal-app.html b/pr-preview/pr-1298/blog/update-portal-app.html deleted file mode 100644 index f13c8e9625..0000000000 --- a/pr-preview/pr-1298/blog/update-portal-app.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -交互式应用配置更新 | SCOW - - - - - -

交互式应用配置更新

· 阅读需 2 分钟
Sun Yixin
Developer

上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 -但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。

-

为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能:

-
    -
  • 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置
  • -
  • 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置
  • -
  • 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理
  • -
-

详细说明可参考SCOW部署和配置下的多集群下的应用配置

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/blog/update-to-python-deployment.html b/pr-preview/pr-1298/blog/update-to-python-deployment.html deleted file mode 100644 index a633c949b6..0000000000 --- a/pr-preview/pr-1298/blog/update-to-python-deployment.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - -scow-deployment平滑升级指导 | SCOW - - - - - -

scow-deployment平滑升级指导

· 阅读需 3 分钟
Huangjun
Developer

上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。

-

为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。

-

接下来,主要介绍如何平滑的从旧版本升级至新版本。

-

1. 停止scow服务

-
# 进入scow-deployment项目目录
cd scow-deployment

# 停止scow服务
docker-compose down
-

2. 备份配置文件

-

主要备份.env配置文件:

-
# 1. 创建备份目录
mkdir /path/to/backup

# 2. 备份部署的环境变量
cp .env /path/to/backup

-

3. 升级

-

拉取master分支最新代码:

-
cd /path/to/scow-deployment
# 同步最新代码
git pull
-

目录结构如下:

-
tree -L 1
├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件
├── config-example # scow业务配置模板文件目录
├── config-example.py # scow系统部署参数配置文件模板
├── fluent # fluent配置文件存放目录
├── generate.py # 部署配置文件生成python脚本
└── README.md
-

编写配置文件:

-
# 1. 复制配置文件
cp config-example.py config.py

# 2. 配置参数
# 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数

-

服务启动与停止:

-
# 启动服务
./compose.sh up -d

# 停止服务
./compose.sh down
-
-

./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。

-
-

详细说明可参考PKUHPC/scow-deployment项目的README.md

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/basic-config.html b/pr-preview/pr-1298/docs/basic-config.html deleted file mode 100644 index 55ef1d0de7..0000000000 --- a/pr-preview/pr-1298/docs/basic-config.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - -基础配置 | SCOW - - - - - -

基础配置

1. 所有节点

-

设置主机名

-
hostnamectl set-hostname manage01
hostnamectl set-hostname login01
hostnamectl set-hostname compute01
hostnamectl set-hostname compute02
-

配置hosts:

-
vim /etc/hosts
192.168.29.106 manage01
192.168.29.101 login01
192.168.29.102 compute01
192.168.29.103 compute02
-

关闭防火墙、selinux、dnsmasq、swap:

-
systemctl disable --now firewalld 
systemctl disable --now dnsmasq
systemctl disable --now NetworkManager

setenforce 0
sed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/sysconfig/selinux
sed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/selinux/config
reboot
getenforce


swapoff -a && sysctl -w vm.swappiness=0
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab
-

时间同步:

-
# 安装ntpdate
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install ntpdate -y

# 同步时间。time2.aliyun.com外网,vineyard.pku.edu.cn内网
# 时间同步配置如下:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone
ntpdate vineyard.pku.edu.cn

# 加入到crontab
crontab -e
*/5 * * * * /usr/sbin/ntpdate vineyard.pku.edu.cn
-

2. 服务节点

-

到其他节点的免密登录:

-
yum install sshpass -y
mkdir -p /extend/shell

#生成脚本,root123 为root用户密码
cat >>/extend/shell/fenfa_pub.sh<< EOF
#!/bin/bash
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
for ip in 101 102 103
do
sshpass -proot123 ssh-copy-id -o StrictHostKeyChecking=no 192.168.29.\$ip
done
EOF

# 赋权
cd /extend/shell
chmod +x fenfa_pub.sh
# 执行脚本
./fenfa_pub.sh
- - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/ai-\347\263\273\347\273\237beta.html" "b/pr-preview/pr-1298/docs/category/ai-\347\263\273\347\273\237beta.html" deleted file mode 100644 index b9facd6e57..0000000000 --- "a/pr-preview/pr-1298/docs/category/ai-\347\263\273\347\273\237beta.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -AI 系统(beta) | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/category/cli.html b/pr-preview/pr-1298/docs/category/cli.html deleted file mode 100644 index 48b10894e4..0000000000 --- a/pr-preview/pr-1298/docs/category/cli.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -CLI | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/scow-api\345\222\214hook.html" "b/pr-preview/pr-1298/docs/category/scow-api\345\222\214hook.html" deleted file mode 100644 index 1f8a2a5f09..0000000000 --- "a/pr-preview/pr-1298/docs/category/scow-api\345\222\214hook.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -SCOW API和Hook | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/ui\346\211\251\345\261\225.html" "b/pr-preview/pr-1298/docs/category/ui\346\211\251\345\261\225.html" deleted file mode 100644 index 1b60ec177b..0000000000 --- "a/pr-preview/pr-1298/docs/category/ui\346\211\251\345\261\225.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -UI扩展 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/category/vagrant.html b/pr-preview/pr-1298/docs/category/vagrant.html deleted file mode 100644 index f1c8ed6533..0000000000 --- a/pr-preview/pr-1298/docs/category/vagrant.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -vagrant | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\344\272\244\344\272\222\345\274\217\344\273\273\345\212\241-beta.html" "b/pr-preview/pr-1298/docs/category/\344\272\244\344\272\222\345\274\217\344\273\273\345\212\241-beta.html" deleted file mode 100644 index b3623d5b57..0000000000 --- "a/pr-preview/pr-1298/docs/category/\344\272\244\344\272\222\345\274\217\344\273\273\345\212\241-beta.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -交互式任务 (beta) | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\344\275\277\347\224\250\347\244\272\344\276\213.html" "b/pr-preview/pr-1298/docs/category/\344\275\277\347\224\250\347\244\272\344\276\213.html" deleted file mode 100644 index 5dc6756386..0000000000 --- "a/pr-preview/pr-1298/docs/category/\344\275\277\347\224\250\347\244\272\344\276\213.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -使用示例 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\345\244\232\351\233\206\347\276\244\347\256\241\347\220\206.html" "b/pr-preview/pr-1298/docs/category/\345\244\232\351\233\206\347\276\244\347\256\241\347\220\206.html" deleted file mode 100644 index bb43f8840a..0000000000 --- "a/pr-preview/pr-1298/docs/category/\345\244\232\351\233\206\347\276\244\347\256\241\347\220\206.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -多集群管理 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\345\256\211\350\243\205.html" "b/pr-preview/pr-1298/docs/category/\345\256\211\350\243\205.html" deleted file mode 100644 index 033ba2c3da..0000000000 --- "a/pr-preview/pr-1298/docs/category/\345\256\211\350\243\205.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -安装 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\345\256\241\350\256\241\347\263\273\347\273\237.html" "b/pr-preview/pr-1298/docs/category/\345\256\241\350\256\241\347\263\273\347\273\237.html" deleted file mode 100644 index e21a2123cc..0000000000 --- "a/pr-preview/pr-1298/docs/category/\345\256\241\350\256\241\347\263\273\347\273\237.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -审计系统 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\345\272\224\347\224\250\351\205\215\347\275\256\347\244\272\344\276\213-1.html" "b/pr-preview/pr-1298/docs/category/\345\272\224\347\224\250\351\205\215\347\275\256\347\244\272\344\276\213-1.html" deleted file mode 100644 index 42f6786ec7..0000000000 --- "a/pr-preview/pr-1298/docs/category/\345\272\224\347\224\250\351\205\215\347\275\256\347\244\272\344\276\213-1.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -应用配置示例 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\345\272\224\347\224\250\351\205\215\347\275\256\347\244\272\344\276\213.html" "b/pr-preview/pr-1298/docs/category/\345\272\224\347\224\250\351\205\215\347\275\256\347\244\272\344\276\213.html" deleted file mode 100644 index 31723284db..0000000000 --- "a/pr-preview/pr-1298/docs/category/\345\272\224\347\224\250\351\205\215\347\275\256\347\244\272\344\276\213.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -应用配置示例 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\345\277\253\351\200\237\344\275\223\351\252\214.html" "b/pr-preview/pr-1298/docs/category/\345\277\253\351\200\237\344\275\223\351\252\214.html" deleted file mode 100644 index 46a70b19fd..0000000000 --- "a/pr-preview/pr-1298/docs/category/\345\277\253\351\200\237\344\275\223\351\252\214.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -快速体验 | SCOW - - - - - -

快速体验

从0开始部署一个简单的集群来快速体验SCOW的功能。

- - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\347\256\241\347\220\206\347\263\273\347\273\237.html" "b/pr-preview/pr-1298/docs/category/\347\256\241\347\220\206\347\263\273\347\273\237.html" deleted file mode 100644 index e900b9407b..0000000000 --- "a/pr-preview/pr-1298/docs/category/\347\256\241\347\220\206\347\263\273\347\273\237.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -管理系统 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\347\275\221\345\205\263.html" "b/pr-preview/pr-1298/docs/category/\347\275\221\345\205\263.html" deleted file mode 100644 index b744d426b4..0000000000 --- "a/pr-preview/pr-1298/docs/category/\347\275\221\345\205\263.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -网关 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\350\207\252\345\256\232\344\271\211.html" "b/pr-preview/pr-1298/docs/category/\350\207\252\345\256\232\344\271\211.html" deleted file mode 100644 index 1a7febc367..0000000000 --- "a/pr-preview/pr-1298/docs/category/\350\207\252\345\256\232\344\271\211.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -自定义 | SCOW - - - - - -

自定义

系统自定义功能

- - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\350\256\244\350\257\201.html" "b/pr-preview/pr-1298/docs/category/\350\256\244\350\257\201.html" deleted file mode 100644 index 4278bb98df..0000000000 --- "a/pr-preview/pr-1298/docs/category/\350\256\244\350\257\201.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -认证 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\350\260\203\345\272\246\345\231\250.html" "b/pr-preview/pr-1298/docs/category/\350\260\203\345\272\246\345\231\250.html" deleted file mode 100644 index 862f8bbc79..0000000000 --- "a/pr-preview/pr-1298/docs/category/\350\260\203\345\272\246\345\231\250.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -调度器 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\350\277\220\347\273\264.html" "b/pr-preview/pr-1298/docs/category/\350\277\220\347\273\264.html" deleted file mode 100644 index 3eb17c491d..0000000000 --- "a/pr-preview/pr-1298/docs/category/\350\277\220\347\273\264.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -运维 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\351\205\215\347\275\256.html" "b/pr-preview/pr-1298/docs/category/\351\205\215\347\275\256.html" deleted file mode 100644 index a2ee65da7c..0000000000 --- "a/pr-preview/pr-1298/docs/category/\351\205\215\347\275\256.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -配置 | SCOW - - - - - - - - \ No newline at end of file diff --git "a/pr-preview/pr-1298/docs/category/\351\227\250\346\210\267\347\263\273\347\273\237.html" "b/pr-preview/pr-1298/docs/category/\351\227\250\346\210\267\347\263\273\347\273\237.html" deleted file mode 100644 index 0b0553d4ab..0000000000 --- "a/pr-preview/pr-1298/docs/category/\351\227\250\346\210\267\347\263\273\347\273\237.html" +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -门户系统 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/contribution.html b/pr-preview/pr-1298/docs/contribution.html deleted file mode 100644 index 8312998124..0000000000 --- a/pr-preview/pr-1298/docs/contribution.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -贡献指南 | SCOW - - - - - -

贡献指南

-

感谢您对参与SCOW项目开发的兴趣!我们欢迎对项目有兴趣的参与者一起参与项目开发。

-

相关资料:

-
    -
  • 开发: 帮助您搭建本地开发环境,运行代码和测试以及提交代码
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/contribution/dev.html b/pr-preview/pr-1298/docs/contribution/dev.html deleted file mode 100644 index 6791c443b8..0000000000 --- a/pr-preview/pr-1298/docs/contribution/dev.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - -开发 | SCOW - - - - - -

开发

-

本节介绍开发项目相关的资料。

-

Repo结构

-

本项目采用monorepo结构,一个repo包含了整个系统的所有代码和文档。

-

其中:

-
    -
  • protos:包含了整个系统所有的proto文件
  • -
  • dockerfiles:包含整个系统所有的dockerfile文件
  • -
  • dev:开发相关文件
  • -
  • apps:所有子系统
  • -
  • libs:公共库
  • -
  • docs:文档项目
  • -
-

开始开发

-

准备主机环境

-

要开发SCOW,你的主机环境需要满足以下要求:

- -

推荐:Dev Container

-

本项目配置了VSCode Dev Container,您可以使用.devcontainer下的配置自动从GitHub打开一个Codespace或者使用VSCode生成一个开发用的容器。具体如何使用,请参考上述Dev Container的文档。

-

本地开发

-

如果您不使用Dev Container,也可以在本地构建开发环境。

-

请确保主机的~/.ssh目录下存在SSH RSA格式公私钥文件(id_rsaid_rsa.pub)。如果不存在,请运行ssh-keygen生成。

-

请安装以下软件:

-
    -
  • volta:管理node环境
  • -
  • pnpm:推荐standalone安装
  • -
-

无需手动安装node。volta将会在第一次运行npm或者node命令时自动安装对应工具的对应版本。

-

我们推荐使用Visual Studio Code作为开发环境。仓库中有.vscode目录用于预先配置部分VSCode的开发环境。

-

要开始开发:

-
# clone仓库
git clone https://github.com/PKUHPC/SCOW

cd SCOW

# 如果是standalone安装,或者在pnpm i的时候遇到node-gyp ENOET错误,运行以下全局安装node-gyp。只用安装一次即可。
pnpm install -g node-gyp

# 在根目录下,安装依赖
pnpm i

# 准备开发需要的库和代码:构建依赖库,生成各种代码
pnpm prepareDev

-

apps下的所有项目均可以使用dev脚本以开发环境运行。

-
# 以开发环境运行门户前端
cd apps/portal-web
pnpm dev
-

以开发环境运行文档项目

-
cd docs
pnpm start
-

其他常用命令:

-
# 编译libs目录下的库
pnpm build:libs

# 修改proto文件后,重新生成proto对应的ts文件
pnpm build:protos

# 在某一个具体项目下运行特定的脚本
# {项目名}请替换为项目package.json中name字段的@scow/后面的内容
# 项目可以运行什么脚本请查看项目package.json中的scripts
pnpm --filter {项目名} build

# 如运行@scow/config项目的build命令(编译),则运行
# 要想使用任何libs项目下的修改,必须先运行对应的build命令编译好
pnpm --filter config build

# 在某个项目下运行特定的脚本也可以使用cd进入项目后运行pnpm对应命令
cd config
pnpm build

-

测试开发环境

-

我们使用docker搭建了一套简单的开发环境,主要用于运行项目的单元和集成测试。具体开发环境请参考docker-compose.dev.yml

-

开发环境包括

-
    -
  • 可以通过3306端口连接的的MySQL8数据库 -
      -
    • root密码为dev/.env.dev中的MYSQL_ROOT_PASSWORD,为mysqlrootpassword
    • -
    -
  • -
  • 可以通过6379端口连接的redis:alpine
  • -
  • 可以通过3307端口连接的mariadb:5.5作为job table -
      -
    • root密码为dev/.env.dev中的JOB_TABLE_PASSWORD,为jobtablepassword
    • -
    -
  • -
  • 可以通过389端口连接的LDAP服务器,详情参考LDAP文档
  • -
  • 可以通过3890端口访问的phpLDAPadmin,可以用于登录389端口的LDAP服务器 -
      -
    • Dev Container:由于这个容器修改监听端口比较复杂,且开发环境并不会直接和这个容器交互,故这个容器映射到的宿主机的3890端口。
    • -
    -
  • -
  • 可以通过22222端口连接的SSH服务器 -
      -
    • 具有两个用户:root用户root(密码root)和普通用户test(密码test
    • -
    • 本地开发:可以直接使用本地的~/.ssh/id_rsa.pub登录roottest用户
    • -
    • Dev Container:见下文
    • -
    -
  • -
  • 可以通过6000端口访问的调度器适配器(test-adapter),接口返回固定值,仅用于测试环境
  • -
-

Dev Container环境

-

Dev Container在启动时同时会启动测试开发环境,且测试开发环境的故启动后您不再需要手动启动开发环境。且这些服务均启动于开发容器的网络中,可以直接使用localhost连接到这些服务。

-

注意:由于SSH服务器容器和开发环境所在容器为并列关系,SSH服务器不能直接使用开发容器所在的文件,故您需要在启动Dev Container后手动生成SSH密钥并配置公钥登录:

-
# 在Dev Container中执行

# 生成RSA类型SSH公钥
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa

# 给root和test用户配置公钥登录

# 运行后输入root密码root
ssh-copy-id -p22222 root@localhost

# 运行后输入test密码test
ssh-copy-id -p22222 test@localhost
-

本地开发

-
# 构建并启动开发环境
pnpm devenv

# 运行测试
# 测试环境必须在prepareDev运行后才能运行
pnpm test

# 对某一项目运行测试(此为对@scow/portal-web项目运行测试)
pnpm --filter portal-web test

# 停止开发环境
pnpm devenv:stop
-

容器构建说明

-
    -
  • 每个子系统的Dockerfile都应该放在dockerfiles目录下
  • -
  • 每个Dockerfile的context都应该是项目根目录,记得复制proto目录和依赖的本地库
  • -
  • 所有根据proto生成的文件都应该被gitignore和dockerignore,在容器中构建时需要现场生成
  • -
  • 根目录的docker-compose.yml应该只用于容器构建
  • -
-

代码风格检查

-

项目使用eslint进行代码风格规范和检查。eslint的配置采用@ddadaal/eslint-config

-

项目使用husky设置了一个pre-commit的git hook,在提交前运行以上的代码风格检查,如果代码风格检查没有通过则无法commit。

-

为什么不采用其他monorepo管理方案?

-
    -
  • npm workspace: -
      -
    • 这个会把所有依赖装在根目录,但是tsgrpc-cli会假设依赖装在项目目录,这样tsgrpc-cli就不能运行了(解决了)
    • -
    • npm workspace运行命令时不按依赖拓扑排序顺序运行(wtf!!!!),也不能手动在根package.json里指定所有包,因为每个子系统构建时,不存在其他子系统
    • -
    -
  • -
  • yarn workspace:新版本berry和volta的兼容性不好(issue),yarn的workspaces的foreach命令需要单独装插件,而且foreach命令不会交互式地输出结果
  • -
  • nx: 尝试迁移过去好几次了,但是感觉概念有点太复杂了……
  • -
  • lerna: 很久没更新了,删除依赖需要删掉包的node_modules然后重新bootstrap,麻烦
  • -
-

CI

-

项目CI配置如下:

-

CI流程

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy.html b/pr-preview/pr-1298/docs/deploy.html deleted file mode 100644 index bd6693c56e..0000000000 --- a/pr-preview/pr-1298/docs/deploy.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - -安装和配置 | SCOW - - - - - -

安装和配置

本部分帮助您安装和配置SCOW。

-
    -
  • 访问架构来了解系统的架构
  • -
  • 通过vagrant来使用vagrant快速启动一个slurm+SCOW集群
  • -
  • 参考安装在您的集群上安装SCOW
  • -
  • 参考配置配置SCOW
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/architecture.html b/pr-preview/pr-1298/docs/deploy/architecture.html deleted file mode 100644 index ea67767d17..0000000000 --- a/pr-preview/pr-1298/docs/deploy/architecture.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -架构 | SCOW - - - - - -

架构

系统各个组件的关系如下图。此部分简要介绍各个组件的功能,具体部署请参考各个组件的页面。

-

架构

-

SCOW由多个容器模块组成,包括gateway、auth、audit等基本模块,作为门户系统的novnc-client、portal-web、portal-server模块,作为管理系统的mis-web、mis-server模块,执行SCOW与计算集群交互的App Proxy、Adapter模块,以及作为部署工具的cli模块。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config.html b/pr-preview/pr-1298/docs/deploy/config.html deleted file mode 100644 index e85d26e08c..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -配置简介 | SCOW - - - - - -

配置简介

-

SCOW使用配置文件进行系统的配置。

-

SCOW的配置文件均使用yaml或者JSON格式,存放于config目录下。

-

项目在启动时将会检查配置文件是否符合格式,如果配置文件有错,则系统会直接报错。

-

您也可以使用scow-clicheck-config子命令,在不运行系统的情况下检查配置文件格式。

-
> ./cli check-config 

ERROR: Error reading config file config/clusters/hpc01.yaml: data/slurm/loginNodes/0 must be string
WARN: mis.yaml userIdPattern is deprecated and will be removed in a future version. Use createUser.userIdPattern instead
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab.html b/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab.html deleted file mode 100644 index 28af9f2e45..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - -JupyterLab | SCOW - - - - - -

JupyterLab

-

软件简介

-

JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。

-

前提条件

-

请确保在需要运行应用的计算节点有JupyterLab镜像或者可以拉取到配置里对应的镜像地址。

-

1、软件介绍

-

JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。

-

下面讲解如何配置使用JupyterLab。

-

配置文件

-

创建config/ai/apps目录,在里面创建jupyter.yml文件,其内容如下:

-
config/ai/apps/jupyter.yml
# 这个应用的ID
id: jupyter

# 这个应用的名字
name: jupyter

image:
# 镜像名称
name: jupyter/minimal-notebook
# 镜像版本
tag: latest

# 指定应用类型为web
type: web

# Web应用的配置
web:
# 指定反向代理类型
proxyType: absolute
# 准备脚本
beforeScript: |
export PASSWORD=$(get_password 12)
export SALT=123
export PASSWORD_SHA1="$(echo -n "${PASSWORD}${SALT}" | openssl dgst -sha1 | awk '{print $NF}')"

# 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令
startCommand:
jupyter-lab

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
jupyter-lab --ServerApp.ip='0.0.0.0' --ServerApp.port=${PORT} --ServerApp.port_retries=0 --ServerApp.password="sha1:${SALT}:${PASSWORD_SHA1}" --ServerApp.open_browser=False --ServerApp.base_url="${PROXY_BASE_PATH}/${HOST}/${SVCPORT}/" --ServerApp.allow_origin='*' --ServerApp.disable_check_xsrf=True --ServerApp.root_dir="${workingDir}" --allow-root

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

# 配置HTML表单
attributes:
- type: text
name: workingDir
label: 指定jupyter工作目录
required: true
placeholder: "请填写绝对路径"
-

增加了此文件后,刷新WEB浏览器即可。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode.html b/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode.html deleted file mode 100644 index 94fb265309..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -VSCode | SCOW - - - - - -

VSCode

-

软件简介

-

code-server是一个基于VS Code的开源工具,它可以让你通过浏览器远程访问一个运行着VS Code的服务器。

-

前提条件

-

请确保在需要运行应用的计算节点有coder/code-server镜像或者可以拉取到配置里对应的镜像地址。

-

下面讲解如何配置使用code-server。

-

配置文件

-

创建config/ai/apps目录,在里面创建vscode.yml文件,其内容如下:

-
config/ai/apps/vscode.yml
# 这个应用的ID
id: vscode

# 这个应用的名字
name: VSCode

image:
# 镜像名称
name: codercom/code-server
# 镜像版本
tag: 4.20.0

# 指定应用类型为web
type: web

# Web应用的配置
web:

# 指定反向代理类型
proxyType: relative

# 准备脚本
beforeScript: |
export PASSWORD=$(get_password 12)

# 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令
startCommand:
code-server
# 运行任务的脚本。可以使用准备脚本定义的
script: |
PASSWORD=$PASSWORD
code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"
-

注意事项

-

参考门户系统的vscode配置示例的注意事项

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app.html b/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app.html deleted file mode 100644 index b0a2fbf830..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -配置桌面类应用 | SCOW - - - - - -

配置桌面类应用

前提条件

-

镜像要求:

-
    -
  • 安装有VNC(TigerVNC or TurboVNC)
  • -
  • 安装对应的应用
  • -
  • 相应的脚本启动VNC服务以及桌面应用
  • -
  • 确保vnc连接的密码保存在~/.vnc/passwd文件中,应用在连接时,会给每次连接生成一个新的密码,生成的位置为~/.vnc/passwd
  • -
-

请确保计算节点可以拉取或者已经存在配置中应用的镜像。

-

配置示例

-

下面以使用pycharm为示例介绍如何配置桌面类应用。

-

创建config/ai/apps目录,在里面创建pycharm/config.yml或vscode.yml文件,其内容如下:

-
config/ai/apps/pycharm/config.yml
# 这个应用的ID
id: pycharm

# 这个应用的名字
name: pycharm

# 这个应用的图标文件在公共文件下的路径
logoPath: /test.svg

type: vnc
image:
# 镜像名称
name: 10.129.227.64/test/admin/pycharm
# 镜像版本
tag: v1.1

# VNC应用的配置
vnc:
# 此X Session的xstartup脚本
xstartup: |
/dockerstartup/vnc_startup.sh pycharm

-

增加了此文件后,刷新即可。

-

配置解释

-

logoPath

-

参考门户系统

-

image

-

该镜像会被用来启动应用,nametag分别指定镜像的名称和版本。如果本地没有该镜像,将会尝试从镜像仓库拉取。

-

beforeScript

-

参考门户系统

-

xstartup

-

此处应该填写启动镜像时,vnc服务启动时的xstartup脚本,脚本中应该包含启动桌面应用的命令。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app.html b/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app.html deleted file mode 100644 index 5d4aa76d31..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - -配置Web类应用 | SCOW - - - - - -

配置Web类应用

-

前提条件

-

请确保计算节点可以拉取或者已经存在配置中应用的镜像。

-

配置示例

-

下面以使用coder/code-server启动VSCode的配置为例来讲解如何配置一个服务器类应用。

-

创建config/ai/apps目录,在里面创建vscode/config.ymlvscode.yml文件,其内容如下:

-
config/ai/apps/vscode/config.yml
# 这个应用的ID
id: vscode

# 这个应用的名字
name: VSCode

# 指定应用类型为web
type: web

image:
# 镜像名称
name: codercom/code-server
# 镜像版本
tag: 4.20.0

# Web应用的配置
web:

# 指定反向代理类型
proxyType: relative

# 准备脚本
beforeScript: |
export PASSWORD=$(get_password 12)

# 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令
startCommand:
code-server
# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

-

增加了此文件后,刷新即可。

-

配置解释

-

proxyType

-

参考门户系统

-

image

-

该镜像将会被用来启动应用。nametag分别指定镜像的名称和版本。如果本地没有该镜像,将会尝试从镜像仓库拉取。

-

logoPath

-

参考门户系统

-

appComment

-

参考门户系统

-

beforeScriptstartCommandscript

-

beforeScript部分为准备脚本。这个脚本用来准备运行任务的环境。这个脚本要求必须export一个变量:

-
    -
  • PASSWORD: 连接程序用的密码
  • -
-

connectformData项需要使用的变量也需要在此处export。

-

准备脚本中的export的变量可以在script中使用。

-

script部分为如何启动这个应用的脚本。

-

startCommand 需要指明scipt中启动应用的命令,可供用户在使用自定义镜像时指定启动的命令,在默认情况下为code-server

-

beforeScriptscript中可以使用以下辅助函数:

-
函数名作用参数返回值
get_password生成一个包含A-Za-z0-9的随机密码$1: 密码长度密码
-

还可以使用以下变量。

-
变量名
PROXY_BASE_PATH这个应用在被访问时,其URL中位于计算节点IP之前的内容,不以/结尾。对SCOW AI来说,为${SCOW AI的base path}/api/proxy/${集群ID}/${此应用的proxyType}, 如果自定义属性中出现了同名的变量,该值将会被覆盖。
PORT这个应用启动时容器内的端口
HOST这个应用启动时容器映射的主机名
SVCPORT这个应用启动后,SCOW AI 节点可通过HOST:SVCPORT访问该应用
-

这些脚本会被提交给调度系统,并最终运行后在计算节点上启动应用。

-

attributes

-

参考门户系统

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro.html b/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro.html deleted file mode 100644 index e7c96cc870..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - -交互式作业 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/ai/intro.html b/pr-preview/pr-1298/docs/deploy/config/ai/intro.html deleted file mode 100644 index 06c46afef5..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/ai/intro.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - -配置 AI 系统(beta) | SCOW - - - - - -

配置 AI 系统(beta)

-

本节介绍如何配置 AI 系统(beta)

-

Beta期间配置

-

SCOW AI当前处于Beta状态,其代码将会和SCOW主线共存,但是SCOW AI的版本发布周期将是独立的,不和SCOW本身同步。

-

您可以在GitHub的Release中找到格式为ai-beta.{数字}的Release,这些Release以及对应的Tag均为SCOW AI的Beta发布版本。快速到所有ai-beta. Release的链接点击此处

-

要使用SCOW AI的具体的版本,您需要修改install.ymlimageTag为一个具体的ai-beta.{数字}的tag,例如:

-
install.yaml
# 指定使用Beta 1版本
imageTag: ai-beta.1
-

您同样可以使用master来跟踪SCOW主线以及其包括的SCOW AI的最新功能。

-

前期准备

-

K8S 集群

-

AI 系统(beta) 需要用户在使用时提前部署 K8S 的集群环境。

-

当前 AI 系统(beta) 为试用版本,我们目前已经支持 dockercontainerd 两种容器运行时的 k8s集群中使用 AI 系统。 若集群为containerd 运行时,需要在集群的节点上安装 nerdctl

-

当前试用版本中 K8S 部署的主要版本信息如下:

-
安装内容版本信息
kubernetesv1.19.13
Docker Engine19.03.12
-

K8S 调度服务

-

AI 系统(beta) 同样通过 SCOW调度器适配器 来实现对 K8S 集群的调度服务。

-

同时为了满足提交 AI 作业、训练 AI 作业的功能,需要使用第三方调度插件 Kueue、 配置 Cluster Queue 的队列信息来协调和处理作业任务。

-
    -
  • -

    K8S 调度器适配器

    -

    我们仍然使用 SCOW调度器适配器 来实现 K8S 集群的调度服务。

    -

    当前版本中,我们提供了调度器适配器的适用版本的二进制文件 scow-ai-adapter-amd64,欢迎下载进行试用。

    -

    K8S 调度器适配器的配置请参照此链接

    -
  • -
  • -

    第三方调度插件 Kueue

    -

    Kueue 是一个用于 Kubernetes 的作业排队系统。它旨在管理和优化批处理作业和其他非实时工作负载的执行。 Kueue 的安装下载参照此链接

    -
  • -
  • -

    配置 Cluster Queue

    -

    Cluster Queue 允许基于不同的策略和需求对作业进行分组管理。

    -

    Cluster Queue 的配置与实际部署的 K8S集群 情况紧密相关,推荐您按照 Cluster Queue 介绍 和实际部署集群的详细情况进行配置。

    -
  • -
-

Harbor

-

当前 AI 系统(beta) 版本中,为了实现镜像的保存、上传、分享、复制、删除等功能,需要您已部署可访问的 Harbor 镜像仓库。同时需要您已在 Harbor 上创建了用于镜像管理的项目,并在 AI 服务配置文件中配置该项目名称。

-

我们在测试版本中支持通过 http 协议 实现的 Harbor API V2.0 版本接口的访问,为了您能流畅体验试用镜像功能,推荐您部署支持该版本接口的 Harbor 镜像仓库。

-

我们在试用版的测试环境中试用的 Harbor 版本信息为 版本v2.7.4-8693b25a

-

并行文件存储服务

-

当前 AI 系统(beta) 版本中需要您已经提前安装部署了并行文件存储服务。

-

LDAP

-

当前 AI 系统(beta) 版本中我们仍然延续 SCOW 系统的认证系统服务,采用基于 LDAP 认证系统进行用户认证。

-

在 K8S 集群中仍然需要像 SCOW 系统的 hpc集群 一样,在管理节点安装 LDAP服务端 ,在所有节点安装 LDAP客户端

-

配置文件

-

集群配置文件

-

在当前 AI 系统(beta) 的试用版本中,我们支持了配置不同集群使用不同的服务(AI 或 HPC),需要在config/clusters/{K8S集群的ID}.yml中,添加如下内容

-
config/clusters/{K8S集群的ID}.yml
# 其他配置省略
# ...
# 集群在HPC或是否启用,默认为true
hpc:
enabled: true

# 集群在AI或是否启用,默认为false
ai:
enabled: false
-

此外我们支持了不同容器运行时,并提供了进入运行中的 k8s 作业容器的进行 shell 操作的功能。

-

为了能够在 Kubernetes 集群中通过 kubectl 进入到所有命名空间的容器中执行命令(例如 /bin/sh),需要提供一份 kubeconfig 配置文件。该配置文件的 current context 中的用户需要使用 ClusterRole 创建并具备一定的权限,这些权限包括对 pods/exec 的 create 操作,以及对 pods 的 get 和 list 操作。创建完成后,需要将 kubeconfig 文件放置到 SCOW 部署目录中的 config 目录下,然后在config/clusters/{K8S集群的ID}.yml中,添加如下内容

-
config/clusters/{K8S集群的ID}.yml
# 其他配置省略
# ...
k8s:
# runtime: docker
# 默认为 containerd
runtime: containerd
# kubeconfig 相关配置
kubeconfig:
# 相对于 SCOW 部署目录下 config 目录的路径
path: /kube/xxx
-

请在部署了 K8S 集群的集群配置文件中确认以下内容:

-

config/clusters/{K8S集群的ID}.yml中,修改配置(使用 K8S适配器 的ip地址和端口号)

-
config/clusters/{K8S集群的ID}.yml
# 其他配置省略
# ...
adapterUrl: localhost:8972
-

修改安装配置文件

-

修改安装配置文件:

-
install.yaml
# 其他配置省略
# ...
# 确保 AI 系统会部署
ai:
# dbPassword 为 AI 系统数据库密码
# 在系统第一次启动前可自由设置,使用此密码可以以 root 身份登录数据库
# 一旦数据库启动后即不可修改
# 必须长于 8 个字符,并同时包括字母、数字和符号
dbPassword: "must!chang3this"
-

编写 AI 服务配置

-

config/ai/config.yaml文件中,根据备注修改所需要的配置

-
config/ai/config.yaml
# AI 系统服务的 url,默认不修改
url: ai:5000
# AI 系统数据库的信息。可以不修改
db:
host: ai-db
port: 3306
user: root
password: must!chang3this
dbName: scow_ai
debug: true
# AI 系统镜像保存 Harbor 仓库配置
harborConfig:
# Harbor 仓库地址
url: 10.0.0.xxx
# Harbor 仓库中用于当前系统镜像管理的已存在的项目名称
project: projectName
# Harbor 仓库可登录用户的用户名
# (建议使用上述项目的项目管理员以上权限人员,需具有 API 2.0 接口访问权限)
user: user
# Harbor 仓库可登录用户的登录密码
password: password
-

启动服务

-

运行 ./cli compose up -d 启动 AI 系统(beta) 服务。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/audit/customEvent.html b/pr-preview/pr-1298/docs/deploy/config/audit/customEvent.html deleted file mode 100644 index be1aca2476..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/audit/customEvent.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -自定义操作行为日志 | SCOW - - - - - -

自定义操作行为日志

-

本节介绍如何使用自定义操作行为日志

-

功能介绍

-

SCOW的审计系统内置了一些用户操作行为,例如登录、登出和修改密码等。这些内置操作行为在SCOW的管理系统页面上,可以进行展示、搜索以及统计。

-

但是,有时候用户可能需要对自己的业务系统进行审计,这时候就需要自定义操作行为。该功能可以在不修改SCOW源码的情况下,通过调用审计系统的 API 实现对操作行为类别的扩展以及对应的国际化展示,同时可以支持在管理系统的操作日志页面对该类别的操作行为进行搜索。

-

如何新增自定义操作行为

-

1. 调用CreateOperationLog API

-

在自己实现的业务系统中,调用审计系统的CreateOperationLog,新增自定义操作行为的类别。

-

定义的protobuf文件相关内容如下:

-
message I18nObject {
message I18n {
string default = 1;
optional string en = 2;
optional string zh_cn = 3;
}
I18n i18n = 1;
}

// 用户自定义操作类型,name和content将直接展示
message CustomEvent {
string type = 1;
common.I18nObject name = 2;
common.I18nObject content = 3;
}

message CreateOperationLogRequest {
string operator_user_id = 1;
string operator_ip = 2;
OperationResult operation_result = 3;
oneof operation_event {
Login login = 4;
Logout logout = 5;
SubmitJob submit_job = 6;
EndJob end_job = 7;
//...省略中间的内置操作行为

// 表示该条操作日志记录为自定义操作行为
CustomEvent custom_event = 61;
}
}
-

CustomEvent参数定义

-
    -
  • type:自定义操作行为的类别,用于区分不同的自定义操作行为。
  • -
  • name:自定义操作行为的名称,国际化对象,用于在管理系统的操作日志页面进行展示。
  • -
  • content:自定义操作行为的内容,国际化对象,用于在管理系统的操作日志页面进行展示以及搜索。
  • -
-

2. 自定义操作行为日志查看及搜索

-

在管理系统的操作日志页面,可以查看到新增的自定义操作行为的类别,以及对应的操作日志记录。

-

表格中操作行为列将展示custom_eventname的国际化内容, 操作内容为custom_eventcontent的国际化内容

-

如果需要搜索特定自定义操作行为的操作日志,可在表单上方过滤操作行为选择自定义操作行为,之后在自定义操作类型的下拉框里选取具体的自定义操作类型(对应创建时的type参数)

-

custom_event

-

注意

-

在新增自定义操作行为时,需要确保系统内已有数据是否有相同的custom_event_type, 如果创建操作日志时传参custom_event内的type已存在,需要确保此时name参数与已有数据中的name完全一致,否则将创建失败

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/audit/intro.html b/pr-preview/pr-1298/docs/deploy/config/audit/intro.html deleted file mode 100644 index f6b101511a..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/audit/intro.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -配置审计系统 | SCOW - - - - - -

配置审计系统

-

本节介绍如何配置审计系统。

-

修改安装配置文件

-

修改安装配置文件

-
install.yaml
# 确保审计系统会部署
audit:

# dbPassword为审计系统数据库密码
# 在系统第一次启动前可自由设置,使用此密码可以以root身份登录数据库
# 一旦数据库启动后即不可修改
# 必须长于8个字符,并同时包括字母、数字和符号
dbPassword: "must!chang3this"
-

编写后端服务配置

-

config/audit.yaml文件中,根据备注修改所需要的配置

-
config/audit.yaml

# 审计服务的url,默认不修改
url: audit-server:5000
# 审计系统数据库的信息。可以不修改
db:
host: audit-db
port: 3306
user: root
password: mysqlrootpassword
dbName: scow_audit
-

启动服务

-

运行./cli compose up -d启动审计服务。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/auth/config.html b/pr-preview/pr-1298/docs/deploy/config/auth/config.html deleted file mode 100644 index c82cae4107..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/auth/config.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - -内置认证系统配置 | SCOW - - - - - -

内置认证系统配置

-

UI 配置

-

认证系统支持对登录界面部分 UI 进行修改

-

auth.yaml配置中,可以配置关于登录界面 UI 的部分内容。

-
备注

注意:登录框中登录按钮颜色跟随主题色配置,配置文件为 ui.yaml

-

其中关于背景图片路径和自定义 logo 图片路径的设置可以参考公共文件进行配置。需要强调的是该路径是相对于公共文件的路径。

-
# auth 界面 ui 配置
# 可根据不同域名进行不同的展示,当对应域名没有相应配置时采用 default 配置
ui:
default:
# 登录界面背景图,设置为""(空字符串)则无背景图
# 可选配置,默认加载 install.yml 同级的 /public/assets 目录下的 background.png 作为背景图
backgroundImagePath: "./assets/background.png"

# 登录界面背景色,当背景图无法加载时,背景色起效
# 可选配置,默认为 #8c8c8c
backgroundFallbackColor: "#8c8c8c"

# 登录界面 logo,可选配置
logo:
# 未配置自定义 logo(customLogoPath) 时,默认使用 SCOW Logo
# light: 亮色模式下的 logo, dark: 黑暗模式下的 logo
# 可选配置,默认为黑暗模式 logo
scowLogoType: "dark"
# 可选配置,自定义 logo 的图片路径。与背景图一致,路径时相对于公共文件的路径
customLogoPath: ""
# 可选配置,自定义点击 logo 跳转地址
customLogoLink: "https://icode.pku.edu.cn/SCOW/"

# 登录界面 slogan 配置
# 可选配置,默认右侧无 slogan
slogan:
# 登录界面 slogan 文字颜色
# 可选配置,默认为白色字体
color: "white"
# 登录界面 slogan title
# 可选配置,默认无 slogan 标题
title: "开源算力中心门户和管理平台"
# 多条 slogan 文本
# 可选配置,默认 slogan 为空数组
texts:
- "图形化界面,使用方便"
- "功能丰富,管理简单"
- "一体化部署,开箱即用"
- "标准化平台,支持算力融合"
- "开源中立,独立自主"

# 登陆界面底部 Power By 字体颜色配置
# 可选配置,默认为白色字体
footerTextColor: "white"

# 根据不域名进行不同的展示,对具体hostname生效的生效,可以不填
# hostnameMap:

# a.com:
# # 登录界面背景图
# backgroundImagePath: "./assets/background1.png"

# # 登录界面背景色,当背景图无法加载时,背景色起效
# backgroundFallbackColor: "#000"

# # 登录界面 logo 图,
# logo:
# # 如果没有配置自定义 logo, 则使用 type 选择 SCOW Logo
# # light: 亮色模式下的 logo, dark: 黑暗模式下的 logo
# scowLogoType: "light"
# # 自定义 logo, 默认为空
# customLogoPath: ""
# # 自定义点击 logo 跳转地址
# customLogoLink: "https://icode.pku.edu.cn/SCOW/"

# # 登录界面 slogan 配置
# slogan:
# # 登录界面 slogan 文字颜色
# color: "black"
# # 登录界面 slogan title
# title: "开源算力中心门户和管理平台"
# # 多条 slogan 文本
# texts:
# - "图形化界面,使用方便."
# - "功能丰富,管理简单."
# - "一体化部署,开箱即用."
# - "标准化平台,支持算力融合."
# - "开源中立,独立自主."

# # 登陆界面底部 Power By 字体颜色配置
# footerTextColor: "black"
-

允许回调主机名

-

当登录完成后,认证系统将会回调到登录时传入的callbackUrl参数。为了保证安全性,认证系统默认只允许回调到和认证系统相同的主机名下。您可以通过配置auth.yml下的allowedCallbackHostnames配置项来配置允许回调的主机名。注意,主机名(hostname)不包括端口号。

-
config/auth.yml
allowedCallbackHostnames:
- localhost
- another.com
-

验证码功能

-

auth.yaml配置中,可以配置关于登录验证码的功能

-
config/auth.yml
# 默认不启用登录验证码功能
# captcha:
# enabled为true开启登录验证码功能
# enabled: false
-

启用登录验证码时UI界面:

-

验证码登录UI

-

模仿用户

-

如果登录用户的ID为某个key,那么实际将会以其对应的value的用户登录。修改此配置无需重启认证系统。

-
config/auth.yml
mockUsers:
# 当登录用户的ID为fromUser1,实际上以toUser1登录
fromUser1: toUser1
fromUser2: toUser2
-

OTP功能

-

auth.yaml配置中,可以配置关于otp验证码的功能, ldap认证方式支持支持绑定otp和验证,有效验证码为当前验证码和上一个验证码。ssh认证方式仅支持远程验证。

-

一、将OTP密钥保存在LDAP中(即otp.type为ldap):

-
    -
  1. 手机app您可以使用authenticator,FreeOTP等。
  2. -
  3. 您需要自己在ldap中定义一个属性名用来存储string类型的OTP密钥,并配置为auth.yaml中的opt.secretAttributeName,这个密钥属性名默认为otpSecret
  4. -
  5. 您需要配置邮件发送信息。其中,您需要提供有效的发件人地址、SMTP 服务器地址、SMTP 服务器端口号以及 SMTP 认证凭据(包括用户名和授权码)。
  6. -
-

二、由您自己管理OTP密钥(otp.type为remote):

-
    -
  1. 那么您需要提供一个验证otp码的接口, 并配置为otp.remote.validateUrl,返回验证的结果。返回结果要求json格式{"result": true|false}
  2. -
  3. scow会使用fetch向上述接口(otp.remote.validateUrl)发起请求。fetch请求中otpCode为用户输入的otp码,userId为用户名,类型均为string
  4. -
-
fetch
headers"Content-Type": "application/json"
bodyotpCode, userId
-

例:假设您是像Google Authenticator一样将密钥存在用户家目录下的.google_authenticator第一行内容,那么您可以提供的路由接口及服务TypeScript示例:

-

import { Static, Type } from "@sinclair/typebox";
import fastify from "fastify";
import { NodeSSH } from "node-ssh";
import * as speakeasy from "speakeasy";

// 远程验证OTP码
const app = fastify({ logger: true });

/**
* 要求启动该服务的主机可以ssh免密登录到存放otp密钥的主机的root用户。启动该服务的主机的私钥地址为/home/node/.ssh/id_rsa,node为用户名。
* 假设您的OTP密钥存放主机host="192.168.88.102"上/data/home/{{userId}}/.google_authenticator文件的第一行内容,其中{{userId}}为需要验证otp码是否正确的用户名
*
*/
// ssh免密登录到存放otp密钥的root用户
const sshUserName = "root";
// 假设启动该服务的主机的私钥地址为/home/node/.ssh/id_rsa
const privateKeyPath = "/home/node/.ssh/id_rsa";

// OTP密钥存放主机host="192.168.88.102"
const host = "192.168.88.102";
// 用户家目录,otp密钥存放于此目录下的.google_authenticator文件的第一行内容
const homedir = "/data/home/{{ userId }}";

// routePath需要与您实现的验证接口(otp.remote.url中的path)一致
const routePath = "/otp/remote/validateCode";

const bodySchema = Type.Object({
otpCode: Type.String(),
userId: Type.String(),
});
app.post<{Body: Static<typeof bodySchema>}>(
routePath,
{
schema: {
body: bodySchema,
},
},
async (req, res) => {
// otpCode为scow发起的请求携带的OTP验证码,userId为OTP验证的用户名
const { otpCode, userId } = req.body;
const ssh = new NodeSSH();
// 获取OTP密钥
const otpSecret = await ssh.connect({ host: host, username: sshUserName, privateKeyPath: privateKeyPath })
.then(async () => {
const otpSecretFilePath = homedir.replace("{{ userId }}", userId) + "/.google_authenticator";
const fileContent = await ssh.execCommand(`su ${userId} && cat ${otpSecretFilePath}`);
return fileContent.stdout.toString().split("\n")[0];
}).finally(() => {
ssh.dispose();
});
// 获取绝对时间戳
const currentTime = new Date();
const timeStamp = Date.UTC(currentTime.getUTCFullYear(), currentTime.getUTCMonth(), currentTime.getUTCDate(),
currentTime.getUTCHours(), currentTime.getUTCMinutes(), currentTime.getUTCSeconds(),
currentTime.getUTCMilliseconds());

// 验证
let result = speakeasy.totp.verify({
token: otpCode,
time: timeStamp / 1000,
encoding: "base32",
secret: otpSecret,
// digits, step, algorithm需要您与手机app设置保持一致,默认digits为6,step为30,algorithm为sha1
});
// 验证失败则检测输入的是否是上一个step的otp码,如果是,也算通过
if (!result) {
result = speakeasy.totp.verify({
token: otpCode,
time: timeStamp / 1000 - 30,
encoding: "base32",
secret: otpSecret,
});
}
res.send({ result });
},
);

export const start = async () => {
// 配置监听的ip和端口
await app.listen({ port: 9999, host: "192.168.88.100" });
};
start();

-

默认不启用otp功能,无需配置。若要启用otp, 则需要将otp.enabled配置为true, 此时必须配置otp.typeldap或者remote

-

启用时,如果您将otp.type配置为ldap, 那么otp.ldap下所有没有默认值的配置项都需要配置,此外您需要保证auth.yaml文件中ldap.attrs.mail被配置了,此配置在这里用于获取邮箱信息发送邮件。同样地如果您将otp.type配置为remote, 那么otp.remote下所有没有默认值的配置项都需要配置。

-

auth.yaml:

-
config/auth.yml

# ldap认证支持绑定和验证otp,ssh认证仅支持验证
otp:
# 是否启用otp功能, 默认false
enabled: false
# status指定otp启用类型,分别为ldap:密钥存在ldap,remote:密钥您自己管理。
type: ldap
# 当status为ldap时间,需配置以下这段内容
ldap:
# 限制绑定otp要在多少分钟内完成,需要整数, 默认10
# bindLimitMinutes: 10
# 密钥存储属性名, 默认为otpSecret, 需要用户自己在ldap中进行定义
secretAttributeName:
# 访问scow系统的域名或ip地址(不需要填写scow的base path),用于发送邮件中组成OTP绑定页面的地址,例如:https://pku.edu.cn
scowHost:
# otp验证软件扫描二维码之后,出现的label中,用户名和@后显示的名称, 默认为SCOW
# ldabel: "scow"
# otp的二维码上方文字描述信息", 默认为 "此二维码仅出现一次,用过即毁", 支持html标签
# qrcodeDescription: "此二维码仅出现一次"
# 绑定otp时发送绑定信息方式
authenticationMethod:
mail:
# 发件邮箱地址
from: "morgan68@ethereal.email"
# 向每个用户发送邮件频率限制,需要整数,单位秒,默认60秒间隔
# sendEmailFrequencyLimitInSeconds: 60
# 邮件主题,默认为"OTP绑定链接"
# subject: "OTP绑定链接"
# 邮件内容标题,默认为"Bind OTP",也可以是html标签内容
# title: "Bind OTP"
# 邮件内容,默认为"Please click on the following link to bind your OTP:",也可以是html标签内容
# contentText: "Please click on the following link to bind your OTP"
# 标签点击文字,默认为"Bind OTP"
# labelText: "Bind OTP"
mailTransportInfo:
# SMTP服务器
host: "smtp.ethereal.email"
# 是否启用安全连接,默认false
# secure: false
# 服务器端口
port: 587
# SMTP身份验证用户名
user: "morgan68@ethereal.email"
# SMTP身份验证授权码
password: "y2es3bd3rYwxWs5n8g"
# 如果mode指定为remote,需要配置以下内容
remote:
# 远程验证url,例如http://localhost:9999/otp/remote/validateCode,详见https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config
validateUrl:
# 当用户点击绑定OTP按钮时跳转的按钮,建议配置,不配置会不显示绑定otp按钮
# redirectUrl: https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/auth/intro.html b/pr-preview/pr-1298/docs/deploy/config/auth/intro.html deleted file mode 100644 index a27ea3227f..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/auth/intro.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -简介 | SCOW - - - - - -

认证系统简介

-

认证系统(auth)为系统提供用户登录功能,以及为各个组件提供鉴权服务。

-

认证过程图

-

内置认证系统

-

我们提供的认证系统实现支持以下认证方式。请根据自己的集群的情况,选择自己的认证方式并进行部署和配置。

- -
提示

如果您的集群可以使用SSH登录,可以首先使用最简单的SSH方式进行测试。

-

内置系统的额外配置介绍请参考内置认证系统配置

-

自定义认证方式

-

如果您的集群需要使用其他认证方式,您可以参考与SCOW集成文档去使用或者实现一个自定义认证系统。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/auth/ldap.html b/pr-preview/pr-1298/docs/deploy/config/auth/ldap.html deleted file mode 100644 index 7da0ff508f..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/auth/ldap.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - -LDAP | SCOW - - - - - -

LDAP认证系统

-

本节介绍使用内置认证系统并使用LDAP进行用户认证。

-

LDAP认证系统支持的功能如下表:

-
功能是否支持
用户登录
获取用户信息
用户创建如果配置了相关配置即支持
用户名和姓名验证
修改密码
管理用户账户关系
-

LDAP认证要求和流程

-

为了更好的理解并配置LDAP认证系统,本节将介绍各个操作时,LDAP认证系统所进行的操作。请确认您的LDAP配置兼容这里所称的流程

-

下文中,代码块(如ldap.bindDn)为配置文件config/auth.yml中的对应值。

-

使用LDAP登录集群

-

要使用LDAP进行SCOW系统的用户认证,您必须配置LDAP服务器和集群中的每个节点,使得集群中的任何节点都可以使用LDAP用户节点的ldap.attrs.uid对应的属性的值和密码作为用户名和密码登录。请参考client.sh配置使用LDAP服务器登录Linux节点。

-

登录

-

当用户登录时,认证系统获得用户输入的用户名和密码,进行以下操作:

-
    -
  1. 使用ldap.bindDnldap.bindPassword作为用户名和密码,向LDAP服务器所在的ldap.url发起bind请求
  2. -
  3. bind成功后,以ldap.searchBase为搜索根,以sub模式,以ldap.filter && (ldap.attrs.uid等于输入的用户名) 为筛选条件搜索节点 -
      -
    1. 如果搜索结果为空,则登录失败
    2. -
    3. 如果搜索节点有多个,取第一个结果
    4. -
    -
  4. -
  5. 上一个结果的DN以及输入的密码作为用户名和密码,与LDAP服务器发起bind请求 -
      -
    1. 如果bind失败,则登录失败
    2. -
    -
  6. -
  7. 登录成功。生成一个UUID作为token,将token与输入的用户名存入redis
  8. -
  9. 重定向到用户在登录时,通过querystring指定的callback URL,并传入token={token}作为querystring参数
  10. -
-

创建用户

-

系统会对每个新用户创建一个新的LDAP节点表示用户,并支持同时创建一个LDAP节点表示用户的组。

-

当用户在管理系统中创建后,认证系统获得新用户的用户名、用户姓名、密码和邮箱,进行以下操作

-
    -
  1. 使用ldap.bindDnldap.bindPassword作为用户名和密码与向LDAP服务器所在的ldap.url发起bind请求
  2. -
  3. 创建一个新的entry作为用户,其DN以及属性值如下表所示
  4. -
-

表中??表示如果前面的配置值设置了,就采用前面的值,如果没有设置,则采用后面的值。

-
属性名
DN{ldap.addUser.userIdDnKey ?? ldap.attrs.uid}=用户名,{ldap.addUser.userBase}
ldap.attrs.uid用户名
sn用户名
loginShell/bin/bash
objectClass["inetOrgPerson", "posixAccount", "shadowAccount"]
homeDirectoryldap.addUser.homeDir,其中的{{ username }}替换为用户名
uidNumber数据库中的用户项的id + ldap.addUser.uidStart
gidNumber取决于ldap.groupStrategy,见下文
ldap.attrs.name(如果设置了)用户姓名
ldap.attrs.mail(如果设置了)用户的邮箱
ldap.addUser.extraProps中的每个keykey对应的值,对应的值可以为字符串、字符串列表或者null。字符串或者字符串列表中的每一项其中的{{ key }}替换为key本节点的对应的属性的值。
-

如果ldap.addUser.extraProps中包括已经存在的属性名,则会替换对应的属性。如果这里面某个值为null,则会删除对应的属性。

-
    -
  1. 配置新用户所属的组。
  2. -
-

如果ldap.addUser.groupStrategy设置为oneGroupForAllUsers,则新用户的gidNumberldap.addUser.oneGroupForAllUsers.gidNumber的值,且不会新建新的表示组的LDAP节点。

-

如果ldap.addUser.groupStrategy设置为newGroupPerUser,则新用户的gidNumber的值等于用户的uidNumber,并且会创建一个新的LDAP节点作为新用户的group,其DN以及属性值如下表所示。

-
属性名
DN{ldap.newGroupPerUser.groupIdDnKey ?? ldap.attrs.userId}=用户名,{ldap.addUser.newGroupPerUser.groupBase}
objectClass["posixGroup"]
memberUid用户名
gidNumber同用户的uidNumber
ldap.addUser.newGroupPerUser.extraProps中的每个keykey对应的值,对应的值可以为字符串、字符串列表或者null。字符串或者字符串列表中的每一项其中的{{ key }}替换为key本节点的对应的属性的值。
-

如果ldap.addUser.newGroupPerUser.extraProps中包括已经存在的属性名,则会替换对应的属性。如果这里面某个值为null,则会删除对应的属性。

-
    -
  1. 设置新用户的密码为用户输入的密码
  2. -
-

配置LDAP认证服务

-

config/auth.yml中输入以下内容,并根据情况配置。

-
config/auth.yml
# 指定使用认证类型为LDAP
authType: ldap

# 在此部分输入LDAP的配置
ldap:
# LDAP服务器地址。必填
url: ldap://LDAP服务器地址

# 进行LDAP操作的用户DN。默认为空
# bindDN: ""
# 进行LDAP操作的用户密码。默认为空
# bindPassword: ""

# 在哪个节点下搜索要登录的用户。必填。
searchBase: ""
# 搜索登录用户时的筛选器。必填
userFilter: "(uid=*)"

# 属性映射
attrs:
# LDAP中对应用户ID的属性名
uid: uid

# LDAP对应用户姓名的属性名
# 此字段用于
# 1. 登录时显示为用户的姓名
# 2. 创建用户的时候把姓名信息填入LDAP
# 3. 管理系统添加用户时,验证ID和姓名是否匹配
#
# 如果不设置此字段,那么
# 1. 用户显示的姓名为用户的ID
# 2. 创建用户时姓名信息填入LDAP
# 3. 管理系统添加用户时,不验证ID与姓名是否匹配
# name: cn

# LDAP中对应用户的邮箱的属性名。可不填。此字段只用于在创建用户的时候把邮件信息填入LDAP。
# mail: mail

# 添加用户的相关配置。可不填,不填的话SCOW不支持创建用户。
addUser:
# 增加用户节点时,把用户增加到哪个节点下
userBase: "ou=People,ou={ou},o={dn}"

# 用户的homeDirectory值。使用{{ userId }}代替新用户的用户名。默认如下
homeDir: /nfs/{{ userId }}

# LDAP增加用户时,新用户节点的DN中,第一个路径的属性的key。
# 新用户节点的DN为{userIdDnKey}={用户ID},{userBase}
# 如果不填写,则使用ldap.attrs.uid的值
# userIdDnKey: uid

# 如何确定新用户的组。可取的值包括:
# newGroupPerUser: 给每个用户创建新的组
# oneGroupForAllUsers: 不创建新的组,给所有用户设定一个固定的组
groupStrategy: newGroupPerUser

newGroupPerUser:
# 用户对应的新组应该加在哪个节点下
groupBase: "ou=Group,ou={ou},o={dn}"

# 新的组节点的DN中,第一个路径的属性的key。
# 新的组节点的DN为{groupIdDnKey}={用户ID},{groupBase}
# 如果不填写,则使用ldap.attrs.uid的值
# groupIdDnKey: uid

# 组的节点应该额外拥有的属性值。可以使用 {{ 用户节点的属性key }}来使用用户节点的属性值
# extraProps:
# greetings: hello this is group {{ userId }}

# 如果groupStrategy设置为oneGroupForAllUsers,那么必须设置此属性
oneGroupForAllUsers:
# 用户的gidNumber属性的值
gidNumber: 5000

# 是否应该把新用户加到哪个LDAP组下。如果不填,则不加
# addUserToLdapGroup: group

# uid从多少开始。生成的用户的uid等于此值加上用户账户中创建的用户ID
# 默认如下
# uidStart: 66000

# 用户项除了id、name和mail,还应该添加哪些属性。类型是个dict
# 如果这里出现了名为uid, name或email的属性,这里的值将替代用户输入的值。
# 属性值支持使用 {{ LDAP属性值key }} 格式来使用用户填入的值。
# 例如:sn: "{{ cn }}",那么添加时将会增加一个sn属性,其值为cn的属性,即为用户输入的姓名
# extraProps:
# key: value
-

增加好配置后,运行./cli compose restart重启系统即可。

-

LDAP快速配置脚本

-

我们提供以下两个脚本可以用来在CentOS 7环境快速安装和配置LDAP服务器

- -

请下载这两个文件,修改两个文件开头部分的相关配置(Start Configuratin PartEnd Configuration Part之间的变量),运行即可。

-

如果您使用provider.sh脚本配置您的服务器,您的LDAP相关配置为如下。其中{变量}替换为provider.sh中的对应变量值。

-
config/auth.yml

# ...其他配置

authType: ldap
ldap:
url: ldap://LDAP服务器地址
bindDN: cn=Manager,ou={ou},o={dn}
bindPassword: {adminPasswd}
searchBase: "ou={ou},o={dn}"
userFilter: "(uid=*)"
addUser:
userBase: "ou=People,ou={ou},o={dn}"
userIdDnKey: uid
# 把homeDir设置为共享存储上的用户的家路径
homeDir: /nfs/{{ userId }}

groupStrategy: newGroupPerUser
newGroupPerUser:
groupBase: "ou=Group,ou={ou},o={dn}"
groupIdDnKey: cn
attrs:
uid: uid
name: cn
mail: mail
-

LDAP镜像

-

您还可以使用我们提供的已经配置好的LDAP docker镜像进行体验。注意,此镜像仅用于测试和功能体验,请勿用于生产环境!

-
# 在整个项目的根目录构建镜像 
docker build -f dev/ldap/Dockerfile -t ldap .

# 启动镜像。服务在389端口监听。
# 管理员用户为cn=Manager,ou=hpc,o=pku,密码为admin
docker run -p 389:389 ldap
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/auth/ssh.html b/pr-preview/pr-1298/docs/deploy/config/auth/ssh.html deleted file mode 100644 index 5d5b4f9e32..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/auth/ssh.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -SSH | SCOW - - - - - -

SSH认证系统

-

本节介绍内置认证系统并采用SSH进行用户认证的认证系统。

-

SSH认证是非常简单的认证方式。用户可以直接使用和SSH登录集群相同的用户名和密码来登录系统。

-

在此认证方式中,用户的用户ID为其对应的Linux用户名,用户的姓名为其对应的Linux用户的Gecos Field的full name字段。

-

SSH认证方式所支持的功能如下表:

-
功能是否支持
用户登录
获取用户信息
用户创建
用户名和姓名验证
修改密码
管理用户账户关系
-

配置SSH认证服务

-

SSH认证方式要求编写好集群配置文件,并且确保其中第一个集群有至少一个登录节点。

-

config/auth.yml中输入以下内容:

-
config/auth.yml
# 指定使用认证类型为SSH
authType: ssh
-

增加好配置后,运行./cli compose restart重启系统即可。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/cli/plugins.html b/pr-preview/pr-1298/docs/deploy/config/cli/plugins.html deleted file mode 100644 index 642e92e73f..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/cli/plugins.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -插件 | SCOW - - - - - -

CLI插件

-
警告

实验性功能!

-

编写和配置

-

您可以通过和cli同级的plugins目录编写CLI插件。

-

每个插件占据一个目录,目录名为插件的ID。例如plugins/plugin1,则此插件id为plugin1

-

当您编写好插件后,您可以通过install.ymlplugins.enabledPlugins选项,指定启用的插件。

-

例如,如果要使用plugin1插件,则编写

-
install.yml
plugins: 
enabledPlugins: ["plugin1"]
-

插件功能

-

覆盖docker-compose.yml

-

您可以通过此功能更改部署的Docker Compose配置,例如在SCOW网络中部署其他的容器,或者给已有的服务增加新的环境变量、端口等。

-

在插件目录下,您可以编写docker-compose.yml文件,此文件将会与CLI生成的Docker Compose配置文件合并。CLI在调用docker compose时,使用docker compose -f {scow-cli生成的compose文件} ...-f {所有插件的compose文件}的方法执行。

-
plugins/plugin1/docker-compose.yml
version: "3"

services:
extraService:
image: <您的容器镜像>
# ...
-

拓展与集成

-

如果您仅需要增加部分服务端功能,只需要增加一个插件服务即可。

-

如果您需要增加页面功能,并与scow的http服务绑定在同一个端口上,需要在增加插件服务的同时增加gateway的配置,具体参考网关配置

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/cluster-config.html b/pr-preview/pr-1298/docs/deploy/config/cluster-config.html deleted file mode 100644 index d7d7f5a480..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/cluster-config.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -集群配置文件 | SCOW - - - - - -

集群配置文件

-

对于每个需要进行部署的集群,需要在config/clusters目录下创建一个{集群ID}/config.yml(或{集群ID}.yml)文件,并编写集群的信息。当您的集群信息修改后,您需要同时手动修改对应的集群配置文件。

-
config/clusters/hpc01/config.yml
# 此文件为hpc01.yml,对应的集群ID为hpc01

# 集群显示名称
displayName: hpc01Name

# 集群选择时排序的优先级,数字越小优先级越高,默认优先级最低
priority: 0

# 调度器适配器地址(ip地址:端口号)
adapterUrl: localhost:8972

loginNodes:
# 登录节点展示名称
- name: login01
# 各个登录节点的IP或者域名,不能重复
# 如果设置的是域名,请确认此节点的/etc/hosts中包含了域名到IP的解析信息
# 如果部署了多集群,需保证多集群下登录节点的IP或者域名也不能重复
address: 192.168.88.102
- name: login02
address: 192.168.88.103

# 登录节点桌面功能
loginDesktop:
# 是否启用桌面功能
enabled: true

# 桌面
wms:
# 桌面名和对应的wm值。见文档
- name: Xfce
wm: xfce

# 单个登录节点最多启动多少个桌面节点
maxDesktops: 3

# 将创建的登录节点桌面信息的保存到什么位置。相对于用户的家目录
desktopsDir: scow/desktops

# TurboVNC的安装路径
turboVNCPath: /opt/TurboVNC

# 跨集群传输模块,可选功能
crossClusterFileTransfer:
# 不启用跨集群传输功能可以设置为false
enabled: true
# 传输节点的地址(ip地址:端口号)
transferNode: localhost:22222

# 集群在HPC或是否启用,默认为true
hpc:
enabled: true

# 集群在AI或是否启用,默认为false
ai:
enabled: false
-

注意

-

集群配置里的登录节点桌面功能和TurboVNC的安装路径配置为该集群特有,如不需要特殊配置该集群的这些功能,可在门户系统进行统一配置;若在集群下配置以上功能,在该集群内将会覆盖门户系统下的配置。 -集群配置里的登录节点的IP或者域名必须唯一。如果部署了单集群多登录节点或者多集群,需保证所有登录节点的IP或者域名不能重复。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/basepath.html b/pr-preview/pr-1298/docs/deploy/config/customization/basepath.html deleted file mode 100644 index 8f28eaa1b9..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/basepath.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - -相对路径 | SCOW - - - - - -

自定义相对路径

-

什么是相对路径(base path)

-

假设我们的系统部署在https://scowtest.com下,那么在浏览器中输入此URL,即可访问系统。在这种部署条件下,我们说,系统部署在scowtest.com域名下,其相对于域名的路径(相对路径)为根路径,即/

-

在一些特殊条件下,我们想使用同一个域名部署多个系统,每个系统部署在一个域名的某个相对路径(base path)下,例如,我们可能想通过https://scowtest.com/scow访问系统。在这种条件下,系统仍然部署在scowtest.com域名下,但是其相对路径/scow

-

配置

-

SCOW支持将系统的门户和管理系统部署在不同的相对路径下,仅需通过修改install.yaml中的basePath, portal.basePathmis.basePath配置即可。

-

install.yaml中,basePathportal.basePathmis.basePath均不以/结尾。basePath填写整个系统的根路径,portal.basePathmis.basePath分别表示门户系统和管理系统相对于系统的相对路径,遵循以下的编写原则:

-
整个系统的访问路径门户系统的访问路径管理系统的访问路径basePathportal.basePathmis.basePath
///mis///mis
//portal///portal/
/scow/scow/scow/mis/scow//mis
/scow/scow/portal/scow/scow/portal/
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies.html b/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies.html deleted file mode 100644 index 1cd863b6a0..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -通过代码自定义收费规则 | SCOW - - - - - -

通过代码自定义收费规则

-

在管理系统中,您可以增加通过代码自定义收费规则,然后在配置文件中进行配置,就可以在创建新的计费项使用这个新的计量方式

-

增加配置目录及自定义规则js文件

-

增加配置目录:config/scripts,放置您编写计费规则函数的js文件,这些js文件可以是commonjs或者esm的。SCOW通过require("路径")的方式读取这些脚本文件,并在计费的时候调用这个函数。例如,可以增加一个名为my-strategy.js的文件。文件应当默认导出一个如下的函数,返回一个数值:

-
config/scripts/my-strategy.js
// 系统自带的计费规则请参考 apps/mis-server/src/bl/jobPrice.ts 文件中的 amountStrategyFuncs
// 本函数的计费模式:如果作业运行时间小于180s,则不扣费,如果使用了gpu,按照gpu分配量计费,
// 如果otherAsyncRules为true,返回10,其余的按照cpu分配量计费
function myStrategy(jobInfo) {
const otherAsyncRules = false;
if (jobInfo.timeUsed < 180) {
return 0;
} else if (jobInfo.gpu) {
return jobInfo.gpu;
} else if (otherAsyncRules) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(10);
}, 1000); // 模拟异步操作,在 1 秒后返回数值 10
});
}

return jobInfo.cpusAlloc;
}

module.exports = myStrategy;
-

上述js文件对应的ts类型如下:

-

// 作业的用量信息
export interface JobInfo {
// 集群作业id
jobId: number;
// scow中的集群id
cluster: string;
// 分区
partition: string;
qos: string;
// 作业运行时间
timeUsed: number;
// 分配CPU数tres_alloc
cpusAlloc: number;
// 使用GPU数。来自gres_req字段
gpu: number;
// 申请的内存,来自tres_req
memReq: number;
// 分配的内存,来自tres_alloc
memAlloc: number;
// 账户
account: string;
// 租户
tenant: string;
}

export function myStrategy(jobInfo: JobInfo): number | Promise<number> {
const otherAsyncRules = false;
if (jobInfo.timeUsed < 180) {
return 0;
} else if (jobInfo.gpu) {
return jobInfo.gpu;
} else if (otherAsyncRules) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(10);
}, 1000); // 模拟异步操作,在 1 秒后返回数值 10
});
}

return jobInfo.cpusAlloc;
}

-

mis.yaml增加可选配置

-
config/mis.yaml
# 新增自定义收费规则
customAmountStrategies:
# 计费方式id,请勿重复,重复的话后面的计费方式将会覆盖前面的,
# 定义后不能更改,自定义计费项会记录所使用的计费方式id,并存储到数据库里,
# 其作用与"max-cpusAlloc-mem", "max-gpu-cpusAlloc", "gpu", "cpusAlloc"等同,
# 若当前生效的自定义计费项使用了某自定义计费方式id,你不能删除它,否则系统将无法启动,如要删除,请先使该计费项失效
- id: "strategy1"
# 可选,新的计量方式的显示名称,如不填写将使用id的内容
name: "自定义收费计算方式1"
# 可选,计量方式描述
comment: "自定义收费计算方式1,运行时间低于3分钟以下的作业不计费,大于或等于3分钟的按照gpu或cpu用量计算"
# 脚本文件路径,不包含config/scripts前缀,如my-strategy.js即等于config/scripts/my-strategy.js
# 支持commonjs或者esm,内容不支持动态修改,修改后需重启系统
# 自定义计量方式的文件应该默认导出一个如下签名的函数:
# type MyStrategy = (jobInfo: JobInfo) => number | Promise<number>;
# JobInfo为apps/mis-server/src/bl/PriceMap.ts中的JobInfo类型,提供作业的用量信息
script: "my-strategy.js"
-

创建新的计费项使用这个新的计量方式

-

配置完后,重启系统,然后在作业价格表页面进行配置,如下:

-

创建新的计费项使用这个新的计量方式示例

-

配置完成后,对应的平台/租户讲使用您的自定义计费方式来计算作业价格

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types.html b/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types.html deleted file mode 100644 index 1c37dccfdc..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -自定义可查询的消费类型 | SCOW - - - - - -

自定义可查询的消费类型

-

当管理员或财务人员在管理系统下查询消费列表时,系统支持按消费类型进行查询结果过滤。 -当前管理系统下默认消费类型包括SCOW已配置的jobChargeType, changeJobPriceType及附加类型"其他"。 -管理系统默认可查询的消费类型示例

-

如果您所部署的SCOW实现了通过代码自定义收费规则或接入第三方使用了SCOW扣费系统的服务,那么可能您所使用的SCOW包含上述以外的消费类型。 -这种情况管理员可以通过在config/mis.yaml下增加管理系统可选配置customChargeTypes来自定义可查询的消费类型。

-

配置:

-
config/mis.yaml

# 自定义可查询的消费类型,可选填
# 填写格式为字符串列表
customChargeTypes: ["月租","存储费"]

-

当管理员在config/mis.yaml下增加上述配置后,在消费列表中可查询的消费类型如下。 -管理系统自定义可查询的消费类型示例

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n.html b/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n.html deleted file mode 100644 index 01b21e947c..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -自定义可配置项的国际化文本 | SCOW - - - - - -

自定义可配置项的国际化文本

-

在SCOW的页面国际化功能中,系统支持管理员自定义配置各配置文件中的文本显示为国际化显示。 -当用户切换系统语言时,如果配置文件中的文本已经被自定义配置为国际化类型的文本,那么相应的配置文本也可以随着系统语言的切换而变换。 -目前SCOW默认支持的国际化语言暂为简体中文与英文。

-

配置示例

-

系统兼容上一版本的文本配置的string类型,同时支持可以随着语言切换而变换的i18n国际化类型。 -下方是在auth.yaml中配置首页标题信息文本的国际化配置示例。

-
config/auth.yaml

slogan:

# 默认文本,类型要求为string,如配置为此字符串类型的文本,那么切换语言时不随着语言的切换而变换
# title: "开源算力中心门户和管理平台"

# 默认文本,国际化I18n类型
title:
i18n:
# 默认显示文本,如果是i18n类型则必填,类型要求为string
# 如果没有配置系统可支持的对应文本,如没有配置下方的en或zh_cn,则切换相应的语言时展示default中配置的文本信息
default: "开源算力中心门户和管理平台"
# 英文文本,可选填,类型要求为string。切换语言为英文时显示配置的英文文本信息
en: "Open-source Compute Center Portal and Management Platform"
# 简体中文文本,可选填,类型要求为string。切换语言为简体中文时显示配置的简体中文文本信息
zh_cn: "开源算力中心门户和管理平台"

-

如果管理员按上述配置示例中的i18n类型配置了auth系统的标题信息。那么当用户进入SCOW的登录页面时,语言为简体中文时用户可以看到的标题显示为: -登录页面中文标题 -当用户进入系统后通过右上角语言切换器切换当前显示语言为英文时,用户可以看到的标题显示为: -登录页面英文标题

-

支持国际化文本切换的配置项

-

随着SCOW性能的优化与功能的增加,在未来我们可能会增加更多的可自定义国际化文本配置的配置项。 -当前SCOW已经支持的可配置国际化类型的文本包含以下配置文件中的文本。

-
配置文件可以配置国际化文本类型的配置项
common.yamlpasswordPattern:errorMessage
auth.yamlslogantitle
auth.yamlslogan:texts
clusterTexts.yamldefault:clusterComment
clusterTexts.yamldefault:extra: title
clusterTexts.yamldefault:extra: comment
clusterTexts.yamltenant_1: clusterComment
mis.yamlaccountNamePattern: errorMessage
mis.yamlcreateUser:userIdPattern: errorMessage
portal.yamlsubmitJobPromptText
{cluster}.yamldisplayName
{cluster}.yamlloginNodes: name
{app}.yamlattributes: label
{app}.yamlattributes: placeholder
{app}.yamlattributes: select: label
{app}.yamlattributes: select: placeholder
{app}.yamlappComment
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata.html b/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata.html deleted file mode 100644 index 07e1717cbc..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -自定义在消费记录中保存作业相关字段 | SCOW - - - - - -

自定义在消费记录中保存作业相关字段

-

系统支持在mis.yaml中通过可选配置jobChargeMetadata将作业相关的字段以Json格式保存在消费记录中。 -以便后续对此保存字段进行查询或在页面前端进行格式化显示。

-

配置示例

-
config/mis.yaml

# 自定义消费记录中作业相关的存储内容
jobChargeMetadata:
# 可选。需要保存的作业相关字段,字段参考[entities/JobInfo](#entitiesjobinfo)
savedFields: ["idJob", "account"]

# 可选。定义显示出来的格式。如果不配置,直接显示上面保存的Json字段的信息
displayFormats:
# i18n国际化类型,根据系统语言显示不同的信息
# 或字符串格式,直接显示字符串
# 利用 {{ 属性名 }} 使用上述savedFields中保存的属性值
i18n:
default: "账户 {{ account }} 的作业ID {{ idJob }} 的计费"
en: "The billing for jobId {{ idJob }} of Account {{ account }}"
zh_cn: "账户 {{ account }} 的作业ID {{ idJob }} 的计费"

-

配置说明

-
参数类型是否必须解释
savedFieldsstring[]想要在数据库实体ChargeRecord中的metadata字段中保存的作业相关的信息,字段参考entities/JobInfo, 保存的格式为Json格式
displayFormatsstring | i18n国际化类型定义上述保存的字段显示出来的格式。如果不配置则直接显示上面保存的Json字段信息。如{"jobId": 1, "account": "a_account"}string | i18n国际化类型均可以利用 {{ 属性名 }} 使用上述savedFields中保存的属性值。
-

配置效果展示

-

如果管理员按上述配置示例中的jobChargeMetadata配置,保存了idJobaccount的字段信息,displayFormats类型为i18n国际化类型格式,那么当用户查询消费记录页面时,语言为简体中文时用户可以看到的消费记录显示为: -消费记录中文metadata

-

当用户进入系统后通过右上角语言切换器切换当前显示语言为英文时,用户可以看到的消费记录显示为: -消费记录英文metadata

-

如果管理员按上述配置示例中的jobChargeMetadata配置,保存了idJobaccount的字段信息,但没有配置displayFormats时,用户可以看到的消费记录显示为: -消费记录Json

-

如果管理员没有配置jobChargeMetadata,则用户在消费记录不能看到该列的显示。

-

entities/JobInfo

-
备注

当前标准部署的SCOW数据库实体JobInfo中支持的字段为:

idJobaccountuserpartitionnodelistjobNameclustertimeSubmittimeStarttimeEndgpucpusReqmemReqnodesReqcpusAllocmemAllocnodesAlloctimelimittimeUsedtimeWaitqosrecordTimetenantaccountBillingItemIdtenantBillingItemIdtenantPriceaccountPrice

具体情况请参考实际部署SCOW的数据库信息。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks.html b/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks.html deleted file mode 100644 index cb5a3bd304..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -自定义导航链接 | SCOW - - - - - -

自定义导航链接

-

您可以增加门户和管理系统的导航链接,点击这些链接会跳转到您指定的URL。

-
备注

当您点击导航链接时,我们会在当前链接后面加入查询参数?token={用来跟踪登录用户的状态的token},您可以通过token查询当前操作用户。

-

门户系统中的配置

-

在门户系统中,您可以在config/portal.yaml文件中,根据备注修改所需要的配置。

-
config/portal.yaml
# 新增导航链接相关配置
navLinks:
# 链接名称
- text: ""
# 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填
url: ""
# 是否打开新的页面,可选填,默认值为false
# openInNewPage: true
# 图标路径,可选填
iconPath: ""
# 二级导航,可选填
children:
# 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children
- text: ""
url: ""
iconPath: ""
-

管理系统中的配置

-

在管理系统中,您可以在config/mis.yaml文件中,根据备注修改所需要的配置。

-
config/mis.yaml
# 新增导航链接相关配置
navLinks:
# 链接名称
- text: ""
# 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填
url: ""
# 是否打开新的页面,可选填,默认值为false
# openInNewPage: true
# 图标路径,可选填
iconPath: ""
# 可以看到这个链接的用户,可选填
# 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance
allowedRoles: []
# 二级导航,可选填
children:
# 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children
- text: ""
url: ""
openInNewPage:
iconPath: ""
allowedRoles: []
-

配置示例

-

门户系统自定义导航链接配置示例

-
config/portal.yaml
navLinks:
- text: "一级导航1"
iconPath: "/desktop.jpg"
children:
- text: "二级导航1"
url: "https://hahahaha1.1.com"
iconPath: "/PKU_seal.svg"
- text: "二级导航2"
url: "https://hahahaha1.2.com"
- text: "二级导航3"
url: "https://hahahaha1.3.com"
iconPath: "/earth.png"
- text: "一级导航2"
url: "https://hahahaha2.com"
children: []
iconPath: "/earth.svg"
- text: "一级导航3"
url: "https://hahahaha3.com"
openInNewPage: true
iconPath: "/icon-test.png"
children: []
-

门户系统用户可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。

-

门户系统自定义导航链接配置示例

-

管理系统自定义导航链接配置示例

-
config/mis.yaml
navLinks:
- text: "一级导航1"
iconPath: "/icon-test.png"
children:
- text: "二级导航1"
url: "https://hahahaha1.1.com"
iconPath: "/earth.svg"
allowedRoles: [tenantFinance]
- text: "二级导航2"
url: "https://hahahaha1.2.com"
allowedRoles: [tenantAdmin, platformAdmin]
- text: "一级导航2"
url: "https://hahahaha2.com"
iconPath: "/earth.png"
- text: "一级导航3"
url: "https://hahahaha3.com"
allowedRoles: [user]
-

当前登录用户的用户角色为accountOwnertenantAdminplatformAdmin时,他可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。

-

管理系统自定义导航链接配置示例

-

配置解释

-
属性类型应用系统是否必填解释
navLinks////
text字符串portalmis链接名称,SCOW导航栏上显示的名称
url字符串portalmis在二级导航中为必填链接地址,自定义导航链接地址,一级导航链接地址为可选填,二级导航链接地址为必填。跳转时会在后面加入查询参数?token={用来跟踪登录用户的状态的token}。如没有配置一级导航的链接地址,点击该导航栏时将自动跳转至次级导航栏的第一项导航的链接地址。
openInNewPage布尔类型portalmis可以选填。如不设置,默认值为false,不打开新的页面。如果设置为true,则会在新的页面打开该导航链接。
iconPath字符串portalmis图标路径,用户上传到公共文件下的自定义导航链接图标路径。可选填,如未填写则显示系统默认导航链接图标。
allowedRoles用户角色字符串列表mis管理系统指定可以看到该导航链接的角色列表,用户角色类型包括 user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance (用户角色详解请看下方角色配置说明)。如果没有指定,则不再限定用户角色,即所有用户都可以看到该导航链接。
children导航内容的列表portalmis二级导航列表,内容包括该系统下一级导航的所有内容,除url以外,内容类型以及是否必填与一级导航内容完全相同,但是不允许再继续设置chilidren,不允许继续添加三级导航。如果没有指定,则没有可以显示的二级导航链接。
-
备注

关于导航链接地址url的配置,与HTML标签的默认行为一致,以http://开头的url会自动被识别为外部路径。点击该导航栏时,会按照与url中填写的完全一致的路径进行跳转。

如果url中配置的链接地址是以/开头,或者没有以http://开头,则会被系统识别为内部路径。这时点击该导航栏跳转时,将根据已配置的自定义相对路径自动添加相对路径前缀。

示例:

config/portal.yaml
  navLinks:
- text: "导航测试"
children:
- text: "子导航1"
url: "http://www.navtest1.com"
- text: "子导航2"
url: "www.navtest2.com"
- text: "子导航3"
url: "/www.navtest3.com"

假设我们的系统部署在https://scowtest.com下,管理员配置的相对路径为/scow

那么按照上述自定义导航配置示例,点击导航测试时,会按照次级导航的第一个链接http://www.navtest1.com?token={用来跟踪登录用户的状态的token}进行跳转。与点击子导航1的跳转动作一致。

点击子导航2时,url会被识别为内部路径,将会拼接相对路径前缀和/,按照https://scowtest.com/scow/www.navtest2.com?token={用来跟踪登录用户的状态的token}进行跳转。

点击子导航3时,url同样会被识别为内部路径,将会拼接相对路径前缀,按照https://scowtest.com/scow/www.navtest3.com?token={用来跟踪登录用户的状态的token}进行跳转。

-

自定义图标配置说明

-

系统支持自定义导航链接的灵活图标配置。

-

您可以通过把存放在和install.yml同级的public目录下图片文件的路径添加到iconPath来进行自定义图标配置。公共文件路径的使用详见公共文件

-

您所添加的图片文件后缀应为常用图片文件.svg.png或者.jpg等。

-

如您将图片icon.svg上传到公共文件public目录下,则您在配置时需填写iconPath:"/icon.svg"

-

iconPath可以选填,如不填写,则将统一显示系统默认导航链接图标。

-

角色配置说明

-

在管理系统中进行配置自定义导航链接功能时,您可以通过在allowedRoles属性中添加角色字符串来自由配置能够看到该导航链接的角色。 -在当前的SCOW系统中,我们支持以下角色:

-
角色名称解释
user未加入账户的普通用户
accountUser在所有账户中均为普通用户
accountAdmin在某个账户中为账户管理员
accountOwner在某个账户中为账户拥有者
tenantAdmin在租户中的角色:租户管理员
tenantFinance在租户中的角色:租户财务人员
platformAdmin在平台中的角色:平台管理员
platformFinance在平台中的角色:平台财务人员
-
提示

如果您想更加详细的了解系统用户模型,请参考用户模型

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language.html b/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language.html deleted file mode 100644 index 9b639ff4e4..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -自定义系统语言 | SCOW - - - - - -

自定义系统语言

-

支持用户在common.yml文件中通过配置项systemLanguage自定义是否使用SCOW的页面国际化功能。

-

如果不使用页面国际化功能,则允许管理员指定系统唯一语言。

-

如果使用,允许管理员手动设置是否在用户没有保存过语言信息时跟随系统语言的自动判断。

-

如果在用户没有保存过语言信息时跟随系统语言自动判断,那么进入系统的初始语言优先从Cookies中保存的语言信息进行判断,如果其中没有保存的语言信息或者保存的语言信息不是SCOW系统的合法语言,则继续判断浏览器偏好语言。若二者均没有找到SCOW系统的合法语言,则初始语言为管理员配置的默认语言。

-

如果在用户没有保存过语言信息时不跟随系统的语言判断,则进入系统的初始语言优先判断用户是否已经保存过语言信息,即Cookies中是否存在SCOW系统的合法语言。如果存在,则使用Cookies中的语言为初始语言,如果不存在或者Cookies中的语言信息不是SCOW系统的合法语言,则初始语言为管理员配置的默认语言。

-
备注

当管理员通过配置项systemLanguage自定义系统语言时,无论是指定系统唯一语言或者是指定用户首次进入系统时的页面文本国际化的默认语言, -都需要确保配置的语言为当前系统的合法语言,否则系统无法启动。

目前SCOW系统下支持的合法语言为简体中文与英文,字符串枚举值为"zh_cn""en"

-

配置示例

-
config/common.yml

# 设置系统语言 可选配置 类型为对象或字符串,默认值为对象类型
# 1.systemLanguage对象类型
systemLanguage:
# 可选,默认为true。
# 如果true,则SCOW在用户未手动选择语言时,自动优先根据cookies, 其次根据浏览器header判断语言,判断失败使用下方配置的default语言。
# 如果为false,则SCOW在首次进入系统用户未手动选择语言时使用下方配置的default语言,
# 用户手动选择过语言之后优先从cookies中进行判断,cookies不存在合法语言信息则使用下方配置的默认语言。
autoDetectWhenUserNotSet: true
# 默认语言,可选填,默认值为"zh_cn"。
# 类型必须为当前系统合法语言["zh_cn","en"]的字符串枚举值
default: "zh_cn"

# 2.systemLanguage字符串类型
# 若systemLanguage配置为字符串,类型必须指定为当前系统合法语言["zh_cn","en"]的字符串枚举值
# SCOW直接使用此语言,不允许用户再进行语言切换
# systemLanguage: "zh_cn"

-

配置结果示例

-

1.如果没有配置systemLanguage,或配置为systemLanguage: {},则等同于下方类似配置。

-
config/common.yml

systemLanguage:
autoDetectWhenUserNotSet: true
default: "zh_cn"

-

其含义为使用系统的页面国际化功能,允许用户在使用时手动切换语言。 -初始语言跟随系统判断,即优先判断Cookies中保存的语言信息是否为SCOW系统的合法语言,如果Cookies中获取的语言信息不存在或不合法,则继续从浏览器偏好语言中选择语言。如果上述二者均不符合SCOW系统支持的合法语言,那么初始语言为配置的default: "zh_cn"

-

国际化系统语言配置示例

-

2.如果autoDetectWhenUserNotSet配置为false

-
config/common.yml

systemLanguage:
autoDetectWhenUserNotSet: false
default: "zh_cn"

-

其含义为使用系统的页面国际化功能,允许用户在使用时手动切换语言。用户首次进入系统的初始语言不跟随系统判断。 -即在Cookies中没有保存过语言信息或保存的语言信息不合法时,不再判断浏览器偏好语言,使用配置的default: "zh_cn"为初始语言。

-

3.如果不使用国际化功能。则需满足下方类似配置。

-
config/common.yml

systemLanguage: "zh_cn"

-

其含义为指定系统唯一语言为简体中文。页面不再展示语言选择框。不再允许用户在使用SCOW时进行语言切换。

-

指定唯一语言配置示例

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks.html b/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks.html deleted file mode 100644 index 8b46c9dfc7..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -自定义用户下拉菜单链接 | SCOW - - - - - -

自定义导航栏右侧的用户下拉菜单链接

-

您可以在门户和管理系统导航栏右侧的用户下拉菜单中增加链接,点击这些链接会跳转到您指定的URL。

-
备注

当您点击菜单链接时,我们会在当前链接后面加入查询参数?token={用来跟踪登录用户的状态的token},您可以通过token查询当前操作用户。

-

配置

-

您可以在config/common.yaml文件中,根据备注修改所需要的配置,您设置的配置将会在门户系统和管理系统同时生效。

-
config/common.yaml
# 在导航栏右侧用户下拉菜单中增加链接相关配置
userLinks:
# 链接名称,必填
- text: ""
# 链接地址,必填
url: ""
# 是否打开新的页面,可选填,默认值为false
# openInNewPage: true
-

配置示例

-
config/common.yaml
userLinks:
# 链接名称,必填
- text: "百度搜索"
# 链接地址,必填
url: "https://www.baidu.com"
# 是否打开新的页面,可选填,默认值为false
openInNewPage: true
-

用户可以阅览到的自定义用户下拉菜单配置示例如下:

-

自定义菜单配置示例

-

配置解释

-
属性类型应用系统是否必填解释
navLinks////
text字符串portalmis链接名称,SCOW用户下拉菜单上显示的名称
url字符串portalmis自定义链接地址,跳转时会在后面加入查询参数?token={用来跟踪登录用户的状态的token}
openInNewPage布尔类型portalmis可以选填。如不设置,默认值为false,不打开新的页面。如果设置为true,则会在新的页面打开该链接。
-
备注

关于链接地址url的跳转,与自定义导航链接一致,与HTML标签的默认行为一致,以http://开头的url会自动被识别为外部路径。点击该菜单栏时,会按照与url中填写的完全一致的路径进行跳转。

如果url中配置的链接地址是以/开头,或者没有以http://开头,则会被系统识别为内部路径。这时点击该菜单栏跳转时,将根据已配置的自定义相对路径自动添加相对路径前缀。

示例:

config/common.yaml
  userLinks:
- text: "菜单1"
url: "http://www.navtest1.com"
- text: "菜单2"
url: "www.navtest2.com"
- text: "菜单3"
url: "/www.navtest3.com"

假设我们的系统部署在https://scowtest.com下,管理员配置的相对路径为/scow

那么按照上述自定义菜单配置示例,点击菜单1时,会链接http://www.navtest1.com?token={用来跟踪登录用户的状态的token}进行跳转。

点击菜单2时,url会被识别为内部路径,将会拼接相对路径前缀和/,按照https://scowtest.com/scow/www.navtest2.com?token={用来跟踪登录用户的状态的token}进行跳转。

点击菜单3时,url同样会被识别为内部路径,将会拼接相对路径前缀,按照https://scowtest.com/scow/www.navtest3.com?token={用来跟踪登录用户的状态的token}进行跳转。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern.html b/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern.html deleted file mode 100644 index 9b61767fab..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -用户密码正则配置 | SCOW - - - - - -

创建用户/修改密码正则配置

-

当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能;用户可以在个人信息中修改密码,对于密码的规则,我们可以进行配置。

-

配置:

-
config/common.yaml
# 创建用户、修改密码时,密码的规则。必须设置
passwordPattern:
# 正则表达式。下面为默认值
regex: ^(?=.*\d)(?=.*[a-zA-Z])(?=.*[`~!@#\$%^&*()_+\-[\];',./{}|:"<>?]).{8,}$

# 出错时的消息。下面为默认值
errorMessage: 必须包含字母、数字和符号,长度大于等于8位

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/public-files.html b/pr-preview/pr-1298/docs/deploy/config/customization/public-files.html deleted file mode 100644 index e80ddb265f..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/public-files.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -公共文件 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/customization/webui.html b/pr-preview/pr-1298/docs/deploy/config/customization/webui.html deleted file mode 100644 index c1ac6443f8..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/customization/webui.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -自定义前端项目主题 | SCOW - - - - - -

自定义网页UI元素

-

系统中支持自定义一些网页中的UI元素。支持自定义UI元素的组件有:

-

自定义favicon

-

favicon文件应取名为favicon.ico,放到config/icons下。

-

系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。

- -

LOGO图片的文件名应为logo,后缀应为svg, png或者jpg,如果多个后缀名的文件同时存在,则顺序为svg, png, jpg

-

有的图片在暗色主题下显示背景不佳,系统支持单独设置在暗色模式下显示的图片。在暗色模式下显示的图片的文件名应该为logo.dark,后缀名规则和上述规则相同。如果不存在暗色模式下的图片,则系统将显示正常模式下的图片。

-

将LOGO图片放入config/logo下即可。

-

系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。

-

系统将导航栏LOGO的高度限制为40px。

-

自定义主题色和footer文本

-

系统支持根据不同的域名显示不同的主题色以及footer文本。

-

请创建文件config/ui.yaml,并根据以下配置说明编写自己的配置

-
config/ui.yaml
# footer部分的配置。可以不填。
# 对portal-web、mis-web和auth的登录界面有效
footer:
# 对所有域名生效的footer文本,默认为空字符串
# 文本支持HTML的标签,将会被放在一个div中。
defaultText: ""
# 对某特定来访域名生效的footer文本,可以不填
hostnameMap:
# 从a.com的访问显示footer文本为a.com的文本
a.com: a.com的文本

# 主题色配置。可以不填
# 对portal-web和mis-web有效
primaryColor:
# 对所有域名生效的主题色。默认为#9B0000
defaultColor: string
# 对某特定来访域名生效的主题色,可以不填
hostnameMap:
# 从a.com的访问的主题色为#000000
a.com: #000000
-

来访的域名

-

系统使用host HTTP header判断来访的域名。如果您发现您设定的针对某个域名的图片没有显示,请检查系统收到的请求的host header的值是否正确。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/gateway/config.html b/pr-preview/pr-1298/docs/deploy/config/gateway/config.html deleted file mode 100644 index d9c2cc1584..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/gateway/config.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -配置 | SCOW - - - - - -

网关配置

-

extra

-

您可以在cli同级的install.yml文件中增加对scow自带网关的配置,可接受的格式为nginx的server可接受的属性配置。

-

例如,增加在当前系统nginx默认端口的http服务http://extra-web:3000,则编写

-
install.yml
# 网关配置
gateway:
# 更多nginx配置
extra: >
location /extra {
proxy_pass http://extra-web:3000;
include includes/headers;
include includes/websocket;
}
-

您增加extra配置后,可以在使用./cli compose up -d启动scow后,使用 ./cli compose exec gateway sh 进入gateway服务,在 /etc/nginx/http.d 目录下的 default.conf 文件最下方查看到您添加的配置。 -如果gateway服务启动失败,说明您的配置不符合规范,请保证其正确性。

-

域名白名单配置

-

scow 网关默认不限制 HTTP Host 头

-

为了防止 host 头攻击的发生,可以通过设置域名白名单来限制 Host 的域名或 IP

-
gateway:
# 同 nginx server_name 配置
allowedServerName: example.com www.example.com
-

多个域名或 IP 间用空格间隔即可。

-

SCOW 访问协议

-

设置 scow 访问协议http | https,将修改认证系统中 callbackUrl 的协议。 -默认情况下 callbackUrl 的 protocol 为 http,

-

如果配置 https 代理,则建议设置该项确保用户体验的一致性。

-
gateway:
# scow 访问协议,将影响 callbackUrl 的 protocol
# callbackUrl 默认的 protocol 为 http
protocol: "http"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor.html b/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor.html deleted file mode 100644 index 72f23dd9e0..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -集群监控功能(可选) | SCOW - - - - - -

集群监控功能(可选)

-

资源状态

-

集群资源信息

-

资源状态功能通过嵌入配置好的 Grafana 面板查看资源的状态。 -grafana 版本推荐使用较新的版本,否则可能会出现数据无法获取或者样式异常的情况。SCOW 在进行测试时使用的是 Grafana 10.2.2 版本,推荐使用该版本。

-

目前提供两种嵌入方式

-

1. 直接嵌入

-

直接嵌入指使用 iframe 将 grafana 的实际面板的 url 嵌入到 scow 管理系统中。将在 scow 管理系统的平台管理下添加【集群监控】-【资源状态】页面。

-

修改 grafana 配置文件 grafana.ini,添加 allow_embedding 配置如下,允许 grafana 能够嵌入页面。

-
...other config
[security]
allow_embedding = true
-

mis.yaml 文件中添加 clusterMonitor 相关配置

-
# 集群监控配置
clusterMonitor:
# 协议 + ip/域名 + 端口,默认为 http://127.0.0.1:4000
grafanaUrl: "http://127.0.0.1:4000"
# 资源状态相关配置
resourceStatus:
# 是否开启资源状态,默认不开启
enabled: true
# 是否使用代理的方式,默认为 false
proxy: false
# 默认面板 id,默认设置为 shZOtO4Sk
dashboardUid: "shZOtO4Sk"

-

将 grafanaUrl 替换为实际的 grafana 地址,并将 dashboardUid 设置为你期望进入资源状态页面展示的面板 id 即可。

-

2. 代理

-

如果你不希望将 grafana 的地址公开,可以使用代理的方式嵌入 grafana 面板。开启代理后,对 grafana 的请求将发送到 scow 的后端然后代理到 grafana。

-

修改 grafana 配置文件 grafana.ini,添加 root_url 和 allow_embedding 配置。将如下配置中的 SCOW 地址替换为真实的地址。例如 http://127.0.0.1/mis

-
..other config
[server]
root_url=[SCOW 管理系统地址]/api/admin/monitor/getResourceStatus
[security]
allow_embedding = true
-

mis.yaml 文件中添加 clusterMonitor 相关配置

-
# 集群监控配置
clusterMonitor:
# 协议 + ip/域名 + 端口,默认为 http://127.0.0.1:4000
grafanaUrl: "http://127.0.0.1:4000"
# 资源状态相关配置
resourceStatus:
# 是否开启资源状态,默认不开启
enabled: true
# 是否使用代理的方式,默认为 false
proxy: true
# 默认面板 id,默认设置为 shZOtO4Sk
dashboardUid: "shZOtO4Sk"

-

同样你需要将 grafanaUrl 替换为实际的 grafana 地址,并将 dashboardUid 设置为你期望进入资源状态页面展示的面板 id。然后将 proxy 选项改为 true 即可开启代理模式嵌入 grafana。

-
备注

注意:目前代理的模式暂不支持 websocket 连接,会影响 grafana 部分实时数据更新的功能

-

告警日志

-

告警日志

-

可以查看资源达到一定使用限额后触发的告警日志,目前仅支持 scow 提供的告警规则查看。详细的配置信息可以查看部署集群监控。完成 grafana 数据源、Prometheus、Alertmanager、alert-db等配置后,修改 mis.yaml 文件,在 clusterMonior 下添加如下配置。

-
# 集群监控配置
clusterMonitor:
# 告警日志配置
alarmLogs:
# 是否开启告警日志,默认不开启
enabled: true
-

开启后将添加【集群监控】-【告警日志】页面

-

参考配置

-

查看部署集群监控

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/mis/create-user.html b/pr-preview/pr-1298/docs/deploy/config/mis/create-user.html deleted file mode 100644 index e73d06ff4f..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/mis/create-user.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - -创建用户配置 | SCOW - - - - - -

创建用户配置

-

在以下情况下,管理系统允许用户或者管理员在SCOW中创建用户。

-
    -
  • 初始化系统时,创建初始管理员账号
  • -
  • 添加用户到账户时,用户不存在
  • -
  • 租户管理员添加用户
  • -
-

由于不同机构创建用户的方式完全不同,为了兼容易用性和可扩展性,我们从SCOW中创建用户的方式具有**内置(builtin)外置(external)**两种方式。

-

内置创建用户页面

-

当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能。

-

配置:

-
config/mis.yaml
createUser:
# 允许用户创建用户。默认为true
enabled: true

# 使用SCOW内置的创建用户功能。默认为builtin
type: builtin

# 内置创建用户功能配置
builtin:
# 创建用户时,用户ID的规则。不设置就没有限制
userIdPattern:
# 正则表达式
regex: "^[a-z][a-z0-9_]{2,19}$"
# 出错时的消息
errorMessage: "要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串"
-

创建时对密码的要求,请参考用户密码正则配置

-
备注

如果您的认证系统不支持创建用户,且使用了内置的创建用户功能,那SCOW将会在创建用户时并不会显示创建用户的界面,而会通过报错等方式发出一个通知,告知用户系统无法创建用户。

-

外置创建用户界面

-

如果内置创建用户界面不合您的需求,您可以自己开发单独的创建用户界面。SCOW将会在用户从SCOW中创建用户时,跳转到您指定的地址中。

-
config/mis.yaml
createUser:
# 允许用户创建用户。默认为true
enabled: true

# 使用SCOW内置的创建用户功能
type: external

# 外置创建用户界面
external:
url: http://your-create-user-page.com
-

SCOW在跳转时,还会给URL附上如下查询字符串(querystring),您的系统可以使用这些查询字符串获取用户的意图,并完成用户所指定的操作。

-
情形增加的查询字符串
添加用户到账户时用户不存在?type=addUserToAccont&accountName=账户名&userId=用户ID&userName=用户姓名&token=操作用户的token
租户管理员创建用户?type=createUser&token=操作用户的token
-

初始化系统时创建初始管理员不支持跳转到外置创建用户界面。

-

下图为当添加用户到账户但用户不存在时,UI交互的情况:

-

添加用户到账户但用户不存在

-

关闭SCOW中创建用户功能

-

要想关闭SCOW的创建用户的功能,可以在配置文件中配置

-
config/mis.yaml
createUser:
# 在SCOW中关闭创建用户功能
enabled: false
-

当您关闭此功能时,UI上所有关于创建用户的功能的链接都会被隐藏。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/mis/init.html b/pr-preview/pr-1298/docs/deploy/config/mis/init.html deleted file mode 100644 index 3c400be62c..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/mis/init.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -系统初始化 | SCOW - - - - - -

管理系统初始化

-

当管理系统部署完成后,访问部署路径的/init路径下,即可进行管理系统的初始化页面。

-

导入已有用户信息

-

在第一个选项卡里,您可以导入已有用户信息。根据所使用的调度器不同,获取用户信息的方式也有所不同。

- -

导入已有用户信息

-

查看系统的用户和账户,设置初始管理员用户

-

在第二个选项卡里,您可以查看系统当前默认租户下的用户和账户,以及设置用户的平台角色和租户角色。其中平台角色包括平台管理员和财务人员,租户角色包括租户管理员和财务人员。

-

管理系统的用户和账户

-

添加初始管理员用户

-

在第三个选项卡里,您可以添加系统的初始管理员用户。初始管理员既是平台管理员也是租户管理员。注意,这里添加的用户的用户ID必须和认证系统里的用户ID相同。

-

添加平台管理员用户

-

编辑作业价格表

-

在第三个选项卡中,您可以设置作业价格表。请参考计费收费模型文档了解系统计费收费模型以及如何修改作业价格表。

-

修改作业价格表

-
提示

若某个(集群,分区,QOS)项未设置计费价格,则使用该(集群,分区,QOS)项提交的作业将不会被导入到已完成的作业列表!

-

完成初始化

-

当您完成系统的初始化后,请一定点击并确认完成初始化按钮。

-
提示

未完成初始化的系统将会允许任何用户执行上述三个操作,所以请一定要确认初始化!

-

初始化完成

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/mis/intro.html b/pr-preview/pr-1298/docs/deploy/config/mis/intro.html deleted file mode 100644 index f3591898c4..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/mis/intro.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -配置管理系统 | SCOW - - - - - -

配置管理系统

-

本节介绍如何配置管理系统。

-

管理系统同步作业信息

-

服务器会定期地从调度器适配器中获取已完成的作业信息,并根据规则对租户和账户进行扣费操作。详细计费规则请参考计费收费

-

修改安装配置文件

-

修改安装配置文件

-
install.yaml
# 确保管理系统会部署
mis:
# 如果管理系统部署在`/mis`路径下,设置"MIS.BASE_PATH"为 "/mis"。默认为"/"
basePath: "/mis"
# 如果将会部署在域名的根目录下,设置"MIS.BASE_PATH"为 "/"
basePath: "/"

# dbPassword为管理系统数据库密码
# 在系统第一次启动前可自由设置,使用此密码可以以root身份登录数据库
# 一旦数据库启动后即不可修改
# 必须长于8个字符,并同时包括字母、数字和符号
dbPassword: "must!chang3this"
-
提示

如果想自定义系统部署的相对路径,或者了解MIS.BASE_PATH的含义,请参考自定义相对路径

-

部署调度器适配器

-

根据调度器种类的不同,需要在集群上部署对应的调度器适配器

-
    -
  • slurm
  • -
-

更新集群配置文件

-

根据集群所使用的调度器的不同,参考对应文档更新config/clusters/{集群ID}.yml文件:

- -

编写后端服务配置

-

config/mis.yaml文件中,根据备注修改所需要的配置

-
config/mis.yaml
# 管理系统数据库的信息。可以不修改
db:
host: db
port: 3306
user: root
password: mysqlrootpassword
dbName: scow

# 获取作业相关配置
fetchJobs:
# 从哪个时间点开始获取作业
# (日期格式ISO 8601,且需在末尾添加时区,推荐使用协调世界时(UTC))
# startDate: "2000-01-01T00:00:00Z"

# 限制一次获取的作业数量
# batchSize: 1000

# 周期性获取数据
periodicFetch:
# 是否开启
enabled: true
# 周期的cron表达式
cron: "*/10 * * * *"

# 周期性同步scow与调度器(如slurm)账户用户封锁状态的配置
periodicSyncUserAccountBlockStatus:
# 是否开启
enabled: true
# 周期的cron表达式
cron: "0 4 * * *"

# 预定义的充值类型
predefinedChargingTypes:
- 测试

# 创建账户时,账户名的规则。不设置就没有限制
accountNamePattern:
# 正则表达式
regex: "^[a-z][a-z0-9_]{2,19}$"

# 出错时的消息,对应上面的正则表达式
# 此文本支持国际化
errorMessage: "要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串"

createUser:
# 允许用户创建用户。默认为true
enabled: true

# 使用SCOW内置的创建用户功能。默认为builtin
type: builtin

# 内置创建用户功能配置
builtin:
# 创建用户时,用户ID的规则。不设置就没有限制
userIdPattern:
# 正则表达式
regex: "^[a-z][a-z0-9_]{2,19}$"
# 出错时的消息
errorMessage: "要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串"
# errorMessage:
# i18n:
# default: "要求输入长度为3-20位,小写字母、数字、下划线组成的字符串,且以小写字母开头"
# en: "It is required to enter a string of 3-20 characters in length, consisting of lowercase letters, numbers, and underscores, and starting with a lowercase letter."
# zh_cn: "要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串"

# # 新增导航链接相关配置
# navLinks:
# # 链接名
# - text: "一级导航1"
# # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填
# url: ""
# # 是否打开新的页面,可选填,默认值为false
# # openInNewPage: true
# # 自定义图标地址,可选填
# # iconPath: ""
# # 可以看到这个链接的用户,可选填
# # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance
# allowedRoles: []
# # 二级导航,可选填
# children:
# # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children
# - text: "二级导航1"
# url: "https://hahahaha1.1.com"
# # openInNewPage: true
# iconPath: ""
# allowedRoles: [accountAdmin, accountOwner]
# - text: "二级导航2"
# url: "https://hahahaha1.2.com"
# allowedRoles: [tenantAdmin, platformAdmin]
# - text: "一级导航2"
# url: "https://hahahaha2.com"

-

启动服务

-

运行./cli compose up -d启动管理系统。

-

系统初始化

-

查看系统初始化文档初始化系统信息。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm.html b/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm.html deleted file mode 100644 index 00b663b101..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - -slurm | SCOW - - - - - -

配置使用slurm的集群

-

选定slurm节点和部署slurm适配器

-

在集群中选定一个节点作为slurm节点。此节点需要部署slurm适配器并保证正确运行。

-

修改集群配置

-

config/clusters/{使用slurm的集群的ID}.yml中,修改配置(使用适配器的ip地址和端口号)

-
config/clusters/{使用slurm的集群的集群ID}.yml
# ...
adapterUrl: localhost:8972
-

导入已有用户信息

-

如果您已有一个slurm集群,在管理系统部署完成后,可以使用本功能将slurm中的用户信息导入本系统。

-

导入已有用户信息

-

系统会从slurm集群中读取用户和账户信息,显示在表格中。不存在名字的用户的初始名字默认为自己的ID。

-

系统默认将a_用户ID == 账户ID的用户设置为拥有者。此外,您也可以在系统中选择拥有者,需要注意系统要求账户的拥有者字段不能为空。

-

在系统初始化时,或者系统初始化后使用平台管理员用户登录后选择平台管理->导入用户,即可使用导入用户功能。如果需要将新加入的账户都加入白名单中,请勾选将所有账户加入白名单。点击确定,即可将所有账户导入指定租户中。

-

SCOW和slurm用户信息的关系

-

为了保存如计费收费等更多信息,SCOW自己维护一套用户账户信息,并在进行各种与用户信息有关的操作时自动将这个操作同步到slurm的用户账户信息中。

-

为了保证SCOW操作的正确性,我们要求SCOW的用户信息为slurm用户信息的子集

-

以下情况是允许的:

-
    -
  • slurm中或者认证系统中存在的用户SCOW中不存在 -
      -
    • 在SCOW创建这个用户时(用户ID和已有用户相同),SCOW将会提示认证系统中已存在此用户,并允许用户直接在SCOW中添加用户
    • -
    -
  • -
  • slurm中存在的账户SCOW中不存在 -
      -
    • 在SCOW中创建这个账户时,如果slurm中已经存在,SCOW将直接添加到SCOW数据库中,并尝试把拥有者加入账户中
    • -
    -
  • -
  • slurm中一个用户存在于一个账户中,SCOW中没有 -
      -
    • 在SCOW中将这个用户加入账户时,如果slurm中用户已经存在于账户中,SCOW将会直接在slurm的用户信息中添加这个用户账户关系
    • -
    -
  • -
-

以下情况在进行和slurm有关的操作(如封锁解封)时会出错,在进行只和SCOW有关的操作(如设置限额、设置用户管理员权限等)时不会报错:

-
    -
  • SCOW中一个用户于一个账户中,slurm中没有
  • -
  • SCOW中存在的用户或者账户时slurm中不存在
  • -
-

我们建议,部署好SCOW系统后,所有SCOW中支持的功能都从SCOW中操作。如果需要一些SCOW中不支持的操作,请完成操作后立即手动修改数据库,使SCOW和slurm的用户信息同步。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync.html b/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync.html deleted file mode 100644 index 41c05a789a..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -同步封锁状态 | SCOW - - - - - -

刷新调度器账户、用户封锁状态

-

由于已封锁的账户将会在slurm集群重启后被解封,且slurm集群可能在SCOW运行时重启,但并不会给scow发送信息,所以SCOW在启动时将会自动刷新一次slurm账户的封锁/解封,用户的封锁状态,同时默认在每天凌晨4点执行一次同步。

-

如果您对时效性有要求,可以在slurm(其它调度器也一样,此处以slurm为例)集群重启后,手动执行一下平台调试->封锁状态同步立刻同步调度器账户和用户封锁状态的功能。

-

如果您不需要此功能,也可以自定义配置:

-

config/mis.yaml文件中,根据备注修改所需要的配置

-
config/mis.yaml
# 周期性同步scow与调度器(如slurm)账户用户封锁状态的配置
periodicSyncUserAccountBlockStatus:
# 是否开启
enabled: true
# 周期的cron表达式
cron: "0 4 * * *"

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica.html deleted file mode 100644 index dbd175acad..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - -Baltamatica | SCOW - - - - - -

Baltamatica

-

软件简介

-

北太天元(Baltamatica)是面向科学计算与工程计算的国产通用型科学计算软件。本软件提供科学计算、可视化、交互式程序设计,具备强大的底层数学函数库,支持数值计算、数据分析、数据可视化、 数据优化、算法开发等工作,并通过SDK与API接口,扩展支持各类学科与行业场景,为各领域科学家与工程师提供优质、可靠的科学计算环境。

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • -

    TurboVNC 3.0版本及以上

    -
  • -
  • -

    您需要运行的Baltamatica

    -
  • -
-

1、TurboVNC安装

-
wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate
mv TurboVNC.repo /etc/yum.repos.d
# 安装最新版本
yum install turbovnc -y
-

2、构建Baltamatica镜像

-

构建Singularity镜像需要先安装Singularity软件,具体安装步骤请参考RStudio应用配置附章中的Singularity安装

-
    -
  • -

    创建容器并进行北太天元安装

    -
    # 拉取docker镜像创建sandbox格式容器
    singularity build --sandbox balt-sing docker://ubuntu:20.04
    # 通过交互的方式进入容器镜像,进行北太天元软件的安装
    singularity shell -w balt-sing

    # 在镜像内安装一些需要用到的工具
    apt update
    apt install vim -y

    # 在镜像内安装北太天元软件,下方文件名修改为对应的安装包名
    # 安装时需要选择一些地域,选择Asia HongKong Chinese等
    apt install ./baltamatica***.deb

    #运行下述命令解决libQt5Core.so.5链接失败的问题
    apt install binutils -y
    strip --remove-section=.note.ABI-tag /opt/Baltamatica/lib/libQt5Core.so.5

    # 修改北太天元启动脚本
    vim /opt/Baltamatica/bin/baltamatica.sh
    # 修改export BALTAM_PATH=$(cd ${0%/*}/..;pwd)为export BALTAM_PATH="/opt/Baltamatica"

    # 安装完毕退出容器
    exit

    # 将容器打包
    singularity build balt-sing.sif balt-sing/
    -
  • -
  • -

    将Singularity镜像拷贝到共享存储,以便在计算节点可以访问并运行:

    -
    cp balt-sing.sif /data/software/baltamatica/
    -
  • -
  • -

    下载思源黑体,解决不能正确显示中文的问题

    -
    wget https://github.com/adobe-fonts/source-han-sans/releases/download/2.004R/SourceHanSansCN.zip
    unzip SourceHanSansCN.zip
    # 转存到共享存储
    mv SourceHanSansCN/CN /data/software/baltamatica/SubsetOTF
    -
  • -
-

下面讲解如何配置使用Baltamatica。

-

配置文件

-

创建config/apps目录,在里面创建baltamatica.yml文件,其内容如下:

-
config/apps/baltamatica.yml
# 这个应用的ID
id: baltamatica

# 这个应用的名字
name: baltamatica

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:
# 此X Session的xstartup脚本
xstartup: |
export SINGULARITY_VERSION="singularity/3.9.2"
module switch ${SINGULARITY_VERSION}
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

# Disable startup services
xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false
xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false
xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool
xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool
# 配置默认面板
if [ ! -d "${HOME}/.config/xfce4/panel/launcher-9" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-10" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-11" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-12" ]; then
cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
fi
# 桌面终端默认进入到家目录
cd ~
startxfce4 &

mkdir ~/.fonts
cp -r /data/software/baltamatica/SubsetOTF ~/.fonts
singularity exec /data/software/baltamatica/balt-sing.sif baltamatica.sh

# 配置HTML表单
attributes:
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop.html deleted file mode 100644 index f1add38be3..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -Desktop | SCOW - - - - - -

Desktop

-

软件简介

-

Xfce Desktop是一款轻量级的桌面环境,它被设计为在资源受限的系统上运行。具有简洁、快速、可定制的特点,它的用户界面风格非常清爽、现代。与其他桌面环境相比,它占用的系统资源非常少,同时也提供了一些常见的工具和应用程序,例如文件管理器、终端模拟器、文本编辑器、图像查看器和音频播放器等。

-

KDE是一个开源的桌面环境,全称为K Desktop Environment(KDE)。它提供了一个功能丰富、可定制和用户友好的图形化桌面环境,旨在为Linux和类UNIX操作系统提供先进的用户体验。

-

MATE是一个基于传统GNOME 2桌面环境的轻量级桌面环境,旨在提供传统的桌面体验和用户友好的界面。

-

Cinnamon是一个现代化的桌面环境,最初由Linux Mint开发,旨在提供直观、易用且吸引人的用户体验。它的设计目标是为用户提供一个熟悉而高效的桌面环境,具有直观的界面和强大的功能。

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • -

    TurboVNC 3.0版本及以上

    -
  • -
  • -

    您需要运行的Xfce Desktop、K Desktop Environment(KDE)、MATE和cinnamon桌面环境

    -
  • -
-

1、TurboVNC安装

-
wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate
mv TurboVNC.repo /etc/yum.repos.d
# 安装最新版本
yum install turbovnc -y
-

3、桌面环境安装

-
yum groupinstall "Xfce" -y
yum groupinstall "KDE Plasma Workspaces" -y
yum groupinstall "MATE Desktop" -y
yum install cinnamon -y
-

下面讲解如何配置使用Desktop。

-

配置文件

-

创建config/apps目录,在里面创建desktop.yml文件,其内容如下:

-
config/apps/desktop.yml
# 这个应用的ID
id: desktop

# 这个应用的名字
name: desktop

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:
# 准备脚本
beforeScript: |
# 桌面会话临时数据存放位置
export XDG_RUNTIME_DIR="$(mktemp -d)"
# 此X Session的xstartup脚本
xstartup: |
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

case ${desktop_type} in
"kde")
cd ~
startkde
;;
"mate")
cd ~
mate-session
;;
"cinnamon")
cd ~
cinnamon-session
;;
*)
# Disable startup services
xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false
xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false
xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool
xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool
# 配置默认面板
if [ ! -d "${HOME}/.config/xfce4/panel/launcher-9" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-10" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-11" ] || [ ! -d "${HOME}/.config/xfce4/panel/launcher-12" ]; then
cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
fi
# 桌面终端默认进入到家目录
cd ~
# 启动xfce桌面环境
startxfce4
esac


# 配置HTML表单
attributes:
- type: select
name: desktop_type
label: 请选择桌面环境
select:
- value: xfce
label: Xfce Desktop
- value: kde
label: K Desktop Environment(KDE)
- value: mate
label: MATE
- value: cinnamon
label: Cinnamon
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

FAQ

-

Q1:首次连接进入到Xfce桌面时,会报XFCE PolicyKit Agent的弹窗错误

-

Xfce认证代理报错图

-

系统管理员可通过禁用Xfce PolicyKit验证代理解决:

-
# 将需要启动xfce桌面的节点上xfce-polkit.desktop文件重命名
mv /etc/xdg/autostart/xfce-polkit.desktop /etc/xdg/autostart/xfce-polkit.desktop.disabled
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs.html deleted file mode 100644 index 10686fedc0..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - -Emacs | SCOW - - - - - -

Emacs

-

软件简介

-

Emacs是一个非常强大的文本编辑器和开发环境,它有一个强大的命令行界面和一系列图形用户界面,它支持多个操作系统,包括Unix、Linux、Windows和macOS。

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • -

    TurboVNC 3.0版本及以上

    -
  • -
  • -

    您需要运行的Emacs

    -
  • -
-

1、TurboVNC安装

-
wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate
mv TurboVNC.repo /etc/yum.repos.d
# 安装最新版本
yum install turbovnc -y
-

2、Emacs安装

-
yum install emacs -y
-

下面讲解如何配置使用Emacs。

-

配置文件

-

创建config/apps目录,在里面创建emacs.yml文件,其内容如下:

-
config/apps/emacs.yml
# 这个应用的ID
id: emacs

# 这个应用的名字
name: emacs

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:
# 此X Session的xstartup脚本
xstartup: |
emacs -mm

# 配置HTML表单
attributes:
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv.html deleted file mode 100644 index 1b665e78b8..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -IGV | SCOW - - - - - -

IGV

-

软件简介

-

IGV (Integrative Genomics Viewer) 是一个功能强大的基因组数据分析工具,被广泛应用于生物医学研究和生物信息学领域。它支持多种数据类型,包括基因组序列、注释、比对、变异和表达等数据。

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • -

    TurboVNC 3.0版本及以上

    -
  • -
  • -

    Java 1.8 或更高版本

    -
  • -
  • -

    您需要运行的IGV

    -
  • -
-

1、TurboVNC安装

-
wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate
mv TurboVNC.repo /etc/yum.repos.d
# 安装最新版本
yum install turbovnc -y
-

2、Java安装

-
yum install java-1.8.0-openjdk
-

3、IGV安装

-
# 下载软件包
wget https://data.broadinstitute.org/igv/projects/downloads/2.16/IGV_Linux_2.16.1_WithJava.zip
# 解压软件包到指定安装路径
mkdir /data/software/igv
unzip IGV_Linux_2.16.1_WithJava.zip -d /data/software/igv/
-

4、添加modulefile文件

-

配置已安装好的IGV的modulefile文件:

-
# ${MODULEPATH}为modulefile所在的路径
mkdir -p ${MODULEPATH}/igv
cat >> ${MODULEPATH}/igv/IGV_Linux_2.16.1 << EOF
#%Module1.0#####################################################################
##
## igv@IGV_Linux_2.16.1 modulefile
##

proc ModulesHelp { } {
puts stderr "\tThis module defines environment variables, aliases and add PATH for igv"
puts stderr "\tVersion IGV_Linux_2.16.1"
InfoOut
}

set appname igv
set version IGV_Linux_2.16.1
set prefix /data/software/${appname}/${version}

module-whatis "igv@IGV_Linux_2.16.1"

prepend-path PATH $prefix
prepend-path LD_LIBRARY_PATH $prefix/lib
prepend-path CLASSPATH $prefix/lib/igv.jar
EOF
-

下面讲解如何配置使用IGV。

-

配置文件

-

创建config/apps目录,在里面创建igv.yml文件,其内容如下:

-
config/apps/igv.yml
# 这个应用的ID
id: igv

# 这个应用的名字
name: igv

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:
# 此X Session的xstartup脚本
xstartup: |
module switch igv/${igv_path}
igv.sh

# 配置HTML表单
attributes:
- type: select
name: igv_path
label: 选择版本
select:
- value: IGV_Linux_2.16.1
label: IGV_Linux_2.16.1
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter.html deleted file mode 100644 index f27e4ba25f..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - -Jupyter | SCOW - - - - - -

Jupyter

-

软件简介

-

Jupyter Notebook是一个开源的Web应用程序,可用于创建和共享文档,其中包括代码、文本、数学方程式和可视化效果。

-

前提条件

-

请确保在需要运行应用的计算节点上安装有Jupyter Notebook。

-

Jupyter Notebook建议通过Anaconda进行安装(具体安装请参考附章中Anaconda安装章节),Anaconda集成了Jupyter Notebook,安装上Anaconda发行版后也就自动安装上了Jupyter Notebook,安装好Anaconda后如果Jupyter Notebook没有自动安装成功的话,在终端输入以下命令进行安装:

-
conda install jupyter notebook
-

Jupyter Notebook运行时依赖的Python环境,建议用户可自行使用conda创建所需的Python环境,并在该环境内安装ipykernel,环境创建好后,用户可以通过两种方式来使用:

-
    -
  • -

    在启动Jupyter应用时,用户可填入所创建的conda环境名来使用该Python环境;

    -
  • -
  • -

    在Jupyter启动后,在Kernel菜单切换到新创建的Python环境。

    -
  • -
-

以下示例创建一个Python3.7的虚拟环境:

-
# 创建一个Python版本为3.7的conda虚拟环境,环境名字为python3.7
conda create -n python3.7 python=3.7 -y
# 激活进入到python3.7环境
conda activate python3.7
# 在新的环境安装ipykernel
conda install ipykernel
# 将新环境的ipykernel到base环境的jupyter中
python -m ipykernel install --user --name python3.7 --display-name "python3.7"
-

下面讲解如何配置使用Jupyter Notebook。

-

配置文件

-

创建config/apps目录,在里面创建jupyter.yml文件,其内容如下:

-
config/apps/jupyter.yml
# 这个应用的ID
id: jupyter

# 这个应用的名字
name: jupyter

# 指定应用类型为web
type: web

# Web应用的配置
web:
# 指定反向代理类型
proxyType: absolute
# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)
export SALT=123
export PASSWORD_SHA1="$(echo -n "${PASSWORD}${SALT}" | openssl dgst -sha1 | awk '{print $NF}')"
export CONFIG_FILE="${PWD}/config.py"
export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)
export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}')
export CONDA_VERSION="anaconda/3-2023.03"

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
for m in ${textModuleName}; do module switch ${m}; done

conda -V &> /dev/null
if [ $? -ne 0 ]; then
module switch ${CONDA_VERSION}
fi
# init conda
eval "$($(which conda) shell.${SHELL_NAME} hook)"

if [[ "" == "${textCondaName}" ]]; then
textCondaName="base"
fi
conda activate ${textCondaName}
if [ $? -ne 0 ]; then
exit 1
fi

(
umask 077
cat > "${CONFIG_FILE}" << EOL
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = ${PORT}
c.NotebookApp.port_retries = 0
c.NotebookApp.password = u'sha1:${SALT}:${PASSWORD_SHA1}'
c.NotebookApp.open_browser = False
c.NotebookApp.base_url = "${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"
c.NotebookApp.allow_origin = '*'
c.NotebookApp.disable_check_xsrf = True
EOL
)
cd ~
jupyter notebook --config=${CONFIG_FILE} --notebook-dir=${HOME}

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

# 配置HTML表单
attributes:
- type: text
name: textModuleName
label: Modules
required: false # 输入需要额外加载的环境模块列表
placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息
- type: text
name: textCondaName
label: conda环境
required: false # 输入运行Jupyter的conda环境,默认使用base环境
placeholder: 输入conda虚拟环境名称 # 提示信息
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

增加了此文件后,刷新WEB浏览器即可。

-

对于Jupyter,export以下变量的含义是:

-
    -
  • SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名
  • -
  • CONFIG_FILE: 指定Jupyter的配置文件
  • -
  • SHELL_NAME:当前会话的shell名称
  • -
  • CONDA_VERSION:系统默认的conda版本
  • -
-

附章

-

1、Anaconda安装

-

Anaconda建议安装在共享存储上,集群各节点只需要挂载上共享存储,并配置好环境变量后便可以使用。安装Anaconda之前请先预留6GB存储空间。

-
    -
  • -

    下载Anaconda安装脚本:

    -
    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-x86_64.sh
    -
  • -
  • -

    脚本下载后,输入以下命令来验证下载的安装脚本文件是否完整:

    -
    sha256sum Anaconda3-2023.03-Linux-x86_64.sh
    -
  • -
  • -

    执行安装:

    -
    bash Anaconda3-2023.03-Linux-x86_64.sh
    -
  • -
  • -

    安装过程中,看到提示“In order to continue the installation process, please review the license agreement.”(“请浏览许可证协议以便继续安装。”),点击“Enter”查看“许可证协议”。

    -

    anaconda安装图1

    -
  • -
  • -

    在“许可证协议”界面将屏幕滚动至底,输入“yes”表示同意许可证协议内容。然后进行下一步。

    -

    anaconda安装图2

    -
  • -
  • -

    安装过程中,提示选择Anaconda的安装路径,这里指定安装到共享存储上:/data/software/anaconda/3-2023.03。

    -

    anaconda安装图3

    -
  • -
  • -

    安装完成后,会提示是否通过安装程序运行conda init来初始化Anaconda。

    -

    anaconda安装图4

    -
  • -
  • -

    如果安装时不进行初始化的话,用户后续可以执行以下命令手动进行初始化:

    -
    # 命令中/data/software/anaconda/3-2023.03根据实际安装路径进行替换
    # 命令中shell.bash根据实际使用会话shell替换成相应的shell
    eval "$(/data/software/anaconda/3-2023.03/bin/conda shell.bash hook)"
    conda init
    -
  • -
  • -

    验证是否安装成功,执行以下命令,如果显示包名和版本号,说明Anaconda、Jupyter Notebook和JupyterLab都已经安装成功。

    -

    anaconda安装图5

    -
  • -
-

2、添加modulefile文件

-

配置已安装好的Anaconda的modulefile文件:

-
# ${MODULEPATH}为modulefile所在的路径
mkdir -p ${MODULEPATH}/anaconda
cat >> ${MODULEPATH}/anaconda/3-2023.03 << EOF
#%Module1.0#####################################################################
##
## Anaconda3-2023.03 modulefile
##

proc ModulesHelp { } {
puts stderr "\tThis module defines environment variables, aliases and add PATH for Anaconda"
puts stderr "\tVersion Anaconda3-2023.03"
InfoOut
}

## Set module name and version
module-whatis "Anaconda3-2023.03"

## Set version
set version 3-2023.03

## Set the path to the installation directory
set anaconda_root /data/software/anaconda/3-2023.03

## Add anaconda bin directory to PATH
prepend-path PATH $anaconda_root/bin

## Add anaconda library directory to LD_LIBRARY_PATH
prepend-path LD_LIBRARY_PATH $anaconda_root/lib

## Add Anaconda include directory to CPATH
prepend-path CPATH $anaconda_root/include

## Set environment variables for Anaconda
setenv ANACONDA_HOME $anaconda_root
setenv CONDA_ENVS_PATH $anaconda_root/envs
setenv CONDA_PKGS_DIRS $anaconda_root/pkgs
EOF
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab.html deleted file mode 100644 index b7a669ce82..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - -JupyterLab | SCOW - - - - - -

JupyterLab

-

软件简介

-

JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。

-

前提条件

-

请确保在需要运行应用的计算节点上安装有JupyterLab。

-

1、软件介绍

-

JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。

-

JupyterLab建议通过Anaconda进行安装,Anaconda集成了JupyterLab,安装上Anaconda发行版后也就自动安装上了JupyterLab,安装好Anaconda后如果JupyterLab没有自动安装成功的话,在终端输入以下命令进行安装:

-
conda install jupyterlab
-

JupyterLab运行时依赖的Python环境,建议用户可自行使用conda创建所需的Python环境,并在该环境内安装ipykernel,环境创建好后,用户可以通过两种方式来使用:

-
    -
  • -

    在启动JupyterLab应用时,用户可填入所创建的conda环境名来使用该Python环境;

    -
  • -
  • -

    在JupyterLab启动后,在Kernel菜单切换到新创建的Python环境。

    -
  • -
-

以下示例创建一个Python3.7的虚拟环境:

-
# 创建一个Python版本为3.7的conda虚拟环境,环境名字为python3.7
conda create -n python3.7 python=3.7 -y
# 激活进入到python3.7环境
conda activate python3.7
# 在新的环境安装ipykernel
conda install ipykernel
# 将新环境的ipykernel到base环境的jupyter中
python -m ipykernel install --user --name python3.7 --display-name "python3.7"
-

下面讲解如何配置使用JupyterLab。

-

配置文件

-

创建config/apps目录,在里面创建jupyterlab.yml文件,其内容如下:

-
config/apps/jupyterlab.yml
# 这个应用的ID
id: jupyterlab

# 这个应用的名字
name: jupyterlab

# 指定应用类型为web
type: web

# Web应用的配置
web:
# 指定反向代理类型
proxyType: absolute
# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)
export SALT=123
export PASSWORD_SHA1="$(echo -n "${PASSWORD}${SALT}" | openssl dgst -sha1 | awk '{print $NF}')"
export CONFIG_FILE="${PWD}/config.py"
export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)
export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}')
export CONDA_VERSION="anaconda/3-2023.03"

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |

# 加载需要的module环境
for m in ${textModuleName}; do module switch ${m}; done

conda -V &> /dev/null
if [ $? -ne 0 ]; then
module switch ${CONDA_VERSION}
fi
# init conda
eval "$($(which conda) shell.${SHELL_NAME} hook)"

if [[ "" == "${textCondaName}" ]]; then
textCondaName="base"
fi
conda activate ${textCondaName}
if [ $? -ne 0 ]; then
exit 1
fi

(
umask 077
cat > "${CONFIG_FILE}" << EOL
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = ${PORT}
c.NotebookApp.port_retries = 0
c.NotebookApp.password = u'sha1:${SALT}:${PASSWORD_SHA1}'
c.NotebookApp.open_browser = False
c.NotebookApp.base_url = "${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"
c.NotebookApp.allow_origin = '*'
c.NotebookApp.disable_check_xsrf = True
EOL
)
cd ~
jupyter-lab --config=${CONFIG_FILE} --notebook-dir=${HOME}

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

# 配置HTML表单
attributes:
- type: text
name: textModuleName
label: Modules
required: false # 输入需要额外加载的环境模块列表
placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息
- type: text
name: textCondaName
label: conda环境
required: false # 输入运行Jupyter的conda环境,默认使用base环境
placeholder: 输入conda虚拟环境名称 # 提示信息
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

增加了此文件后,刷新WEB浏览器即可。

-

对于JupyterLab,export以下变量的含义是:

-
    -
  • -

    SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名

    -
  • -
  • -

    CONFIG_FILE: 指定JupyterLab的配置文件

    -
  • -
  • -

    SHELL_NAME:当前会话的shell名称

    -
  • -
  • -

    CONDA_VERSION:系统默认的conda版本

    -
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab.html deleted file mode 100644 index 5178e38a1c..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -Matlab | SCOW - - - - - -

Matlab

-

软件简介

-

MATLAB是一种由MathWorks公司开发的专业数学软件,它可以用于数值计算、数据分析、科学绘图、机器学习、人工智能等领域。MATLAB拥有强大的矩阵运算和向量化计算能力,支持多种数据类型和格式的处理。

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • -

    TurboVNC 3.0版本及以上

    -
  • -
  • -

    您需要运行的Matlab

    -
  • -
-

下面讲解如何配置使用Matlab。

-

配置文件

-

创建config/apps目录,在里面创建matlab.yml文件,其内容如下:

-
config/apps/matlab.yml
# 这个应用的ID
id: matlab

# 这个应用的名字
name: matlab

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:
# 此X Session的xstartup脚本
xstartup: |
module load matlab/$matlab_path
matlab -desktop

# 配置HTML表单
attributes:
- type: select
name: matlab_path
label: 选择版本
select:
- value: R2019b
label: R2019b
- value: R2021a
label: R2021a
- value: R2021b
label: R2021b
- value: R2022b
label: R2022b
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave.html deleted file mode 100644 index cb519f7cbc..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - -Octave | SCOW - - - - - -

Octave

-

软件简介

-

Octave是一种开源的数值计算工具,可用于执行各种数值计算任务,包括线性代数、非线性优化、信号处理、图像处理和统计分析等。

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • -

    TurboVNC 3.0版本及以上

    -
  • -
  • -

    您需要运行的Octave

    -
  • -
-

1、TurboVNC安装

-
wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate
mv TurboVNC.repo /etc/yum.repos.d
# 安装最新版本
yum install turbovnc -y
-

2、Octave安装

-
    -
  • -

    octave可以通过conda进行安装,请参考Jupyter应用配置附章中的Anaconda安装

    -
  • -
  • -

    创建一个新的conda环境,新环境名称格式使用“软件名-版本号”:

    -
    conda create -n octave-7.2.0 -y
    -
  • -
  • -

    激活新创建的环境:

    -
    conda activate octave-7.2.0
    -
  • -
  • -

    安装 Octave:

    -
    conda install octave=7.2.0
    -
  • -
-

下面讲解如何配置使用Octave。

-

配置文件

-

创建config/apps目录,在里面创建octave.yml文件,其内容如下:

-
config/apps/octave.yml
# 这个应用的ID
id: octave

# 这个应用的名字
name: octave

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:
# 准备脚本
beforeScript: |
export CONDA_VERSION="anaconda/3-2023.03"
export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}')

# 此X Session的xstartup脚本
xstartup: |
module switch ${CONDA_VERSION}
eval "$($(which conda) shell.${SHELL_NAME} hook)"

conda activate ${octave_version}
if [ $? -ne 0 ]; then
exit 1
fi
octave --gui

# 配置HTML表单
attributes:
- type: select
name: octave_version
label: 选择版本
select:
- value: octave-7.2.0
label: octave-7.2.0
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

增加了此文件后,刷新WEB浏览器即可。

-

对于Octave,export以下变量的含义是:

-
    -
  • -

    SHELL_NAME:当前会话的shell名称

    -
  • -
  • -

    CONDA_VERSION:系统默认的conda版本

    -
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion.html deleted file mode 100644 index 345002d129..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -Relion | SCOW - - - - - -

Relion

-

软件简介

-

RELION(Reconstruction of 3D structures of Large macromolecular complexes using Image-based ONline reconstruction)是一种用于处理单粒子冷冻电镜(Single Particle Cryo-EM)图像数据的软件包。

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • -

    TurboVNC 3.0版本及以上

    -
  • -
  • -

    您需要运行的Relion

    -
  • -
-

下面讲解如何配置使用Relion。

-

配置文件

-

创建config/apps目录,在里面创建relion.yml文件,其内容如下:

-
config/apps/relion.yml
# 这个应用的ID
id: relion

# 这个应用的名字
name: relion

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:
# 此X Session的xstartup脚本
xstartup: |
module purge
module load ${relion_version}
echo y | relion

# 配置HTML表单
attributes:
- type: select
name: relion_version
label: 选择版本
required: true
placeholder: 选择relion的版本
select:
- value: relion/3.1.3_openmpi_3.1.6
label: relion/3.1.3_openmpi_3.1.6
# 可选配置,若需要区分CPU和GPU的select的下拉项,比如有些版本只能在有GPU的分区有效
# 将requireGpu设为true,此时该选项会出现在有GPU的分区
# requireGpu: true
- value: relion/4.0_openmpi_3.1.6
label: relion/4.0_openmpi_3.1.6
# 将requireGpu设为false或者不配置requireGpu,此时该选项会出现在所有分区
# requireGpu: false
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio.html deleted file mode 100644 index 15ea20e878..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - -RStudio | SCOW - - - - - -

RStudio

-

软件简介

-

RStudio Server是RStudio公司提供的一款基于Web的R开发环境,可以通过Web浏览器远程访问,实现对R编程语言的开发、调试和管理。RStudio Server支持多用户并发访问,具有良好的用户管理和权限控制,支持SSH和HTTPS等安全协议,是企业级和团队协作开发的理想选择。

-

前提条件

-

请确保在需要运行应用的计算节点上安装有R和RStudio Server。RStudio Server 1.4.1103之前版本,建议下载相应系统的rpm包进行安装,这样相对比较简单。RStudio Server 1.4.1103及之后的版本,为保证和平台的兼容性,建议通过编译后构建Singularity镜像进行安装,这样可以减少跨平台、跨集群的重复编译。

-

1、RStudio Server 1.4.1103之前版本的安装

-

1.1、R安装

-

具体安装步骤请参考附章中R的安装。

-

1.2、RStudio Server安装

-
# 下载rpm包
wget https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.3.959-x86_64.rpm

# 拷贝只共享存储
mkdir -p /data/software/rstudio-server/1.3.959
cp rstudio-server-rhel-1.3.959-x86_64.rpm /data/software/rstudio-server/1.3.959
cd /data/software/rstudio-server/1.3.959

# 解压安装
rpm2cpio rstudio-server-rhel-1.3.959-x86_64.rpm | cpio -div
-

2、RStudio Server 1.4.1103及之后版本的安装

-

2.1、Singularity安装

-

具体安装步骤请参考附章中Singularity的安装。

-

2.2、R安装

-

通过构建Singularity镜像的方式安装RStudio Server,Singularity镜像内无需安装R环境,可直接使用宿主机系统里面的R环境,所以R安装在宿主机系统即可,具体安装步骤请参考附章中R的安装。

-

2.3、构建RStudio Server镜像

-

具体安装步骤请参考附章中构建RStudio Server镜像。

-

下面讲解如何配置使用RStudio Server。

-

配置文件

-

创建config/apps目录,在里面创建rstudio.yml文件,其内容如下:

-

1、RStudio Server 1.4.1103之前版本

-
config/apps/rstudio.yml
# 这个应用的ID
id: rstudio

# 这个应用的名字
name: RStudio

# 指定应用类型为web
type: web

# Web应用的配置
web:
# 指定反向代理类型
proxyType: relative
# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)
export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)
export APPURI="${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"
export USER=${USER}

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
setup_env () {
# Additional environment which could be moved into a module
export RSTUDIO_PASSWORD=${PASSWORD}

# rstudio的路径
export RSTUDIO_HOME=/data/software/rstudio-server/1.3.959/usr/lib/rstudio-server
export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin
export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver
export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession

export RSTUDIO_AUTH="/data/software/rstudio-server/auth"
export RSESSION_WRAPPER_FILE="${PWD}/rsession.sh"
export DB_CONF_FILE="${PWD}/database.conf"
export WHICHR=/data/software/R/${r_version}/bin/R
}
setup_env

(
umask 077
sed 's/^ \{2\}//' > "${RSESSION_WRAPPER_FILE}" << EOL
#!/usr/bin/env bash
# Log all output from this script
export RSESSION_LOG_FILE="${PWD}/rsession.log"
exec &>>"\${RSESSION_LOG_FILE}"
# Launch the original command
echo "Launching rsession..."
set -x
exec ${RSTUDIO_RSESSION} --r-libs-user "${R_LIBS_USER}" "\${@}"
EOL
)

chmod 700 "${RSESSION_WRAPPER_FILE}"
cd "${HOME}"
export TMPDIR="$(mktemp -d)"
mkdir -p "$TMPDIR/rstudio-server"
python -c 'from uuid import uuid4; print(uuid4())' > "$TMPDIR/rstudio-server/secure-cookie-key"
chmod 0600 "$TMPDIR/rstudio-server/secure-cookie-key"

set -x
# Launch the RStudio Server
export PATH=/data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin:$PATH
echo "Starting up rserver..."
# RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置
/data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin/rserver \
--www-port "${PORT}" \
--auth-none 1 \
--auth-pam-helper-path "${RSTUDIO_AUTH}" \
--auth-encrypt-password 0 \
--rsession-path "${RSESSION_WRAPPER_FILE}" \
--server-data-dir "${TMPDIR}" \
--server-user ${USER} \
--secure-cookie-key-file "${TMPDIR}/rstudio-server/secure-cookie-key" \
--rsession-which-r ${WHICHR}

echo 'Singularity as exited...'

# 如何连接应用
connect:
method: POST
path: /auth-do-sign-in
formData:
password: "{{ PASSWORD }}"
username: "{{ USER }}"
appUri: "{{ APPURI }}"

# 配置HTML表单
attributes:
- type: select
name: r_version
label: 请选择R版本
select:
- value: R-3.6.0
label: 3.6.0
- value: R-4.2.3
label: 4.2.3
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

2、RStudio Server 1.4.1103及之后版本(源码安装R)

-
config/apps/rstudio.yml
# 这个应用的ID
id: rstudio

# 这个应用的名字
name: RStudio

# 指定应用类型为web
type: web

# Web应用的配置
web:
# 指定反向代理类型
proxyType: relative
# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)
export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname)
export APPURI="${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/"
export USER=${USER}
export SINGULARITY_VERSION="singularity/3.9.2"

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
setup_env () {
# Additional environment which could be moved into a module
export RSTUDIO_PASSWORD=${PASSWORD}
# Change these to suit
export RSTUDIO_SERVER_IMAGE="/data/software/rstudio-server/rstudio.sif"

# 容器中rstudio的路径
export RSTUDIO_HOME=/usr/lib/rstudio-server
export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin
export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver
export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession

export RSTUDIO_AUTH="/data/software/rstudio-server/auth"
export RSESSION_WRAPPER_FILE="${PWD}/rsession.sh"
export DB_CONF_FILE="${PWD}/database.conf"
export WHICHR=/data/software/R/${r_version}/bin/R
}
setup_env
module switch ${SINGULARITY_VERSION}
(
umask 077
sed 's/^ \{2\}//' > "${RSESSION_WRAPPER_FILE}" << EOL
#!/usr/bin/env bash
# Log all output from this script
export RSESSION_LOG_FILE="${PWD}/rsession.log"
exec &>>"\${RSESSION_LOG_FILE}"
# Launch the original command
echo "Launching rsession..."
set -x
exec ${RSTUDIO_RSESSION} --r-libs-user "${R_LIBS_USER}" "\${@}"
EOL
)

chmod 700 "${RSESSION_WRAPPER_FILE}"
cd "${HOME}"
export TMPDIR="$(mktemp -d)"
mkdir -p "$TMPDIR/rstudio-server"
python -c 'from uuid import uuid4; print(uuid4())' > "$TMPDIR/rstudio-server/secure-cookie-key"
chmod 0600 "$TMPDIR/rstudio-server/secure-cookie-key"

(
umask 177
cat > "${DB_CONF_FILE}" << EOL
provider=sqlite
directory=${HOME}/.local/share/rstudio/database
EOL
)

set -x
# Launch the RStudio Server
echo "Starting up rserver..."
# RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置
singularity run -B "/tmp:/tmp","/data:/data" "$RSTUDIO_SERVER_IMAGE" ${RSTUDIO_RSERVER} \
--www-port "${PORT}" \
--auth-none 1 \
--auth-pam-helper-path "${RSTUDIO_AUTH}" \
--auth-encrypt-password 0 \
--rsession-path "${RSESSION_WRAPPER_FILE}" \
--server-data-dir "${TMPDIR}" \
--server-user ${USER} \
--secure-cookie-key-file "${TMPDIR}/rstudio-server/secure-cookie-key" \
--database-config-file "${DB_CONF_FILE}" \
--rsession-which-r ${WHICHR}

echo 'Singularity as exited...'

# 如何连接应用
connect:
method: POST
path: /auth-do-sign-in
formData:
password: "{{ PASSWORD }}"
username: "{{ USER }}"
appUri: "{{ APPURI }}"

# 配置HTML表单
attributes:
- type: select
name: r_version
label: 请选择R版本
select:
- value: R-3.6.0
label: 3.6.0
- value: R-4.2.3
label: 4.2.3
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

3、RStudio Server 1.4.1103及之后版本(Conda环境安装R)

-
config/apps/rstudio.yml
# 这个应用的ID
id: rstudio

# 这个应用的名字
name: RStudio

# 指定应用类型为web
type: web

# Web应用的配置
web:
# 指定反向代理类型
proxyType: relative
# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)
export SLURM_COMPUTE_NODE_NAME=$(hostname)
export APPURI="${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_NAME}/${PORT}/"
export USER=${USER}
export SINGULARITY_VERSION="singularity/3.9.2"
export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}')
export CONDA_VERSION="anaconda/3-2023.03"

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
setup_env () {
# Additional environment which could be moved into a module
export RSTUDIO_PASSWORD=${PASSWORD}
# Change these to suit
export RSTUDIO_SERVER_IMAGE="/data/software/rstudio-server/rstudio.sif"

# 容器中rstudio的路径
export RSTUDIO_HOME=/usr/lib/rstudio-server
export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin
export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver
export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession

export RSTUDIO_AUTH="/data/software/rstudio-server/auth"
export RSESSION_WRAPPER_FILE="${PWD}/rsession.sh"
export DB_CONF_FILE="${PWD}/database.conf"
export WHICHR=/data/software/R/${r_version}/bin/R
}
setup_env
module switch ${SINGULARITY_VERSION}

for m in ${textModuleName}; do module switch ${m}; done

conda -V &> /dev/null
if [ $? -ne 0 ]; then
module switch ${CONDA_VERSION}
fi
# init conda
eval "$($(which conda) shell.${SHELL_NAME} hook)"

conda activate ${r_version}
if [ $? -ne 0 ]; then
echo "${r_version}不存在,请输入正确的R版本!"
exit 2
fi

(
umask 077
sed 's/^ \{2\}//' > "${RSESSION_WRAPPER_FILE}" << EOL
#!/usr/bin/env bash
# Log all output from this script
export RSESSION_LOG_FILE="${PWD}/rsession.log"
exec &>>"\${RSESSION_LOG_FILE}"
# Launch the original command
echo "Launching rsession..."
set -x
exec ${RSTUDIO_RSESSION} --r-libs-user "${R_LIBS_USER}" "\${@}"
EOL
)

chmod 700 "${RSESSION_WRAPPER_FILE}"
cd "${HOME}"
export TMPDIR="$(mktemp -d)"
mkdir -p "$TMPDIR/rstudio-server"
python -c 'from uuid import uuid4; print(uuid4())' > "$TMPDIR/rstudio-server/secure-cookie-key"
chmod 0600 "$TMPDIR/rstudio-server/secure-cookie-key"

(
umask 177
cat > "${DB_CONF_FILE}" << EOL
provider=sqlite
directory=${HOME}/.local/share/rstudio/database
EOL
)

set -x
# Launch the RStudio Server
echo "Starting up rserver..."
# RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置
singularity run -B "/tmp:/tmp","/data:/data" "$RSTUDIO_SERVER_IMAGE" ${RSTUDIO_RSERVER} \
--www-port "${PORT}" \
--auth-none 1 \
--auth-pam-helper-path "${RSTUDIO_AUTH}" \
--auth-encrypt-password 0 \
--rsession-path "${RSESSION_WRAPPER_FILE}" \
--server-data-dir "${TMPDIR}" \
--server-user ${USER} \
--secure-cookie-key-file "${TMPDIR}/rstudio-server/secure-cookie-key" \
--database-config-file "${DB_CONF_FILE}"
# --rsession-which-r ${WHICHR}

echo 'Singularity as exited...'

# 如何连接应用
connect:
method: POST
path: /auth-do-sign-in
formData:
password: "{{ PASSWORD }}"
username: "{{ USER }}"
appUri: "{{ APPURI }}"

# 配置HTML表单
attributes:
- type: select
name: r_version
label: 请选择R版本
select:
- value: R-3.6.0
label: 3.6.0
- value: R-4.2.3
label: 4.2.3
- type: text
name: textModuleName
label: Modules
required: false # 输入需要额外加载的环境模块列表
placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

增加了此文件后,刷新WEB浏览器即可。

-

对于RStudio,export以下变量的含义是:

-
    -
  • SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名
  • -
  • SINGULARITY_VERSION:Singularity版本
  • -
-

附章

-

1、Singularity安装

-

Singularity用于构建和运行RStudio Server容器镜像,建议安装在共享存储上,集群各节点只需要挂载上共享存储,并配置好环境变量后便可以使用。

-
    -
  • -

    安装Singularity依赖包:

    -
    yum install -y gcc libuuid-devel squashfs-tools openssl-devel make
    -
  • -
  • -

    Singularity使用Go语言开发,需要先安装Go:

    -
    export VERSION=1.20.3 OS=linux ARCH=amd64
    wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz
    mkdir -p /data/software/go
    tar -C /data/software/go -xzvf go$VERSION.$OS-$ARCH.tar.gz
    mv /data/software/go/go /data/software/go/$VERSION
    rm -f go$VERSION.$OS-$ARCH.tar.gz
    -
  • -
  • -

    将Go添加到module工具中统一管理:

    -
    # ${MODULEPATH}为modulefile所在的路径
    mkdir -p ${MODULEPATH}/go
    cat >> ${MODULEPATH}/go/1.20.3 << EOF
    #%Module1.0#####################################################################
    ##
    ## go@1.20.3 modulefile
    ##
    proc ModulesHelp { } {

    puts stderr " This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for go"
    puts stderr " Version 1.20.3"
    }

    module-whatis "go@1.20.3"
    prepend-path PATH "/data/software/go/1.20.3/bin"
    prepend-path LIBRARY_PATH "/data/software/go/1.20.3/lib"
    prepend-path LD_LIBRARY_PATH "/data/software/go/1.20.3/lib"
    EOF
    -
  • -
  • -

    安装Singularity:

    -
    export VERSION=3.9.2
    wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-ce-${VERSION}.tar.gz
    tar -xzf singularity-ce-${VERSION}.tar.gz
    cd singularity-ce-${VERSION}
    module load go/1.20.3
    ./mconfig --prefix=/data/software/singularity/${VERSION}
    cd builddir/
    make -j && make install
    -
  • -
  • -

    将Singularity添加到module工具中统一管理:

    -
    # ${MODULEPATH}为modulefile所在的路径
    mkdir -p ${MODULEPATH}/singularity
    cat >> ${MODULEPATH}/singularity/3.9.2 << EOF
    #%Module1.0#####################################################################
    ##
    ## singularity@3.9.2 modulefile
    ##
    proc ModulesHelp { } {

    puts stderr " This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for singularity"
    puts stderr " Version 3.9.2"
    }

    module-whatis "singularity@3.9.2"
    prepend-path PATH "/data/software/singularity/3.9.2/bin"
    EOF
    -
  • -
-

2、R安装

-

2.1、源码安装R

-
    -
  • -

    安装R的依赖包:

    -
    yum -y install gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2
    -
  • -
  • -

    安装R:

    -
    # 下载R的源代码并编译安装
    curl -LJO https://cran.rstudio.com/src/base/R-4/R-4.2.3.tar.gz
    tar zxf R-4.2.3.tar.gz

    # 必须有--enable-R-shlib这个选项(lib64/R/lib/libR.so)
    ./configure --prefix=/data/software/R/R-4.2.3 --enable-R-shlib
    make -j
    make install
    -
  • -
  • -

    将R添加到module工具中统一管理:

    -
    # ${MODULEPATH}为modulefile所在的路径
    mkdir -p ${MODULEPATH}/R
    cat >> ${MODULEPATH}/R/3-2023.03 << EOF
    #%Module1.0#####################################################################
    ##
    ## R@4.2.3 modulefile
    ##
    proc ModulesHelp { } {
    puts stderr "\tThis module defines environment variables, aliases and add PATH for R"
    puts stderr "\tVersion 4.2.3"
    }

    module-whatis "R@4.2.3"
    prepend-path PATH "/data/software/R/R-4.2.3/bin"
    EOF
    -
  • -
-

2.2、在Conda环境安装R

-
# 载入conda到系统环境中,并初始化conda环境
module load anaconda/3-2023.03
eval "$($(which conda) shell.bash hook)"

# 添加北大镜像源,查找相应版本的R进行安装
conda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/conda-forge/
conda search R


# 根据查找到的R版本,创建Conda虚拟环境,并在创建的时候指定需要安装的R版本,这里选择安装R-3.6.0版本;
conda create -n R-3.6.0 r=3.6.0 -y

# 进入上一步创建好的虚拟环境;
conda activate R-3.6.0

# 安装R语言库,比如stringi
conda install r-stringi -y

# 安装完后就可以用R语言环境了,如果要退出当前环境则执行以下指令;
conda deactivate
-

3、构建RStudio Server镜像

-
    -
  • -

    下载RStudio Server源码包进行编译打包:

    -
    # 下载源码包
    wget https://github.com/rstudio/rstudio/archive/refs/tags/v2023.03.0+386.tar.gz
    # 解压源码包
    tar -zxvf v2023.03.0+386.tar.gz
    cd rstudio-2023.03.0-386

    # 跳过登录时的csrf-token验证,高版本的RStudio Server集成到scow需要跳过验证
    sed -i '134s/^/\/\//' src/cpp/server/auth/ServerAuthCommon.cpp

    # 在当前路径初始化git仓库
    git init
    # 增加git缓存配置
    git config --global http.postBuffer 5242880000
    # 因为是新初始化的git仓库,所以没有提交记录,那么没有HEAD引用。通过执行第一次提交来创建一个HEAD引用
    git config --global user.email ${USER_EMAIL_ADDRESS}
    git commit --allow-empty -n -m "Initial commit."

    # 以下脚本首先构建编译rstudio server所需环境的docker容器,然后在容器内进行rstudio server编译,编译完成后会在源码包路径的package目录下生成rstudio server的rpm包
    # 执行过程如果遇到git克隆包克隆不下来的情况,可以在执行的shell环境添加代理或者修改代码中的克隆地址
    sh docker/docker-compile.sh centos7 server 2023.03.0-386
    # 可以看到目录下有编译好的rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm包
    ls package
    -
  • -
  • -

    在rstudio-2023.03.0-386目录下编写Dockerfile文件:

    -
    FROM centos:7

    COPY package/rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm /

    RUN yum -y update && \
    yum -y install epel-release && \
    yum -y install which gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2 initscripts postgresql-libs psmisc && \
    cd / && \
    rpm2cpio rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm | cpio -div && \
    mkdir data && \
    yum clean all
    -
  • -
  • -

    在rstudio-2023.03.0-386目录下构建RStudio Server的docker镜像:

    -
    docker build -t rstudio:2023.03.0-386 .
    -
  • -
  • -

    构建RStudio Server的Singularity镜像:

    -
    singularity build rstudio.sif docker-daemon://rstudio:2023.03.0-386
    -
  • -
  • -

    将Singularity镜像拷贝到共享存储,以便在计算节点可以访问并运行:

    -
    cp rstudio.sif /data/software/rstudio-server/
    -
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode.html deleted file mode 100644 index c499dc1b7f..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -VSCode | SCOW - - - - - -

VSCode

-

软件简介

-

code-server是一个基于VS Code的开源工具,它可以让你通过浏览器远程访问一个运行着VS Code的服务器。

-

前提条件

-

请确保在需要运行应用的计算节点上安装有coder/code-server软件包。

-

1、code-server安装

-
# 下载所需版本的code-server二进制安装包
wget https://github.com/coder/code-server/releases/download/v4.11.0/code-server-4.11.0-linux-amd64.tar.gz

# 解压code-server二进制安装包
tar zxf code-server-4.11.0-linux-amd64.tar.gz

# 将code-server重命名至指定路径
mkdir -p /data/software/code-server
mv code-server-4.11.0-linux-amd64 /data/software/code-server/4.11.0
-

2、添加modulefile文件

-

配置已安装好的code-server的modulefile文件:

-
# ${MODULEPATH}为modulefile所在的路径
mkdir -p ${MODULEPATH}/code-server
cat >> ${MODULEPATH}/code-server/4.11.0 << EOF
#%Module1.0########################################################################
##
## code-server@4.11.0 modulefile
##
proc ModulesHelp { } {
puts stderr "\tThis module defines environment variables, aliases and add PATH for code-server"
puts stderr "\tVersion 4.11.0"
}

module-whatis "code-server@4.11.0"
prepend-path PATH "/data/software/code-server/4.11.0/bin"
EOF
-

下面讲解如何配置使用code-server。

-

配置文件

-

创建config/apps目录,在里面创建vscode.yml文件,其内容如下:

-
config/apps/vscode.yml
# 这个应用的ID
id: vscode

# 这个应用的名字
name: VSCode

# 指定应用类型为web
type: web

# Web应用的配置
web:

# 指定反向代理类型
proxyType: relative

# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
module switch code-server/${selectVersion}
PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

# 配置HTML表单,用户可以指定code-server版本
attributes:
- type: select
name: selectVersion
label: 选择版本
required: true # 用户必须选择一个版本
placeholder: 选择code-server的版本 # 提示信息
select:
- value: 4.9.1
label: version 4.9.1
- value: 4.11.0
label: version 4.11.0
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
-

注意事项

-

VSCode扩展安装

-

VSCode扩展的安装需要互联网,当集群计算节点无法连入互联网时,会影响VSCode扩展的安装。

-

1、域名解析

-

Open VSX是一个开源的VSCode扩展市场,目前它的域名open-vsx.org解析地址为198.41.30.195,需要确保在运行VSCode的节点上解析该域名,并通过增加路由的方式使得计算节点能访问198.41.30.195的443端口服务。另外,在线安装扩展时,open-vsx.org需要重定向转发到openvsxorg.blob.core.windows.net上获取扩展包,因此,openvsxorg.blob.core.windows.net上所对应的IP:443服务需要确保VSCode节点上能访问到。

-

以下表格中为需要解析的域名及安装所需访问的IP地址和端口:

-
域名IP端口
open-vsx.org198.41.30.195443
openvsxorg.blob.core.windows.net20.60.40.4443
-

VSCode扩展安装有三种方式:

-

2、通过扩展商店安装

-
    -
  • -

    在VSCode左侧的侧边栏中,点击底部的扩展图标(通常是一个正方形方块或拼图图标),以打开扩展面板。

    -

    vscode扩展商店

    -
  • -
  • -

    在扩展面板中,你可以浏览并搜索可用的扩展。

    -
  • -
  • -

    找到你想要安装的扩展后,点击扩展卡片上的安装按钮。

    -
  • -
  • -

    VSCode将开始下载和安装扩展,你可以在扩展面板中查看安装进度。

    -
  • -
  • -

    安装完成后,你会收到通知,并且扩展会出现在已安装的扩展列表中。

    -
  • -
  • -

    在扩展面板的已安装扩展列表中,你可以启用、禁用或卸载已安装的扩展。一些扩展可能需要进行一些额外的设置或配置。

    -
  • -
-

3、通过扩展名或者扩展ID安装

-
    -
  • -

    打开终端:在VSCode的界面上找到终端(命令行界面)的入口。通常,终端图标位于左侧的侧边栏中。

    -
  • -
  • -

    在终端中,使用以下命令安装扩展:

    -
    # <extension-name>替换为你想安装的扩展的标识符或名称。扩展的标识符通常是类似于publisher.extension的格式。例如,要安装 "Python" 扩展,扩展标识符为ms-python.python
    code-server --install-extension <extension-name>
    -
  • -
  • -

    如果你不确定扩展的标识符,你可以在Visual Studio Code Marketplace上找到扩展页面,并从URL中获取标识符部分。

    -
  • -
  • -

    执行命令后,VSCode将开始下载并安装指定的扩展。安装完成后,你将在终端中看到相应的成功消息。

    -

    vscode扩展ID安装

    -
  • -
  • -

    安装的扩展现在应该已经在VSCode中可用。你可以在左侧的侧边栏中点击扩展图标来查看已安装的扩展,并根据需要启用、禁用或配置它们。

    -
  • -
-

4、手动下载扩展包进行安装

-
    -
  • -

    准备扩展文件:首先下载你需要安装的扩展文件,并上传到服务器。扩展文件通常具有.vsix扩展名,并且是预先打包好的扩展文件。

    -
  • -
  • -

    打开终端:在VSCode的界面上找到终端(命令行界面)的入口。通常,终端图标位于左侧的侧边栏中。

    -
  • -
  • -

    在终端中使用--install-extension参数安装扩展,将/path/to/extension.vsix替换为你实际的扩展文件路径:

    -
    code-server --install-extension /path/to/extension.vsix
    -

    vscode扩展包安装1

    -
  • -
  • -

    VSCode将开始安装指定的扩展。安装完成后,你将在终端中看到相应的成功消息。另外需要注意的是,在Visual Studio Code Marketplace上或者非官方下载的扩展包会存在和VSCode不兼容的情况。

    -

    vscode扩展包安装2

    -
  • -
  • -

    安装的扩展现在应该已经在VSCode中可用。你可以在左侧的侧边栏中点击扩展图标来查看已安装的扩展,并根据需要启用、禁用或配置它们。

    -
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment.html deleted file mode 100644 index d99af5f522..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -配置说明文字 | SCOW - - - - - -

配置应用的说明文字

-

系统支持对不同的交互式应用配置说明文字进行描述。文本支持HTML的标签,将会被放在一个div中。

-

配置示例

-
config/apps/{app}.yml
# 这个应用的ID
id: appId

# ...中间省略

# 交互式应用说明文字,选填。
# 支持文本国际化
appComment: "对上方交互式应用进行说明<pre style='width: 40%'><code># 利用代码块说明</code></pre>"
-

如果管理员配置了对应的交互式应用的说明文字,则展示效果如下: -EMAC交互式应用说明

-

配置解释

-

appComment的配置解释如下:

-
属性类型是否必填解释
appComment字符串 或 i18n国际化类型自定义应用的说明文字,可选填。如未填写则不显示,填写后展示在对应的创建应用页面下方。支持HTML的标签。
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo.html deleted file mode 100644 index 552e02fa01..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -配置应用图标 | SCOW - - - - - -

配置应用图标

-

Web和VNC类应用都可以通过logoPath配置项,修改创建应用的图标。

-

管理员通过把存放在和install.yml同级的public目录下图片文件的路径添加到logoPath来进行自定义图标配置。公共文件路径的使用详见公共文件

-

管理员所添加的图片文件后缀应为常用图片文件.svg.png或者.jpg等。

-

如将图片app1.svg上传到公共文件public目录下新建的apps路径下,则在配置时需填写logoPath:"/apps/app1.svg"

-

logoPath可以选填,如不填写,则将统一显示系统默认图片图标。

-

配置示例

-

无论Web类应用还是VNC类应用,自定义图标配置方法都相同。

-

coder/code-server创建VSCode为例,带有自定义图标配置的配置文件如下:

-
config/apps/vscode.yml
# 这个应用的ID
id: vscode

# 这个应用的名字
name: VSCode

# 这个应用的图标图片在公共文件下的地址
logoPath: /apps/VScode.svg

# 指定应用类型为web
type: web

# Web应用的配置
web:

# 指定反向代理类型
proxyType: relative

# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)

# 运行任务的脚本。使用了用户在自定义表单中选择的选项
script: |
module load ${selectVersion}
PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

# 配置HTML表单,用户可以指定code-server版本
attributes:
- type: select
name: selectVersion
label: 选择版本
required: true # 用户必须选择一个版本
placeholder: 选择code-server的版本 # 提示信息
select:
- value: code-server/4.8.0
label: version 4.8.0
- value: code-server/4.9.0
label: version 4.9.0
-

配置解释

-

logoPath的配置解释如下:

-
属性类型是否必填解释
logoPath字符串自定义应用图标的图片源地址,公共文件下的自定义应用图片的路径。可选填,如未填写则显示系统默认图片图标。支持格式为常用图片文件格式.svg.png或者.jpg等。
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes.html deleted file mode 100644 index bd944cc8f4..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -配置HTML表单 | SCOW - - - - - -

配置HTML表单

-

Web和VNC类应用都可以通过attributes配置项,修改创建应用的HTML表单,允许管理员定义用户创建交互式应用时的表单选项,让用户能够指定应用的版本等信息。

-

用户提交的内容会作为运行应用的计算节点的环境变量生效,web类应用可以在script项使用,VNC类应用可以在xstartup使用这些变量。

-

如果用户需要输入其他sbatch参数,可以在此项中配置,具体示例请参考其他sbatch参数配置。。

-

配置示例

-

web类应用配置HTML表单示例

-

coder/code-server启动VSCode为例,为web类应用自定义HTML表单的配置文件如下:

-
config/apps/vscode.yml
# 这个应用的ID
id: vscode

# 这个应用的名字
name: VSCode

# 指定应用类型为web
type: web

# Web应用的配置
web:

# 指定反向代理类型
proxyType: relative

# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)

# 运行任务的脚本。使用了用户在自定义表单中选择的选项
script: |
module load ${selectVersion}
PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

# 配置HTML表单,用户可以指定code-server版本
attributes:
- type: select
name: selectVersion
label: 选择版本
required: true # 用户必须选择一个版本
placeholder: 选择code-server的版本 # 提示信息
select:
- value: code-server/4.8.0
label: version 4.8.0
- value: code-server/4.9.0
label: version 4.9.0
-

如果用户选择的是version 4.8.0选项,xstartupmodule load ${selectVersion}实际执行的是module load code-server/4.8.0

-

VNC类应用配置HTML表单示例

-

以Emacs为例,桌面类应用自定义HTML表单的配置文件如下:

-
config/apps/emacs.yml
# 这个应用的ID
id: emacs

# 这个应用的名字
name: emacs

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:

# 可以使用准备脚本来准备运行任务的环境
# beforeScript:
# export VERSION=1.0

# 此X Session的xstartup脚本。使用了用户在自定义表单中选择的选项
xstartup: |
module load ${selectVersion}
emacs -mm

# 配置HTML表单,用户可以指定Emacs版本
attributes:
- type: select
name: selectVersion
label: 选择版本
required: true # 用户必须选择一个版本
placeholder: 选择code-server的版本 # 提示信息
select:
- value: emacs/27.1
label: Emacs 27.1 released
- value: emacs/28.1
label: Emacs 28.1 released

-

如果用户选择的是Emacs 28.1 released选项,xstartupmodule load ${selectVersion}实际执行的是module load emacs/28.1

-

配置解释

-

配置attributes可以加载多个HTML表单,每一条可用配置项如下:

-
属性类型是否必填解释
typenumber, text 或者 select在HTML表单元素中输入的内容的类型
name字符串HTML表单的name属性,在编程中使用,并且会作为计算节点环境变量名,可以在Web应用的script或者VNC应用的xstartop使用
label字符串HTML表单的label属性,输入框左侧显示的标签
required布尔类型如果设置为true,用户必须填写此项,如果为false,用户可以不填,默认为true
default字符串或者数字表单的默认值,number类型的默认值必须设置为数字。对于select类型的表单,如果没有配置default,则默认值为第一项
placeholder字符串描述输入字段预期值的提示信息,提示用户此处的输入
select选项的列表如果typeselect,必须配置此项,指明具体的选项,具体配置办法见select示例
-

配置输入类型为文本的HTML表单

-

配置一个输入内容是文本类型的表单,需要指定typetext, 示例如下:

-
attributes:
- type: text
name: version
label: 版本
-

如果用户输入了v3.4.5,计算节点的环境变量version=v3.4.5可以在应用启动时被读取。

-

配置一个不是必填项的表单,并且配置默认值:

-
attributes:
- type: text
name: version
label: 版本
required: false
defalt: v3.4.0
-

配置输入类型为数字的HTML表单

-

配置一个输入内容是数字类型的表单,需要指定typenumber, 此时用户仅能输入数字,示例如下:

-
attributes:
- type: number
name: size
label: 数量
-

如果用户输入了345,计算节点的环境变量size=345可以在应用启动时被读取。

-

配置一个不是必填项的表单,并且配置默认值:

-
attributes:
- type: number
name: size
label: 数量
required: false
default: 123
-

配置输入为下拉选择器的HTML表单

-

配置一个输入内容是下拉选择器的表单,需要指定typeselect,并且配置select项。select项需要配置valuelabel,作为用户可以选择的选项。

-
属性类型是否必填解释
value字符串HTML表单选项的value属性,在编程中使用,并且会作为计算节点环境变量的值
label字符串HTML表单的label属性,选项中展示给用户的文本
-

示例如下:

-
attributes:
- type: select
name: selectVersion
label: 选择版本
required: true
select:
- value: version10
label: v10
- value: version11
label: v11
-

如果用户选择v11选项,计算节点的环境变量 selectVersion=version11 可以在应用启动时被读取。

-

配置其他sbatch参数

-

name需要设置为sbatchOptions,指定typetext, 示例如下:

-
attributes:
- type: text
name: sbatchOptions
label: 其他sbatch参数
required: false
placeholder: "比如:--gpus gres:2 --time 10"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps.html deleted file mode 100644 index 8dfcd71f24..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -多集群下的应用配置 | SCOW - - - - - -

多集群下的应用配置

-

支持管理员通过在不同的配置文件路径下自定义配置各个集群均可使用的应用以及只有特定集群可以使用的应用。

-
备注

无论是配置各个集群均可以使用的应用还是配置只有特定集群可以使用的应用,请确保在需要运行应用的集群下的计算节点上安装有需要的软件包。

-

各个集群共享应用

-

管理员在与install.yml同级的config/apps下配置的交互式应用为各个集群均可使用的应用。

-

特定集群应用

-

如果需要单独配置特定集群可以使用的应用,管理员需要在config/clusters下新建名称为集群ID的文件夹,并在此文件夹下继续新建用于保存该集群交互式应用的apps文件路径。

-

集群ID的确认请参照集群配置

-

在此文件路径config/clusters/{集群ID}/apps下配置的交互式应用为该集群特定使用的交互式应用。

-
备注

config/apps下的共享交互式应用与config/clusters/{集群ID}/apps下的特定集群交互式应用出现重复时(即应用配置文件中的id值相同),那么在集群下获取的此交互式应用的详细信息为 -config/clusters/{集群ID}/apps中的配置的详细信息。

应用配置中id的确认请参照Web类应用配置示例以及桌面类应用配置示例

-

配置示例

-

集群IDhpc01hpc02下的交互式应用配置为例。 -在各个集群计算机节点下均安装了对应软件包的情况下,各个集群配置及可以使用的交互式应用如下:

-
应用配置文件config/apps下配置config/clusters/hpc01/apps下配置config/clusters/hpc02/apps下配置hpc01下可以使用hpc02下可以使用
vscode.yaml
emacs.yaml
baltamatica.yaml
jupyter.yaml
-
备注

config/appsconfig/clusters/hpc02/apps下都配置了vscode.yaml,若他们在配置文件中的id相同,则hpc01集群下获取的交互式应用信息应为config/clusters/hpc02/apps中的vscode.yaml的应用配置信息。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app.html deleted file mode 100644 index 9a2865422d..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - -配置桌面类应用 | SCOW - - - - - -

配置桌面类应用

-

前提条件

-

请确保在需要运行桌面类应用的机器上安装有:

-
    -
  • TurboVNC 3.0版本及以上
  • -
  • 您需要运行的桌面类应用
  • -
-

配置示例

-

下面以使用emacs为示例介绍如何配置桌面类应用。

-

创建config/apps目录,在里面创建emacs/config.yml或者emacs.yml文件,其内容如下:

-
config/apps/emacs/config.yml
# 这个应用的ID
id: emacs

# 这个应用的名字
name: emacs

# 指定应用类型为vnc
type: vnc

# VNC应用的配置
vnc:

# 可以使用准备脚本来准备运行任务的环境
# beforeScript:
# export VERSION=1.0

# 此X Session的xstartup脚本
xstartup: |
emacs -mm

-

增加了此文件后,刷新即可。

-

配置解释

-

beforeScript

-

beforeScript为准备脚本,如果有需要使用的变量,可以选择使用这个脚本用来准备运行任务的环境。

-

xstartup

-

对于桌面类应用,系统提交一个计算任务。此任务将会在计算节点上启动一个TurboVNC实例,此TurboVNC实例将会以配置中的xstartup脚本作为其启动脚本。

-

所以对于桌面类应用而言,您只需要填写正确的xstartup脚本即可。

-

attributes

-

如果需要指定应用版本,可以通过attributes配置项添加自定义HTML表单,具体配置示例请参考attributes配置

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app.html deleted file mode 100644 index 885f345902..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - -配置Web类应用 | SCOW - - - - - -

配置Web类应用

-

前提条件

-

请确保在需要运行应用的计算节点上安装有需要的软件包。

-

配置示例

-

下面以使用coder/code-server启动VSCode的配置为例来讲解如何配置一个服务器类应用。

-

创建config/apps目录,在里面创建vscode/config.ymlvscode.yml文件,其内容如下:

-
config/apps/vscode/config.yml
# 这个应用的ID
id: vscode

# 这个应用的名字
name: VSCode

# 指定应用类型为web
type: web

# Web应用的配置
web:

# 指定反向代理类型
proxyType: relative

# 准备脚本
beforeScript: |
export PORT=$(get_port)
export PASSWORD=$(get_password 12)

# 运行任务的脚本。可以使用准备脚本定义的变量
script: |
PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password

# 如何连接应用
connect:
method: POST
path: /login
formData:
password: "{{ PASSWORD }}"

-

增加了此文件后,刷新即可。

-

配置解释

-

proxyType

-

用户通过以下格式的URL访问Web类的交互式应用

-
-

http[s]://${域名或者IP}/${SCOW系统的base path}/api/proxy/${运行应用的集群ID}/${这个应用的proxyType}/${计算节点的IP或者主机名}/${应用所在的端口号}/${...应用所需要的path}

-
-

对于web类型的应用,需要配置proxyType。不同的交互式应用使用了不同的nginx proxy方式,通过配置proxyType,可以允许应用携带不同类型的uri到后端计算节点。

-

proxyType可以配置为relative或者absolute,如果不配置默认是relative

- -

beforeScriptscript

-

beforeScript部分为准备脚本。这个脚本用来准备运行任务的环境。这个脚本要求必须export两个变量:

-
    -
  • PORT:程序将会运行在的端口
  • -
  • PASSWORD: 连接程序用的密码
  • -
-

connectformData项需要使用的变量也需要在此处export。

-

准备脚本中的export的变量可以在script中使用。

-

script部分为如何启动这个应用的脚本。

-

beforeScriptscript中可以使用以下辅助函数:

-
函数名作用参数返回值
get_port获得一个可用的TCP端口一个调用时可用的TCP端口
get_password生成一个包含A-Za-z0-9的随机密码$1: 密码长度密码
-

还可以使用以下变量。如果自定义属性中出现了和这里同名的变量,这里的变量将会被覆盖。

-
变量名
PROXY_BASE_PATH这个应用在被访问时,其URL中位于计算节点IP之前的内容,不以/结尾。对SCOW来说,为${SCOW的base path}/api/proxy/${集群ID}/${此应用的proxyType}
-

这些脚本,以及一些辅助的脚本将会被作为一个作业提交给调度系统,并最终在某个计算节点上运行。

-

connect

-

connect部分定义如何连接到应用。系统将会给可以连接的应用创建一个用于连接应用的a标签。点击a标签之后,系统将会打开一个新标签页,打开新标签页时实际进行的动作将可以在这里自定义。

-

配置如下:

-
属性类型是否必填解释
path字符串新标签页所访问的相对路径
method"GET" 或者 "POST"发起一个什么的HTTP请求
query字符串到字符串的字典连接时附带的query
formData字符串到字符串的字典如果method是POST,这个请求将会带的form data
-

我们推荐将应用使用密码方式进行加密,所以一般在连接时需要将密码输入给应用。path, query的值和formData的值部分可以使用{{ PASSWORD }}代替应用在创建时生成的密码。

-

此外,如果formData需要使用其他变量,可以在准备脚本beforeScript中export需要的变量,然后以{{ 变量名 }}的形式使用。

-

attributes

-

如果需要指定应用版本,可以通过attributes配置项添加自定义HTML表单,具体配置示例请参考attributes配置

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro.html b/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro.html deleted file mode 100644 index 0a278cd8d4..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -交互式作业 | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard.html b/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard.html deleted file mode 100644 index 55c835c226..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -自定义仪表盘 | SCOW - - - - - -

自定义仪表盘

-

您可以自定义门户项目仪表盘的LOGO和文本。

- -

LOGO图片的文件名应为banner,后缀应为svg, png或者jpg后缀名,如果多个后缀名的文件同时存在,则顺序为svg, png, jpg

-

有的图片在暗色主题下显示背景不佳,系统支持单独设置在暗色模式下显示的LOGO图片。在暗色模式下显示的LOGO图片的文件名应该为banner.dark,后缀名规则和上述规则相同。如果不存在暗色模式下的图片,则系统将显示正常模式下的LOGO图片。

-

将LOGO图片放入config/logo下即可。

-

系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。判断来访域名的规则请参考这里

-

如果您使用svg图片,那么自定义仪表盘LOGO将会默认占据整个页面的100%宽度,高度跟随宽度自动缩放。您可以给您的svg文件的svg标签设置width属性来限制图片的最大宽度。

-

如果您使用png或者jpg图片,那么自定义仪表盘LOGO的最大大小为图片本身的大小,如果浏览器视口宽度小于图片的宽度,则图片将会自动缩放。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/desktop.html b/pr-preview/pr-1298/docs/deploy/config/portal/desktop.html deleted file mode 100644 index 3a83ae35f4..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/desktop.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -登录节点桌面功能 | SCOW - - - - - -

登录节点桌面功能

-

登录节点桌面功能能够让用户在浏览器上就能访问登录节点的桌面,并进行GUI操作。

-

前提条件

-

目前,桌面功能仅支持登录到登录节点。在计算节点上启动桌面可借助交互式任务实现。

-

下文中将启动桌面的节点称为桌面节点

-

请确认集群配置满足以下条件:

- -

支持的桌面

-

config/portal.yml文件的loginDesktop.wms部分可以配置支持的桌面, 也可以在config/clusters下的集群配置文件内分集群配置支持的桌面,config/clusters配置文件下的配置优先级高于config/portal.yml文件。

-
config/portal.yaml 或 config/clusters/[集群ID]/config.yml
loginDesktop:
wms:
- name: Xfce
wm: xfce
-

其中,name表示桌面的名称,wm表示TurboVNC中-wm选项的值。我们使用TurboVNC-wm选项指定支持启动的桌面。用户选择的桌面对应的wm值将会被传入TurboVNC的-wm参数。

-

可以查看TurboVNC 3.0.x Window Manager Compatibility Report来确认桌面和操作系统之间的兼容性。

-

下表为目前已经在CentOS 7上测试的各个桌面与turbovnc的兼容性以及对应的wm值。要想使用对应的桌面,请在对应的桌面节点安装epel-release包,再运行安装命令部分的命令安装对应的桌面。

-
桌面wm值安装命令兼容性
KDE1-kde-plasma-standardyum groupinstall "KDE Plasma Workspaces"可用
Xfcexfceyum groupinstall "Xfce"可用
MATEmateyum groupinstall "MATE Desktop"可用
cinnamoncinnamonyum install cinnamon可用
GNOME 22dyum groupinstall "GNOME Desktop"不可用
GNOME 3 (空字符串)yum groupinstall "GNOME Desktop"不可用
-

根据TurboVNC的文档,如果需要启动其他桌面,您可以将wm值设置为任意/usr/share/xsessions下的文件名(不包括.desktop后缀)来启动对应的桌面。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/intro.html b/pr-preview/pr-1298/docs/deploy/config/portal/intro.html deleted file mode 100644 index 7b0285f445..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/intro.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -配置门户系统 | SCOW - - - - - -

配置门户系统

-

本节介绍如何配置门户系统。

-

修改安装配置文件

-

修改安装配置文件install.yaml

-
install.yaml
# 确保门户系统会部署
portal:
# 如果门户系统将会部署在系统的根目录下,设置BASE_PATH为/。默认为/
basePath: /
# 如果门户系统将会部署在系统的/portal下,设置BASE_PATH为/portal
# basePath: /portal
-
提示

如果想自定义系统部署的相对路径,了解PORTAL.BASE_PATH的含义,请参考自定义相对路径

-

编写门户服务配置

-

config/portal.yaml文件中,根据备注修改所需要的配置

-
config/portal.yaml
# 是否启用作业管理功能
jobManagement: true

# 登录节点桌面功能
loginDesktop:
# 是否启用桌面功能
enabled: true

# 桌面
wms:
# 桌面名和对应的wm值。见文档
- name: Xfce
wm: xfce

# 单个登录节点最多启动多少个桌面节点
maxDesktops: 3

# 将创建的登录节点桌面信息的保存到什么位置。相对于用户的家目录
desktopsDir: scow/desktops

# 是否启用交互式任务功能
apps: true

# 提交作业命令框中的提示语,可选配置
submitJobPromptText: "#此处参数设置的优先级高于页面其它地方,两者冲突时以此处为准"

# 是否启用终端功能
shell: true

# # 文件管理
# file:
# # 文件预览功能
# preview:
# # 大小限制
# # 可接受的格式为nginx的client_max_body_size可接受的值,默认为 50m
# limitSize: "50m"
# # 文件编辑功能
# edit:
# # 文件编辑大小限制
# # 可接受的格式为nginx的client_max_body_size可接受的值,默认为 1m
# # 建议设置为较大值
# limitSize: "1m"

# 提交作业的默认工作目录。使用{{ name }}代替作业名称。相对于用户的家目录
# submitJobDefaultPwd: scow/jobs/{{ name }}

# 将保存的作业保存到什么位置。相对于用户家目录
# savedJobsDir: scow/savedJobs

# 将交互式任务的信息保存到什么位置。相对于用户的家目录
# appJobsDir: scow/appData

# TurboVNC的安装路径
# turboVNCPath: /opt/TurboVNC

# # 新增导航链接相关配置
# navLinks:
# # 链接名
# - text: "一级导航1"
# # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填
# url: ""
# # 是否打开新的页面,可选填,默认值为false
# # openInNewPage: true
# # 自定义图标地址,可选填
# # iconPath: ""
# # 可以看到这个链接的用户,可选填
# # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance
# allowedRoles: []
# # 二级导航,可选填
# children:
# # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children
# - text: "二级导航1"
# url: "https://hahahaha1.1.com"
# # openInNewPage: true
# iconPath: ""
# allowedRoles: [accountAdmin, accountOwner]
# - text: "二级导航2"
# url: "https://hahahaha1.2.com"
# allowedRoles: [tenantAdmin, platformAdmin]
# - text: "一级导航2"
# url: "https://hahahaha2.com"


-

更多配置

-

一些功能可能需要进一步的配置,请根据对应的文档完成。

- -

启动服务

-

运行./cli compose up -d启动门户系统。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway.html b/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway.html deleted file mode 100644 index da8d43eefb..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - -代理网关节点 | SCOW - - - - - -

代理网关节点

-

门户系统的桌面交互式作业功能是通过HTTP代理,将用户的流量代理到了运行桌面的登录节点或者运行计算作业的计算节点上来实现的。这要求SCOW所在的服务节点能够直连所有登录和计算节点。

-

直连

-

但是,在多集群环境中,各个集群之间的网络可能不连通,SCOW所在的服务节点可能不能直连所有集群的计算节点。

-

对于这种情况,您可以给集群配置代理网关节点。在有代理网关的情况下,SCOW将会把交互式应用(包括VNC类型和Web类型)的流量首先发给集群的代理网关节点。代理网关节点将会负责将流量进一步转发到具体的节点中去。

-

通过代理网关节点

-

手动配置

-

您需要在您的需要代理网关节点的集群中选择一个节点作为代理网关节点。这个节点必须能被SCOW直接访问,也能访问自己集群中的所有机器。您需要给这个节点向SCOW所在的服务节点开放一个端口用作下文的监听端口。

-

当您选择好了节点后,您需要在网关节点上安装nginx,并创建/etc/nginx/conf.d/scow-portal-proxy-gateway.conf

-
touch /etc/nginx/conf.d/scow-portal-proxy-gateway.conf
-

然后将以下内容写入此文件,替换如下部分:

- -
/etc/nginx/conf.d/scow-portal-proxy-gateway.conf
server {
# 监听端口号,可修改
listen 12031;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

location ~ ^${PORTAL_BASE_PATH}api/proxy/(?<clusterId>.*)/relative/(?<node>[\d|\.]*)/(?<port>\d+)(?<rest>.*)$ {
proxy_pass http://$node:$port$rest$is_args$args;
}

location ~ ^${PORTAL_BASE_PATH}api/proxy/(?<clusterId>.*)/absolute/(?<node>[\d|\.]*)/(?<port>\d+)(?<rest>.*)$ {
proxy_pass http://$node:$port$request_uri;
}
}
-

重新加载nginx配置

-
nginx -s reload
-

之后,您需要在SCOW的集群配置文件中,对需要开启这个功能的集群的配置文件增加以下配置:

-
config/clusters/hpc01/config.yaml
proxyGateway: 
url: {代理网关节点nginx监听地址}
-

例如,这个集群的代理网关节点为192.168.88.100,上面新增的文件中监听端口号为12031,则此处填写

-
config/clusters/hpc01/config.yaml
proxyGateway:
url: http://192.168.88.100:12031
-

重启portal-web即可生效。

-
./cli compose restart portal-web
-

注意,一旦修改了此配置,被修改了配置的集群在修改配置之间启动的交互式作业将会无法重新连接。

-

自动配置

-

您也可以让SCOW自动帮您做这个配置。要使用自动配置,您需要确保:

-
    -
  • SCOW节点可以使用公钥以root身份SSH登录到代理网关节点
  • -
  • 代理网关节点上安装了nginx
  • -
-

您需要在集群配置文件中编写如下配置:

-
config/clusters/hpc01/config.yaml
proxyGateway:
url: {代理网关节点的nginx的监听地址}
autoSetupNginx: true
-

这样之后,portal-server每次启动时,都会SSH登录到代理网关节点,并根据手动配置部分自动配置。

-

配置要求

-
    -
  • 如果您配置了代理网关节点,那么需要确保在配置各集群登录节点时,登录节点的域名或者IP地址在所有集群中都是不重复的。否则,代理网关节点将无法区分不同的登录节点。
  • -
  • 代理网关节点可以使用公钥以root身份SSH登录到所有计算节点
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/shell.html b/pr-preview/pr-1298/docs/deploy/config/portal/shell.html deleted file mode 100644 index 878617caa8..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/shell.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -Shell终端文件传输功能 | SCOW - - - - - -

Shell终端文件传输功能

-

Shell终端支持输入命令跳转到文件系统,进行文件的上传和下载;支持下载指定文件。

-

sopen命令

-

输入sopen命令后,会跳转到文件系统的当前目录,用户可以在图形界面进行文件上传或者下载。

-

sup命令

-

输入sup命令后,您可以将本地文件上传到当前路径下。

-

sdown命令

-

输入sdown [文件名],用户当前路径的该文件会被下载到本地,目前仅支持直接输入当前目录下的文件名,不支持相对路径,如果需要下载其他目录下的文件请使用sopen命令跳转到文件系统。如果用户输入了相对路径,会提示用户不能使用相对路径。

-

使用示例:

-
sdown hello.txt
-

如果当前在B目录下,需要下载A目录下的文件,有两种方式:

-
    -
  1. 可以进入A目录,然后sdown [文件名]下载
  2. -
  3. 也可以sopen进入文件系统以后,在图形界面切换到A目录选择文件进行下载。
  4. -
-

sedit命令

-

输入sedit [文件名]后会跳转到图形界面的文本编辑器。

-

使用示例:

-
sedit hello.txt
-

注意

-

sopensdown [文件名]sedit [文件名]这三个命令仅在SCOW的Shell终端中使用有效。

-

在系统启动时,系统会自动上传到登录节点的/etc/profile.d/目录下一个scow-shell-file.sh脚本,用于在Shell终端中进行文件系统的跳转和文件的下载。如果/etc/profile.d/目录不存在会创建该目录。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters.html b/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters.html deleted file mode 100644 index d6a959baab..0000000000 --- a/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -跨集群文件传输功能(可选) | SCOW - - - - - -

跨集群文件传输功能(可选)

-

1. 为每个集群添加传输节点

-

网络区分

-

通常情况下,同属一个集群的所有节点,均在同一个子网下,我们称之为集群内网。例如:登录节点访问计算结点便是通过集群内网。

-

不同集群之间的节点,互相通常是访问不到的,除非接入到更大的网络之中,我们称之为集群间可达网

-

任何机器都可以通过网络访问到的地址,为公网地址,我们称之为互联网公网

-

网络范围排序:互联网公网 > 集群间可达网 > 集群内网

-

配置

-
    -
  1. -

    在跨集群传输功能的配置中,每个集群需要有一个专门用来做文件传输的节点TransferNode,该TransferNode要求具有集群间可达网的地址,也就是说接入SCOW系统的所有集群的传输节点之间彼此是可以访问的。传输节点TransferNode和登录节点LoginNode可以是同一个节点。

    -
  2. -
  3. -

    传输节点能够访问文件系统,且挂载目录路径和登录节点访问文件系统的路径相同。出于安全性的考虑,传输节点最好不具备访问作业权限(例如,设置与slurm管理节点网络不通)

    -
  4. -
  5. -

    准备好传输节点后,需要将其接入到scow集群中。接下来需要修改集群配置文件config/clusters/xxx.yaml,在yaml文件末尾添加crossClusterFileTransfer模块,添加enabled和transferNode属性。如果enabled为true表示开启该功能需要配置transferNode,为false表示不开启该功能无需配置transferNode。transferNode配置格式为ip:port,如果不配置port默认为22端口。

    -
  6. -
-
config/clusters/hpc01.yaml
displayName: hpc01Name
adapterUrl: 0.0.0.0:6000
loginNodes:
- name: loginNode01
address: localhost:22222
crossClusterFileTransfer:
enabled: true
transferNode: localhost:22222
-
提示

传输节点如果是一个新节点,则该节点需要与集群有一致的用户,即配置与该集群相同的认证系统(LDAP),挂载相同的共享目录。

-

2. 建立scow节点到每个传输节点的root用户免密

-

在scow节点运行以下命令

-
# 执行以下命令,连续回车,输入密码后设置免密成功
ssh-copy-id root@[TransferNodeIP]
-

3. 在每个传输节点上安装scow-sync传输软件

-

scow-sync传输软件目前只支持从源码构建。

-
    -
  1. 拉取scow-sync代码。首先需要以root身份登录到传输节点,然后拉取scow-sync的仓库https://github.com/PKUHPC/scow-sync.git。通常将scow-sync安装在/data/software目录下。
  2. -
-
# 以root身份登录传输节点
ssh root@[TransferNodeIP] -p [TransferNodePort]
# 拉取scow-sync到/data/software目录
cd /data/software
git clone https://github.com/PKUHPC/scow-sync.git
-
    -
  1. 安装python依赖库。在传输节点上按照scow-sync的requirements.txt文件安装好对应版本的依赖库。
  2. -
-
python >= 3.6.0
paramiko >= 3.0.0
psutil >= 5.9.4
subprocess
concurrent
-
    -
  1. 设置python解释器的路径。
  2. -
-
    -
  • -

    如果用户使用的python解释器的路径为/usr/bin/python3,则可以直接执行sudo bash install.sh,该脚本会在全局安装scow-sync相关的命令。

    -
  • -
  • -

    如果用户使用自定义的python解释器的路径,需要修改scow-sync代码中的scow_sync/config.py配置文件的SHEBANG_PATH为python解释器的路径,再执行sudo bash install.sh update更新scow-sync各个脚本的SheBang,最后再执行sudo bash install.sh安装scow-sync。

    -
  • -
-
    -
  1. 输入以下命令观察是否安装成功。
  2. -
-
[root@login01 ~]# scow-sync-start -h
usage: scow-sync-start [-h] [-a ADDRESS] [-u USER] [-s SOURCE]
[-d DESTINATION] [-m MAX_DEPTH] [-p PORT]
[-k SSHKEY_PATH] [-c]

argsparser for starting transferring files

optional arguments:
-h, --help show this help message and exit
-a ADDRESS, --address ADDRESS
address of the server
-u USER, --user USER username for logging in
-s SOURCE, --source SOURCE
path of the source file or directory
-d DESTINATION, --destination DESTINATION
path of the destination directory
-m MAX_DEPTH, --max-depth MAX_DEPTH
max parallel depth of the directory
-p PORT, --port PORT ssh port of the server
-k SSHKEY_PATH, --sshkey-path SSHKEY_PATH
path of the private key
-c, --check check whether the key in scow-sync-ssh is right

[root@login01 ~]# scow-sync-query
[]
[root@login01 ~]# scow-sync-terminate -h
usage: scow-sync-terminate [-h] [-a ADDRESS] [-u USER] [-s SOURCE]

argsparser for terminating transferring files

optional arguments:
-h, --help show this help message and exit
-a ADDRESS, --address ADDRESS
address of the server
-u USER, --user USER username for logging in to the server
-s SOURCE, --source SOURCE
path to the source file or directory
-

4. 可选:自定义scow-sync的日志路径

-

配置scow-sync的输出路径为可选操作,默认的输出路径为~/scow/.scow-sync

-

修改scow-sync代码中的scow_sync/config.pySCOWSYNC_PATHLOG_PATHERROR_PATH,以下为默认配置:

-
SCOWSYNC_PATH = os.path.expanduser('~/scow/.scow-sync')  # scow-sync传输文件进度保存目录
LOG_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.log') # scow-sync打印日志目录
ERROR_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.err') # scow-sync错误日志目录
-

SCOWSYNC_PATH的路径必须为以~开头的用户路径,从而实现用户信息的隔离。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/get-started/vagrant.html b/pr-preview/pr-1298/docs/deploy/get-started/vagrant.html deleted file mode 100644 index b67e246262..0000000000 --- a/pr-preview/pr-1298/docs/deploy/get-started/vagrant.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -使用 | SCOW - - - - - -

使用

本项目面向开发测试人员,基于Vagrant,采用VirtualBox作为Provider,提供slurm+SCOW集群一键部署方案,极大简化了部署流程和部署门槛。

-

部署slurm+SCOW四节点集群,节点角色及默认配置如下表所示:

-
节点名称/角色主要服务私网IP配置
scowscow:portal、mis、auth、gateway192.168.88.1004C4G
slurmslurmdbd、slurmctld、slurmd、mariadb、nfs-server、slapd、sssd192.168.88.1012C2G
loginslurmd、sssd、nfs、Xfce、KDE、MATE、cinnamon192.168.88.1022C2G
cn01slurmd、sssd、nfs、Xfce、KDE、MATE、cinnamon192.168.88.1032C2G
-

1. 集群一键部署

-

scow-vagrant项目clone下来,在这个项目根目录下执行以下命令:

-
git clone https://github.com/PKUHPC/scow-vagrant.git
-

部署前准备:

-
    -
  • 下载最新Release的scow-cli,拷贝至scow\scow-deployment目录,并命名为cli;
  • -
  • 编译生成最新的适配器可执行程序(CentOS7.9),替换adapter目录下的scow-slurm-adapter-amd64(默认为与SCOWv1.2.3匹配版本),编译参考文档
  • -
  • 修改配置文件scow\scow-deployment\install.yamlimageTag修改为与cli匹配的版本,例如v1.2.3
  • -
-

一键部署命令:

-
vagrant up
-

-
-
    -
  • 第一次部署需要从vagrant clould拉取vagrant镜像,速度会比较慢,请耐心等待。
  • -
-
-

2. 集群初始化

-
-

初始化地址:http://192.168.88.100/mis/init/ 用户名/密码:demo_admin/demo_admin

-
-

进入初始化页面,选择创建初始管理员用户,将demo_admin设置为管理员用户。后续用户、账户设置请参考本项目操作手册。

-

image-20230126081833205

-

3. SCOW运维操作

-
#登录到集群scow节点
vagrant ssh scow

# 输入root用户密码,密码为:vagrant

# 进入scow部署目录
/root/scow/scow-deployment

# 拉取最新镜像
./cli compose pull

# 重启服务
./cli compose down
./cli compose up -d
-

4. 集群一键销毁命令

-
vagrant destroy
-

5. 更多文档

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization.html b/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization.html deleted file mode 100644 index 4a6fbbb536..0000000000 --- a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -自定义部署 | SCOW - - - - - -

自定义部署

1. 如何修改节点私网IP

-

本方案各节点IP使用的是private_network模式(Host-Only),若不与其他虚机IP冲突,可不需要修改直接使用默认即可。如需要修改节点IP,可参照如下操作:

-

(1) Vagrantfile修改:

-

通过修改Vagrantfile文件vm_list下各节点的eth1属性,修改集群中各节点 使用的IP,需保证设置的各节点IP在同一局域网内。

-

(2) slurm配置文件修改:

-
    -
  • slurm\slurm.conf文件中的nodes配置部分,将各节点IP修改为与vm_list中配置的一致;
  • -
  • slurm\ldap_client.sh文件中ServHost改为slurm节点IP;
  • -
  • slurm\nfs_client.sh文件中的192.168.88.101改为slurm节点IP。
  • -
-

(3) SCOW配置文件修改:

-
    -
  • scow\scow-deployment\config\auth.yml文件中的ldap.url的IP改为slurm节点IP;
  • -
  • scow\scow-deployment\config\mis.yaml文件中fetchJobs.db.host改为scow节点IP;
  • -
  • scow\scow-deployment\config\clusters\hpc01.yaml文档中slurm.mis.managerUrl改为slurm节点IP。
  • -
-

(4) export job配置文件修改:

-

scow\export-jobs\config.py文件中的cluster_db_conf.host改为slurm节点IP,mgt_db_conf.hostscow节点IP。

-

以上配置修改完成之后执行部署命令:

-
vagrant up
-

2. 如何新增计算节点

-

以添加计算节点cn02为例,Vagrantfile文件vm_list中复制一份cn01的配置,并做如下修改:

-
    {
:name => "cn02",
:eth1 => "192.168.88.104",
:mem => "4096",
:cpu => "4",
:sshport => 22234,
:box => "icode/slurm_compute",
:role => "slurm",
:is_service_node => false
}
-
-

注意修改name,eth1,sshport的值,可不修改其他属性值。

-
-

slurm\slurm.conf文件中修改计算节点和分区配置信息部分:

-
# NODES 配置部分将cn02节点加入 
NodeName=cn0[1-2] NodeAddr=192.168.88.10[3-4] CPUs=4 CoresPerSocket=2 ThreadsPerCore=1 RealMemory=3500 Procs=1 State=UNKNOWN

# PARTITIONS 配置部分将cn02节点加入
PartitionName=compute Nodes=cn0[1-2] Default=YES MaxTime=INFINITE State=UP

-

scow\scow-deployment\config\clusters\hpc01.yaml修改节点和分区配置:

-
# ...
slurm:
loginNodes:
- name: login
address: 192.168.88.102

partitions:
- name: compute
# 分区内节点数修改为2
nodes: 2

# ...
-

以上配置修改完成之后执行部署命令:

-
vagrant up
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq.html b/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq.html deleted file mode 100644 index c9760c81ce..0000000000 --- a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -FAQ | SCOW - - - - - -

FAQ

1. Invalid value 'WAS' in AudioAdapter/@driver attribute

-

在vagrant up时出现如下报错:

-

image-20230126080954387

-

解决方法:

-

进入vagrant的box目录,找到对应box的box.ovf配置文件(默认在{userhome}/.vagrant.d/boxes/下进入对应的box目录查找),删除AudioAdapter配置。

-

image-20230126082518267

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images.html b/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images.html deleted file mode 100644 index 212e6c0f63..0000000000 --- a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - -vagrant镜像制作 | SCOW - - - - - -

vagrant镜像制作

1. login/compute节点镜像制作

-

基于vagrant官方centos/7镜像(7.8.2003),执行的命令如下:

-
# 1. 升级到centos7.9.2009
yum update -y

# 2. 关闭firewalld、dnsmasq、NetworkManager
systemctl disable --now firewalld
systemctl disable --now dnsmasq
systemctl disable --now NetworkManager

# 3. 关闭selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
getenforce

# 4. 关闭swap
swapoff -a && sysctl -w vm.swappiness=0enforcing
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab


# 5. 时间同步
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install ntpdate vim -y

# 同步时间。time2.aliyun.com外网,vineyard.pku.edu.cn内网
# 时间同步配置如下:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone
ntpdate time2.aliyun.com

cat >>/var/spool/cron/root <<EOF
*/5 * * * * /usr/sbin/ntpdate time2.aliyun.com
EOF

# 6. 安装epel-release
yum install epel-release -y

# 7. 安装emacs wget
yum install emacs wget -y

# 8. 安装turbovnc
wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate
mv TurboVNC.repo /etc/yum.repos.d
# 安装最新版本
yum install turbovnc -y

# 9. 安装桌面
yum groupinstall "Xfce" -y
yum groupinstall "KDE Plasma Workspaces" -y
yum groupinstall "MATE Desktop" -y
yum install cinnamon -y

# 10. 安装rng-tools
yum install -y rng-tools
rngd -r /dev/urandom

# 11. 安装munge
yum install munge munge-libs munge-devel -y

# 12. 安装slurm
yum install gcc gcc-c++ readline-devel perl-ls-MakeMaker pam-devel rpm-build mysql-devel python3 -y
# 此处是拷贝的slurm的编译文件
cp -r /vagrant/slurm/rpmbuild/ /root/
cd /root/rpmbuild/RPMS/x86_64/ && yum localinstall slurm-* -y

# 13. 支持密码登录登录
sed -i 's#PasswordAuthentication no#PasswordAuthentication yes#g' /etc/ssh/sshd_config
systemctl restart sshd
-

此处slurm的编译请参见文档slurm集群部署 中slurm编译相关内容

-

2. slurm节点镜像制作

-

在login/compute节点镜像的基础上,执行的命令如下:

-
# 1.安装mariadb
yum -y install mariadb-server
systemctl start mariadb
systemctl enable mariadb

# 初始化
mysql << EOF
set password=password('${db_passwd}');
create database slurm_acct_db;
create user slurm;
grant all on slurm_acct_db.* TO 'slurm'@'localhost' identified by '123456' with grant option;
grant select on slurm_acct_db.* to 'slurm'@'%' identified by '123456';
flush privileges;
EOF

# 2. 拷贝vscode文件
cp code-server-4.7.1-linux-amd64.tar.gz /root/
-
    -
  1. 此处code-server的下载地址为:https://github.com/coder/code-server/releases/download/v4.7.1/code-server-4.7.1-linux-amd64.tar.gz
  2. -
  3. 也可选择其他版本下载:https://github.com/coder/code-server/releases
  4. -
-

3. SCOW节点镜像制作

-

基于vagrant官方centos/7镜像(7.8.2003),执行如下命令:

-
# 1. 升级到centos7.9.2009
yum update -y

# 2. 关闭firewalld、dnsmasq、NetworkManager
systemctl disable --now firewalld
systemctl disable --now dnsmasq
systemctl disable --now NetworkManager

# 3. 关闭selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
getenforce

# 4. 关闭swap
swapoff -a && sysctl -w vm.swappiness=0enforcing
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab


# 5. 时间同步
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install ntpdate vim -y

# 同步时间。time2.aliyun.com外网,vineyard.pku.edu.cn内网
# 时间同步配置如下:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone
ntpdate time2.aliyun.com

cat >>/var/spool/cron/root <<EOF
*/5 * * * * /usr/sbin/ntpdate time2.aliyun.com
EOF

# 6. 安装docker
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

# 设置稳定存储库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker CE
yum install docker-ce -y

# 启动Docker CE并设置开机启动
systemctl start docker
systemctl enable docker


# 7. 安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋权
chmod +x /usr/local/bin/docker-compose

# 验证安装成功
docker-compose --version

# 8. 创建scow目录
mkdir /root/scow/

yum install -y python3
pip3 install -r /root/scow/export-jobs/requirements.txt


# 9. 支持密码登录登录
sed -i 's#PasswordAuthentication no#PasswordAuthentication yes#g' /etc/ssh/sshd_config
systemctl restart sshd
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env.html b/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env.html deleted file mode 100644 index f857265493..0000000000 --- a/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - -vagrant环境搭建 | SCOW - - - - - -

vagrant环境搭建

vagrant支持的provider包括virtualbox、hyperv、libvirt等。virtualbox支持windows、linux、macos的安装,因此本教程以virtualbox作为provider。

-

1. 安装virtualbox

-

点击进入官网下载virtualbox

-

image-20221121104833452

-

此处可选择操作系统版本,选择Windows版本下载、安装(其他操作系统类似)。

-

安装过程比较简单,跟着指引即可。

-

2. 安装vagrant

-

点击进入官网下载vagrant

-

image-20221121104754043

-

这里选择Windows 64位版本,安装过程跟着指引即可。

-

3. vagrant基本操作

-
# 新建虚拟机,以创建一个centos7虚拟机为例

# 1. 初始化
vagrant init centos/7

# 2. 启动,初次启动会比较慢,需要拉镜像
vagrant up

# 3. 查看状态
vagrant status

# 4. ssh到虚机
vagrant ssh

# 5. 停止虚机
vagrant halt

# 6. 暂停虚机
vagrant suspend

# 7. 恢复虚机
vagrant resume

# 8. 删除虚机
vagrant destroy
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/install.html b/pr-preview/pr-1298/docs/deploy/install.html deleted file mode 100644 index 5c97840b9d..0000000000 --- a/pr-preview/pr-1298/docs/deploy/install.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - -安装 | SCOW - - - - - -

安装

-

本节介绍如何在已有的超算集群上部署SCOW系统。您可参考本文档在生产环境中部署SCOW。

-

集群要求

-

我们推荐将SCOW部署在一个单独的节点上。下文称部署这些组件的节点为服务节点

-

要在您的集群上使用SCOW,请保证您的集群满足以下条件:

-
    -
  • 集群中的各个节点可相互通过网络连接
  • -
  • 服务节点可以免密以root用户SSH登录到各个登录节点,并且服务节点~/.ssh目录下有登录所需要的id_rsa.pubid_rsa文件 -
      -
    • 运行所有部署的命令用户不需要为root,但是此用户的~/.ssh下的密钥对需可以以root用户登录登录节点
    • -
    -
  • -
  • 服务节点可以SSH连接到所有计算节点,并且计算节点登录节点的所有用户共享同样的SSH authorized_keys配置文件
  • -
  • 使用slurm调度器,并且 -
      -
    • 版本为21.08.4及以上
    • -
    • 已经部署slurm的Accounting功能
    • -
    -
  • -
-
警告

因为这个issue,如果您的登录节点和计算节点的所使用的OpenSSH的版本高于8.2(大多比CentOS 7新的操作系统默认的版本均高于此),那么即使您能在SCOW节点上通过ssh命令连接到登录和计算节点上,SCOW可能也无法通过SSH连接到这些节点上。如果您遇到了这个问题,您需要在您的各个节点的/etc/ssh/sshd_config文件中增加以下内容,并重启sshd服务。

PubkeyAcceptedKeyTypes=+ssh-rsa

这是因为OpenSSH从8.2版本开始默认取消了对ssh-rsa公钥签名算法的支持(OpenSSH 8.2 Release Note)。当前系统仅支持使用ssh-rsa类型的公钥对进行SSH登录,在后续我们会增加对使用更新算法(例如ed25519)的公私钥对的默认支持。

-

准备环境

-

为了简化部署,系统组件以docker镜像的形式分发。服务节点应该安装好

- -

部署SCOW调度器适配器

-

针对不同种类的调度器,需要在集群上部署对应的适配器。适配器是在SCOW和底层调度器之间的中间层,向SCOW提供一组接口,SCOW通过这组接口调用适配器功能。理论上,只要适配器实现了接口所定义的功能,SCOW就能方便地部署在对应集群上。

-

适配器本质上是一个gRPC服务器,我们已经实现了部分调度器对应的适配器,可以参考下列文档部署适配器

- -
备注

适配器将会暴露一个端口来提供服务,SCOW将通过ip地址+端口号访问适配器,调用接口。请记录下适配器的地址信息,用于后续部署。

-

下载scow-cli

-

scow-cli是我们官方维护的SCOW部署和运维工具,能够帮助您快速部署、管理和维护SCOW集群。

-

参考scow-cli下载scow-cli,并将其存放到一个你用于存放SCOW配置文件的目录下。

-
# scow目录将会用于存在SCOW相关的配置文件
mkdir scow
cd scow

# 将下载的scow-cli移动到scow目录下
cp /path/to/scow-cli ./
chmod +x scow-cli
-

准备配置文件

-

运行以下命令生成示例配置文件:

-
# 生成安装配置文件./install.yaml和示例配置文件目录./config
./cli init
-

配置

-

根据以下顺序配置系统:

-
    -
  1. SCOW安装文件install.yaml(按照自己集群需求修改对应参数)
  2. -
  3. 编写集群信息配置文件
  4. -
  5. 配置认证系统
  6. -
  7. (可选)配置门户系统
  8. -
  9. (可选)配置管理系统
  10. -
  11. (可选)配置审计系统
  12. -
-

部署完成后,运行以下命令启动系统。

-
./cli compose up -d
-

当修改了配置文件后,运行以下命令重启系统

-
./cli compose restart
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/install/build-from-source.html b/pr-preview/pr-1298/docs/deploy/install/build-from-source.html deleted file mode 100644 index b9f68400be..0000000000 --- a/pr-preview/pr-1298/docs/deploy/install/build-from-source.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - -从源码构建 | SCOW - - - - - -

从源码构建

从源码构建

-

目前系统处于公开测试阶段,暂不提供构建好的镜像下载。本部分介绍如何从源码构建项目的镜像。

-
    -
  1. -

    在服务节点中安装以下软件:

    - -
  2. -
  3. -

    从仓库clone项目

    -
  4. -
-
git clone https://github.com/PKUHPC/SCOW --depth=1
-
    -
  1. 构建镜像
  2. -
-
# 构建tag为scow:latest的镜像。如果需要修改镜像的tag,请修改-t参数的值
docker build -f docker/Dockerfile.scow -t scow .
-
提示

为了简化构建镜像时所需要的环境和减少所需时间,使用此命令构建镜像时,docker将会自动使用运行此命令时的机器的架构编译镜像。例如如果您在AMD64架构的机器上编译,编译出来的镜像仅支持AMD64架构。

请查看多架构支持文档来了解系统对非AMD64架构(如ARM64)的机器的支持。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/install/multi-platform.html b/pr-preview/pr-1298/docs/deploy/install/multi-platform.html deleted file mode 100644 index 8a2f2d7b33..0000000000 --- a/pr-preview/pr-1298/docs/deploy/install/multi-platform.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - -多架构支持 | SCOW - - - - - -

多架构支持

-

SCOW系统支持以下运行环境的镜像。您只需在支持的机器上安装对应版本的docker,就可以拉取或者构建符合你当前机器架构的镜像。

-
    -
  • linux/amd64
  • -
  • linux/arm64
  • -
-

scow-cli

-

scow-cli同样支持上述运行环境。请在下载时选择您部署所在的机器的操作系统和架构下载。

-

编译支持多架构的镜像

-

直接运行docker build构建出来的镜像为只支持您编译时机器的架构的镜像。要想编译出同时支持以上所有架构的的镜像,请参考以下步骤:

-
    -
  1. 根据docker官方的Multi-platform images文档,创建并使用支持多平台编译的builder
  2. -
-
docker buildx create --name mybuilder --driver docker-container --bootstrap --use
-
    -
  1. 通过这个builder构建镜像
  2. -
-
# 
docker buildx build -f docker/Dockerfile.scow -t scow --platform=linux/arm64,linux/cmd64 .
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/install/scow-cli.html b/pr-preview/pr-1298/docs/deploy/install/scow-cli.html deleted file mode 100644 index 80a306591b..0000000000 --- a/pr-preview/pr-1298/docs/deploy/install/scow-cli.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - -scow-cli | SCOW - - - - - -

scow-cli是SCOW集群安装、配置和管理工具,您可以使用scow-cli高效管理您的集群。

-

下载

-

请通过以下方法下载scow-cli,并将下载的文件解压,将里面的可执行文件存放到您将会存放SCOW配置文件的目录下。

-
    -
  • GitHub Release: SCOW每次发布新的版本时,将会将此版本的scow-cli上传到Release中
  • -
-

想获取最新的scow-cli版本?您可以从GitHub Actions的Test, Build and Publish Projects workflow中下载到上传到Archive的scow-cli

-
    -
  • 参考命令
  • -
-
# 如果没有wget,可以先install
yum install wget

# 下载对应的release版本。修改latest、cli-x64可下载指定版本cli
# 修改latest为v0.4.0即可下载0.4.0版本的cli,如 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-x64
# 可修改cli-x64为cli-arm64下载arm64版本,如 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-arm64
wget https://github.com/PKUHPC/SCOW/releases/download/latest/cli-x64

# 重命名
mv cli-x64 cli

#修改文件权限
chmod +x cli
-

配置

-

scow-cli使用运行目录下的install.yaml作为配置来管理集群,但您可以通过-c命令行选项指定install.yaml的路径。

-

使用

-
# docker compose 操作
# 在compose后跟任意compose参数
# 注意:每次运行compose的操作时,cli将会在本目录下创建一个临时的docker-compose-{时间戳}.yml文件,运行结束后会删除此文件
# 以保证docker compose配置的内容为最新
# 启动集群
./cli compose up -d
# 关闭集群
./cli compose down
# 更新镜像
./cli compose pull

# 生成docker-compose.yml文件
./cli generate -o docker-compose.yml

# 进入数据库
./cli db

# 将最简版本的示例配置文件放到当前目录下
./cli init

# 将全版本的示例配置文件放到当前目录下
./cli init -f

# 查看当前使用install.yaml的内容
./cli view-install

# 检查./config目录下的SCOW配置文件的格式
./cli check-config
-

从scow-deployment迁移

-

从scow-deployment迁移到scow-cli是非常容易的。

-

首先,请先下载scow-cli到您的scow-deployment文件夹中,确保config.py存在于目录中,然后运行

-
./cli migrate
-

此命令将会读取当前目录中config.py中的配置,并生成对应的install.yaml

-

之后,您就可以使用scow-cli来管理您的集群了。

-

常见命令的对照

-
使用scow-deploymentscow-cli
启动系统./compose.sh up -d./cli compose up -d
停止系统./compose.sh down./cli compose down
跟随查看所有日志./compose.sh logs -f./cli compose logs -f
更新镜像./compose.sh pull./cli compose pull
进入数据库./db.sh./cli db
-

更新scow-cli

-

scow-cli可以自我更新。

-
# 更新到PR 535对应的最新的版本
./cli update --pr 535

# 将test分支的最新cli下载到./cli-test
./cli update --pr 535 -o ./cli-test

# 更新到test分支的最新cli版本
./cli update --branch test

# 更新至最新版本的scow-cli
./cli update

# 更新cli至v0.4.0版本
./cli update --release v0.4.0

# 下载v0.4.0版本的scow-cli并保存到./cli-test
./cli update --release v0.4.0 -o ./cli-test
-

使用--pr或者--branch选项需要您创建一个有workflow权限的GitHub Token ( https://github.com/settings/tokens/new ),并将这个token放到cli目录下的.env文件

-
.env
# .env
GITHUB_TOKEN={token}
-

代理

-

CLI需要访问网络的功能(例如更新scow-cli)可以设置HTTP代理。您可以通过设置HTTPS_PROXY, https_proxy, HTTP_PROXY, http_proxy环境变量来设置代理。如果多个环境变量同时存在,则使用优先级为上面列出来的顺序。

-
# 环境变量也可以写入.env中
export HTTPS_PROXY=http://localhost:1080
./cli update
-

打印调试日志

-
LOG_LEVEL="debug" ./cli
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/ops.html b/pr-preview/pr-1298/docs/deploy/ops.html deleted file mode 100644 index c77a2edf9c..0000000000 --- a/pr-preview/pr-1298/docs/deploy/ops.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - -运维 | SCOW - - - - - -

运维

-

本节介绍如何对系统进行的常见运维操作。

-

更新

-

SCOW通过容器镜像分发,版本号即SCOW镜像的tag名。

-

要更新SCOW,请修改install.yaml中的imageTag为您想更新到的版本(tag名),例如:

-
install.yaml
# 使用v0.4.0版本
imageTag: v0.4.0
-

修改完成后,运行以下命令更新容器镜像并重新系统。

-
./cli compose pull
./cli compose up -d
-

如果更新引入了破坏性的变更,请根据对应的更新说明,修改配置后在进行部署。

-

日志

-

查看日志

-

各个组件的日志直接写到stdout。可以使用常用的docker日志管理命令或者工具管理日志。如果使用的docker compose,可以使用./cli compose logs -f后面跟对应服务名称的方式查看服务的日志。

-
# 查看认证系统的日志
./cli compose logs -f auth

# 查看门户系统服务器端的日志
./cli compose logs -f portal-server

# 查看管理系统服务器端的日志
./cli compose logs -f mis-server
-

配置日志输出

-

您可以通过安装配置文件配置门户系统后端(portal-server)、管理系统后端(mis-server)和内置认证系统(auth)的日志输出选项。

-
install.yaml
log:
# LOG.LEVEL: 日志等级,可选trace, debug, info, warn, error。默认info
level: "info"

# LOG.PRETTY: 是否输出更适合直接读的log。如果为false,则输出json格式的日志。默认false
pretty: false
-

log.prettytrue时,输出日志格式如下:

-
[02:27:00.372] INFO (18): request completed
reqId: "req-3"
res: {
"statusCode": 200
}
responseTime: 0.3789879999967525
-

log.prettyfalse时,输出日志格式如下:

-
{"level":30,"time":1676429663943,"pid":18,"hostname":"d3fc2f53e863","reqId":"req-1","res":{"statusCode":200},"responseTime":4.37828900013119,"msg":"request completed"}
-

当您需要使用日志收集工具时,建议您使用JSON格式输出日志,然后使用日志分析工具来查看和分析收集到的日志。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips.html b/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips.html deleted file mode 100644 index 23da8e44e8..0000000000 --- a/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - -SCOW管理员使用技巧 | SCOW - - - - - -

SCOW管理员使用技巧

1. 系统报错:查看运行日志

-
提示

门户系统报错时,请查看portal-server(优先)和portal-web日志;管理系统报错时,请查看mis-server(优先)和mis-web日志。

-

1.1 查看日志

-

各组件的实时日志是输出在stdout,可以通过./cli compose logs -f 查看实时的日志输出:

-
# 查看所有组件的日志
./cli compose logs -f

# 查看认证系统的日志
./cli compose logs -f auth

# 查看门户系统服务器端的日志
./cli compose logs -f portal-server

# 查看管理系统服务器端的日志
./cli compose logs -f mis-server
-

若开启了日志收集工具fluentd(默认开启),可以查看各组件的历史日志,历史日志的默认路径在/var/log/fluentd/,各组件的日志按组件名称分文件夹存储,每个组件的日志按照大小和日期分文件存储。

-

各组件日志:

-

img

-

mis-web日志:

-

img

-

1.2 设置日志级别

-

SCOW日志输出支持日志等级设置,可选等级包括trace, debug, info, warn, error,默认等级为info,通过修改install.yamll日志配置部分来实现:

-
log:
# 可选trace, debug, info, warn, error, 默认info
level: "info"
-

2. 作业/交互式应用执行失败:查看输出文档

-

2.1 作业执行失败

-

作业执行完成时,在该作业的工作目录会生成两个标准输出文件:job.{job_id}.outjob.{job_id}.err

-

当作业执行失败(状态为FAILED)时,可以通过查看job.{job_id}.err 文件内容分析错误的原因:所有作业列表->该作业行->进入目录:

-

img

-

img

-

img

-

2.2 交互式应用执行失败

-

交互式应用分为web和vnc两类。

-

查看交互式应用执行的节点:

-
    -
  • web类应用:工作目录下的server_session_info.json文件中的HOST
  • -
  • vnc类应用:工作目录下的VNC_SESSION_INFO文件
  • -
-

查看交互式应用输出日志及报错:

-
    -
  • web类应用:工作目录下的slurm-{job_id}.out文件
  • -
  • vnc类应用:工作目录下的outputvnc.log文件
  • -
-

截图略。

-

3. 用户操作审计:查看操作日志

-

SCOW支持可插拔的审计日志功能,配置审计日志的步骤如下:

-
    -
  • (1) 在install.yaml中添加 -
      -
    • -
      # 可添加审计日志功能,并配置审计日志数据库密码
      audit:
      dbPassword: "must!chang3this"
      -
    • -
    -
  • -
  • (2) 添加审计日志配置文件,在./config目录下添加audit.yaml -
      -
    • -
      # 审计系统数据库的信息。可以不修改
      db:
      host: audit-db
      port: 3306
      user: root
      dbName: scow_audit
      -
    • -
    -
  • -
-

SCOW支持用户、账户、租户、平台级别操作日志查看:

-

imgimg

-

imgimg

-

4. 解决特定环境问题:模仿用户登录

-

为解决只在某个用户下出现的错误,管理员可以通过模仿该用户,以该用户的身份登录到SCOW重现问题。

-
    -
  • 内置认证系统:
  • -
-

config/auth.yml文件添加如下内容:

-
# 当登录用户的ID为fromUser1,实际上以toUser1登录
mockUsers:
fromUserId1: toUserId1
-
    -
  • IAAA认证系统:
  • -
-

config目录下创建pkuauth.yaml文件,内容如下:

-
mockUsers: 
fromUserId1: toUserId1
-

修改改配置文件后无需重启认证系统,只需要退出再重新登录一下即可。

-

5. 其他

-

5.1 用户从账户中移除失败

-

在SCOW中可能会出现某个用户从账户中移除失败(slurm集群中该用户已与该账户取消关联)。该情况需要在SCOW数据库中处理:

-
# 进入SCOW数据库
./cli db
use scow

# 通过用户名查找该用户的ID,注意user表中的user_id是指用户名,用户ID是表的id列
select * from user where user_id="{user}";

# 通过账户名查找该账户的ID
select * from account where account_name="{account}";

# 基于查找到的用户ID和账户ID,在用户账户关系表中。
# 注意user_account表中的user_id对应user表中的id,account_id对应account表中的id
select * from user_account where user_id={user.id} and account_id={account.id};

#确认无误之后删除该记录
delete from user_account where user_id={user.id} and account_id={account.id};
-

5.2 将用户添加到某个账户失败

-

在SCOW中可能会出现将一个用户添加到某个账户中失败的情况(slurm集群中已存在该用户与该账户的关联)。该情况需要在SCOW数据库中处理:

-
# 进入SCOW数据库、查找用户ID和账户ID请参考5.1小节
./cli db
use scow

# 将用户与账户关系记录插入
insert into user_account(user_id,account_id,status,role,used_job_charge,job_charge_limit) values({user.id} , {account.id}, "UNBLOCKED", "USER", NULL, NULL);
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster.html b/pr-preview/pr-1298/docs/hpccluster.html deleted file mode 100644 index 842dcf5ec6..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -slurm部署简介 | SCOW - - - - - -

slurm部署简介

本文档从部署规划开始,一步一步搭建slurm集群,安装共享存储、安装module、intel等工具软件。 -让我们从零开始

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/add-user.html b/pr-preview/pr-1298/docs/hpccluster/add-user.html deleted file mode 100644 index f11b7a5078..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/add-user.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -LDAP新建用户 | SCOW - - - - - -

LDAP新建用户

部署LDAP后台管理后,访问http://{LDAP服务节点ip}:8080/ ,登录DN: cn=Manager,ou=hpc,o=pku Password: LDAP服务端安装脚本adminPasswd的值。

-

1. 界面添加LDAP用户

-

部署LDAP后台管理后,访问http://{LDAP服务节点ip}:8080/ ,登录DN: cn=Manager,ou=hpc,o=pku Password: LDAP服务端安装脚本adminPasswd的值。

-

登录成功后,新建Group:

-

img

-

选择 generic:posix group

-

img

-

填写group名字

-

img

-

点击create,然后点击commit,创建成功。

-

点击people新建用户

-

img

-

选择generic:user account

-

img

-

填写fist name,last name,设置密码。

-

img

-

GID选择刚刚设置的组。

-

home directory需要设置为NFS的目录,按照教程的配置,应该为 /data/home/用户名

-

点击create,然后点击commit,创建成功。

-

系统初始化时,访问部署路径的mis/init路径下,将管理员设置为刚刚创建的用户。

-

img

-

以该身份登录管理系统,点击租户管理-用户管理-创建用户,可以创建别的用户。

-

img

-

点击租户管理-账户管理-创建账户,账户的拥有者ID选择刚刚在管理系统创建的新用户。

-

img

-

2. 命令添加LDAP用户

-
-

ldap服务节点操作

-
-
vim demo_admin.ldif
dn: uid=demo_admin,ou=People,ou=hpc,o=pku
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: demo_admin
sn: demo_admin
uidNumber: 65001
gidNumber: 65001
homeDirectory: /data/home/demo_admin
loginShell: /bin/bash
userPassword: {SSHA}emlfzzuvWxe54LgoP5uCO7S63vIfK7jY

dn: cn=demo_admin,ou=Group,ou=hpc,o=pku
objectClass: posixGroup
gidNumber: 65001
memberUid: demo_admin
# 添加
ldapadd -x -D cn=Manager,ou=hpc,o=pku -W -f demo_admin.ldif
#查找
ldapsearch -x -D cn=Manager,ou=hpc,o=pku -W "uid=demo_admin,ou=People,ou=hpc,o=pku"
# 删除
ldapdelete -x -D cn=Manager,ou=hpc,o=pku -W "uid=demo_admin,ou=People,ou=hpc,o=pku"
# 密码SSHA(可选择MD5等其他加密方式)加密
slappasswd -h {SSHA} -s "password"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/cluster-monitor.html b/pr-preview/pr-1298/docs/hpccluster/cluster-monitor.html deleted file mode 100644 index 8683e1d96c..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/cluster-monitor.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - -部署集群监控 | SCOW - - - - - -

部署集群监控

-

配置该功能可以让管理员在管理系统中查看集群资源信息和告警日志,需要配置 Prometheus、Grafana、Alertmanager、alertsnitch、MySQL 安装

-

集群资源信息 -集群资源信息

-

告警日志 -告警日志

-

一、环境准备

-

本监控方案通过 docker-compose 安装,需要安装 docker 和 docker-compose:

-
    -
  1. 安装 docker
  2. -
-
# 安装所需的包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

# 设置稳定存储库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

**# **安装Docker CE**
**yum install docker-ce -y

# 安装指定版本Docker CE
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-23.0.6 -y

**# **启动Docker CE并设置开机启动
systemctl start docker
systemctl enable docker

**# **验证Docker环境**
**docker run hello-world
-
    -
  1. 安装 docker-compose
  2. -
-
**# **下载安装**
**curl -L "https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
**# **赋权**
**chmod +x /usr/local/bin/docker-compose

**# **验证安装成功**
**docker-compose --version
-
    -
  1. 创建持久化配置目录
  2. -
-
# 创建存放配置的目录
mkdir -p /root/monitor
mkdir -p /root/monitor/alertmanager
mkdir -p /root/monitor/alertmanager/template
mkdir -p /root/monitor/grafana
mkdir -p /root/monitor/grafana/provisioning
mkdir -p /root/monitor/grafana/provisioning/dashboards
mkdir -p /root/monitor/grafana/provisioning/dashboards/tmp
mkdir -p /root/monitor/grafana/provisioning/datasources
mkdir -p /root/monitor/prometheus
mkdir -p /root/monitor/prometheus/rules
-

二、创建配置文件

-
备注

注意:配置文件中各主机名、主机 IP 以及集群信息按实际情况进行修改!

-

配置 Grafana

-

编辑 grafana 配置文件:/root/monitor/grafana/grafana.ini

-

此处需要修改 [server] 下的 root_url,将 your_scow_mis_path 修改为 scow 管理系统的路径

-

此处配置了 root_url 和 allow_embedding,将允许 grafana 通过 iframe 被嵌入。并通过 scow 代理,将请求转发到 grafana。

-
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
data = /var/lib/grafana
# folder that contains provisioning config files that grafana will apply on startup and while running.
provisioning = /etc/grafana/provisioning
[auth.anonymous]
# enable anonymous access
enabled = true
# specify role for unauthenticated users
org_role = Viewer
[server]
# Root URL for specifying the Grafana instance
# for example
# root_url=http://localhost:5003/api/admin/monitor/getResourceStatus
root_url=[your_scow_mis_path]/api/admin/monitor/getResourceStatus
[security]
# Allows embedding Grafana dashboards into iframes in other websites
allow_embedding = true
-

编辑 grafana 默认数据源

-

/root/monitor/grafana/provisioning/datasources/prometheus.yaml

-
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
orgId: 1
access: proxy
url: http://prometheus:9090
editable: true
isDefault: true
jsonData:
timeInterval: 5s
-

编辑 grafana Mysql 数据源

-

/root/monitor/grafana/provisioning/datasources/mysql.yaml

-
apiVersion: 1

datasources:
- name: AlarmDB-MySQL
type: mysql
url: alert-db:3306
user: alertsnitch
jsonData:
database: alertsnitch
maxOpenConns: 100 # Grafana v5.4+
maxIdleConns: 100 # Grafana v5.4+
maxIdleConnsAuto: true # Grafana v9.5.1+
connMaxLifetime: 14400 # Grafana v5.4+
secureJsonData:
password: alertsnitch
-

编辑 grafana 面板配置

-

/root/monitor/grafana/provisioning/dashboards/dashboard.yaml

-
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
updateIntervalSeconds: 10 #how often Grafana will scan for changed dashboards
options:
path: /etc/grafana/provisioning/dashboards/tmp
-

编辑 grafana 面板模板文件

-

/root/monitor/grafana/provisioning/dashboards/tmp/JobScheduler.json

-
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"datasource": {
"type": "prometheus"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"targets": [
{
"datasource": {
"type": "prometheus"
},
"refId": "A"
}
],
"title": "CPU Cores",
"type": "row"
},
{
"datasource": {
"type": "prometheus"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [
"mean",
"lastNotNull",
"max",
"min"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.2.2",
"repeat": "partition",
"targets": [
{
"datasource": {
"type": "prometheus"
},
"editorMode": "code",
"expr": "slurm_partition_cpus_idle{clustername=\"$cluster\", partition=\"$partition\"}",
"interval": "",
"legendFormat": "available",
"range": true,
"refId": "A"
},
{
"datasource": {
"type": "prometheus"
},
"editorMode": "code",
"expr": "slurm_partition_cpus_allocated{clustername=\"$cluster\", partition=\"$partition\"}",
"interval": "",
"legendFormat": "allocated",
"range": true,
"refId": "B"
},
{
"datasource": {
"type": "prometheus"
},
"editorMode": "code",
"expr": "slurm_partition_cpus_other{clustername=\"$cluster\", partition=\"$partition\"}",
"interval": "",
"legendFormat": "unavailable",
"range": true,
"refId": "C"
}
],
"title": "${partition}",
"type": "timeseries"
},
{
"collapsed": true,
"datasource": {
"type": "prometheus"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 10
},
"id": 8,
"panels": [],
"targets": [
{
"datasource": {
"type": "prometheus"
},
"refId": "A"
}
],
"title": "Job Count",
"type": "row"
},
{
"datasource": {
"type": "prometheus"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 12,
"w": 8,
"x": 0,
"y": 11
},
"id": 12,
"options": {
"legend": {
"calcs": [
"mean",
"lastNotNull",
"max",
"min"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.2.2",
"repeat": "partition",
"targets": [
{
"datasource": {
"type": "prometheus"
},
"editorMode": "code",
"expr": "slurm_partition_jobs_running{clustername=\"$cluster\", partition=\"$partition\"}",
"interval": "",
"legendFormat": "RUNNING",
"range": true,
"refId": "A"
},
{
"datasource": {
"type": "prometheus"
},
"editorMode": "code",
"expr": "slurm_partition_jobs_pending{clustername=\"$cluster\", partition=\"$partition\"}",
"interval": "",
"legendFormat": "PENDING",
"range": true,
"refId": "B"
},
{
"datasource": {
"type": "prometheus"
},
"editorMode": "code",
"expr": "slurm_partition_jobs_suspended{clustername=\"$cluster\", partition=\"$partition\"}",
"interval": "",
"legendFormat": "SUSPENDED",
"range": true,
"refId": "C"
},
{
"datasource": {
"type": "prometheus"
},
"editorMode": "code",
"expr": "slurm_partition_jobs_completing{clustername=\"$cluster\", partition=\"$partition\"}",
"interval": "",
"legendFormat": "COMPLETING",
"range": true,
"refId": "D"
}
],
"title": "$partition",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 38,
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "hpc01",
"value": "hpc01"
},
"datasource": {
"type": "prometheus"
},
"definition": "label_values(clustername)",
"hide": 0,
"includeAll": false,
"label": "集群",
"multi": false,
"name": "cluster",
"options": [],
"query": "label_values(clustername)",
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"datasource": {
"type": "prometheus"
},
"definition": "label_values(slurm_partition_cpus_total{clustername=\"$cluster\"}, partition)",
"hide": 0,
"includeAll": true,
"label": "分区",
"multi": true,
"name": "partition",
"options": [],
"query": "label_values(slurm_partition_cpus_total{clustername=\"$cluster\"}, partition)",
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-24h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "Job Scheduler",
"uid": "shZOtO4Sk",
"version": 1,
"weekStart": ""
}
-

配置 Prometheus

-

配置 Prometheus 配置文件

-

/root/monitor/prometheus/prometheus.yml

-

注意:scrape_configs 下 slurm_exporter 中 slurmctlIP 需要替换成 slurm 管理节点实际的 IP 地址

-

如果有多个 slurm 管理节点则在 scrape_configs 下 slurm_exporter 中的 static_configs 里面配置更多。

-
global:
scrape_interval: 60s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 60s # Evaluate rules every 15 seconds. The default is every 1 minute.

# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets: ["alertmanager:9093"]

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
- "rules/rules.yml"

scrape_configs:
- job_name: 'slurm_exporter'
scrape_interval: 30s
scrape_timeout: 30s
static_configs:
- targets: ['[slurmctlIP]:9341']
labels:
appname: 'hpc01' #添加的标签
clustername: 'hpc01' #添加的标签
- job_name: 'prometheus'
static_configs:
- targets: [ 'prometheus:9090']
labels:
appname: 'prometheus'
-

配置 Prometheus 告警规则

-

/root/monitor/prometheus/rules/rules.yml

-
# slurmAlert
groups:
- name: slurmAlert
rules:
- alert: SlurmPartitionCPUUsage
expr: (slurm_partition_cpus_total - slurm_partition_cpus_idle)/slurm_partition_cpus_total > 0.80
for: 1m
labels:
severity: "Warning"
annotations:
summary: "SLURM partition CPU usgae high"
description: "{{ $labels.clustername }} partition: {{ $labels.partition }} - CPU usage above 80% (current value: {{ $value }})"
- alert: SlurmPendingJob
expr: slurm_partition_jobs_pending >= 5
for: 1m
labels:
severity: "Warning"
annotations:
summary: "Too many jobs queued"
description: "{{ $labels.clustername }} partition: {{ $labels.partition }} - Too many jobs queued (current value: {{ $value }})"
-

配置 Alertmanager

-

配置 Alertmanager 配置文件

-

/root/monitor/alertmanager/alertmanager.yml

-
global:
smtp_smarthost: 'smtp.163.com:25'
smtp_from: 'xxxxxxx@163.com'
smtp_auth_username: 'xxxxxxx@163.com'
smtp_auth_password: 'XXXXXXXXXXXXXXXX'
smtp_require_tls: false

templates:
- '/etc/alertmanager/template/*.tmpl'

route:
group_by: ['alertname','cluster','service']
group_wait: 30s
group_interval: 10s
repeat_interval: 10m
receiver: 'default-receiver'
routes:
- receiver: 'alertsnitch'
continue: true

receivers:
- name: 'default-receiver'
email_configs:
- to: 'xxxxxxx@qq.com'
html: '{{ template "email.default.html" . }}'
headers: { Subject: "Prometheus 告警测试邮件" }
- name: 'alertsnitch'
webhook_configs:
- send_resolved: true
http_config:
follow_redirects: true
url: http://alertsnitch:9567/webhook
-

配置 Alertmanager 告警模板

-

/root/monitor/alertmanager/template/default.tmpl

-
{{ define "__alertmanager" }}Alertmanager{{ end }}
{{ define "__alertmanagerURL" }}{{ .ExternalURL }}/#/alerts?receiver={{ .Receiver | urlquery }}{{ end }}

{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
{{ define "__description" }}{{ end }}

{{ define "__text_alert_list" }}{{ range . }}Labels:
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}Annotations:
{{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}Source: {{ .GeneratorURL }}
{{ end }}{{ end }}

{{ define "__text_alert_list_markdown" }}{{ range . }}
Labels:
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}
Annotations:
{{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}
Source: {{ .GeneratorURL }}
{{ end }}
{{ end }}

{{ define "slack.default.title" }}{{ template "__subject" . }}{{ end }}
{{ define "slack.default.username" }}{{ template "__alertmanager" . }}{{ end }}
{{ define "slack.default.fallback" }}{{ template "slack.default.title" . }} | {{ template "slack.default.titlelink" . }}{{ end }}
{{ define "slack.default.callbackid" }}{{ end }}
{{ define "slack.default.pretext" }}{{ end }}
{{ define "slack.default.titlelink" }}{{ template "__alertmanagerURL" . }}{{ end }}
{{ define "slack.default.iconemoji" }}{{ end }}
{{ define "slack.default.iconurl" }}{{ end }}
{{ define "slack.default.text" }}{{ end }}
{{ define "slack.default.footer" }}{{ end }}


{{ define "pagerduty.default.description" }}{{ template "__subject" . }}{{ end }}
{{ define "pagerduty.default.client" }}{{ template "__alertmanager" . }}{{ end }}
{{ define "pagerduty.default.clientURL" }}{{ template "__alertmanagerURL" . }}{{ end }}
{{ define "pagerduty.default.instances" }}{{ template "__text_alert_list" . }}{{ end }}


{{ define "opsgenie.default.message" }}{{ template "__subject" . }}{{ end }}
{{ define "opsgenie.default.description" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}
{{ if gt (len .Alerts.Firing) 0 -}}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{- end }}
{{ if gt (len .Alerts.Resolved) 0 -}}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{- end }}
{{- end }}
{{ define "opsgenie.default.source" }}{{ template "__alertmanagerURL" . }}{{ end }}


{{ define "wechat.default.message" }}{{ template "__subject" . }}
{{ .CommonAnnotations.SortedPairs.Values | join " " }}
{{ if gt (len .Alerts.Firing) 0 -}}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{- end }}
{{ if gt (len .Alerts.Resolved) 0 -}}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{- end }}
AlertmanagerUrl:
{{ template "__alertmanagerURL" . }}
{{- end }}
{{ define "wechat.default.to_user" }}{{ end }}
{{ define "wechat.default.to_party" }}{{ end }}
{{ define "wechat.default.to_tag" }}{{ end }}
{{ define "wechat.default.agent_id" }}{{ end }}



{{ define "victorops.default.state_message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}
{{ if gt (len .Alerts.Firing) 0 -}}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{- end }}
{{ if gt (len .Alerts.Resolved) 0 -}}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{- end }}
{{- end }}
{{ define "victorops.default.entity_display_name" }}{{ template "__subject" . }}{{ end }}
{{ define "victorops.default.monitoring_tool" }}{{ template "__alertmanager" . }}{{ end }}

{{ define "pushover.default.title" }}{{ template "__subject" . }}{{ end }}
{{ define "pushover.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}
{{ if gt (len .Alerts.Firing) 0 }}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{ end }}
{{ end }}
{{ define "pushover.default.url" }}{{ template "__alertmanagerURL" . }}{{ end }}

{{ define "sns.default.subject" }}{{ template "__subject" . }}{{ end }}
{{ define "sns.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}
{{ if gt (len .Alerts.Firing) 0 }}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{ end }}
{{ end }}

{{ define "telegram.default.message" }}
{{ if gt (len .Alerts.Firing) 0 }}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{ end }}
{{ end }}

{{ define "discord.default.title" }}{{ template "__subject" . }}{{ end }}
{{ define "discord.default.message" }}
{{ if gt (len .Alerts.Firing) 0 }}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{ end }}
{{ end }}

{{ define "webex.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}
{{ if gt (len .Alerts.Firing) 0 }}
Alerts Firing:
{{ template "__text_alert_list" .Alerts.Firing }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
Alerts Resolved:
{{ template "__text_alert_list" .Alerts.Resolved }}
{{ end }}
{{ end }}

{{ define "msteams.default.title" }}{{ template "__subject" . }}{{ end }}
{{ define "msteams.default.text" }}
{{ if gt (len .Alerts.Firing) 0 }}
# Alerts Firing:
{{ template "__text_alert_list_markdown" .Alerts.Firing }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
# Alerts Resolved:
{{ template "__text_alert_list_markdown" .Alerts.Resolved }}
{{ end }}
{{ end }}
-

三、启动服务

-

编辑集群监控的 docker compose 配置文件

-

/root/monitor/monitor.yaml

-

如果需要修改 alert-db 密码,则在对应容器配置下修改即可。如果修改 mysql 用户 alertsnitch 的密码,需要在配置 grafana 的 mysql 数据源处同步修改密码

-
version: "3.1"
services:
grafana:
container_name: grafana
image: grafana/grafana:10.2.2
user: root
ports:
- "4000:3000"
volumes:
- /root/monitor/grafana:/etc/grafana
- grafana_data:/var/lib/grafana
restart: unless-stopped
prometheus:
container_name: prometheus
image: prom/prometheus
user: root
ports:
- "9090:9090"
volumes:
- /root/monitor/prometheus:/etc/prometheus
- prometheus_data:/prometheus
restart: unless-stopped
alertmanager:
container_name: alertmanager
image: prom/alertmanager
user: root
ports:
- 9093:9093
volumes:
- /root/monitor/alertmanager:/etc/alertmanager
- alertmanager_data:/alertmanager
command:
- "--config.file=/etc/alertmanager/alertmanager.yml"
- "--storage.path=/alertmanager"
restart: unless-stopped
alert-db:
container_name: alert-db
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: alertsnitch
MYSQL_USER: "alertsnitch"
MYSQL_PASSWORD: "alertsnitch"
MYSQL_ROOT_PASSWORD: "root"
volumes:
- alert_db_data:/var/lib/mysql
restart: unless-stopped
alertsnitch:
container_name: alertsnitch
image: registry.gitlab.com/yakshaving.art/alertsnitch
ports:
- 9567:9567
environment:
ALERTSNITCH_BACKEND: "mysql"
ALERTSNITCH_DSN: "alertsnitch:alertsnitch@tcp(alert-db)/alertsnitch"
restart: unless-stopped
depends_on:
- alert-db
volumes:
prometheus_data: {}
grafana_data: {}
alertmanager_data: {}
alert_db_data: {}
-

启动集群监控服务相关容器

-

启动后 alertsnitch 容器会不断重启,需要完成初始化 alert-db 步骤后再重启整个集群监控服务

-
cd /root/monitor
docker-compose -f monitor.yaml up -d
-

初始化 alert-db

-

编辑 /root/monitor/bootstrap.sql

-
DROP PROCEDURE IF EXISTS bootstrap;

DELIMITER //
CREATE PROCEDURE bootstrap()
BEGIN
SET @exists := (SELECT 1 FROM information_schema.tables I WHERE I.table_name = "Model" AND I.table_schema = database());
IF @exists IS NULL THEN

CREATE TABLE `Model` (
`ID` enum('1') NOT NULL,
`version` VARCHAR(20) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `Model` (`version`) VALUES ("0.0.1");

ELSE
SIGNAL SQLSTATE '42000' SET MESSAGE_TEXT='Model Table Exists, quitting...';
END IF;
END;
//
DELIMITER ;

-- Execute the procedure
CALL bootstrap();

-- Drop the procedure
DROP PROCEDURE bootstrap;

-- Create the rest of the tables
CREATE TABLE `AlertGroup` (
`ID` INT NOT NULL AUTO_INCREMENT,
`time` TIMESTAMP NOT NULL,
`receiver` VARCHAR(100) NOT NULL,
`status` VARCHAR(50) NOT NULL,
`externalURL` TEXT NOT NULL,
`groupKey` VARCHAR(255) NOT NULL,
KEY `idx_time` (`time`) USING BTREE,
KEY `idx_status_ts` (`status`, `time`) USING BTREE,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `GroupLabel` (
`ID` INT NOT NULL AUTO_INCREMENT,
`AlertGroupID` INT NOT NULL,
`GroupLabel` VARCHAR(100) NOT NULL,
`Value` VARCHAR(1000) NOT NULL,
FOREIGN KEY (AlertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `CommonLabel` (
`ID` INT NOT NULL AUTO_INCREMENT,
`AlertGroupID` INT NOT NULL,
`Label` VARCHAR(100) NOT NULL,
`Value` VARCHAR(1000) NOT NULL,
FOREIGN KEY (AlertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `CommonAnnotation` (
`ID` INT NOT NULL AUTO_INCREMENT,
`AlertGroupID` INT NOT NULL,
`Annotation` VARCHAR(100) NOT NULL,
`Value` VARCHAR(1000) NOT NULL,
FOREIGN KEY (AlertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `Alert` (
`ID` INT NOT NULL AUTO_INCREMENT,
`alertGroupID` INT NOT NULL,
`status` VARCHAR(50) NOT NULL,
`startsAt` DATETIME NOT NULL,
`endsAt` DATETIME DEFAULT NULL,
`generatorURL` TEXT NOT NULL,
FOREIGN KEY (alertGroupID) REFERENCES AlertGroup (ID) ON DELETE CASCADE,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `AlertLabel` (
`ID` INT NOT NULL AUTO_INCREMENT,
`AlertID` INT NOT NULL,
`Label` VARCHAR(100) NOT NULL,
`Value` VARCHAR(1000) NOT NULL,
FOREIGN KEY (AlertID) REFERENCES Alert (ID) ON DELETE CASCADE,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `AlertAnnotation` (
`ID` INT NOT NULL AUTO_INCREMENT,
`AlertID` INT NOT NULL,
`Annotation` VARCHAR(100) NOT NULL,
`Value` VARCHAR(1000) NOT NULL,
FOREIGN KEY (AlertID) REFERENCES Alert (ID) ON DELETE CASCADE,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-

编辑 /root/monitor/fingerprint.sql

-
# db.d/mysql/0.1.0-fingerprint.sql
ALTER TABLE Alert
ADD `fingerprint` TEXT NOT NULL;

UPDATE `Model` SET `version`="0.1.0";
-

初始化

-
# 将上两步的 sql 文件分别拷贝到 alert-db 容器
# container_id 通过查询 alert-db 容器 id 获取
docker cp /root/monitor/bootstrap.sql container_id:/root
docker cp /root/monitor/fingerprint.sql container_id:/root

# 进入容器
docker exec -it container_id /bin/sh

# 进入容器后
cd /root
# 使用root登录数据库,密码是root
mysql -uroot -p

切到alertsnitch数据库
use alertsnitch

执行sql文件
source bootstrap.sql
source fingerprint.sql
-

重启集群监控服务

-

退出 alert-db 容器,然后重启服务

-
docker-compose -f monitor.yaml restart
# 检查服务是否启动成功
docker ps
-

四、启动 exporter 服务

-

以下操作均在 slurm 管理节点上进行

-

安装 golang

-
# 下载go语言安装包,安装gocd download/
wget https://golang.google.cn/dl/go1.19.7.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.19.7.linux-amd64.tar.gz

# 在/etc/profile中设置环境变量
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export PATH=$PATH:/$GOROOT/bin:$GOPATH/bin

# source环境变量
source /etc/profile

# 验证
go version

# 设置代理
go env -w GOPROXY=https://goproxy.cn,direct

# 开启go mod管理
go env -w GO111MODULE=on
-

编译安装 exporter

-
# 下载代码
git clone https://github.com/PKUHPC/prometheus-slurm-exporter.git
cd prometheus-slurm-exporter
// 编译
make
# 安装
cp bin/prometheus-slurm-exporter /usr/bin/prometheus-slurm-exporter
cp lib/systemd/prometheus-slurm-exporter.service /usr/lib/systemd/system
# 启动exporter服务
systemctl start prometheus-slurm-exporter.service
# 查看服务状态
systemctl status prometheus-slurm-exporter.service
# 启用开机启动exporter服务
systemctl enable prometheus-slurm-exporter.service
-

五、SCOW 配置开启集群监控功能

-

mis.yaml 文件中增加如下配置。

-
# 集群监控配置
clusterMonitor:
# 协议 + ip/域名 + 端口,默认为 http://127.0.0.1:4000
grafanaUrl: "[your-grafana-url]"
# 资源状态相关配置
resourceStatus:
# 是否开启资源状态,默认不开启
enabled: true
# 是否使用代理的方式
proxy: true
# 默认面板 id,默认设置为 shZOtO4Sk
dashboardUid: "shZOtO4Sk"
# 告警日志配置
alarmLogs:
# 是否开启告警日志,默认不开启
enabled: true
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf.html b/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf.html deleted file mode 100644 index 8212b09471..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -slurm.conf 配置 | SCOW - - - - - -

slurm.conf 配置

#
# slurm.conf file. Please run configurator.html
# (in doc/html) to build a configuration file customized
# for your environment.
#
#
# slurm.conf file generated by configurator.html.
# Put this file on all nodes of your cluster.
# See the slurm.conf man page for more information.
#
################################################
# CONTROL #
################################################
ClusterName=cluster #集群名称
SlurmctldHost=manage01 #管理服务节点名称
SlurmctldPort=6817 #slurmctld服务端口
SlurmdPort=6818 #slurmd服务的端口
SlurmUser=slurm #slurm的主用户
#SlurmdUser=root #slurmd服务的启动用户

################################################
# LOGGING & OTHER PATHS #
################################################
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurm/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurm/slurmd.log
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmdPidFile=/var/run/slurmd.pid
SlurmdSpoolDir=/var/spool/slurmd
StateSaveLocation=/var/spool/slurmctld

################################################
# ACCOUNTING #
################################################
AccountingStorageEnforce=associations,limits,qos #account存储数据的配置选项
AccountingStorageHost=manage01 #数据库存储节点
AccountingStoragePass=/var/run/munge/munge.socket.2 #munge认证文件,与slurmdbd.conf文件中的AuthInfo文件同名。
AccountingStoragePort=6819 #slurmd服务监听端口,默认为6819
AccountingStorageType=accounting_storage/slurmdbd #数据库记账服务

################################################
# JOBS #
################################################
JobCompHost=localhost #作业完成信息的数据库本节点
JobCompLoc=slurm_acct_db #数据库名称
JobCompPass=123456 #slurm用户数据库密码
JobCompPort=3306 #数据库端口
JobCompType=jobcomp/mysql #作业完成信息数据存储类型,采用mysql数据库
JobCompUser=slurm #作业完成信息数据库用户名
JobContainerType=job_container/none
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/linux

################################################
# SCHEDULING & ALLOCATION #
################################################
SchedulerType=sched/backfill
SelectType=select/cons_tres
SelectTypeParameters=CR_Core

################################################
# TIMERS #
################################################
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0

################################################
# OTHER #
################################################
MpiDefault=none
ProctrackType=proctrack/cgroup
ReturnToService=1
SwitchType=switch/none
TaskPlugin=task/affinity

################################################
# NODES #
################################################
NodeName=manage01 NodeAddr=192.168.29.106 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN
NodeName=login01 NodeAddr=192.168.29.101 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN
NodeName=compute0[1-2] NodeAddr=192.168.29.10[2-3] CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN

################################################
# PARTITIONS #
################################################
PartitionName=compute Nodes=compute0[1-2] Default=YES MaxTime=INFINITE State=UP
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf.html b/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf.html deleted file mode 100644 index e076079d22..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -slurmdbd.conf 配置 | SCOW - - - - - -

slurmdbd.conf 配置

#
# slurmdbd.conf file.
#
# See the slurmdbd.conf man page for more information.
#
# Authentication info
AuthType=auth/munge #认证方式,该处采用munge进行认证
AuthInfo=/var/run/munge/munge.socket.2 #为了与slurmctld控制节点通信的其它认证信息
#
# slurmDBD info
DbdAddr=localhost #数据库节点名
DbdHost=localhost #数据库IP地址
SlurmUser=slurm #用户数据库操作的用户
DebugLevel=verbose #调试信息级别,quiet:无调试信息;fatal:仅严重错误信息;error:仅错误信息; info:错误与通常信息;verbose:错误和详细信息;debug:错误、详细和调试信息;debug2:错误、详细和更多调试信息;debug3:错误、详细和甚至更多调试信息;debug4:错误、详细和甚至更多调试信息;debug5:错误、详细和甚至更多调试信息。debug数字越大,信息越详细
LogFile=/var/log/slurm/slurmdbd.log #slurmdbd守护进程日志文件绝对路径
PidFile=/var/run/slurmdbd.pid #slurmdbd守护进程存储进程号文件绝对路径
#
# Database info
StorageType=accounting_storage/mysql #数据存储类型
StoragePass=123456 #存储数据库密码
StorageUser=slurm #存储数据库用户名
StorageLoc=slurm_acct_db #数据库名称
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/intel.html b/pr-preview/pr-1298/docs/hpccluster/intel.html deleted file mode 100644 index 4cea100ef3..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/intel.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - -intel编译器安装 | SCOW - - - - - -

intel编译器安装

新版intel编译器不再是parallel_studio_xe_xxx_update4_cluster_edition,而改名为oneAPI。

-

intel编译器安装包下载链接

-

1. 获取安装包

-

本文档以Base Toolkit和HPC Toolkit为例。打开下载的地址:

-

img

-

以下载Base Toolkit为例,进入页面:

-

img

-

点击Download,选择如下信息:

-

img

-

在此页面不要点Download(它会让你注册账号),直接复制红框里的地址,在linux系统中直接wget,或者去掉前边wget,放在迅雷里下载即可(安装包比较大,3G多)。

-

同理,自行下载HPC的安装包。

-

2. 安装

-

以Base为例,创建安装目录:

-
提示

注意事项:

    -
  1. 为保证集群所有计算节点可用,安装在NFS共享存储文件目录下;
  2. -
  3. 安装需要大概30G左右空间,请确保此目录空间充足。
  4. -
-
mkdir -p /data/software/intel/oneapi
-

执行安装脚本:

-
sh l_BaseKit_p_2022.2.0.262_offline.sh
-

出现如下界面,选择自定义安装:

-

img

-

选择安装的包,下一步:

-

img

-

自定义安装目录,修改为之前准备好的目录:

-
提示

小提示:需要同时按下Ctrl+Backspace 才能删除原路径

-

img

-

开始安装:

-

img

-

等待安装完成即可。

-
提示

HPC(包含ifort, icc, mpiifort等编译器)等其他工具包安装方法类似。

-

3. 添加环境变量

-
source /data/software/intel/oneapi/setvars.sh
-

4. Linkpack测试

-
# 设置环境变量
source /data/software/intel/oneapi/mpi/2021.6.0/env/vars.sh

# 生成xhpl
cd /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack
./build.sh

# 执行计算
mpirun -n 36 ./xhpl

# 多节点
mpirun -hosts cn1,cn2,cn3,cn4 -np 36 -ppn 4 /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack/xhpl
-

img

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/module.html b/pr-preview/pr-1298/docs/hpccluster/module.html deleted file mode 100644 index 59c813610b..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/module.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - -module安装 | SCOW - - - - - -

module安装

module是给集群所有节点使用,安装在nfs共享存储目录上。创建module安装目录:

-
mkdir /data/software/module
-

1. tcl安装

-

module工具,依赖tcl工具,因此首先要安装tcl工具。

-

创建工具目录:

-
mkdir -p /data/software/module/tools/tcl
-

下载、编译、安装:

-
# 下载
wget https://cfhcable.dl.sourceforge.net/project/tcl/Tcl/8.5.9/tcl8.5.9-src.tar.gz

# 解压
tar -zxvf tcl8.5.9-src.tar.gz
cd tcl8.5.9/unix

# 编译 & 安装,注意修改此处目录
./configure --prefix=/data/software/module/tools/tcl
make
make install
-

2. module安装

-

创建工具目录:

-
mkdir -p /data/software/module/tools/modules
-

下载、编译、安装:

-
# 下载,此处可能需要科学上网
wget https://newcontinuum.dl.sourceforge.net/project/modules/Modules/modules-4.2.4/modules-4.2.4.tar.gz

#解压
tar -zxvf modules-4.2.4.tar.gz
cd modules-4.2.4

# 编译 & 安装,注意修改路径
./configure --prefix=/data/software/module/tools/modules --with-tcl-lib=/data/software/module/tools/tcl/lib --with-tcl-inc=/data/software/module/tools/tcl/include
make
make install
-

3. 配置

-

安装完成之后,在/data/software/module/tools/modules目录下,就有module工具了。不过在/usr/bin目录下,是没有module这个命令的。

-

配置环境变量:

-
 source /data/software/module/tools/modules/init/profile.sh
-

接下来就可以使用module命令了:

-

img

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/mount-disk.html b/pr-preview/pr-1298/docs/hpccluster/mount-disk.html deleted file mode 100644 index da661cccf9..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/mount-disk.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - -数据盘挂载 | SCOW - - - - - -

数据盘挂载

-

假设待挂载盘符为/dev/sdb,挂载目录为/data

-
-

查看准备的磁盘:

-
fdisk -l
-

img

-

创建磁盘分区:

-

fdisk /dev/sdb ,依次输入:n, p, 1, 两次回车, wq

-

img

-

格式化磁盘:

-

mkfs.ext4 /dev/sdb,输入:y

-

img

-

挂载磁盘:

-
# 1. 建立挂载目录
mkdir -p /data

# 2. 挂载硬盘
mount /dev/sdb /data

# 3. 设置开机自动挂载
vim /etc/fstab
# 在文档末尾添加
/dev/sdb /data ext4 defaults 0 0

# 4. 重启生效
reboot
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/nfs.html b/pr-preview/pr-1298/docs/hpccluster/nfs.html deleted file mode 100644 index 67fe62379c..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/nfs.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -NFS安装和配置 | SCOW - - - - - -

NFS安装和配置

本方案以NFS作为共享存储。

-

1. 安装NFS服务端

-

选择一台机器作为NFS的服务端,例如选择服务节点manage01,IP为192.168.29.106

-

安装NFS、RPC服务

-
yum install -y nfs-utils rpcbind
-

创建共享目录

-
# 此处需要执行权限
mkdir /data
chmod 755 /data
-
提示

若需单独挂载一个磁盘作为共享目录,可参考该链接数据盘挂载

-

修改配置文件vim /etc/exports,添加如下内容

-
/data *(rw,sync,insecure,no_subtree_check,no_root_squash)
-

启动RPC,NFS服务

-
systemctl start rpcbind 
systemctl start nfs-server

systemctl enable rpcbind
systemctl enable nfs-server
-

查看服务端是否正常加载配置文件

-
showmount -e localhost

# 有如下输出
Export list for localhost:
/data *
-

2. 客户端搭建

-

需要使用共享存储的节点包括所有的登录节点和计算节点

-
提示

以下操作在所有登录节点和计算节点上执行

-

安装NFS客户端nfs-utils

-
yum install nfs-utils -y
-

查看服务端可共享的目录

-
# 192.168.29.106为NFS服务端IP
showmount -e 192.168.29.106

# 有如下输出
Export list for 192.168.29.106:
/data *
-

挂载服务端共享目录

-
# 创建目录
mkdir /data
#将共享存储/data 挂载至192.168.29.106服务器的/data目录下
mount 192.168.29.106:/data /data -o proto=tcp -o nolock

# 设置开机自动挂载
vim /etc/fstab
# 在文档末尾添加
192.168.29.106:/data /data nfs rw,auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
-

查看挂载

-
df -h |grep data

# 有如下输出
192.168.29.106:/data 79G 56M 75G 1% /data
-

3. 使用

-

测试

-
# 例如在NFS服务端节点(其他节点也可以)写入一个测试文件
echo "hello nfs server" > /data/test.txt

cat /data/test.txt
# 在服务端节点或客户端节点均可以查看以下内容
hello nfs server
-

创建目录

-
# 创建home目录作为用户家目录的集合,可自定义
mkdir /data/home

# 创建software目录作为交互式应用的安装目录
mkdir /data/software
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/hpccluster/plan.html b/pr-preview/pr-1298/docs/hpccluster/plan.html deleted file mode 100644 index 6f0d8efe96..0000000000 --- a/pr-preview/pr-1298/docs/hpccluster/plan.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -集群规划 | SCOW - - - - - -

集群规划

本次部署以1个服务节点、1个登录节点、2个计算节点为例,集群节规划如下:

-
主机名IP角色配置
manage01192.168.29.106服务节点2C4G
login01192.168.29.101登录节点2C4G
compute01192.168.29.102计算节点2C4G
compute02192.168.29.103计算节点2C4G
-

主要工具版本信息:

-
信息备注
系统版本CentOS 7.9
docker版本19.03.12
slurm22.05.3
docker-compose版本2.7.0
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info.html b/pr-preview/pr-1298/docs/info.html deleted file mode 100644 index e3766d4122..0000000000 --- a/pr-preview/pr-1298/docs/info.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - -平台简介 | SCOW - - - - - -

平台简介

-

SCOW是一个面向用户和运维人员的超算门户与管理系统。

-

超算门户使超算用户无需安装任何软件,只使用一个现代浏览器即可有效使用超算资源完成计算任务。

-

超算管理系统面向运维工作者,协助运营人员建立成熟的超算运营机制,管理超算的人员、费用等信息,帮助超算的运营工作。

-

功能和特点

-
    -
  • 门户功能 -
      -
    • 终端(Shell)
    • -
    • 任务管理、提交
    • -
    • 文件管理
    • -
    • 远程桌面,GUI程序
    • -
    -
  • -
  • 管理系统功能 -
      -
    • 用户账户管理
    • -
    • 计算资源计费收费(作业)
    • -
    • 账户、用户限额
    • -
    -
  • -
  • 支持多集群
  • -
  • 现代化的UI,优秀的用户体验
  • -
  • 采用现代技术栈和部署方案,方便部署、维护、自定义和扩展
  • -
-

体验环境

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info/ai.html b/pr-preview/pr-1298/docs/info/ai.html deleted file mode 100644 index f4795e2d85..0000000000 --- a/pr-preview/pr-1298/docs/info/ai.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - -AI 系统简介(Beta) | SCOW - - - - - -

AI 系统简介(Beta)

-

AI 系统能让您通过 Web 界面管理您在 AI 训练中的数据集、算法、模型,并通过镜像的方式来进行您的 AI 训练任务。

-

当前 AI 系统仍处于 Beta 版本,使用时如有任何疑问或建议,欢迎在 Github Issue 中反馈。

-

功能和特点

-
    -
  • 数据集 -
      -
    • 个人数据集版本管理
    • -
    • 公共数据集分享与使用
    • -
    -
  • -
  • 镜像 -
      -
    • 生成训练环境镜像
    • -
    • 分享和使用公共镜像
    • -
    -
  • -
  • 算法 -
      -
    • 个人算法版本管理
    • -
    • 公共算法分享与使用
    • -
    -
  • -
  • 作业 -
      -
    • 使用数据集、算法和镜像来快速进行作业训练
    • -
    • 作业管理
    • -
    -
  • -
  • 模型 -
      -
    • 个人模型版本管理
    • -
    • 公共模型分享与使用
    • -
    -
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info/mis.html b/pr-preview/pr-1298/docs/info/mis.html deleted file mode 100644 index c5743bc1f1..0000000000 --- a/pr-preview/pr-1298/docs/info/mis.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -管理系统简介 | SCOW - - - - - -

管理系统简介

-

管理系统提供高性能计算集群常见的管理功能。

-

业务模型

-

在部署之前,请参考业务模型部分的文档了解系统的计费收费用户模型

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info/mis/business/billing.html b/pr-preview/pr-1298/docs/info/mis/business/billing.html deleted file mode 100644 index ba70ad55a6..0000000000 --- a/pr-preview/pr-1298/docs/info/mis/business/billing.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -计费收费 | SCOW - - - - - -

计费收费

-

系统目前采用一个独立的财务系统。

-

收费:

-
    -
  • 系统采用预付费制,每个租户和账户具有余额
  • -
  • 平台管理员可以给租户增加余额,租户管理员可以给账户增加余额
  • -
  • 在数据库中余额存储到小数点后4位,前台显示3位
  • -
-

计费:

- -

计费规则

-

服务器会定期地从调度器适配器中获取已完成的作业信息,并根据规则对租户和账户进行扣费操作。

-

系统计费以费用项目 price item为基础,每个计费项有独特的ID以及价格,每个(集群,分区,QOS)项应该有一个独特的计费项。计费项一旦创建和分配不能被重新分配、修改或者删除,如果您想修改一个计费项的价格,您需要创建一个新的计费项。

-

费用项目的信息存放在数据库的job_price_item表中。每次需要计算价格时,服务器将会从数据库中取得所有计费项,并得到每个(集群,分区,QOS)的最新的计费规则。如果在集群配置文件的某个QOS不存在费用项,服务器将会报错。

-

每个作业的费用计算方法如下:

-
-

四舍五入(作业持续小时 (timeUsed / 3600) x 用量 x 所适用的费用项目的价格)

-
-

每个作业的用量由计费策略(amount)确定,支持的计费策略取值如下:

-
amount总量算法
cpusAlloccpusAlloc
gpugpu
max-cpusAlloc-memmax(cpusAlloc, 向上取整(memReq / (分区内存量/分区核心数)))
max-gpu-cpusAllocmax(gpu, 向上取整(cpusAlloc / (分区核心数/分区gpu数)))
-

在计算过程中如果发现了其他策略,则整个作业的费用为0。

-

从网页编辑作业价格表

-

您可以在系统初始化时或者以平台管理员身份登录系统后进入平台管理->编辑作业价格表,在网页上编辑作业价格表。

-

作业价格表

-

修改作业价格

-

新的作业价格表将在下次获取作业时生效。

-

快速创建计费规则

-

您可以创建一个config/priceItems.{json|yml|yaml}文件,定义(集群,分区,QOS)项以及对应的费用项目,服务器可以快速根据这些信息在数据库中创建费用项目。文件格式以及各个字段的解释请参考下列yaml文件的注释。

- -
default: # 默认规则,对所有集群和租户生效
hpc01: # 对hpc01集群的...
compute: # compute分区的...
low: # QOS为low的任务
id: HPC01 # 费用项目ID为HPC01
price: '1.00' # 基础价格为1.00,字符串形式
amount: 'cpusAlloc' # 计费策略,看上文
normal:
id: HPC02
price: '2.00'
amount: 'cpusAlloc'
high:
id: HPC03
price: '3.00'
amount: 'cpusAlloc'
GPU: # 如果整个分区的费用相同,您也可以给一整个分区定义一个费用项目
id: HPC04
price: '10.00'
amount: 'cpusAlloc'
tenant_1: # 对租户tenant_1的账户用户发起的任务,在默认规则的基础上,覆盖以下配置
hpc01:
GPU:
low:
id: HPC07 # 对租户tenant_1的hpc01.GPU.low的任务,价格为12.00
price: '12.00'
amount: 'cpusAlloc'
-

注意事项:

-
    -
  1. 每个计费项应该只出现一次。即使多个QOS费用相同,也应该定义两个计费项
  2. -
  3. 数据库中不存在具有相同计费项名的行
  4. -
-

在数据库正在运行、docker-compose.yml配置编写完成的条件下,运行以下命令快速在数据库中创建费用项信息:

-
docker compose run mis-server createPriceItems
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info/mis/business/users.html b/pr-preview/pr-1298/docs/info/mis/business/users.html deleted file mode 100644 index ee3eaaad83..0000000000 --- a/pr-preview/pr-1298/docs/info/mis/business/users.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - -用户模型 | SCOW - - - - - -

用户模型

-

用户模型

-

系统使用三级的用户模型:租户(tenant)账户(account)用户(user)。各级之间的关系如下图所示:

-

用户模型

-

每个用户和账户属于且只属于一个租户,一个用户可以属于0个或者多个账户,每个用户在账户中的角色为用户管理员或者拥有者之一,可另为租户和整个平台的租户管理员财务人员(可均为)。

-

每个用户的用户名和账户名在整个平台的范围(注意,并非租户)中唯一。在所使用的认证系统支持的情况下,账户管理员、租户管理员可以创建用户。

-

账户状态

-

当前系统中页面展示的账户状态有:正常封锁欠费

-
状态定义解释账户在集群中的状态
正常账户未被封锁或冻结,且账户余额 大于 账户封锁阈值;
或者账户已存在于账户白名单
正常
封锁账户已被租户管理员或平台管理员封锁封锁
欠费账户未被封锁或冻结,且账户余额 小于等于 账户封锁阈值封锁
-

各状态间的转换条件如下:

-

用户模型

-

1.账户处于正常状态时:

-

(1). 账户在白名单中:

-
    -
  • -

    不可进行封锁或解封操作

    -
  • -
  • -

    移出白名单时,判断账户余额,余额 大于 账户封锁阈值,状态变仍为正常

    -
  • -
  • -

    移出白名单时,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费

    -
  • -
-

(2). 账户不在白名单中:

-
    -
  • -

    添加白名单:状态仍为正常

    -
  • -
  • -

    使用扣费或者修改账户封锁阈值后,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费

    -
  • -
  • -

    租户管理员或平台管理员主动封锁账户,状态变更为封锁

    -
  • -
-

2.账户处于封锁状态时:

-
    -
  • -

    添加白名单:状态变为正常

    -
  • -
  • -

    租户管理员或平台管理员主动解封账户,判断账户余额,余额 大于 账户封锁阈值,状态变更为正常

    -
  • -
  • -

    租户管理员或平台管理员主动解封账户,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费

    -
  • -
-

3.账户处于欠费状态时:

-
    -
  • -

    添加白名单:状态变为正常

    -
  • -
  • -

    对帐户充值或者修改账户封锁阈值后,余额 大于 账户封锁阈值,状态变更为正常

    -
  • -
  • -

    租户管理员或平台管理员主动封锁账户,状态变更为封锁

    -
  • -
-

用户在账户中的状态

-

当前系统中页面展示的用户在账户中的状态有:正常封锁限额

-
状态定义解释用户在集群中的状态
正常用户未被封锁时,1.未设置用户作业费用限额;
2.已设置用户作业费用限额,且用户已用额度 小于 用户限额
正常(账户在集群中未封锁)
封锁用户已被账户管理员或账户拥有者封锁封锁
限额用户未被封锁,但已设置用户作业费用限额,且用户已用额度 大于等于 用户限额封锁
-

各状态间的转换条件如下:

-

用户模型

-

1.用户在账户中处于正常状态时:

-
    -
  • -

    未设置用户作业费用限额时,即使发生作业扣费,用户在账户中的状态也不发生变化,仍为正常

    -
  • -
  • -

    已设置用户作业费用限额,发生扣费使用户已用额度 小于 用户限额,状态仍然为正常;发生扣费使用户已用额度 大于等于 用户限额,用户在账户中的状态变更为限额

    -
  • -
  • -

    已设置用户作业费用限额,修改限额使用户已用额度 小于 用户限额,状态仍然为正常;修改限额使用户已用额度 等于 用户限额,用户在账户中的状态变更为限额

    -
  • -
  • -

    封锁用户时,用户在账户中的状态变更为封锁

    -
  • -
-

2.用户在账户中处于封锁状态时:

-
    -
  • -

    未设置用户作业费用限额时,账户管理员或拥有者主动解封用户后,用户在账户中的状态变更为正常

    -
  • -
  • -

    已设置用户作业费用限额,账户管理员或拥有者主动解封用户,判断限额,用户已用额度 小于 用户限额时,用户在账户中的状态变更为正常

    -
  • -
  • -

    已设置用户作业费用限额,账户管理员或拥有者主动解封用户,判断限额,用户已用额度 大于等于 用户限额时,用户在账户中的状态变更为限额

    -
  • -
  • -

    设置用户作业费用限额或修改作业费用限额时,不发生状态改变,状态仍为封锁

    -
  • -
-

3.用户在账户中处于限额状态时:

-
    -
  • -

    账户管理员或拥有者主动封锁用户时,用户在账户中的状态变更为封锁

    -
  • -
  • -

    修改用户作业费用限额,使用户已用额度 等于 用户限额时,用户在账户中的状态仍为限额

    -
  • -
  • -

    修改用户作业费用限额,使用户已用额度 小于 用户限额时,用户在账户中的状态变更为正常

    -
  • -
  • -

    取消限额时,用户在账户中的状态变更为正常

    -
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info/portal.html b/pr-preview/pr-1298/docs/info/portal.html deleted file mode 100644 index d108ac7a55..0000000000 --- a/pr-preview/pr-1298/docs/info/portal.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -门户系统简介 | SCOW - - - - - -

门户系统简介

-

门户系统给高性能计算集群的用户提供了一个基本web的功能入口。

-

支持的功能

-
    -
  • 连接到登录节点的终端
  • -
  • 作业管理、提交
  • -
  • 文件管理
  • -
  • 使用桌面节点的桌面
  • -
  • 以GUI和Web形式启动计算作业,并在浏览器上使用软件
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info/portal/app.html b/pr-preview/pr-1298/docs/info/portal/app.html deleted file mode 100644 index e3aed7e428..0000000000 --- a/pr-preview/pr-1298/docs/info/portal/app.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - -交互式应用 | SCOW - - - - - -

交互式应用

-

借助交互式应用功能,您可以直接在浏览器上使用集群资源在计算节点上启动应用,并通过浏览器使用这些应用。

-

交互式应用的分类

-

我们将交互式应用分为两类:WebVNC

-

Web类是指通过HTTP和WebSocket协议提供功能的应用,如VSCode, RStudio等;

-

VNC类是指运行在桌面上的GUI程序,如Matlab等。系统通过VNC协议远程连接到启动这些应用的计算节点上的X Session中。

-

系统同时支持这两种应用。您只需要填写对应应用的配置,就可以让用户在浏览器上快速启动并连接到服务器类或者VNC类应用。

-

在浏览器上使用Web类应用VSCode

-

配置

-

参考配置交互式应用文档。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/info/portal/job.html b/pr-preview/pr-1298/docs/info/portal/job.html deleted file mode 100644 index 865e41fb08..0000000000 --- a/pr-preview/pr-1298/docs/info/portal/job.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - -作业 | SCOW - - - - - -

作业

-

借助作业功能,您可以直接在浏览器上点击提交作业来使用超算集群,提交成功后,可以在未结束作业中看到该作业的运行状态等详细信息,并在所有作业中看到作业的执行结果。

-

分区(队列)

-

作业需在特定分区(队列)中运行,一般不同分区(队列)允许的资源不一样,比如单作业核数等。

-

我们将集群分区分为两类:CPU分区GPU分区

-

CPU分区是指仅提供CPU资源的分区;

-

GPU分区是同时提供GPU资源和CPU资源的分区,其CPU核数根据GPU卡数按比例分配。

-

系统同时支持两种分区。您只需要在初始化系统时增加对应的配置,就可以让用户在浏览器提交作业时根据自己的需求选择不同的分区提交作业。分区与集群的配置详见集群配置文件

-

提交作业

-

用于用户填写作业信息并提交到超算系统计算,同时支持将作业信息保存为模板方便后续使用。如下图所示,分别在CPU分区和GPU分区上提交作业作业。

-

submitJob

-

如果使用GPU分区的节点,有区别的选项如下图(分区可能为其它名字而非GPU):

-

submitGPUJob

-

主要参数说明:

-
参数说明备注
集群指定本次作业在哪个集群上运行选项由集群配置文件里指定
作业名为本次作业命名-
命令作业命令-
账户指定本次作业的扣款账户选项为当前用户关联账户
分区指定本次作业想要在哪个分区上计算选项在集群配置文件里指定,分区的选择影响CPU/GPU相关参数
QOS选择作业的服务质量选项在集群配置文件里指定
节点数申请的节点数上限为当前分区节点数
单节点核心数每个节点上申请的CPU核心数CPU分区单节点核心数为输入值;如果是GPU分区,此选项不展示,通过计算得到:GPU分区单节点核心数=节点总核心数 *(单节点GPU卡数/单节点总GPU卡数)
单节点GPU卡数每个节点上申请的GPU卡数仅GPU分区展示
最长运行时间本次作业的最长计算时间-
工作目录指定作业相关文件的存储路径-
标准输出文件指定作业标准输出文件的文件名-
错误输出文件指定作业错误输出文件的文件名-
总节点数申请的节点数总节点数=节点数
总核心数申请的总核心数总核心数(CPU分区)=节点数 * 单节点核心数;总核心数(GPU分区)=节点数 * 单节点总核心数 *(单节点GPU卡数/单节点总GPU卡数)
总卡数申请的GPU卡总数仅GPU分区展示;总卡数 = 节点数 * 单节点GPU卡数
总内存容量申请的总内存容数总内存容量 = 节点数 * 单节点核心数 *(单节点内存数/单节点总核心数)
备注备注信息-
保存为模板将本次作业保存为模板-
-

生成的slurm调度器脚本中参数取值

-

核心数 -c 取单节点核心数;

-

内存 --mem 取总内存容量;

-

GPU卡数 --gres=gpu: 取单节点GPU卡数。

-

※注意:上面的计算若未整除,结果皆向下取整

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration.html b/pr-preview/pr-1298/docs/integration.html deleted file mode 100644 index 4f647a0e50..0000000000 --- a/pr-preview/pr-1298/docs/integration.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - -与SCOW集成 | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/auth/impl.html b/pr-preview/pr-1298/docs/integration/auth/impl.html deleted file mode 100644 index 80e4d44748..0000000000 --- a/pr-preview/pr-1298/docs/integration/auth/impl.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -实现自定义认证系统 | SCOW - - - - - -

实现自定义认证系统

-

如果系统提供的认证系统不能满足您的需求,您可以自己实现一个自定义认证服务。

-

基本概念

-

SCOW中使用identityId标识一个用户,并同时使用此identityId作为用户在集群上的登录名。

-

用户登录后,认证系统应负责给当前登录用户的当前会话赋予一个Token,SCOW将会在每次需要认证的请求时使用token请求认证系统以获取用户的身份。

-

一个认证服务本质是一个实现了以下HTTP API的HTTP服务器。

-

请注意

-
    -
  • /public开头的API将会是用户可以直接访问的,其他的用户不可直接访问
  • -
  • 所有响应和处于body位置的参数均为json格式
  • -
-

必须实现的API

-

GET /public/auth

-

发起登录。

-

请求

-
参数位置类型是否必须解释
callbackUrlquerystring字符串登录完成后的回调地址。必须是一个合法的URL。
-

期望的响应

-

返回登录HTML或者重定向到实际的登录界面。

-

解释

-

此API用于进行实际的登录操作。用户点击登录后,系统将会重定向到这个URL。您可以选择自己实现一个登录页面,或者重定向到第三方登录认证的页面。

-

登录完成后,请返回一个重定向的请求到callbackUrl指定的URL,并附上querystring?token={您用来跟踪本用户的状态的token}。这些token的生成和保存您需要自己实现。后续的用户将会带着此token用于鉴权。

-

如果您在后端使用类似OAuth2的认证系统,这些认证系统登录完成后会给一个token用于跟踪用户状态并重定向到您指定的回调地址。对于这些系统,您应该自己实现一个单独的回调地址(且这些回调地址的URL必须以/public为前缀以使用户可以直接访问),在这些地址的处理函数中获取认证系统给予的token,并使用token进行后续的处理(例如生成自己的token,将这些token映射到用户等)。处理完成后,再回调到callbackUrl指定的URL。

-

GET /public/validateToken

-

验证token,返回对应的用户ID。SCOW将会在每次需要验证的请求发生时,使用登录时获取的token请求此API,所以请保证此API的性能。

-

请求

-
参数位置类型是否必须解释
tokenquerystring字符串用户的token
-

期望的响应

-
200 OK
-
字段类型是否必须解释
identityId字符串此token对应的用户的用户ID
-
400 Bad Request
-
字段类型是否必须解释
code字符串常量INVALID_TOKENINVALID_TOKEN:token无效
-

DELETE /token

-

无效化一个token。

-

请求

-
参数位置类型是否必须解释
tokenquery字符串token
-

响应

-
状态码内容解释
204操作完成。如果token不存在也应该返回这个状态码。
-

解释

-

此API用于无效化一个token。调用这个请求后,这个token将不应该继续能够通过GET /validateToken获得用户的信息。

-

GET /capabilities

-

返回认证系统支持的能力。

-

请求

-

无。

-

期望的响应

-
200 OK
-
字段类型是否必须解释
createUserboolean此认证系统是否支持创建用户
getUserboolean此认证系统是否支持查询用户
checkPasswordboolean此认证系统是否支持验证用户密码
changePasswordboolean此认证系统是否支持修改用户密码
accountUserRelationboolean此认证系统是否支持管理用户账户关系
-

解释

-

此API用于认证系统声明自己的支持的能力。系统的其他部分将会根据此API的返回值选择性地选择是否显示某些功能。例如,如果changePasswordfalse或者为undefined,那么前端系统将会不显示修改密码的功能。

-

创建用户功能相关API

-

认证系统如果声明支持创建用户,则必须实现此部分的API。

-

POST /user

-

创建用户。

-

请求

-
参数位置类型是否必须解释
identityIdbody字符串用户ID
passwordbody字符串密码
idbody整数用户在数据库中的ID
namebody字符串用户姓名
mailbody字符串用户邮箱
-

响应

-
状态码内容解释
204创建完成
409用户ID已经存在
501不支持创建用户功能
-

解释

-

此API用于在认证系统中创建用户。当前,系统只支持通过管理系统创建用户。管理系统首先在自己的数据库中创建用户,然后请求认证系统创建用户。请求参数中的id即是数据库中这个新的用户的自增ID。如果认证系统返回非成功的返回值,管理系统将会撤回在数据库中的项。

-

查询用户功能相关API

-

GET /user

-

获取已经存在的用户信息。目前只需要返回用户的ID。

-

请求

-
参数位置类型是否必须解释
identityIdquerystring字符串用户的ID
-
200 OK
-
字段类型是否必须解释
user.identityId字符串用户的ID。和请求的identityId一致
user.name字符串用户的姓名。如果认证系统可以获取用户的姓名,则返回。如果不能获取,就不设置
user.mail字符串用户的邮箱。如果认证系统可以获取用户的邮箱,则返回。如果不能获取,就不设置
-
404 Not Found
-
字段类型是否必须解释
code字符串常量USER_NOT_FOUNDUSER_NOT_FOUND:用户不存在
-

解释

-

此API可以获取用户的信息。此API也可以用于获取用户是否存在。

-

修改邮箱相关API

-

认证系统如果声明支持修改邮箱,则必须实现此部分的API。

-

PATCH /user/email

-

修改邮箱。

-

请求

-
参数位置类型是否必须解释
identityIdbody字符串用户ID
newEmailbody字符串新邮箱
-

期望的响应

-
状态码内容解释
204修改完成
404用户未找到
501不支持修改邮箱功能
-

解释

-

此API用于完成修改邮箱的功能。

-

验证密码相关API

-

GET /checkPassword

-

验证密码。

-

请求

-
参数位置类型是否必须解释
identityIdquery字符串用户ID
passwordquery字符串密码
-
200 OK
-
字段类型是否必须解释
success布尔值验证结果
-
404 Not Found
-
字段类型是否必须解释
code字符串常量USER_NOT_FOUNDUSER_NOT_FOUND:用户不存在
-
501
-

表示此功能在当前服务器配置下不可用,返回null。

-

修改密码相关API

-

认证系统如果声明支持修改密码,则必须实现此部分的API。

-

PATCH /password

-

修改密码。

-

请求

-
参数位置类型是否必须解释
identityIdbody字符串用户ID
newPasswordbody字符串新密码
-

期望的响应

-
状态码内容解释
204修改完成
404用户未找到
501不支持修改密码功能
-

解释

-

此API用于完成修改密码的功能。

-

用户账户关系相关API

-

认证系统如果声明支持管理用户账户关系,则必须实现此部分API。

-

POST /account

-

在认证系统中创建账户。

-

请求

-
参数位置类型是否必须解释
accountNamebody字符串账户名
ownerUserIdbody字符串拥有者用户ID
-

期望的响应

-
状态码内容解释
204创建成功
-

POST /account/${accountName}/user

-

把用户加入账户中。

-

请求

-
参数位置类型是否必须解释
accountNamepath字符串账户名
userIdbody字符串用户ID
-

期望的响应

-
状态码内容解释
204把用户加入账户成功
-

DELETE /account/${accountName}/user/${userId}

-

把用户从账户中删除。

-

请求

-
参数位置类型是否必须解释
accountNamepath字符串账户名
userIdpath字符串用户ID
-

期望的响应

-
状态码内容解释
204删除用户成功
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/auth/use.html b/pr-preview/pr-1298/docs/integration/auth/use.html deleted file mode 100644 index 2032ce315e..0000000000 --- a/pr-preview/pr-1298/docs/integration/auth/use.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -使用自定义认证系统 | SCOW - - - - - -

使用自定义认证系统

-

如果系统提供的认证系统不能满足您的需求,您可以自己使用和实现一个自定义认证服务。

-

使用自定义认证服务

-

您自己编写的自定义认证服务应该被打包为一个docker镜像,放在您部署所在机器可以访问的地址上。

-

修改安装配置文件的auth.custom部分以使用您的自定义认证服务。

-
install.yaml
auth:
custom:
# 自定义认证系统类型
# external(使用外部系统) | image(使用自定义认证系统镜像),默认为 image
type: image
# 自定义外部认证系统配置
# 如果 type 为 external 则需要配置 external 选项,否则仍然使用默认认证系统 URL
external:
url: http://custom-url:port

# 容器相关配置
image:
# 自定义认证系统镜像名。必填
# imageName: my-custom-auth:v1.0

# 端口映射。可选
# ports:
# - "5000:5000"

# 更多挂载卷。可选
# 默认添加/etc/hosts:/etc/hosts和./config:/etc/scow
# volumes:
# - "./myfile:/etc/myfile"

# 下列 image、ports、volumes 配置为老版本的配置,已过时,未来将会删除
# 兼容老版本,image 在老版本中为字符串
# 定义认证系统镜像名。必填
# image: my-custom-auth:v1.0

# 兼容老版本, 端口映射。可选
# ports:
# - "5000:5000"

# 兼容老版本, 更多挂载卷。可选
# 默认添加/etc/hosts:/etc/hosts和./config:/etc/scow
# volumes:
# - "./myfile:/etc/myfile"

# 环境变量,可选。
# environment:
# - DEBUG=log
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/scow-api-hook/api.html b/pr-preview/pr-1298/docs/integration/scow-api-hook/api.html deleted file mode 100644 index 7443b157ee..0000000000 --- a/pr-preview/pr-1298/docs/integration/scow-api-hook/api.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -SCOW API | SCOW - - - - - -

SCOW API

-

SCOW系统总体来说分为前端和后端部分(架构),SCOW的前端和后端部分使用gRPC进行通信。

-

要使用SCOW API,您需要

-
    -
  1. 获取SCOW Protobuf文件并生成相关代码
  2. -
  3. 编写程序,调用gRPC API与SCOW的后端部分组件mis-server, portal-server, audit-server交互
  4. -
-

打开后端服务网络接口

-

部署好的系统的后端服务容器mis-server, portal-server, audit-server位于docker compose创建的网络中,从外界无法直接访问mis-server, portal-serveraudit-server服务。

-

要想访问这些服务,您需要通过install.yaml将主机上的端口映射到mis-server, portal-serveraudit-server服务的5000端口中。配置完成后,您可以从部署SCOW的机器上通过定义的IP和端口与对应的服务交互。

-

portal:
portMappings:
# portal-server的5000端口映射到127.0.0.1:7572
portalServer: "127.0.0.1:7572"
mis:
portMappings:
# mis-server的5000端口映射到127.0.0.1:7571
misServer: "127.0.0.1:7571"
audit:
portMappings:
# audit-server的5000端口映射到127.0.0.1:7573
auditServer: "127.0.0.1:7573"
-

API认证

-

默认情况下,mis-serverportal-server的gRPC调用并不认证请求,任何用户都可以直接调用mis-serverportal-server的API。

-

在不认证的情况下,如果您在映射端口时直接输入端口号(如7571不是127.0.0.1:7571),由于在同一个集群中各个节点的网络是互通的,则在同一个集群中的其他作业可能可以直接访问SCOW的gRPC后端,进而直接操作SCOW系统的数据,造成安全隐患。所以我们建议:

-
    -
  • 不将SCOW服务节点用作集群的登录节点或者计算节点
  • -
  • 在映射端口时输入127.0.0.1:7571,使映射出的端口只能在SCOW服务节点上使用
  • -
  • 给SCOW服务节点设置好防火墙,防止集群内部的服务访问到SCOW服务
  • -
-

您也可以配置服务器端认证。当打开了认证后,任何没有通过认证的请求将会收到UNAUTHENTICATED响应。

-

静态Token认证

-

您也可以配置服务器使用静态Token认证。

-

config/common.yaml中增加以下配置:

-
config/common.yaml
scowApi:
auth:
token: <秘密字符串,越长越好>
-

当配置好后,任何到服务器的请求都必须带有authorization header,其内容为Bearer <秘密字符串>

-

门户系统和管理系统前端发送到服务器的请求将会自动带有这个header,无需单独配置。

-

实际项目示例

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic.html b/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic.html deleted file mode 100644 index 7bb96dcf44..0000000000 --- a/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - -数据统计相关API | SCOW - - - - - -

数据统计相关API

-

SCOW系统提供了一些数据统计相关的API,您可以通过这些API获取SCOW系统的一些统计数据。其中有部分API是以日期为维度进行的统计,您可以通过这些API获取x天内每一天的统计数据。但由于数据库里采用的是UTC时间,如果希望统计的维度和客户端一致,在使用这些API时,您需要注意时区的问题。

-

相关API

-
    -
  • GetActiveUserCount:获取x天内每一天的用户登录次数
  • -
  • GetNewUserCount:获取x天内每一天的新用户注册数
  • -
  • GetNewJobCount:获取x天内每一天的新作业提交数
  • -
  • GetDailyCharge:获取x天内每一天的用户消费金额总计
  • -
  • GetDailyPay: 获取x天内每一天的用户充值金额总计
  • -
-

参数 TimeZone

-

以上API在调用时都需要传timeZone参数,这个参数是用来指定统计的时区。如果不传timeZone参数,统计的时区默认为UTC。如果希望统计的维度和客户端一致,您需要传入timeZone参数。

-

timeZone参数请遵循以下格式指南:

-
    -
  1. -

    UTC偏移量: 使用格式+HH:MM或-HH:MM表示相对于UTC的偏移。例如,+08:00表示东八区。

    -
  2. -
  3. -

    时区名称: 使用具体的地理时区名称,如Asia/Shanghai或Europe/London。这些名称代表特定地区的标准时间。

    -
  4. -
-

请根据您的需求选择以上一种格式来指定时区。

-

可用时区名称及UTC偏移量

-
    -
  • UTC-12:00 Etc/GMT+12 - -12:00
  • -
  • UTC-11:00 Pacific/Pago_Pago - -11:00
  • -
  • UTC-10:00 Pacific/Honolulu - -10:00
  • -
  • UTC-09:00 America/Anchorage - -09:00
  • -
  • UTC-08:00 America/Los_Angeles - -08:00
  • -
  • UTC-07:00 America/Denver - -07:00
  • -
  • UTC-06:00 America/Chicago - -06:00
  • -
  • UTC-05:00 America/New_York - -05:00
  • -
  • UTC-04:00 America/Caracas - -04:00
  • -
  • UTC-03:00 America/Argentina/Buenos_Aires - -03:00
  • -
  • UTC-02:00 Atlantic/South_Georgia - -02:00
  • -
  • UTC-01:00 Atlantic/Azores - -01:00
  • -
  • UTC+00:00 UTC - +00:00
  • -
  • UTC+01:00 Europe/Paris - +01:00
  • -
  • UTC+02:00 Europe/Athens - +02:00
  • -
  • UTC+03:00 Europe/Moscow - +03:00
  • -
  • UTC+04:00 Asia/Dubai - +04:00
  • -
  • UTC+05:00 Asia/Karachi - +05:00
  • -
  • UTC+06:00 Asia/Dhaka - +06:00
  • -
  • UTC+07:00 Asia/Bangkok - +07:00
  • -
  • UTC+08:00 Asia/Shanghai - +08:00
  • -
  • UTC+09:00 Asia/Tokyo - +09:00
  • -
  • UTC+10:00 Australia/Sydney - +10:00
  • -
  • UTC+11:00 Pacific/Noumea - +11:00
  • -
  • UTC+12:00 Pacific/Fiji - +12:00
  • -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go.html b/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go.html deleted file mode 100644 index 4eafeb97c5..0000000000 --- a/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -Go | SCOW - - - - - -

Go示例

-

示例项目:https://github.com/PKUHPC/scow-go-demo

-

准备环境

-

您需要:

- -

您可以通过go mod init命令,初始化一个Go项目,假设模块名为github.com/PKUHPC/scow-go-demo

-
go mod init github.com/PKUHPC/scow-go-demo
-

使用Buf获取Proto文件并生成代码

-

创建buf.gen.yaml文件,内容如下:

-
buf.gen.yaml
version: v1
managed:
enabled: true
go_package_prefix:
# 项目模块名+生成路径(plugins中out)
default: github.com/PKUHPC/scow-go-demo/gen/go
except:
- buf.build/googleapis/googleapis
plugins:
- plugin: buf.build/protocolbuffers/go
out: gen/go
opt: paths=source_relative
- plugin: buf.build/grpc/go
out: gen/go
opt: paths=source_relative,require_unimplemented_servers=false

-

指定需要使用的SCOW的版本,生成代码

-
# 通过#后的参数确认SCOW和SCOW API版本,可输入
# SCOW API的版本号(tag=api-v0.3.0)(推荐,从v0.3.0版本开始可用)
# SCOW的分支(branch=master)
# SCOW Tag号(tag=v0.4.0)
# 不写默认使用SCOW的master分支版本
buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0
-

使用SCOW API

-

编写Go代码使用调用SCOW API的代码

-
api.go
package main

import (
"context"
"log"

"github.com/PKUHPC/scow-go-demo/gen/go/server"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
)

func main() {
// 假设mis-server在192.168.88.100:7571上监听
conn, err := grpc.Dial("192.168.88.100:7571", grpc.WithTransportCredentials(insecure.NewCredentials()))

if err != nil {
panic(err)
}

// 生成AccountServiceClient
client := server.NewAccountServiceClient(conn)

// 调用`GetAccounts` RPC,获取所有账户
resp, err := client.GetAccounts(context.Background(), &server.GetAccountsRequest{})

if err != nil {
panic(err)
}

log.Printf("Account list: %v", resp)
}
-

下载依赖并运行

-
go mod tidy
go run api.go
-

实现并注册SCOW Hook

-

创建一个hook.go文件,实现HookServiceServer (protos/hook/hook.proto)

-
hook.go
package main

import (
"context"
"log"
"net"

"github.com/PKUHPC/scow-go-demo/gen/go/hook"
"google.golang.org/grpc"
"google.golang.org/protobuf/encoding/protojson"
)

type MyHookServer struct{}

func (s *MyHookServer) OnEvent(ctx context.Context, req *hook.OnEventRequest) (*hook.OnEventResponse, error) {

log.Printf("Received event: %+v", protojson.Format(req))

return &hook.OnEventResponse{}, nil
}

func main() {

addr := "0.0.0.0:5000"

lis, err := net.Listen("tcp", addr)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
var opts []grpc.ServerOption
grpcServer := grpc.NewServer(opts...)

server := MyHookServer{}

hook.RegisterHookServiceServer(grpcServer, &server)
log.Printf("Listening at %s", addr)

grpcServer.Serve(lis)
}

-

下载依赖并运行

-
go mod tidy
go run hook.go
-

修改config/common.yaml文件,配置Hook Server的地址

-
config/common.yaml
scowHook:
url: localhost:5000
-

重启SCOW。当SCOW有相关事件发生时,SCOW会调用Hook Server。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/scow-api-hook/hook.html b/pr-preview/pr-1298/docs/integration/scow-api-hook/hook.html deleted file mode 100644 index 62f7b764c3..0000000000 --- a/pr-preview/pr-1298/docs/integration/scow-api-hook/hook.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -SCOW Hook | SCOW - - - - - -

SCOW Hook

-

如果用户配置了SCOW Hook,那么SCOW在发生一些事件时,会通过SCOW Hook调用监听的Hook服务器。您可以通过SCOW Hook监听SCOW中发生的事件,并自己进行一些后续处理。

-

会调用Hook的事件请参考protos/hook/hook.proto文件中OnEventRequest消息的message属性。

-

要使用SCOW Hook,您需要:

-
    -
  1. 获取SCOW Protobuf文件并生成代码
  2. -
  3. 根据hook目录下的proto文件实现其中定义的gRPC服务
  4. -
  5. 启动您的gRPC服务器
  6. -
  7. 在SCOW中配置SCOW Hook功能
  8. -
-
config/common.yaml
scowHook:
# 启用SCOW Hook功能,默认为true
# enabled: true

# 若您只有一个hook,您可以直接使用url属性,并填入您的Hook的地址
url: 您的gRPC服务器的地址

# 若您有多个hook,则可以使用hooks属性,逐个填入您的地址。
# 若您填写了hooks,则url属性将会被忽略
hooks:
- name: hook-name-1 # hook名,可选,若填写了,则在日志中可以看到被调用的hook的名字
url: hook 1地址 # hook服务器端地址
- name: hook-name-2
url: hook 2地址
-
    -
  1. 重启SCOW
  2. -
-

SCOW服务连接到Hook服务

-

请注意,SCOW的服务器是运行在容器中的,通过localhost无法访问到运行到SCOW节点上的服务。当设定hook的URL时,请使用服务在您的局域网中的地址。

-

如果您不确定一个地址是否能从容器中连接,您可以手动在容器中运行ping等命令尝试是否能到达您的Hook服务:

-
./cli compose exec mis-server sh
ping 您的gRPC服务器的地址
-

实际项目示例

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/scow-api-hook/proto.html b/pr-preview/pr-1298/docs/integration/scow-api-hook/proto.html deleted file mode 100644 index 4ffe288fd8..0000000000 --- a/pr-preview/pr-1298/docs/integration/scow-api-hook/proto.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - -SCOW Protobuf文件 | SCOW - - - - - -

SCOW Protobuf文件

-

SCOW API和Hook的数据结构和服务都通过Protocol Buffer格式统一定义并分发。要想使用SCOW API和Hook,您需要首先获取proto文件,通过proto文件生成您对应的语言的代码,然后才能进行开发。

-

获取Proto文件

-

我们将SCOW API和Hook的proto文件放到了代码仓库中,您可以直接从代码仓库中获取。代码仓库中protos目录下则为proto文件:master分支protos目录链接

-

proto文件分为common, portal, server, audithook。其中,

-
    -
  • common中定义了公用的数据结构
  • -
  • portal定义了门户系统的SCOW API。portal-server门户系统后端实现了portal中定义的服务,您可以通过portal下的文件与portal-server交互
  • -
  • server定义了管理系统的SCOW API。mis-server管理系统后端实现了server中定义的服务,您可以通过server下的文件与mis-server交互
  • -
  • audit定义了审计系统的SCOW API。audit-server审计系统系统后端实现了audit中定义的服务,您可以通过audit下的文件与audit-server交互
  • -
  • hook定义了SCOW Hook的事件和服务。portal-servermis-server将会通过hook下的文件与您配置的SCOW Hook服务器交互
  • -
-

除了直接从代码仓库中获取,我们更推荐使用工具获取Protobuf文件。您可以通过以下方式获取到SCOW的Protobuf文件

-

1. 使用Buf获取和生成代码(推荐)

-

Buf是一个管理gRPC API和proto文件的一站式工具,可完成获取文件、生成代码等常见功能。我们推荐通过使用Buf直接从GitHub上获取代码并生成您的语言的模板的代码的工作。

-
# 使用本地buf.gen.yaml生成模板,使用v0.3.0版本的SCOW API(v0.3.0开始可以通过此方式,推荐)
buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0

# 使用本地buf.gen.yaml生成模板,使用SCOW仓库的master分支的代码对应的SCOW API
buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=master
-

详细的示例请参考:

- -

2. 通过npm获取proto文件

-

您可以通过npm从npmjs.org上获取任意版本的proto文件

-
# 最新版本的API文件
npm install -g @scow/grpc-api

# 特定版本(0.1.2)的API
npm install -g @scow/grpc-api@0.1.2

# 安装好后,可以去npm的全局模块的目录中查找到这个包,并获取内部的文件
cd $(npm root -g)/@scow/grpc-api

# 如果您使用npm对您的项目进行依赖管理,则可以在您的项目中安装此包,并直接在此包的node_modules中获取到proto文件
npm install --save @scow/grpc-api
cd node_modules/@scow/grpc-api
-

API版本控制

-

我们通过npm以及package.json文件对API版本进行控制。当前的版本为:npm

-

API的版本通过@scow/grpc-api包的版本进行定义。SCOW gRPC API版本控制原则:

-
    -
  • 不影响API的修改,例如lint文件:提高PATCH号
  • -
  • 修改了API,但是兼容当前的API:提高MINOR号
  • -
  • 不兼容已有的配置文件,提高MAJOR版本
  • -
-

当前,我们并不保证新版本SCOW对老版本API的兼容性。SCOW每次发布版本时,会同时公布此版本支持的SCOW API的版本号。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/ui-extension.html b/pr-preview/pr-1298/docs/integration/ui-extension.html deleted file mode 100644 index 0c33fa1da0..0000000000 --- a/pr-preview/pr-1298/docs/integration/ui-extension.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - -UI扩展 (Beta) | SCOW - - - - - -

UI扩展 (Beta)

-
警告

实验性功能!

-

如果您需要在SCOW的界面中增加更多的页面,您可以开发自己的UI,并通过UI扩展功能将您的UI集成进SCOW的UI中。这样,您的用户在访问您自己的页面时,也可以获得与访问SCOW的功能一致的体验。

-

下图为一个UI扩展演示。演示中的UI扩展增加了一个顶级导航项,并在下面增加了两个二级导航项。

-
    -
  • 第一个二级导航项显示了一个登录界面,其获取了SCOW的登录用户的token,并与SCOW的国际化和黑暗模式相同步。此导航项的图标也是由UI扩展自己提供。
  • -
  • 第二个二级导航项是一个至GitHub的链接
  • -
-

UI扩展演示

-

开发UI扩展

-

请参考开发UI扩展

-

配置SCOW使用UI扩展

-

当您的扩展站开发并部署完成后,请在config/portal.yaml和/或config/mis.yaml中增加以下内容,以开启SCOW UI扩展。

-

如果您在门户系统或者管理系统中仅使用一个UI扩展,可使用以下配置。您将可以使用{SCOW URL}/extensions访问到此UI扩展。

-
config/{portal,mis}.yaml
uiExtension:
# 您的UI扩展页部署URL。
url: http://localhost:16566/basepath
-

如果您在门户系统或者管理系统中需使用多个UI扩展,请使用以下配置。您将可以使用{SCOW URL}/extensions/{name}访问到对应名称的UI扩展。同一份配置文件中的多个UI扩展名称之间的名称不可重复。

-
config/{portal,mis}.yaml
uiExtension:
- # 这个UI扩展的名称
name: extension1
# 您的此UI扩展页部署URL
url: http://localhost:16566/basepath

- # 这个UI扩展的名称
name: extension2
# 您的此UI扩展页部署URL
url: http://localhost:16567/basepath
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/integration/ui-extension/develop.html b/pr-preview/pr-1298/docs/integration/ui-extension/develop.html deleted file mode 100644 index 0c5b406cc6..0000000000 --- a/pr-preview/pr-1298/docs/integration/ui-extension/develop.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - -开发UI扩展 | SCOW - - - - - -

开发UI扩展

-

要使用UI扩展,您首先需要开发并构建一个从外界可以访问的网站(称为扩展站)。您可以使用任何技术开发、维护和部署此网站,只需要满足您的用户可以通过直接公网访问即可。

-

上下文参数

-

SCOW会在访问扩展页和调用某些配置接口时,将以下参数作为查询字符串(querystring)加入访问的URL,UI扩展可以通过这些参数获取当前SCOW系统的信息。具体哪些页面/API会传递这些参数会在具体章节里提到。

-
参数取值解释
scowDark"true" | "false"当前SCOW是否以黑暗主题显示
scowUserTokenstring | undefined当前SCOW的登录用户的token。可通过SCOW认证系统接口查询登录用户
scowLangIdstring当前SCOW显示所使用的语言ID
-

扩展页

-

UI扩展的功能应实现为标准的网页。当访问SCOW的扩展路径时,SCOW将会在外层显示SCOW的基础导航结构,并在页面主要部分使用一个<iframe>组件将扩展页的内容显示出来。上下文参数中的参数也将会传递给<iframe>

-

若只设置了一个UI扩展,当用户访问SCOW部署路径的/extensions/*的路径时,<iframe>将会显示UI扩展/extensions/*下的内容。

-

若设置了多个UI扩展,当用户访问SCOW部署路径的/extensions/{name}/*的路径时,<iframe>将会显示{name}部分对应的UI扩展的/extensions/*下的内容。

-

例如,假设SCOW部署于https://myscow.com/scow,您的扩展站1部署于https://myscowext1.com/ext1,扩展站2部署于https://myscowext2.com/ext2

-
    -
  • 若用户在配置中使用单个UI扩展配置语法时,当用户访问https://myscow/scow/extensions/parent/child?test=123时,SCOW将会显示一个iframe,其URL为https://myscowext1.com/ext1/extensions/parent/child?test=123&scowDark={当前SCOW是否以黑暗模式显示}&scowUserToken={用户token}&scowLangId={当前SCOW显示语言ID}
  • -
  • 若用户在配置中使用多个UI扩展配置语法,但是只配置了扩展站1时,起名称为extname1,当用户访问https://myscow/scow/extensions/extname1/parent/child?test=123时,SCOW将会显示一个iframe,其URL为https://myscowext1.com/ext1/extensions/parent/child?test=123&scowDark={当前SCOW是否以黑暗模式显示}&scowUserToken={用户token}&scowLangId={当前SCOW显示语言ID}
  • -
  • 若用户在配置中使用多个UI扩展配置语法,配置了扩展站1和2,名称分别为extname1extname2,当用户访问https://myscow/scow/extensions/extname1/parent/child?test=123时,SCOW将会显示一个iframe,其URL为https://myscowext1.com/ext1/extensions/parent/child?test=123&scowDark={当前SCOW是否以黑暗模式显示}&scowUserToken={用户token}&scowLangId={当前SCOW显示语言ID}
  • -
-

配置接口

-

除此之外,UI扩展站需要实现以下的配置接口。SCOW会在需要的使用调用以下接口获取响应配置。所有配置接口以/api开头。

-

获取清单:GET /api/manifests

-

获取UI扩展配置清单。SCOW通过此接口获取您的UI扩展的一些配置参数。

-

对于此接口,您需要返回如下类型的JSON内容:

-
JSON属性路径类型是否必须解释
portal对象关于门户系统的配置
portal.rewriteNavigations布尔值是否重写门户系统的导航项。默认为false
mis对象关于管理系统的配置
mis.rewriteNavigations布尔值是否重写管理系统的导航项。默认为false
-

例如,您可以返回如下类型的JSON,表示要重写门户系统的导航项,但是不重写管理系统的导航项。

-
{
"portal": {
"rewriteNavigations": true
},
"mis": {
"rewriteNavigations": false,
}
}
-

重写门户系统的导航项:POST /api/portal/rewriteNavigations

-

重写门户系统的导航项。若您在GET /api/manifests中返回的portal.rewriteNavigationstrue,则必须实现此接口。

-

SCOW将会在body中传入默认情况下SCOW将会显示的导航项。下表为传入的JSON参数的属性。除此表之外,上下文参数同样也会被作为查询字符串传入。

-
JSON属性路径类型是否必须解释
navs对象数组导航项
navs[].path字符串此导航项的路径。此路径不包括base path。若当前浏览器的pathname以此开头,则此导航项将会高亮
navs[].clickToPath字符串点击此导航项将会导航至的路径。如果不填,则使用path属性
navs[].text字符串导航项的文本
navs[].openInNewPage布尔值此导航项的页面是否在新窗口中打开
navs[].children对象数组,类型与navs数组的每一项相同此导航项的子项。
-

您需要返回以下类型的JSON,表示重写后的门户系统的导航项。您可以重写系统默认导航项的属性。

-
JSON属性路径类型是否必须解释
navs对象数组导航项
navs[].path字符串此导航项的路径,请参考表格下关于返回的路径的的说明
navs[].clickToPath字符串点击此导航项将会导航至的路径,规则同上。如果不填,则使用path属性
navs[].text字符串导航项的文本
navs[].icon对象导航项的图标信息。如果不填,将显示默认导航项中具有相同的path的导航项的图标。如果不存在具有相同path的导航项,将显示Ant Design IconLinkOutlined
navs[].icon.src图标URL导航项的图标地址。必须是完整的、可公开访问的URL
navs[].icon.alt布尔值导航项的图标alt属性。可不填
navs[].openInNewPage布尔值此导航项的页面是否在新窗口中打开
navs[].children对象数组,类型与navs数组的每一项相同此导航项的子项。
-

关于返回的路径的说明:

-
    -
  • 如果 -
      -
    • 返回的路径在调用这个扩展的此接口之前已经存在(即在调用此扩展的此接口时的某个已有的导航项具有和返回的路径相同的路径),或者
    • -
    • 此路径是一个有效的URL -
        -
      • 检查方法:使用new URL(输入),若不抛出异常则为有效的URL
      • -
      -
    • -
    -
  • -
  • -
      -
    • 这个路径将会保留原状,直接写入为<a>标签的href属性
    • -
    -
  • -
  • 否则 -
      -
    • 此路径为相当于扩展UI的/extensions下的路径,即 -
        -
      • 当系统采用单个UI扩展配置语法时,对应的导航项的路径为:{SCOW URL}/extensions/{path}
      • -
      • 当系统采用多个个UI扩展配置语法时,对应的导航项的路径为:{SCOW URL}/extensions/{name}/{path}
      • -
      -
    • -
    -
  • -
  • 若当前浏览器的pathname以此开头,则此导航项将会高亮
  • -
-

如果配置了多个UI扩展,那么SCOW将会按照配置中的顺序依次调用每个需要重写导航项的UI扩展的此接口,并将上一个UI扩展的输出作为下一个UI扩展的输入,并将最终结果作为SCOW的导航项。

-

重写管理系统的导航项:POST /api/mis/rewriteNavigations

-

重写门户系统的导航项。若您在GET /api/manifests中返回的mis.rewriteNavigationstrue,则必须实现此接口。

-

此接口的参数及响应与门户系统的完全相同。

-

注意事项

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/multi_cluster.html b/pr-preview/pr-1298/docs/multi_cluster.html deleted file mode 100644 index 731ead290d..0000000000 --- a/pr-preview/pr-1298/docs/multi_cluster.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - -多集群管理 | SCOW - - - - - -

多集群管理

SCOW多集群部署架构如下图所示:

-

img

-
提示

SCOW主要服务包括portal、mis、auth、gateway、db、audit、cli,支持多HPC集群管理,支持多种调度器(Slurm/CraneSched/K8S)。待接入的HPC集群需满足如下条件:

    -
  1. -

    所有集群都必须使用同一个LDAP;

    -
  2. -
  3. -

    每个HPC集群NFS路径需相同,例如用户Home目录都为/data/home,软件安装目录都为/data/software

    -
  4. -

SCOW多集群管理设置:

    -
  1. 在每个集群管理节点上启动一个适配器服务;
  2. -
  3. 每个集群有一个集群配置文件,即在config/clusters目录下每个集群有一个配置文件;
  4. -
  5. 支持每个集群独立的交互式应用配置,也支持所有集群使用全局交互式应用配置。
  6. -
-

SCOW接入多集群部署,与接入一个集群的区别主要在于:

-

(1) 每个slurm集群有一个集群配置文件,即在config/clusters目录下每个集群有一个配置文件,如下所示:

-
# 集群显示名称
displayName: hpc01

#登录节点配置
loginNodes:
- name: hpc01_login01
address: hpc01_login01

#适配器url配置
adapterUrl: "192.168.188.102:8999"
-
提示

每个集群配置文件请按照该集群的实际情况修改配置。

-

(2) 各集群独立的交互式应用配置文件位于config/clusters/{clusterID}/apps目录下。也可以使用全局交互式应用配置,目录为config/apps(独立的优先级高于全局的)。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs.html b/pr-preview/pr-1298/docs/refs.html deleted file mode 100644 index 186351f381..0000000000 --- a/pr-preview/pr-1298/docs/refs.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -简介 | SCOW - - - - - -

配置参考

-

本部分为自动生成的配置参考。

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app.html b/pr-preview/pr-1298/docs/refs/config/app.html deleted file mode 100644 index 39d7b68522..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -app | SCOW - - - - - -

README

-

Top-level Schemas

- -

Other Schemas

-

Objects

- -

Arrays

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name.html deleted file mode 100644 index 6ea086ae73..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-name | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items.html deleted file mode 100644 index b251bac3f7..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-nodes-items | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes.html deleted file mode 100644 index 6c844ba7a1..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-nodes | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0.html deleted file mode 100644 index 5ab6064ee1..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-type-anyof-0 | SCOW - - - - - -

definition-properties-type-anyof-0

0 Type

-

string

-

0 Constraints

-

constant: the value of this property must be equal to:

-
"web"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1.html deleted file mode 100644 index 0c19fa1c02..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-type-anyof-1 | SCOW - - - - - -

definition-properties-type-anyof-1

1 Type

-

string

-

1 Constraints

-

constant: the value of this property must be equal to:

-
"vnc"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type.html deleted file mode 100644 index fd09ff068a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -definition-properties-type | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup.html deleted file mode 100644 index 54e7ac94c0..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-vnc-properties-xstartup | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc.html deleted file mode 100644 index ee21774592..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -definition-properties-vnc | SCOW - - - - - -

definition-properties-vnc

vnc Type

-

object (Details)

-

vnc Properties

-
PropertyTypeRequiredNullableDefined by
xstartupstringRequiredcannot be nullUntitled schema
-

xstartup

-

启动此app的xstartup脚本

-

xstartup

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

xstartup Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript.html deleted file mode 100644 index 7d2e806466..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-web-properties-beforescript | SCOW - - - - - -

definition-properties-web-properties-beforescript

beforeScript Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-.html deleted file mode 100644 index a22669072f..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-formdata-patternproperties- | SCOW - - - - - -

definition-properties-web-properties-connect-properties-formdata-patternproperties-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties.html deleted file mode 100644 index 11b2c626cb..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-formdata-patternproperties | SCOW - - - - - -

definition-properties-web-properties-connect-properties-formdata-patternproperties

patternProperties Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata.html deleted file mode 100644 index 6222e4424c..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-formdata | SCOW - - - - - -

definition-properties-web-properties-connect-properties-formdata

formData Type

-

object (Details)

-

formData Properties

-
PropertyTypeRequiredNullableDefined by
^.*$stringOptionalcannot be nullUntitled schema
-

Pattern: ^.*$

-

^.*$

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0.html deleted file mode 100644 index 524dfac998..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-method-anyof-0 | SCOW - - - - - -

definition-properties-web-properties-connect-properties-method-anyof-0

0 Type

-

string

-

0 Constraints

-

constant: the value of this property must be equal to:

-
"GET"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1.html deleted file mode 100644 index 2dfffeb4bc..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-method-anyof-1 | SCOW - - - - - -

definition-properties-web-properties-connect-properties-method-anyof-1

1 Type

-

string

-

1 Constraints

-

constant: the value of this property must be equal to:

-
"POST"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method.html deleted file mode 100644 index 296c91c7ec..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-method | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path.html deleted file mode 100644 index d9340ca3f0..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-path | SCOW - - - - - -

definition-properties-web-properties-connect-properties-path

path Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-.html deleted file mode 100644 index e06f789384..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-query-patternproperties- | SCOW - - - - - -

definition-properties-web-properties-connect-properties-query-patternproperties-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties.html deleted file mode 100644 index b409e99916..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-query-patternproperties | SCOW - - - - - -

definition-properties-web-properties-connect-properties-query-patternproperties

patternProperties Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query.html deleted file mode 100644 index b85670ae9c..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -definition-properties-web-properties-connect-properties-query | SCOW - - - - - -

definition-properties-web-properties-connect-properties-query

query Type

-

object (Details)

-

query Properties

-
PropertyTypeRequiredNullableDefined by
^.*$stringOptionalcannot be nullUntitled schema
-

Pattern: ^.*$

-

^.*$

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect.html deleted file mode 100644 index 2fc7fafab7..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - -definition-properties-web-properties-connect | SCOW - - - - - -

definition-properties-web-properties-connect

connect Type

-

object (Details)

-

connect Properties

-
PropertyTypeRequiredNullableDefined by
methodMergedRequiredcannot be nullUntitled schema
pathstringRequiredcannot be nullUntitled schema
queryobjectOptionalcannot be nullUntitled schema
formDataobjectOptionalcannot be nullUntitled schema
-

method

-

连接所使用的HTTP方法

-

method

- -

method Type

-

merged type (Details)

-

any of

- -

path

-

启动的相对路径

-

path

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

path Type

-

string

-

query

-

query参数

-

query

- -

query Type

-

object (Details)

-

formData

-

设置为POST时,需要以form data形式提交的数据

-

formData

- -

formData Type

-

object (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script.html deleted file mode 100644 index 082078304e..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-web-properties-script | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web.html b/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web.html deleted file mode 100644 index 404eec4925..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - -definition-properties-web | SCOW - - - - - -

definition-properties-web

web Type

-

object (Details)

-

web Properties

-
PropertyTypeRequiredNullableDefined by
beforeScriptstringRequiredcannot be nullUntitled schema
scriptstringRequiredcannot be nullUntitled schema
connectobjectRequiredcannot be nullUntitled schema
-

beforeScript

-

启动应用之前的准备命令。具体参考文档

-

beforeScript

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

beforeScript Type

-

string

-

script

-

启动应用的命令。可以使用beforeScript中定义的变量

-

script

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

script Type

-

string

-

connect

-

如何连接应用

-

connect

- -

connect Type

-

object (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/app/definition.html b/pr-preview/pr-1298/docs/refs/config/app/definition.html deleted file mode 100644 index 69f7070403..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/app/definition.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - -definition | SCOW - - - - - -

definition

Untitled object in undefined Type

-

object (Details)

-

Untitled object in undefined Properties

-
PropertyTypeRequiredNullableDefined by
namestringRequiredcannot be nullUntitled schema
nodesarrayOptionalcannot be nullUntitled schema
typeMergedRequiredcannot be nullUntitled schema
webobjectOptionalcannot be nullUntitled schema
vncobjectOptionalcannot be nullUntitled schema
-

name

-

App名

-

name

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

name Type

-

string

-

nodes

-

支持启动这个App的节点名。如果不设置,则所有节点都可以运行

-

nodes

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string[]

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

nodes Type

-

string[]

-

type

-

应用类型

-

type

- -

type Type

-

merged type (Details)

-

any of

- -

web

-

web

- -

web Type

-

object (Details)

-

vnc

-

vnc

- -

vnc Type

-

object (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster.html b/pr-preview/pr-1298/docs/refs/config/cluster.html deleted file mode 100644 index c7b1fe3505..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - -cluster | SCOW - - - - - -

README

-

Top-level Schemas

- -

Other Schemas

-

Objects

- -

Arrays

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname.html deleted file mode 100644 index 3781aa1488..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-displayname | SCOW - - - - - -

definition-properties-displayname

displayName Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore.html deleted file mode 100644 index e4a8918e73..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-misignore | SCOW - - - - - -

definition-properties-misignore

misIgnore Type

-

boolean

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0.html deleted file mode 100644 index 75d5c64128..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-scheduler-anyof-0 | SCOW - - - - - -

definition-properties-scheduler-anyof-0

0 Type

-

string

-

0 Constraints

-

constant: the value of this property must be equal to:

-
"slurm"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler.html deleted file mode 100644 index d81d8140dd..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -definition-properties-scheduler | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items.html deleted file mode 100644 index bc1da80c87..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-computenodes-items | SCOW - - - - - -

definition-properties-slurm-properties-computenodes-items

items Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes.html deleted file mode 100644 index d331cb5e10..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-slurm-properties-computenodes | SCOW - - - - - -

definition-properties-slurm-properties-computenodes

computeNodes Type

-

string[]

-

computeNodes Default Value

-

The default value is:

-
[]
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items.html deleted file mode 100644 index f0f8a806fc..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-loginnodes-items | SCOW - - - - - -

definition-properties-slurm-properties-loginnodes-items

items Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes.html deleted file mode 100644 index c8232e6bec..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-slurm-properties-loginnodes | SCOW - - - - - -

definition-properties-slurm-properties-loginnodes

loginNodes Type

-

string[]

-

loginNodes Default Value

-

The default value is:

-
[]
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename.html deleted file mode 100644 index cd2a79e32a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-mis-properties-associationtablename | SCOW - - - - - -

definition-properties-slurm-properties-mis-properties-associationtablename

associationTableName Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword.html deleted file mode 100644 index a1f08eff12..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-mis-properties-dbpassword | SCOW - - - - - -

definition-properties-slurm-properties-mis-properties-dbpassword

dbPassword Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl.html deleted file mode 100644 index b042cad4a5..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-mis-properties-managerurl | SCOW - - - - - -

definition-properties-slurm-properties-mis-properties-managerurl

managerUrl Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath.html deleted file mode 100644 index 30d250e374..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-mis-properties-scriptpath | SCOW - - - - - -

definition-properties-slurm-properties-mis-properties-scriptpath

scriptPath Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis.html deleted file mode 100644 index f61ff9eca4..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - -definition-properties-slurm-properties-mis | SCOW - - - - - -

definition-properties-slurm-properties-mis

mis Type

-

object (Details)

-

mis Properties

-
PropertyTypeRequiredNullableDefined by
managerUrlstringRequiredcannot be nullUntitled schema
dbPasswordstringRequiredcannot be nullUntitled schema
associationTableNamestringRequiredcannot be nullUntitled schema
scriptPathstringRequiredcannot be nullUntitled schema
-

managerUrl

-

slurm manager节点的URL

-

managerUrl

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

managerUrl Type

-

string

-

dbPassword

-

slurmdbd的数据库密码

-

dbPassword

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

dbPassword Type

-

string

-

associationTableName

-

user_association表名

-

associationTableName

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

associationTableName Type

-

string

-

scriptPath

-

slurm.sh绝对路径

-

scriptPath

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

scriptPath Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment.html deleted file mode 100644 index c0d79bfaea..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties--properties-comment | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties--properties-comment

comment Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores.html deleted file mode 100644 index a223998f46..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties--properties-cores | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties--properties-cores

cores Type

-

integer

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus.html deleted file mode 100644 index b1465d33f8..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties--properties-gpus | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties--properties-gpus

gpus Type

-

integer

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem.html deleted file mode 100644 index 1942c205b4..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties--properties-mem | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties--properties-mem

mem Type

-

integer

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes.html deleted file mode 100644 index 2817fbb37f..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties--properties-nodes | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties--properties-nodes

nodes Type

-

integer

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items.html deleted file mode 100644 index c84d42181f..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items

items Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos.html deleted file mode 100644 index 9b6933c4e9..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties--properties-qos | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties--properties-qos

qos Type

-

string[]

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-.html deleted file mode 100644 index ac3e134d48..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties- | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties-

^.*$ Type

-

object (Details)

-

^.*$ Properties

-
PropertyTypeRequiredNullableDefined by
memintegerRequiredcannot be nullUntitled schema
coresintegerRequiredcannot be nullUntitled schema
gpusintegerRequiredcannot be nullUntitled schema
nodesintegerRequiredcannot be nullUntitled schema
qosarrayOptionalcannot be nullUntitled schema
commentstringOptionalcannot be nullUntitled schema
-

mem

-

内存,单位M

-

mem

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

mem Type

-

integer

-

cores

-

核心数

-

cores

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

cores Type

-

integer

-

gpus

-

GPU卡数

-

gpus

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

gpus Type

-

integer

-

nodes

-

节点数

-

nodes

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

nodes Type

-

integer

-

qos

-

qos

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string[]

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

qos Type

-

string[]

-

comment

-

计费项说明

-

comment

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

comment Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties.html deleted file mode 100644 index bcce8ee42d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions-patternproperties | SCOW - - - - - -

definition-properties-slurm-properties-partitions-patternproperties

patternProperties Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions.html deleted file mode 100644 index 2eff124a37..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -definition-properties-slurm-properties-partitions | SCOW - - - - - -

definition-properties-slurm-properties-partitions

partitions Type

-

object (Details)

-

partitions Properties

-
PropertyTypeRequiredNullableDefined by
^.*$objectOptionalcannot be nullUntitled schema
-

Pattern: ^.*$

-

^.*$

- -

^.*$ Type

-

object (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm.html deleted file mode 100644 index d04454e43b..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -definition-properties-slurm | SCOW - - - - - -

definition-properties-slurm

slurm Type

-

object (Details)

-

slurm Properties

-
PropertyTypeRequiredNullableDefined by
loginNodesarrayRequiredcannot be nullUntitled schema
computeNodesarrayRequiredcannot be nullUntitled schema
partitionsobjectRequiredcannot be nullUntitled schema
misobjectOptionalcannot be nullUntitled schema
-

loginNodes

-

集群的登录节点地址

-

loginNodes

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string[]

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

loginNodes Type

-

string[]

-

loginNodes Default Value

-

The default value is:

-
[]
-

computeNodes

-

集群的计算节点地址

-

computeNodes

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string[]

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

computeNodes Type

-

string[]

-

computeNodes Default Value

-

The default value is:

-
[]
-

partitions

-

partitions

- -

partitions Type

-

object (Details)

-

mis

-

slurm的MIS配置

-

mis

- -

mis Type

-

object (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/cluster/definition.html b/pr-preview/pr-1298/docs/refs/config/cluster/definition.html deleted file mode 100644 index 265f16f45a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/cluster/definition.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -definition | SCOW - - - - - -

definition

Untitled object in undefined Type

-

object (Details)

-

Untitled object in undefined Properties

-
PropertyTypeRequiredNullableDefined by
displayNamestringRequiredcannot be nullUntitled schema
schedulerMergedRequiredcannot be nullUntitled schema
slurmobjectRequiredcannot be nullUntitled schema
misIgnorebooleanRequiredcannot be nullUntitled schema
-

displayName

-

集群的显示名称

-

displayName

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

displayName Type

-

string

-

scheduler

-

集群所使用的调度器,目前只支持slurm

-

scheduler

- -

scheduler Type

-

merged type (Details)

-

any of

- -

scheduler Default Value

-

The default value is:

-
"slurm"
-

slurm

-

slurm

- -

slurm Type

-

object (Details)

-

misIgnore

-

在实际进行MIS操作时忽略这个集群

-

misIgnore

-
    -
  • -

    is required

    -
  • -
  • -

    Type: boolean

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

misIgnore Type

-

boolean

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts.html deleted file mode 100644 index 893a67f5fd..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - -clusterTexts | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment.html deleted file mode 100644 index 70ef23a782..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-patternproperties--properties-clustercomment | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content.html deleted file mode 100644 index f5df1a7bcc..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-patternproperties--properties-extras-items-properties-content | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title.html deleted file mode 100644 index 38f3dd3f29..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-patternproperties--properties-extras-items-properties-title | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items.html deleted file mode 100644 index 16a6252bbc..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - -definition-patternproperties--properties-extras-items | SCOW - - - - - -

definition-patternproperties--properties-extras-items

items Type

-

object (Details)

-

items Properties

-
PropertyTypeRequiredNullableDefined by
titlestringRequiredcannot be nullUntitled schema
contentstringRequiredcannot be nullUntitled schema
-

title

-

标题

-

title

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

title Type

-

string

-

content

-

内容

-

content

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

content Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras.html deleted file mode 100644 index ff98e0ed7f..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-patternproperties--properties-extras | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-.html deleted file mode 100644 index 83a89de1da..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - -definition-patternproperties- | SCOW - - - - - -

definition-patternproperties-

^.*$ Type

-

object (Details)

-

^.*$ Properties

-
PropertyTypeRequiredNullableDefined by
clusterCommentstringOptionalcannot be nullUntitled schema
extrasarrayOptionalcannot be nullUntitled schema
-

clusterComment

-

集群说明

-

clusterComment

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

clusterComment Type

-

string

-

extras

-

extras

- -

extras Type

-

object[] (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties.html deleted file mode 100644 index 6f8621cbc1..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-patternproperties | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition.html b/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition.html deleted file mode 100644 index 052b865e69..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -definition | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis.html b/pr-preview/pr-1298/docs/refs/config/mis.html deleted file mode 100644 index 4d91334e08..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -mis | SCOW - - - - - -

README

-

Top-level Schemas

- -

Other Schemas

-

Objects

- -

Arrays

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage.html deleted file mode 100644 index e1fe4f6484..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-accountnamepattern-properties-errormessage | SCOW - - - - - -

definition-properties-accountnamepattern-properties-errormessage

errorMessage Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex.html deleted file mode 100644 index 370899d032..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-accountnamepattern-properties-regex | SCOW - - - - - -

definition-properties-accountnamepattern-properties-regex

regex Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern.html deleted file mode 100644 index be343dcb74..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - -definition-properties-accountnamepattern | SCOW - - - - - -

definition-properties-accountnamepattern

accountNamePattern Type

-

object (Details)

-

accountNamePattern Properties

-
PropertyTypeRequiredNullableDefined by
regexstringRequiredcannot be nullUntitled schema
errorMessagestringOptionalcannot be nullUntitled schema
-

regex

-

账户名的正则规则

-

regex

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

regex Type

-

string

-

errorMessage

-

如果账户名不符合规则显示什么

-

errorMessage

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

errorMessage Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl.html deleted file mode 100644 index 295e20a226..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-authurl | SCOW - - - - - -

definition-properties-authurl

authUrl Type

-

string

-

authUrl Default Value

-

The default value is:

-
"http://auth:5000"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype.html deleted file mode 100644 index 04bc1fb4d8..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-changejobpricetype | SCOW - - - - - -

definition-properties-changejobpricetype

changeJobPriceType Type

-

string

-

changeJobPriceType Default Value

-

The default value is:

-
"作业费用更改"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname.html deleted file mode 100644 index d776f845f0..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-db-properties-dbname | SCOW - - - - - -

definition-properties-db-properties-dbname

dbName Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug.html deleted file mode 100644 index be89539a2c..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-db-properties-debug | SCOW - - - - - -

definition-properties-db-properties-debug

debug Type

-

boolean

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host.html deleted file mode 100644 index 217d4db7bc..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-db-properties-host | SCOW - - - - - -

definition-properties-db-properties-host

host Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password.html deleted file mode 100644 index d4e237284c..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-db-properties-password | SCOW - - - - - -

definition-properties-db-properties-password

password Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port.html deleted file mode 100644 index 9f5b0f42e3..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-db-properties-port | SCOW - - - - - -

definition-properties-db-properties-port

port Type

-

integer

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user.html deleted file mode 100644 index edd07d1927..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-db-properties-user | SCOW - - - - - -

definition-properties-db-properties-user

user Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db.html deleted file mode 100644 index c1ed438cf8..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - -definition-properties-db | SCOW - - - - - -

definition-properties-db

db Type

-

object (Details)

-

db Properties

-
PropertyTypeRequiredNullableDefined by
hoststringRequiredcannot be nullUntitled schema
portintegerRequiredcannot be nullUntitled schema
userstringRequiredcannot be nullUntitled schema
passwordstringRequiredcannot be nullUntitled schema
dbNamestringRequiredcannot be nullUntitled schema
debugbooleanRequiredcannot be nullUntitled schema
-

host

-

数据库地址

-

host

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

host Type

-

string

-

port

-

数据库端口

-

port

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

port Type

-

integer

-

user

-

数据库用户名

-

user

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

user Type

-

string

-

password

-

数据库密码

-

password

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

password Type

-

string

-

dbName

-

数据库数据库名

-

dbName

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

dbName Type

-

string

-

debug

-

打开ORM的debug模式

-

debug

-
    -
  • -

    is required

    -
  • -
  • -

    Type: boolean

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

debug Type

-

boolean

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize.html deleted file mode 100644 index 40fcefecc0..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-batchsize | SCOW - - - - - -

definition-properties-fetchjobs-properties-batchsize

batchSize Type

-

integer

-

batchSize Default Value

-

The default value is:

-
100000
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname.html deleted file mode 100644 index 240684d81d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-db-properties-dbname | SCOW - - - - - -

definition-properties-fetchjobs-properties-db-properties-dbname

dbName Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host.html deleted file mode 100644 index 8cee365cd6..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-db-properties-host | SCOW - - - - - -

definition-properties-fetchjobs-properties-db-properties-host

host Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password.html deleted file mode 100644 index 2c16f637fa..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-db-properties-password | SCOW - - - - - -

definition-properties-fetchjobs-properties-db-properties-password

password Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port.html deleted file mode 100644 index 02f09ebe0a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-db-properties-port | SCOW - - - - - -

definition-properties-fetchjobs-properties-db-properties-port

port Type

-

integer

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename.html deleted file mode 100644 index 3a7b35a06a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-db-properties-tablename | SCOW - - - - - -

definition-properties-fetchjobs-properties-db-properties-tablename

tableName Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user.html deleted file mode 100644 index aea3b05d4e..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-db-properties-user | SCOW - - - - - -

definition-properties-fetchjobs-properties-db-properties-user

user Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db.html deleted file mode 100644 index a0875e6c44..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-db | SCOW - - - - - -

definition-properties-fetchjobs-properties-db

db Type

-

object (Details)

-

db Properties

-
PropertyTypeRequiredNullableDefined by
hoststringRequiredcannot be nullUntitled schema
portintegerRequiredcannot be nullUntitled schema
userstringRequiredcannot be nullUntitled schema
passwordstringRequiredcannot be nullUntitled schema
dbNamestringRequiredcannot be nullUntitled schema
tableNamestringRequiredcannot be nullUntitled schema
-

host

-

job_table数据库地址

-

host

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

host Type

-

string

-

port

-

job_table数据库端口

-

port

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

port Type

-

integer

-

user

-

job_table数据库用户名

-

user

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

user Type

-

string

-

password

-

job_table数据库密码

-

password

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

password Type

-

string

-

dbName

-

job_table数据库名

-

dbName

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

dbName Type

-

string

-

tableName

-

job_table中源数据所在的表名

-

tableName

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

tableName Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default.html deleted file mode 100644 index 49fe5cb6b1..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-periodicfetch-default | SCOW - - - - - -

definition-properties-fetchjobs-properties-periodicfetch-default

default Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron.html deleted file mode 100644 index 68a69028bf..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-periodicfetch-properties-cron | SCOW - - - - - -

definition-properties-fetchjobs-properties-periodicfetch-properties-cron

cron Type

-

string

-

cron Default Value

-

The default value is:

-
"* * 1 * * *"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled.html deleted file mode 100644 index 7c672f73d3..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-periodicfetch-properties-enabled | SCOW - - - - - -

definition-properties-fetchjobs-properties-periodicfetch-properties-enabled

enabled Type

-

boolean

-

enabled Default Value

-

The default value is:

-
true
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch.html deleted file mode 100644 index 91967afefb..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-periodicfetch | SCOW - - - - - -

definition-properties-fetchjobs-properties-periodicfetch

periodicFetch Type

-

object (Details)

-

periodicFetch Default Value

-

The default value is:

-
{}
-

periodicFetch Properties

-
PropertyTypeRequiredNullableDefined by
enabledbooleanRequiredcannot be nullUntitled schema
cronstringRequiredcannot be nullUntitled schema
-

enabled

-

是否默认打开

-

enabled

-
    -
  • -

    is required

    -
  • -
  • -

    Type: boolean

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

enabled Type

-

boolean

-

enabled Default Value

-

The default value is:

-
true
-

cron

-

获取信息的周期的cron表达式

-

cron

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

cron Type

-

string

-

cron Default Value

-

The default value is:

-
"* * 1 * * *"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex.html deleted file mode 100644 index 5c6eb21e4d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-fetchjobs-properties-startindex | SCOW - - - - - -

definition-properties-fetchjobs-properties-startindex

startIndex Type

-

integer

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs.html deleted file mode 100644 index b037dae867..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -definition-properties-fetchjobs | SCOW - - - - - -

definition-properties-fetchjobs

fetchJobs Type

-

object (Details)

-

fetchJobs Properties

-
PropertyTypeRequiredNullableDefined by
dbobjectRequiredcannot be nullUntitled schema
startIndexintegerRequiredcannot be nullUntitled schema
batchSizeintegerRequiredcannot be nullUntitled schema
periodicFetchobjectRequiredcannot be nullUntitled schema
-

db

-

db

- -

db Type

-

object (Details)

-

startIndex

-

从哪个biJobIndex开始获取数据

-

startIndex

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

startIndex Type

-

integer

-

batchSize

-

为了防止一次性获取太多数据占用过多内存,每次获取的任务信息数量。如果一次需要获取的信息超过这个数字,那么将会连续多次获取

-

batchSize

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

batchSize Type

-

integer

-

batchSize Default Value

-

The default value is:

-
100000
-

periodicFetch

-

periodicFetch

- -

periodicFetch Type

-

object (Details)

-

periodicFetch Default Value

-

The default value is:

-
{}
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment.html deleted file mode 100644 index 9b001fa392..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-jobchargecomment | SCOW - - - - - -

definition-properties-jobchargecomment

jobChargeComment Type

-

string

-

jobChargeComment Default Value

-

The default value is:

-
"集群: {cluster},作业ID:{idJob}"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype.html deleted file mode 100644 index bbab8478fe..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-jobchargetype | SCOW - - - - - -

definition-properties-jobchargetype

jobChargeType Type

-

string

-

jobChargeType Default Value

-

The default value is:

-
"作业费用"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl.html deleted file mode 100644 index 3c89a92229..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-portalurl | SCOW - - - - - -

definition-properties-portalurl

portalUrl Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items.html deleted file mode 100644 index b594414e4e..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-predefinedchargingtypes-items | SCOW - - - - - -

definition-properties-predefinedchargingtypes-items

items Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes.html b/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes.html deleted file mode 100644 index 744483a53d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-predefinedchargingtypes | SCOW - - - - - -

definition-properties-predefinedchargingtypes

predefinedChargingTypes Type

-

string[]

-

predefinedChargingTypes Default Value

-

The default value is:

-
[]
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/mis/definition.html b/pr-preview/pr-1298/docs/refs/config/mis/definition.html deleted file mode 100644 index 38d5385c12..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/mis/definition.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - -definition | SCOW - - - - - -

definition

Untitled object in undefined Type

-

object (Details)

-

Untitled object in undefined Properties

-
PropertyTypeRequiredNullableDefined by
dbobjectRequiredcannot be nullUntitled schema
authUrlstringRequiredcannot be nullUntitled schema
portalUrlstringOptionalcannot be nullUntitled schema
predefinedChargingTypesarrayRequiredcannot be nullUntitled schema
accountNamePatternobjectOptionalcannot be nullUntitled schema
fetchJobsobjectRequiredcannot be nullUntitled schema
jobChargeTypestringRequiredcannot be nullUntitled schema
changeJobPriceTypestringRequiredcannot be nullUntitled schema
jobChargeCommentstringRequiredcannot be nullUntitled schema
-

db

-

db

- -

db Type

-

object (Details)

-

authUrl

-

认证服务的地址。一定要加协议(http://)

-

authUrl

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

authUrl Type

-

string

-

authUrl Default Value

-

The default value is:

-
"http://auth:5000"
-

portalUrl

-

如果部署了门户系统,设置门户系统的部署URL或者pathname

-

portalUrl

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

portalUrl Type

-

string

-

predefinedChargingTypes

-

预定义的充值类型

-

predefinedChargingTypes

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string[]

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

predefinedChargingTypes Type

-

string[]

-

predefinedChargingTypes Default Value

-

The default value is:

-
[]
-

accountNamePattern

-

accountNamePattern

- -

accountNamePattern Type

-

object (Details)

-

fetchJobs

-

fetchJobs

- -

fetchJobs Type

-

object (Details)

-

jobChargeType

-

对作业计费时,计费费用的的付款类型

-

jobChargeType

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

jobChargeType Type

-

string

-

jobChargeType Default Value

-

The default value is:

-
"作业费用"
-

changeJobPriceType

-

修改作业费用时所使用的付款/充值类型

-

changeJobPriceType

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

changeJobPriceType Type

-

string

-

changeJobPriceType Default Value

-

The default value is:

-
"作业费用更改"
-

jobChargeComment

-

给作业扣费时,扣费项的备注。可以使用{price}使用作业信息中的字段。字段参考src/entities/JobInfo

-

jobChargeComment

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

jobChargeComment Type

-

string

-

jobChargeComment Default Value

-

The default value is:

-
"集群: {cluster},作业ID:{idJob}"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal.html b/pr-preview/pr-1298/docs/refs/config/portal.html deleted file mode 100644 index c7e50d6c3a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -portal | SCOW - - - - - -

README

-

Top-level Schemas

- -

Other Schemas

-

Objects

- -

Arrays

-
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir.html deleted file mode 100644 index 0a25e6d2a2..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-appjobsdir | SCOW - - - - - -

definition-properties-appjobsdir

appJobsDir Type

-

string

-

appJobsDir Default Value

-

The default value is:

-
"scow/appData"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps.html deleted file mode 100644 index db9be4bd76..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-apps | SCOW - - - - - -

definition-properties-apps

apps Type

-

boolean

-

apps Default Value

-

The default value is:

-
true
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext.html deleted file mode 100644 index 143941bdf2..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-hometext-properties-defaulttext | SCOW - - - - - -

definition-properties-hometext-properties-defaulttext

defaultText Type

-

string

-

defaultText Default Value

-

The default value is:

-
"Super Computing on Web"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default.html deleted file mode 100644 index 63757e2248..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-hometext-properties-hostnamemap-default | SCOW - - - - - -

definition-properties-hometext-properties-hostnamemap-default

default Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-.html deleted file mode 100644 index 6ea5dc91c0..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-hometext-properties-hostnamemap-patternproperties- | SCOW - - - - - -

definition-properties-hometext-properties-hostnamemap-patternproperties-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties.html deleted file mode 100644 index e600467a5a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-hometext-properties-hostnamemap-patternproperties | SCOW - - - - - -

definition-properties-hometext-properties-hostnamemap-patternproperties

patternProperties Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap.html deleted file mode 100644 index 312d04a057..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -definition-properties-hometext-properties-hostnamemap | SCOW - - - - - -

definition-properties-hometext-properties-hostnamemap

hostnameMap Type

-

object (Details)

-

hostnameMap Default Value

-

The default value is:

-
{}
-

hostnameMap Properties

-
PropertyTypeRequiredNullableDefined by
^.*$stringOptionalcannot be nullUntitled schema
-

Pattern: ^.*$

-

^.*$

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext.html deleted file mode 100644 index 81751a7a5b..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - -definition-properties-hometext | SCOW - - - - - -

definition-properties-hometext

homeText Type

-

object (Details)

-

homeText Properties

-
PropertyTypeRequiredNullableDefined by
defaultTextstringRequiredcannot be nullUntitled schema
hostnameMapobjectRequiredcannot be nullUntitled schema
-

defaultText

-

默认主页文本

-

defaultText

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

defaultText Type

-

string

-

defaultText Default Value

-

The default value is:

-
"Super Computing on Web"
-

hostnameMap

-

根据域名(hostname,不包括port)不同,显示在主页上的文本

-

hostnameMap

- -

hostnameMap Type

-

object (Details)

-

hostnameMap Default Value

-

The default value is:

-
{}
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext.html deleted file mode 100644 index ad09b0e30d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-hometitle-properties-defaulttext | SCOW - - - - - -

definition-properties-hometitle-properties-defaulttext

defaultText Type

-

string

-

defaultText Default Value

-

The default value is:

-
"SCOW"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default.html deleted file mode 100644 index 2be361455d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-hometitle-properties-hostnamemap-default | SCOW - - - - - -

definition-properties-hometitle-properties-hostnamemap-default

default Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-.html deleted file mode 100644 index aed198103e..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-hometitle-properties-hostnamemap-patternproperties- | SCOW - - - - - -

definition-properties-hometitle-properties-hostnamemap-patternproperties-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties.html deleted file mode 100644 index 2f577c02e7..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-hometitle-properties-hostnamemap-patternproperties | SCOW - - - - - -

definition-properties-hometitle-properties-hostnamemap-patternproperties

patternProperties Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap.html deleted file mode 100644 index 4307f65a48..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -definition-properties-hometitle-properties-hostnamemap | SCOW - - - - - -

definition-properties-hometitle-properties-hostnamemap

hostnameMap Type

-

object (Details)

-

hostnameMap Default Value

-

The default value is:

-
{}
-

hostnameMap Properties

-
PropertyTypeRequiredNullableDefined by
^.*$stringOptionalcannot be nullUntitled schema
-

Pattern: ^.*$

-

^.*$

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

^.*$ Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle.html deleted file mode 100644 index c20f38eed5..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - -definition-properties-hometitle | SCOW - - - - - -

definition-properties-hometitle

homeTitle Type

-

object (Details)

-

homeTitle Properties

-
PropertyTypeRequiredNullableDefined by
defaultTextstringRequiredcannot be nullUntitled schema
hostnameMapobjectRequiredcannot be nullUntitled schema
-

defaultText

-

默认主页标题

-

defaultText

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

defaultText Type

-

string

-

defaultText Default Value

-

The default value is:

-
"SCOW"
-

hostnameMap

-

根据域名(hostname,不包括port)不同,显示在主页上的标题

-

hostnameMap

- -

hostnameMap Type

-

object (Details)

-

hostnameMap Default Value

-

The default value is:

-
{}
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement.html deleted file mode 100644 index 5cad0b3de2..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-jobmanagement | SCOW - - - - - -

definition-properties-jobmanagement

jobManagement Type

-

boolean

-

jobManagement Default Value

-

The default value is:

-
true
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled.html deleted file mode 100644 index 0d7a1a46ec..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-logindesktop-properties-enabled | SCOW - - - - - -

definition-properties-logindesktop-properties-enabled

enabled Type

-

boolean

-

enabled Default Value

-

The default value is:

-
true
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops.html deleted file mode 100644 index 2f3e94918b..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-logindesktop-properties-maxdesktops | SCOW - - - - - -

definition-properties-logindesktop-properties-maxdesktops

maxDesktops Type

-

integer

-

maxDesktops Default Value

-

The default value is:

-
3
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0.html deleted file mode 100644 index bf5034f50a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-logindesktop-properties-wms-default-0 | SCOW - - - - - -

definition-properties-logindesktop-properties-wms-default-0

0 Type

-

unknown

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name.html deleted file mode 100644 index 96dc90d0c6..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-logindesktop-properties-wms-items-properties-name | SCOW - - - - - -

definition-properties-logindesktop-properties-wms-items-properties-name

name Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm.html deleted file mode 100644 index fa368543a9..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-logindesktop-properties-wms-items-properties-wm | SCOW - - - - - -

definition-properties-logindesktop-properties-wms-items-properties-wm

wm Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items.html deleted file mode 100644 index 644415a960..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - -definition-properties-logindesktop-properties-wms-items | SCOW - - - - - -

definition-properties-logindesktop-properties-wms-items

items Type

-

object (Details)

-

items Properties

-
PropertyTypeRequiredNullableDefined by
namestringRequiredcannot be nullUntitled schema
wmstringRequiredcannot be nullUntitled schema
-

name

-

名称

-

name

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

name Type

-

string

-

wm

-

wm值

-

wm

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

wm Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms.html deleted file mode 100644 index e6f37c1155..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-logindesktop-properties-wms | SCOW - - - - - -

definition-properties-logindesktop-properties-wms

wms Type

-

object[] (Details)

-

wms Default Value

-

The default value is:

-
[
{
"name": "xfce",
"wm": "xfce"
}
]
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop.html deleted file mode 100644 index 30e3884ea9..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - -definition-properties-logindesktop | SCOW - - - - - -

definition-properties-logindesktop

loginDesktop Type

-

object (Details)

-

loginDesktop Properties

-
PropertyTypeRequiredNullableDefined by
enabledbooleanRequiredcannot be nullUntitled schema
wmsarrayRequiredcannot be nullUntitled schema
maxDesktopsintegerRequiredcannot be nullUntitled schema
-

enabled

-

是否启动登录节点上的桌面功能

-

enabled

-
    -
  • -

    is required

    -
  • -
  • -

    Type: boolean

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

enabled Type

-

boolean

-

enabled Default Value

-

The default value is:

-
true
-

wms

-

wms

- -

wms Type

-

object[] (Details)

-

wms Default Value

-

The default value is:

-
[
{
"name": "xfce",
"wm": "xfce"
}
]
-

maxDesktops

-

最多创建多少个桌面

-

maxDesktops

-
    -
  • -

    is required

    -
  • -
  • -

    Type: integer

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

maxDesktops Type

-

integer

-

maxDesktops Default Value

-

The default value is:

-
3
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl.html deleted file mode 100644 index 89bb189339..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-misurl | SCOW - - - - - -

definition-properties-misurl

misUrl Type

-

string

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir.html deleted file mode 100644 index af9b5e8d8b..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-savedjobsdir | SCOW - - - - - -

definition-properties-savedjobsdir

savedJobsDir Type

-

string

-

savedJobsDir Default Value

-

The default value is:

-
"scow/savedJobs"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell.html deleted file mode 100644 index 8cdecdc804..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-shell | SCOW - - - - - -

definition-properties-shell

shell Type

-

boolean

-

shell Default Value

-

The default value is:

-
true
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd.html deleted file mode 100644 index 05ad156113..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-submitjobdefaultpwd | SCOW - - - - - -

definition-properties-submitjobdefaultpwd

submitJobDefaultPwd Type

-

string

-

submitJobDefaultPwd Default Value

-

The default value is:

-
"scow/jobs/{name}"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath.html b/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath.html deleted file mode 100644 index d4336ea4eb..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-turbovncpath | SCOW - - - - - -

definition-properties-turbovncpath

turboVNCPath Type

-

string

-

turboVNCPath Default Value

-

The default value is:

-
"/opt/TurboVNC"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/portal/definition.html b/pr-preview/pr-1298/docs/refs/config/portal/definition.html deleted file mode 100644 index 3092d3c0f9..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/portal/definition.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - -definition | SCOW - - - - - -

definition

Untitled object in undefined Type

-

object (Details)

-

Untitled object in undefined Properties

-
PropertyTypeRequiredNullableDefined by
jobManagementbooleanRequiredcannot be nullUntitled schema
loginDesktopobjectRequiredcannot be nullUntitled schema
appsbooleanRequiredcannot be nullUntitled schema
homeTextobjectRequiredcannot be nullUntitled schema
homeTitleobjectRequiredcannot be nullUntitled schema
misUrlstringOptionalcannot be nullUntitled schema
shellbooleanRequiredcannot be nullUntitled schema
submitJobDefaultPwdstringRequiredcannot be nullUntitled schema
savedJobsDirstringRequiredcannot be nullUntitled schema
appJobsDirstringRequiredcannot be nullUntitled schema
turboVNCPathstringRequiredcannot be nullUntitled schema
-

jobManagement

-

是否启动作业管理功能

-

jobManagement

-
    -
  • -

    is required

    -
  • -
  • -

    Type: boolean

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

jobManagement Type

-

boolean

-

jobManagement Default Value

-

The default value is:

-
true
-

loginDesktop

-

loginDesktop

- -

loginDesktop Type

-

object (Details)

-

apps

-

是否启用交互式任务功能

-

apps

-
    -
  • -

    is required

    -
  • -
  • -

    Type: boolean

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

apps Type

-

boolean

-

apps Default Value

-

The default value is:

-
true
-

homeText

-

homeText

- -

homeText Type

-

object (Details)

-

homeTitle

-

homeTitle

- -

homeTitle Type

-

object (Details)

-

misUrl

-

管理系统的部署URL或者路径

-

misUrl

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

misUrl Type

-

string

-

shell

-

是否启用终端功能

-

shell

-
    -
  • -

    is required

    -
  • -
  • -

    Type: boolean

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

shell Type

-

boolean

-

shell Default Value

-

The default value is:

-
true
-

submitJobDefaultPwd

-

提交作业的默认工作目录。使用{name}代替作业名称。相对于用户的家目录

-

submitJobDefaultPwd

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

submitJobDefaultPwd Type

-

string

-

submitJobDefaultPwd Default Value

-

The default value is:

-
"scow/jobs/{name}"
-

savedJobsDir

-

将保存的作业保存到什么位置。相对于用户家目录

-

savedJobsDir

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

savedJobsDir Type

-

string

-

savedJobsDir Default Value

-

The default value is:

-
"scow/savedJobs"
-

appJobsDir

-

将交互式任务的信息保存到什么位置。相对于用户的家目录

-

appJobsDir

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

appJobsDir Type

-

string

-

appJobsDir Default Value

-

The default value is:

-
"scow/appData"
-

turboVNCPath

-

TurboVNC的安装路径

-

turboVNCPath

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

turboVNCPath Type

-

string

-

turboVNCPath Default Value

-

The default value is:

-
"/opt/TurboVNC"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui.html b/pr-preview/pr-1298/docs/refs/config/ui.html deleted file mode 100644 index 46037e773d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -ui | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext.html deleted file mode 100644 index c867298a35..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-footer-properties-defaulttext | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-.html deleted file mode 100644 index 273f6e4452..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-footer-properties-hostnamemap-patternproperties- | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties.html deleted file mode 100644 index 4f333b600d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-footer-properties-hostnamemap-patternproperties | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap.html deleted file mode 100644 index bab3f41f26..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -definition-properties-footer-properties-hostnamemap | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer.html deleted file mode 100644 index 889aa4ac9a..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - -definition-properties-footer | SCOW - - - - - -

definition-properties-footer

-

object (Details)

-

footer Properties

-
PropertyTypeRequiredNullableDefined by
defaultTextstringOptionalcannot be nullUntitled schema
hostnameMapobjectOptionalcannot be nullUntitled schema
-

defaultText

-

默认的footer文本

-

defaultText

-
    -
  • -

    is optional

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

defaultText Type

-

string

-

hostnameMap

-

根据域名(hostname,不包括port)不同,显示在footer上的文本

-

hostnameMap

- -

hostnameMap Type

-

object (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor.html deleted file mode 100644 index f521aa1748..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -definition-properties-primarycolor-properties-defaultcolor | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-.html deleted file mode 100644 index cd5f1cc50d..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-primarycolor-properties-hostnamemap-patternproperties- | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties.html deleted file mode 100644 index f36bb79caf..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -definition-properties-primarycolor-properties-hostnamemap-patternproperties | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap.html deleted file mode 100644 index de91715fcc..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -definition-properties-primarycolor-properties-hostnamemap | SCOW - - - - - - - - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor.html b/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor.html deleted file mode 100644 index 807c664927..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -definition-properties-primarycolor | SCOW - - - - - -

definition-properties-primarycolor

primaryColor Type

-

object (Details)

-

primaryColor Properties

-
PropertyTypeRequiredNullableDefined by
defaultColorstringRequiredcannot be nullUntitled schema
hostnameMapobjectOptionalcannot be nullUntitled schema
-

defaultColor

-

默认主题色

-

defaultColor

-
    -
  • -

    is required

    -
  • -
  • -

    Type: string

    -
  • -
  • -

    cannot be null

    -
  • -
  • -

    defined in: Untitled schema

    -
  • -
-

defaultColor Type

-

string

-

defaultColor Default Value

-

The default value is:

-
"#9B0000"
-

hostnameMap

-

根据域名(hostname,不包括port)不同,应用的主题色

-

hostnameMap

- -

hostnameMap Type

-

object (Details)

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/config/ui/definition.html b/pr-preview/pr-1298/docs/refs/config/ui/definition.html deleted file mode 100644 index 770c8c9ef5..0000000000 --- a/pr-preview/pr-1298/docs/refs/config/ui/definition.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - -definition | SCOW - - - - - -
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/env/auth.html b/pr-preview/pr-1298/docs/refs/env/auth.html deleted file mode 100644 index 902741ecf9..0000000000 --- a/pr-preview/pr-1298/docs/refs/env/auth.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -auth | SCOW - - - - - -

auth

-

环境变量配置

-
名字类型描述默认值
HOST主机名监听地址0.0.0.0
PORT端口号监听端口5000
LOG_LEVEL字符串日志等级info
BASE_PATH字符串认证系统部署地址的base path/
AUTH_TYPE字符串认证类型。将会覆写配置文件
可选项:ldap,ssh
不设置
MOCK_USERS字符串模仿用户,如果这些用户登录,将其ID改为另一个ID。格式:原用户ID=新用户ID,原用户ID=新用户ID。
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/env/gateway.html b/pr-preview/pr-1298/docs/refs/env/gateway.html deleted file mode 100644 index 8c1b9668c1..0000000000 --- a/pr-preview/pr-1298/docs/refs/env/gateway.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -gateway | SCOW - - - - - -

gateway

-

环境变量配置

-
名字类型描述默认值
CLIENT_MAX_BODY_SIZE字符串请求body最大大小,nginx的client_max_body_size配置,从配置项UPLOAD_FILE_SIZE_LIMIT获取1G
ACCESS_LOG字符串nginx的access_log配置/var/log/nginx/access.log
ERROR_LOG字符串nginx的error_log配置/var/log/nginx/error.log
EXTRA字符串更多的配置,将会应用到server块里
SUB_PATH字符串如果要在同一个域名/IP下同时部署portal和web,那么建议把一个部署在/,另一个部署在子路径下,把此配置设置为子路径/mis
SUB_PATH_INTERNAL_URL字符串子路径背后的内网地址。要能从此服务访问http://mis-web:3000
ROOT_PATH_INTERNAL_URL字符串根路径背后的内网地址。要能从此服务访问http://portal-web:3000
AUTH_INTERNAL_URL字符串auth的后端地址。此地址要能本服务处访问。http://auth:5000
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/env/mis-server.html b/pr-preview/pr-1298/docs/refs/env/mis-server.html deleted file mode 100644 index 5fdba39ca7..0000000000 --- a/pr-preview/pr-1298/docs/refs/env/mis-server.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -mis-server | SCOW - - - - - -

mis-server

-

环境变量配置

-
名字类型描述默认值
HOST主机名监听地址0.0.0.0
PORT端口号监听端口5000
LOG_LEVEL字符串日志等级info
SSH_PRIVATE_KEY_PATH字符串SSH私钥路径~/.ssh/id_rsa
SSH_PUBLIC_KEY_PATH字符串SSH公钥路径~/.ssh/id_rsa.pub
DB_NAME字符串存放系统数据的数据库名,将会覆写配置文件。用于测试不设置
DB_PASSWORD字符串管理系统数据库密码,将会覆写配置文件不设置
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/env/mis-web.html b/pr-preview/pr-1298/docs/refs/env/mis-web.html deleted file mode 100644 index e51f7f978a..0000000000 --- a/pr-preview/pr-1298/docs/refs/env/mis-web.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -mis-web | SCOW - - - - - -

mis-web

-

环境变量配置

-
名字类型描述默认值
BASE_PATH字符串整个系统的base path/
SERVER_URL字符串后端服务地址mis-server:5000
AUTH_INTERNAL_URL字符串认证服务内网地址http://auth:5000
PORTAL_DEPLOYED布尔值是否部署了门户系统false
PORTAL_URL字符串如果部署了门户系统,设置URL或者路径。相对于整个系统的base path。将会覆盖配置文件。空字符串等价于未部署门户系统
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/refs/env/portal-web.html b/pr-preview/pr-1298/docs/refs/env/portal-web.html deleted file mode 100644 index d884337e82..0000000000 --- a/pr-preview/pr-1298/docs/refs/env/portal-web.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -portal-web | SCOW - - - - - -

portal-web

-

环境变量配置

-
名字类型描述默认值
BASE_PATH字符串整个系统的base path/
AUTH_INTERNAL_URL字符串认证服务内网地址http://auth:5000
LOGIN_NODES字符串集群的登录节点。将会覆写配置文件。格式:集群ID=登录节点,集群ID=登录节点
SSH_PRIVATE_KEY_PATH字符串SSH私钥路径~/.ssh/id_rsa
SSH_PUBLIC_KEY_PATH字符串SSH公钥路径~/.ssh/id_rsa.pub
SERVER_URL字符串门户后端的路径portal-server:5000
MIS_DEPLOYED布尔值是否部署了管理系统false
MIS_URL字符串如果部署了管理系统,设置URL或者路径。相对于整个系统的base path。将会覆盖配置文件。空字符串等价于未部署管理系统
MIS_SEVER_URL字符串如果部署了管理系统,管理系统后端的路径。未部署管理系统时为空字符串
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/docs/slurm.html b/pr-preview/pr-1298/docs/slurm.html deleted file mode 100644 index 9bd9d195c4..0000000000 --- a/pr-preview/pr-1298/docs/slurm.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - -slurm集群部署 | SCOW - - - - - -

slurm集群部署

1. 安装Munge

-

1.1 创建Munge用户

-

Munge用户要确保管理节点和计算(登录)节点的UID和GID相同,所有节点都需要安装Munge。

-
groupadd -g 1108 munge
useradd -m -c "Munge Uid 'N' Gid Emporium" -d /var/lib/munge -u 1108 -g munge -s /sbin/nologin munge
-

1.2 生成熵池

-

在管理节点上执行

-
yum install -y rng-tools
-

使用/dev/urandom来做熵源

-
rngd -r /dev/urandom

# 修改service参数
vim /usr/lib/systemd/system/rngd.service
# 修改如下:
[service]
ExecStart=/sbin/rngd -f -r /dev/urandom
#退出报存
-

启动rngd

-
systemctl daemon-reload
systemctl start rngd
systemctl enable rngd
-

查看服务状态systemctl status rngd

-

img

-

1.3 部署Munge

-

Munge是认证服务,实现本地或者远程主机进程的UID、GID验证。

-
yum install epel-release -y
yum install munge munge-libs munge-devel -y
-

创建全局密钥,在管理节点创建全局使用的密钥

-
/usr/sbin/create-munge-key -r
dd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.key
-

密钥同步到所有其他节点:

-
scp -p /etc/munge/munge.key root@login01:/etc/munge/
scp -p /etc/munge/munge.key root@compute01:/etc/munge/
scp -p /etc/munge/munge.key root@compute02:/etc/munge/

# 所有节点赋权
chown munge: /etc/munge/munge.key
chmod 400 /etc/munge/munge.key
-

所有节点都执行启动命令:

-
systemctl start munge
systemctl enable munge
-

查看状态systemctl status munge

-

img

-

1.4 测试Munge服务

-

每个节点与控制节点进行连接验证

-

本地查看凭据:

-
munge -n
-

img

-

本地解码:

-
munge -n | unmunge
-

img

-

验证远程解码:

-
munge -n | ssh compute01 unmunge
-

img

-

munge凭证基准测试

-
remunge
-

img

-

2. 安装slurm

-

2.1 安装mariadb

-

安装mariadb,作为Slurm Accounting配置,在管理节点执行:

-
yum -y install mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysql

set password=password('81SLURM@@rabGTjN7');
create database slurm_acct_db;
quit
-

创建slurm用户,并为其赋予slurm_acct_db数据库的所有权限

-
mysql -uroot -p'81SLURM@@rabGTjN7'
create user slurm;

grant all on slurm_acct_db.* TO 'slurm'@'localhost' identified by '123456' with grant option;

flush privileges;
-

2.2 创建slurm用户

-

在所有节点执行:

-
groupadd -g 1109 slurm
useradd -m -c "Slurm manager" -d /var/lib/slurm -u 1109 -g slurm -s /bin/bash slurm
-

2.3 安装slurm依赖

-

在所有节点执行:

-
yum install gcc gcc-c++ readline-devel perl-ExtUtils-MakeMaker pam-devel rpm-build mysql-devel python3 -y
-

2.4 制作rpm包

-
-

以下操作在管理节点执行

-
-

下载slurm

-
wget https://download.schedmd.com/slurm/slurm-22.05.3.tar.bz2
-

安装rpmbuild,编译slurm,rpmbuild制作rpm包

-
yum install rpm-build -y

rpmbuild -ta --nodeps slurm-22.05.3.tar.bz2
-

编译制作完成后,可在目录/root/rpmbuild/RPMS/x86_64下得到如下rpm包

-

img

-

将编译好的rpm包拷贝到其他节点

-
mkdir -p /root/rpmbuild/RPMS/
scp -r /root/rpmbuild/RPMS/x86_64 root@login01:/root/rpmbuild/RPMS/x86_64
scp -r /root/rpmbuild/RPMS/x86_64 root@compute01:/root/rpmbuild/RPMS/x86_64
scp -r /root/rpmbuild/RPMS/x86_64 root@compute02:/root/rpmbuild/RPMS/x86_64
-

2.5 安装与配置

-

所有节点安装slurm

-
 cd /root/rpmbuild/RPMS/x86_64/
yum localinstall slurm-*
-

配置控制节点slurm

-
cp /etc/slurm/cgroup.conf.example /etc/slurm/cgroup.conf
cp /etc/slurm/slurm.conf.example /etc/slurm/slurm.conf
cp /etc/slurm/slurmdbd.conf.example /etc/slurm/slurmdbd.conf
- -

复制配置文件到其他节点

-
# slurmdbd.conf可不用复制
scp -r /etc/slurm/*.conf root@login01:/etc/slurm/
scp -r /etc/slurm/*.conf root@compute01:/etc/slurm/
scp -r /etc/slurm/*.conf root@compute02:/etc/slurm/
-

设置各节点文件权限

-
mkdir /var/spool/slurmd
chown slurm: /var/spool/slurmd
mkdir /var/log/slurm
chown slurm: /var/log/slurm

mkdir /var/spool/slurmctld
chown slurm: /var/spool/slurmctld
-

启动服务:

-
# 服务节点
systemctl start slurmdbd
systemctl enable slurmdbd

systemctl start slurmctld
systemctl enable slurmctld

# 所有节点
systemctl start slurmd
systemctl enable slurmd

# 通过 systemctl status ××× 查看服务状态,并确保个服务状态正常
-

可能的报错:

-
# 1. 启动slurmdbd时报错(一):
slurmdbd: fatal: slurmdbd.conf file /etc/slurm/slurmdbd.conf should be 600 is 644 acc... others
# 解决方法
chmod 600 slurmdbd.conf
systemctl restart slurmdbd

# 2. 启动slurmdbd时报错(二):
slurmdbd: fatal: slurmdbd.conf not owned by SlurmUser root!=slurm
# 解决方法
chown slurm: /etc/slurm/slurmdbd.conf
systemctl restart slurmdbd
-

查看配置

-
scontrol show config
-

检查slurm集群

-
sinfo
scontrol show partition
scontrol show node

# 提交作业
srun -N2 hostname
scontrol show jobs

# 查看作业
squeue -a
-
提示

slurm默认的qos只有一个qos: normal,在对接scow时,需要low、normal、high三个qos,手动创建low、high两个

-
# 查看已有的qos
sacctmgr show qos

# 创建low、high两个qos
sacctmgr create qos name=low
sacctmgr create qos name=high

# 给用户添加qos
sacctmgr modify user name={username} set qos=low,high,normal defaultQOS=low
-

3. 初始化账户和用户(可选)

-
# 初始化账户.例如账户为a_admin
sacctmgr add account name=a_admin

# 初始化用户.例如用户demo_admin,指定账户为a_admin,分区为compute
sacctmgr add user name=demo_admin account=a_admin partition=compute qos=low,high,normal defaultQOS=low

# 查看用户信息
sacctmgr show ass format="Cluster,Account,User,Partition,QOS"
- - \ No newline at end of file diff --git a/pr-preview/pr-1298/img/docusaurus.png b/pr-preview/pr-1298/img/docusaurus.png deleted file mode 100644 index f458149e3c..0000000000 Binary files a/pr-preview/pr-1298/img/docusaurus.png and /dev/null differ diff --git a/pr-preview/pr-1298/img/favicon.ico b/pr-preview/pr-1298/img/favicon.ico deleted file mode 100644 index eebae52502..0000000000 Binary files a/pr-preview/pr-1298/img/favicon.ico and /dev/null differ diff --git a/pr-preview/pr-1298/img/logo.svg b/pr-preview/pr-1298/img/logo.svg deleted file mode 100644 index aab0dc549d..0000000000 --- a/pr-preview/pr-1298/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pr-preview/pr-1298/img/logo_dark.svg b/pr-preview/pr-1298/img/logo_dark.svg deleted file mode 100644 index f1e1bdeaf9..0000000000 --- a/pr-preview/pr-1298/img/logo_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pr-preview/pr-1298/img/scow_qrcode.png b/pr-preview/pr-1298/img/scow_qrcode.png deleted file mode 100644 index 50f71dd3cd..0000000000 Binary files a/pr-preview/pr-1298/img/scow_qrcode.png and /dev/null differ diff --git a/pr-preview/pr-1298/img/tutorial/docsVersionDropdown.png b/pr-preview/pr-1298/img/tutorial/docsVersionDropdown.png deleted file mode 100644 index ff1cbe6889..0000000000 Binary files a/pr-preview/pr-1298/img/tutorial/docsVersionDropdown.png and /dev/null differ diff --git a/pr-preview/pr-1298/img/tutorial/localeDropdown.png b/pr-preview/pr-1298/img/tutorial/localeDropdown.png deleted file mode 100644 index d7163f9675..0000000000 Binary files a/pr-preview/pr-1298/img/tutorial/localeDropdown.png and /dev/null differ diff --git a/pr-preview/pr-1298/img/undraw_docusaurus_mountain.svg b/pr-preview/pr-1298/img/undraw_docusaurus_mountain.svg deleted file mode 100644 index 18bf8bfb08..0000000000 --- a/pr-preview/pr-1298/img/undraw_docusaurus_mountain.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pr-preview/pr-1298/img/undraw_docusaurus_react.svg b/pr-preview/pr-1298/img/undraw_docusaurus_react.svg deleted file mode 100644 index eb25943c4e..0000000000 --- a/pr-preview/pr-1298/img/undraw_docusaurus_react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pr-preview/pr-1298/img/undraw_docusaurus_tree.svg b/pr-preview/pr-1298/img/undraw_docusaurus_tree.svg deleted file mode 100644 index 747eee333b..0000000000 --- a/pr-preview/pr-1298/img/undraw_docusaurus_tree.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pr-preview/pr-1298/index.html b/pr-preview/pr-1298/index.html deleted file mode 100644 index 485cd29bec..0000000000 --- a/pr-preview/pr-1298/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - -SCOW - - - - - -

SCOW

Super Computing On Web

方便使用

方便使用

SCOW让超算用户和运维人员都可以在浏览器中完成日常科研和运维任务。

方便部署

方便部署

SCOW使用模块化结构,可以根据自己的需求部署全部或者部分功能。

方便扩展

方便扩展

使用任何语言,
通过SCOW API调用SCOW API,
或者通过SCOW Hook监听SCOW事件

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/markdown-page.html b/pr-preview/pr-1298/markdown-page.html deleted file mode 100644 index 95de7e7ba1..0000000000 --- a/pr-preview/pr-1298/markdown-page.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - -Markdown page example | SCOW - - - - - -

Markdown page example

-

You don't need React to write simple standalone pages.

- - \ No newline at end of file diff --git a/pr-preview/pr-1298/search-index.json b/pr-preview/pr-1298/search-index.json deleted file mode 100644 index 0898d5cb1d..0000000000 --- a/pr-preview/pr-1298/search-index.json +++ /dev/null @@ -1 +0,0 @@ -[{"documents":[{"i":1,"t":"","u":"/SCOW/pr-preview/pr-1298/blog/archive","b":["博客"]},{"i":2,"t":"scow文档上线","u":"/SCOW/pr-preview/pr-1298/blog/docs-online","b":["博客"]},{"i":4,"t":"SCOW调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","b":["博客"]},{"i":18,"t":"scow-cli","u":"/SCOW/pr-preview/pr-1298/blog/scow-cli-release","b":["博客"]},{"i":20,"t":"交互式应用配置更新","u":"/SCOW/pr-preview/pr-1298/blog/update-portal-app","b":["博客"]},{"i":22,"t":"SCOW升级:从v0.4.0(及以上)到v1.0.0","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","b":["博客"]},{"i":38,"t":"scow-deployment平滑升级指导","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","b":["博客"]},{"i":46,"t":"基础配置","u":"/SCOW/pr-preview/pr-1298/docs/basic-config","b":["slurm集群部署实践"]},{"i":51,"t":"贡献指南","u":"/SCOW/pr-preview/pr-1298/docs/contribution","b":["贡献指南"]},{"i":53,"t":"开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","b":["贡献指南"]},{"i":78,"t":"安装和配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy","b":["部署和配置"]},{"i":80,"t":"配置简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config","b":["部署和配置","配置"]},{"i":82,"t":"架构","u":"/SCOW/pr-preview/pr-1298/docs/deploy/architecture","b":["部署和配置"]},{"i":84,"t":"JupyterLab","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)","应用配置示例"]},{"i":93,"t":"VSCode","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)","应用配置示例"]},{"i":102,"t":"配置桌面类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)"]},{"i":116,"t":"配置Web类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)"]},{"i":134,"t":"交互式作业","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)"]},{"i":136,"t":"自定义操作行为日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","b":["部署和配置","配置","审计系统"]},{"i":147,"t":"配置审计系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","b":["部署和配置","配置","审计系统"]},{"i":155,"t":"内置认证系统配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","b":["部署和配置","配置","认证"]},{"i":170,"t":"认证系统简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","b":["部署和配置","配置","认证"]},{"i":176,"t":"配置 AI 系统(beta)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","b":["部署和配置","配置","AI 系统(beta)"]},{"i":200,"t":"SSH认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","b":["部署和配置","配置","认证"]},{"i":204,"t":"CLI插件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","b":["部署和配置","配置","CLI"]},{"i":213,"t":"LDAP认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","b":["部署和配置","配置","认证"]},{"i":229,"t":"集群配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","b":["部署和配置","配置"]},{"i":233,"t":"自定义相对路径","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","b":["部署和配置","配置","自定义"]},{"i":238,"t":"自定义可查询的消费类型","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types","b":["部署和配置","配置","自定义"]},{"i":240,"t":"自定义可配置项的国际化文本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","b":["部署和配置","配置","自定义"]},{"i":246,"t":"自定义在消费记录中保存作业相关字段","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","b":["部署和配置","配置","自定义"]},{"i":256,"t":"自定义系统语言","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","b":["部署和配置","配置","自定义"]},{"i":262,"t":"自定义导航栏右侧的用户下拉菜单链接","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","b":["部署和配置","配置","自定义"]},{"i":270,"t":"创建用户/修改密码正则配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern","b":["部署和配置","配置","自定义"]},{"i":272,"t":"通过代码自定义收费规则","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","b":["部署和配置","配置","自定义"]},{"i":280,"t":"公共文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files","b":["部署和配置","配置","自定义"]},{"i":282,"t":"自定义网页UI元素","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","b":["部署和配置","配置","自定义"]},{"i":292,"t":"集群监控功能(可选)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","b":["部署和配置","配置","管理系统"]},{"i":303,"t":"自定义导航链接","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","b":["部署和配置","配置","自定义"]},{"i":320,"t":"管理系统初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","b":["部署和配置","配置","管理系统"]},{"i":332,"t":"创建用户配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","b":["部署和配置","配置","管理系统"]},{"i":340,"t":"网关配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","b":["部署和配置","配置","网关"]},{"i":347,"t":"配置管理系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","b":["部署和配置","配置","管理系统"]},{"i":363,"t":"刷新调度器账户、用户封锁状态","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync","b":["部署和配置","配置","管理系统","调度器"]},{"i":365,"t":"配置使用slurm的集群","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","b":["部署和配置","配置","管理系统","调度器"]},{"i":374,"t":"Desktop","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":388,"t":"Baltamatica","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":399,"t":"IGV","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":412,"t":"Jupyter","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":424,"t":"Emacs","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":435,"t":"Matlab","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":442,"t":"Octave","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":453,"t":"Relion","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":460,"t":"VSCode","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":474,"t":"JupyterLab","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":483,"t":"配置应用图标","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":489,"t":"多集群下的应用配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":497,"t":"配置应用的说明文字","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":503,"t":"配置Web类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":517,"t":"配置HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":534,"t":"交互式作业","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":537,"t":"自定义仪表盘","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","b":["部署和配置","配置","门户系统","自定义"]},{"i":541,"t":"配置桌面类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":553,"t":"配置门户系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","b":["部署和配置","配置","门户系统"]},{"i":563,"t":"Shell终端文件传输功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","b":["部署和配置","配置","门户系统"]},{"i":575,"t":"跨集群文件传输功能(可选)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","b":["部署和配置","配置","门户系统"]},{"i":587,"t":"登录节点桌面功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","b":["部署和配置","配置","门户系统"]},{"i":593,"t":"使用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","b":["部署和配置","快速体验","vagrant"]},{"i":605,"t":"自定义部署","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","b":["部署和配置","快速体验","vagrant"]},{"i":610,"t":"代理网关节点","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","b":["部署和配置","配置","门户系统"]},{"i":618,"t":"FAQ","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq","b":["部署和配置","快速体验","vagrant"]},{"i":621,"t":"vagrant镜像制作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","b":["部署和配置","快速体验","vagrant"]},{"i":628,"t":"RStudio","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":654,"t":"安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","b":["部署和配置","安装"]},{"i":668,"t":"从源码构建","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source","b":["部署和配置","安装"]},{"i":670,"t":"多架构支持","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","b":["部署和配置","安装"]},{"i":676,"t":"vagrant环境搭建","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","b":["部署和配置","快速体验","vagrant"]},{"i":684,"t":"下载","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","b":["部署和配置","安装"]},{"i":700,"t":"slurm部署简介","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster","b":["slurm集群部署实践"]},{"i":702,"t":"运维","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","b":["部署和配置","运维"]},{"i":711,"t":"LDAP新建用户","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","b":["slurm集群部署实践"]},{"i":717,"t":"SCOW管理员使用技巧","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","b":["部署和配置","运维"]},{"i":738,"t":"slurmdbd.conf 配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf","b":["slurm集群部署实践","配置文件"]},{"i":740,"t":"intel编译器安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","b":["slurm集群部署实践"]},{"i":750,"t":"module安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","b":["slurm集群部署实践"]},{"i":758,"t":"数据盘挂载","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk","b":["slurm集群部署实践"]},{"i":760,"t":"slurm.conf 配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf","b":["slurm集群部署实践","配置文件"]},{"i":762,"t":"NFS安装和配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","b":["slurm集群部署实践"]},{"i":770,"t":"集群规划","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan","b":["slurm集群部署实践"]},{"i":772,"t":"AI 系统简介(Beta)","u":"/SCOW/pr-preview/pr-1298/docs/info/ai","b":["功能介绍"]},{"i":776,"t":"平台简介","u":"/SCOW/pr-preview/pr-1298/docs/info","b":["功能介绍"]},{"i":782,"t":"管理系统简介","u":"/SCOW/pr-preview/pr-1298/docs/info/mis","b":["功能介绍","管理系统"]},{"i":786,"t":"门户系统简介","u":"/SCOW/pr-preview/pr-1298/docs/info/portal","b":["功能介绍","门户系统"]},{"i":790,"t":"用户模型","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","b":["功能介绍","管理系统","业务模型"]},{"i":808,"t":"交互式应用","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","b":["功能介绍","门户系统"]},{"i":814,"t":"作业","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","b":["功能介绍","门户系统"]},{"i":820,"t":"计费收费","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","b":["功能介绍","管理系统","业务模型"]},{"i":828,"t":"与SCOW集成","u":"/SCOW/pr-preview/pr-1298/docs/integration","b":["与SCOW集成"]},{"i":830,"t":"实现自定义认证系统","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","b":["与SCOW集成","自定义认证系统"]},{"i":869,"t":"使用自定义认证系统","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/use","b":["与SCOW集成","自定义认证系统"]},{"i":873,"t":"数据统计相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","b":["与SCOW集成","SCOW API和Hook","SCOW API"]},{"i":881,"t":"Go示例","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","b":["与SCOW集成","SCOW API和Hook","使用示例"]},{"i":891,"t":"SCOW API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","b":["与SCOW集成","SCOW API和Hook","SCOW API"]},{"i":901,"t":"SCOW Hook","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","b":["与SCOW集成","SCOW API和Hook"]},{"i":907,"t":"UI扩展 (Beta)","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","b":["与SCOW集成","UI扩展"]},{"i":913,"t":"SCOW Protobuf文件","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","b":["与SCOW集成","SCOW API和Hook"]},{"i":923,"t":"多集群管理","u":"/SCOW/pr-preview/pr-1298/docs/multi_cluster","b":["部署和配置","配置","多集群管理"]},{"i":925,"t":"配置参考","u":"/SCOW/pr-preview/pr-1298/docs/refs","b":["配置参考"]},{"i":927,"t":"开发UI扩展","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","b":["与SCOW集成","UI扩展"]},{"i":939,"t":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app","b":["配置参考","配置文件","app"]},{"i":947,"t":"definition-properties-name","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name","b":["配置参考","配置文件","app"]},{"i":950,"t":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","b":["配置参考","配置文件","app"]},{"i":975,"t":"definition-properties-nodes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items","b":["配置参考","配置文件","app"]},{"i":978,"t":"部署集群监控","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","b":["slurm集群部署实践"]},{"i":1007,"t":"definition-properties-type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type","b":["配置参考","配置文件","app"]},{"i":1010,"t":"definition-properties-type-anyof-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0","b":["配置参考","配置文件","app"]},{"i":1015,"t":"definition-properties-type-anyof-1","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1","b":["配置参考","配置文件","app"]},{"i":1020,"t":"definition-properties-nodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes","b":["配置参考","配置文件","app"]},{"i":1023,"t":"definition-properties-vnc-properties-xstartup","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup","b":["配置参考","配置文件","app"]},{"i":1026,"t":"definition-properties-vnc","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","b":["配置参考","配置文件","app"]},{"i":1035,"t":"definition-properties-web","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","b":["配置参考","配置文件","app"]},{"i":1052,"t":"definition-properties-web-properties-beforescript","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript","b":["配置参考","配置文件","app"]},{"i":1055,"t":"definition-properties-web-properties-connect","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","b":["配置参考","配置文件","app"]},{"i":1076,"t":"definition-properties-web-properties-connect-properties-formdata","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","b":["配置参考","配置文件","app"]},{"i":1085,"t":"definition-properties-web-properties-connect-properties-formdata-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","b":["配置参考","配置文件","app"]},{"i":1088,"t":"definition-properties-web-properties-connect-properties-formdata-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","b":["配置参考","配置文件","app"]},{"i":1091,"t":"definition-properties-web-properties-connect-properties-method","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","b":["配置参考","配置文件","app"]},{"i":1094,"t":"definition-properties-web-properties-connect-properties-path","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","b":["配置参考","配置文件","app"]},{"i":1097,"t":"definition-properties-web-properties-connect-properties-method-anyof-1","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","b":["配置参考","配置文件","app"]},{"i":1102,"t":"definition-properties-web-properties-connect-properties-method-anyof-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","b":["配置参考","配置文件","app"]},{"i":1107,"t":"definition-properties-web-properties-connect-properties-query-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","b":["配置参考","配置文件","app"]},{"i":1110,"t":"definition-properties-web-properties-connect-properties-query-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","b":["配置参考","配置文件","app"]},{"i":1113,"t":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster","b":["配置参考","配置文件","cluster"]},{"i":1121,"t":"definition-properties-web-properties-connect-properties-query","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","b":["配置参考","配置文件","app"]},{"i":1130,"t":"definition-properties-web-properties-script","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script","b":["配置参考","配置文件","app"]},{"i":1133,"t":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","b":["配置参考","配置文件","cluster"]},{"i":1156,"t":"definition-properties-displayname","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname","b":["配置参考","配置文件","cluster"]},{"i":1159,"t":"definition-properties-scheduler","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler","b":["配置参考","配置文件","cluster"]},{"i":1164,"t":"definition-properties-scheduler-anyof-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","b":["配置参考","配置文件","cluster"]},{"i":1169,"t":"definition-properties-slurm","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","b":["配置参考","配置文件","cluster"]},{"i":1194,"t":"definition-properties-misignore","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore","b":["配置参考","配置文件","cluster"]},{"i":1197,"t":"definition-properties-slurm-properties-computenodes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","b":["配置参考","配置文件","cluster"]},{"i":1200,"t":"definition-properties-slurm-properties-loginnodes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","b":["配置参考","配置文件","cluster"]},{"i":1203,"t":"definition-properties-slurm-properties-computenodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","b":["配置参考","配置文件","cluster"]},{"i":1208,"t":"definition-properties-slurm-properties-mis-properties-associationtablename","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","b":["配置参考","配置文件","cluster"]},{"i":1211,"t":"definition-properties-slurm-properties-mis","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","b":["配置参考","配置文件","cluster"]},{"i":1232,"t":"definition-properties-slurm-properties-mis-properties-dbpassword","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","b":["配置参考","配置文件","cluster"]},{"i":1235,"t":"definition-properties-slurm-properties-loginnodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","b":["配置参考","配置文件","cluster"]},{"i":1240,"t":"definition-properties-slurm-properties-mis-properties-managerurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","b":["配置参考","配置文件","cluster"]},{"i":1243,"t":"definition-properties-slurm-properties-mis-properties-scriptpath","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","b":["配置参考","配置文件","cluster"]},{"i":1246,"t":"definition-properties-slurm-properties-partitions","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","b":["配置参考","配置文件","cluster"]},{"i":1255,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-cores","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","b":["配置参考","配置文件","cluster"]},{"i":1258,"t":"definition-properties-slurm-properties-partitions-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","b":["配置参考","配置文件","cluster"]},{"i":1261,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-comment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","b":["配置参考","配置文件","cluster"]},{"i":1264,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","b":["配置参考","配置文件","cluster"]},{"i":1267,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-mem","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","b":["配置参考","配置文件","cluster"]},{"i":1270,"t":"definition-properties-slurm-properties-partitions-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","b":["配置参考","配置文件","cluster"]},{"i":1299,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","b":["配置参考","配置文件","cluster"]},{"i":1302,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","b":["配置参考","配置文件","cluster"]},{"i":1305,"t":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts","b":["配置参考","配置文件","clusterTexts"]},{"i":1313,"t":"definition-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties","b":["配置参考","配置文件","clusterTexts"]},{"i":1316,"t":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","b":["配置参考","配置文件","clusterTexts"]},{"i":1325,"t":"definition-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","b":["配置参考","配置文件","clusterTexts"]},{"i":1338,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","b":["配置参考","配置文件","cluster"]},{"i":1341,"t":"definition-patternproperties--properties-clustercomment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","b":["配置参考","配置文件","clusterTexts"]},{"i":1344,"t":"definition-patternproperties--properties-extras-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","b":["配置参考","配置文件","clusterTexts"]},{"i":1357,"t":"definition-patternproperties--properties-extras","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","b":["配置参考","配置文件","clusterTexts"]},{"i":1360,"t":"definition-patternproperties--properties-extras-items-properties-title","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","b":["配置参考","配置文件","clusterTexts"]},{"i":1363,"t":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis","b":["配置参考","配置文件","mis"]},{"i":1371,"t":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","b":["配置参考","配置文件","mis"]},{"i":1422,"t":"definition-properties-accountnamepattern","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","b":["配置参考","配置文件","mis"]},{"i":1435,"t":"definition-patternproperties--properties-extras-items-properties-content","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","b":["配置参考","配置文件","clusterTexts"]},{"i":1438,"t":"definition-properties-accountnamepattern-properties-errormessage","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","b":["配置参考","配置文件","mis"]},{"i":1441,"t":"definition-properties-accountnamepattern-properties-regex","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","b":["配置参考","配置文件","mis"]},{"i":1444,"t":"definition-properties-changejobpricetype","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype","b":["配置参考","配置文件","mis"]},{"i":1449,"t":"definition-properties-db","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","b":["配置参考","配置文件","mis"]},{"i":1478,"t":"definition-properties-authurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl","b":["配置参考","配置文件","mis"]},{"i":1483,"t":"definition-properties-db-properties-dbname","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname","b":["配置参考","配置文件","mis"]},{"i":1486,"t":"definition-properties-db-properties-debug","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug","b":["配置参考","配置文件","mis"]},{"i":1489,"t":"definition-properties-db-properties-host","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host","b":["配置参考","配置文件","mis"]},{"i":1492,"t":"definition-properties-db-properties-password","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password","b":["配置参考","配置文件","mis"]},{"i":1495,"t":"definition-properties-db-properties-user","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user","b":["配置参考","配置文件","mis"]},{"i":1498,"t":"definition-properties-fetchjobs","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","b":["配置参考","配置文件","mis"]},{"i":1523,"t":"definition-properties-fetchjobs-properties-batchsize","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","b":["配置参考","配置文件","mis"]},{"i":1528,"t":"definition-properties-db-properties-port","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port","b":["配置参考","配置文件","mis"]},{"i":1531,"t":"definition-properties-fetchjobs-properties-db-properties-dbname","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","b":["配置参考","配置文件","mis"]},{"i":1534,"t":"definition-properties-fetchjobs-properties-db","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","b":["配置参考","配置文件","mis"]},{"i":1563,"t":"definition-properties-fetchjobs-properties-db-properties-password","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","b":["配置参考","配置文件","mis"]},{"i":1566,"t":"definition-properties-fetchjobs-properties-db-properties-port","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","b":["配置参考","配置文件","mis"]},{"i":1569,"t":"definition-properties-fetchjobs-properties-db-properties-tablename","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","b":["配置参考","配置文件","mis"]},{"i":1572,"t":"definition-properties-fetchjobs-properties-db-properties-user","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","b":["配置参考","配置文件","mis"]},{"i":1575,"t":"definition-properties-fetchjobs-properties-db-properties-host","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","b":["配置参考","配置文件","mis"]},{"i":1578,"t":"definition-properties-fetchjobs-properties-periodicfetch","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","b":["配置参考","配置文件","mis"]},{"i":1597,"t":"definition-properties-fetchjobs-properties-periodicfetch-default","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","b":["配置参考","配置文件","mis"]},{"i":1600,"t":"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","b":["配置参考","配置文件","mis"]},{"i":1605,"t":"definition-properties-fetchjobs-properties-startindex","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","b":["配置参考","配置文件","mis"]},{"i":1608,"t":"definition-properties-jobchargecomment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment","b":["配置参考","配置文件","mis"]},{"i":1613,"t":"definition-properties-fetchjobs-properties-periodicfetch-properties-cron","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","b":["配置参考","配置文件","mis"]},{"i":1618,"t":"definition-properties-jobchargetype","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype","b":["配置参考","配置文件","mis"]},{"i":1623,"t":"definition-properties-predefinedchargingtypes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes","b":["配置参考","配置文件","mis"]},{"i":1628,"t":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal","b":["配置参考","配置文件","portal"]},{"i":1636,"t":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","b":["配置参考","配置文件","portal"]},{"i":1699,"t":"definition-properties-portalurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl","b":["配置参考","配置文件","mis"]},{"i":1702,"t":"definition-properties-apps","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps","b":["配置参考","配置文件","portal"]},{"i":1707,"t":"definition-properties-predefinedchargingtypes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","b":["配置参考","配置文件","mis"]},{"i":1710,"t":"definition-properties-appjobsdir","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir","b":["配置参考","配置文件","portal"]},{"i":1715,"t":"definition-properties-hometext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","b":["配置参考","配置文件","portal"]},{"i":1732,"t":"definition-properties-hometext-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","b":["配置参考","配置文件","portal"]},{"i":1743,"t":"definition-properties-hometext-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","portal"]},{"i":1746,"t":"definition-properties-hometext-properties-hostnamemap-default","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","b":["配置参考","配置文件","portal"]},{"i":1749,"t":"definition-properties-hometext-properties-defaulttext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","b":["配置参考","配置文件","portal"]},{"i":1754,"t":"definition-properties-hometext-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","portal"]},{"i":1757,"t":"definition-properties-hometitle-properties-defaulttext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","b":["配置参考","配置文件","portal"]},{"i":1762,"t":"definition-properties-hometitle","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","b":["配置参考","配置文件","portal"]},{"i":1779,"t":"definition-properties-hometitle-properties-hostnamemap-default","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","b":["配置参考","配置文件","portal"]},{"i":1782,"t":"definition-properties-hometitle-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","portal"]},{"i":1785,"t":"definition-properties-hometitle-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","portal"]},{"i":1788,"t":"definition-properties-logindesktop","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","b":["配置参考","配置文件","portal"]},{"i":1811,"t":"definition-properties-hometitle-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","b":["配置参考","配置文件","portal"]},{"i":1822,"t":"definition-properties-logindesktop-properties-enabled","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","b":["配置参考","配置文件","portal"]},{"i":1827,"t":"definition-properties-jobmanagement","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement","b":["配置参考","配置文件","portal"]},{"i":1832,"t":"definition-properties-logindesktop-properties-wms","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","b":["配置参考","配置文件","portal"]},{"i":1837,"t":"definition-properties-logindesktop-properties-wms-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","b":["配置参考","配置文件","portal"]},{"i":1850,"t":"definition-properties-logindesktop-properties-wms-default-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","b":["配置参考","配置文件","portal"]},{"i":1853,"t":"definition-properties-logindesktop-properties-wms-items-properties-name","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","b":["配置参考","配置文件","portal"]},{"i":1856,"t":"definition-properties-logindesktop-properties-maxdesktops","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","b":["配置参考","配置文件","portal"]},{"i":1861,"t":"definition-properties-logindesktop-properties-wms-items-properties-wm","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","b":["配置参考","配置文件","portal"]},{"i":1864,"t":"definition-properties-misurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl","b":["配置参考","配置文件","portal"]},{"i":1867,"t":"definition-properties-submitjobdefaultpwd","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","b":["配置参考","配置文件","portal"]},{"i":1872,"t":"definition-properties-shell","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell","b":["配置参考","配置文件","portal"]},{"i":1877,"t":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui","b":["配置参考","配置文件","ui"]},{"i":1884,"t":"definition-properties-savedjobsdir","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir","b":["配置参考","配置文件","portal"]},{"i":1889,"t":"definition-properties-turbovncpath","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath","b":["配置参考","配置文件","portal"]},{"i":1894,"t":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","b":["配置参考","配置文件","ui"]},{"i":1907,"t":"definition-properties-footer-properties-defaulttext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","b":["配置参考","配置文件","ui"]},{"i":1910,"t":"definition-properties-footer","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","b":["配置参考","配置文件","ui"]},{"i":1923,"t":"definition-properties-footer-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","b":["配置参考","配置文件","ui"]},{"i":1932,"t":"definition-properties-footer-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","ui"]},{"i":1935,"t":"definition-properties-primarycolor","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","b":["配置参考","配置文件","ui"]},{"i":1950,"t":"definition-properties-primarycolor-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","b":["配置参考","配置文件","ui"]},{"i":1959,"t":"definition-properties-footer-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","ui"]},{"i":1962,"t":"definition-properties-primarycolor-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","ui"]},{"i":1965,"t":"definition-properties-primarycolor-properties-defaultcolor","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","b":["配置参考","配置文件","ui"]},{"i":1970,"t":"definition-properties-primarycolor-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","ui"]},{"i":1973,"t":"auth","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/auth","b":["配置参考","环境变量配置"]},{"i":1976,"t":"gateway","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway","b":["配置参考","环境变量配置"]},{"i":1979,"t":"mis-server","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server","b":["配置参考","环境变量配置"]},{"i":1982,"t":"mis-web","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web","b":["配置参考","环境变量配置"]},{"i":1985,"t":"portal-web","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web","b":["配置参考","环境变量配置"]},{"i":1988,"t":"slurm集群部署","u":"/SCOW/pr-preview/pr-1298/docs/slurm","b":["slurm集群部署实践"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[]],["t/2",[0,3.501,1,5.648,2,5.648]],["t/4",[0,3.137,3,4.555,4,4.555,5,5.06]],["t/18",[0,3.961,6,5.752]],["t/20",[7,3.975,8,3.236,9,2.26,10,5.06]],["t/22",[0,2.064,11,2.997,12,3.329,13,3.329,14,4.684,15,3.329,16,3.329]],["t/38",[0,2.842,11,4.126,17,4.584,18,4.584,19,4.584]],["t/46",[9,2.854,20,6.389]],["t/51",[21,6.389,22,6.389]],["t/53",[23,6.621]],["t/78",[9,2.854,24,4.768]],["t/80",[9,2.854,25,4.381]],["t/82",[26,6.621]],["t/84",[27,6.621]],["t/93",[28,6.621]],["t/102",[8,3.236,9,2.26,29,4.223,30,3.975]],["t/116",[8,3.236,9,2.26,30,3.975,31,2.577]],["t/134",[7,5.018,32,5.018]],["t/136",[33,2.818,34,5.06,35,5.06,36,5.06]],["t/147",[9,2.522,37,5.648,38,3.401]],["t/155",[39,5.648,40,4.03,41,5.648]],["t/170",[25,3.872,38,3.401,40,4.03]],["t/176",[9,2.26,38,3.047,42,4.555,43,4.223]],["t/200",[38,3.401,40,4.03,44,5.648]],["t/204",[6,5.752,45,6.389]],["t/213",[38,3.401,40,4.03,46,5.084]],["t/229",[47,4.086,48,6.389]],["t/233",[33,3.558,49,6.389]],["t/238",[33,2.818,50,5.06,51,4.555,52,5.06]],["t/240",[9,2.047,33,2.553,53,4.584,54,4.584,55,4.584]],["t/246",[32,2.615,33,1.854,51,2.997,56,3.329,57,3.329,58,3.329,59,2.997,60,3.329,61,3.329]],["t/256",[33,3.145,38,3.401,62,5.648]],["t/262",[33,2.148,63,3.472,64,3.857,65,3.857,66,2.752,67,3.857,68,3.472]],["t/270",[9,1.871,66,2.989,69,3.771,70,4.189,71,4.189,72,4.189]],["t/272",[33,2.553,73,4.584,74,4.584,75,4.126,76,4.584]],["t/280",[77,6.389,78,5.752]],["t/282",[33,2.818,79,5.06,80,4.223,81,5.06]],["t/292",[47,3.236,82,4.555,83,3.975,84,4.555]],["t/303",[33,3.145,63,5.084,68,5.084]],["t/320",[85,5.332,86,6.389]],["t/332",[9,2.522,66,4.03,69,5.084]],["t/340",[9,2.854,87,6.389]],["t/347",[9,2.854,85,5.332]],["t/363",[3,3.472,4,3.472,66,2.752,88,3.857,89,3.857,90,3.857,91,3.857]],["t/365",[9,2.26,47,3.236,92,3.975,93,2.3]],["t/374",[94,7.355]],["t/388",[95,7.355]],["t/399",[96,7.355]],["t/412",[97,7.355]],["t/424",[98,7.355]],["t/435",[99,7.355]],["t/442",[100,7.355]],["t/453",[101,7.355]],["t/460",[28,6.621]],["t/474",[27,6.621]],["t/483",[8,3.612,9,2.522,102,5.648]],["t/489",[8,3.236,9,2.26,47,3.236,103,4.223]],["t/497",[8,3.236,9,2.26,104,5.06,105,5.06]],["t/503",[8,3.236,9,2.26,30,3.975,31,2.577]],["t/517",[9,2.522,106,5.648,107,5.648]],["t/534",[7,5.018,32,5.018]],["t/537",[33,3.558,108,6.389]],["t/541",[8,3.236,9,2.26,29,4.223,30,3.975]],["t/553",[9,2.522,38,3.401,109,5.084]],["t/563",[83,3.975,110,4.555,111,5.06,112,4.555]],["t/575",[47,2.931,83,3.6,84,4.126,112,4.126,113,4.584]],["t/587",[29,4.223,83,3.975,114,5.06,115,5.06]],["t/593",[92,5.777]],["t/605",[33,3.558,116,5.018]],["t/610",[117,5.648,118,5.648,119,5.648]],["t/618",[120,7.355]],["t/621",[121,5.084,122,5.648,123,5.648]],["t/628",[124,7.355]],["t/654",[24,5.489]],["t/668",[125,6.389,126,6.389]],["t/670",[26,5.084,103,4.713,127,5.648]],["t/676",[121,5.084,128,5.648,129,5.648]],["t/684",[130,7.355]],["t/700",[25,3.872,93,2.567,116,4.436]],["t/702",[131,6.389,132,6.389]],["t/711",[46,5.084,66,4.03,133,5.648]],["t/717",[0,3.137,92,3.975,134,5.06,135,5.06]],["t/738",[9,2.522,136,5.648,137,5.084]],["t/740",[24,4.214,138,5.648,139,5.648]],["t/750",[24,4.768,140,6.389]],["t/758",[141,5.084,142,5.648,143,5.648]],["t/760",[9,2.522,93,2.567,137,5.084]],["t/762",[9,2.522,24,4.214,144,5.648]],["t/770",[47,4.086,145,6.389]],["t/772",[25,3.47,38,3.047,42,4.555,43,4.223]],["t/776",[25,4.381,146,6.389]],["t/782",[25,4.381,85,5.332]],["t/786",[25,3.872,38,3.401,109,5.084]],["t/790",[66,4.559,147,6.389]],["t/808",[7,5.018,8,4.086]],["t/814",[32,5.777]],["t/820",[75,5.752,148,6.389]],["t/828",[0,3.961,149,6.389]],["t/830",[33,2.818,38,3.047,40,3.611,150,5.06]],["t/869",[33,2.818,38,3.047,40,3.611,92,3.975]],["t/873",[59,4.555,141,4.555,151,5.06,152,4.555]],["t/881",[153,6.389,154,6.389]],["t/891",[0,3.961,152,5.752]],["t/901",[0,3.961,155,6.389]],["t/907",[43,4.713,80,4.713,156,5.084]],["t/913",[0,3.501,78,5.084,157,5.648]],["t/923",[47,3.612,103,4.713,158,5.648]],["t/925",[9,2.854,159,6.389]],["t/927",[23,5.084,80,4.713,156,5.084]],["t/939",[160,5.249]],["t/947",[161,0.739,162,0.809,163,5.084]],["t/950",[161,0.962]],["t/975",[161,0.662,162,0.725,164,4.223,165,3.047]],["t/978",[47,3.612,82,5.084,116,4.436]],["t/1007",[161,0.739,162,0.809,166,4.713]],["t/1010",[14,3.42,161,0.599,162,0.657,166,3.825,167,3.42]],["t/1015",[161,0.599,162,0.657,166,3.825,167,3.42,168,4.126]],["t/1020",[161,0.739,162,0.809,164,4.713]],["t/1023",[161,0.599,162,0.934,169,4.126,170,4.584]],["t/1026",[161,0.739,162,0.809,169,5.084]],["t/1035",[31,2.876,161,0.739,162,0.809]],["t/1052",[31,2.335,161,0.599,162,0.934,171,4.584]],["t/1055",[31,2.335,161,0.599,162,0.934,172,2.76]],["t/1076",[31,1.964,161,0.504,162,0.984,172,2.323,173,3.219]],["t/1085",[31,1.82,161,0.467,162,0.94,172,2.152,173,2.982,174,1.519]],["t/1088",[31,1.82,161,0.467,162,0.94,172,2.152,173,2.982,174,1.519]],["t/1091",[31,1.964,161,0.504,162,0.984,172,2.323,175,3.219]],["t/1094",[31,1.964,161,0.504,162,0.984,172,2.323,176,3.857]],["t/1097",[31,1.696,161,0.435,162,0.9,167,2.484,168,2.997,172,2.005,175,2.778]],["t/1102",[14,2.484,31,1.696,161,0.435,162,0.9,167,2.484,172,2.005,175,2.778]],["t/1107",[31,1.82,161,0.467,162,0.94,172,2.152,174,1.519,177,2.982]],["t/1110",[31,1.82,161,0.467,162,0.94,172,2.152,174,1.519,177,2.982]],["t/1113",[160,5.249]],["t/1121",[31,1.964,161,0.504,162,0.984,172,2.323,177,3.219]],["t/1130",[31,2.335,161,0.599,162,0.934,178,4.584]],["t/1133",[161,0.962]],["t/1156",[161,0.739,162,0.809,179,5.648]],["t/1159",[161,0.739,162,0.809,180,5.084]],["t/1164",[14,3.42,161,0.599,162,0.657,167,3.42,180,4.126]],["t/1169",[93,2.567,161,0.739,162,0.809]],["t/1194",[161,0.739,162,0.809,181,5.648]],["t/1197",[93,1.904,161,0.548,162,0.875,165,2.523,182,3.771]],["t/1200",[93,1.904,161,0.548,162,0.875,165,2.523,183,3.771]],["t/1203",[93,2.083,161,0.599,162,0.934,182,4.126]],["t/1208",[93,1.753,161,0.504,162,0.984,184,2.645,185,3.857]],["t/1211",[93,2.083,161,0.599,162,0.934,184,3.143]],["t/1232",[93,1.753,161,0.504,162,0.984,184,2.645,186,3.857]],["t/1235",[93,2.083,161,0.599,162,0.934,183,4.126]],["t/1240",[93,1.753,161,0.504,162,0.984,184,2.645,187,3.857]],["t/1243",[93,1.753,161,0.504,162,0.984,184,2.645,188,3.857]],["t/1246",[93,2.083,161,0.599,162,0.934,189,2.842]],["t/1255",[93,1.624,161,0.467,162,0.94,174,1.519,189,2.216,190,3.574]],["t/1258",[93,1.904,161,0.548,162,0.875,174,1.78,189,2.597]],["t/1261",[93,1.624,161,0.467,162,0.94,174,1.519,189,2.216,191,3.574]],["t/1264",[93,1.624,161,0.467,162,0.94,174,1.519,189,2.216,192,3.574]],["t/1267",[93,1.624,161,0.467,162,0.94,174,1.519,189,2.216,193,3.574]],["t/1270",[93,1.904,161,0.548,162,0.875,174,1.78,189,2.597]],["t/1299",[93,1.624,161,0.467,162,0.94,164,2.982,174,1.519,189,2.216]],["t/1302",[93,1.513,161,0.435,162,0.9,165,2.005,174,1.415,189,2.064,194,2.997]],["t/1305",[160,5.249]],["t/1313",[161,0.835,174,2.715]],["t/1316",[161,0.962]],["t/1325",[161,0.835,174,2.715]],["t/1338",[93,1.624,161,0.467,162,0.94,174,1.519,189,2.216,194,3.217]],["t/1341",[161,0.662,162,0.725,174,2.15,195,5.06]],["t/1344",[161,0.599,162,0.657,165,2.76,174,1.948,196,3.6]],["t/1357",[161,0.662,162,0.725,174,2.15,196,3.975]],["t/1360",[161,0.504,162,0.824,165,2.323,174,1.639,196,3.029,197,3.857]],["t/1363",[160,5.249]],["t/1371",[161,0.962]],["t/1422",[161,0.739,162,0.809,198,4.713]],["t/1435",[161,0.504,162,0.824,165,2.323,174,1.639,196,3.029,199,3.857]],["t/1438",[161,0.599,162,0.934,198,3.825,200,4.584]],["t/1441",[161,0.599,162,0.934,198,3.825,201,4.584]],["t/1444",[161,0.739,162,0.809,202,5.648]],["t/1449",[161,0.739,162,0.809,203,3.145]],["t/1478",[161,0.739,162,0.809,204,5.648]],["t/1483",[161,0.599,162,0.934,203,2.553,205,4.126]],["t/1486",[161,0.599,162,0.934,203,2.553,206,4.584]],["t/1489",[161,0.599,162,0.934,203,2.553,207,4.126]],["t/1492",[161,0.599,162,0.934,203,2.553,208,4.126]],["t/1495",[161,0.599,162,0.934,203,2.553,209,4.126]],["t/1498",[161,0.739,162,0.809,210,3.145]],["t/1523",[161,0.599,162,0.934,210,2.553,211,4.584]],["t/1528",[161,0.599,162,0.934,203,2.553,212,4.126]],["t/1531",[161,0.504,162,0.984,203,2.148,205,3.472,210,2.148]],["t/1534",[161,0.599,162,0.934,203,2.553,210,2.553]],["t/1563",[161,0.504,162,0.984,203,2.148,208,3.472,210,2.148]],["t/1566",[161,0.504,162,0.984,203,2.148,210,2.148,212,3.472]],["t/1569",[161,0.504,162,0.984,203,2.148,210,2.148,213,3.857]],["t/1572",[161,0.504,162,0.984,203,2.148,209,3.472,210,2.148]],["t/1575",[161,0.504,162,0.984,203,2.148,207,3.472,210,2.148]],["t/1578",[161,0.599,162,0.934,210,2.553,214,3.6]],["t/1597",[161,0.548,162,0.875,210,2.333,214,3.29,215,3.29]],["t/1600",[161,0.504,162,0.984,210,2.148,214,3.029,216,3.472]],["t/1605",[161,0.599,162,0.934,210,2.553,217,4.584]],["t/1608",[161,0.739,162,0.809,218,5.648]],["t/1613",[161,0.504,162,0.984,210,2.148,214,3.029,219,3.857]],["t/1618",[161,0.739,162,0.809,220,5.648]],["t/1623",[161,0.739,162,0.809,221,5.084]],["t/1628",[160,5.249]],["t/1636",[161,0.962]],["t/1699",[161,0.739,162,0.809,222,5.648]],["t/1702",[161,0.739,162,0.809,223,5.648]],["t/1707",[161,0.662,162,0.725,165,3.047,221,4.555]],["t/1710",[161,0.739,162,0.809,224,5.648]],["t/1715",[161,0.739,162,0.809,225,4.03]],["t/1732",[161,0.599,162,0.934,225,3.271,226,2.553]],["t/1743",[161,0.548,162,0.875,174,1.78,225,2.989,226,2.333]],["t/1746",[161,0.548,162,0.875,215,3.29,225,2.989,226,2.333]],["t/1749",[161,0.599,162,0.934,225,3.271,227,3.825]],["t/1754",[161,0.548,162,0.875,174,1.78,225,2.989,226,2.333]],["t/1757",[161,0.599,162,0.934,227,3.825,228,3.271]],["t/1762",[161,0.739,162,0.809,228,4.03]],["t/1779",[161,0.548,162,0.875,215,3.29,226,2.333,228,2.989]],["t/1782",[161,0.548,162,0.875,174,1.78,226,2.333,228,2.989]],["t/1785",[161,0.548,162,0.875,174,1.78,226,2.333,228,2.989]],["t/1788",[161,0.739,162,0.809,229,3.734]],["t/1811",[161,0.599,162,0.934,226,2.553,228,3.271]],["t/1822",[161,0.599,162,0.934,216,4.126,229,3.031]],["t/1827",[161,0.739,162,0.809,230,5.648]],["t/1832",[161,0.599,162,0.934,229,3.031,231,3.42]],["t/1837",[161,0.548,162,0.875,165,2.523,229,2.77,231,3.126]],["t/1850",[14,2.878,161,0.504,162,0.824,215,3.029,229,2.55,231,2.878]],["t/1853",[161,0.467,162,0.94,163,3.217,165,2.152,229,2.363,231,2.667]],["t/1856",[161,0.599,162,0.934,229,3.031,232,4.584]],["t/1861",[161,0.467,162,0.94,165,2.152,229,2.363,231,4.049]],["t/1864",[161,0.739,162,0.809,233,5.648]],["t/1867",[161,0.739,162,0.809,234,5.648]],["t/1872",[110,5.084,161,0.739,162,0.809]],["t/1877",[160,5.249]],["t/1884",[161,0.739,162,0.809,235,5.648]],["t/1889",[161,0.739,162,0.809,236,5.648]],["t/1894",[161,0.962]],["t/1907",[161,0.599,162,0.934,227,3.825,237,3.42]],["t/1910",[161,0.739,162,0.809,237,4.214]],["t/1923",[161,0.599,162,0.934,226,2.553,237,3.42]],["t/1932",[161,0.548,162,0.875,174,1.78,226,2.333,237,3.126]],["t/1935",[161,0.739,162,0.809,238,4.214]],["t/1950",[161,0.599,162,0.934,226,2.553,238,3.42]],["t/1959",[161,0.548,162,0.875,174,1.78,226,2.333,237,3.126]],["t/1962",[161,0.548,162,0.875,174,1.78,226,2.333,238,3.126]],["t/1965",[161,0.599,162,0.934,238,3.42,239,4.584]],["t/1970",[161,0.548,162,0.875,174,1.78,226,2.333,238,3.126]],["t/1973",[240,7.355]],["t/1976",[241,7.355]],["t/1979",[184,4.381,242,6.389]],["t/1982",[31,3.254,184,4.381]],["t/1985",[31,3.254,243,6.389]],["t/1988",[47,3.612,93,2.567,116,4.436]]],"invertedIndex":[["0",{"_index":14,"t":{"22":{"position":[[13,1],[23,1],[25,1]]},"1010":{"position":[[33,1]]},"1102":{"position":[[69,1]]},"1164":{"position":[[38,1]]},"1850":{"position":[[58,1]]}}}],["1",{"_index":168,"t":{"1015":{"position":[[33,1]]},"1097":{"position":[[69,1]]}}}],["4",{"_index":13,"t":{"22":{"position":[[11,1]]}}}],["accountnamepattern",{"_index":198,"t":{"1422":{"position":[[22,18]]},"1438":{"position":[[22,18]]},"1441":{"position":[[22,18]]}}}],["ai",{"_index":42,"t":{"176":{"position":[[3,2]]},"772":{"position":[[0,2]]}}}],["anyof",{"_index":167,"t":{"1010":{"position":[[27,5]]},"1015":{"position":[[27,5]]},"1097":{"position":[[63,5]]},"1102":{"position":[[63,5]]},"1164":{"position":[[32,5]]}}}],["api",{"_index":152,"t":{"873":{"position":[[6,3]]},"891":{"position":[[5,3]]}}}],["app",{"_index":223,"t":{"1702":{"position":[[22,4]]}}}],["appjobsdir",{"_index":224,"t":{"1710":{"position":[[22,10]]}}}],["associationtablenam",{"_index":185,"t":{"1208":{"position":[[54,20]]}}}],["auth",{"_index":240,"t":{"1973":{"position":[[0,4]]}}}],["authurl",{"_index":204,"t":{"1478":{"position":[[22,7]]}}}],["baltamatica",{"_index":95,"t":{"388":{"position":[[0,11]]}}}],["batchsiz",{"_index":211,"t":{"1523":{"position":[[43,9]]}}}],["beforescript",{"_index":171,"t":{"1052":{"position":[[37,12]]}}}],["beta",{"_index":43,"t":{"176":{"position":[[9,4]]},"772":{"position":[[8,4]]},"907":{"position":[[6,4]]}}}],["changejobpricetyp",{"_index":202,"t":{"1444":{"position":[[22,18]]}}}],["cli",{"_index":6,"t":{"18":{"position":[[5,3]]},"204":{"position":[[0,3]]}}}],["clustercom",{"_index":195,"t":{"1341":{"position":[[41,14]]}}}],["comment",{"_index":191,"t":{"1261":{"position":[[80,7]]}}}],["computenod",{"_index":182,"t":{"1197":{"position":[[39,12]]},"1203":{"position":[[39,12]]}}}],["conf",{"_index":137,"t":{"738":{"position":[[9,4]]},"760":{"position":[[6,4]]}}}],["connect",{"_index":172,"t":{"1055":{"position":[[37,7]]},"1076":{"position":[[37,7]]},"1085":{"position":[[37,7]]},"1088":{"position":[[37,7]]},"1091":{"position":[[37,7]]},"1094":{"position":[[37,7]]},"1097":{"position":[[37,7]]},"1102":{"position":[[37,7]]},"1107":{"position":[[37,7]]},"1110":{"position":[[37,7]]},"1121":{"position":[[37,7]]}}}],["content",{"_index":199,"t":{"1435":{"position":[[65,7]]}}}],["core",{"_index":190,"t":{"1255":{"position":[[80,5]]}}}],["cron",{"_index":219,"t":{"1613":{"position":[[68,4]]}}}],["db",{"_index":203,"t":{"1449":{"position":[[22,2]]},"1483":{"position":[[22,2]]},"1486":{"position":[[22,2]]},"1489":{"position":[[22,2]]},"1492":{"position":[[22,2]]},"1495":{"position":[[22,2]]},"1528":{"position":[[22,2]]},"1531":{"position":[[43,2]]},"1534":{"position":[[43,2]]},"1563":{"position":[[43,2]]},"1566":{"position":[[43,2]]},"1569":{"position":[[43,2]]},"1572":{"position":[[43,2]]},"1575":{"position":[[43,2]]}}}],["dbname",{"_index":205,"t":{"1483":{"position":[[36,6]]},"1531":{"position":[[57,6]]}}}],["dbpassword",{"_index":186,"t":{"1232":{"position":[[54,10]]}}}],["debug",{"_index":206,"t":{"1486":{"position":[[36,5]]}}}],["default",{"_index":215,"t":{"1597":{"position":[[57,7]]},"1746":{"position":[[54,7]]},"1779":{"position":[[55,7]]},"1850":{"position":[[50,7]]}}}],["defaultcolor",{"_index":239,"t":{"1965":{"position":[[46,12]]}}}],["defaulttext",{"_index":227,"t":{"1749":{"position":[[42,11]]},"1757":{"position":[[43,11]]},"1907":{"position":[[40,11]]}}}],["definit",{"_index":161,"t":{"947":{"position":[[0,10]]},"950":{"position":[[0,10]]},"975":{"position":[[0,10]]},"1007":{"position":[[0,10]]},"1010":{"position":[[0,10]]},"1015":{"position":[[0,10]]},"1020":{"position":[[0,10]]},"1023":{"position":[[0,10]]},"1026":{"position":[[0,10]]},"1035":{"position":[[0,10]]},"1052":{"position":[[0,10]]},"1055":{"position":[[0,10]]},"1076":{"position":[[0,10]]},"1085":{"position":[[0,10]]},"1088":{"position":[[0,10]]},"1091":{"position":[[0,10]]},"1094":{"position":[[0,10]]},"1097":{"position":[[0,10]]},"1102":{"position":[[0,10]]},"1107":{"position":[[0,10]]},"1110":{"position":[[0,10]]},"1121":{"position":[[0,10]]},"1130":{"position":[[0,10]]},"1133":{"position":[[0,10]]},"1156":{"position":[[0,10]]},"1159":{"position":[[0,10]]},"1164":{"position":[[0,10]]},"1169":{"position":[[0,10]]},"1194":{"position":[[0,10]]},"1197":{"position":[[0,10]]},"1200":{"position":[[0,10]]},"1203":{"position":[[0,10]]},"1208":{"position":[[0,10]]},"1211":{"position":[[0,10]]},"1232":{"position":[[0,10]]},"1235":{"position":[[0,10]]},"1240":{"position":[[0,10]]},"1243":{"position":[[0,10]]},"1246":{"position":[[0,10]]},"1255":{"position":[[0,10]]},"1258":{"position":[[0,10]]},"1261":{"position":[[0,10]]},"1264":{"position":[[0,10]]},"1267":{"position":[[0,10]]},"1270":{"position":[[0,10]]},"1299":{"position":[[0,10]]},"1302":{"position":[[0,10]]},"1313":{"position":[[0,10]]},"1316":{"position":[[0,10]]},"1325":{"position":[[0,10]]},"1338":{"position":[[0,10]]},"1341":{"position":[[0,10]]},"1344":{"position":[[0,10]]},"1357":{"position":[[0,10]]},"1360":{"position":[[0,10]]},"1371":{"position":[[0,10]]},"1422":{"position":[[0,10]]},"1435":{"position":[[0,10]]},"1438":{"position":[[0,10]]},"1441":{"position":[[0,10]]},"1444":{"position":[[0,10]]},"1449":{"position":[[0,10]]},"1478":{"position":[[0,10]]},"1483":{"position":[[0,10]]},"1486":{"position":[[0,10]]},"1489":{"position":[[0,10]]},"1492":{"position":[[0,10]]},"1495":{"position":[[0,10]]},"1498":{"position":[[0,10]]},"1523":{"position":[[0,10]]},"1528":{"position":[[0,10]]},"1531":{"position":[[0,10]]},"1534":{"position":[[0,10]]},"1563":{"position":[[0,10]]},"1566":{"position":[[0,10]]},"1569":{"position":[[0,10]]},"1572":{"position":[[0,10]]},"1575":{"position":[[0,10]]},"1578":{"position":[[0,10]]},"1597":{"position":[[0,10]]},"1600":{"position":[[0,10]]},"1605":{"position":[[0,10]]},"1608":{"position":[[0,10]]},"1613":{"position":[[0,10]]},"1618":{"position":[[0,10]]},"1623":{"position":[[0,10]]},"1636":{"position":[[0,10]]},"1699":{"position":[[0,10]]},"1702":{"position":[[0,10]]},"1707":{"position":[[0,10]]},"1710":{"position":[[0,10]]},"1715":{"position":[[0,10]]},"1732":{"position":[[0,10]]},"1743":{"position":[[0,10]]},"1746":{"position":[[0,10]]},"1749":{"position":[[0,10]]},"1754":{"position":[[0,10]]},"1757":{"position":[[0,10]]},"1762":{"position":[[0,10]]},"1779":{"position":[[0,10]]},"1782":{"position":[[0,10]]},"1785":{"position":[[0,10]]},"1788":{"position":[[0,10]]},"1811":{"position":[[0,10]]},"1822":{"position":[[0,10]]},"1827":{"position":[[0,10]]},"1832":{"position":[[0,10]]},"1837":{"position":[[0,10]]},"1850":{"position":[[0,10]]},"1853":{"position":[[0,10]]},"1856":{"position":[[0,10]]},"1861":{"position":[[0,10]]},"1864":{"position":[[0,10]]},"1867":{"position":[[0,10]]},"1872":{"position":[[0,10]]},"1884":{"position":[[0,10]]},"1889":{"position":[[0,10]]},"1894":{"position":[[0,10]]},"1907":{"position":[[0,10]]},"1910":{"position":[[0,10]]},"1923":{"position":[[0,10]]},"1932":{"position":[[0,10]]},"1935":{"position":[[0,10]]},"1950":{"position":[[0,10]]},"1959":{"position":[[0,10]]},"1962":{"position":[[0,10]]},"1965":{"position":[[0,10]]},"1970":{"position":[[0,10]]}}}],["deploy",{"_index":17,"t":{"38":{"position":[[5,10]]}}}],["desktop",{"_index":94,"t":{"374":{"position":[[0,7]]}}}],["displaynam",{"_index":179,"t":{"1156":{"position":[[22,11]]}}}],["emac",{"_index":98,"t":{"424":{"position":[[0,5]]}}}],["enabl",{"_index":216,"t":{"1600":{"position":[[68,7]]},"1822":{"position":[[46,7]]}}}],["errormessag",{"_index":200,"t":{"1438":{"position":[[52,12]]}}}],["extra",{"_index":196,"t":{"1344":{"position":[[41,6]]},"1357":{"position":[[41,6]]},"1360":{"position":[[41,6]]},"1435":{"position":[[41,6]]}}}],["faq",{"_index":120,"t":{"618":{"position":[[0,3]]}}}],["fetchjob",{"_index":210,"t":{"1498":{"position":[[22,9]]},"1523":{"position":[[22,9]]},"1531":{"position":[[22,9]]},"1534":{"position":[[22,9]]},"1563":{"position":[[22,9]]},"1566":{"position":[[22,9]]},"1569":{"position":[[22,9]]},"1572":{"position":[[22,9]]},"1575":{"position":[[22,9]]},"1578":{"position":[[22,9]]},"1597":{"position":[[22,9]]},"1600":{"position":[[22,9]]},"1605":{"position":[[22,9]]},"1613":{"position":[[22,9]]}}}],["footer",{"_index":237,"t":{"1907":{"position":[[22,6]]},"1910":{"position":[[22,6]]},"1923":{"position":[[22,6]]},"1932":{"position":[[22,6]]},"1959":{"position":[[22,6]]}}}],["formdata",{"_index":173,"t":{"1076":{"position":[[56,8]]},"1085":{"position":[[56,8]]},"1088":{"position":[[56,8]]}}}],["gateway",{"_index":241,"t":{"1976":{"position":[[0,7]]}}}],["go",{"_index":153,"t":{"881":{"position":[[0,2]]}}}],["gpu",{"_index":192,"t":{"1264":{"position":[[80,4]]}}}],["hometext",{"_index":225,"t":{"1715":{"position":[[22,8]]},"1732":{"position":[[22,8]]},"1743":{"position":[[22,8]]},"1746":{"position":[[22,8]]},"1749":{"position":[[22,8]]},"1754":{"position":[[22,8]]}}}],["hometitl",{"_index":228,"t":{"1757":{"position":[[22,9]]},"1762":{"position":[[22,9]]},"1779":{"position":[[22,9]]},"1782":{"position":[[22,9]]},"1785":{"position":[[22,9]]},"1811":{"position":[[22,9]]}}}],["hook",{"_index":155,"t":{"901":{"position":[[5,4]]}}}],["host",{"_index":207,"t":{"1489":{"position":[[36,4]]},"1575":{"position":[[57,4]]}}}],["hostnamemap",{"_index":226,"t":{"1732":{"position":[[42,11]]},"1743":{"position":[[42,11]]},"1746":{"position":[[42,11]]},"1754":{"position":[[42,11]]},"1779":{"position":[[43,11]]},"1782":{"position":[[43,11]]},"1785":{"position":[[43,11]]},"1811":{"position":[[43,11]]},"1923":{"position":[[40,11]]},"1932":{"position":[[40,11]]},"1950":{"position":[[46,11]]},"1959":{"position":[[40,11]]},"1962":{"position":[[46,11]]},"1970":{"position":[[46,11]]}}}],["html",{"_index":106,"t":{"517":{"position":[[2,4]]}}}],["igv",{"_index":96,"t":{"399":{"position":[[0,3]]}}}],["intel",{"_index":138,"t":{"740":{"position":[[0,5]]}}}],["item",{"_index":165,"t":{"975":{"position":[[28,5]]},"1197":{"position":[[52,5]]},"1200":{"position":[[50,5]]},"1302":{"position":[[84,5]]},"1344":{"position":[[48,5]]},"1360":{"position":[[48,5]]},"1435":{"position":[[48,5]]},"1707":{"position":[[46,5]]},"1837":{"position":[[50,5]]},"1853":{"position":[[50,5]]},"1861":{"position":[[50,5]]}}}],["jobchargecom",{"_index":218,"t":{"1608":{"position":[[22,16]]}}}],["jobchargetyp",{"_index":220,"t":{"1618":{"position":[[22,13]]}}}],["jobmanag",{"_index":230,"t":{"1827":{"position":[[22,13]]}}}],["jupyt",{"_index":97,"t":{"412":{"position":[[0,7]]}}}],["jupyterlab",{"_index":27,"t":{"84":{"position":[[0,10]]},"474":{"position":[[0,10]]}}}],["ldap",{"_index":46,"t":{"213":{"position":[[0,4]]},"711":{"position":[[0,4]]}}}],["logindesktop",{"_index":229,"t":{"1788":{"position":[[22,12]]},"1822":{"position":[[22,12]]},"1832":{"position":[[22,12]]},"1837":{"position":[[22,12]]},"1850":{"position":[[22,12]]},"1853":{"position":[[22,12]]},"1856":{"position":[[22,12]]},"1861":{"position":[[22,12]]}}}],["loginnod",{"_index":183,"t":{"1200":{"position":[[39,10]]},"1235":{"position":[[39,10]]}}}],["managerurl",{"_index":187,"t":{"1240":{"position":[[54,10]]}}}],["matlab",{"_index":99,"t":{"435":{"position":[[0,6]]}}}],["maxdesktop",{"_index":232,"t":{"1856":{"position":[[46,11]]}}}],["mem",{"_index":193,"t":{"1267":{"position":[[80,3]]}}}],["method",{"_index":175,"t":{"1091":{"position":[[56,6]]},"1097":{"position":[[56,6]]},"1102":{"position":[[56,6]]}}}],["mi",{"_index":184,"t":{"1208":{"position":[[39,3]]},"1211":{"position":[[39,3]]},"1232":{"position":[[39,3]]},"1240":{"position":[[39,3]]},"1243":{"position":[[39,3]]},"1979":{"position":[[0,3]]},"1982":{"position":[[0,3]]}}}],["misignor",{"_index":181,"t":{"1194":{"position":[[22,9]]}}}],["misurl",{"_index":233,"t":{"1864":{"position":[[22,6]]}}}],["modul",{"_index":140,"t":{"750":{"position":[[0,6]]}}}],["name",{"_index":163,"t":{"947":{"position":[[22,4]]},"1853":{"position":[[67,4]]}}}],["nf",{"_index":144,"t":{"762":{"position":[[0,3]]}}}],["node",{"_index":164,"t":{"975":{"position":[[22,5]]},"1020":{"position":[[22,5]]},"1299":{"position":[[80,5]]}}}],["octav",{"_index":100,"t":{"442":{"position":[[0,6]]}}}],["partit",{"_index":189,"t":{"1246":{"position":[[39,10]]},"1255":{"position":[[39,10]]},"1258":{"position":[[39,10]]},"1261":{"position":[[39,10]]},"1264":{"position":[[39,10]]},"1267":{"position":[[39,10]]},"1270":{"position":[[39,10]]},"1299":{"position":[[39,10]]},"1302":{"position":[[39,10]]},"1338":{"position":[[39,10]]}}}],["password",{"_index":208,"t":{"1492":{"position":[[36,8]]},"1563":{"position":[[57,8]]}}}],["path",{"_index":176,"t":{"1094":{"position":[[56,4]]}}}],["patternproperti",{"_index":174,"t":{"1085":{"position":[[65,17]]},"1088":{"position":[[65,17]]},"1107":{"position":[[62,17]]},"1110":{"position":[[62,17]]},"1255":{"position":[[50,17]]},"1258":{"position":[[50,17]]},"1261":{"position":[[50,17]]},"1264":{"position":[[50,17]]},"1267":{"position":[[50,17]]},"1270":{"position":[[50,17]]},"1299":{"position":[[50,17]]},"1302":{"position":[[50,17]]},"1313":{"position":[[11,17]]},"1325":{"position":[[11,17]]},"1338":{"position":[[50,17]]},"1341":{"position":[[11,17]]},"1344":{"position":[[11,17]]},"1357":{"position":[[11,17]]},"1360":{"position":[[11,17]]},"1435":{"position":[[11,17]]},"1743":{"position":[[54,17]]},"1754":{"position":[[54,17]]},"1782":{"position":[[55,17]]},"1785":{"position":[[55,17]]},"1932":{"position":[[52,17]]},"1959":{"position":[[52,17]]},"1962":{"position":[[58,17]]},"1970":{"position":[[58,17]]}}}],["periodicfetch",{"_index":214,"t":{"1578":{"position":[[43,13]]},"1597":{"position":[[43,13]]},"1600":{"position":[[43,13]]},"1613":{"position":[[43,13]]}}}],["port",{"_index":212,"t":{"1528":{"position":[[36,4]]},"1566":{"position":[[57,4]]}}}],["portal",{"_index":243,"t":{"1985":{"position":[[0,6]]}}}],["portalurl",{"_index":222,"t":{"1699":{"position":[[22,9]]}}}],["predefinedchargingtyp",{"_index":221,"t":{"1623":{"position":[[22,23]]},"1707":{"position":[[22,23]]}}}],["primarycolor",{"_index":238,"t":{"1935":{"position":[[22,12]]},"1950":{"position":[[22,12]]},"1962":{"position":[[22,12]]},"1965":{"position":[[22,12]]},"1970":{"position":[[22,12]]}}}],["properti",{"_index":162,"t":{"947":{"position":[[11,10]]},"975":{"position":[[11,10]]},"1007":{"position":[[11,10]]},"1010":{"position":[[11,10]]},"1015":{"position":[[11,10]]},"1020":{"position":[[11,10]]},"1023":{"position":[[11,10],[26,10]]},"1026":{"position":[[11,10]]},"1035":{"position":[[11,10]]},"1052":{"position":[[11,10],[26,10]]},"1055":{"position":[[11,10],[26,10]]},"1076":{"position":[[11,10],[26,10],[45,10]]},"1085":{"position":[[11,10],[26,10],[45,10]]},"1088":{"position":[[11,10],[26,10],[45,10]]},"1091":{"position":[[11,10],[26,10],[45,10]]},"1094":{"position":[[11,10],[26,10],[45,10]]},"1097":{"position":[[11,10],[26,10],[45,10]]},"1102":{"position":[[11,10],[26,10],[45,10]]},"1107":{"position":[[11,10],[26,10],[45,10]]},"1110":{"position":[[11,10],[26,10],[45,10]]},"1121":{"position":[[11,10],[26,10],[45,10]]},"1130":{"position":[[11,10],[26,10]]},"1156":{"position":[[11,10]]},"1159":{"position":[[11,10]]},"1164":{"position":[[11,10]]},"1169":{"position":[[11,10]]},"1194":{"position":[[11,10]]},"1197":{"position":[[11,10],[28,10]]},"1200":{"position":[[11,10],[28,10]]},"1203":{"position":[[11,10],[28,10]]},"1208":{"position":[[11,10],[28,10],[43,10]]},"1211":{"position":[[11,10],[28,10]]},"1232":{"position":[[11,10],[28,10],[43,10]]},"1235":{"position":[[11,10],[28,10]]},"1240":{"position":[[11,10],[28,10],[43,10]]},"1243":{"position":[[11,10],[28,10],[43,10]]},"1246":{"position":[[11,10],[28,10]]},"1255":{"position":[[11,10],[28,10],[69,10]]},"1258":{"position":[[11,10],[28,10]]},"1261":{"position":[[11,10],[28,10],[69,10]]},"1264":{"position":[[11,10],[28,10],[69,10]]},"1267":{"position":[[11,10],[28,10],[69,10]]},"1270":{"position":[[11,10],[28,10]]},"1299":{"position":[[11,10],[28,10],[69,10]]},"1302":{"position":[[11,10],[28,10],[69,10]]},"1338":{"position":[[11,10],[28,10],[69,10]]},"1341":{"position":[[30,10]]},"1344":{"position":[[30,10]]},"1357":{"position":[[30,10]]},"1360":{"position":[[30,10],[54,10]]},"1422":{"position":[[11,10]]},"1435":{"position":[[30,10],[54,10]]},"1438":{"position":[[11,10],[41,10]]},"1441":{"position":[[11,10],[41,10]]},"1444":{"position":[[11,10]]},"1449":{"position":[[11,10]]},"1478":{"position":[[11,10]]},"1483":{"position":[[11,10],[25,10]]},"1486":{"position":[[11,10],[25,10]]},"1489":{"position":[[11,10],[25,10]]},"1492":{"position":[[11,10],[25,10]]},"1495":{"position":[[11,10],[25,10]]},"1498":{"position":[[11,10]]},"1523":{"position":[[11,10],[32,10]]},"1528":{"position":[[11,10],[25,10]]},"1531":{"position":[[11,10],[32,10],[46,10]]},"1534":{"position":[[11,10],[32,10]]},"1563":{"position":[[11,10],[32,10],[46,10]]},"1566":{"position":[[11,10],[32,10],[46,10]]},"1569":{"position":[[11,10],[32,10],[46,10]]},"1572":{"position":[[11,10],[32,10],[46,10]]},"1575":{"position":[[11,10],[32,10],[46,10]]},"1578":{"position":[[11,10],[32,10]]},"1597":{"position":[[11,10],[32,10]]},"1600":{"position":[[11,10],[32,10],[57,10]]},"1605":{"position":[[11,10],[32,10]]},"1608":{"position":[[11,10]]},"1613":{"position":[[11,10],[32,10],[57,10]]},"1618":{"position":[[11,10]]},"1623":{"position":[[11,10]]},"1699":{"position":[[11,10]]},"1702":{"position":[[11,10]]},"1707":{"position":[[11,10]]},"1710":{"position":[[11,10]]},"1715":{"position":[[11,10]]},"1732":{"position":[[11,10],[31,10]]},"1743":{"position":[[11,10],[31,10]]},"1746":{"position":[[11,10],[31,10]]},"1749":{"position":[[11,10],[31,10]]},"1754":{"position":[[11,10],[31,10]]},"1757":{"position":[[11,10],[32,10]]},"1762":{"position":[[11,10]]},"1779":{"position":[[11,10],[32,10]]},"1782":{"position":[[11,10],[32,10]]},"1785":{"position":[[11,10],[32,10]]},"1788":{"position":[[11,10]]},"1811":{"position":[[11,10],[32,10]]},"1822":{"position":[[11,10],[35,10]]},"1827":{"position":[[11,10]]},"1832":{"position":[[11,10],[35,10]]},"1837":{"position":[[11,10],[35,10]]},"1850":{"position":[[11,10],[35,10]]},"1853":{"position":[[11,10],[35,10],[56,10]]},"1856":{"position":[[11,10],[35,10]]},"1861":{"position":[[11,10],[35,10],[56,10]]},"1864":{"position":[[11,10]]},"1867":{"position":[[11,10]]},"1872":{"position":[[11,10]]},"1884":{"position":[[11,10]]},"1889":{"position":[[11,10]]},"1907":{"position":[[11,10],[29,10]]},"1910":{"position":[[11,10]]},"1923":{"position":[[11,10],[29,10]]},"1932":{"position":[[11,10],[29,10]]},"1935":{"position":[[11,10]]},"1950":{"position":[[11,10],[35,10]]},"1959":{"position":[[11,10],[29,10]]},"1962":{"position":[[11,10],[35,10]]},"1965":{"position":[[11,10],[35,10]]},"1970":{"position":[[11,10],[35,10]]}}}],["protobuf",{"_index":157,"t":{"913":{"position":[[5,8]]}}}],["qo",{"_index":194,"t":{"1302":{"position":[[80,3]]},"1338":{"position":[[80,3]]}}}],["queri",{"_index":177,"t":{"1107":{"position":[[56,5]]},"1110":{"position":[[56,5]]},"1121":{"position":[[56,5]]}}}],["readm",{"_index":160,"t":{"939":{"position":[[0,6]]},"1113":{"position":[[0,6]]},"1305":{"position":[[0,6]]},"1363":{"position":[[0,6]]},"1628":{"position":[[0,6]]},"1877":{"position":[[0,6]]}}}],["regex",{"_index":201,"t":{"1441":{"position":[[52,5]]}}}],["relion",{"_index":101,"t":{"453":{"position":[[0,6]]}}}],["rstudio",{"_index":124,"t":{"628":{"position":[[0,7]]}}}],["savedjobsdir",{"_index":235,"t":{"1884":{"position":[[22,12]]}}}],["schedul",{"_index":180,"t":{"1159":{"position":[[22,9]]},"1164":{"position":[[22,9]]}}}],["scow",{"_index":0,"t":{"2":{"position":[[0,4]]},"4":{"position":[[0,4]]},"18":{"position":[[0,4]]},"22":{"position":[[0,4]]},"38":{"position":[[0,4]]},"717":{"position":[[0,4]]},"828":{"position":[[1,4]]},"891":{"position":[[0,4]]},"901":{"position":[[0,4]]},"913":{"position":[[0,4]]}}}],["script",{"_index":178,"t":{"1130":{"position":[[37,6]]}}}],["scriptpath",{"_index":188,"t":{"1243":{"position":[[54,10]]}}}],["server",{"_index":242,"t":{"1979":{"position":[[4,6]]}}}],["shell",{"_index":110,"t":{"563":{"position":[[0,5]]},"1872":{"position":[[22,5]]}}}],["slurm",{"_index":93,"t":{"365":{"position":[[4,5]]},"700":{"position":[[0,5]]},"760":{"position":[[0,5]]},"1169":{"position":[[22,5]]},"1197":{"position":[[22,5]]},"1200":{"position":[[22,5]]},"1203":{"position":[[22,5]]},"1208":{"position":[[22,5]]},"1211":{"position":[[22,5]]},"1232":{"position":[[22,5]]},"1235":{"position":[[22,5]]},"1240":{"position":[[22,5]]},"1243":{"position":[[22,5]]},"1246":{"position":[[22,5]]},"1255":{"position":[[22,5]]},"1258":{"position":[[22,5]]},"1261":{"position":[[22,5]]},"1264":{"position":[[22,5]]},"1267":{"position":[[22,5]]},"1270":{"position":[[22,5]]},"1299":{"position":[[22,5]]},"1302":{"position":[[22,5]]},"1338":{"position":[[22,5]]},"1988":{"position":[[0,5]]}}}],["slurmdbd",{"_index":136,"t":{"738":{"position":[[0,8]]}}}],["ssh",{"_index":44,"t":{"200":{"position":[[0,3]]}}}],["startindex",{"_index":217,"t":{"1605":{"position":[[43,10]]}}}],["submitjobdefaultpwd",{"_index":234,"t":{"1867":{"position":[[22,19]]}}}],["tablenam",{"_index":213,"t":{"1569":{"position":[[57,9]]}}}],["titl",{"_index":197,"t":{"1360":{"position":[[65,5]]}}}],["turbovncpath",{"_index":236,"t":{"1889":{"position":[[22,12]]}}}],["type",{"_index":166,"t":{"1007":{"position":[[22,4]]},"1010":{"position":[[22,4]]},"1015":{"position":[[22,4]]}}}],["ui",{"_index":80,"t":{"282":{"position":[[5,2]]},"907":{"position":[[0,2]]},"927":{"position":[[2,2]]}}}],["user",{"_index":209,"t":{"1495":{"position":[[36,4]]},"1572":{"position":[[57,4]]}}}],["v0",{"_index":12,"t":{"22":{"position":[[8,2]]}}}],["v1",{"_index":16,"t":{"22":{"position":[[20,2]]}}}],["vagrant",{"_index":121,"t":{"621":{"position":[[0,7]]},"676":{"position":[[0,7]]}}}],["vnc",{"_index":169,"t":{"1023":{"position":[[22,3]]},"1026":{"position":[[22,3]]}}}],["vscode",{"_index":28,"t":{"93":{"position":[[0,6]]},"460":{"position":[[0,6]]}}}],["web",{"_index":31,"t":{"116":{"position":[[2,3]]},"503":{"position":[[2,3]]},"1035":{"position":[[22,3]]},"1052":{"position":[[22,3]]},"1055":{"position":[[22,3]]},"1076":{"position":[[22,3]]},"1085":{"position":[[22,3]]},"1088":{"position":[[22,3]]},"1091":{"position":[[22,3]]},"1094":{"position":[[22,3]]},"1097":{"position":[[22,3]]},"1102":{"position":[[22,3]]},"1107":{"position":[[22,3]]},"1110":{"position":[[22,3]]},"1121":{"position":[[22,3]]},"1130":{"position":[[22,3]]},"1982":{"position":[[4,3]]},"1985":{"position":[[7,3]]}}}],["wm",{"_index":231,"t":{"1832":{"position":[[46,3]]},"1837":{"position":[[46,3]]},"1850":{"position":[[46,3]]},"1853":{"position":[[46,3]]},"1861":{"position":[[46,3],[67,2]]}}}],["xstartup",{"_index":170,"t":{"1023":{"position":[[37,8]]}}}],["上线",{"_index":2,"t":{"2":{"position":[[6,2]]}}}],["下拉菜单",{"_index":67,"t":{"262":{"position":[[11,4]]}}}],["下载",{"_index":130,"t":{"684":{"position":[[0,2]]}}}],["中",{"_index":57,"t":{"246":{"position":[[8,1]]}}}],["交互式",{"_index":7,"t":{"20":{"position":[[0,3]]},"134":{"position":[[0,3]]},"534":{"position":[[0,3]]},"808":{"position":[[0,3]]}}}],["代理",{"_index":117,"t":{"610":{"position":[[0,2]]}}}],["代码",{"_index":74,"t":{"272":{"position":[[2,2]]}}}],["以上",{"_index":15,"t":{"22":{"position":[[16,2]]}}}],["仪表盘",{"_index":108,"t":{"537":{"position":[[3,3]]}}}],["作业",{"_index":32,"t":{"134":{"position":[[3,2]]},"246":{"position":[[11,2]]},"534":{"position":[[3,2]]},"814":{"position":[[0,2]]}}}],["使用",{"_index":92,"t":{"365":{"position":[[2,2]]},"593":{"position":[[0,2]]},"717":{"position":[[7,2]]},"869":{"position":[[0,2]]}}}],["保存",{"_index":58,"t":{"246":{"position":[[9,2]]}}}],["修改",{"_index":70,"t":{"270":{"position":[[5,2]]}}}],["元素",{"_index":81,"t":{"282":{"position":[[7,2]]}}}],["公共",{"_index":77,"t":{"280":{"position":[[0,2]]}}}],["关节点",{"_index":119,"t":{"610":{"position":[[3,3]]}}}],["内置",{"_index":39,"t":{"155":{"position":[[0,2]]}}}],["创建",{"_index":69,"t":{"270":{"position":[[0,2]]},"332":{"position":[[0,2]]}}}],["初始化",{"_index":86,"t":{"320":{"position":[[4,3]]}}}],["制作",{"_index":123,"t":{"621":{"position":[[9,2]]}}}],["刷新",{"_index":88,"t":{"363":{"position":[[0,2]]}}}],["功能",{"_index":83,"t":{"292":{"position":[[4,2]]},"563":{"position":[[11,2]]},"575":{"position":[[7,2]]},"587":{"position":[[6,2]]}}}],["升级",{"_index":11,"t":{"22":{"position":[[4,2]]},"38":{"position":[[17,2]]}}}],["参考",{"_index":159,"t":{"925":{"position":[[2,2]]}}}],["右侧",{"_index":65,"t":{"262":{"position":[[6,2]]}}}],["器",{"_index":4,"t":{"4":{"position":[[6,1]]},"363":{"position":[[4,1]]}}}],["国际化",{"_index":54,"t":{"240":{"position":[[8,3]]}}}],["图标",{"_index":102,"t":{"483":{"position":[[4,2]]}}}],["基础",{"_index":20,"t":{"46":{"position":[[0,2]]}}}],["多",{"_index":103,"t":{"489":{"position":[[0,1]]},"670":{"position":[[0,1]]},"923":{"position":[[0,1]]}}}],["字",{"_index":60,"t":{"246":{"position":[[15,1]]}}}],["安装",{"_index":24,"t":{"78":{"position":[[0,2]]},"654":{"position":[[0,2]]},"740":{"position":[[8,2]]},"750":{"position":[[6,2]]},"762":{"position":[[3,2]]}}}],["实现",{"_index":150,"t":{"830":{"position":[[0,2]]}}}],["审计",{"_index":37,"t":{"147":{"position":[[2,2]]}}}],["密码",{"_index":71,"t":{"270":{"position":[[7,2]]}}}],["导航",{"_index":63,"t":{"262":{"position":[[3,2]]},"303":{"position":[[3,2]]}}}],["封锁",{"_index":90,"t":{"363":{"position":[[10,2]]}}}],["平台",{"_index":146,"t":{"776":{"position":[[0,2]]}}}],["平滑",{"_index":18,"t":{"38":{"position":[[15,2]]}}}],["应用",{"_index":8,"t":{"20":{"position":[[3,2]]},"102":{"position":[[5,2]]},"116":{"position":[[6,2]]},"483":{"position":[[2,2]]},"489":{"position":[[5,2]]},"497":{"position":[[2,2]]},"503":{"position":[[6,2]]},"541":{"position":[[5,2]]},"808":{"position":[[3,2]]}}}],["开发",{"_index":23,"t":{"53":{"position":[[0,2]]},"927":{"position":[[0,2]]}}}],["扩展",{"_index":156,"t":{"907":{"position":[[2,2]]},"927":{"position":[[4,2]]}}}],["技巧",{"_index":135,"t":{"717":{"position":[[9,2]]}}}],["挂载",{"_index":143,"t":{"758":{"position":[[3,2]]}}}],["指南",{"_index":22,"t":{"51":{"position":[[2,2]]}}}],["指导",{"_index":19,"t":{"38":{"position":[[19,2]]}}}],["插件",{"_index":45,"t":{"204":{"position":[[3,2]]}}}],["搭建",{"_index":129,"t":{"676":{"position":[[9,2]]}}}],["操作",{"_index":34,"t":{"136":{"position":[[3,2]]}}}],["支持",{"_index":127,"t":{"670":{"position":[[3,2]]}}}],["收费",{"_index":75,"t":{"272":{"position":[[7,2]]},"820":{"position":[[2,2]]}}}],["数据",{"_index":141,"t":{"758":{"position":[[0,2]]},"873":{"position":[[0,2]]}}}],["文件",{"_index":78,"t":{"280":{"position":[[2,2]]},"913":{"position":[[13,2]]}}}],["文件传输",{"_index":112,"t":{"563":{"position":[[7,4]]},"575":{"position":[[3,4]]}}}],["文字",{"_index":105,"t":{"497":{"position":[[7,2]]}}}],["文本",{"_index":55,"t":{"240":{"position":[[11,2]]}}}],["文档",{"_index":1,"t":{"2":{"position":[[4,2]]}}}],["新建",{"_index":133,"t":{"711":{"position":[[4,2]]}}}],["日志",{"_index":36,"t":{"136":{"position":[[7,2]]}}}],["更新",{"_index":10,"t":{"20":{"position":[[7,2]]}}}],["构建",{"_index":126,"t":{"668":{"position":[[3,2]]}}}],["架构",{"_index":26,"t":{"82":{"position":[[0,2]]},"670":{"position":[[1,2]]}}}],["查询",{"_index":50,"t":{"238":{"position":[[4,2]]}}}],["栏",{"_index":64,"t":{"262":{"position":[[5,1]]}}}],["桌面",{"_index":29,"t":{"102":{"position":[[2,2]]},"541":{"position":[[2,2]]},"587":{"position":[[4,2]]}}}],["模型",{"_index":147,"t":{"790":{"position":[[2,2]]}}}],["正则",{"_index":72,"t":{"270":{"position":[[9,2]]}}}],["段",{"_index":61,"t":{"246":{"position":[[16,1]]}}}],["消费",{"_index":51,"t":{"238":{"position":[[7,2]]},"246":{"position":[[4,2]]}}}],["源码",{"_index":125,"t":{"668":{"position":[[1,2]]}}}],["状态",{"_index":91,"t":{"363":{"position":[[12,2]]}}}],["环境",{"_index":128,"t":{"676":{"position":[[7,2]]}}}],["用户",{"_index":66,"t":{"262":{"position":[[9,2]]},"270":{"position":[[2,2]]},"332":{"position":[[2,2]]},"363":{"position":[[8,2]]},"711":{"position":[[6,2]]},"790":{"position":[[0,2]]}}}],["登录",{"_index":114,"t":{"587":{"position":[[0,2]]}}}],["监控",{"_index":82,"t":{"292":{"position":[[2,2]]},"978":{"position":[[4,2]]}}}],["盘",{"_index":142,"t":{"758":{"position":[[2,1]]}}}],["相关",{"_index":59,"t":{"246":{"position":[[13,2]]},"873":{"position":[[4,2]]}}}],["相对路径",{"_index":49,"t":{"233":{"position":[[3,4]]}}}],["示例",{"_index":154,"t":{"881":{"position":[[2,2]]}}}],["简介",{"_index":25,"t":{"80":{"position":[[2,2]]},"170":{"position":[[4,2]]},"700":{"position":[[7,2]]},"772":{"position":[[5,2]]},"776":{"position":[[2,2]]},"782":{"position":[[4,2]]},"786":{"position":[[4,2]]}}}],["管理",{"_index":158,"t":{"923":{"position":[[3,2]]}}}],["管理员",{"_index":134,"t":{"717":{"position":[[4,3]]}}}],["管理系统",{"_index":85,"t":{"320":{"position":[[0,4]]},"347":{"position":[[2,4]]},"782":{"position":[[0,4]]}}}],["类",{"_index":30,"t":{"102":{"position":[[4,1]]},"116":{"position":[[5,1]]},"503":{"position":[[5,1]]},"541":{"position":[[4,1]]}}}],["类型",{"_index":52,"t":{"238":{"position":[[9,2]]}}}],["系统",{"_index":38,"t":{"147":{"position":[[4,2]]},"170":{"position":[[2,2]]},"176":{"position":[[6,2]]},"200":{"position":[[5,2]]},"213":{"position":[[6,2]]},"256":{"position":[[3,2]]},"553":{"position":[[4,2]]},"772":{"position":[[3,2]]},"786":{"position":[[2,2]]},"830":{"position":[[7,2]]},"869":{"position":[[7,2]]}}}],["系统配置",{"_index":41,"t":{"155":{"position":[[4,4]]}}}],["终端",{"_index":111,"t":{"563":{"position":[[5,2]]}}}],["统计",{"_index":151,"t":{"873":{"position":[[2,2]]}}}],["维",{"_index":132,"t":{"702":{"position":[[1,1]]}}}],["编译器",{"_index":139,"t":{"740":{"position":[[5,3]]}}}],["网",{"_index":118,"t":{"610":{"position":[[2,1]]}}}],["网关",{"_index":87,"t":{"340":{"position":[[0,2]]}}}],["网页",{"_index":79,"t":{"282":{"position":[[3,2]]}}}],["自定义",{"_index":33,"t":{"136":{"position":[[0,3]]},"233":{"position":[[0,3]]},"238":{"position":[[0,3]]},"240":{"position":[[0,3]]},"246":{"position":[[0,3]]},"256":{"position":[[0,3]]},"262":{"position":[[0,3]]},"272":{"position":[[4,3]]},"282":{"position":[[0,3]]},"303":{"position":[[0,3]]},"537":{"position":[[0,3]]},"605":{"position":[[0,3]]},"830":{"position":[[2,3]]},"869":{"position":[[2,3]]}}}],["节点",{"_index":115,"t":{"587":{"position":[[2,2]]}}}],["行为",{"_index":35,"t":{"136":{"position":[[5,2]]}}}],["表单",{"_index":107,"t":{"517":{"position":[[6,2]]}}}],["规划",{"_index":145,"t":{"770":{"position":[[2,2]]}}}],["规则",{"_index":76,"t":{"272":{"position":[[9,2]]}}}],["计费",{"_index":148,"t":{"820":{"position":[[0,2]]}}}],["认证",{"_index":40,"t":{"155":{"position":[[2,2]]},"170":{"position":[[0,2]]},"200":{"position":[[3,2]]},"213":{"position":[[4,2]]},"830":{"position":[[5,2]]},"869":{"position":[[5,2]]}}}],["记录",{"_index":56,"t":{"246":{"position":[[6,2]]}}}],["语言",{"_index":62,"t":{"256":{"position":[[5,2]]}}}],["说明",{"_index":104,"t":{"497":{"position":[[5,2]]}}}],["调度",{"_index":3,"t":{"4":{"position":[[4,2]]},"363":{"position":[[2,2]]}}}],["贡献",{"_index":21,"t":{"51":{"position":[[0,2]]}}}],["账户",{"_index":89,"t":{"363":{"position":[[5,2]]}}}],["跨",{"_index":113,"t":{"575":{"position":[[0,1]]}}}],["运",{"_index":131,"t":{"702":{"position":[[0,1]]}}}],["适配器",{"_index":5,"t":{"4":{"position":[[7,3]]}}}],["选",{"_index":84,"t":{"292":{"position":[[8,1]]},"575":{"position":[[11,1]]}}}],["通过",{"_index":73,"t":{"272":{"position":[[0,2]]}}}],["部署",{"_index":116,"t":{"605":{"position":[[3,2]]},"700":{"position":[[5,2]]},"978":{"position":[[0,2]]},"1988":{"position":[[7,2]]}}}],["配置",{"_index":9,"t":{"20":{"position":[[5,2]]},"46":{"position":[[2,2]]},"78":{"position":[[3,2]]},"80":{"position":[[0,2]]},"102":{"position":[[0,2]]},"116":{"position":[[0,2]]},"147":{"position":[[0,2]]},"176":{"position":[[0,2]]},"240":{"position":[[4,2]]},"270":{"position":[[11,2]]},"332":{"position":[[4,2]]},"340":{"position":[[2,2]]},"347":{"position":[[0,2]]},"365":{"position":[[0,2]]},"483":{"position":[[0,2]]},"489":{"position":[[7,2]]},"497":{"position":[[0,2]]},"503":{"position":[[0,2]]},"517":{"position":[[0,2]]},"541":{"position":[[0,2]]},"553":{"position":[[0,2]]},"738":{"position":[[14,2]]},"760":{"position":[[11,2]]},"762":{"position":[[6,2]]},"925":{"position":[[0,2]]}}}],["配置文件",{"_index":48,"t":{"229":{"position":[[2,4]]}}}],["链接",{"_index":68,"t":{"262":{"position":[[15,2]]},"303":{"position":[[5,2]]}}}],["镜像",{"_index":122,"t":{"621":{"position":[[7,2]]}}}],["门户",{"_index":109,"t":{"553":{"position":[[2,2]]},"786":{"position":[[0,2]]}}}],["集成",{"_index":149,"t":{"828":{"position":[[5,2]]}}}],["集群",{"_index":47,"t":{"229":{"position":[[0,2]]},"292":{"position":[[0,2]]},"365":{"position":[[10,2]]},"489":{"position":[[1,2]]},"575":{"position":[[1,2]]},"770":{"position":[[0,2]]},"923":{"position":[[1,2]]},"978":{"position":[[2,2]]},"1988":{"position":[[5,2]]}}}],["项",{"_index":53,"t":{"240":{"position":[[6,1]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":6,"t":"什么是调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#什么是调度器适配器","p":4},{"i":8,"t":"怎样实现调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#怎样实现调度器适配器","p":4},{"i":10,"t":"如何平滑升级","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#如何平滑升级","p":4},{"i":12,"t":"1. 部署调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#1-部署调度器适配器","p":4},{"i":14,"t":"2. 修改SCOW配置文件","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#2-修改scow配置文件","p":4},{"i":16,"t":"3. 不再使用源作业信息数据库","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#3-不再使用源作业信息数据库","p":4},{"i":24,"t":"2. 添加审计日志功能","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":26,"t":"3. 修改mis.yaml","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":28,"t":"4. 部署适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":30,"t":"5. 修改集群配置文件","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":32,"t":"6. 交互式应用增加图标(可选)","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":34,"t":"7. 登录页面添加slogan(可选)","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":36,"t":"8. 重启服务","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":40,"t":"1. 停止scow服务","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","h":"#1-停止scow服务","p":38},{"i":42,"t":"2. 备份配置文件","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","h":"#2-备份配置文件","p":38},{"i":44,"t":"3. 升级","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","h":"#3--升级","p":38},{"i":47,"t":"1. 所有节点","u":"/SCOW/pr-preview/pr-1298/docs/basic-config","h":"#1-所有节点","p":46},{"i":49,"t":"2. 服务节点","u":"/SCOW/pr-preview/pr-1298/docs/basic-config","h":"#2-服务节点","p":46},{"i":55,"t":"Repo结构","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#repo结构","p":53},{"i":57,"t":"开始开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#开始开发","p":53},{"i":58,"t":"准备主机环境","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#准备主机环境","p":53},{"i":60,"t":"推荐:Dev Container","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#推荐dev-container","p":53},{"i":62,"t":"本地开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#本地开发","p":53},{"i":64,"t":"测试开发环境","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#测试开发环境","p":53},{"i":66,"t":"Dev Container环境","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#dev-container环境","p":53},{"i":68,"t":"本地开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#本地开发-1","p":53},{"i":70,"t":"容器构建说明","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#容器构建说明","p":53},{"i":72,"t":"代码风格检查","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#代码风格检查","p":53},{"i":74,"t":"为什么不采用其他monorepo管理方案?","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#为什么不采用其他monorepo管理方案","p":53},{"i":76,"t":"CI","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#ci","p":53},{"i":85,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#软件简介","p":84},{"i":87,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#前提条件","p":84},{"i":89,"t":"1、软件介绍","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#1软件介绍","p":84},{"i":91,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#配置文件","p":84},{"i":94,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#软件简介","p":93},{"i":96,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#前提条件","p":93},{"i":98,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#配置文件","p":93},{"i":100,"t":"注意事项","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#注意事项","p":93},{"i":103,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#前提条件","p":102},{"i":105,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#配置示例","p":102},{"i":107,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#配置解释","p":102},{"i":108,"t":"logoPath","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#logopath","p":102},{"i":110,"t":"image","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#image","p":102},{"i":112,"t":"beforeScript","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#beforescript","p":102},{"i":114,"t":"xstartup","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#xstartup","p":102},{"i":117,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#前提条件","p":116},{"i":119,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#配置示例","p":116},{"i":121,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#配置解释","p":116},{"i":122,"t":"proxyType","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#proxytype","p":116},{"i":124,"t":"image","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#image","p":116},{"i":126,"t":"logoPath","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#logopath","p":116},{"i":128,"t":"appComment","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#appcomment","p":116},{"i":130,"t":"beforeScript,startCommand 和script","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#beforescriptstartcommand-和script","p":116},{"i":132,"t":"attributes","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#attributes","p":116},{"i":138,"t":"功能介绍","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#功能介绍","p":136},{"i":140,"t":"如何新增自定义操作行为","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#如何新增自定义操作行为","p":136},{"i":141,"t":"1. 调用CreateOperationLog API","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#1-调用createoperationlog-api","p":136},{"i":143,"t":"2. 自定义操作行为日志查看及搜索","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#2-自定义操作行为日志查看及搜索","p":136},{"i":145,"t":"注意","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#注意","p":136},{"i":149,"t":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","h":"#修改安装配置文件","p":147},{"i":151,"t":"编写后端服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","h":"#编写后端服务配置","p":147},{"i":153,"t":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","h":"#启动服务","p":147},{"i":156,"t":"UI 配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#ui-配置","p":155},{"i":158,"t":"允许回调主机名","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#允许回调主机名","p":155},{"i":160,"t":"验证码功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#验证码功能","p":155},{"i":162,"t":"模仿用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#模仿用户","p":155},{"i":164,"t":"OTP功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#otp功能","p":155},{"i":166,"t":"一、将OTP密钥保存在LDAP中(即otp.type为ldap):","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#一将otp密钥保存在ldap中即otptype为ldap","p":155},{"i":168,"t":"二、由您自己管理OTP密钥(otp.type为remote):","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#二由您自己管理otp密钥otptype为remote","p":155},{"i":172,"t":"内置认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","h":"","p":170},{"i":174,"t":"自定义认证方式","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","h":"","p":170},{"i":178,"t":"Beta期间配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"","p":176},{"i":180,"t":"前期准备","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#前期准备","p":176},{"i":181,"t":"K8S 集群","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#k8s-集群","p":176},{"i":183,"t":"K8S 调度服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#k8s-调度服务","p":176},{"i":185,"t":"Harbor","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#harbor","p":176},{"i":187,"t":"并行文件存储服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#并行文件存储服务","p":176},{"i":189,"t":"LDAP","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#ldap","p":176},{"i":191,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#配置文件","p":176},{"i":192,"t":"集群配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#集群配置文件","p":176},{"i":194,"t":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#修改安装配置文件","p":176},{"i":196,"t":"编写 AI 服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#编写-ai-服务配置","p":176},{"i":198,"t":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#启动服务","p":176},{"i":202,"t":"配置SSH认证服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","h":"#配置ssh认证服务","p":200},{"i":206,"t":"编写和配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"#编写和配置","p":204},{"i":208,"t":"插件功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"#插件功能","p":204},{"i":209,"t":"覆盖docker-compose.yml","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"#覆盖docker-composeyml","p":204},{"i":211,"t":"拓展与集成","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"#拓展与集成","p":204},{"i":215,"t":"LDAP认证要求和流程","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#ldap认证要求和流程","p":213},{"i":217,"t":"使用LDAP登录集群","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#使用ldap登录集群","p":213},{"i":219,"t":"登录","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#登录","p":213},{"i":221,"t":"创建用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#创建用户","p":213},{"i":223,"t":"配置LDAP认证服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#配置ldap认证服务","p":213},{"i":225,"t":"LDAP快速配置脚本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#ldap快速配置脚本","p":213},{"i":227,"t":"LDAP镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#ldap镜像","p":213},{"i":231,"t":"注意","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","h":"#注意","p":229},{"i":234,"t":"什么是相对路径(base path)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","h":"#什么是相对路径base-path","p":233},{"i":236,"t":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","h":"#配置","p":233},{"i":242,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","h":"#配置示例","p":240},{"i":244,"t":"支持国际化文本切换的配置项","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","h":"#支持国际化文本切换的配置项","p":240},{"i":248,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置示例","p":246},{"i":250,"t":"配置说明","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置说明","p":246},{"i":252,"t":"配置效果展示","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置效果展示","p":246},{"i":254,"t":"entities/JobInfo","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#entitiesjobinfo","p":246},{"i":258,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","h":"#配置示例","p":256},{"i":260,"t":"配置结果示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","h":"#配置结果示例","p":256},{"i":264,"t":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","h":"#配置","p":262},{"i":266,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","h":"#配置示例","p":262},{"i":268,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","h":"#配置解释","p":262},{"i":274,"t":"增加配置目录及自定义规则js文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","h":"#增加配置目录及自定义规则js文件","p":272},{"i":276,"t":"mis.yaml增加可选配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","h":"#misyaml增加可选配置","p":272},{"i":278,"t":"创建新的计费项使用这个新的计量方式","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","h":"#创建新的计费项使用这个新的计量方式","p":272},{"i":284,"t":"自定义favicon","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#自定义favicon","p":282},{"i":286,"t":"自定义导航栏LOGO","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#自定义导航栏logo","p":282},{"i":288,"t":"自定义主题色和footer文本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#自定义主题色和footer文本","p":282},{"i":290,"t":"来访的域名","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#来访的域名","p":282},{"i":293,"t":"资源状态","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#资源状态","p":292},{"i":295,"t":"1. 直接嵌入","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#1-直接嵌入","p":292},{"i":297,"t":"2. 代理","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#2-代理","p":292},{"i":299,"t":"告警日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#告警日志","p":292},{"i":301,"t":"参考配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#参考配置","p":292},{"i":305,"t":"门户系统中的配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#门户系统中的配置","p":303},{"i":307,"t":"管理系统中的配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#管理系统中的配置","p":303},{"i":309,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#配置示例","p":303},{"i":310,"t":"门户系统自定义导航链接配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#门户系统自定义导航链接配置示例","p":303},{"i":312,"t":"管理系统自定义导航链接配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#管理系统自定义导航链接配置示例","p":303},{"i":314,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#配置解释","p":303},{"i":316,"t":"自定义图标配置说明","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#自定义图标配置说明","p":303},{"i":318,"t":"角色配置说明","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#角色配置说明","p":303},{"i":322,"t":"导入已有用户信息","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#导入已有用户信息","p":320},{"i":324,"t":"查看系统的用户和账户,设置初始管理员用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#查看系统的用户和账户设置初始管理员用户","p":320},{"i":326,"t":"添加初始管理员用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#添加初始管理员用户","p":320},{"i":328,"t":"编辑作业价格表","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#编辑作业价格表","p":320},{"i":330,"t":"完成初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#完成初始化","p":320},{"i":334,"t":"内置创建用户页面","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","h":"#内置创建用户页面","p":332},{"i":336,"t":"外置创建用户界面","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","h":"#外置创建用户界面","p":332},{"i":338,"t":"关闭SCOW中创建用户功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","h":"#关闭scow中创建用户功能","p":332},{"i":341,"t":"extra","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","h":"#extra","p":340},{"i":343,"t":"域名白名单配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","h":"#域名白名单配置","p":340},{"i":345,"t":"SCOW 访问协议","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","h":"#scow-访问协议","p":340},{"i":349,"t":"管理系统同步作业信息","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#管理系统同步作业信息","p":347},{"i":351,"t":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#修改安装配置文件","p":347},{"i":353,"t":"部署调度器适配器","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#部署调度器适配器","p":347},{"i":355,"t":"更新集群配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#更新集群配置文件","p":347},{"i":357,"t":"编写后端服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#编写后端服务配置","p":347},{"i":359,"t":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#启动服务","p":347},{"i":361,"t":"系统初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#系统初始化","p":347},{"i":366,"t":"选定slurm节点和部署slurm适配器","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#选定slurm节点和部署slurm适配器","p":365},{"i":368,"t":"修改集群配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#修改集群配置","p":365},{"i":370,"t":"导入已有用户信息","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#导入已有用户信息","p":365},{"i":372,"t":"SCOW和slurm用户信息的关系","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#scow和slurm用户信息的关系","p":365},{"i":375,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#软件简介","p":374},{"i":377,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#前提条件","p":374},{"i":379,"t":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#1turbovnc安装","p":374},{"i":381,"t":"3、桌面环境安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#3桌面环境安装","p":374},{"i":383,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#配置文件","p":374},{"i":385,"t":"FAQ","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#faq","p":374},{"i":386,"t":"Q1:首次连接进入到Xfce桌面时,会报XFCE PolicyKit Agent的弹窗错误","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#q1首次连接进入到xfce桌面时会报xfce-policykit-agent的弹窗错误","p":374},{"i":389,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#软件简介","p":388},{"i":391,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#前提条件","p":388},{"i":393,"t":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#1turbovnc安装","p":388},{"i":395,"t":"2、构建Baltamatica镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#2构建baltamatica镜像","p":388},{"i":397,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#配置文件","p":388},{"i":400,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#软件简介","p":399},{"i":402,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#前提条件","p":399},{"i":404,"t":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#1turbovnc安装","p":399},{"i":406,"t":"2、Java安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#2java安装","p":399},{"i":408,"t":"4、添加modulefile文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#4添加modulefile文件","p":399},{"i":410,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#配置文件","p":399},{"i":413,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#软件简介","p":412},{"i":415,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#前提条件","p":412},{"i":417,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#配置文件","p":412},{"i":419,"t":"附章","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#附章","p":412},{"i":420,"t":"1、Anaconda安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#1anaconda安装","p":412},{"i":422,"t":"2、添加modulefile文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#2添加modulefile文件","p":412},{"i":425,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#软件简介","p":424},{"i":427,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#前提条件","p":424},{"i":429,"t":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#1turbovnc安装","p":424},{"i":431,"t":"2、Emacs安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#2emacs安装","p":424},{"i":433,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#配置文件","p":424},{"i":436,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","h":"#软件简介","p":435},{"i":438,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","h":"#前提条件","p":435},{"i":440,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","h":"#配置文件","p":435},{"i":443,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#软件简介","p":442},{"i":445,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#前提条件","p":442},{"i":447,"t":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#1turbovnc安装","p":442},{"i":449,"t":"2、Octave安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#2octave安装","p":442},{"i":451,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#配置文件","p":442},{"i":454,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","h":"#软件简介","p":453},{"i":456,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","h":"#前提条件","p":453},{"i":458,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","h":"#配置文件","p":453},{"i":461,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#软件简介","p":460},{"i":463,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#前提条件","p":460},{"i":465,"t":"1、code-server安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#1code-server安装","p":460},{"i":467,"t":"2、添加modulefile文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#2添加modulefile文件","p":460},{"i":469,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#配置文件","p":460},{"i":471,"t":"注意事项","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#注意事项","p":460},{"i":472,"t":"VSCode扩展安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#vscode扩展安装","p":460},{"i":475,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#软件简介","p":474},{"i":477,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#前提条件","p":474},{"i":479,"t":"1、软件介绍","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#1软件介绍","p":474},{"i":481,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#配置文件","p":474},{"i":485,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置示例","p":483},{"i":487,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置解释","p":483},{"i":491,"t":"各个集群共享应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#各个集群共享应用","p":489},{"i":493,"t":"特定集群应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#特定集群应用","p":489},{"i":495,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#配置示例","p":489},{"i":499,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置示例","p":497},{"i":501,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置解释","p":497},{"i":504,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#前提条件","p":503},{"i":506,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#配置示例","p":503},{"i":508,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#配置解释","p":503},{"i":509,"t":"proxyType","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#proxytype","p":503},{"i":511,"t":"beforeScript和script","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#beforescript和script","p":503},{"i":513,"t":"connect","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#connect","p":503},{"i":515,"t":"attributes","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#attributes","p":503},{"i":519,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置示例","p":517},{"i":520,"t":"web类应用配置HTML表单示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#web类应用配置html表单示例","p":517},{"i":522,"t":"VNC类应用配置HTML表单示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#vnc类应用配置html表单示例","p":517},{"i":524,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置解释","p":517},{"i":526,"t":"配置输入类型为文本的HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为文本的html表单","p":517},{"i":528,"t":"配置输入类型为数字的HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为数字的html表单","p":517},{"i":530,"t":"配置输入为下拉选择器的HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入为下拉选择器的html表单","p":517},{"i":532,"t":"配置其他sbatch参数","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置其他sbatch参数","p":517},{"i":536,"t":"实现原理","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro","h":"","p":534},{"i":539,"t":"自定义仪表盘LOGO","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","h":"#自定义仪表盘logo","p":537},{"i":542,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#前提条件","p":541},{"i":544,"t":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#配置示例","p":541},{"i":546,"t":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#配置解释","p":541},{"i":547,"t":"beforeScript","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#beforescript","p":541},{"i":549,"t":"xstartup","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#xstartup","p":541},{"i":551,"t":"attributes","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#attributes","p":541},{"i":555,"t":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#修改安装配置文件","p":553},{"i":557,"t":"编写门户服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#编写门户服务配置","p":553},{"i":559,"t":"更多配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#更多配置","p":553},{"i":561,"t":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#启动服务","p":553},{"i":565,"t":"sopen命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sopen命令","p":563},{"i":567,"t":"sup命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sup命令","p":563},{"i":569,"t":"sdown命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sdown命令","p":563},{"i":571,"t":"sedit命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sedit命令","p":563},{"i":573,"t":"注意","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#注意","p":563},{"i":576,"t":"1. 为每个集群添加传输节点","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#1-为每个集群添加传输节点","p":575},{"i":577,"t":"网络区分","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#网络区分","p":575},{"i":579,"t":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#配置","p":575},{"i":581,"t":"2. 建立scow节点到每个传输节点的root用户免密","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#2-建立scow节点到每个传输节点的root用户免密","p":575},{"i":583,"t":"3. 在每个传输节点上安装scow-sync传输软件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#3-在每个传输节点上安装scow-sync传输软件","p":575},{"i":585,"t":"4. 可选:自定义scow-sync的日志路径","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#4-可选自定义scow-sync的日志路径","p":575},{"i":589,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","h":"#前提条件","p":587},{"i":591,"t":"支持的桌面","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","h":"#支持的桌面","p":587},{"i":595,"t":"1. 集群一键部署","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#1-集群一键部署","p":593},{"i":597,"t":"2. 集群初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#2-集群初始化","p":593},{"i":599,"t":"3. SCOW运维操作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#3-scow运维操作","p":593},{"i":601,"t":"4. 集群一键销毁命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#4-集群一键销毁命令","p":593},{"i":603,"t":"5. 更多文档","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#5-更多文档","p":593},{"i":606,"t":"1. 如何修改节点私网IP","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","h":"#1-如何修改节点私网ip","p":605},{"i":608,"t":"2. 如何新增计算节点","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","h":"#2-如何新增计算节点","p":605},{"i":612,"t":"手动配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","h":"","p":610},{"i":614,"t":"自动配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","h":"","p":610},{"i":616,"t":"配置要求","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","h":"","p":610},{"i":619,"t":"1. Invalid value 'WAS' in AudioAdapter/@driver attribute","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq","h":"#1--invalid-value-was-in-audioadapterdriver-attribute","p":618},{"i":622,"t":"1. login/compute节点镜像制作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","h":"#1-logincompute节点镜像制作","p":621},{"i":624,"t":"2. slurm节点镜像制作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","h":"#2-slurm节点镜像制作","p":621},{"i":626,"t":"3. SCOW节点镜像制作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","h":"#3-scow节点镜像制作","p":621},{"i":629,"t":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#软件简介","p":628},{"i":631,"t":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#前提条件","p":628},{"i":633,"t":"1、RStudio Server 1.4.1103之前版本的安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#1rstudio-server-141103之前版本的安装","p":628},{"i":635,"t":"2、RStudio Server 1.4.1103及之后版本的安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#2rstudio-server-141103及之后版本的安装","p":628},{"i":637,"t":"2.3、构建RStudio Server镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#23构建rstudio-server镜像","p":628},{"i":639,"t":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#配置文件","p":628},{"i":641,"t":"1、RStudio Server 1.4.1103之前版本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#1rstudio-server-141103之前版本","p":628},{"i":643,"t":"2、RStudio Server 1.4.1103及之后版本(源码安装R)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#2rstudio-server-141103及之后版本源码安装r","p":628},{"i":645,"t":"3、RStudio Server 1.4.1103及之后版本(Conda环境安装R)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#3rstudio-server-141103及之后版本conda环境安装r","p":628},{"i":647,"t":"附章","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#附章","p":628},{"i":648,"t":"1、Singularity安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#1singularity安装","p":628},{"i":650,"t":"2、R安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#2r安装","p":628},{"i":652,"t":"3、构建RStudio Server镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#3构建rstudio-server镜像","p":628},{"i":656,"t":"集群要求","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#集群要求","p":654},{"i":658,"t":"准备环境","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#准备环境","p":654},{"i":660,"t":"部署SCOW调度器适配器","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#部署scow调度器适配器","p":654},{"i":662,"t":"下载scow-cli","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#下载scow-cli","p":654},{"i":664,"t":"准备配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#准备配置文件","p":654},{"i":666,"t":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#配置","p":654},{"i":672,"t":"scow-cli","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","h":"#scow-cli","p":670},{"i":674,"t":"编译支持多架构的镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","h":"#编译支持多架构的镜像","p":670},{"i":678,"t":"1. 安装virtualbox","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","h":"#1-安装virtualbox","p":676},{"i":680,"t":"2. 安装vagrant","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","h":"#2-安装vagrant","p":676},{"i":682,"t":"3. vagrant基本操作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","h":"#3-vagrant基本操作","p":676},{"i":686,"t":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":688,"t":"使用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":690,"t":"从scow-deployment迁移","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":692,"t":"常见命令的对照","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"#常见命令的对照","p":684},{"i":694,"t":"更新scow-cli","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":696,"t":"代理","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":698,"t":"打印调试日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":704,"t":"更新","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"#更新","p":702},{"i":706,"t":"日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"#日志","p":702},{"i":707,"t":"查看日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"#查看日志","p":702},{"i":709,"t":"配置日志输出","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"#配置日志输出","p":702},{"i":713,"t":"1. 界面添加LDAP用户","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","h":"#1-界面添加ldap用户","p":711},{"i":715,"t":"2. 命令添加LDAP用户","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","h":"#2-命令添加ldap用户","p":711},{"i":718,"t":"1. 系统报错:查看运行日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#1-系统报错查看运行日志","p":717},{"i":720,"t":"1.1 查看日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#11-查看日志","p":717},{"i":722,"t":"1.2 设置日志级别","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#12-设置日志级别","p":717},{"i":724,"t":"2. 作业/交互式应用执行失败:查看输出文档","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#2-作业交互式应用执行失败查看输出文档","p":717},{"i":725,"t":"2.1 作业执行失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#21-作业执行失败","p":717},{"i":727,"t":"2.2 交互式应用执行失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#22-交互式应用执行失败","p":717},{"i":729,"t":"3. 用户操作审计:查看操作日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#3-用户操作审计查看操作日志","p":717},{"i":731,"t":"4. 解决特定环境问题:模仿用户登录","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#4-解决特定环境问题模仿用户登录","p":717},{"i":733,"t":"5. 其他","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#5-其他","p":717},{"i":734,"t":"5.1 用户从账户中移除失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#51-用户从账户中移除失败","p":717},{"i":736,"t":"5.2 将用户添加到某个账户失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#52-将用户添加到某个账户失败","p":717},{"i":742,"t":"1. 获取安装包","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#1-获取安装包","p":740},{"i":744,"t":"2. 安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#2-安装","p":740},{"i":746,"t":"3. 添加环境变量","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#3-添加环境变量","p":740},{"i":748,"t":"4. Linkpack测试","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#4-linkpack测试","p":740},{"i":752,"t":"1. tcl安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","h":"#1-tcl安装","p":750},{"i":754,"t":"2. module安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","h":"#2-module安装","p":750},{"i":756,"t":"3. 配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","h":"#3-配置","p":750},{"i":764,"t":"1. 安装NFS服务端","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","h":"#1-安装nfs服务端","p":762},{"i":766,"t":"2. 客户端搭建","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","h":"#2-客户端搭建","p":762},{"i":768,"t":"3. 使用","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","h":"#3-使用","p":762},{"i":774,"t":"功能和特点","u":"/SCOW/pr-preview/pr-1298/docs/info/ai","h":"#功能和特点","p":772},{"i":778,"t":"功能和特点","u":"/SCOW/pr-preview/pr-1298/docs/info","h":"#功能和特点","p":776},{"i":780,"t":"体验环境","u":"/SCOW/pr-preview/pr-1298/docs/info","h":"#体验环境","p":776},{"i":784,"t":"业务模型","u":"/SCOW/pr-preview/pr-1298/docs/info/mis","h":"#业务模型","p":782},{"i":788,"t":"支持的功能","u":"/SCOW/pr-preview/pr-1298/docs/info/portal","h":"","p":786},{"i":792,"t":"账户状态","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#账户状态","p":790},{"i":794,"t":"1.账户处于正常状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#1账户处于正常状态时","p":790},{"i":796,"t":"2.账户处于封锁状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#2账户处于封锁状态时","p":790},{"i":798,"t":"3.账户处于欠费状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#3账户处于欠费状态时","p":790},{"i":800,"t":"用户在账户中的状态","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#用户在账户中的状态","p":790},{"i":802,"t":"1.用户在账户中处于正常状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#1用户在账户中处于正常状态时","p":790},{"i":804,"t":"2.用户在账户中处于封锁状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#2用户在账户中处于封锁状态时","p":790},{"i":806,"t":"3.用户在账户中处于限额状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#3用户在账户中处于限额状态时","p":790},{"i":810,"t":"交互式应用的分类","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","h":"#交互式应用的分类","p":808},{"i":812,"t":"配置","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","h":"#配置","p":808},{"i":816,"t":"分区(队列)","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","h":"#分区队列","p":814},{"i":818,"t":"提交作业","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","h":"#提交作业","p":814},{"i":822,"t":"计费规则","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","h":"#计费规则","p":820},{"i":824,"t":"从网页编辑作业价格表","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","h":"#从网�页编辑作业价格表","p":820},{"i":826,"t":"快速创建计费规则","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","h":"#快速创建计费规则","p":820},{"i":832,"t":"基本概念","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#基本概念","p":830},{"i":834,"t":"必须实现的API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#必须实现的api","p":830},{"i":835,"t":"GET /public/auth","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-publicauth","p":830},{"i":837,"t":"GET /public/validateToken","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-publicvalidatetoken","p":830},{"i":839,"t":"DELETE /token","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#delete-token","p":830},{"i":841,"t":"GET /capabilities","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-capabilities","p":830},{"i":843,"t":"创建用户功能相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#创建用户功能相关api","p":830},{"i":845,"t":"POST /user","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#post-user","p":830},{"i":847,"t":"查询用户功能相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#查询用户功能相关api","p":830},{"i":848,"t":"GET /user","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-user","p":830},{"i":850,"t":"修改邮箱相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#修改邮箱相关api","p":830},{"i":852,"t":"PATCH /user/email","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#patch-useremail","p":830},{"i":854,"t":"验证密码相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#验证密码相关api","p":830},{"i":855,"t":"GET /checkPassword","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-checkpassword","p":830},{"i":857,"t":"修改密码相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#修改密码相关api","p":830},{"i":859,"t":"PATCH /password","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#patch-password","p":830},{"i":861,"t":"用户账户关系相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#用户账户关系相关api","p":830},{"i":863,"t":"POST /account","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#post-account","p":830},{"i":865,"t":"POST /account/${accountName}/user","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#post-accountaccountnameuser","p":830},{"i":867,"t":"DELETE /account/${accountName}/user/${userId}","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#delete-accountaccountnameuseruserid","p":830},{"i":871,"t":"使用自定义认证服务","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/use","h":"#使用自定义认证服务","p":869},{"i":875,"t":"相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","h":"#相关api","p":873},{"i":877,"t":"参数 TimeZone","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","h":"#参数-timezone","p":873},{"i":879,"t":"可用时区名称及UTC偏移量","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","h":"#可用时区名称及utc偏移量","p":873},{"i":883,"t":"准备环境","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#准备环境","p":881},{"i":885,"t":"使用Buf获取Proto文件并生成代码","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#使用buf获取proto文件并生成代码","p":881},{"i":887,"t":"使用SCOW API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#使用scow-api","p":881},{"i":889,"t":"实现并注册SCOW Hook","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#实现并注册scow-hook","p":881},{"i":893,"t":"打开后端服务网络接口","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#打开后端服务网络接口","p":891},{"i":895,"t":"API认证","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#api认证","p":891},{"i":897,"t":"静态Token认证","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#静态token认证","p":891},{"i":899,"t":"实际项目示例","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#实际项目示例","p":891},{"i":903,"t":"SCOW服务连接到Hook服务","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","h":"#scow服务连接到hook服务","p":901},{"i":905,"t":"实际项目示例","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","h":"#实际项目示例","p":901},{"i":909,"t":"开发UI扩展","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","h":"#开发ui扩展","p":907},{"i":911,"t":"配置SCOW使用UI扩展","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","h":"#配置scow使用ui扩展","p":907},{"i":915,"t":"获取Proto文件","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#获取proto文件","p":913},{"i":917,"t":"1. 使用Buf获取和生成代码(推荐)","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#1-使用buf获取和生成代码推荐","p":913},{"i":919,"t":"2. 通过npm获取proto文件","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#2-通过npm获取proto文件","p":913},{"i":921,"t":"API版本控制","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#api版本控制","p":913},{"i":929,"t":"上下文参数","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","h":"#上下文参数","p":927},{"i":931,"t":"扩展页","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","h":"#扩展页","p":927},{"i":933,"t":"配置接口","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","h":"#配置接口","p":927},{"i":935,"t":"重写门户系统的导航项:POST /api/portal/rewriteNavigations","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","h":"#重写门户系统的导航项post-apiportalrewritenavigations","p":927},{"i":937,"t":"注意事项","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","h":"#注意事项","p":927},{"i":940,"t":"Top-level Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app","h":"#top-level-schemas","p":939},{"i":942,"t":"Other Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app","h":"#other-schemas","p":939},{"i":943,"t":"Objects","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app","h":"#objects","p":939},{"i":945,"t":"Arrays","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app","h":"#arrays","p":939},{"i":948,"t":"name Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name","h":"#name-type","p":947},{"i":951,"t":"Untitled object in undefined Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#untitled-object-in-undefined-type","p":950},{"i":953,"t":"Untitled object in undefined Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"","p":950},{"i":955,"t":"name","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#name","p":950},{"i":957,"t":"name Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#name-type","p":950},{"i":959,"t":"nodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#nodes","p":950},{"i":961,"t":"nodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#nodes-type","p":950},{"i":963,"t":"type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#type","p":950},{"i":965,"t":"type Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#type-type","p":950},{"i":967,"t":"web","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#web","p":950},{"i":969,"t":"web Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#web-type","p":950},{"i":971,"t":"vnc","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#vnc","p":950},{"i":973,"t":"vnc Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","h":"#vnc-type","p":950},{"i":976,"t":"items Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items","h":"#items-type","p":975},{"i":980,"t":"一、环境准备","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#一环境准备","p":978},{"i":982,"t":"二、创建配置文件","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#二创建配置文件","p":978},{"i":984,"t":"配置 Grafana","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#配置-grafana","p":978},{"i":986,"t":"配置 Prometheus","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#配置-prometheus","p":978},{"i":988,"t":"配置 Alertmanager","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#配置-alertmanager","p":978},{"i":990,"t":"三、启动服务","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#三启动服务","p":978},{"i":991,"t":"编辑集群监控的 docker compose 配置文件","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#编辑集群监控的-docker-compose-配置文件","p":978},{"i":993,"t":"启动集群监控服务相关容器","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#启动集群监控服务相关容器","p":978},{"i":995,"t":"初始化 alert-db","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#初始化-alert-db","p":978},{"i":997,"t":"重启集群监控服务","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#重启集群监控服务","p":978},{"i":999,"t":"四、启动 exporter 服务","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#四启动-exporter-服务","p":978},{"i":1001,"t":"安装 golang","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#安装-golang","p":978},{"i":1003,"t":"编译安装 exporter","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#编译安装-exporter","p":978},{"i":1005,"t":"五、SCOW 配置开启集群监控功能","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","h":"#五scow-配置开启集群监控功能","p":978},{"i":1008,"t":"type Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type","h":"#type-type","p":1007},{"i":1011,"t":"0 Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0","h":"#0-type","p":1010},{"i":1013,"t":"0 Constraints","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0","h":"#0-constraints","p":1010},{"i":1016,"t":"1 Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1","h":"#1-type","p":1015},{"i":1018,"t":"1 Constraints","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1","h":"#1-constraints","p":1015},{"i":1021,"t":"nodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes","h":"#nodes-type","p":1020},{"i":1024,"t":"xstartup Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup","h":"#xstartup-type","p":1023},{"i":1027,"t":"vnc Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","h":"#vnc-type","p":1026},{"i":1029,"t":"vnc Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","h":"","p":1026},{"i":1031,"t":"xstartup","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","h":"#xstartup","p":1026},{"i":1033,"t":"xstartup Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","h":"#xstartup-type","p":1026},{"i":1036,"t":"web Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"#web-type","p":1035},{"i":1038,"t":"web Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"","p":1035},{"i":1040,"t":"beforeScript","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"#beforescript","p":1035},{"i":1042,"t":"beforeScript Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"#beforescript-type","p":1035},{"i":1044,"t":"script","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"#script","p":1035},{"i":1046,"t":"script Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"#script-type","p":1035},{"i":1048,"t":"connect","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"#connect","p":1035},{"i":1050,"t":"connect Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","h":"#connect-type","p":1035},{"i":1053,"t":"beforeScript Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript","h":"#beforescript-type","p":1052},{"i":1056,"t":"connect Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#connect-type","p":1055},{"i":1058,"t":"connect Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"","p":1055},{"i":1060,"t":"method","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#method","p":1055},{"i":1062,"t":"method Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#method-type","p":1055},{"i":1064,"t":"path","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#path","p":1055},{"i":1066,"t":"path Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#path-type","p":1055},{"i":1068,"t":"query","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#query","p":1055},{"i":1070,"t":"query Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#query-type","p":1055},{"i":1072,"t":"formData","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#formdata","p":1055},{"i":1074,"t":"formData Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","h":"#formdata-type","p":1055},{"i":1077,"t":"formData Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"#formdata-type","p":1076},{"i":1079,"t":"formData Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"","p":1076},{"i":1081,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"#pattern-","p":1076},{"i":1083,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"#-type","p":1076},{"i":1086,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","h":"#patternproperties-type","p":1085},{"i":1089,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","h":"#-type","p":1088},{"i":1092,"t":"method Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","h":"#method-type","p":1091},{"i":1095,"t":"path Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","h":"#path-type","p":1094},{"i":1098,"t":"1 Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","h":"#1-type","p":1097},{"i":1100,"t":"1 Constraints","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","h":"#1-constraints","p":1097},{"i":1103,"t":"0 Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","h":"#0-type","p":1102},{"i":1105,"t":"0 Constraints","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","h":"#0-constraints","p":1102},{"i":1108,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","h":"#patternproperties-type","p":1107},{"i":1111,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","h":"#-type","p":1110},{"i":1114,"t":"Top-level Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster","h":"#top-level-schemas","p":1113},{"i":1116,"t":"Other Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster","h":"#other-schemas","p":1113},{"i":1117,"t":"Objects","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster","h":"#objects","p":1113},{"i":1119,"t":"Arrays","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster","h":"#arrays","p":1113},{"i":1122,"t":"query Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"#query-type","p":1121},{"i":1124,"t":"query Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"","p":1121},{"i":1126,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"#pattern-","p":1121},{"i":1128,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"#-type","p":1121},{"i":1131,"t":"script Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script","h":"#script-type","p":1130},{"i":1134,"t":"Untitled object in undefined Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#untitled-object-in-undefined-type","p":1133},{"i":1136,"t":"Untitled object in undefined Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"","p":1133},{"i":1138,"t":"displayName","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#displayname","p":1133},{"i":1140,"t":"displayName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#displayname-type","p":1133},{"i":1142,"t":"scheduler","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#scheduler","p":1133},{"i":1144,"t":"scheduler Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#scheduler-type","p":1133},{"i":1146,"t":"scheduler Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#scheduler-default-value","p":1133},{"i":1148,"t":"slurm","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#slurm","p":1133},{"i":1150,"t":"slurm Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#slurm-type","p":1133},{"i":1152,"t":"misIgnore","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#misignore","p":1133},{"i":1154,"t":"misIgnore Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","h":"#misignore-type","p":1133},{"i":1157,"t":"displayName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname","h":"#displayname-type","p":1156},{"i":1160,"t":"scheduler Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler","h":"#scheduler-type","p":1159},{"i":1162,"t":"scheduler Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler","h":"#scheduler-default-value","p":1159},{"i":1165,"t":"0 Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","h":"#0-type","p":1164},{"i":1167,"t":"0 Constraints","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","h":"#0-constraints","p":1164},{"i":1170,"t":"slurm Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#slurm-type","p":1169},{"i":1172,"t":"slurm Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"","p":1169},{"i":1174,"t":"loginNodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#loginnodes","p":1169},{"i":1176,"t":"loginNodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#loginnodes-type","p":1169},{"i":1178,"t":"loginNodes Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#loginnodes-default-value","p":1169},{"i":1180,"t":"computeNodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#computenodes","p":1169},{"i":1182,"t":"computeNodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#computenodes-type","p":1169},{"i":1184,"t":"computeNodes Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#computenodes-default-value","p":1169},{"i":1186,"t":"partitions","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#partitions","p":1169},{"i":1188,"t":"partitions Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#partitions-type","p":1169},{"i":1190,"t":"mis","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#mis","p":1169},{"i":1192,"t":"mis Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","h":"#mis-type","p":1169},{"i":1195,"t":"misIgnore Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore","h":"#misignore-type","p":1194},{"i":1198,"t":"items Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","h":"#items-type","p":1197},{"i":1201,"t":"items Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","h":"#items-type","p":1200},{"i":1204,"t":"computeNodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","h":"#computenodes-type","p":1203},{"i":1206,"t":"computeNodes Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","h":"#computenodes-default-value","p":1203},{"i":1209,"t":"associationTableName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","h":"#associationtablename-type","p":1208},{"i":1212,"t":"mis Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#mis-type","p":1211},{"i":1214,"t":"mis Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"","p":1211},{"i":1216,"t":"managerUrl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#managerurl","p":1211},{"i":1218,"t":"managerUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#managerurl-type","p":1211},{"i":1220,"t":"dbPassword","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#dbpassword","p":1211},{"i":1222,"t":"dbPassword Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#dbpassword-type","p":1211},{"i":1224,"t":"associationTableName","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#associationtablename","p":1211},{"i":1226,"t":"associationTableName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#associationtablename-type","p":1211},{"i":1228,"t":"scriptPath","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#scriptpath","p":1211},{"i":1230,"t":"scriptPath Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#scriptpath-type","p":1211},{"i":1233,"t":"dbPassword Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","h":"#dbpassword-type","p":1232},{"i":1236,"t":"loginNodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","h":"#loginnodes-type","p":1235},{"i":1238,"t":"loginNodes Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","h":"#loginnodes-default-value","p":1235},{"i":1241,"t":"managerUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","h":"#managerurl-type","p":1240},{"i":1244,"t":"scriptPath Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","h":"#scriptpath-type","p":1243},{"i":1247,"t":"partitions Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"#partitions-type","p":1246},{"i":1249,"t":"partitions Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"","p":1246},{"i":1251,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"#pattern-","p":1246},{"i":1253,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"#-type","p":1246},{"i":1256,"t":"cores Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","h":"#cores-type","p":1255},{"i":1259,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","h":"#patternproperties-type","p":1258},{"i":1262,"t":"comment Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","h":"#comment-type","p":1261},{"i":1265,"t":"gpus Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","h":"#gpus-type","p":1264},{"i":1268,"t":"mem Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","h":"#mem-type","p":1267},{"i":1271,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#-type","p":1270},{"i":1273,"t":"^.*$ Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"","p":1270},{"i":1275,"t":"mem","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#mem","p":1270},{"i":1277,"t":"mem Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#mem-type","p":1270},{"i":1279,"t":"cores","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#cores","p":1270},{"i":1281,"t":"cores Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#cores-type","p":1270},{"i":1283,"t":"gpus","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#gpus","p":1270},{"i":1285,"t":"gpus Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#gpus-type","p":1270},{"i":1287,"t":"nodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#nodes","p":1270},{"i":1289,"t":"nodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#nodes-type","p":1270},{"i":1291,"t":"qos","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#qos","p":1270},{"i":1293,"t":"qos Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#qos-type","p":1270},{"i":1295,"t":"comment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#comment","p":1270},{"i":1297,"t":"comment Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#comment-type","p":1270},{"i":1300,"t":"nodes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","h":"#nodes-type","p":1299},{"i":1303,"t":"items Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","h":"#items-type","p":1302},{"i":1306,"t":"Top-level Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts","h":"#top-level-schemas","p":1305},{"i":1308,"t":"Other Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts","h":"#other-schemas","p":1305},{"i":1309,"t":"Objects","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts","h":"#objects","p":1305},{"i":1311,"t":"Arrays","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts","h":"#arrays","p":1305},{"i":1314,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties","h":"#patternproperties-type","p":1313},{"i":1317,"t":"Untitled object in undefined Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","h":"#untitled-object-in-undefined-type","p":1316},{"i":1319,"t":"Untitled object in undefined Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","h":"","p":1316},{"i":1321,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","h":"#pattern-","p":1316},{"i":1323,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","h":"#-type","p":1316},{"i":1326,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#-type","p":1325},{"i":1328,"t":"^.*$ Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","h":"","p":1325},{"i":1330,"t":"clusterComment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#clustercomment","p":1325},{"i":1332,"t":"clusterComment Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#clustercomment-type","p":1325},{"i":1334,"t":"extras","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#extras","p":1325},{"i":1336,"t":"extras Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#extras-type","p":1325},{"i":1339,"t":"qos Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","h":"#qos-type","p":1338},{"i":1342,"t":"clusterComment Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","h":"#clustercomment-type","p":1341},{"i":1345,"t":"items Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#items-type","p":1344},{"i":1347,"t":"items Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"","p":1344},{"i":1349,"t":"title","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#title","p":1344},{"i":1351,"t":"title Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#title-type","p":1344},{"i":1353,"t":"content","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#content","p":1344},{"i":1355,"t":"content Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#content-type","p":1344},{"i":1358,"t":"extras Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","h":"#extras-type","p":1357},{"i":1361,"t":"title Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","h":"#title-type","p":1360},{"i":1364,"t":"Top-level Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis","h":"#top-level-schemas","p":1363},{"i":1366,"t":"Other Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis","h":"#other-schemas","p":1363},{"i":1367,"t":"Objects","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis","h":"#objects","p":1363},{"i":1369,"t":"Arrays","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis","h":"#arrays","p":1363},{"i":1372,"t":"Untitled object in undefined Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#untitled-object-in-undefined-type","p":1371},{"i":1374,"t":"Untitled object in undefined Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"","p":1371},{"i":1376,"t":"db","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#db","p":1371},{"i":1378,"t":"db Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#db-type","p":1371},{"i":1380,"t":"authUrl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#authurl","p":1371},{"i":1382,"t":"authUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#authurl-type","p":1371},{"i":1384,"t":"authUrl Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#authurl-default-value","p":1371},{"i":1386,"t":"portalUrl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#portalurl","p":1371},{"i":1388,"t":"portalUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#portalurl-type","p":1371},{"i":1390,"t":"predefinedChargingTypes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#predefinedchargingtypes","p":1371},{"i":1392,"t":"predefinedChargingTypes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#predefinedchargingtypes-type","p":1371},{"i":1394,"t":"predefinedChargingTypes Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#predefinedchargingtypes-default-value","p":1371},{"i":1396,"t":"accountNamePattern","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#accountnamepattern","p":1371},{"i":1398,"t":"accountNamePattern Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#accountnamepattern-type","p":1371},{"i":1400,"t":"fetchJobs","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#fetchjobs","p":1371},{"i":1402,"t":"fetchJobs Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#fetchjobs-type","p":1371},{"i":1404,"t":"jobChargeType","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#jobchargetype","p":1371},{"i":1406,"t":"jobChargeType Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#jobchargetype-type","p":1371},{"i":1408,"t":"jobChargeType Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#jobchargetype-default-value","p":1371},{"i":1410,"t":"changeJobPriceType","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#changejobpricetype","p":1371},{"i":1412,"t":"changeJobPriceType Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#changejobpricetype-type","p":1371},{"i":1414,"t":"changeJobPriceType Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#changejobpricetype-default-value","p":1371},{"i":1416,"t":"jobChargeComment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#jobchargecomment","p":1371},{"i":1418,"t":"jobChargeComment Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#jobchargecomment-type","p":1371},{"i":1420,"t":"jobChargeComment Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","h":"#jobchargecomment-default-value","p":1371},{"i":1423,"t":"accountNamePattern Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#accountnamepattern-type","p":1422},{"i":1425,"t":"accountNamePattern Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","h":"","p":1422},{"i":1427,"t":"regex","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#regex","p":1422},{"i":1429,"t":"regex Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#regex-type","p":1422},{"i":1431,"t":"errorMessage","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#errormessage","p":1422},{"i":1433,"t":"errorMessage Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#errormessage-type","p":1422},{"i":1436,"t":"content Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","h":"#content-type","p":1435},{"i":1439,"t":"errorMessage Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","h":"#errormessage-type","p":1438},{"i":1442,"t":"regex Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","h":"#regex-type","p":1441},{"i":1445,"t":"changeJobPriceType Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype","h":"#changejobpricetype-type","p":1444},{"i":1447,"t":"changeJobPriceType Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype","h":"#changejobpricetype-default-value","p":1444},{"i":1450,"t":"db Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#db-type","p":1449},{"i":1452,"t":"db Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"","p":1449},{"i":1454,"t":"host","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#host","p":1449},{"i":1456,"t":"host Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#host-type","p":1449},{"i":1458,"t":"port","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#port","p":1449},{"i":1460,"t":"port Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#port-type","p":1449},{"i":1462,"t":"user","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#user","p":1449},{"i":1464,"t":"user Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#user-type","p":1449},{"i":1466,"t":"password","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#password","p":1449},{"i":1468,"t":"password Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#password-type","p":1449},{"i":1470,"t":"dbName","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#dbname","p":1449},{"i":1472,"t":"dbName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#dbname-type","p":1449},{"i":1474,"t":"debug","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#debug","p":1449},{"i":1476,"t":"debug Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","h":"#debug-type","p":1449},{"i":1479,"t":"authUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl","h":"#authurl-type","p":1478},{"i":1481,"t":"authUrl Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl","h":"#authurl-default-value","p":1478},{"i":1484,"t":"dbName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname","h":"#dbname-type","p":1483},{"i":1487,"t":"debug Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug","h":"#debug-type","p":1486},{"i":1490,"t":"host Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host","h":"#host-type","p":1489},{"i":1493,"t":"password Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password","h":"#password-type","p":1492},{"i":1496,"t":"user Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user","h":"#user-type","p":1495},{"i":1499,"t":"fetchJobs Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#fetchjobs-type","p":1498},{"i":1501,"t":"fetchJobs Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"","p":1498},{"i":1503,"t":"db","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#db","p":1498},{"i":1505,"t":"db Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#db-type","p":1498},{"i":1507,"t":"startIndex","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#startindex","p":1498},{"i":1509,"t":"startIndex Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#startindex-type","p":1498},{"i":1511,"t":"batchSize","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#batchsize","p":1498},{"i":1513,"t":"batchSize Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#batchsize-type","p":1498},{"i":1515,"t":"batchSize Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#batchsize-default-value","p":1498},{"i":1517,"t":"periodicFetch","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#periodicfetch","p":1498},{"i":1519,"t":"periodicFetch Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#periodicfetch-type","p":1498},{"i":1521,"t":"periodicFetch Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","h":"#periodicfetch-default-value","p":1498},{"i":1524,"t":"batchSize Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","h":"#batchsize-type","p":1523},{"i":1526,"t":"batchSize Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","h":"#batchsize-default-value","p":1523},{"i":1529,"t":"port Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port","h":"#port-type","p":1528},{"i":1532,"t":"dbName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","h":"#dbname-type","p":1531},{"i":1535,"t":"db Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#db-type","p":1534},{"i":1537,"t":"db Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"","p":1534},{"i":1539,"t":"host","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#host","p":1534},{"i":1541,"t":"host Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#host-type","p":1534},{"i":1543,"t":"port","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#port","p":1534},{"i":1545,"t":"port Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#port-type","p":1534},{"i":1547,"t":"user","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#user","p":1534},{"i":1549,"t":"user Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#user-type","p":1534},{"i":1551,"t":"password","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#password","p":1534},{"i":1553,"t":"password Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#password-type","p":1534},{"i":1555,"t":"dbName","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#dbname","p":1534},{"i":1557,"t":"dbName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#dbname-type","p":1534},{"i":1559,"t":"tableName","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#tablename","p":1534},{"i":1561,"t":"tableName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#tablename-type","p":1534},{"i":1564,"t":"password Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","h":"#password-type","p":1563},{"i":1567,"t":"port Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","h":"#port-type","p":1566},{"i":1570,"t":"tableName Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","h":"#tablename-type","p":1569},{"i":1573,"t":"user Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","h":"#user-type","p":1572},{"i":1576,"t":"host Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","h":"#host-type","p":1575},{"i":1579,"t":"periodicFetch Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#periodicfetch-type","p":1578},{"i":1581,"t":"periodicFetch Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#periodicfetch-default-value","p":1578},{"i":1583,"t":"periodicFetch Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"","p":1578},{"i":1585,"t":"enabled","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#enabled","p":1578},{"i":1587,"t":"enabled Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#enabled-type","p":1578},{"i":1589,"t":"enabled Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#enabled-default-value","p":1578},{"i":1591,"t":"cron","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#cron","p":1578},{"i":1593,"t":"cron Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#cron-type","p":1578},{"i":1595,"t":"cron Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#cron-default-value","p":1578},{"i":1598,"t":"default Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","h":"#default-type","p":1597},{"i":1601,"t":"enabled Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","h":"#enabled-type","p":1600},{"i":1603,"t":"enabled Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","h":"#enabled-default-value","p":1600},{"i":1606,"t":"startIndex Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","h":"#startindex-type","p":1605},{"i":1609,"t":"jobChargeComment Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment","h":"#jobchargecomment-type","p":1608},{"i":1611,"t":"jobChargeComment Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment","h":"#jobchargecomment-default-value","p":1608},{"i":1614,"t":"cron Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","h":"#cron-type","p":1613},{"i":1616,"t":"cron Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","h":"#cron-default-value","p":1613},{"i":1619,"t":"jobChargeType Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype","h":"#jobchargetype-type","p":1618},{"i":1621,"t":"jobChargeType Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype","h":"#jobchargetype-default-value","p":1618},{"i":1624,"t":"predefinedChargingTypes Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes","h":"#predefinedchargingtypes-type","p":1623},{"i":1626,"t":"predefinedChargingTypes Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes","h":"#predefinedchargingtypes-default-value","p":1623},{"i":1629,"t":"Top-level Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal","h":"#top-level-schemas","p":1628},{"i":1631,"t":"Other Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal","h":"#other-schemas","p":1628},{"i":1632,"t":"Objects","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal","h":"#objects","p":1628},{"i":1634,"t":"Arrays","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal","h":"#arrays","p":1628},{"i":1637,"t":"Untitled object in undefined Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#untitled-object-in-undefined-type","p":1636},{"i":1639,"t":"Untitled object in undefined Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"","p":1636},{"i":1641,"t":"jobManagement","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#jobmanagement","p":1636},{"i":1643,"t":"jobManagement Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#jobmanagement-type","p":1636},{"i":1645,"t":"jobManagement Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#jobmanagement-default-value","p":1636},{"i":1647,"t":"loginDesktop","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#logindesktop","p":1636},{"i":1649,"t":"loginDesktop Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#logindesktop-type","p":1636},{"i":1651,"t":"apps","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#apps","p":1636},{"i":1653,"t":"apps Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#apps-type","p":1636},{"i":1655,"t":"apps Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#apps-default-value","p":1636},{"i":1657,"t":"homeText","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#hometext","p":1636},{"i":1659,"t":"homeText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#hometext-type","p":1636},{"i":1661,"t":"homeTitle","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#hometitle","p":1636},{"i":1663,"t":"homeTitle Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#hometitle-type","p":1636},{"i":1665,"t":"misUrl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#misurl","p":1636},{"i":1667,"t":"misUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#misurl-type","p":1636},{"i":1669,"t":"shell","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#shell","p":1636},{"i":1671,"t":"shell Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#shell-type","p":1636},{"i":1673,"t":"shell Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#shell-default-value","p":1636},{"i":1675,"t":"submitJobDefaultPwd","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#submitjobdefaultpwd","p":1636},{"i":1677,"t":"submitJobDefaultPwd Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#submitjobdefaultpwd-type","p":1636},{"i":1679,"t":"submitJobDefaultPwd Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#submitjobdefaultpwd-default-value","p":1636},{"i":1681,"t":"savedJobsDir","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#savedjobsdir","p":1636},{"i":1683,"t":"savedJobsDir Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#savedjobsdir-type","p":1636},{"i":1685,"t":"savedJobsDir Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#savedjobsdir-default-value","p":1636},{"i":1687,"t":"appJobsDir","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#appjobsdir","p":1636},{"i":1689,"t":"appJobsDir Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#appjobsdir-type","p":1636},{"i":1691,"t":"appJobsDir Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#appjobsdir-default-value","p":1636},{"i":1693,"t":"turboVNCPath","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#turbovncpath","p":1636},{"i":1695,"t":"turboVNCPath Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#turbovncpath-type","p":1636},{"i":1697,"t":"turboVNCPath Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","h":"#turbovncpath-default-value","p":1636},{"i":1700,"t":"portalUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl","h":"#portalurl-type","p":1699},{"i":1703,"t":"apps Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps","h":"#apps-type","p":1702},{"i":1705,"t":"apps Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps","h":"#apps-default-value","p":1702},{"i":1708,"t":"items Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","h":"#items-type","p":1707},{"i":1711,"t":"appJobsDir Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir","h":"#appjobsdir-type","p":1710},{"i":1713,"t":"appJobsDir Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir","h":"#appjobsdir-default-value","p":1710},{"i":1716,"t":"homeText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"#hometext-type","p":1715},{"i":1718,"t":"homeText Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"","p":1715},{"i":1720,"t":"defaultText","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"#defaulttext","p":1715},{"i":1722,"t":"defaultText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"#defaulttext-type","p":1715},{"i":1724,"t":"defaultText Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"#defaulttext-default-value","p":1715},{"i":1726,"t":"hostnameMap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"#hostnamemap","p":1715},{"i":1728,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"#hostnamemap-type","p":1715},{"i":1730,"t":"hostnameMap Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","h":"#hostnamemap-default-value","p":1715},{"i":1733,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#hostnamemap-type","p":1732},{"i":1735,"t":"hostnameMap Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#hostnamemap-default-value","p":1732},{"i":1737,"t":"hostnameMap Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"","p":1732},{"i":1739,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#pattern-","p":1732},{"i":1741,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#-type","p":1732},{"i":1744,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1743},{"i":1747,"t":"default Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","h":"#default-type","p":1746},{"i":1750,"t":"defaultText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","h":"#defaulttext-type","p":1749},{"i":1752,"t":"defaultText Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","h":"#defaulttext-default-value","p":1749},{"i":1755,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","h":"#-type","p":1754},{"i":1758,"t":"defaultText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","h":"#defaulttext-type","p":1757},{"i":1760,"t":"defaultText Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","h":"#defaulttext-default-value","p":1757},{"i":1763,"t":"homeTitle Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"#hometitle-type","p":1762},{"i":1765,"t":"homeTitle Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"","p":1762},{"i":1767,"t":"defaultText","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"#defaulttext","p":1762},{"i":1769,"t":"defaultText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"#defaulttext-type","p":1762},{"i":1771,"t":"defaultText Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"#defaulttext-default-value","p":1762},{"i":1773,"t":"hostnameMap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"#hostnamemap","p":1762},{"i":1775,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"#hostnamemap-type","p":1762},{"i":1777,"t":"hostnameMap Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","h":"#hostnamemap-default-value","p":1762},{"i":1780,"t":"default Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","h":"#default-type","p":1779},{"i":1783,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1782},{"i":1786,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","h":"#-type","p":1785},{"i":1789,"t":"loginDesktop Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#logindesktop-type","p":1788},{"i":1791,"t":"loginDesktop Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"","p":1788},{"i":1793,"t":"enabled","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#enabled","p":1788},{"i":1795,"t":"enabled Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#enabled-type","p":1788},{"i":1797,"t":"enabled Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#enabled-default-value","p":1788},{"i":1799,"t":"wms","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#wms","p":1788},{"i":1801,"t":"wms Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#wms-type","p":1788},{"i":1803,"t":"wms Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#wms-default-value","p":1788},{"i":1805,"t":"maxDesktops","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#maxdesktops","p":1788},{"i":1807,"t":"maxDesktops Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#maxdesktops-type","p":1788},{"i":1809,"t":"maxDesktops Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","h":"#maxdesktops-default-value","p":1788},{"i":1812,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#hostnamemap-type","p":1811},{"i":1814,"t":"hostnameMap Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#hostnamemap-default-value","p":1811},{"i":1816,"t":"hostnameMap Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"","p":1811},{"i":1818,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#pattern-","p":1811},{"i":1820,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#-type","p":1811},{"i":1823,"t":"enabled Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","h":"#enabled-type","p":1822},{"i":1825,"t":"enabled Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","h":"#enabled-default-value","p":1822},{"i":1828,"t":"jobManagement Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement","h":"#jobmanagement-type","p":1827},{"i":1830,"t":"jobManagement Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement","h":"#jobmanagement-default-value","p":1827},{"i":1833,"t":"wms Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","h":"#wms-type","p":1832},{"i":1835,"t":"wms Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","h":"#wms-default-value","p":1832},{"i":1838,"t":"items Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#items-type","p":1837},{"i":1840,"t":"items Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"","p":1837},{"i":1842,"t":"name","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#name","p":1837},{"i":1844,"t":"name Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#name-type","p":1837},{"i":1846,"t":"wm","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#wm","p":1837},{"i":1848,"t":"wm Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#wm-type","p":1837},{"i":1851,"t":"0 Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","h":"#0-type","p":1850},{"i":1854,"t":"name Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","h":"#name-type","p":1853},{"i":1857,"t":"maxDesktops Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","h":"#maxdesktops-type","p":1856},{"i":1859,"t":"maxDesktops Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","h":"#maxdesktops-default-value","p":1856},{"i":1862,"t":"wm Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","h":"#wm-type","p":1861},{"i":1865,"t":"misUrl Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl","h":"#misurl-type","p":1864},{"i":1868,"t":"submitJobDefaultPwd Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","h":"#submitjobdefaultpwd-type","p":1867},{"i":1870,"t":"submitJobDefaultPwd Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","h":"#submitjobdefaultpwd-default-value","p":1867},{"i":1873,"t":"shell Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell","h":"#shell-type","p":1872},{"i":1875,"t":"shell Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell","h":"#shell-default-value","p":1872},{"i":1878,"t":"Top-level Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui","h":"#top-level-schemas","p":1877},{"i":1880,"t":"Other Schemas","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui","h":"#other-schemas","p":1877},{"i":1881,"t":"Objects","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui","h":"#objects","p":1877},{"i":1883,"t":"Arrays","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui","h":"#arrays","p":1877},{"i":1885,"t":"savedJobsDir Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir","h":"#savedjobsdir-type","p":1884},{"i":1887,"t":"savedJobsDir Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir","h":"#savedjobsdir-default-value","p":1884},{"i":1890,"t":"turboVNCPath Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath","h":"#turbovncpath-type","p":1889},{"i":1892,"t":"turboVNCPath Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath","h":"#turbovncpath-default-value","p":1889},{"i":1895,"t":"Untitled object in undefined Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","h":"#untitled-object-in-undefined-type","p":1894},{"i":1897,"t":"Untitled object in undefined Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","h":"","p":1894},{"i":1899,"t":"footer","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","h":"#footer","p":1894},{"i":1901,"t":"footer Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","h":"#footer-type","p":1894},{"i":1903,"t":"primaryColor","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","h":"#primarycolor","p":1894},{"i":1905,"t":"primaryColor Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","h":"#primarycolor-type","p":1894},{"i":1908,"t":"defaultText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","h":"#defaulttext-type","p":1907},{"i":1911,"t":"footer Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","h":"#footer-type","p":1910},{"i":1913,"t":"footer Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","h":"","p":1910},{"i":1915,"t":"defaultText","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","h":"#defaulttext","p":1910},{"i":1917,"t":"defaultText Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","h":"#defaulttext-type","p":1910},{"i":1919,"t":"hostnameMap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","h":"#hostnamemap","p":1910},{"i":1921,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","h":"#hostnamemap-type","p":1910},{"i":1924,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"#hostnamemap-type","p":1923},{"i":1926,"t":"hostnameMap Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"","p":1923},{"i":1928,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"#pattern-","p":1923},{"i":1930,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"#-type","p":1923},{"i":1933,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1932},{"i":1936,"t":"primaryColor Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","h":"#primarycolor-type","p":1935},{"i":1938,"t":"primaryColor Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","h":"","p":1935},{"i":1940,"t":"defaultColor","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","h":"#defaultcolor","p":1935},{"i":1942,"t":"defaultColor Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","h":"#defaultcolor-type","p":1935},{"i":1944,"t":"defaultColor Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","h":"#defaultcolor-default-value","p":1935},{"i":1946,"t":"hostnameMap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","h":"#hostnamemap","p":1935},{"i":1948,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","h":"#hostnamemap-type","p":1935},{"i":1951,"t":"hostnameMap Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"#hostnamemap-type","p":1950},{"i":1953,"t":"hostnameMap Properties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"","p":1950},{"i":1955,"t":"Pattern: ^.*$","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"#pattern-","p":1950},{"i":1957,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"#-type","p":1950},{"i":1960,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","h":"#-type","p":1959},{"i":1963,"t":"patternProperties Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1962},{"i":1966,"t":"defaultColor Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","h":"#defaultcolor-type","p":1965},{"i":1968,"t":"defaultColor Default Value","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","h":"#defaultcolor-default-value","p":1965},{"i":1971,"t":"^.*$ Type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","h":"#-type","p":1970},{"i":1974,"t":"环境变量配置","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/auth","h":"#环境变量配置","p":1973},{"i":1977,"t":"环境变量配置","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway","h":"#环境变量配置","p":1976},{"i":1980,"t":"环境变量配置","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server","h":"#环境变量配置","p":1979},{"i":1983,"t":"环境变量配置","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web","h":"#环境变量配置","p":1982},{"i":1986,"t":"环境变量配置","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web","h":"#环境变量配置","p":1985},{"i":1989,"t":"1. 安装Munge","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#1-安装munge","p":1988},{"i":1990,"t":"1.1 创建Munge用户","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#11-创建munge用户","p":1988},{"i":1992,"t":"1.2 生成熵池","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#12-生成熵池","p":1988},{"i":1994,"t":"1.3 部署Munge","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#13-部署munge","p":1988},{"i":1996,"t":"1.4 测试Munge服务","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#14-测试munge服务","p":1988},{"i":1998,"t":"2. 安装slurm","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#2-安装slurm","p":1988},{"i":1999,"t":"2.1 安装mariadb","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#21-安装mariadb","p":1988},{"i":2001,"t":"2.2 创建slurm用户","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#22-创建slurm用户","p":1988},{"i":2003,"t":"2.3 安装slurm依赖","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#23-安装slurm依赖","p":1988},{"i":2005,"t":"2.4 制作rpm包","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#24-制作rpm包","p":1988},{"i":2007,"t":"2.5 安装与配置","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#25-安装与配置","p":1988},{"i":2009,"t":"3. 初始化账户和用户(可选)","u":"/SCOW/pr-preview/pr-1298/docs/slurm","h":"#3-初始化账户和用户可选","p":1988}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/6",[0,4.717,1,3.944,2,4.079,3,3.829]],["t/8",[1,3.489,2,3.608,3,3.386,4,4.537,5,3.752]],["t/10",[6,4.879,7,5.9,8,5.425]],["t/12",[1,3.489,2,3.608,3,3.386,9,2.052,10,3.386]],["t/14",[11,2.466,12,3.483,13,3.016,14,2.809]],["t/16",[15,2.167,16,3.685,17,2.555,18,3.685,19,2.751,20,2.931,21,3.685]],["t/24",[11,2.181,22,3.081,23,4.172,24,3.081,25,3.021]],["t/26",[12,3.483,15,3.016,26,3.944,27,4.717]],["t/28",[3,4.404,10,4.404,28,3.858]],["t/30",[12,3.483,14,2.809,29,3.944,30,3.144]],["t/32",[31,4.067,32,3.363,33,2.956,34,3.524,35,3.74,36,3.234]],["t/34",[22,2.762,36,3.234,37,4.067,38,3.363,39,3.74,40,4.067]],["t/36",[41,5.9,42,5.425,43,3.343]],["t/40",[9,2.321,13,3.016,43,2.906,44,5.129]],["t/42",[11,2.837,14,3.231,45,5.9]],["t/44",[8,6.385,15,4.083]],["t/47",[9,2.669,46,5.9,47,4.007]],["t/49",[11,2.837,43,3.343,47,4.007]],["t/55",[48,6.943,49,6.943]],["t/57",[50,6.943,51,5.522]],["t/58",[52,4.537,53,5.9,54,4.184]],["t/60",[55,5.425,56,5.425,57,5.425]],["t/62",[51,5.522,58,6.385]],["t/64",[51,4.692,54,4.184,59,5.113]],["t/66",[54,4.184,56,5.425,57,5.425]],["t/68",[51,5.522,58,6.385]],["t/70",[60,5.425,61,4.879,62,4.879]],["t/72",[63,5.113,64,5.9,65,5.9]],["t/74",[66,4.067,67,4.067,68,3.524,69,4.067,70,3.74,71,4.067]],["t/76",[72,8.435]],["t/85",[73,4.321,74,4.54]],["t/87",[75,5.097]],["t/89",[9,2.669,73,3.671,76,5.113]],["t/91",[14,4.619]],["t/94",[73,4.321,74,4.54]],["t/96",[75,5.097]],["t/98",[14,4.619]],["t/100",[77,7.309]],["t/103",[75,5.097]],["t/105",[78,2.629,79,4.083]],["t/107",[78,2.629,80,4.924]],["t/108",[81,7.756]],["t/110",[82,7.756]],["t/112",[83,6.296]],["t/114",[84,6.708]],["t/117",[75,5.097]],["t/119",[78,2.629,79,4.083]],["t/121",[78,2.629,80,4.924]],["t/122",[85,7.756]],["t/124",[82,7.756]],["t/126",[81,7.756]],["t/128",[86,8.435]],["t/130",[83,4.404,87,5.9,88,4.692]],["t/132",[89,6.975]],["t/138",[25,4.624,76,6.017]],["t/140",[6,3.752,90,4.172,91,2.966,92,3.752,93,4.172]],["t/141",[9,2.321,94,5.129,95,5.129,96,3.354]],["t/143",[11,1.772,24,2.503,91,2.41,92,3.047,93,3.389,97,2.751,98,3.685]],["t/145",[99,7.309]],["t/149",[12,4.007,14,3.231,100,2.933]],["t/151",[43,2.906,78,1.942,101,4.079,102,4.445]],["t/153",[43,3.934,103,5.183]],["t/156",[78,2.629,104,6.017]],["t/158",[105,5.9,106,5.9,107,5.9]],["t/160",[25,4.624,108,6.943]],["t/162",[109,6.385,110,3.802]],["t/164",[25,4.624,111,6.017]],["t/166",[111,4.4,112,2.853,113,2.853,114,3.103,115,3.601,116,2.201,117,0.644]],["t/168",[70,3.098,111,4.704,113,3.098,117,0.699,118,3.098,119,3.369,120,3.369]],["t/172",[121,5.425,122,4.288,123,4.404]],["t/174",[91,3.858,122,4.288,124,5.425]],["t/178",[78,2.234,125,5.9,126,5.9]],["t/180",[52,5.339,127,6.943]],["t/181",[30,4.256,128,6.385]],["t/183",[1,4.537,43,3.343,128,5.425]],["t/185",[129,8.435]],["t/187",[43,2.906,130,5.129,131,3.728,132,5.129]],["t/189",[115,5.982]],["t/191",[14,4.619]],["t/192",[14,3.802,30,4.256]],["t/194",[12,4.007,14,3.231,100,2.933]],["t/196",[43,2.906,78,1.942,101,4.079,133,5.129]],["t/198",[43,3.934,103,5.183]],["t/202",[43,2.906,78,1.942,122,3.728,134,5.129]],["t/206",[78,2.629,101,5.522]],["t/208",[25,4.624,135,6.943]],["t/209",[136,5.129,137,4.717,138,4.717,139,5.129]],["t/211",[140,6.943,141,6.943]],["t/215",[115,3.638,122,3.728,142,4.445,143,5.129]],["t/217",[17,3.557,30,3.144,38,4.242,115,3.638]],["t/219",[38,6.975]],["t/221",[110,3.802,144,4.815]],["t/223",[43,2.906,78,1.942,115,3.638,122,3.728]],["t/225",[78,1.942,115,3.638,145,4.717,146,5.129]],["t/227",[115,4.924,147,5.046]],["t/231",[99,7.309]],["t/234",[0,4.717,148,5.129,149,5.129,150,4.242]],["t/236",[78,3.193]],["t/242",[78,2.629,79,4.083]],["t/244",[78,1.54,151,3.363,152,4.067,153,3.524,154,4.067,155,3.524]],["t/248",[78,2.629,79,4.083]],["t/250",[62,5.742,78,2.629]],["t/252",[78,2.234,156,5.9,157,5.9]],["t/254",[158,6.943,159,6.943]],["t/258",[78,2.629,79,4.083]],["t/260",[78,2.234,79,3.47,160,5.9]],["t/264",[78,3.193]],["t/266",[78,2.629,79,4.083]],["t/268",[78,2.629,80,4.924]],["t/274",[34,3.193,78,1.395,91,2.41,131,2.678,161,3.685,162,3.193,163,3.685]],["t/276",[26,3.489,27,4.172,34,3.931,36,3.608,78,1.717]],["t/278",[17,2.152,124,2.853,144,2.152,155,2.689,164,5.077,165,2.689,166,3.103,167,3.103]],["t/284",[91,4.54,168,6.943]],["t/286",[91,3.354,169,4.242,170,5.129,171,4.717]],["t/288",[91,2.966,153,3.931,172,4.537,173,4.537,174,3.608]],["t/290",[175,6.943,176,6.385]],["t/293",[177,6.943,178,4.924]],["t/295",[9,2.669,179,5.9,180,5.9]],["t/297",[11,3.338,181,6.385]],["t/299",[24,4.715,182,6.943]],["t/301",[78,2.629,183,6.943]],["t/305",[78,1.942,116,3.638,123,3.829,184,4.242]],["t/307",[78,2.234,116,4.184,185,5.113]],["t/309",[78,2.629,79,4.083]],["t/310",[78,1.395,79,2.167,91,2.41,123,2.751,169,3.047,184,3.047,186,3.389]],["t/312",[78,1.54,79,2.392,91,2.659,169,3.363,185,3.524,186,3.74]],["t/314",[78,2.629,80,4.924]],["t/316",[35,4.717,62,4.242,78,1.942,91,3.354]],["t/318",[62,4.879,78,2.234,187,5.9]],["t/322",[20,4.079,110,2.809,188,4.717,189,4.717]],["t/324",[97,2.515,110,2.973,123,2.515,190,2.203,191,3.098,192,3.098,193,3.098]],["t/326",[22,3.483,110,2.809,192,4.717,193,4.717]],["t/328",[19,4.404,194,5.113,195,5.425]],["t/330",[196,6.943,197,5.522]],["t/334",[39,4.717,110,2.809,121,4.717,144,3.557]],["t/336",[144,4.091,198,5.9,199,5.9]],["t/338",[13,2.392,25,2.708,110,2.227,116,2.884,144,2.82,200,4.067]],["t/341",[201,6.975]],["t/343",[78,2.234,176,5.425,202,5.9]],["t/345",[13,3.47,203,5.9,204,5.9]],["t/349",[19,3.829,20,4.079,185,4.445,205,5.129]],["t/351",[12,4.007,14,3.231,100,2.933]],["t/353",[1,3.944,2,4.079,3,3.829,10,3.829]],["t/355",[14,3.231,30,3.617,206,5.113]],["t/357",[43,2.906,78,1.942,101,4.079,102,4.445]],["t/359",[43,3.934,103,5.183]],["t/361",[123,5.183,197,5.522]],["t/366",[3,3.036,10,3.036,47,2.762,207,4.067,208,4.368]],["t/368",[12,4.007,30,3.617,78,2.234]],["t/370",[20,4.079,110,2.809,188,4.717,189,4.717]],["t/372",[13,2.668,20,3.608,110,2.484,208,3.146,209,4.172]],["t/375",[73,4.321,74,4.54]],["t/377",[75,5.097]],["t/379",[9,2.669,100,2.933,210,4.692]],["t/381",[15,3.47,100,2.933,211,5.9]],["t/383",[14,4.619]],["t/385",[212,8.435]],["t/386",[213,2.224,214,2.224,215,2.045,216,2.224,217,3.837,218,2.045,219,1.616,220,2.224,221,2.224,222,2.224,223,2.224,224,2.224,225,2.224]],["t/389",[73,4.321,74,4.54]],["t/391",[75,5.097]],["t/393",[9,2.669,100,2.933,210,4.692]],["t/395",[11,2.466,61,4.242,147,3.728,226,5.129]],["t/397",[14,4.619]],["t/400",[73,4.321,74,4.54]],["t/402",[75,5.097]],["t/404",[9,2.669,100,2.933,210,4.692]],["t/406",[11,2.837,100,2.933,227,5.9]],["t/408",[22,3.483,28,3.354,131,3.728,228,4.445]],["t/410",[14,4.619]],["t/413",[73,4.321,74,4.54]],["t/415",[75,5.097]],["t/417",[14,4.619]],["t/419",[229,6.385,230,6.385]],["t/420",[9,2.669,100,2.933,231,5.9]],["t/422",[11,2.466,22,3.483,131,3.728,228,4.445]],["t/425",[73,4.321,74,4.54]],["t/427",[75,5.097]],["t/429",[9,2.669,100,2.933,210,4.692]],["t/431",[11,2.837,100,2.933,232,5.9]],["t/433",[14,4.619]],["t/436",[73,4.321,74,4.54]],["t/438",[75,5.097]],["t/440",[14,4.619]],["t/443",[73,4.321,74,4.54]],["t/445",[75,5.097]],["t/447",[9,2.669,100,2.933,210,4.692]],["t/449",[11,2.837,100,2.933,233,5.9]],["t/451",[14,4.619]],["t/454",[73,4.321,74,4.54]],["t/456",[75,5.097]],["t/458",[14,4.619]],["t/461",[73,4.321,74,4.54]],["t/463",[75,5.097]],["t/465",[9,2.321,100,2.55,234,5.129,235,3.728]],["t/467",[11,2.466,22,3.483,131,3.728,228,4.445]],["t/469",[14,4.619]],["t/471",[77,7.309]],["t/472",[100,2.933,236,5.9,237,4.879]],["t/475",[73,4.321,74,4.54]],["t/477",[75,5.097]],["t/479",[9,2.669,73,3.671,76,5.113]],["t/481",[14,4.619]],["t/485",[78,2.629,79,4.083]],["t/487",[78,2.629,80,4.924]],["t/491",[30,3.144,33,3.728,238,5.129,239,5.129]],["t/493",[30,3.617,33,4.288,240,5.425]],["t/495",[78,2.629,79,4.083]],["t/499",[78,2.629,79,4.083]],["t/501",[78,2.629,80,4.924]],["t/504",[75,5.097]],["t/506",[78,2.629,79,4.083]],["t/508",[78,2.629,80,4.924]],["t/509",[85,7.756]],["t/511",[83,5.183,88,5.522]],["t/513",[241,6.708]],["t/515",[89,6.975]],["t/519",[78,2.629,79,4.083]],["t/520",[33,2.678,78,1.395,79,2.167,242,2.931,243,3.389,244,2.931,245,2.931]],["t/522",[33,2.678,78,1.395,79,2.167,243,3.389,244,2.931,245,2.931,246,2.931]],["t/524",[78,2.629,80,4.924]],["t/526",[78,1.54,153,3.524,244,3.234,245,3.234,247,3.524,248,3.74]],["t/528",[78,1.54,244,3.234,245,3.234,247,3.524,248,3.74,249,4.067]],["t/530",[78,1.54,244,3.234,245,3.234,247,3.524,250,4.067,251,4.067]],["t/532",[68,4.445,78,1.942,252,5.129,253,4.445]],["t/536",[5,5.742,254,6.943]],["t/539",[91,3.858,171,5.425,255,5.9]],["t/542",[75,5.097]],["t/544",[78,2.629,79,4.083]],["t/546",[78,2.629,80,4.924]],["t/547",[83,6.296]],["t/549",[84,6.708]],["t/551",[89,6.975]],["t/555",[12,4.007,14,3.231,100,2.933]],["t/557",[43,2.906,78,1.942,101,4.079,184,4.242]],["t/559",[78,2.234,256,5.425,257,5.113]],["t/561",[43,3.934,103,5.183]],["t/565",[258,6.943,259,5.183]],["t/567",[259,5.183,260,6.943]],["t/569",[259,5.183,261,6.943]],["t/571",[259,5.183,262,6.943]],["t/573",[99,7.309]],["t/576",[9,1.84,22,2.762,30,2.493,47,2.762,263,3.524,264,3.524]],["t/577",[265,6.943,266,6.943]],["t/579",[78,3.193]],["t/581",[11,1.288,13,1.576,47,3.053,110,1.467,263,2.322,264,2.322,267,2.679,268,2.679,269,2.679,270,2.679]],["t/583",[13,1.825,15,1.825,47,2.107,73,1.931,100,1.543,263,2.689,264,4.4,271,2.853]],["t/585",[13,2.167,24,2.503,28,2.41,36,2.931,91,2.41,271,3.389,272,3.685]],["t/589",[75,5.097]],["t/591",[151,5.742,218,6.385]],["t/595",[9,2.321,10,3.829,30,3.144,273,4.717]],["t/597",[11,2.837,30,3.617,197,4.692]],["t/599",[13,2.668,15,2.668,92,3.752,274,4.537,275,4.537]],["t/601",[28,2.966,30,2.781,259,3.386,273,4.172,276,4.537]],["t/603",[29,3.944,256,4.717,257,4.445,277,4.717]],["t/606",[6,3.047,9,1.667,12,2.503,47,2.503,278,3.685,279,3.685,280,3.685]],["t/608",[6,3.752,11,2.181,47,3.081,90,4.172,281,4.537]],["t/612",[78,2.629,282,6.943]],["t/614",[78,2.629,283,6.943]],["t/616",[78,2.629,142,6.017]],["t/619",[9,1.84,89,3.363,284,4.067,285,1.753,286,4.067,287,4.067]],["t/622",[9,1.84,47,2.762,147,2.956,288,4.067,289,4.067,290,3.363]],["t/624",[11,2.181,47,3.081,147,3.297,208,3.146,290,3.752]],["t/626",[13,2.668,15,2.668,47,3.081,147,3.297,290,3.752]],["t/629",[73,4.321,74,4.54]],["t/631",[75,5.097]],["t/633",[9,2.297,28,2.029,100,1.543,235,2.255,291,2.316,292,2.468,293,2.853,294,2.468]],["t/635",[9,1.404,11,1.492,28,2.029,100,1.543,235,2.255,291,2.316,292,2.468,294,2.468,295,2.689]],["t/637",[11,1.955,15,2.392,61,3.363,147,2.956,235,2.956,291,3.036]],["t/639",[14,4.619]],["t/641",[9,2.456,28,2.203,235,2.448,291,2.515,292,2.679,293,3.098,294,2.679]],["t/643",[9,1.212,11,1.288,28,1.752,100,1.332,235,1.947,291,2,292,2.131,294,2.131,295,2.322,296,2.679,297,2.322]],["t/645",[9,1.135,15,1.475,28,1.64,54,1.779,100,1.247,235,1.823,291,1.872,292,1.995,294,1.995,295,2.173,297,2.173,298,2.508]],["t/647",[229,6.385,230,6.385]],["t/648",[9,2.669,100,2.933,299,5.9]],["t/650",[11,2.837,100,2.933,297,5.113]],["t/652",[15,2.668,61,3.752,147,3.297,235,3.297,291,3.386]],["t/656",[30,4.256,142,6.017]],["t/658",[52,5.339,54,4.924]],["t/660",[1,3.489,2,3.608,3,3.386,10,3.386,13,2.668]],["t/662",[13,3.47,300,5.9,301,5.113]],["t/664",[14,3.802,52,5.339]],["t/666",[78,3.193]],["t/672",[13,4.083,301,6.017]],["t/674",[147,3.297,151,3.752,257,3.931,302,4.172,303,4.537]],["t/678",[9,2.669,100,2.933,304,5.9]],["t/680",[11,2.837,100,2.933,305,5.425]],["t/682",[15,3.47,305,5.425,306,5.9]],["t/686",[78,3.193]],["t/688",[17,5.849]],["t/690",[13,3.47,307,5.9,308,5.9]],["t/692",[259,4.404,309,5.9,310,5.9]],["t/694",[13,3.47,206,5.113,301,5.113]],["t/696",[181,7.756]],["t/698",[24,4.007,311,5.9,312,5.9]],["t/704",[206,7.309]],["t/706",[24,5.728]],["t/707",[24,4.715,97,5.183]],["t/709",[24,4.007,78,2.234,313,5.425]],["t/713",[9,2.052,22,3.081,110,2.484,115,3.217,314,4.537]],["t/715",[11,2.181,22,3.081,110,2.484,115,3.217,259,3.386]],["t/718",[9,2.052,97,3.386,123,3.386,315,4.537,316,4.537]],["t/720",[9,3.394,24,3.483,97,3.829]],["t/722",[9,2.052,11,2.181,24,3.081,191,4.172,317,4.537]],["t/724",[11,1.492,19,2.316,32,2.566,33,2.255,97,2.316,277,2.853,313,2.853,318,2.689,319,2.468]],["t/725",[9,2.052,11,2.181,19,3.386,318,3.931,319,3.608]],["t/727",[11,3.029,32,3.363,33,2.956,318,3.524,319,3.234]],["t/729",[15,2.167,23,3.389,24,2.503,92,4.822,97,2.751,110,2.018]],["t/731",[28,2.203,38,2.786,54,2.389,109,3.098,110,1.845,240,3.098,320,3.369,321,3.369]],["t/733",[29,5.339,68,6.017]],["t/734",[9,1.667,29,2.834,110,2.018,116,2.614,190,2.41,319,2.931,322,3.685]],["t/736",[11,1.62,22,2.288,29,2.591,110,1.845,112,3.098,190,2.203,319,2.679,323,3.369]],["t/742",[9,2.669,324,4.692,325,5.9]],["t/744",[11,3.338,100,3.452]],["t/746",[15,3.47,22,4.007,326,4.537]],["t/748",[28,3.858,59,5.113,327,5.9]],["t/752",[9,2.669,100,2.933,328,5.9]],["t/754",[11,2.837,100,2.933,329,5.9]],["t/756",[15,4.083,78,2.629]],["t/764",[9,2.321,100,2.55,330,5.129,331,5.129]],["t/766",[11,2.837,332,5.9,333,5.9]],["t/768",[15,4.083,17,4.815]],["t/774",[25,4.624,334,6.385]],["t/778",[25,4.624,334,6.385]],["t/780",[54,4.924,335,6.943]],["t/784",[336,6.943,337,6.943]],["t/788",[25,4.624,151,5.742]],["t/792",[178,4.924,190,4.54]],["t/794",[9,1.84,178,2.884,190,2.659,219,2.956,338,3.127,339,3.74]],["t/796",[11,1.955,178,2.884,190,2.659,219,2.956,338,3.127,340,3.74]],["t/798",[15,2.392,178,2.884,190,2.659,219,2.956,338,3.127,341,4.067]],["t/800",[110,2.809,116,3.638,178,3.638,190,3.354]],["t/802",[9,1.524,110,1.845,116,2.389,178,2.389,190,2.203,219,2.448,338,2.591,339,3.098]],["t/804",[11,1.62,110,1.845,116,2.389,178,2.389,190,2.203,219,2.448,338,2.591,340,3.098]],["t/806",[15,1.981,110,1.845,116,2.389,178,2.389,190,2.203,219,2.448,338,2.591,342,3.369]],["t/810",[32,4.879,33,4.288,343,5.9]],["t/812",[78,3.193]],["t/816",[344,6.943,345,6.943]],["t/818",[19,5.183,346,6.943]],["t/822",[162,6.017,165,6.017]],["t/824",[19,3.829,194,4.445,195,4.717,347,5.129]],["t/826",[144,3.557,145,4.717,162,4.445,165,4.445]],["t/832",[348,8.435]],["t/834",[5,4.879,96,3.858,349,5.9]],["t/835",[350,6.385,351,6.943]],["t/837",[350,6.385,352,6.943]],["t/839",[353,6.385,354,6.385]],["t/841",[355,8.435]],["t/843",[25,3.021,96,2.966,110,2.484,144,3.146,356,3.297]],["t/845",[357,5.742,358,4.715]],["t/847",[25,3.021,96,2.966,110,2.484,356,3.297,359,4.537]],["t/848",[358,5.728]],["t/850",[12,3.483,96,3.354,356,3.728,360,5.129]],["t/852",[358,4.007,361,5.425,362,5.9]],["t/854",[96,3.354,356,3.728,363,5.129,364,4.717]],["t/855",[365,8.435]],["t/857",[12,3.483,96,3.354,356,3.728,364,4.717]],["t/859",[361,6.385,366,5.183]],["t/861",[96,2.966,110,2.484,190,2.966,209,4.172,356,3.297]],["t/863",[357,5.742,367,6.017]],["t/865",[357,4.242,358,3.483,367,4.445,368,4.717]],["t/867",[353,4.172,358,3.081,367,3.931,368,4.172,369,4.537]],["t/871",[17,3.557,43,2.906,91,3.354,122,3.728]],["t/875",[96,4.54,356,5.046]],["t/877",[253,6.017,370,6.943]],["t/879",[219,2.956,371,4.067,372,4.067,373,4.067,374,4.067,375,4.067]],["t/883",[52,5.339,54,4.924]],["t/885",[17,2.555,63,3.193,131,2.678,324,2.931,376,3.389,377,3.193,378,3.193]],["t/887",[13,3.47,17,4.091,96,3.858]],["t/889",[5,4.242,13,3.016,379,5.129,380,4.717]],["t/893",[43,2.906,102,4.445,381,5.129,382,5.129]],["t/895",[96,4.54,122,5.046]],["t/897",[122,4.288,354,5.425,383,5.9]],["t/899",[79,3.47,384,5.425,385,5.425]],["t/903",[13,2.668,43,3.88,215,4.172,380,4.172]],["t/905",[79,3.47,384,5.425,385,5.425]],["t/909",[51,4.692,104,5.113,237,4.879]],["t/911",[13,2.668,17,3.146,78,1.717,104,3.931,237,3.752]],["t/915",[131,4.288,324,4.692,377,5.113]],["t/917",[9,1.667,17,2.555,55,3.389,63,3.193,324,2.931,376,3.389,378,3.193]],["t/919",[11,1.955,131,2.956,324,3.234,377,3.524,386,4.067,387,4.067]],["t/921",[96,4.54,388,6.943]],["t/929",[253,6.017,389,6.943]],["t/931",[237,5.742,390,6.943]],["t/933",[78,2.629,391,6.943]],["t/935",[96,2.029,123,2.316,155,2.689,169,2.566,184,2.566,357,2.566,392,3.103,393,3.103,394,3.103]],["t/937",[77,7.309]],["t/940",[395,4.537,396,4.537,397,3.929]],["t/942",[397,5.618]],["t/943",[398,5.097]],["t/945",[399,6.487]],["t/948",[117,1.441,400,5.339]],["t/951",[117,1.065,398,3.099,401,3.416,402,3.416]],["t/953",[398,3.099,401,3.416,402,3.416,403,2.644]],["t/955",[400,6.487]],["t/957",[117,1.441,400,5.339]],["t/959",[404,6.487]],["t/961",[117,1.441,404,5.339]],["t/963",[117,1.751]],["t/965",[117,1.925]],["t/967",[242,6.708]],["t/969",[117,1.441,242,5.522]],["t/971",[246,6.708]],["t/973",[117,1.441,246,5.522]],["t/976",[117,1.441,405,4.924]],["t/980",[52,5.339,54,4.924]],["t/982",[14,3.231,118,5.425,144,4.091]],["t/984",[78,2.629,406,6.943]],["t/986",[78,2.629,407,6.943]],["t/988",[78,2.629,408,6.943]],["t/990",[43,3.343,103,4.404,409,5.9]],["t/991",[14,2.227,30,2.493,137,3.74,138,3.74,194,3.524,410,3.363]],["t/993",[30,2.493,43,2.304,60,3.74,103,3.036,356,2.956,410,3.363]],["t/995",[197,4.692,411,5.9,412,4.184]],["t/997",[30,3.144,42,4.717,43,2.906,410,4.242]],["t/999",[43,2.906,103,3.829,413,5.129,414,4.717]],["t/1001",[100,3.452,415,6.943]],["t/1003",[100,2.933,302,5.425,414,5.425]],["t/1005",[13,2.167,25,2.454,30,2.259,78,1.395,410,3.047,416,3.685,417,3.685]],["t/1008",[117,1.925]],["t/1011",[117,1.441,418,5.183]],["t/1013",[418,5.183,419,5.522]],["t/1016",[9,3.141,117,1.441]],["t/1018",[9,3.141,419,5.522]],["t/1021",[117,1.441,404,5.339]],["t/1024",[84,5.522,117,1.441]],["t/1027",[117,1.441,246,5.522]],["t/1029",[246,5.522,403,3.579]],["t/1031",[84,6.708]],["t/1033",[84,5.522,117,1.441]],["t/1036",[117,1.441,242,5.522]],["t/1038",[242,5.522,403,3.579]],["t/1040",[83,6.296]],["t/1042",[83,5.183,117,1.441]],["t/1044",[88,6.708]],["t/1046",[88,5.522,117,1.441]],["t/1048",[241,6.708]],["t/1050",[117,1.441,241,5.522]],["t/1053",[83,5.183,117,1.441]],["t/1056",[117,1.441,241,5.522]],["t/1058",[241,5.522,403,3.579]],["t/1060",[420,7.309]],["t/1062",[117,1.441,420,6.017]],["t/1064",[150,6.975]],["t/1066",[117,1.441,150,5.742]],["t/1068",[421,6.975]],["t/1070",[117,1.441,421,5.742]],["t/1072",[422,6.975]],["t/1074",[117,1.441,422,5.742]],["t/1077",[117,1.441,422,5.742]],["t/1079",[403,3.579,422,5.742]],["t/1081",[423,6.13]],["t/1083",[117,1.751]],["t/1086",[117,1.441,424,5.046]],["t/1089",[117,1.751]],["t/1092",[117,1.441,420,6.017]],["t/1095",[117,1.441,150,5.742]],["t/1098",[9,3.141,117,1.441]],["t/1100",[9,3.141,419,5.522]],["t/1103",[117,1.441,418,5.183]],["t/1105",[418,5.183,419,5.522]],["t/1108",[117,1.441,424,5.046]],["t/1111",[117,1.751]],["t/1114",[395,4.537,396,4.537,397,3.929]],["t/1116",[397,5.618]],["t/1117",[398,5.097]],["t/1119",[399,6.487]],["t/1122",[117,1.441,421,5.742]],["t/1124",[403,3.579,421,5.742]],["t/1126",[423,6.13]],["t/1128",[117,1.751]],["t/1131",[88,5.522,117,1.441]],["t/1134",[117,1.065,398,3.099,401,3.416,402,3.416]],["t/1136",[398,3.099,401,3.416,402,3.416,403,2.644]],["t/1138",[425,7.309]],["t/1140",[117,1.441,425,6.017]],["t/1142",[426,6.708]],["t/1144",[117,1.441,426,5.522]],["t/1146",[285,2.544,426,4.692,427,2.511]],["t/1148",[208,5.849]],["t/1150",[117,1.441,208,4.815]],["t/1152",[428,7.309]],["t/1154",[117,1.441,428,6.017]],["t/1157",[117,1.441,425,6.017]],["t/1160",[117,1.441,426,5.522]],["t/1162",[285,2.544,426,4.692,427,2.511]],["t/1165",[117,1.441,418,5.183]],["t/1167",[418,5.183,419,5.522]],["t/1170",[117,1.441,208,4.815]],["t/1172",[208,4.815,403,3.579]],["t/1174",[429,6.708]],["t/1176",[117,1.441,429,5.522]],["t/1178",[285,2.544,427,2.511,429,4.692]],["t/1180",[430,6.708]],["t/1182",[117,1.441,430,5.522]],["t/1184",[285,2.544,427,2.511,430,4.692]],["t/1186",[431,6.975]],["t/1188",[117,1.441,431,5.742]],["t/1190",[26,6.487]],["t/1192",[26,5.339,117,1.441]],["t/1195",[117,1.441,428,6.017]],["t/1198",[117,1.441,405,4.924]],["t/1201",[117,1.441,405,4.924]],["t/1204",[117,1.441,430,5.522]],["t/1206",[285,2.544,427,2.511,430,4.692]],["t/1209",[117,1.441,432,6.017]],["t/1212",[26,5.339,117,1.441]],["t/1214",[26,5.339,403,3.579]],["t/1216",[433,7.309]],["t/1218",[117,1.441,433,6.017]],["t/1220",[434,7.309]],["t/1222",[117,1.441,434,6.017]],["t/1224",[432,7.309]],["t/1226",[117,1.441,432,6.017]],["t/1228",[435,7.309]],["t/1230",[117,1.441,435,6.017]],["t/1233",[117,1.441,434,6.017]],["t/1236",[117,1.441,429,5.522]],["t/1238",[285,2.544,427,2.511,429,4.692]],["t/1241",[117,1.441,433,6.017]],["t/1244",[117,1.441,435,6.017]],["t/1247",[117,1.441,431,5.742]],["t/1249",[403,3.579,431,5.742]],["t/1251",[423,6.13]],["t/1253",[117,1.751]],["t/1256",[117,1.441,436,6.017]],["t/1259",[117,1.441,424,5.046]],["t/1262",[117,1.441,437,6.017]],["t/1265",[117,1.441,438,6.017]],["t/1268",[117,1.441,439,6.017]],["t/1271",[117,1.751]],["t/1273",[403,4.348]],["t/1275",[439,7.309]],["t/1277",[117,1.441,439,6.017]],["t/1279",[436,7.309]],["t/1281",[117,1.441,436,6.017]],["t/1283",[438,7.309]],["t/1285",[117,1.441,438,6.017]],["t/1287",[404,6.487]],["t/1289",[117,1.441,404,5.339]],["t/1291",[440,7.309]],["t/1293",[117,1.441,440,6.017]],["t/1295",[437,7.309]],["t/1297",[117,1.441,437,6.017]],["t/1300",[117,1.441,404,5.339]],["t/1303",[117,1.441,405,4.924]],["t/1306",[395,4.537,396,4.537,397,3.929]],["t/1308",[397,5.618]],["t/1309",[398,5.097]],["t/1311",[399,6.487]],["t/1314",[117,1.441,424,5.046]],["t/1317",[117,1.065,398,3.099,401,3.416,402,3.416]],["t/1319",[398,3.099,401,3.416,402,3.416,403,2.644]],["t/1321",[423,6.13]],["t/1323",[117,1.751]],["t/1326",[117,1.751]],["t/1328",[403,4.348]],["t/1330",[441,7.309]],["t/1332",[117,1.441,441,6.017]],["t/1334",[201,6.975]],["t/1336",[117,1.441,201,5.742]],["t/1339",[117,1.441,440,6.017]],["t/1342",[117,1.441,441,6.017]],["t/1345",[117,1.441,405,4.924]],["t/1347",[403,3.579,405,4.924]],["t/1349",[442,7.309]],["t/1351",[117,1.441,442,6.017]],["t/1353",[443,7.309]],["t/1355",[117,1.441,443,6.017]],["t/1358",[117,1.441,201,5.742]],["t/1361",[117,1.441,442,6.017]],["t/1364",[395,4.537,396,4.537,397,3.929]],["t/1366",[397,5.618]],["t/1367",[398,5.097]],["t/1369",[399,6.487]],["t/1372",[117,1.065,398,3.099,401,3.416,402,3.416]],["t/1374",[398,3.099,401,3.416,402,3.416,403,2.644]],["t/1376",[412,5.982]],["t/1378",[117,1.441,412,4.924]],["t/1380",[444,6.708]],["t/1382",[117,1.441,444,5.522]],["t/1384",[285,2.544,427,2.511,444,4.692]],["t/1386",[445,7.309]],["t/1388",[117,1.441,445,6.017]],["t/1390",[446,6.708]],["t/1392",[117,1.441,446,5.522]],["t/1394",[285,2.544,427,2.511,446,4.692]],["t/1396",[447,6.975]],["t/1398",[117,1.441,447,5.742]],["t/1400",[448,6.975]],["t/1402",[117,1.441,448,5.742]],["t/1404",[449,6.708]],["t/1406",[117,1.441,449,5.522]],["t/1408",[285,2.544,427,2.511,449,4.692]],["t/1410",[450,6.708]],["t/1412",[117,1.441,450,5.522]],["t/1414",[285,2.544,427,2.511,450,4.692]],["t/1416",[451,6.708]],["t/1418",[117,1.441,451,5.522]],["t/1420",[285,2.544,427,2.511,451,4.692]],["t/1423",[117,1.441,447,5.742]],["t/1425",[403,3.579,447,5.742]],["t/1427",[452,7.309]],["t/1429",[117,1.441,452,6.017]],["t/1431",[453,7.309]],["t/1433",[117,1.441,453,6.017]],["t/1436",[117,1.441,443,6.017]],["t/1439",[117,1.441,453,6.017]],["t/1442",[117,1.441,452,6.017]],["t/1445",[117,1.441,450,5.522]],["t/1447",[285,2.544,427,2.511,450,4.692]],["t/1450",[117,1.441,412,4.924]],["t/1452",[403,3.579,412,4.924]],["t/1454",[454,6.487]],["t/1456",[117,1.441,454,5.339]],["t/1458",[455,6.487]],["t/1460",[117,1.441,455,5.339]],["t/1462",[358,5.728]],["t/1464",[117,1.441,358,4.715]],["t/1466",[366,6.296]],["t/1468",[117,1.441,366,5.183]],["t/1470",[456,6.487]],["t/1472",[117,1.441,456,5.339]],["t/1474",[457,7.309]],["t/1476",[117,1.441,457,6.017]],["t/1479",[117,1.441,444,5.522]],["t/1481",[285,2.544,427,2.511,444,4.692]],["t/1484",[117,1.441,456,5.339]],["t/1487",[117,1.441,457,6.017]],["t/1490",[117,1.441,454,5.339]],["t/1493",[117,1.441,366,5.183]],["t/1496",[117,1.441,358,4.715]],["t/1499",[117,1.441,448,5.742]],["t/1501",[403,3.579,448,5.742]],["t/1503",[412,5.982]],["t/1505",[117,1.441,412,4.924]],["t/1507",[458,7.309]],["t/1509",[117,1.441,458,6.017]],["t/1511",[459,6.708]],["t/1513",[117,1.441,459,5.522]],["t/1515",[285,2.544,427,2.511,459,4.692]],["t/1517",[460,6.487]],["t/1519",[117,1.441,460,5.339]],["t/1521",[285,2.544,427,2.511,460,4.537]],["t/1524",[117,1.441,459,5.522]],["t/1526",[285,2.544,427,2.511,459,4.692]],["t/1529",[117,1.441,455,5.339]],["t/1532",[117,1.441,456,5.339]],["t/1535",[117,1.441,412,4.924]],["t/1537",[403,3.579,412,4.924]],["t/1539",[454,6.487]],["t/1541",[117,1.441,454,5.339]],["t/1543",[455,6.487]],["t/1545",[117,1.441,455,5.339]],["t/1547",[358,5.728]],["t/1549",[117,1.441,358,4.715]],["t/1551",[366,6.296]],["t/1553",[117,1.441,366,5.183]],["t/1555",[456,6.487]],["t/1557",[117,1.441,456,5.339]],["t/1559",[461,7.309]],["t/1561",[117,1.441,461,6.017]],["t/1564",[117,1.441,366,5.183]],["t/1567",[117,1.441,455,5.339]],["t/1570",[117,1.441,461,6.017]],["t/1573",[117,1.441,358,4.715]],["t/1576",[117,1.441,454,5.339]],["t/1579",[117,1.441,460,5.339]],["t/1581",[285,2.544,427,2.511,460,4.537]],["t/1583",[403,3.579,460,5.339]],["t/1585",[462,5.849]],["t/1587",[117,1.441,462,4.815]],["t/1589",[285,2.544,427,2.511,462,4.091]],["t/1591",[463,6.708]],["t/1593",[117,1.441,463,5.522]],["t/1595",[285,2.544,427,2.511,463,4.692]],["t/1598",[117,1.441,427,2.955]],["t/1601",[117,1.441,462,4.815]],["t/1603",[285,2.544,427,2.511,462,4.091]],["t/1606",[117,1.441,458,6.017]],["t/1609",[117,1.441,451,5.522]],["t/1611",[285,2.544,427,2.511,451,4.692]],["t/1614",[117,1.441,463,5.522]],["t/1616",[285,2.544,427,2.511,463,4.692]],["t/1619",[117,1.441,449,5.522]],["t/1621",[285,2.544,427,2.511,449,4.692]],["t/1624",[117,1.441,446,5.522]],["t/1626",[285,2.544,427,2.511,446,4.692]],["t/1629",[395,4.537,396,4.537,397,3.929]],["t/1631",[397,5.618]],["t/1632",[398,5.097]],["t/1634",[399,6.487]],["t/1637",[117,1.065,398,3.099,401,3.416,402,3.416]],["t/1639",[398,3.099,401,3.416,402,3.416,403,2.644]],["t/1641",[464,6.708]],["t/1643",[117,1.441,464,5.522]],["t/1645",[285,2.544,427,2.511,464,4.692]],["t/1647",[465,6.975]],["t/1649",[117,1.441,465,5.742]],["t/1651",[466,6.708]],["t/1653",[117,1.441,466,5.522]],["t/1655",[285,2.544,427,2.511,466,4.692]],["t/1657",[467,6.975]],["t/1659",[117,1.441,467,5.742]],["t/1661",[468,6.975]],["t/1663",[117,1.441,468,5.742]],["t/1665",[469,7.309]],["t/1667",[117,1.441,469,6.017]],["t/1669",[470,6.708]],["t/1671",[117,1.441,470,5.522]],["t/1673",[285,2.544,427,2.511,470,4.692]],["t/1675",[471,6.708]],["t/1677",[117,1.441,471,5.522]],["t/1679",[285,2.544,427,2.511,471,4.692]],["t/1681",[472,6.708]],["t/1683",[117,1.441,472,5.522]],["t/1685",[285,2.544,427,2.511,472,4.692]],["t/1687",[473,6.708]],["t/1689",[117,1.441,473,5.522]],["t/1691",[285,2.544,427,2.511,473,4.692]],["t/1693",[474,6.708]],["t/1695",[117,1.441,474,5.522]],["t/1697",[285,2.544,427,2.511,474,4.692]],["t/1700",[117,1.441,445,6.017]],["t/1703",[117,1.441,466,5.522]],["t/1705",[285,2.544,427,2.511,466,4.692]],["t/1708",[117,1.441,405,4.924]],["t/1711",[117,1.441,473,5.522]],["t/1713",[285,2.544,427,2.511,473,4.692]],["t/1716",[117,1.441,467,5.742]],["t/1718",[403,3.579,467,5.742]],["t/1720",[475,5.515]],["t/1722",[117,1.441,475,4.54]],["t/1724",[285,2.544,427,2.511,475,3.858]],["t/1726",[476,4.96]],["t/1728",[117,1.441,476,4.083]],["t/1730",[285,2.544,427,2.511,476,3.47]],["t/1733",[117,1.441,476,4.083]],["t/1735",[285,2.544,427,2.511,476,3.47]],["t/1737",[403,3.579,476,4.083]],["t/1739",[423,6.13]],["t/1741",[117,1.751]],["t/1744",[117,1.441,424,5.046]],["t/1747",[117,1.441,427,2.955]],["t/1750",[117,1.441,475,4.54]],["t/1752",[285,2.544,427,2.511,475,3.858]],["t/1755",[117,1.751]],["t/1758",[117,1.441,475,4.54]],["t/1760",[285,2.544,427,2.511,475,3.858]],["t/1763",[117,1.441,468,5.742]],["t/1765",[403,3.579,468,5.742]],["t/1767",[475,5.515]],["t/1769",[117,1.441,475,4.54]],["t/1771",[285,2.544,427,2.511,475,3.858]],["t/1773",[476,4.96]],["t/1775",[117,1.441,476,4.083]],["t/1777",[285,2.544,427,2.511,476,3.47]],["t/1780",[117,1.441,427,2.955]],["t/1783",[117,1.441,424,5.046]],["t/1786",[117,1.751]],["t/1789",[117,1.441,465,5.742]],["t/1791",[403,3.579,465,5.742]],["t/1793",[462,5.849]],["t/1795",[117,1.441,462,4.815]],["t/1797",[285,2.544,427,2.511,462,4.091]],["t/1799",[477,6.13]],["t/1801",[117,1.441,477,5.046]],["t/1803",[285,2.544,427,2.511,477,4.288]],["t/1805",[478,6.708]],["t/1807",[117,1.441,478,5.522]],["t/1809",[285,2.544,427,2.511,478,4.692]],["t/1812",[117,1.441,476,4.083]],["t/1814",[285,2.544,427,2.511,476,3.47]],["t/1816",[403,3.579,476,4.083]],["t/1818",[423,6.13]],["t/1820",[117,1.751]],["t/1823",[117,1.441,462,4.815]],["t/1825",[285,2.544,427,2.511,462,4.091]],["t/1828",[117,1.441,464,5.522]],["t/1830",[285,2.544,427,2.511,464,4.692]],["t/1833",[117,1.441,477,5.046]],["t/1835",[285,2.544,427,2.511,477,4.288]],["t/1838",[117,1.441,405,4.924]],["t/1840",[403,3.579,405,4.924]],["t/1842",[400,6.487]],["t/1844",[117,1.441,400,5.339]],["t/1846",[477,6.13]],["t/1848",[117,1.441,477,5.046]],["t/1851",[117,1.441,418,5.183]],["t/1854",[117,1.441,400,5.339]],["t/1857",[117,1.441,478,5.522]],["t/1859",[285,2.544,427,2.511,478,4.692]],["t/1862",[117,1.441,477,5.046]],["t/1865",[117,1.441,469,6.017]],["t/1868",[117,1.441,471,5.522]],["t/1870",[285,2.544,427,2.511,471,4.692]],["t/1873",[117,1.441,470,5.522]],["t/1875",[285,2.544,427,2.511,470,4.692]],["t/1878",[395,4.537,396,4.537,397,3.929]],["t/1880",[397,5.618]],["t/1881",[398,5.097]],["t/1883",[399,6.487]],["t/1885",[117,1.441,472,5.522]],["t/1887",[285,2.544,427,2.511,472,4.692]],["t/1890",[117,1.441,474,5.522]],["t/1892",[285,2.544,427,2.511,474,4.692]],["t/1895",[117,1.065,398,3.099,401,3.416,402,3.416]],["t/1897",[398,3.099,401,3.416,402,3.416,403,2.644]],["t/1899",[174,6.708]],["t/1901",[117,1.441,174,5.522]],["t/1903",[479,6.975]],["t/1905",[117,1.441,479,5.742]],["t/1908",[117,1.441,475,4.54]],["t/1911",[117,1.441,174,5.522]],["t/1913",[174,5.522,403,3.579]],["t/1915",[475,5.515]],["t/1917",[117,1.441,475,4.54]],["t/1919",[476,4.96]],["t/1921",[117,1.441,476,4.083]],["t/1924",[117,1.441,476,4.083]],["t/1926",[403,3.579,476,4.083]],["t/1928",[423,6.13]],["t/1930",[117,1.751]],["t/1933",[117,1.441,424,5.046]],["t/1936",[117,1.441,479,5.742]],["t/1938",[403,3.579,479,5.742]],["t/1940",[480,6.708]],["t/1942",[117,1.441,480,5.522]],["t/1944",[285,2.544,427,2.511,480,4.692]],["t/1946",[476,4.96]],["t/1948",[117,1.441,476,4.083]],["t/1951",[117,1.441,476,4.083]],["t/1953",[403,3.579,476,4.083]],["t/1955",[423,6.13]],["t/1957",[117,1.751]],["t/1960",[117,1.751]],["t/1963",[117,1.441,424,5.046]],["t/1966",[117,1.441,480,5.522]],["t/1968",[285,2.544,427,2.511,480,4.692]],["t/1971",[117,1.751]],["t/1974",[78,2.629,326,5.339]],["t/1977",[78,2.629,326,5.339]],["t/1980",[78,2.629,326,5.339]],["t/1983",[78,2.629,326,5.339]],["t/1986",[78,2.629,326,5.339]],["t/1989",[9,2.669,100,2.933,481,4.879]],["t/1990",[9,3.098,110,2.484,144,3.146,481,3.752]],["t/1992",[9,2.052,11,2.181,378,3.931,482,4.537,483,4.537]],["t/1994",[9,2.321,10,3.829,15,3.016,481,4.242]],["t/1996",[9,2.052,28,2.966,43,2.57,59,3.931,481,3.752]],["t/1998",[11,2.837,100,2.933,208,4.091]],["t/1999",[9,2.321,11,2.466,100,2.55,484,5.129]],["t/2001",[11,3.293,110,2.484,144,3.146,208,3.146]],["t/2003",[11,2.181,15,2.668,100,2.256,208,3.146,485,4.537]],["t/2005",[11,2.181,28,2.966,290,3.752,486,4.537,487,4.537]],["t/2007",[11,2.466,29,3.944,78,1.942,100,2.55]],["t/2009",[15,2.668,36,3.608,110,2.484,190,2.966,197,3.608]]],"invertedIndex":[["0",{"_index":418,"t":{"1011":{"position":[[0,1]]},"1013":{"position":[[0,1]]},"1103":{"position":[[0,1]]},"1105":{"position":[[0,1]]},"1165":{"position":[[0,1]]},"1167":{"position":[[0,1]]},"1851":{"position":[[0,1]]}}}],["1",{"_index":9,"t":{"12":{"position":[[0,1]]},"40":{"position":[[0,1]]},"47":{"position":[[0,1]]},"89":{"position":[[0,1]]},"141":{"position":[[0,1]]},"295":{"position":[[0,1]]},"379":{"position":[[0,1]]},"393":{"position":[[0,1]]},"404":{"position":[[0,1]]},"420":{"position":[[0,1]]},"429":{"position":[[0,1]]},"447":{"position":[[0,1]]},"465":{"position":[[0,1]]},"479":{"position":[[0,1]]},"576":{"position":[[0,1]]},"595":{"position":[[0,1]]},"606":{"position":[[0,1]]},"619":{"position":[[0,1]]},"622":{"position":[[0,1]]},"633":{"position":[[0,1],[17,1]]},"635":{"position":[[17,1]]},"641":{"position":[[0,1],[17,1]]},"643":{"position":[[17,1]]},"645":{"position":[[17,1]]},"648":{"position":[[0,1]]},"678":{"position":[[0,1]]},"713":{"position":[[0,1]]},"718":{"position":[[0,1]]},"720":{"position":[[0,1],[2,1]]},"722":{"position":[[0,1]]},"725":{"position":[[2,1]]},"734":{"position":[[2,1]]},"742":{"position":[[0,1]]},"752":{"position":[[0,1]]},"764":{"position":[[0,1]]},"794":{"position":[[0,1]]},"802":{"position":[[0,1]]},"917":{"position":[[0,1]]},"1016":{"position":[[0,1]]},"1018":{"position":[[0,1]]},"1098":{"position":[[0,1]]},"1100":{"position":[[0,1]]},"1989":{"position":[[0,1]]},"1990":{"position":[[0,1],[2,1]]},"1992":{"position":[[0,1]]},"1994":{"position":[[0,1]]},"1996":{"position":[[0,1]]},"1999":{"position":[[2,1]]}}}],["1103",{"_index":292,"t":{"633":{"position":[[21,4]]},"635":{"position":[[21,4]]},"641":{"position":[[21,4]]},"643":{"position":[[21,4]]},"645":{"position":[[21,4]]}}}],["2",{"_index":11,"t":{"14":{"position":[[0,1]]},"24":{"position":[[0,1]]},"42":{"position":[[0,1]]},"49":{"position":[[0,1]]},"143":{"position":[[0,1]]},"297":{"position":[[0,1]]},"395":{"position":[[0,1]]},"406":{"position":[[0,1]]},"422":{"position":[[0,1]]},"431":{"position":[[0,1]]},"449":{"position":[[0,1]]},"467":{"position":[[0,1]]},"581":{"position":[[0,1]]},"597":{"position":[[0,1]]},"608":{"position":[[0,1]]},"624":{"position":[[0,1]]},"635":{"position":[[0,1]]},"637":{"position":[[0,1]]},"643":{"position":[[0,1]]},"650":{"position":[[0,1]]},"680":{"position":[[0,1]]},"715":{"position":[[0,1]]},"722":{"position":[[2,1]]},"724":{"position":[[0,1]]},"725":{"position":[[0,1]]},"727":{"position":[[0,1],[2,1]]},"736":{"position":[[2,1]]},"744":{"position":[[0,1]]},"754":{"position":[[0,1]]},"766":{"position":[[0,1]]},"796":{"position":[[0,1]]},"804":{"position":[[0,1]]},"919":{"position":[[0,1]]},"1992":{"position":[[2,1]]},"1998":{"position":[[0,1]]},"1999":{"position":[[0,1]]},"2001":{"position":[[0,1],[2,1]]},"2003":{"position":[[0,1]]},"2005":{"position":[[0,1]]},"2007":{"position":[[0,1]]}}}],["3",{"_index":15,"t":{"16":{"position":[[0,1]]},"26":{"position":[[0,1]]},"44":{"position":[[0,1]]},"381":{"position":[[0,1]]},"583":{"position":[[0,1]]},"599":{"position":[[0,1]]},"626":{"position":[[0,1]]},"637":{"position":[[2,1]]},"645":{"position":[[0,1]]},"652":{"position":[[0,1]]},"682":{"position":[[0,1]]},"729":{"position":[[0,1]]},"746":{"position":[[0,1]]},"756":{"position":[[0,1]]},"768":{"position":[[0,1]]},"798":{"position":[[0,1]]},"806":{"position":[[0,1]]},"1994":{"position":[[2,1]]},"2003":{"position":[[2,1]]},"2009":{"position":[[0,1]]}}}],["4",{"_index":28,"t":{"28":{"position":[[0,1]]},"408":{"position":[[0,1]]},"585":{"position":[[0,1]]},"601":{"position":[[0,1]]},"633":{"position":[[19,1]]},"635":{"position":[[19,1]]},"641":{"position":[[19,1]]},"643":{"position":[[19,1]]},"645":{"position":[[19,1]]},"731":{"position":[[0,1]]},"748":{"position":[[0,1]]},"1996":{"position":[[2,1]]},"2005":{"position":[[2,1]]}}}],["5",{"_index":29,"t":{"30":{"position":[[0,1]]},"603":{"position":[[0,1]]},"733":{"position":[[0,1]]},"734":{"position":[[0,1]]},"736":{"position":[[0,1]]},"2007":{"position":[[2,1]]}}}],["6",{"_index":31,"t":{"32":{"position":[[0,1]]}}}],["7",{"_index":37,"t":{"34":{"position":[[0,1]]}}}],["8",{"_index":41,"t":{"36":{"position":[[0,1]]}}}],["account",{"_index":367,"t":{"863":{"position":[[6,7]]},"865":{"position":[[6,7]]},"867":{"position":[[8,7]]}}}],["accountnam",{"_index":368,"t":{"865":{"position":[[16,11]]},"867":{"position":[[18,11]]}}}],["accountnamepattern",{"_index":447,"t":{"1396":{"position":[[0,18]]},"1398":{"position":[[0,18]]},"1423":{"position":[[0,18]]},"1425":{"position":[[0,18]]}}}],["agent",{"_index":223,"t":{"386":{"position":[[35,5]]}}}],["ai",{"_index":133,"t":{"196":{"position":[[3,2]]}}}],["alert",{"_index":411,"t":{"995":{"position":[[4,5]]}}}],["alertmanag",{"_index":408,"t":{"988":{"position":[[3,12]]}}}],["anaconda",{"_index":231,"t":{"420":{"position":[[2,8]]}}}],["api",{"_index":96,"t":{"141":{"position":[[24,3]]},"834":{"position":[[5,3]]},"843":{"position":[[8,3]]},"847":{"position":[[8,3]]},"850":{"position":[[6,3]]},"854":{"position":[[6,3]]},"857":{"position":[[6,3]]},"861":{"position":[[8,3]]},"875":{"position":[[2,3]]},"887":{"position":[[7,3]]},"895":{"position":[[0,3]]},"921":{"position":[[0,3]]},"935":{"position":[[17,3]]}}}],["app",{"_index":466,"t":{"1651":{"position":[[0,4]]},"1653":{"position":[[0,4]]},"1655":{"position":[[0,4]]},"1703":{"position":[[0,4]]},"1705":{"position":[[0,4]]}}}],["appcom",{"_index":86,"t":{"128":{"position":[[0,10]]}}}],["appjobsdir",{"_index":473,"t":{"1687":{"position":[[0,10]]},"1689":{"position":[[0,10]]},"1691":{"position":[[0,10]]},"1711":{"position":[[0,10]]},"1713":{"position":[[0,10]]}}}],["array",{"_index":399,"t":{"945":{"position":[[0,6]]},"1119":{"position":[[0,6]]},"1311":{"position":[[0,6]]},"1369":{"position":[[0,6]]},"1634":{"position":[[0,6]]},"1883":{"position":[[0,6]]}}}],["associationtablenam",{"_index":432,"t":{"1209":{"position":[[0,20]]},"1224":{"position":[[0,20]]},"1226":{"position":[[0,20]]}}}],["attribut",{"_index":89,"t":{"132":{"position":[[0,10]]},"515":{"position":[[0,10]]},"551":{"position":[[0,10]]},"619":{"position":[[48,9]]}}}],["audioadapt",{"_index":286,"t":{"619":{"position":[[27,12]]}}}],["auth",{"_index":351,"t":{"835":{"position":[[12,4]]}}}],["authurl",{"_index":444,"t":{"1380":{"position":[[0,7]]},"1382":{"position":[[0,7]]},"1384":{"position":[[0,7]]},"1479":{"position":[[0,7]]},"1481":{"position":[[0,7]]}}}],["baltamatica",{"_index":226,"t":{"395":{"position":[[4,11]]}}}],["base",{"_index":149,"t":{"234":{"position":[[8,4]]}}}],["batchsiz",{"_index":459,"t":{"1511":{"position":[[0,9]]},"1513":{"position":[[0,9]]},"1515":{"position":[[0,9]]},"1524":{"position":[[0,9]]},"1526":{"position":[[0,9]]}}}],["beforescript",{"_index":83,"t":{"112":{"position":[[0,12]]},"130":{"position":[[0,12]]},"511":{"position":[[0,12]]},"547":{"position":[[0,12]]},"1040":{"position":[[0,12]]},"1042":{"position":[[0,12]]},"1053":{"position":[[0,12]]}}}],["beta",{"_index":125,"t":{"178":{"position":[[0,4]]}}}],["buf",{"_index":376,"t":{"885":{"position":[[2,3]]},"917":{"position":[[5,3]]}}}],["capabl",{"_index":355,"t":{"841":{"position":[[5,12]]}}}],["changejobpricetyp",{"_index":450,"t":{"1410":{"position":[[0,18]]},"1412":{"position":[[0,18]]},"1414":{"position":[[0,18]]},"1445":{"position":[[0,18]]},"1447":{"position":[[0,18]]}}}],["checkpassword",{"_index":365,"t":{"855":{"position":[[5,13]]}}}],["ci",{"_index":72,"t":{"76":{"position":[[0,2]]}}}],["cli",{"_index":301,"t":{"662":{"position":[[7,3]]},"672":{"position":[[5,3]]},"694":{"position":[[7,3]]}}}],["clustercom",{"_index":441,"t":{"1330":{"position":[[0,14]]},"1332":{"position":[[0,14]]},"1342":{"position":[[0,14]]}}}],["code",{"_index":234,"t":{"465":{"position":[[2,4]]}}}],["comment",{"_index":437,"t":{"1262":{"position":[[0,7]]},"1295":{"position":[[0,7]]},"1297":{"position":[[0,7]]}}}],["compos",{"_index":138,"t":{"209":{"position":[[9,7]]},"991":{"position":[[15,7]]}}}],["comput",{"_index":289,"t":{"622":{"position":[[9,7]]}}}],["computenod",{"_index":430,"t":{"1180":{"position":[[0,12]]},"1182":{"position":[[0,12]]},"1184":{"position":[[0,12]]},"1204":{"position":[[0,12]]},"1206":{"position":[[0,12]]}}}],["conda",{"_index":298,"t":{"645":{"position":[[31,5]]}}}],["connect",{"_index":241,"t":{"513":{"position":[[0,7]]},"1048":{"position":[[0,7]]},"1050":{"position":[[0,7]]},"1056":{"position":[[0,7]]},"1058":{"position":[[0,7]]}}}],["constraint",{"_index":419,"t":{"1013":{"position":[[2,11]]},"1018":{"position":[[2,11]]},"1100":{"position":[[2,11]]},"1105":{"position":[[2,11]]},"1167":{"position":[[2,11]]}}}],["contain",{"_index":57,"t":{"60":{"position":[[7,9]]},"66":{"position":[[4,9]]}}}],["content",{"_index":443,"t":{"1353":{"position":[[0,7]]},"1355":{"position":[[0,7]]},"1436":{"position":[[0,7]]}}}],["core",{"_index":436,"t":{"1256":{"position":[[0,5]]},"1279":{"position":[[0,5]]},"1281":{"position":[[0,5]]}}}],["createoperationlog",{"_index":95,"t":{"141":{"position":[[5,18]]}}}],["cron",{"_index":463,"t":{"1591":{"position":[[0,4]]},"1593":{"position":[[0,4]]},"1595":{"position":[[0,4]]},"1614":{"position":[[0,4]]},"1616":{"position":[[0,4]]}}}],["db",{"_index":412,"t":{"995":{"position":[[10,2]]},"1376":{"position":[[0,2]]},"1378":{"position":[[0,2]]},"1450":{"position":[[0,2]]},"1452":{"position":[[0,2]]},"1503":{"position":[[0,2]]},"1505":{"position":[[0,2]]},"1535":{"position":[[0,2]]},"1537":{"position":[[0,2]]}}}],["dbname",{"_index":456,"t":{"1470":{"position":[[0,6]]},"1472":{"position":[[0,6]]},"1484":{"position":[[0,6]]},"1532":{"position":[[0,6]]},"1555":{"position":[[0,6]]},"1557":{"position":[[0,6]]}}}],["dbpassword",{"_index":434,"t":{"1220":{"position":[[0,10]]},"1222":{"position":[[0,10]]},"1233":{"position":[[0,10]]}}}],["debug",{"_index":457,"t":{"1474":{"position":[[0,5]]},"1476":{"position":[[0,5]]},"1487":{"position":[[0,5]]}}}],["default",{"_index":427,"t":{"1146":{"position":[[10,7]]},"1162":{"position":[[10,7]]},"1178":{"position":[[11,7]]},"1184":{"position":[[13,7]]},"1206":{"position":[[13,7]]},"1238":{"position":[[11,7]]},"1384":{"position":[[8,7]]},"1394":{"position":[[24,7]]},"1408":{"position":[[14,7]]},"1414":{"position":[[19,7]]},"1420":{"position":[[17,7]]},"1447":{"position":[[19,7]]},"1481":{"position":[[8,7]]},"1515":{"position":[[10,7]]},"1521":{"position":[[14,7]]},"1526":{"position":[[10,7]]},"1581":{"position":[[14,7]]},"1589":{"position":[[8,7]]},"1595":{"position":[[5,7]]},"1598":{"position":[[0,7]]},"1603":{"position":[[8,7]]},"1611":{"position":[[17,7]]},"1616":{"position":[[5,7]]},"1621":{"position":[[14,7]]},"1626":{"position":[[24,7]]},"1645":{"position":[[14,7]]},"1655":{"position":[[5,7]]},"1673":{"position":[[6,7]]},"1679":{"position":[[20,7]]},"1685":{"position":[[13,7]]},"1691":{"position":[[11,7]]},"1697":{"position":[[13,7]]},"1705":{"position":[[5,7]]},"1713":{"position":[[11,7]]},"1724":{"position":[[12,7]]},"1730":{"position":[[12,7]]},"1735":{"position":[[12,7]]},"1747":{"position":[[0,7]]},"1752":{"position":[[12,7]]},"1760":{"position":[[12,7]]},"1771":{"position":[[12,7]]},"1777":{"position":[[12,7]]},"1780":{"position":[[0,7]]},"1797":{"position":[[8,7]]},"1803":{"position":[[4,7]]},"1809":{"position":[[12,7]]},"1814":{"position":[[12,7]]},"1825":{"position":[[8,7]]},"1830":{"position":[[14,7]]},"1835":{"position":[[4,7]]},"1859":{"position":[[12,7]]},"1870":{"position":[[20,7]]},"1875":{"position":[[6,7]]},"1887":{"position":[[13,7]]},"1892":{"position":[[13,7]]},"1944":{"position":[[13,7]]},"1968":{"position":[[13,7]]}}}],["defaultcolor",{"_index":480,"t":{"1940":{"position":[[0,12]]},"1942":{"position":[[0,12]]},"1944":{"position":[[0,12]]},"1966":{"position":[[0,12]]},"1968":{"position":[[0,12]]}}}],["defaulttext",{"_index":475,"t":{"1720":{"position":[[0,11]]},"1722":{"position":[[0,11]]},"1724":{"position":[[0,11]]},"1750":{"position":[[0,11]]},"1752":{"position":[[0,11]]},"1758":{"position":[[0,11]]},"1760":{"position":[[0,11]]},"1767":{"position":[[0,11]]},"1769":{"position":[[0,11]]},"1771":{"position":[[0,11]]},"1908":{"position":[[0,11]]},"1915":{"position":[[0,11]]},"1917":{"position":[[0,11]]}}}],["delet",{"_index":353,"t":{"839":{"position":[[0,6]]},"867":{"position":[[0,6]]}}}],["deploy",{"_index":307,"t":{"690":{"position":[[6,10]]}}}],["dev",{"_index":56,"t":{"60":{"position":[[3,3]]},"66":{"position":[[0,3]]}}}],["displaynam",{"_index":425,"t":{"1138":{"position":[[0,11]]},"1140":{"position":[[0,11]]},"1157":{"position":[[0,11]]}}}],["docker",{"_index":137,"t":{"209":{"position":[[2,6]]},"991":{"position":[[8,6]]}}}],["driver",{"_index":287,"t":{"619":{"position":[[41,6]]}}}],["emac",{"_index":232,"t":{"431":{"position":[[2,5]]}}}],["email",{"_index":362,"t":{"852":{"position":[[12,5]]}}}],["enabl",{"_index":462,"t":{"1585":{"position":[[0,7]]},"1587":{"position":[[0,7]]},"1589":{"position":[[0,7]]},"1601":{"position":[[0,7]]},"1603":{"position":[[0,7]]},"1793":{"position":[[0,7]]},"1795":{"position":[[0,7]]},"1797":{"position":[[0,7]]},"1823":{"position":[[0,7]]},"1825":{"position":[[0,7]]}}}],["entiti",{"_index":158,"t":{"254":{"position":[[0,8]]}}}],["errormessag",{"_index":453,"t":{"1431":{"position":[[0,12]]},"1433":{"position":[[0,12]]},"1439":{"position":[[0,12]]}}}],["export",{"_index":414,"t":{"999":{"position":[[5,8]]},"1003":{"position":[[5,8]]}}}],["extra",{"_index":201,"t":{"341":{"position":[[0,5]]},"1334":{"position":[[0,6]]},"1336":{"position":[[0,6]]},"1358":{"position":[[0,6]]}}}],["faq",{"_index":212,"t":{"385":{"position":[[0,3]]}}}],["favicon",{"_index":168,"t":{"284":{"position":[[3,7]]}}}],["fetchjob",{"_index":448,"t":{"1400":{"position":[[0,9]]},"1402":{"position":[[0,9]]},"1499":{"position":[[0,9]]},"1501":{"position":[[0,9]]}}}],["footer",{"_index":174,"t":{"288":{"position":[[7,6]]},"1899":{"position":[[0,6]]},"1901":{"position":[[0,6]]},"1911":{"position":[[0,6]]},"1913":{"position":[[0,6]]}}}],["formdata",{"_index":422,"t":{"1072":{"position":[[0,8]]},"1074":{"position":[[0,8]]},"1077":{"position":[[0,8]]},"1079":{"position":[[0,8]]}}}],["golang",{"_index":415,"t":{"1001":{"position":[[3,6]]}}}],["gpu",{"_index":438,"t":{"1265":{"position":[[0,4]]},"1283":{"position":[[0,4]]},"1285":{"position":[[0,4]]}}}],["grafana",{"_index":406,"t":{"984":{"position":[[3,7]]}}}],["harbor",{"_index":129,"t":{"185":{"position":[[0,6]]}}}],["hometext",{"_index":467,"t":{"1657":{"position":[[0,8]]},"1659":{"position":[[0,8]]},"1716":{"position":[[0,8]]},"1718":{"position":[[0,8]]}}}],["hometitl",{"_index":468,"t":{"1661":{"position":[[0,9]]},"1663":{"position":[[0,9]]},"1763":{"position":[[0,9]]},"1765":{"position":[[0,9]]}}}],["hook",{"_index":380,"t":{"889":{"position":[[10,4]]},"903":{"position":[[9,4]]}}}],["host",{"_index":454,"t":{"1454":{"position":[[0,4]]},"1456":{"position":[[0,4]]},"1490":{"position":[[0,4]]},"1539":{"position":[[0,4]]},"1541":{"position":[[0,4]]},"1576":{"position":[[0,4]]}}}],["hostnamemap",{"_index":476,"t":{"1726":{"position":[[0,11]]},"1728":{"position":[[0,11]]},"1730":{"position":[[0,11]]},"1733":{"position":[[0,11]]},"1735":{"position":[[0,11]]},"1737":{"position":[[0,11]]},"1773":{"position":[[0,11]]},"1775":{"position":[[0,11]]},"1777":{"position":[[0,11]]},"1812":{"position":[[0,11]]},"1814":{"position":[[0,11]]},"1816":{"position":[[0,11]]},"1919":{"position":[[0,11]]},"1921":{"position":[[0,11]]},"1924":{"position":[[0,11]]},"1926":{"position":[[0,11]]},"1946":{"position":[[0,11]]},"1948":{"position":[[0,11]]},"1951":{"position":[[0,11]]},"1953":{"position":[[0,11]]}}}],["html",{"_index":244,"t":{"520":{"position":[[8,4]]},"522":{"position":[[8,4]]},"526":{"position":[[10,4]]},"528":{"position":[[10,4]]},"530":{"position":[[11,4]]}}}],["imag",{"_index":82,"t":{"110":{"position":[[0,5]]},"124":{"position":[[0,5]]}}}],["invalid",{"_index":284,"t":{"619":{"position":[[4,7]]}}}],["ip",{"_index":280,"t":{"606":{"position":[[11,2]]}}}],["item",{"_index":405,"t":{"976":{"position":[[0,5]]},"1198":{"position":[[0,5]]},"1201":{"position":[[0,5]]},"1303":{"position":[[0,5]]},"1345":{"position":[[0,5]]},"1347":{"position":[[0,5]]},"1708":{"position":[[0,5]]},"1838":{"position":[[0,5]]},"1840":{"position":[[0,5]]}}}],["java",{"_index":227,"t":{"406":{"position":[[2,4]]}}}],["jobchargecom",{"_index":451,"t":{"1416":{"position":[[0,16]]},"1418":{"position":[[0,16]]},"1420":{"position":[[0,16]]},"1609":{"position":[[0,16]]},"1611":{"position":[[0,16]]}}}],["jobchargetyp",{"_index":449,"t":{"1404":{"position":[[0,13]]},"1406":{"position":[[0,13]]},"1408":{"position":[[0,13]]},"1619":{"position":[[0,13]]},"1621":{"position":[[0,13]]}}}],["jobinfo",{"_index":159,"t":{"254":{"position":[[9,7]]}}}],["jobmanag",{"_index":464,"t":{"1641":{"position":[[0,13]]},"1643":{"position":[[0,13]]},"1645":{"position":[[0,13]]},"1828":{"position":[[0,13]]},"1830":{"position":[[0,13]]}}}],["js",{"_index":163,"t":{"274":{"position":[[12,2]]}}}],["k8",{"_index":128,"t":{"181":{"position":[[0,3]]},"183":{"position":[[0,3]]}}}],["ldap",{"_index":115,"t":{"166":{"position":[[11,4],[27,4]]},"189":{"position":[[0,4]]},"215":{"position":[[0,4]]},"217":{"position":[[2,4]]},"223":{"position":[[2,4]]},"225":{"position":[[0,4]]},"227":{"position":[[0,4]]},"713":{"position":[[7,4]]},"715":{"position":[[7,4]]}}}],["level",{"_index":396,"t":{"940":{"position":[[4,5]]},"1114":{"position":[[4,5]]},"1306":{"position":[[4,5]]},"1364":{"position":[[4,5]]},"1629":{"position":[[4,5]]},"1878":{"position":[[4,5]]}}}],["linkpack",{"_index":327,"t":{"748":{"position":[[3,8]]}}}],["login",{"_index":288,"t":{"622":{"position":[[3,5]]}}}],["logindesktop",{"_index":465,"t":{"1647":{"position":[[0,12]]},"1649":{"position":[[0,12]]},"1789":{"position":[[0,12]]},"1791":{"position":[[0,12]]}}}],["loginnod",{"_index":429,"t":{"1174":{"position":[[0,10]]},"1176":{"position":[[0,10]]},"1178":{"position":[[0,10]]},"1236":{"position":[[0,10]]},"1238":{"position":[[0,10]]}}}],["logo",{"_index":171,"t":{"286":{"position":[[6,4]]},"539":{"position":[[6,4]]}}}],["logopath",{"_index":81,"t":{"108":{"position":[[0,8]]},"126":{"position":[[0,8]]}}}],["managerurl",{"_index":433,"t":{"1216":{"position":[[0,10]]},"1218":{"position":[[0,10]]},"1241":{"position":[[0,10]]}}}],["mariadb",{"_index":484,"t":{"1999":{"position":[[6,7]]}}}],["maxdesktop",{"_index":478,"t":{"1805":{"position":[[0,11]]},"1807":{"position":[[0,11]]},"1809":{"position":[[0,11]]},"1857":{"position":[[0,11]]},"1859":{"position":[[0,11]]}}}],["mem",{"_index":439,"t":{"1268":{"position":[[0,3]]},"1275":{"position":[[0,3]]},"1277":{"position":[[0,3]]}}}],["method",{"_index":420,"t":{"1060":{"position":[[0,6]]},"1062":{"position":[[0,6]]},"1092":{"position":[[0,6]]}}}],["mi",{"_index":26,"t":{"26":{"position":[[5,3]]},"276":{"position":[[0,3]]},"1190":{"position":[[0,3]]},"1192":{"position":[[0,3]]},"1212":{"position":[[0,3]]},"1214":{"position":[[0,3]]}}}],["misignor",{"_index":428,"t":{"1152":{"position":[[0,9]]},"1154":{"position":[[0,9]]},"1195":{"position":[[0,9]]}}}],["misurl",{"_index":469,"t":{"1665":{"position":[[0,6]]},"1667":{"position":[[0,6]]},"1865":{"position":[[0,6]]}}}],["modul",{"_index":329,"t":{"754":{"position":[[3,6]]}}}],["modulefil",{"_index":228,"t":{"408":{"position":[[4,10]]},"422":{"position":[[4,10]]},"467":{"position":[[4,10]]}}}],["monorepo",{"_index":69,"t":{"74":{"position":[[8,8]]}}}],["mung",{"_index":481,"t":{"1989":{"position":[[5,5]]},"1990":{"position":[[6,5]]},"1994":{"position":[[6,5]]},"1996":{"position":[[6,5]]}}}],["name",{"_index":400,"t":{"948":{"position":[[0,4]]},"955":{"position":[[0,4]]},"957":{"position":[[0,4]]},"1842":{"position":[[0,4]]},"1844":{"position":[[0,4]]},"1854":{"position":[[0,4]]}}}],["nf",{"_index":330,"t":{"764":{"position":[[5,3]]}}}],["node",{"_index":404,"t":{"959":{"position":[[0,5]]},"961":{"position":[[0,5]]},"1021":{"position":[[0,5]]},"1287":{"position":[[0,5]]},"1289":{"position":[[0,5]]},"1300":{"position":[[0,5]]}}}],["npm",{"_index":387,"t":{"919":{"position":[[5,3]]}}}],["object",{"_index":398,"t":{"943":{"position":[[0,7]]},"951":{"position":[[9,6]]},"953":{"position":[[9,6]]},"1117":{"position":[[0,7]]},"1134":{"position":[[9,6]]},"1136":{"position":[[9,6]]},"1309":{"position":[[0,7]]},"1317":{"position":[[9,6]]},"1319":{"position":[[9,6]]},"1367":{"position":[[0,7]]},"1372":{"position":[[9,6]]},"1374":{"position":[[9,6]]},"1632":{"position":[[0,7]]},"1637":{"position":[[9,6]]},"1639":{"position":[[9,6]]},"1881":{"position":[[0,7]]},"1895":{"position":[[9,6]]},"1897":{"position":[[9,6]]}}}],["octav",{"_index":233,"t":{"449":{"position":[[2,6]]}}}],["otp",{"_index":111,"t":{"164":{"position":[[0,3]]},"166":{"position":[[3,3],[18,3]]},"168":{"position":[[8,3],[14,3]]}}}],["partit",{"_index":431,"t":{"1186":{"position":[[0,10]]},"1188":{"position":[[0,10]]},"1247":{"position":[[0,10]]},"1249":{"position":[[0,10]]}}}],["password",{"_index":366,"t":{"859":{"position":[[7,8]]},"1466":{"position":[[0,8]]},"1468":{"position":[[0,8]]},"1493":{"position":[[0,8]]},"1551":{"position":[[0,8]]},"1553":{"position":[[0,8]]},"1564":{"position":[[0,8]]}}}],["patch",{"_index":361,"t":{"852":{"position":[[0,5]]},"859":{"position":[[0,5]]}}}],["path",{"_index":150,"t":{"234":{"position":[[13,4]]},"1064":{"position":[[0,4]]},"1066":{"position":[[0,4]]},"1095":{"position":[[0,4]]}}}],["pattern",{"_index":423,"t":{"1081":{"position":[[0,7]]},"1126":{"position":[[0,7]]},"1251":{"position":[[0,7]]},"1321":{"position":[[0,7]]},"1739":{"position":[[0,7]]},"1818":{"position":[[0,7]]},"1928":{"position":[[0,7]]},"1955":{"position":[[0,7]]}}}],["patternproperti",{"_index":424,"t":{"1086":{"position":[[0,17]]},"1108":{"position":[[0,17]]},"1259":{"position":[[0,17]]},"1314":{"position":[[0,17]]},"1744":{"position":[[0,17]]},"1783":{"position":[[0,17]]},"1933":{"position":[[0,17]]},"1963":{"position":[[0,17]]}}}],["periodicfetch",{"_index":460,"t":{"1517":{"position":[[0,13]]},"1519":{"position":[[0,13]]},"1521":{"position":[[0,13]]},"1579":{"position":[[0,13]]},"1581":{"position":[[0,13]]},"1583":{"position":[[0,13]]}}}],["policykit",{"_index":222,"t":{"386":{"position":[[25,9]]}}}],["port",{"_index":455,"t":{"1458":{"position":[[0,4]]},"1460":{"position":[[0,4]]},"1529":{"position":[[0,4]]},"1543":{"position":[[0,4]]},"1545":{"position":[[0,4]]},"1567":{"position":[[0,4]]}}}],["portal",{"_index":393,"t":{"935":{"position":[[21,6]]}}}],["portalurl",{"_index":445,"t":{"1386":{"position":[[0,9]]},"1388":{"position":[[0,9]]},"1700":{"position":[[0,9]]}}}],["post",{"_index":357,"t":{"845":{"position":[[0,4]]},"863":{"position":[[0,4]]},"865":{"position":[[0,4]]},"935":{"position":[[11,4]]}}}],["predefinedchargingtyp",{"_index":446,"t":{"1390":{"position":[[0,23]]},"1392":{"position":[[0,23]]},"1394":{"position":[[0,23]]},"1624":{"position":[[0,23]]},"1626":{"position":[[0,23]]}}}],["primarycolor",{"_index":479,"t":{"1903":{"position":[[0,12]]},"1905":{"position":[[0,12]]},"1936":{"position":[[0,12]]},"1938":{"position":[[0,12]]}}}],["prometheu",{"_index":407,"t":{"986":{"position":[[3,10]]}}}],["properti",{"_index":403,"t":{"953":{"position":[[29,10]]},"1029":{"position":[[4,10]]},"1038":{"position":[[4,10]]},"1058":{"position":[[8,10]]},"1079":{"position":[[9,10]]},"1124":{"position":[[6,10]]},"1136":{"position":[[29,10]]},"1172":{"position":[[6,10]]},"1214":{"position":[[4,10]]},"1249":{"position":[[11,10]]},"1273":{"position":[[5,10]]},"1319":{"position":[[29,10]]},"1328":{"position":[[5,10]]},"1347":{"position":[[6,10]]},"1374":{"position":[[29,10]]},"1425":{"position":[[19,10]]},"1452":{"position":[[3,10]]},"1501":{"position":[[10,10]]},"1537":{"position":[[3,10]]},"1583":{"position":[[14,10]]},"1639":{"position":[[29,10]]},"1718":{"position":[[9,10]]},"1737":{"position":[[12,10]]},"1765":{"position":[[10,10]]},"1791":{"position":[[13,10]]},"1816":{"position":[[12,10]]},"1840":{"position":[[6,10]]},"1897":{"position":[[29,10]]},"1913":{"position":[[7,10]]},"1926":{"position":[[12,10]]},"1938":{"position":[[13,10]]},"1953":{"position":[[12,10]]}}}],["proto",{"_index":377,"t":{"885":{"position":[[7,5]]},"915":{"position":[[2,5]]},"919":{"position":[[10,5]]}}}],["proxytyp",{"_index":85,"t":{"122":{"position":[[0,9]]},"509":{"position":[[0,9]]}}}],["public",{"_index":350,"t":{"835":{"position":[[5,6]]},"837":{"position":[[5,6]]}}}],["q1",{"_index":213,"t":{"386":{"position":[[0,2]]}}}],["qo",{"_index":440,"t":{"1291":{"position":[[0,3]]},"1293":{"position":[[0,3]]},"1339":{"position":[[0,3]]}}}],["queri",{"_index":421,"t":{"1068":{"position":[[0,5]]},"1070":{"position":[[0,5]]},"1122":{"position":[[0,5]]},"1124":{"position":[[0,5]]}}}],["r",{"_index":297,"t":{"643":{"position":[[35,1]]},"645":{"position":[[40,1]]},"650":{"position":[[2,1]]}}}],["regex",{"_index":452,"t":{"1427":{"position":[[0,5]]},"1429":{"position":[[0,5]]},"1442":{"position":[[0,5]]}}}],["remot",{"_index":120,"t":{"168":{"position":[[23,6]]}}}],["repo",{"_index":48,"t":{"55":{"position":[[0,4]]}}}],["rewritenavig",{"_index":394,"t":{"935":{"position":[[28,18]]}}}],["root",{"_index":268,"t":{"581":{"position":[[19,4]]}}}],["rpm",{"_index":486,"t":{"2005":{"position":[[6,3]]}}}],["rstudio",{"_index":291,"t":{"633":{"position":[[2,7]]},"635":{"position":[[2,7]]},"637":{"position":[[6,7]]},"641":{"position":[[2,7]]},"643":{"position":[[2,7]]},"645":{"position":[[2,7]]},"652":{"position":[[4,7]]}}}],["savedjobsdir",{"_index":472,"t":{"1681":{"position":[[0,12]]},"1683":{"position":[[0,12]]},"1685":{"position":[[0,12]]},"1885":{"position":[[0,12]]},"1887":{"position":[[0,12]]}}}],["sbatch",{"_index":252,"t":{"532":{"position":[[4,6]]}}}],["schedul",{"_index":426,"t":{"1142":{"position":[[0,9]]},"1144":{"position":[[0,9]]},"1146":{"position":[[0,9]]},"1160":{"position":[[0,9]]},"1162":{"position":[[0,9]]}}}],["schema",{"_index":397,"t":{"940":{"position":[[10,7]]},"942":{"position":[[6,7]]},"1114":{"position":[[10,7]]},"1116":{"position":[[6,7]]},"1306":{"position":[[10,7]]},"1308":{"position":[[6,7]]},"1364":{"position":[[10,7]]},"1366":{"position":[[6,7]]},"1629":{"position":[[10,7]]},"1631":{"position":[[6,7]]},"1878":{"position":[[10,7]]},"1880":{"position":[[6,7]]}}}],["scow",{"_index":13,"t":{"14":{"position":[[5,4]]},"40":{"position":[[5,4]]},"338":{"position":[[2,4]]},"345":{"position":[[0,4]]},"372":{"position":[[0,4]]},"581":{"position":[[5,4]]},"583":{"position":[[13,4]]},"585":{"position":[[9,4]]},"599":{"position":[[3,4]]},"626":{"position":[[3,4]]},"660":{"position":[[2,4]]},"662":{"position":[[2,4]]},"672":{"position":[[0,4]]},"690":{"position":[[1,4]]},"694":{"position":[[2,4]]},"887":{"position":[[2,4]]},"889":{"position":[[5,4]]},"903":{"position":[[0,4]]},"911":{"position":[[2,4]]},"1005":{"position":[[2,4]]}}}],["script",{"_index":88,"t":{"130":{"position":[[27,6]]},"511":{"position":[[13,6]]},"1044":{"position":[[0,6]]},"1046":{"position":[[0,6]]},"1131":{"position":[[0,6]]}}}],["scriptpath",{"_index":435,"t":{"1228":{"position":[[0,10]]},"1230":{"position":[[0,10]]},"1244":{"position":[[0,10]]}}}],["sdown",{"_index":261,"t":{"569":{"position":[[0,5]]}}}],["sedit",{"_index":262,"t":{"571":{"position":[[0,5]]}}}],["server",{"_index":235,"t":{"465":{"position":[[7,6]]},"633":{"position":[[10,6]]},"635":{"position":[[10,6]]},"637":{"position":[[14,6]]},"641":{"position":[[10,6]]},"643":{"position":[[10,6]]},"645":{"position":[[10,6]]},"652":{"position":[[12,6]]}}}],["shell",{"_index":470,"t":{"1669":{"position":[[0,5]]},"1671":{"position":[[0,5]]},"1673":{"position":[[0,5]]},"1873":{"position":[[0,5]]},"1875":{"position":[[0,5]]}}}],["singular",{"_index":299,"t":{"648":{"position":[[2,11]]}}}],["slogan",{"_index":40,"t":{"34":{"position":[[9,6]]}}}],["slurm",{"_index":208,"t":{"366":{"position":[[2,5],[12,5]]},"372":{"position":[[5,5]]},"624":{"position":[[3,5]]},"1148":{"position":[[0,5]]},"1150":{"position":[[0,5]]},"1170":{"position":[[0,5]]},"1172":{"position":[[0,5]]},"1998":{"position":[[5,5]]},"2001":{"position":[[6,5]]},"2003":{"position":[[6,5]]}}}],["sopen",{"_index":258,"t":{"565":{"position":[[0,5]]}}}],["ssh",{"_index":134,"t":{"202":{"position":[[2,3]]}}}],["startcommand",{"_index":87,"t":{"130":{"position":[[13,12]]}}}],["startindex",{"_index":458,"t":{"1507":{"position":[[0,10]]},"1509":{"position":[[0,10]]},"1606":{"position":[[0,10]]}}}],["submitjobdefaultpwd",{"_index":471,"t":{"1675":{"position":[[0,19]]},"1677":{"position":[[0,19]]},"1679":{"position":[[0,19]]},"1868":{"position":[[0,19]]},"1870":{"position":[[0,19]]}}}],["sup",{"_index":260,"t":{"567":{"position":[[0,3]]}}}],["sync",{"_index":271,"t":{"583":{"position":[[18,4]]},"585":{"position":[[14,4]]}}}],["tablenam",{"_index":461,"t":{"1559":{"position":[[0,9]]},"1561":{"position":[[0,9]]},"1570":{"position":[[0,9]]}}}],["tcl",{"_index":328,"t":{"752":{"position":[[3,3]]}}}],["timezon",{"_index":370,"t":{"877":{"position":[[3,8]]}}}],["titl",{"_index":442,"t":{"1349":{"position":[[0,5]]},"1351":{"position":[[0,5]]},"1361":{"position":[[0,5]]}}}],["token",{"_index":354,"t":{"839":{"position":[[8,5]]},"897":{"position":[[2,5]]}}}],["top",{"_index":395,"t":{"940":{"position":[[0,3]]},"1114":{"position":[[0,3]]},"1306":{"position":[[0,3]]},"1364":{"position":[[0,3]]},"1629":{"position":[[0,3]]},"1878":{"position":[[0,3]]}}}],["turbovnc",{"_index":210,"t":{"379":{"position":[[2,8]]},"393":{"position":[[2,8]]},"404":{"position":[[2,8]]},"429":{"position":[[2,8]]},"447":{"position":[[2,8]]}}}],["turbovncpath",{"_index":474,"t":{"1693":{"position":[[0,12]]},"1695":{"position":[[0,12]]},"1697":{"position":[[0,12]]},"1890":{"position":[[0,12]]},"1892":{"position":[[0,12]]}}}],["type",{"_index":117,"t":{"166":{"position":[[22,4]]},"168":{"position":[[18,4]]},"948":{"position":[[5,4]]},"951":{"position":[[29,4]]},"957":{"position":[[5,4]]},"961":{"position":[[6,4]]},"963":{"position":[[0,4]]},"965":{"position":[[0,4],[5,4]]},"969":{"position":[[4,4]]},"973":{"position":[[4,4]]},"976":{"position":[[6,4]]},"1008":{"position":[[0,4],[5,4]]},"1011":{"position":[[2,4]]},"1016":{"position":[[2,4]]},"1021":{"position":[[6,4]]},"1024":{"position":[[9,4]]},"1027":{"position":[[4,4]]},"1033":{"position":[[9,4]]},"1036":{"position":[[4,4]]},"1042":{"position":[[13,4]]},"1046":{"position":[[7,4]]},"1050":{"position":[[8,4]]},"1053":{"position":[[13,4]]},"1056":{"position":[[8,4]]},"1062":{"position":[[7,4]]},"1066":{"position":[[5,4]]},"1070":{"position":[[6,4]]},"1074":{"position":[[9,4]]},"1077":{"position":[[9,4]]},"1083":{"position":[[5,4]]},"1086":{"position":[[18,4]]},"1089":{"position":[[5,4]]},"1092":{"position":[[7,4]]},"1095":{"position":[[5,4]]},"1098":{"position":[[2,4]]},"1103":{"position":[[2,4]]},"1108":{"position":[[18,4]]},"1111":{"position":[[5,4]]},"1122":{"position":[[6,4]]},"1128":{"position":[[5,4]]},"1131":{"position":[[7,4]]},"1134":{"position":[[29,4]]},"1140":{"position":[[12,4]]},"1144":{"position":[[10,4]]},"1150":{"position":[[6,4]]},"1154":{"position":[[10,4]]},"1157":{"position":[[12,4]]},"1160":{"position":[[10,4]]},"1165":{"position":[[2,4]]},"1170":{"position":[[6,4]]},"1176":{"position":[[11,4]]},"1182":{"position":[[13,4]]},"1188":{"position":[[11,4]]},"1192":{"position":[[4,4]]},"1195":{"position":[[10,4]]},"1198":{"position":[[6,4]]},"1201":{"position":[[6,4]]},"1204":{"position":[[13,4]]},"1209":{"position":[[21,4]]},"1212":{"position":[[4,4]]},"1218":{"position":[[11,4]]},"1222":{"position":[[11,4]]},"1226":{"position":[[21,4]]},"1230":{"position":[[11,4]]},"1233":{"position":[[11,4]]},"1236":{"position":[[11,4]]},"1241":{"position":[[11,4]]},"1244":{"position":[[11,4]]},"1247":{"position":[[11,4]]},"1253":{"position":[[5,4]]},"1256":{"position":[[6,4]]},"1259":{"position":[[18,4]]},"1262":{"position":[[8,4]]},"1265":{"position":[[5,4]]},"1268":{"position":[[4,4]]},"1271":{"position":[[5,4]]},"1277":{"position":[[4,4]]},"1281":{"position":[[6,4]]},"1285":{"position":[[5,4]]},"1289":{"position":[[6,4]]},"1293":{"position":[[4,4]]},"1297":{"position":[[8,4]]},"1300":{"position":[[6,4]]},"1303":{"position":[[6,4]]},"1314":{"position":[[18,4]]},"1317":{"position":[[29,4]]},"1323":{"position":[[5,4]]},"1326":{"position":[[5,4]]},"1332":{"position":[[15,4]]},"1336":{"position":[[7,4]]},"1339":{"position":[[4,4]]},"1342":{"position":[[15,4]]},"1345":{"position":[[6,4]]},"1351":{"position":[[6,4]]},"1355":{"position":[[8,4]]},"1358":{"position":[[7,4]]},"1361":{"position":[[6,4]]},"1372":{"position":[[29,4]]},"1378":{"position":[[3,4]]},"1382":{"position":[[8,4]]},"1388":{"position":[[10,4]]},"1392":{"position":[[24,4]]},"1398":{"position":[[19,4]]},"1402":{"position":[[10,4]]},"1406":{"position":[[14,4]]},"1412":{"position":[[19,4]]},"1418":{"position":[[17,4]]},"1423":{"position":[[19,4]]},"1429":{"position":[[6,4]]},"1433":{"position":[[13,4]]},"1436":{"position":[[8,4]]},"1439":{"position":[[13,4]]},"1442":{"position":[[6,4]]},"1445":{"position":[[19,4]]},"1450":{"position":[[3,4]]},"1456":{"position":[[5,4]]},"1460":{"position":[[5,4]]},"1464":{"position":[[5,4]]},"1468":{"position":[[9,4]]},"1472":{"position":[[7,4]]},"1476":{"position":[[6,4]]},"1479":{"position":[[8,4]]},"1484":{"position":[[7,4]]},"1487":{"position":[[6,4]]},"1490":{"position":[[5,4]]},"1493":{"position":[[9,4]]},"1496":{"position":[[5,4]]},"1499":{"position":[[10,4]]},"1505":{"position":[[3,4]]},"1509":{"position":[[11,4]]},"1513":{"position":[[10,4]]},"1519":{"position":[[14,4]]},"1524":{"position":[[10,4]]},"1529":{"position":[[5,4]]},"1532":{"position":[[7,4]]},"1535":{"position":[[3,4]]},"1541":{"position":[[5,4]]},"1545":{"position":[[5,4]]},"1549":{"position":[[5,4]]},"1553":{"position":[[9,4]]},"1557":{"position":[[7,4]]},"1561":{"position":[[10,4]]},"1564":{"position":[[9,4]]},"1567":{"position":[[5,4]]},"1570":{"position":[[10,4]]},"1573":{"position":[[5,4]]},"1576":{"position":[[5,4]]},"1579":{"position":[[14,4]]},"1587":{"position":[[8,4]]},"1593":{"position":[[5,4]]},"1598":{"position":[[8,4]]},"1601":{"position":[[8,4]]},"1606":{"position":[[11,4]]},"1609":{"position":[[17,4]]},"1614":{"position":[[5,4]]},"1619":{"position":[[14,4]]},"1624":{"position":[[24,4]]},"1637":{"position":[[29,4]]},"1643":{"position":[[14,4]]},"1649":{"position":[[13,4]]},"1653":{"position":[[5,4]]},"1659":{"position":[[9,4]]},"1663":{"position":[[10,4]]},"1667":{"position":[[7,4]]},"1671":{"position":[[6,4]]},"1677":{"position":[[20,4]]},"1683":{"position":[[13,4]]},"1689":{"position":[[11,4]]},"1695":{"position":[[13,4]]},"1700":{"position":[[10,4]]},"1703":{"position":[[5,4]]},"1708":{"position":[[6,4]]},"1711":{"position":[[11,4]]},"1716":{"position":[[9,4]]},"1722":{"position":[[12,4]]},"1728":{"position":[[12,4]]},"1733":{"position":[[12,4]]},"1741":{"position":[[5,4]]},"1744":{"position":[[18,4]]},"1747":{"position":[[8,4]]},"1750":{"position":[[12,4]]},"1755":{"position":[[5,4]]},"1758":{"position":[[12,4]]},"1763":{"position":[[10,4]]},"1769":{"position":[[12,4]]},"1775":{"position":[[12,4]]},"1780":{"position":[[8,4]]},"1783":{"position":[[18,4]]},"1786":{"position":[[5,4]]},"1789":{"position":[[13,4]]},"1795":{"position":[[8,4]]},"1801":{"position":[[4,4]]},"1807":{"position":[[12,4]]},"1812":{"position":[[12,4]]},"1820":{"position":[[5,4]]},"1823":{"position":[[8,4]]},"1828":{"position":[[14,4]]},"1833":{"position":[[4,4]]},"1838":{"position":[[6,4]]},"1844":{"position":[[5,4]]},"1848":{"position":[[3,4]]},"1851":{"position":[[2,4]]},"1854":{"position":[[5,4]]},"1857":{"position":[[12,4]]},"1862":{"position":[[3,4]]},"1865":{"position":[[7,4]]},"1868":{"position":[[20,4]]},"1873":{"position":[[6,4]]},"1885":{"position":[[13,4]]},"1890":{"position":[[13,4]]},"1895":{"position":[[29,4]]},"1901":{"position":[[7,4]]},"1905":{"position":[[13,4]]},"1908":{"position":[[12,4]]},"1911":{"position":[[7,4]]},"1917":{"position":[[12,4]]},"1921":{"position":[[12,4]]},"1924":{"position":[[12,4]]},"1930":{"position":[[5,4]]},"1933":{"position":[[18,4]]},"1936":{"position":[[13,4]]},"1942":{"position":[[13,4]]},"1948":{"position":[[12,4]]},"1951":{"position":[[12,4]]},"1957":{"position":[[5,4]]},"1960":{"position":[[5,4]]},"1963":{"position":[[18,4]]},"1966":{"position":[[13,4]]},"1971":{"position":[[5,4]]}}}],["ui",{"_index":104,"t":{"156":{"position":[[0,2]]},"909":{"position":[[2,2]]},"911":{"position":[[8,2]]}}}],["undefin",{"_index":402,"t":{"951":{"position":[[19,9]]},"953":{"position":[[19,9]]},"1134":{"position":[[19,9]]},"1136":{"position":[[19,9]]},"1317":{"position":[[19,9]]},"1319":{"position":[[19,9]]},"1372":{"position":[[19,9]]},"1374":{"position":[[19,9]]},"1637":{"position":[[19,9]]},"1639":{"position":[[19,9]]},"1895":{"position":[[19,9]]},"1897":{"position":[[19,9]]}}}],["untitl",{"_index":401,"t":{"951":{"position":[[0,8]]},"953":{"position":[[0,8]]},"1134":{"position":[[0,8]]},"1136":{"position":[[0,8]]},"1317":{"position":[[0,8]]},"1319":{"position":[[0,8]]},"1372":{"position":[[0,8]]},"1374":{"position":[[0,8]]},"1637":{"position":[[0,8]]},"1639":{"position":[[0,8]]},"1895":{"position":[[0,8]]},"1897":{"position":[[0,8]]}}}],["user",{"_index":358,"t":{"845":{"position":[[6,4]]},"848":{"position":[[5,4]]},"852":{"position":[[7,4]]},"865":{"position":[[29,4]]},"867":{"position":[[31,4]]},"1462":{"position":[[0,4]]},"1464":{"position":[[0,4]]},"1496":{"position":[[0,4]]},"1547":{"position":[[0,4]]},"1549":{"position":[[0,4]]},"1573":{"position":[[0,4]]}}}],["userid",{"_index":369,"t":{"867":{"position":[[38,6]]}}}],["utc",{"_index":374,"t":{"879":{"position":[[7,3]]}}}],["vagrant",{"_index":305,"t":{"680":{"position":[[5,7]]},"682":{"position":[[3,7]]}}}],["validatetoken",{"_index":352,"t":{"837":{"position":[[12,13]]}}}],["valu",{"_index":285,"t":{"619":{"position":[[12,5]]},"1146":{"position":[[18,5]]},"1162":{"position":[[18,5]]},"1178":{"position":[[19,5]]},"1184":{"position":[[21,5]]},"1206":{"position":[[21,5]]},"1238":{"position":[[19,5]]},"1384":{"position":[[16,5]]},"1394":{"position":[[32,5]]},"1408":{"position":[[22,5]]},"1414":{"position":[[27,5]]},"1420":{"position":[[25,5]]},"1447":{"position":[[27,5]]},"1481":{"position":[[16,5]]},"1515":{"position":[[18,5]]},"1521":{"position":[[22,5]]},"1526":{"position":[[18,5]]},"1581":{"position":[[22,5]]},"1589":{"position":[[16,5]]},"1595":{"position":[[13,5]]},"1603":{"position":[[16,5]]},"1611":{"position":[[25,5]]},"1616":{"position":[[13,5]]},"1621":{"position":[[22,5]]},"1626":{"position":[[32,5]]},"1645":{"position":[[22,5]]},"1655":{"position":[[13,5]]},"1673":{"position":[[14,5]]},"1679":{"position":[[28,5]]},"1685":{"position":[[21,5]]},"1691":{"position":[[19,5]]},"1697":{"position":[[21,5]]},"1705":{"position":[[13,5]]},"1713":{"position":[[19,5]]},"1724":{"position":[[20,5]]},"1730":{"position":[[20,5]]},"1735":{"position":[[20,5]]},"1752":{"position":[[20,5]]},"1760":{"position":[[20,5]]},"1771":{"position":[[20,5]]},"1777":{"position":[[20,5]]},"1797":{"position":[[16,5]]},"1803":{"position":[[12,5]]},"1809":{"position":[[20,5]]},"1814":{"position":[[20,5]]},"1825":{"position":[[16,5]]},"1830":{"position":[[22,5]]},"1835":{"position":[[12,5]]},"1859":{"position":[[20,5]]},"1870":{"position":[[28,5]]},"1875":{"position":[[14,5]]},"1887":{"position":[[21,5]]},"1892":{"position":[[21,5]]},"1944":{"position":[[21,5]]},"1968":{"position":[[21,5]]}}}],["virtualbox",{"_index":304,"t":{"678":{"position":[[5,10]]}}}],["vnc",{"_index":246,"t":{"522":{"position":[[0,3]]},"971":{"position":[[0,3]]},"973":{"position":[[0,3]]},"1027":{"position":[[0,3]]},"1029":{"position":[[0,3]]}}}],["vscode",{"_index":236,"t":{"472":{"position":[[0,6]]}}}],["web",{"_index":242,"t":{"520":{"position":[[0,3]]},"967":{"position":[[0,3]]},"969":{"position":[[0,3]]},"1036":{"position":[[0,3]]},"1038":{"position":[[0,3]]}}}],["wm",{"_index":477,"t":{"1799":{"position":[[0,3]]},"1801":{"position":[[0,3]]},"1803":{"position":[[0,3]]},"1833":{"position":[[0,3]]},"1835":{"position":[[0,3]]},"1846":{"position":[[0,2]]},"1848":{"position":[[0,2]]},"1862":{"position":[[0,2]]}}}],["xfce",{"_index":217,"t":{"386":{"position":[[10,4],[20,4]]}}}],["xstartup",{"_index":84,"t":{"114":{"position":[[0,8]]},"549":{"position":[[0,8]]},"1024":{"position":[[0,8]]},"1031":{"position":[[0,8]]},"1033":{"position":[[0,8]]}}}],["yaml",{"_index":27,"t":{"26":{"position":[[9,4]]},"276":{"position":[[4,4]]}}}],["yml",{"_index":139,"t":{"209":{"position":[[17,3]]}}}],["一键",{"_index":273,"t":{"595":{"position":[[5,2]]},"601":{"position":[[5,2]]}}}],["三",{"_index":409,"t":{"990":{"position":[[0,1]]}}}],["上下文",{"_index":389,"t":{"929":{"position":[[0,3]]}}}],["下载",{"_index":300,"t":{"662":{"position":[[0,2]]}}}],["不再",{"_index":16,"t":{"16":{"position":[[3,2]]}}}],["业务",{"_index":336,"t":{"784":{"position":[[0,2]]}}}],["中",{"_index":116,"t":{"166":{"position":[[15,1]]},"305":{"position":[[4,1]]},"307":{"position":[[4,1]]},"338":{"position":[[6,1]]},"734":{"position":[[9,1]]},"800":{"position":[[5,1]]},"802":{"position":[[7,1]]},"804":{"position":[[7,1]]},"806":{"position":[[7,1]]}}}],["为什么",{"_index":66,"t":{"74":{"position":[[0,3]]}}}],["主机",{"_index":53,"t":{"58":{"position":[[2,2]]}}}],["主机名",{"_index":107,"t":{"158":{"position":[[4,3]]}}}],["主题",{"_index":172,"t":{"288":{"position":[[3,2]]}}}],["之前",{"_index":293,"t":{"633":{"position":[[25,2]]},"641":{"position":[[25,2]]}}}],["之后",{"_index":295,"t":{"635":{"position":[[26,2]]},"643":{"position":[[26,2]]},"645":{"position":[[26,2]]}}}],["二",{"_index":118,"t":{"168":{"position":[[0,1]]},"982":{"position":[[0,1]]}}}],["五",{"_index":416,"t":{"1005":{"position":[[0,1]]}}}],["交互式",{"_index":32,"t":{"32":{"position":[[3,3]]},"724":{"position":[[6,3]]},"727":{"position":[[4,3]]},"810":{"position":[[0,3]]}}}],["什么",{"_index":0,"t":{"6":{"position":[[0,2]]},"234":{"position":[[0,2]]}}}],["介绍",{"_index":76,"t":{"89":{"position":[[4,2]]},"138":{"position":[[2,2]]},"479":{"position":[[4,2]]}}}],["代理",{"_index":181,"t":{"297":{"position":[[3,2]]},"696":{"position":[[0,2]]}}}],["代码",{"_index":63,"t":{"72":{"position":[[0,2]]},"885":{"position":[[17,2]]},"917":{"position":[[13,2]]}}}],["仪表盘",{"_index":255,"t":{"539":{"position":[[3,3]]}}}],["价格表",{"_index":195,"t":{"328":{"position":[[4,3]]},"824":{"position":[[7,3]]}}}],["会",{"_index":220,"t":{"386":{"position":[[18,1]]}}}],["传输",{"_index":264,"t":{"576":{"position":[[10,2]]},"581":{"position":[[14,2]]},"583":{"position":[[6,2],[22,2]]}}}],["体验",{"_index":335,"t":{"780":{"position":[[0,2]]}}}],["作业",{"_index":19,"t":{"16":{"position":[[8,2]]},"328":{"position":[[2,2]]},"349":{"position":[[6,2]]},"724":{"position":[[3,2]]},"725":{"position":[[4,2]]},"818":{"position":[[2,2]]},"824":{"position":[[5,2]]}}}],["使用",{"_index":17,"t":{"16":{"position":[[5,2]]},"217":{"position":[[0,2]]},"278":{"position":[[7,2]]},"688":{"position":[[0,2]]},"768":{"position":[[3,2]]},"871":{"position":[[0,2]]},"885":{"position":[[0,2]]},"887":{"position":[[0,2]]},"911":{"position":[[6,2]]},"917":{"position":[[3,2]]}}}],["依赖",{"_index":485,"t":{"2003":{"position":[[11,2]]}}}],["保存",{"_index":114,"t":{"166":{"position":[[8,2]]}}}],["信息",{"_index":20,"t":{"16":{"position":[[10,2]]},"322":{"position":[[6,2]]},"349":{"position":[[8,2]]},"370":{"position":[[6,2]]},"372":{"position":[[12,2]]}}}],["修改",{"_index":12,"t":{"14":{"position":[[3,2]]},"26":{"position":[[3,2]]},"30":{"position":[[3,2]]},"149":{"position":[[0,2]]},"194":{"position":[[0,2]]},"351":{"position":[[0,2]]},"368":{"position":[[0,2]]},"555":{"position":[[0,2]]},"606":{"position":[[5,2]]},"850":{"position":[[0,2]]},"857":{"position":[[0,2]]}}}],["偏移量",{"_index":375,"t":{"879":{"position":[[10,3]]}}}],["停止",{"_index":44,"t":{"40":{"position":[[3,2]]}}}],["允许",{"_index":105,"t":{"158":{"position":[[0,2]]}}}],["免",{"_index":269,"t":{"581":{"position":[[25,1]]}}}],["共享",{"_index":239,"t":{"491":{"position":[[4,2]]}}}],["关系",{"_index":209,"t":{"372":{"position":[[15,2]]},"861":{"position":[[4,2]]}}}],["关闭",{"_index":200,"t":{"338":{"position":[[0,2]]}}}],["其他",{"_index":68,"t":{"74":{"position":[[6,2]]},"532":{"position":[[2,2]]},"733":{"position":[[3,2]]}}}],["内置",{"_index":121,"t":{"172":{"position":[[0,2]]},"334":{"position":[[0,2]]}}}],["准备",{"_index":52,"t":{"58":{"position":[[0,2]]},"180":{"position":[[2,2]]},"658":{"position":[[0,2]]},"664":{"position":[[0,2]]},"883":{"position":[[0,2]]},"980":{"position":[[4,2]]}}}],["分区",{"_index":344,"t":{"816":{"position":[[0,2]]}}}],["分类",{"_index":343,"t":{"810":{"position":[[6,2]]}}}],["切换",{"_index":154,"t":{"244":{"position":[[7,2]]}}}],["创建",{"_index":144,"t":{"221":{"position":[[0,2]]},"278":{"position":[[0,2]]},"334":{"position":[[2,2]]},"336":{"position":[[2,2]]},"338":{"position":[[7,2]]},"826":{"position":[[2,2]]},"843":{"position":[[0,2]]},"982":{"position":[[2,2]]},"1990":{"position":[[4,2]]},"2001":{"position":[[4,2]]}}}],["初始",{"_index":192,"t":{"324":{"position":[[13,2]]},"326":{"position":[[2,2]]}}}],["初始化",{"_index":197,"t":{"330":{"position":[[2,3]]},"361":{"position":[[2,3]]},"597":{"position":[[5,3]]},"995":{"position":[[0,3]]},"2009":{"position":[[3,3]]}}}],["制作",{"_index":290,"t":{"622":{"position":[[20,2]]},"624":{"position":[[12,2]]},"626":{"position":[[11,2]]},"2005":{"position":[[4,2]]}}}],["前提条件",{"_index":75,"t":{"87":{"position":[[0,4]]},"96":{"position":[[0,4]]},"103":{"position":[[0,4]]},"117":{"position":[[0,4]]},"377":{"position":[[0,4]]},"391":{"position":[[0,4]]},"402":{"position":[[0,4]]},"415":{"position":[[0,4]]},"427":{"position":[[0,4]]},"438":{"position":[[0,4]]},"445":{"position":[[0,4]]},"456":{"position":[[0,4]]},"463":{"position":[[0,4]]},"477":{"position":[[0,4]]},"504":{"position":[[0,4]]},"542":{"position":[[0,4]]},"589":{"position":[[0,4]]},"631":{"position":[[0,4]]}}}],["前期",{"_index":127,"t":{"180":{"position":[[0,2]]}}}],["功能",{"_index":25,"t":{"24":{"position":[[9,2]]},"138":{"position":[[0,2]]},"160":{"position":[[3,2]]},"164":{"position":[[3,2]]},"208":{"position":[[2,2]]},"338":{"position":[[11,2]]},"774":{"position":[[0,2]]},"778":{"position":[[0,2]]},"788":{"position":[[3,2]]},"843":{"position":[[4,2]]},"847":{"position":[[4,2]]},"1005":{"position":[[15,2]]}}}],["包",{"_index":487,"t":{"2005":{"position":[[9,1]]}}}],["区",{"_index":372,"t":{"879":{"position":[[3,1]]}}}],["区分",{"_index":266,"t":{"577":{"position":[[2,2]]}}}],["升级",{"_index":8,"t":{"10":{"position":[[4,2]]},"44":{"position":[[4,2]]}}}],["协议",{"_index":204,"t":{"345":{"position":[[7,2]]}}}],["原理",{"_index":254,"t":{"536":{"position":[[2,2]]}}}],["参数",{"_index":253,"t":{"532":{"position":[[10,2]]},"877":{"position":[[0,2]]},"929":{"position":[[3,2]]}}}],["参考",{"_index":183,"t":{"301":{"position":[[0,2]]}}}],["可用",{"_index":371,"t":{"879":{"position":[[0,2]]}}}],["各个",{"_index":238,"t":{"491":{"position":[[0,2]]}}}],["同步",{"_index":205,"t":{"349":{"position":[[4,2]]}}}],["名称",{"_index":373,"t":{"879":{"position":[[4,2]]}}}],["启动",{"_index":103,"t":{"153":{"position":[[0,2]]},"198":{"position":[[0,2]]},"359":{"position":[[0,2]]},"561":{"position":[[0,2]]},"990":{"position":[[2,2]]},"993":{"position":[[0,2]]},"999":{"position":[[2,2]]}}}],["告警",{"_index":182,"t":{"299":{"position":[[0,2]]}}}],["命令",{"_index":259,"t":{"565":{"position":[[5,2]]},"567":{"position":[[3,2]]},"569":{"position":[[5,2]]},"571":{"position":[[5,2]]},"601":{"position":[[9,2]]},"692":{"position":[[2,2]]},"715":{"position":[[3,2]]}}}],["器",{"_index":2,"t":{"6":{"position":[[5,1]]},"8":{"position":[[6,1]]},"12":{"position":[[7,1]]},"353":{"position":[[4,1]]},"660":{"position":[[8,1]]}}}],["四",{"_index":413,"t":{"999":{"position":[[0,1]]}}}],["回调",{"_index":106,"t":{"158":{"position":[[2,2]]}}}],["国际化",{"_index":152,"t":{"244":{"position":[[2,3]]}}}],["图标",{"_index":35,"t":{"32":{"position":[[10,2]]},"316":{"position":[[3,2]]}}}],["域名",{"_index":176,"t":{"290":{"position":[[3,2]]},"343":{"position":[[0,2]]}}}],["基本操作",{"_index":306,"t":{"682":{"position":[[10,4]]}}}],["基本概念",{"_index":348,"t":{"832":{"position":[[0,4]]}}}],["增加",{"_index":34,"t":{"32":{"position":[[8,2]]},"274":{"position":[[0,2]]},"276":{"position":[[8,2]]}}}],["处于",{"_index":338,"t":{"794":{"position":[[4,2]]},"796":{"position":[[4,2]]},"798":{"position":[[4,2]]},"802":{"position":[[8,2]]},"804":{"position":[[8,2]]},"806":{"position":[[8,2]]}}}],["备份",{"_index":45,"t":{"42":{"position":[[3,2]]}}}],["外置",{"_index":198,"t":{"336":{"position":[[0,2]]}}}],["多",{"_index":257,"t":{"559":{"position":[[1,1]]},"603":{"position":[[4,1]]},"674":{"position":[[4,1]]}}}],["失败",{"_index":319,"t":{"724":{"position":[[13,2]]},"725":{"position":[[8,2]]},"727":{"position":[[11,2]]},"734":{"position":[[12,2]]},"736":{"position":[[14,2]]}}}],["如何",{"_index":6,"t":{"10":{"position":[[0,2]]},"140":{"position":[[0,2]]},"606":{"position":[[3,2]]},"608":{"position":[[3,2]]}}}],["存储",{"_index":132,"t":{"187":{"position":[[4,2]]}}}],["安装",{"_index":100,"t":{"149":{"position":[[2,2]]},"194":{"position":[[2,2]]},"351":{"position":[[2,2]]},"379":{"position":[[10,2]]},"381":{"position":[[6,2]]},"393":{"position":[[10,2]]},"404":{"position":[[10,2]]},"406":{"position":[[6,2]]},"420":{"position":[[10,2]]},"429":{"position":[[10,2]]},"431":{"position":[[7,2]]},"447":{"position":[[10,2]]},"449":{"position":[[8,2]]},"465":{"position":[[13,2]]},"472":{"position":[[8,2]]},"555":{"position":[[2,2]]},"583":{"position":[[11,2]]},"633":{"position":[[30,2]]},"635":{"position":[[31,2]]},"643":{"position":[[33,2]]},"645":{"position":[[38,2]]},"648":{"position":[[13,2]]},"650":{"position":[[3,2]]},"678":{"position":[[3,2]]},"680":{"position":[[3,2]]},"744":{"position":[[3,2]]},"752":{"position":[[6,2]]},"754":{"position":[[9,2]]},"764":{"position":[[3,2]]},"1001":{"position":[[0,2]]},"1003":{"position":[[2,2]]},"1989":{"position":[[3,2]]},"1998":{"position":[[3,2]]},"1999":{"position":[[4,2]]},"2003":{"position":[[4,2]]},"2007":{"position":[[4,2]]}}}],["安装包",{"_index":325,"t":{"742":{"position":[[5,3]]}}}],["完成",{"_index":196,"t":{"330":{"position":[[0,2]]}}}],["实现",{"_index":5,"t":{"8":{"position":[[2,2]]},"536":{"position":[[0,2]]},"834":{"position":[[2,2]]},"889":{"position":[[0,2]]}}}],["实际",{"_index":384,"t":{"899":{"position":[[0,2]]},"905":{"position":[[0,2]]}}}],["审计",{"_index":23,"t":{"24":{"position":[[5,2]]},"729":{"position":[[7,2]]}}}],["客户端",{"_index":332,"t":{"766":{"position":[[3,3]]}}}],["容器",{"_index":60,"t":{"70":{"position":[[0,2]]},"993":{"position":[[10,2]]}}}],["密",{"_index":270,"t":{"581":{"position":[[26,1]]}}}],["密码",{"_index":364,"t":{"854":{"position":[[2,2]]},"857":{"position":[[2,2]]}}}],["密钥",{"_index":113,"t":{"166":{"position":[[6,2]]},"168":{"position":[[11,2]]}}}],["对照",{"_index":310,"t":{"692":{"position":[[5,2]]}}}],["导入",{"_index":188,"t":{"322":{"position":[[0,2]]},"370":{"position":[[0,2]]}}}],["导航",{"_index":169,"t":{"286":{"position":[[3,2]]},"310":{"position":[[7,2]]},"312":{"position":[[7,2]]},"935":{"position":[[7,2]]}}}],["封锁",{"_index":340,"t":{"796":{"position":[[6,2]]},"804":{"position":[[10,2]]}}}],["将",{"_index":112,"t":{"166":{"position":[[2,1]]},"736":{"position":[[4,1]]}}}],["展示",{"_index":157,"t":{"252":{"position":[[4,2]]}}}],["嵌入",{"_index":180,"t":{"295":{"position":[[5,2]]}}}],["已有",{"_index":189,"t":{"322":{"position":[[2,2]]},"370":{"position":[[2,2]]}}}],["常见",{"_index":309,"t":{"692":{"position":[[0,2]]}}}],["平滑",{"_index":7,"t":{"10":{"position":[[2,2]]}}}],["并行",{"_index":130,"t":{"187":{"position":[[0,2]]}}}],["应用",{"_index":33,"t":{"32":{"position":[[6,2]]},"491":{"position":[[6,2]]},"493":{"position":[[4,2]]},"520":{"position":[[4,2]]},"522":{"position":[[4,2]]},"724":{"position":[[9,2]]},"727":{"position":[[7,2]]},"810":{"position":[[3,2]]}}}],["建立",{"_index":267,"t":{"581":{"position":[[3,2]]}}}],["开发",{"_index":51,"t":{"57":{"position":[[2,2]]},"62":{"position":[[2,2]]},"64":{"position":[[2,2]]},"68":{"position":[[2,2]]},"909":{"position":[[0,2]]}}}],["开启",{"_index":417,"t":{"1005":{"position":[[9,2]]}}}],["开始",{"_index":50,"t":{"57":{"position":[[0,2]]}}}],["弹窗",{"_index":224,"t":{"386":{"position":[[41,2]]}}}],["必须",{"_index":349,"t":{"834":{"position":[[0,2]]}}}],["快速",{"_index":145,"t":{"225":{"position":[[4,2]]},"826":{"position":[[0,2]]}}}],["怎样",{"_index":4,"t":{"8":{"position":[[0,2]]}}}],["所有",{"_index":46,"t":{"47":{"position":[[3,2]]}}}],["手动",{"_index":282,"t":{"612":{"position":[[0,2]]}}}],["打印",{"_index":311,"t":{"698":{"position":[[0,2]]}}}],["打开",{"_index":381,"t":{"893":{"position":[[0,2]]}}}],["执行",{"_index":318,"t":{"724":{"position":[[11,2]]},"725":{"position":[[6,2]]},"727":{"position":[[9,2]]}}}],["扩展",{"_index":237,"t":{"472":{"position":[[6,2]]},"909":{"position":[[4,2]]},"911":{"position":[[10,2]]},"931":{"position":[[0,2]]}}}],["报",{"_index":221,"t":{"386":{"position":[[19,1]]}}}],["报错",{"_index":315,"t":{"718":{"position":[[5,2]]}}}],["拉",{"_index":250,"t":{"530":{"position":[[6,1]]}}}],["拓展",{"_index":140,"t":{"211":{"position":[[0,2]]}}}],["接口",{"_index":391,"t":{"933":{"position":[[2,2]]}}}],["推荐",{"_index":55,"t":{"60":{"position":[[0,2]]},"917":{"position":[[16,2]]}}}],["提交",{"_index":346,"t":{"818":{"position":[[0,2]]}}}],["插件",{"_index":135,"t":{"208":{"position":[[0,2]]}}}],["搜索",{"_index":98,"t":{"143":{"position":[[15,2]]}}}],["搭建",{"_index":333,"t":{"766":{"position":[[6,2]]}}}],["操作",{"_index":92,"t":{"140":{"position":[[7,2]]},"143":{"position":[[6,2]]},"599":{"position":[[9,2]]},"729":{"position":[[5,2],[12,2]]}}}],["支持",{"_index":151,"t":{"244":{"position":[[0,2]]},"591":{"position":[[0,2]]},"674":{"position":[[2,2]]},"788":{"position":[[0,2]]}}}],["效果",{"_index":156,"t":{"252":{"position":[[2,2]]}}}],["数字",{"_index":249,"t":{"528":{"position":[[7,2]]}}}],["数据库",{"_index":21,"t":{"16":{"position":[[12,3]]}}}],["文件",{"_index":131,"t":{"187":{"position":[[2,2]]},"274":{"position":[[14,2]]},"408":{"position":[[14,2]]},"422":{"position":[[14,2]]},"467":{"position":[[14,2]]},"885":{"position":[[12,2]]},"915":{"position":[[7,2]]},"919":{"position":[[15,2]]}}}],["文本",{"_index":153,"t":{"244":{"position":[[5,2]]},"288":{"position":[[13,2]]},"526":{"position":[[7,2]]}}}],["文档",{"_index":277,"t":{"603":{"position":[[5,2]]},"724":{"position":[[20,2]]}}}],["新",{"_index":164,"t":{"278":{"position":[[2,1],[11,1]]}}}],["新增",{"_index":90,"t":{"140":{"position":[[2,2]]},"608":{"position":[[5,2]]}}}],["方式",{"_index":124,"t":{"174":{"position":[[5,2]]},"278":{"position":[[15,2]]}}}],["方案",{"_index":71,"t":{"74":{"position":[[18,2]]}}}],["日志",{"_index":24,"t":{"24":{"position":[[7,2]]},"143":{"position":[[10,2]]},"299":{"position":[[2,2]]},"585":{"position":[[19,2]]},"698":{"position":[[4,2]]},"706":{"position":[[0,2]]},"707":{"position":[[2,2]]},"709":{"position":[[2,2]]},"720":{"position":[[6,2]]},"722":{"position":[[6,2]]},"729":{"position":[[14,2]]}}}],["时",{"_index":219,"t":{"386":{"position":[[16,1]]},"794":{"position":[[10,1]]},"796":{"position":[[10,1]]},"798":{"position":[[10,1]]},"802":{"position":[[14,1]]},"804":{"position":[[14,1]]},"806":{"position":[[14,1]]},"879":{"position":[[2,1]]}}}],["更",{"_index":256,"t":{"559":{"position":[[0,1]]},"603":{"position":[[3,1]]}}}],["更新",{"_index":206,"t":{"355":{"position":[[0,2]]},"694":{"position":[[0,2]]},"704":{"position":[[0,2]]}}}],["服务",{"_index":43,"t":{"36":{"position":[[5,2]]},"40":{"position":[[9,2]]},"49":{"position":[[3,2]]},"151":{"position":[[4,2]]},"153":{"position":[[2,2]]},"183":{"position":[[6,2]]},"187":{"position":[[6,2]]},"196":{"position":[[6,2]]},"198":{"position":[[2,2]]},"202":{"position":[[7,2]]},"223":{"position":[[8,2]]},"357":{"position":[[4,2]]},"359":{"position":[[2,2]]},"557":{"position":[[4,2]]},"561":{"position":[[2,2]]},"871":{"position":[[7,2]]},"893":{"position":[[4,2]]},"903":{"position":[[4,2],[13,2]]},"990":{"position":[[4,2]]},"993":{"position":[[6,2]]},"997":{"position":[[6,2]]},"999":{"position":[[14,2]]},"1996":{"position":[[11,2]]}}}],["服务端",{"_index":331,"t":{"764":{"position":[[8,3]]}}}],["期间",{"_index":126,"t":{"178":{"position":[[4,2]]}}}],["本地",{"_index":58,"t":{"62":{"position":[[0,2]]},"68":{"position":[[0,2]]}}}],["来访",{"_index":175,"t":{"290":{"position":[[0,2]]}}}],["构建",{"_index":61,"t":{"70":{"position":[[2,2]]},"395":{"position":[[2,2]]},"637":{"position":[[4,2]]},"652":{"position":[[2,2]]}}}],["架构",{"_index":303,"t":{"674":{"position":[[5,2]]}}}],["某个",{"_index":323,"t":{"736":{"position":[[10,2]]}}}],["查看",{"_index":97,"t":{"143":{"position":[[12,2]]},"324":{"position":[[0,2]]},"707":{"position":[[0,2]]},"718":{"position":[[8,2]]},"720":{"position":[[4,2]]},"724":{"position":[[16,2]]},"729":{"position":[[10,2]]}}}],["查询",{"_index":359,"t":{"847":{"position":[[0,2]]}}}],["栏",{"_index":170,"t":{"286":{"position":[[5,1]]}}}],["桌面",{"_index":218,"t":{"386":{"position":[[14,2]]},"591":{"position":[[3,2]]}}}],["桌面环境",{"_index":211,"t":{"381":{"position":[[2,4]]}}}],["检查",{"_index":65,"t":{"72":{"position":[[4,2]]}}}],["模仿",{"_index":109,"t":{"162":{"position":[[0,2]]},"731":{"position":[[12,2]]}}}],["模型",{"_index":337,"t":{"784":{"position":[[2,2]]}}}],["欠费",{"_index":341,"t":{"798":{"position":[[6,2]]}}}],["正常",{"_index":339,"t":{"794":{"position":[[6,2]]},"802":{"position":[[10,2]]}}}],["每个",{"_index":263,"t":{"576":{"position":[[4,2]]},"581":{"position":[[12,2]]},"583":{"position":[[4,2]]}}}],["池",{"_index":483,"t":{"1992":{"position":[[7,1]]}}}],["注册",{"_index":379,"t":{"889":{"position":[[3,2]]}}}],["注意",{"_index":99,"t":{"145":{"position":[[0,2]]},"231":{"position":[[0,2]]},"573":{"position":[[0,2]]}}}],["注意事项",{"_index":77,"t":{"100":{"position":[[0,4]]},"471":{"position":[[0,4]]},"937":{"position":[[0,4]]}}}],["流程",{"_index":143,"t":{"215":{"position":[[9,2]]}}}],["测试",{"_index":59,"t":{"64":{"position":[[0,2]]},"748":{"position":[[11,2]]},"1996":{"position":[[4,2]]}}}],["添加",{"_index":22,"t":{"24":{"position":[[3,2]]},"34":{"position":[[7,2]]},"326":{"position":[[0,2]]},"408":{"position":[[2,2]]},"422":{"position":[[2,2]]},"467":{"position":[[2,2]]},"576":{"position":[[8,2]]},"713":{"position":[[5,2]]},"715":{"position":[[5,2]]},"736":{"position":[[7,2]]},"746":{"position":[[3,2]]}}}],["源",{"_index":18,"t":{"16":{"position":[[7,1]]}}}],["源码",{"_index":296,"t":{"643":{"position":[[31,2]]}}}],["熵",{"_index":482,"t":{"1992":{"position":[[6,1]]}}}],["版本",{"_index":294,"t":{"633":{"position":[[27,2]]},"635":{"position":[[28,2]]},"641":{"position":[[27,2]]},"643":{"position":[[28,2]]},"645":{"position":[[28,2]]}}}],["版本控制",{"_index":388,"t":{"921":{"position":[[3,4]]}}}],["特定",{"_index":240,"t":{"493":{"position":[[0,2]]},"731":{"position":[[5,2]]}}}],["特点",{"_index":334,"t":{"774":{"position":[[3,2]]},"778":{"position":[[3,2]]}}}],["状态",{"_index":178,"t":{"293":{"position":[[2,2]]},"792":{"position":[[2,2]]},"794":{"position":[[8,2]]},"796":{"position":[[8,2]]},"798":{"position":[[8,2]]},"800":{"position":[[7,2]]},"802":{"position":[[12,2]]},"804":{"position":[[12,2]]},"806":{"position":[[12,2]]}}}],["环境",{"_index":54,"t":{"58":{"position":[[4,2]]},"64":{"position":[[4,2]]},"66":{"position":[[13,2]]},"645":{"position":[[36,2]]},"658":{"position":[[2,2]]},"731":{"position":[[7,2]]},"780":{"position":[[2,2]]},"883":{"position":[[2,2]]},"980":{"position":[[2,2]]}}}],["环境变量",{"_index":326,"t":{"746":{"position":[[5,4]]},"1974":{"position":[[0,4]]},"1977":{"position":[[0,4]]},"1980":{"position":[[0,4]]},"1983":{"position":[[0,4]]},"1986":{"position":[[0,4]]}}}],["生成",{"_index":378,"t":{"885":{"position":[[15,2]]},"917":{"position":[[11,2]]},"1992":{"position":[[4,2]]}}}],["用户",{"_index":110,"t":{"162":{"position":[[2,2]]},"221":{"position":[[2,2]]},"322":{"position":[[4,2]]},"324":{"position":[[5,2],[18,2]]},"326":{"position":[[7,2]]},"334":{"position":[[4,2]]},"338":{"position":[[9,2]]},"370":{"position":[[4,2]]},"372":{"position":[[10,2]]},"581":{"position":[[23,2]]},"713":{"position":[[11,2]]},"715":{"position":[[11,2]]},"729":{"position":[[3,2]]},"731":{"position":[[14,2]]},"734":{"position":[[4,2]]},"736":{"position":[[5,2]]},"800":{"position":[[0,2]]},"802":{"position":[[2,2]]},"804":{"position":[[2,2]]},"806":{"position":[[2,2]]},"843":{"position":[[2,2]]},"847":{"position":[[2,2]]},"861":{"position":[[0,2]]},"1990":{"position":[[11,2]]},"2001":{"position":[[11,2]]},"2009":{"position":[[9,2]]}}}],["用户界面",{"_index":199,"t":{"336":{"position":[[4,4]]}}}],["界面",{"_index":314,"t":{"713":{"position":[[3,2]]}}}],["登录",{"_index":38,"t":{"34":{"position":[[3,2]]},"217":{"position":[[6,2]]},"219":{"position":[[0,2]]},"731":{"position":[[16,2]]}}}],["白名单",{"_index":202,"t":{"343":{"position":[[2,3]]}}}],["监控",{"_index":410,"t":{"991":{"position":[[4,2]]},"993":{"position":[[4,2]]},"997":{"position":[[4,2]]},"1005":{"position":[[13,2]]}}}],["目录",{"_index":161,"t":{"274":{"position":[[4,2]]}}}],["直接",{"_index":179,"t":{"295":{"position":[[3,2]]}}}],["相关",{"_index":356,"t":{"843":{"position":[[6,2]]},"847":{"position":[[6,2]]},"850":{"position":[[4,2]]},"854":{"position":[[4,2]]},"857":{"position":[[4,2]]},"861":{"position":[[6,2]]},"875":{"position":[[0,2]]},"993":{"position":[[8,2]]}}}],["相对路径",{"_index":148,"t":{"234":{"position":[[3,4]]}}}],["示例",{"_index":79,"t":{"105":{"position":[[2,2]]},"119":{"position":[[2,2]]},"242":{"position":[[2,2]]},"248":{"position":[[2,2]]},"258":{"position":[[2,2]]},"260":{"position":[[4,2]]},"266":{"position":[[2,2]]},"309":{"position":[[2,2]]},"310":{"position":[[13,2]]},"312":{"position":[[13,2]]},"485":{"position":[[2,2]]},"495":{"position":[[2,2]]},"499":{"position":[[2,2]]},"506":{"position":[[2,2]]},"519":{"position":[[2,2]]},"520":{"position":[[14,2]]},"522":{"position":[[14,2]]},"544":{"position":[[2,2]]},"899":{"position":[[4,2]]},"905":{"position":[[4,2]]}}}],["私",{"_index":278,"t":{"606":{"position":[[9,1]]}}}],["移除",{"_index":322,"t":{"734":{"position":[[10,2]]}}}],["章",{"_index":230,"t":{"419":{"position":[[1,1]]},"647":{"position":[[1,1]]}}}],["端",{"_index":102,"t":{"151":{"position":[[3,1]]},"357":{"position":[[3,1]]},"893":{"position":[[3,1]]}}}],["简介",{"_index":74,"t":{"85":{"position":[[2,2]]},"94":{"position":[[2,2]]},"375":{"position":[[2,2]]},"389":{"position":[[2,2]]},"400":{"position":[[2,2]]},"413":{"position":[[2,2]]},"425":{"position":[[2,2]]},"436":{"position":[[2,2]]},"443":{"position":[[2,2]]},"454":{"position":[[2,2]]},"461":{"position":[[2,2]]},"475":{"position":[[2,2]]},"629":{"position":[[2,2]]}}}],["管理",{"_index":70,"t":{"74":{"position":[[16,2]]},"168":{"position":[[6,2]]}}}],["管理员",{"_index":193,"t":{"324":{"position":[[15,3]]},"326":{"position":[[4,3]]}}}],["管理系统",{"_index":185,"t":{"307":{"position":[[0,4]]},"312":{"position":[[0,4]]},"349":{"position":[[0,4]]}}}],["类",{"_index":243,"t":{"520":{"position":[[3,1]]},"522":{"position":[[3,1]]}}}],["类型",{"_index":248,"t":{"526":{"position":[[4,2]]},"528":{"position":[[4,2]]}}}],["系统",{"_index":123,"t":{"172":{"position":[[4,2]]},"305":{"position":[[2,2]]},"310":{"position":[[2,2]]},"324":{"position":[[2,2]]},"361":{"position":[[0,2]]},"718":{"position":[[3,2]]},"935":{"position":[[4,2]]}}}],["级别",{"_index":317,"t":{"722":{"position":[[8,2]]}}}],["结构",{"_index":49,"t":{"55":{"position":[[4,2]]}}}],["结果",{"_index":160,"t":{"260":{"position":[[2,2]]}}}],["维",{"_index":275,"t":{"599":{"position":[[8,1]]}}}],["编写",{"_index":101,"t":{"151":{"position":[[0,2]]},"196":{"position":[[0,2]]},"206":{"position":[[0,2]]},"357":{"position":[[0,2]]},"557":{"position":[[0,2]]}}}],["编译",{"_index":302,"t":{"674":{"position":[[0,2]]},"1003":{"position":[[0,2]]}}}],["编辑",{"_index":194,"t":{"328":{"position":[[0,2]]},"824":{"position":[[3,2]]},"991":{"position":[[0,2]]}}}],["网",{"_index":279,"t":{"606":{"position":[[10,1]]}}}],["网络",{"_index":265,"t":{"577":{"position":[[0,2]]}}}],["网络接口",{"_index":382,"t":{"893":{"position":[[6,4]]}}}],["网页",{"_index":347,"t":{"824":{"position":[[1,2]]}}}],["脚本",{"_index":146,"t":{"225":{"position":[[8,2]]}}}],["自动",{"_index":283,"t":{"614":{"position":[[0,2]]}}}],["自定义",{"_index":91,"t":{"140":{"position":[[4,3]]},"143":{"position":[[3,3]]},"174":{"position":[[0,3]]},"274":{"position":[[7,3]]},"284":{"position":[[0,3]]},"286":{"position":[[0,3]]},"288":{"position":[[0,3]]},"310":{"position":[[4,3]]},"312":{"position":[[4,3]]},"316":{"position":[[0,3]]},"539":{"position":[[0,3]]},"585":{"position":[[6,3]]},"871":{"position":[[2,3]]}}}],["自己",{"_index":119,"t":{"168":{"position":[[4,2]]}}}],["色",{"_index":173,"t":{"288":{"position":[[5,1]]}}}],["节点",{"_index":47,"t":{"47":{"position":[[5,2]]},"49":{"position":[[5,2]]},"366":{"position":[[7,2]]},"576":{"position":[[12,2]]},"581":{"position":[[9,2],[16,2]]},"583":{"position":[[8,2]]},"606":{"position":[[7,2]]},"608":{"position":[[9,2]]},"622":{"position":[[16,2]]},"624":{"position":[[8,2]]},"626":{"position":[[7,2]]}}}],["获取",{"_index":324,"t":{"742":{"position":[[3,2]]},"885":{"position":[[5,2]]},"915":{"position":[[0,2]]},"917":{"position":[[8,2]]},"919":{"position":[[8,2]]}}}],["行为",{"_index":93,"t":{"140":{"position":[[9,2]]},"143":{"position":[[8,2]]}}}],["表单",{"_index":245,"t":{"520":{"position":[[12,2]]},"522":{"position":[[12,2]]},"526":{"position":[[14,2]]},"528":{"position":[[14,2]]},"530":{"position":[[15,2]]}}}],["要求",{"_index":142,"t":{"215":{"position":[[6,2]]},"616":{"position":[[2,2]]},"656":{"position":[[2,2]]}}}],["覆盖",{"_index":136,"t":{"209":{"position":[[0,2]]}}}],["规则",{"_index":162,"t":{"274":{"position":[[10,2]]},"822":{"position":[[2,2]]},"826":{"position":[[6,2]]}}}],["角色",{"_index":187,"t":{"318":{"position":[[0,2]]}}}],["解决",{"_index":320,"t":{"731":{"position":[[3,2]]}}}],["解释",{"_index":80,"t":{"107":{"position":[[2,2]]},"121":{"position":[[2,2]]},"268":{"position":[[2,2]]},"314":{"position":[[2,2]]},"487":{"position":[[2,2]]},"501":{"position":[[2,2]]},"508":{"position":[[2,2]]},"524":{"position":[[2,2]]},"546":{"position":[[2,2]]}}}],["计算",{"_index":281,"t":{"608":{"position":[[7,2]]}}}],["计费",{"_index":165,"t":{"278":{"position":[[4,2]]},"822":{"position":[[0,2]]},"826":{"position":[[4,2]]}}}],["计量",{"_index":167,"t":{"278":{"position":[[13,2]]}}}],["认证",{"_index":122,"t":{"172":{"position":[[2,2]]},"174":{"position":[[3,2]]},"202":{"position":[[5,2]]},"215":{"position":[[4,2]]},"223":{"position":[[6,2]]},"871":{"position":[[5,2]]},"895":{"position":[[3,2]]},"897":{"position":[[7,2]]}}}],["设置",{"_index":191,"t":{"324":{"position":[[11,2]]},"722":{"position":[[4,2]]}}}],["访问",{"_index":203,"t":{"345":{"position":[[5,2]]}}}],["说明",{"_index":62,"t":{"70":{"position":[[4,2]]},"250":{"position":[[2,2]]},"316":{"position":[[7,2]]},"318":{"position":[[4,2]]}}}],["调度",{"_index":1,"t":{"6":{"position":[[3,2]]},"8":{"position":[[4,2]]},"12":{"position":[[5,2]]},"183":{"position":[[4,2]]},"353":{"position":[[2,2]]},"660":{"position":[[6,2]]}}}],["调用",{"_index":94,"t":{"141":{"position":[[3,2]]}}}],["调试",{"_index":312,"t":{"698":{"position":[[2,2]]}}}],["账户",{"_index":190,"t":{"324":{"position":[[8,2]]},"734":{"position":[[7,2]]},"736":{"position":[[12,2]]},"792":{"position":[[0,2]]},"794":{"position":[[2,2]]},"796":{"position":[[2,2]]},"798":{"position":[[2,2]]},"800":{"position":[[3,2]]},"802":{"position":[[5,2]]},"804":{"position":[[5,2]]},"806":{"position":[[5,2]]},"861":{"position":[[2,2]]},"2009":{"position":[[6,2]]}}}],["资源",{"_index":177,"t":{"293":{"position":[[0,2]]}}}],["路径",{"_index":272,"t":{"585":{"position":[[21,2]]}}}],["软件",{"_index":73,"t":{"85":{"position":[[0,2]]},"89":{"position":[[2,2]]},"94":{"position":[[0,2]]},"375":{"position":[[0,2]]},"389":{"position":[[0,2]]},"400":{"position":[[0,2]]},"413":{"position":[[0,2]]},"425":{"position":[[0,2]]},"436":{"position":[[0,2]]},"443":{"position":[[0,2]]},"454":{"position":[[0,2]]},"461":{"position":[[0,2]]},"475":{"position":[[0,2]]},"479":{"position":[[2,2]]},"583":{"position":[[24,2]]},"629":{"position":[[0,2]]}}}],["输入",{"_index":247,"t":{"526":{"position":[[2,2]]},"528":{"position":[[2,2]]},"530":{"position":[[2,2]]}}}],["输出",{"_index":313,"t":{"709":{"position":[[4,2]]},"724":{"position":[[18,2]]}}}],["迁移",{"_index":308,"t":{"690":{"position":[[16,2]]}}}],["运",{"_index":274,"t":{"599":{"position":[[7,1]]}}}],["运行日志",{"_index":316,"t":{"718":{"position":[[10,4]]}}}],["这个",{"_index":166,"t":{"278":{"position":[[9,2]]}}}],["进入",{"_index":216,"t":{"386":{"position":[[7,2]]}}}],["连接",{"_index":215,"t":{"386":{"position":[[5,2]]},"903":{"position":[[6,2]]}}}],["适配器",{"_index":3,"t":{"6":{"position":[[6,3]]},"8":{"position":[[7,3]]},"12":{"position":[[8,3]]},"28":{"position":[[5,3]]},"353":{"position":[[5,3]]},"366":{"position":[[17,3]]},"660":{"position":[[9,3]]}}}],["选",{"_index":36,"t":{"32":{"position":[[14,1]]},"34":{"position":[[17,1]]},"276":{"position":[[11,1]]},"585":{"position":[[4,1]]},"2009":{"position":[[13,1]]}}}],["选定",{"_index":207,"t":{"366":{"position":[[0,2]]}}}],["选择器",{"_index":251,"t":{"530":{"position":[[7,3]]}}}],["通过",{"_index":386,"t":{"919":{"position":[[3,2]]}}}],["邮箱",{"_index":360,"t":{"850":{"position":[[2,2]]}}}],["部署",{"_index":10,"t":{"12":{"position":[[3,2]]},"28":{"position":[[3,2]]},"353":{"position":[[0,2]]},"366":{"position":[[10,2]]},"595":{"position":[[7,2]]},"660":{"position":[[0,2]]},"1994":{"position":[[4,2]]}}}],["配置",{"_index":78,"t":{"105":{"position":[[0,2]]},"107":{"position":[[0,2]]},"119":{"position":[[0,2]]},"121":{"position":[[0,2]]},"151":{"position":[[6,2]]},"156":{"position":[[3,2]]},"178":{"position":[[6,2]]},"196":{"position":[[8,2]]},"202":{"position":[[0,2]]},"206":{"position":[[3,2]]},"223":{"position":[[0,2]]},"225":{"position":[[6,2]]},"236":{"position":[[0,2]]},"242":{"position":[[0,2]]},"244":{"position":[[10,2]]},"248":{"position":[[0,2]]},"250":{"position":[[0,2]]},"252":{"position":[[0,2]]},"258":{"position":[[0,2]]},"260":{"position":[[0,2]]},"264":{"position":[[0,2]]},"266":{"position":[[0,2]]},"268":{"position":[[0,2]]},"274":{"position":[[2,2]]},"276":{"position":[[12,2]]},"301":{"position":[[2,2]]},"305":{"position":[[6,2]]},"307":{"position":[[6,2]]},"309":{"position":[[0,2]]},"310":{"position":[[11,2]]},"312":{"position":[[11,2]]},"314":{"position":[[0,2]]},"316":{"position":[[5,2]]},"318":{"position":[[2,2]]},"343":{"position":[[5,2]]},"357":{"position":[[6,2]]},"368":{"position":[[4,2]]},"485":{"position":[[0,2]]},"487":{"position":[[0,2]]},"495":{"position":[[0,2]]},"499":{"position":[[0,2]]},"501":{"position":[[0,2]]},"506":{"position":[[0,2]]},"508":{"position":[[0,2]]},"519":{"position":[[0,2]]},"520":{"position":[[6,2]]},"522":{"position":[[6,2]]},"524":{"position":[[0,2]]},"526":{"position":[[0,2]]},"528":{"position":[[0,2]]},"530":{"position":[[0,2]]},"532":{"position":[[0,2]]},"544":{"position":[[0,2]]},"546":{"position":[[0,2]]},"557":{"position":[[6,2]]},"559":{"position":[[2,2]]},"579":{"position":[[0,2]]},"612":{"position":[[2,2]]},"614":{"position":[[2,2]]},"616":{"position":[[0,2]]},"666":{"position":[[0,2]]},"686":{"position":[[0,2]]},"709":{"position":[[0,2]]},"756":{"position":[[3,2]]},"812":{"position":[[0,2]]},"911":{"position":[[0,2]]},"933":{"position":[[0,2]]},"984":{"position":[[0,2]]},"986":{"position":[[0,2]]},"988":{"position":[[0,2]]},"1005":{"position":[[7,2]]},"1974":{"position":[[4,2]]},"1977":{"position":[[4,2]]},"1980":{"position":[[4,2]]},"1983":{"position":[[4,2]]},"1986":{"position":[[4,2]]},"2007":{"position":[[7,2]]}}}],["配置文件",{"_index":14,"t":{"14":{"position":[[9,4]]},"30":{"position":[[7,4]]},"42":{"position":[[5,4]]},"91":{"position":[[0,4]]},"98":{"position":[[0,4]]},"149":{"position":[[4,4]]},"191":{"position":[[0,4]]},"192":{"position":[[2,4]]},"194":{"position":[[4,4]]},"351":{"position":[[4,4]]},"355":{"position":[[4,4]]},"383":{"position":[[0,4]]},"397":{"position":[[0,4]]},"410":{"position":[[0,4]]},"417":{"position":[[0,4]]},"433":{"position":[[0,4]]},"440":{"position":[[0,4]]},"451":{"position":[[0,4]]},"458":{"position":[[0,4]]},"469":{"position":[[0,4]]},"481":{"position":[[0,4]]},"555":{"position":[[4,4]]},"639":{"position":[[0,4]]},"664":{"position":[[2,4]]},"982":{"position":[[4,4]]},"991":{"position":[[23,4]]}}}],["采用",{"_index":67,"t":{"74":{"position":[[4,2]]}}}],["重写",{"_index":392,"t":{"935":{"position":[[0,2]]}}}],["重启",{"_index":42,"t":{"36":{"position":[[3,2]]},"997":{"position":[[0,2]]}}}],["链接",{"_index":186,"t":{"310":{"position":[[9,2]]},"312":{"position":[[9,2]]}}}],["销毁",{"_index":276,"t":{"601":{"position":[[7,2]]}}}],["错误",{"_index":225,"t":{"386":{"position":[[43,2]]}}}],["镜像",{"_index":147,"t":{"227":{"position":[[4,2]]},"395":{"position":[[15,2]]},"622":{"position":[[18,2]]},"624":{"position":[[10,2]]},"626":{"position":[[9,2]]},"637":{"position":[[20,2]]},"652":{"position":[[18,2]]},"674":{"position":[[8,2]]}}}],["门户",{"_index":184,"t":{"305":{"position":[[0,2]]},"310":{"position":[[0,2]]},"557":{"position":[[2,2]]},"935":{"position":[[2,2]]}}}],["问题",{"_index":321,"t":{"731":{"position":[[9,2]]}}}],["队列",{"_index":345,"t":{"816":{"position":[[3,2]]}}}],["附",{"_index":229,"t":{"419":{"position":[[0,1]]},"647":{"position":[[0,1]]}}}],["限额",{"_index":342,"t":{"806":{"position":[[10,2]]}}}],["集成",{"_index":141,"t":{"211":{"position":[[3,2]]}}}],["集群",{"_index":30,"t":{"30":{"position":[[5,2]]},"181":{"position":[[4,2]]},"192":{"position":[[0,2]]},"217":{"position":[[8,2]]},"355":{"position":[[2,2]]},"368":{"position":[[2,2]]},"491":{"position":[[2,2]]},"493":{"position":[[2,2]]},"576":{"position":[[6,2]]},"595":{"position":[[3,2]]},"597":{"position":[[3,2]]},"601":{"position":[[3,2]]},"656":{"position":[[0,2]]},"991":{"position":[[2,2]]},"993":{"position":[[2,2]]},"997":{"position":[[2,2]]},"1005":{"position":[[11,2]]}}}],["静态",{"_index":383,"t":{"897":{"position":[[0,2]]}}}],["页",{"_index":390,"t":{"931":{"position":[[2,1]]}}}],["页面",{"_index":39,"t":{"34":{"position":[[5,2]]},"334":{"position":[[6,2]]}}}],["项",{"_index":155,"t":{"244":{"position":[[12,1]]},"278":{"position":[[6,1]]},"935":{"position":[[9,1]]}}}],["项目",{"_index":385,"t":{"899":{"position":[[2,2]]},"905":{"position":[[2,2]]}}}],["风格",{"_index":64,"t":{"72":{"position":[[2,2]]}}}],["首次",{"_index":214,"t":{"386":{"position":[[3,2]]}}}],["验证",{"_index":363,"t":{"854":{"position":[[0,2]]}}}],["验证码",{"_index":108,"t":{"160":{"position":[[0,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":1,"t":"历史博文","s":"","u":"/SCOW/pr-preview/pr-1298/blog/archive","p":1},{"i":2,"t":"scow文档网站上线!","s":"scow文档上线","u":"/SCOW/pr-preview/pr-1298/blog/docs-online","p":2},{"i":4,"t":"什么是调度器适配器","s":"SCOW调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","p":4},{"i":18,"t":"我们致力于以让大家更方便地部署、运维和管理SCOW集群。","s":"scow-cli","u":"/SCOW/pr-preview/pr-1298/blog/scow-cli-release","p":18},{"i":20,"t":"上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。","s":"交互式应用配置更新","u":"/SCOW/pr-preview/pr-1298/blog/update-portal-app","p":20},{"i":22,"t":"本文档适用于从v0.4.0(及以上)升级到v1.0.0。","s":"SCOW升级:从v0.4.0(及以上)到v1.0.0","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","p":22},{"i":38,"t":"上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。","s":"scow-deployment平滑升级指导","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","p":38},{"i":46,"t":"1. 所有节点","s":"基础配置","u":"/SCOW/pr-preview/pr-1298/docs/basic-config","p":46},{"i":51,"t":"感谢您对参与SCOW项目开发的兴趣!我们欢迎对项目有兴趣的参与者一起参与项目开发。","s":"贡献指南","u":"/SCOW/pr-preview/pr-1298/docs/contribution","p":51},{"i":53,"t":"本节介绍开发项目相关的资料。","s":"开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","p":53},{"i":78,"t":"本部分帮助您安装和配置SCOW。","s":"安装和配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy","p":78},{"i":80,"t":"SCOW使用配置文件进行系统的配置。","s":"配置简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config","p":80},{"i":82,"t":"系统各个组件的关系如下图。此部分简要介绍各个组件的功能,具体部署请参考各个组件的页面。","s":"架构","u":"/SCOW/pr-preview/pr-1298/docs/deploy/architecture","p":82},{"i":84,"t":"软件简介","s":"JupyterLab","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","p":84},{"i":93,"t":"软件简介","s":"VSCode","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","p":93},{"i":102,"t":"前提条件","s":"配置桌面类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","p":102},{"i":116,"t":"前提条件","s":"配置Web类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","p":116},{"i":134,"t":"参考文档简要了解交互式作业功能, 目前beta版本支持Web类和Vnc类应用功能。","s":"交互式作业","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro","p":134},{"i":136,"t":"本节介绍如何使用自定义操作行为日志","s":"自定义操作行为日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","p":136},{"i":147,"t":"本节介绍如何配置审计系统。","s":"配置审计系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","p":147},{"i":155,"t":"UI 配置","s":"内置认证系统配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","p":155},{"i":170,"t":"认证系统(auth)为系统提供用户登录功能,以及为各个组件提供鉴权服务。","s":"认证系统简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","p":170},{"i":176,"t":"本节介绍如何配置 AI 系统(beta)。","s":"配置 AI 系统(beta)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","p":176},{"i":200,"t":"本节介绍内置认证系统并采用SSH进行用户认证的认证系统。","s":"SSH认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","p":200},{"i":204,"t":"实验性功能!","s":"CLI插件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","p":204},{"i":213,"t":"本节介绍使用内置认证系统并使用LDAP进行用户认证。","s":"LDAP认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","p":213},{"i":229,"t":"对于每个需要进行部署的集群,需要在config/clusters目录下创建一个{集群ID}/config.yml(或{集群ID}.yml)文件,并编写集群的信息。当您的集群信息修改后,您需要同时手动修改对应的集群配置文件。","s":"集群配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","p":229},{"i":233,"t":"什么是相对路径(base path)","s":"自定义相对路径","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","p":233},{"i":238,"t":"当管理员或财务人员在管理系统下查询消费列表时,系统支持按消费类型进行查询结果过滤。","s":"自定义可查询的消费类型","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types","p":238},{"i":240,"t":"在SCOW的页面国际化功能中,系统支持管理员自定义配置各配置文件中的文本显示为国际化显示。","s":"自定义可配置项的国际化文本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","p":240},{"i":246,"t":"系统支持在mis.yaml中通过可选配置jobChargeMetadata将作业相关的字段以Json格式保存在消费记录中。","s":"自定义在消费记录中保存作业相关字段","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","p":246},{"i":256,"t":"支持用户在common.yml文件中通过配置项systemLanguage自定义是否使用SCOW的页面国际化功能。","s":"自定义系统语言","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","p":256},{"i":262,"t":"您可以在门户和管理系统导航栏右侧的用户下拉菜单中增加链接,点击这些链接会跳转到您指定的URL。","s":"自定义导航栏右侧的用户下拉菜单链接","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","p":262},{"i":270,"t":"当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能;用户可以在个人信息中修改密码,对于密码的规则,我们可以进行配置。","s":"创建用户/修改密码正则配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern","p":270},{"i":272,"t":"在管理系统中,您可以增加通过代码自定义收费规则,然后在配置文件中进行配置,就可以在创建新的计费项使用这个新的计量方式","s":"通过代码自定义收费规则","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","p":272},{"i":280,"t":"您存放在和install.yml同级的public目录下下的文件将可以在SCOW部署路径的/public 路径下访问。","s":"公共文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files","p":280},{"i":282,"t":"系统中支持自定义一些网页中的UI元素。支持自定义UI元素的组件有:","s":"自定义网页UI元素","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","p":282},{"i":292,"t":"资源状态","s":"集群监控功能(可选)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","p":292},{"i":303,"t":"您可以增加门户和管理系统的导航链接,点击这些链接会跳转到您指定的URL。","s":"自定义导航链接","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","p":303},{"i":320,"t":"当管理系统部署完成后,访问部署路径的/init路径下,即可进行管理系统的初始化页面。","s":"管理系统初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","p":320},{"i":332,"t":"在以下情况下,管理系统允许用户或者管理员在SCOW中创建用户。","s":"创建用户配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","p":332},{"i":340,"t":"extra","s":"网关配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","p":340},{"i":347,"t":"本节介绍如何配置管理系统。","s":"配置管理系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","p":347},{"i":363,"t":"同步调度器账户、用户封锁状态","s":"刷新调度器账户、用户封锁状态","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync","p":363},{"i":365,"t":"使用slurm的集群的配置","s":"配置使用slurm的集群","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","p":365},{"i":374,"t":"软件简介","s":"Desktop","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","p":374},{"i":388,"t":"软件简介","s":"Baltamatica","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","p":388},{"i":399,"t":"软件简介","s":"IGV","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","p":399},{"i":412,"t":"软件简介","s":"Jupyter","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","p":412},{"i":424,"t":"软件简介","s":"Emacs","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","p":424},{"i":435,"t":"软件简介","s":"Matlab","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","p":435},{"i":442,"t":"软件简介","s":"Octave","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","p":442},{"i":453,"t":"软件简介","s":"Relion","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","p":453},{"i":460,"t":"软件简介","s":"VSCode","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","p":460},{"i":474,"t":"软件简介","s":"JupyterLab","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","p":474},{"i":483,"t":"Web和VNC类应用都可以通过logoPath配置项,修改创建应用的图标。","s":"配置应用图标","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","p":483},{"i":489,"t":"支持管理员通过在不同的配置文件路径下自定义配置各个集群均可使用的应用以及只有特定集群可以使用的应用。","s":"多集群下的应用配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","p":489},{"i":497,"t":"系统支持对不同的交互式应用配置说明文字进行描述。文本支持HTML的标签,将会被放在一个div中。","s":"配置应用的说明文字","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","p":497},{"i":503,"t":"前提条件","s":"配置Web类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","p":503},{"i":517,"t":"Web和VNC类应用都可以通过attributes配置项,修改创建应用的HTML表单,允许管理员定义用户创建交互式应用时的表单选项,让用户能够指定应用的版本等信息。","s":"配置HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","p":517},{"i":534,"t":"参考文档简要了解交互式作业功能。","s":"交互式作业","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro","p":534},{"i":537,"t":"您可以自定义门户项目仪表盘的LOGO和文本。","s":"自定义仪表盘","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","p":537},{"i":541,"t":"前提条件","s":"配置桌面类应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","p":541},{"i":553,"t":"本节介绍如何配置门户系统。","s":"配置门户系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","p":553},{"i":563,"t":"Shell终端支持输入命令跳转到文件系统,进行文件的上传和下载;支持下载指定文件。","s":"Shell终端文件传输功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","p":563},{"i":575,"t":"1. 为每个集群添加传输节点","s":"跨集群文件传输功能(可选)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","p":575},{"i":587,"t":"登录节点桌面功能能够让用户在浏览器上就能访问登录节点的桌面,并进行GUI操作。","s":"登录节点桌面功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","p":587},{"i":593,"t":"本项目面向开发和测试人员,基于Vagrant,采用VirtualBox作为Provider,提供slurm+SCOW集群一键部署方案,极大简化了部署流程和部署门槛。","s":"使用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","p":593},{"i":605,"t":"1. 如何修改节点私网IP","s":"自定义部署","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","p":605},{"i":610,"t":"门户系统的桌面和交互式作业功能是通过HTTP代理,将用户的流量代理到了运行桌面的登录节点或者运行计算作业的计算节点上来实现的。这要求SCOW所在的服务节点能够直连所有登录和计算节点。","s":"代理网关节点","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","p":610},{"i":618,"t":"1. Invalid value 'WAS' in AudioAdapter/@driver attribute","s":"FAQ","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq","p":618},{"i":621,"t":"1. login/compute节点镜像制作","s":"vagrant镜像制作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/images","p":621},{"i":628,"t":"软件简介","s":"RStudio","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","p":628},{"i":654,"t":"如何在已有超算集群上部署SCOW系统","s":"安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","p":654},{"i":668,"t":"从源码构建SCOW","s":"从源码构建","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source","p":668},{"i":670,"t":"SCOW对各类系统和架构的支持","s":"多架构支持","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","p":670},{"i":676,"t":"vagrant支持的provider包括virtualbox、hyperv、libvirt等。virtualbox支持windows、linux、macos的安装,因此本教程以virtualbox作为provider。","s":"vagrant环境搭建","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","p":676},{"i":684,"t":"使用scow-cli管理SCOW集群","s":"下载","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","p":684},{"i":700,"t":"本文档从部署规划开始,一步一步搭建slurm集群,安装共享存储、安装module、intel等工具软件。","s":"slurm部署简介","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster","p":700},{"i":702,"t":"本节介绍如何对系统进行的常见运维操作。","s":"运维","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","p":702},{"i":711,"t":"部署LDAP后台管理后,访问http8080/ ,登录DN LDAP服务端安装脚本adminPasswd的值。","s":"LDAP新建用户","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","p":711},{"i":717,"t":"1. 系统报错:查看运行日志","s":"SCOW管理员使用技巧","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","p":717},{"i":740,"t":"新版intel编译器不再是parallelstudioxexxxupdate4clusteredition,而改名为oneAPI。","s":"intel编译器安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","p":740},{"i":750,"t":"module是给集群所有节点使用,安装在nfs共享存储目录上。创建module安装目录:","s":"module安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","p":750},{"i":758,"t":"假设待挂载盘符为/dev/sdb,挂载目录为/data","s":"数据盘挂载","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk","p":758},{"i":762,"t":"本方案以NFS作为共享存储。","s":"NFS安装和配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","p":762},{"i":770,"t":"本次部署以1个服务节点、1个登录节点、2个计算节点为例,集群节规划如下:","s":"集群规划","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan","p":770},{"i":772,"t":"AI 系统能让您通过 Web 界面管理您在 AI 训练中的数据集、算法、模型,并通过镜像的方式来进行您的 AI 训练任务。","s":"AI 系统简介(Beta)","u":"/SCOW/pr-preview/pr-1298/docs/info/ai","p":772},{"i":776,"t":"SCOW是一个面向用户和运维人员的超算门户与管理系统。","s":"平台简介","u":"/SCOW/pr-preview/pr-1298/docs/info","p":776},{"i":782,"t":"管理系统提供高性能计算集群常见的管理功能。","s":"管理系统简介","u":"/SCOW/pr-preview/pr-1298/docs/info/mis","p":782},{"i":786,"t":"门户系统给高性能计算集群的用户提供了一个基本web的功能入口。","s":"门户系统简介","u":"/SCOW/pr-preview/pr-1298/docs/info/portal","p":786},{"i":790,"t":"用户模型","s":"用户模型","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","p":790},{"i":808,"t":"借助交互式应用功能,您可以直接在浏览器上使用集群资源在计算节点上启动应用,并通过浏览器使用这些应用。","s":"交互式应用","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","p":808},{"i":814,"t":"借助作业功能,您可以直接在浏览器上点击提交作业来使用超算集群,提交成功后,可以在未结束作业中看到该作业的运行状态等详细信息,并在所有作业中看到作业的执行结果。","s":"作业","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","p":814},{"i":820,"t":"系统目前采用一个独立的财务系统。","s":"计费收费","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","p":820},{"i":828,"t":"集成","s":"与SCOW集成","u":"/SCOW/pr-preview/pr-1298/docs/integration","p":828},{"i":830,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己实现一个自定义认证服务。","s":"实现自定义认证系统","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","p":830},{"i":869,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己使用和实现一个自定义认证服务。","s":"使用自定义认证系统","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/use","p":869},{"i":873,"t":"SCOW系统提供了一些数据统计相关的API,您可以通过这些API获取SCOW系统的一些统计数据。其中有部分API是以日期为维度进行的统计,您可以通过这些API获取x天内每一天的统计数据。但由于数据库里采用的是UTC时间,如果希望统计的维度和客户端一致,在使用这些API时,您需要注意时区的问题。","s":"数据统计相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","p":873},{"i":881,"t":"示例项目:https://github.com/PKUHPC/scow-go-demo","s":"Go示例","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","p":881},{"i":891,"t":"SCOW系统总体来说分为前端和后端部分(架构),SCOW的前端和后端部分使用gRPC进行通信。","s":"SCOW API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","p":891},{"i":901,"t":"如果用户配置了SCOW Hook,那么SCOW在发生一些事件时,会通过SCOW Hook调用监听的Hook服务器。您可以通过SCOW Hook监听SCOW中发生的事件,并自己进行一些后续处理。","s":"SCOW Hook","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","p":901},{"i":907,"t":"实验性功能!","s":"UI扩展 (Beta)","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","p":907},{"i":913,"t":"SCOW API和Hook的数据结构和服务都通过Protocol Buffer格式统一定义并分发。要想使用SCOW API和Hook,您需要首先获取proto文件,通过proto文件生成您对应的语言的代码,然后才能进行开发。","s":"SCOW Protobuf文件","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","p":913},{"i":923,"t":"SCOW多集群部署架构如下图所示:","s":"多集群管理","u":"/SCOW/pr-preview/pr-1298/docs/multi_cluster","p":923},{"i":925,"t":"本部分为自动生成的配置参考。","s":"配置参考","u":"/SCOW/pr-preview/pr-1298/docs/refs","p":925},{"i":927,"t":"要使用UI扩展,您首先需要开发并构建一个从外界可以访问的网站(称为扩展站)。您可以使用任何技术开发、维护和部署此网站,只需要满足您的用户可以通过直接公网访问即可。","s":"开发UI扩展","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","p":927},{"i":939,"t":"Top-level Schemas","s":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app","p":939},{"i":947,"t":"name Type","s":"definition-properties-name","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-name","p":947},{"i":950,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition","p":950},{"i":975,"t":"items Type","s":"definition-properties-nodes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes-items","p":975},{"i":978,"t":"配置该功能可以让管理员在管理系统中查看集群资源信息和告警日志,需要配置 Prometheus、Grafana、Alertmanager、alertsnitch、MySQL 安装","s":"部署集群监控","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/cluster-monitor","p":978},{"i":1007,"t":"type Type","s":"definition-properties-type","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type","p":1007},{"i":1010,"t":"0 Type","s":"definition-properties-type-anyof-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-0","p":1010},{"i":1015,"t":"1 Type","s":"definition-properties-type-anyof-1","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-type-anyof-1","p":1015},{"i":1020,"t":"nodes Type","s":"definition-properties-nodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-nodes","p":1020},{"i":1023,"t":"xstartup Type","s":"definition-properties-vnc-properties-xstartup","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc-properties-xstartup","p":1023},{"i":1026,"t":"vnc Type","s":"definition-properties-vnc","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-vnc","p":1026},{"i":1035,"t":"web Type","s":"definition-properties-web","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web","p":1035},{"i":1052,"t":"beforeScript Type","s":"definition-properties-web-properties-beforescript","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-beforescript","p":1052},{"i":1055,"t":"connect Type","s":"definition-properties-web-properties-connect","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect","p":1055},{"i":1076,"t":"formData Type","s":"definition-properties-web-properties-connect-properties-formdata","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","p":1076},{"i":1085,"t":"patternProperties Type","s":"definition-properties-web-properties-connect-properties-formdata-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","p":1085},{"i":1088,"t":"^.\\*$ Type","s":"definition-properties-web-properties-connect-properties-formdata-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","p":1088},{"i":1091,"t":"method Type","s":"definition-properties-web-properties-connect-properties-method","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","p":1091},{"i":1094,"t":"path Type","s":"definition-properties-web-properties-connect-properties-path","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","p":1094},{"i":1097,"t":"1 Type","s":"definition-properties-web-properties-connect-properties-method-anyof-1","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","p":1097},{"i":1102,"t":"0 Type","s":"definition-properties-web-properties-connect-properties-method-anyof-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","p":1102},{"i":1107,"t":"patternProperties Type","s":"definition-properties-web-properties-connect-properties-query-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","p":1107},{"i":1110,"t":"^.\\*$ Type","s":"definition-properties-web-properties-connect-properties-query-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","p":1110},{"i":1113,"t":"Top-level Schemas","s":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster","p":1113},{"i":1121,"t":"query Type","s":"definition-properties-web-properties-connect-properties-query","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","p":1121},{"i":1130,"t":"script Type","s":"definition-properties-web-properties-script","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/app/definition-properties-web-properties-script","p":1130},{"i":1133,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition","p":1133},{"i":1156,"t":"displayName Type","s":"definition-properties-displayname","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-displayname","p":1156},{"i":1159,"t":"scheduler Type","s":"definition-properties-scheduler","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler","p":1159},{"i":1164,"t":"0 Type","s":"definition-properties-scheduler-anyof-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","p":1164},{"i":1169,"t":"slurm Type","s":"definition-properties-slurm","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm","p":1169},{"i":1194,"t":"misIgnore Type","s":"definition-properties-misignore","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-misignore","p":1194},{"i":1197,"t":"items Type","s":"definition-properties-slurm-properties-computenodes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","p":1197},{"i":1200,"t":"items Type","s":"definition-properties-slurm-properties-loginnodes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","p":1200},{"i":1203,"t":"computeNodes Type","s":"definition-properties-slurm-properties-computenodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","p":1203},{"i":1208,"t":"associationTableName Type","s":"definition-properties-slurm-properties-mis-properties-associationtablename","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","p":1208},{"i":1211,"t":"mis Type","s":"definition-properties-slurm-properties-mis","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis","p":1211},{"i":1232,"t":"dbPassword Type","s":"definition-properties-slurm-properties-mis-properties-dbpassword","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","p":1232},{"i":1235,"t":"loginNodes Type","s":"definition-properties-slurm-properties-loginnodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","p":1235},{"i":1240,"t":"managerUrl Type","s":"definition-properties-slurm-properties-mis-properties-managerurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","p":1240},{"i":1243,"t":"scriptPath Type","s":"definition-properties-slurm-properties-mis-properties-scriptpath","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","p":1243},{"i":1246,"t":"partitions Type","s":"definition-properties-slurm-properties-partitions","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","p":1246},{"i":1255,"t":"cores Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-cores","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","p":1255},{"i":1258,"t":"patternProperties Type","s":"definition-properties-slurm-properties-partitions-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","p":1258},{"i":1261,"t":"comment Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-comment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","p":1261},{"i":1264,"t":"gpus Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","p":1264},{"i":1267,"t":"mem Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-mem","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","p":1267},{"i":1270,"t":"^.\\*$ Type","s":"definition-properties-slurm-properties-partitions-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","p":1270},{"i":1299,"t":"nodes Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","p":1299},{"i":1302,"t":"items Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","p":1302},{"i":1305,"t":"Top-level Schemas","s":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts","p":1305},{"i":1313,"t":"patternProperties Type","s":"definition-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties","p":1313},{"i":1316,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition","p":1316},{"i":1325,"t":"^.\\*$ Type","s":"definition-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties-","p":1325},{"i":1338,"t":"qos Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","p":1338},{"i":1341,"t":"clusterComment Type","s":"definition-patternproperties--properties-clustercomment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","p":1341},{"i":1344,"t":"items Type","s":"definition-patternproperties--properties-extras-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","p":1344},{"i":1357,"t":"extras Type","s":"definition-patternproperties--properties-extras","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","p":1357},{"i":1360,"t":"title Type","s":"definition-patternproperties--properties-extras-items-properties-title","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","p":1360},{"i":1363,"t":"Top-level Schemas","s":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis","p":1363},{"i":1371,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition","p":1371},{"i":1422,"t":"accountNamePattern Type","s":"definition-properties-accountnamepattern","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern","p":1422},{"i":1435,"t":"content Type","s":"definition-patternproperties--properties-extras-items-properties-content","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","p":1435},{"i":1438,"t":"errorMessage Type","s":"definition-properties-accountnamepattern-properties-errormessage","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","p":1438},{"i":1441,"t":"regex Type","s":"definition-properties-accountnamepattern-properties-regex","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","p":1441},{"i":1444,"t":"changeJobPriceType Type","s":"definition-properties-changejobpricetype","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-changejobpricetype","p":1444},{"i":1449,"t":"db Type","s":"definition-properties-db","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db","p":1449},{"i":1478,"t":"authUrl Type","s":"definition-properties-authurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-authurl","p":1478},{"i":1483,"t":"dbName Type","s":"definition-properties-db-properties-dbname","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-dbname","p":1483},{"i":1486,"t":"debug Type","s":"definition-properties-db-properties-debug","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-debug","p":1486},{"i":1489,"t":"host Type","s":"definition-properties-db-properties-host","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-host","p":1489},{"i":1492,"t":"password Type","s":"definition-properties-db-properties-password","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-password","p":1492},{"i":1495,"t":"user Type","s":"definition-properties-db-properties-user","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-user","p":1495},{"i":1498,"t":"fetchJobs Type","s":"definition-properties-fetchjobs","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs","p":1498},{"i":1523,"t":"batchSize Type","s":"definition-properties-fetchjobs-properties-batchsize","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","p":1523},{"i":1528,"t":"port Type","s":"definition-properties-db-properties-port","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-db-properties-port","p":1528},{"i":1531,"t":"dbName Type","s":"definition-properties-fetchjobs-properties-db-properties-dbname","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","p":1531},{"i":1534,"t":"db Type","s":"definition-properties-fetchjobs-properties-db","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","p":1534},{"i":1563,"t":"password Type","s":"definition-properties-fetchjobs-properties-db-properties-password","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","p":1563},{"i":1566,"t":"port Type","s":"definition-properties-fetchjobs-properties-db-properties-port","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","p":1566},{"i":1569,"t":"tableName Type","s":"definition-properties-fetchjobs-properties-db-properties-tablename","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","p":1569},{"i":1572,"t":"user Type","s":"definition-properties-fetchjobs-properties-db-properties-user","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","p":1572},{"i":1575,"t":"host Type","s":"definition-properties-fetchjobs-properties-db-properties-host","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","p":1575},{"i":1578,"t":"periodicFetch Type","s":"definition-properties-fetchjobs-properties-periodicfetch","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","p":1578},{"i":1597,"t":"default Type","s":"definition-properties-fetchjobs-properties-periodicfetch-default","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","p":1597},{"i":1600,"t":"enabled Type","s":"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","p":1600},{"i":1605,"t":"startIndex Type","s":"definition-properties-fetchjobs-properties-startindex","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","p":1605},{"i":1608,"t":"jobChargeComment Type","s":"definition-properties-jobchargecomment","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargecomment","p":1608},{"i":1613,"t":"cron Type","s":"definition-properties-fetchjobs-properties-periodicfetch-properties-cron","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","p":1613},{"i":1618,"t":"jobChargeType Type","s":"definition-properties-jobchargetype","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-jobchargetype","p":1618},{"i":1623,"t":"predefinedChargingTypes Type","s":"definition-properties-predefinedchargingtypes","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes","p":1623},{"i":1628,"t":"Top-level Schemas","s":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal","p":1628},{"i":1636,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition","p":1636},{"i":1699,"t":"portalUrl Type","s":"definition-properties-portalurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-portalurl","p":1699},{"i":1702,"t":"apps Type","s":"definition-properties-apps","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-apps","p":1702},{"i":1707,"t":"items Type","s":"definition-properties-predefinedchargingtypes-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","p":1707},{"i":1710,"t":"appJobsDir Type","s":"definition-properties-appjobsdir","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-appjobsdir","p":1710},{"i":1715,"t":"homeText Type","s":"definition-properties-hometext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext","p":1715},{"i":1732,"t":"hostnameMap Type","s":"definition-properties-hometext-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","p":1732},{"i":1743,"t":"patternProperties Type","s":"definition-properties-hometext-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","p":1743},{"i":1746,"t":"default Type","s":"definition-properties-hometext-properties-hostnamemap-default","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","p":1746},{"i":1749,"t":"defaultText Type","s":"definition-properties-hometext-properties-defaulttext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","p":1749},{"i":1754,"t":"^.\\*$ Type","s":"definition-properties-hometext-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","p":1754},{"i":1757,"t":"defaultText Type","s":"definition-properties-hometitle-properties-defaulttext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","p":1757},{"i":1762,"t":"homeTitle Type","s":"definition-properties-hometitle","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle","p":1762},{"i":1779,"t":"default Type","s":"definition-properties-hometitle-properties-hostnamemap-default","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","p":1779},{"i":1782,"t":"patternProperties Type","s":"definition-properties-hometitle-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","p":1782},{"i":1785,"t":"^.\\*$ Type","s":"definition-properties-hometitle-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","p":1785},{"i":1788,"t":"loginDesktop Type","s":"definition-properties-logindesktop","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop","p":1788},{"i":1811,"t":"hostnameMap Type","s":"definition-properties-hometitle-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","p":1811},{"i":1822,"t":"enabled Type","s":"definition-properties-logindesktop-properties-enabled","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","p":1822},{"i":1827,"t":"jobManagement Type","s":"definition-properties-jobmanagement","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-jobmanagement","p":1827},{"i":1832,"t":"wms Type","s":"definition-properties-logindesktop-properties-wms","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","p":1832},{"i":1837,"t":"items Type","s":"definition-properties-logindesktop-properties-wms-items","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","p":1837},{"i":1850,"t":"0 Type","s":"definition-properties-logindesktop-properties-wms-default-0","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","p":1850},{"i":1853,"t":"name Type","s":"definition-properties-logindesktop-properties-wms-items-properties-name","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","p":1853},{"i":1856,"t":"maxDesktops Type","s":"definition-properties-logindesktop-properties-maxdesktops","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","p":1856},{"i":1861,"t":"wm Type","s":"definition-properties-logindesktop-properties-wms-items-properties-wm","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","p":1861},{"i":1864,"t":"misUrl Type","s":"definition-properties-misurl","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-misurl","p":1864},{"i":1867,"t":"submitJobDefaultPwd Type","s":"definition-properties-submitjobdefaultpwd","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","p":1867},{"i":1872,"t":"shell Type","s":"definition-properties-shell","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-shell","p":1872},{"i":1877,"t":"Top-level Schemas","s":"README","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui","p":1877},{"i":1884,"t":"savedJobsDir Type","s":"definition-properties-savedjobsdir","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-savedjobsdir","p":1884},{"i":1889,"t":"turboVNCPath Type","s":"definition-properties-turbovncpath","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/portal/definition-properties-turbovncpath","p":1889},{"i":1894,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition","p":1894},{"i":1907,"t":"defaultText Type","s":"definition-properties-footer-properties-defaulttext","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","p":1907},{"i":1910,"t":"footer Type","s":"definition-properties-footer","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer","p":1910},{"i":1923,"t":"hostnameMap Type","s":"definition-properties-footer-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","p":1923},{"i":1932,"t":"patternProperties Type","s":"definition-properties-footer-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","p":1932},{"i":1935,"t":"primaryColor Type","s":"definition-properties-primarycolor","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor","p":1935},{"i":1950,"t":"hostnameMap Type","s":"definition-properties-primarycolor-properties-hostnamemap","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","p":1950},{"i":1959,"t":"^.\\*$ Type","s":"definition-properties-footer-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","p":1959},{"i":1962,"t":"patternProperties Type","s":"definition-properties-primarycolor-properties-hostnamemap-patternproperties","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","p":1962},{"i":1965,"t":"defaultColor Type","s":"definition-properties-primarycolor-properties-defaultcolor","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","p":1965},{"i":1970,"t":"^.\\*$ Type","s":"definition-properties-primarycolor-properties-hostnamemap-patternproperties-","u":"/SCOW/pr-preview/pr-1298/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","p":1970},{"i":1973,"t":"环境变量配置","s":"auth","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/auth","p":1973},{"i":1976,"t":"环境变量配置","s":"gateway","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/gateway","p":1976},{"i":1979,"t":"环境变量配置","s":"mis-server","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-server","p":1979},{"i":1982,"t":"环境变量配置","s":"mis-web","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/mis-web","p":1982},{"i":1985,"t":"环境变量配置","s":"portal-web","u":"/SCOW/pr-preview/pr-1298/docs/refs/env/portal-web","p":1985},{"i":1988,"t":"1. 安装Munge","s":"slurm集群部署","u":"/SCOW/pr-preview/pr-1298/docs/slurm","p":1988}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,7.085,1,7.085]],["t/2",[2,2.721,3,4.475,4,5.4,5,6]],["t/4",[6,5.4,7,5.4,8,5.4,9,6]],["t/18",[2,1.687,10,2.92,11,3.72,12,3.72,13,3.348,14,3.72,15,3.72,16,2.177,17,3.103,18,3.72,19,2.774,20,1.892]],["t/20",[2,1.108,10,1.918,20,1.242,21,1.513,22,1.918,23,1.614,24,1.071,25,3.501,26,3.501,27,1.327,28,2.199,29,2.199,30,1.053,31,1.822,32,1.614,33,1.918,34,2.199,35,1.242,36,1.242]],["t/22",[3,2.913,37,2.073,38,3.905,39,3.905,40,3.905,41,5.157,42,3.905,43,3.905,44,3.905]],["t/38",[2,0.71,13,1.408,21,0.969,22,1.228,27,0.85,30,0.674,31,2.049,45,1.408,46,1.564,47,1.116,48,1.564,49,3.672,50,3.672,51,1.564,52,1.564,53,1.228,54,1.564,55,1.994,56,1.564,57,1.116,58,1.305,59,1.564,60,1.564,61,1.564,62,1.305,63,1.564,64,1.167,65,1.564,66,1.564,67,1.228,68,1.564,69,1.408,70,0.969,71,1.305]],["t/46",[72,4.024,73,5.101,74,4.151]],["t/51",[2,1.363,10,2.36,47,4.191,75,3.006,76,3.957,77,4.744,78,3.538,79,4.744,80,3.006,81,3.006,82,3.006]],["t/53",[37,2.59,47,3.479,78,3.638,83,3.021,84,3.021,85,4.07,86,4.878]],["t/78",[2,2.36,30,2.242,37,2.762,87,3.88,88,5.202,89,3.564]],["t/80",[2,2.36,24,2.28,30,2.242,36,2.646,90,3.88,91,2.702]],["t/82",[16,1.634,24,1.223,33,4.394,55,1.516,84,1.729,87,2.082,92,4.669,93,2.791,94,2.329,95,2.512,96,2.329,97,2.791,98,2.791,99,2.191,100,2.191]],["t/84",[101,4.04,102,4.04]],["t/93",[101,4.04,102,4.04]],["t/102",[103,6.116]],["t/116",[103,6.116]],["t/134",[3,2.242,22,2.36,25,2.059,26,2.059,55,2.577,96,2.508,99,2.36,104,2.705,105,2.242,106,2.705,107,2.705,108,1.759,109,2.144,110,3.957,111,2.36]],["t/136",[36,2.206,37,2.303,70,2.687,83,2.687,84,2.687,112,2.866,113,3.619,114,4.338,115,3.904]],["t/147",[24,2.138,30,2.103,37,2.59,83,3.021,84,3.021,112,3.223,116,4.878]],["t/155",[30,3.054,117,5.911]],["t/170",[24,2.213,33,2.556,55,1.768,58,2.716,92,2.716,118,2.322,119,3.256,120,3.46,121,1.768,122,2.428,123,3.256,124,3.256,125,2.322]],["t/176",[24,2.012,30,1.979,37,2.438,83,2.844,84,2.844,107,4.133,112,3.034,126,4.133]],["t/200",[24,2.365,37,1.885,53,2.788,83,2.199,84,2.199,91,1.844,118,4.657,121,1.929,127,2.788,128,3.551]],["t/204",[129,6.377,130,6.377]],["t/213",[24,1.63,36,2.843,37,1.975,53,2.92,83,2.304,84,2.304,91,1.932,118,3.987,121,2.02,131,3.348]],["t/229",[16,1.09,20,3.108,21,1.153,28,2.876,32,1.23,90,1.389,91,0.967,132,1.676,133,1.676,134,3.13,135,1.862,136,1.462,137,3.195,138,2.666,139,1.389,140,1.862,141,2.666,142,2.383,143,1.862,144,1.862,145,1.676]],["t/233",[6,5.4,146,6,147,6,148,5.4]],["t/238",[24,1.37,91,1.624,108,1.829,149,2.229,150,3.126,151,1.88,152,4.892,153,4.403,154,3.126,155,2.331,156,3.126,157,3.126,158,2.813,159,3.126]],["t/240",[2,1.418,24,1.37,30,1.347,55,1.698,70,1.936,90,2.331,100,2.454,108,1.829,149,2.229,160,4.403,161,2.789,162,2.608,163,4.892]],["t/246",[24,1.181,27,1.464,30,1.162,85,2.249,105,2.01,108,1.577,153,2.426,161,2.479,164,2.426,165,2.695,166,2.695,167,2.695,168,2.116,169,2.695,170,2.695,171,2.695,172,2.426,173,2.695,174,2.695]],["t/256",[2,1.363,27,1.633,30,1.295,36,1.529,55,1.633,70,1.862,100,2.36,108,1.759,121,1.633,138,2.508,139,2.242,160,2.705,161,1.714,175,3.006,176,2.36,177,3.006,178,3.006]],["t/262",[23,1.912,35,1.472,64,2.159,121,1.572,151,1.741,161,1.65,179,2.605,180,2.895,181,2.895,182,2.895,183,2.415,184,4.144,185,2.415,186,2.273,187,2.415,188,2.273,189,2.605]],["t/270",[10,1.535,24,0.857,30,0.843,32,2.875,35,2.213,36,1.694,53,1.535,55,1.062,91,1.015,108,1.144,118,1.394,121,2.792,132,1.76,142,1.458,151,1.176,155,1.458,161,1.115,190,1.76,191,1.76,192,1.955,193,3.331,194,1.76]],["t/272",[27,1.249,30,0.991,32,1.519,35,1.942,36,1.169,70,1.424,90,1.715,91,1.194,151,1.383,161,2.177,176,1.805,183,1.918,194,2.07,195,2.07,196,2.3,197,2.07,198,2.07,199,3.818,200,2.3,201,2.3,202,2.3,203,2.07]],["t/280",[2,1.477,16,1.905,35,1.656,136,2.556,138,2.716,139,2.428,168,2.556,204,3.256,205,3.256,206,3.256,207,5.05,208,4.213,209,2.428]],["t/282",[24,1.489,70,3.232,92,2.834,108,3.054,117,4.353,161,2.975,210,2.834,211,3.397,212,5.218]],["t/292",[213,5.911,214,5.911]],["t/303",[23,2.346,35,1.806,64,2.648,151,2.136,179,3.196,183,2.962,184,4.858,185,2.962,186,2.788,187,2.962,188,2.788,189,3.196]],["t/320",[16,3.159,91,1.844,100,2.788,151,3.247,191,3.196,208,4.503,209,2.648,215,3.551,216,3.196,217,3.551]],["t/332",[2,1.771,32,2.58,121,3.149,149,2.785,151,2.349,161,2.227,218,3.905,219,3.905,220,3.515,221,3.515]],["t/340",[222,7.012]],["t/347",[30,2.242,37,2.762,83,3.222,84,3.222,112,3.437,151,3.129]],["t/363",[7,4.391,8,4.391,121,2.65,214,4.07,223,4.878,224,4.878,225,4.878]],["t/365",[20,3.051,30,2.586,36,3.051,226,4.71]],["t/374",[101,4.04,102,4.04]],["t/388",[101,4.04,102,4.04]],["t/399",[101,4.04,102,4.04]],["t/412",[101,4.04,102,4.04]],["t/424",[101,4.04,102,4.04]],["t/435",[101,4.04,102,4.04]],["t/442",[101,4.04,102,4.04]],["t/453",[101,4.04,102,4.04]],["t/460",[101,4.04,102,4.04]],["t/474",[101,4.04,102,4.04]],["t/483",[26,3.575,27,1.845,30,1.464,32,2.244,35,1.727,109,2.422,110,2.834,111,2.667,142,2.534,176,2.667,227,2.834,228,3.397,229,3.397]],["t/489",[20,2.211,26,2.979,27,1.464,30,1.162,33,2.116,34,2.426,35,1.371,36,2.211,58,2.249,62,2.249,70,1.669,90,2.01,108,1.577,149,1.922,208,2.249,230,2.695,231,2.695]],["t/497",[21,1.614,24,1.142,25,1.785,26,1.785,30,1.123,62,2.174,76,2.174,91,1.353,108,2.476,161,1.486,162,2.174,168,2.046,186,2.046,232,2.606,233,2.606,234,2.606,235,2.345,236,2.606,237,2.606,238,2.606]],["t/503",[103,6.116]],["t/517",[22,1.497,25,1.307,26,3.465,27,1.036,30,0.822,32,2.155,35,0.97,109,1.36,110,1.591,111,1.497,121,1.772,141,1.591,142,1.423,149,1.36,155,1.423,176,1.497,188,1.497,190,2.936,220,1.717,227,1.591,235,1.717,239,1.717,240,1.717,241,1.907,242,1.591,243,1.497]],["t/534",[3,3.638,25,3.342,55,2.65,96,4.07,99,3.83,104,4.391,105,3.638]],["t/537",[23,3.223,35,2.481,47,3.479,70,3.021,162,4.07,244,4.878,245,4.878]],["t/541",[103,6.116]],["t/553",[23,3.223,24,2.138,30,2.103,37,2.59,83,3.021,84,3.021,112,3.223]],["t/563",[91,1.691,108,2.955,139,3.766,187,2.716,188,2.556,246,2.93,247,3.256,248,3.256,249,3.256,250,3.256,251,3.256,252,5.05]],["t/575",[20,2.646,72,3.222,74,3.324,133,4.683,253,5.202,254,5.202]],["t/587",[55,1.698,74,3.125,91,1.624,113,2.608,121,1.698,122,3.648,198,2.813,209,2.331,242,2.608,255,4.403,256,2.608,257,2.813,258,3.126]],["t/593",[2,1.075,16,2.926,20,1.205,37,1.258,47,1.69,78,1.767,120,1.623,127,1.86,226,1.86,259,2.369,260,2.369,261,2.369,262,2.132,263,2.132,264,1.976,265,2.132,266,2.369,267,2.132,268,2.369,269,2.369,270,2.369,271,2.369]],["t/605",[72,3.021,74,3.117,112,3.223,142,3.638,272,4.878,273,4.878,274,4.878]],["t/610",[2,0.771,23,1.123,24,0.745,25,1.165,27,0.924,31,1.268,55,0.924,73,1.335,74,2.99,105,2.203,121,0.924,122,2.203,125,1.213,168,1.335,221,1.53,242,1.418,255,2.659,275,1.53,276,2.954,277,1.7,278,2.659,279,2.921,280,1.7,281,1.7,282,1.7,283,1.7,284,1.7]],["t/618",[72,3.222,239,4.683,285,5.202,286,5.202,287,5.202,288,5.202]],["t/621",[72,3.222,74,3.324,289,5.202,290,5.202,291,4.683,292,5.202]],["t/628",[101,4.04,102,4.04]],["t/654",[2,2.083,16,2.688,20,2.335,24,2.012,112,3.034,293,4.592,294,3.831,295,3.831]],["t/668",[2,2.947,296,6.497,297,5.848]],["t/670",[2,2.36,24,2.28,76,4.34,108,3.045,298,5.202,299,4.34]],["t/676",[37,1.431,89,1.847,108,2.545,243,2.116,262,2.426,263,4.92,264,2.249,265,3.914,300,2.695,301,2.695,302,2.695,303,2.695,304,2.695,305,2.695,306,2.695,307,2.695]],["t/684",[2,3.227,19,3.88,20,2.646,36,2.646,308,5.202]],["t/700",[3,2.159,16,1.694,20,1.472,37,1.537,89,3.155,226,2.273,243,2.273,309,2.605,310,2.895,311,4.604,312,2.895,313,2.415,314,2.415,315,2.605,316,2.605,317,2.895]],["t/702",[17,3.429,37,2.182,83,2.546,84,2.546,91,2.135,112,2.715,113,3.429,318,4.11,319,3.699,320,3.699]],["t/711",[16,1.988,19,2.534,89,2.327,122,2.534,131,4.696,209,2.534,321,3.397,322,3.397,323,3.397,324,3.397,325,3.397,326,3.397,327,3.397]],["t/717",[24,2.442,72,3.451,328,5.573,329,5.016,330,5.573]],["t/740",[316,4.391,331,4.878,332,4.878,333,4.878,334,4.878,335,4.878,336,4.878]],["t/750",[20,1.727,32,2.244,36,1.727,73,2.667,74,2.17,89,3.575,136,4.096,313,2.834,314,2.834,315,4.696,337,3.057]],["t/758",[136,3.406,338,4.338,339,4.338,340,6.261,341,4.338,342,4.338,343,4.338,344,4.338]],["t/762",[37,2.762,264,4.34,267,4.683,313,4.34,314,4.34,337,4.683]],["t/770",[16,1.829,20,1.59,72,3.03,74,3.851,83,1.936,94,2.608,122,2.331,125,2.229,279,2.331,309,2.813,345,3.126,346,3.126,347,3.126]],["t/772",[19,2.01,24,1.181,27,2.362,91,1.4,109,1.922,126,4.92,161,1.537,203,2.426,257,2.426,291,2.426,348,2.695,349,2.695,350,2.426,351,2.695,352,2.695,353,2.426,354,2.695]],["t/776",[2,1.864,17,3.429,21,2.546,23,2.715,151,2.472,294,3.429,295,3.429,320,3.699,355,4.11,356,4.11]],["t/782",[19,3.425,20,2.335,55,2.494,120,3.146,151,2.762,279,3.425,319,4.133,357,4.133]],["t/786",[20,1.892,21,2.304,23,2.457,24,1.63,55,2.02,109,2.653,120,2.549,121,2.02,279,2.774,357,3.348,358,3.72,359,3.72]],["t/790",[121,3.848,353,6.377]],["t/808",[20,1.42,25,1.913,26,3.834,27,1.516,35,1.42,36,2.275,55,1.516,64,2.082,74,1.783,213,2.329,256,3.731,279,2.082,360,2.512,361,2.329,362,2.791]],["t/814",[20,0.947,35,1.625,36,0.947,55,1.011,73,1.462,105,4.559,158,1.676,161,1.822,185,1.553,214,1.553,243,1.462,256,1.553,278,1.676,294,1.553,295,1.553,360,1.676,361,1.553,363,3.195,364,1.862,365,1.862,366,1.862,367,3.195,368,1.862,369,1.862]],["t/820",[21,3.021,24,2.982,106,4.391,127,3.83,370,4.878,371,4.878]],["t/828",[372,7.79]],["t/830",[21,2.016,24,2.213,31,2.428,35,1.656,67,2.556,70,2.016,71,2.716,118,3.601,120,2.231,125,2.322,373,2.556,374,2.93,375,2.716]],["t/869",[21,1.936,24,2.144,31,2.331,35,1.59,36,1.59,67,2.454,70,1.936,71,2.608,118,3.489,120,2.142,125,2.229,373,2.454,374,2.813,375,2.608]],["t/873",[2,1,24,0.966,27,1.198,35,1.121,36,0.622,64,2.247,85,1.02,87,0.912,91,0.635,120,0.838,127,0.96,134,0.912,155,1.645,210,1.84,350,1.1,373,0.96,376,3.013,377,3.834,378,1.985,379,2.205,380,1.222,381,1.222,382,2.205,383,1.222,384,1.222,385,1.222,386,1.222,387,1.222,388,1.222,389,1.222,390,1.222,391,1.222,392,1.222,393,1.222,394,1.222,395,1.222,396,1.222,397,1.222]],["t/881",[2,1.968,45,3.904,47,3.094,275,3.904,398,4.338,399,4.338,400,4.338,401,4.338,402,4.338]],["t/891",[2,2.152,24,1.317,36,1.529,87,3.538,91,1.561,299,2.508,403,3.006,404,3.006,405,3.006,406,4.744,407,4.744,408,3.006,409,3.006]],["t/901",[2,2.541,27,1.735,30,0.803,35,0.947,91,0.967,121,1.011,155,1.389,161,1.062,186,1.462,210,2.666,373,1.462,375,1.553,410,4.479,411,1.862,412,3.195,413,3.195,414,1.862,415,3.195,416,1.862,417,1.862,418,1.862]],["t/907",[129,6.377,130,6.377]],["t/913",[2,1.392,27,1.667,36,0.904,78,1.326,91,0.923,125,1.268,134,1.326,139,2.29,145,1.6,172,1.6,195,1.6,197,1.6,227,1.483,240,1.6,377,2.763,378,1.6,410,2.763,419,1.778,420,1.778,421,1.778,422,1.778,423,1.778,424,1.6,425,1.778,426,1.6,427,3.07,428,1.6,429,1.778,430,1.778]],["t/923",[2,2.083,16,2.688,20,2.335,69,4.133,94,3.831,95,4.133,299,3.831,431,4.592]],["t/925",[30,2.242,37,2.762,87,3.88,99,4.084,428,4.683,432,5.202]],["t/927",[4,2.936,16,1.116,21,1.181,27,1.036,35,2.173,36,1.659,67,1.497,78,1.423,117,1.591,121,1.036,134,2.433,209,2.433,216,1.717,297,1.717,361,1.591,424,1.717,426,1.717,433,3.262,434,1.907,435,1.907,436,1.907,437,1.907,438,1.907,439,1.907,440,1.907]],["t/939",[441,4.634,442,4.634,443,4.634]],["t/947",[444,6.377,445,0.917]],["t/950",[445,0.776,446,4.279,447,4.279,448,4.279]],["t/975",[445,0.917,449,4.855]],["t/978",[20,1.371,30,1.874,35,1.371,55,1.464,89,1.847,115,2.426,134,2.01,141,2.249,149,1.922,151,1.621,161,1.537,213,2.249,329,2.426,450,2.695,451,2.695,452,2.695,453,2.695,454,2.695,455,2.695]],["t/1007",[445,1.125]],["t/1010",[41,5.285,445,0.917]],["t/1015",[72,4.388,445,0.917]],["t/1020",[445,0.917,456,6.377]],["t/1023",[445,0.917,457,7.085]],["t/1026",[111,5.563,445,0.917]],["t/1035",[109,5.053,445,0.917]],["t/1052",[445,0.917,458,7.085]],["t/1055",[445,0.917,459,7.085]],["t/1076",[445,0.917,460,7.085]],["t/1085",[445,0.917,461,4.681]],["t/1088",[445,1.008]],["t/1091",[445,0.917,462,7.085]],["t/1094",[148,6.377,445,0.917]],["t/1097",[72,4.388,445,0.917]],["t/1102",[41,5.285,445,0.917]],["t/1107",[445,0.917,461,4.681]],["t/1110",[445,1.008]],["t/1113",[441,4.634,442,4.634,443,4.634]],["t/1121",[445,0.917,463,7.085]],["t/1130",[445,0.917,464,7.085]],["t/1133",[445,0.776,446,4.279,447,4.279,448,4.279]],["t/1156",[445,0.917,465,7.085]],["t/1159",[445,0.917,466,7.085]],["t/1164",[41,5.285,445,0.917]],["t/1169",[226,5.563,445,0.917]],["t/1194",[445,0.917,467,7.085]],["t/1197",[445,0.917,449,4.855]],["t/1200",[445,0.917,449,4.855]],["t/1203",[445,0.917,468,7.085]],["t/1208",[445,0.917,469,7.085]],["t/1211",[164,6.377,445,0.917]],["t/1232",[445,0.917,470,7.085]],["t/1235",[445,0.917,471,7.085]],["t/1240",[445,0.917,472,7.085]],["t/1243",[445,0.917,473,7.085]],["t/1246",[445,0.917,474,7.085]],["t/1255",[445,0.917,475,7.085]],["t/1258",[445,0.917,461,4.681]],["t/1261",[445,0.917,476,7.085]],["t/1264",[445,0.917,477,7.085]],["t/1267",[445,0.917,478,7.085]],["t/1270",[445,1.008]],["t/1299",[445,0.917,456,6.377]],["t/1302",[445,0.917,449,4.855]],["t/1305",[441,4.634,442,4.634,443,4.634]],["t/1313",[445,0.917,461,4.681]],["t/1316",[445,0.776,446,4.279,447,4.279,448,4.279]],["t/1325",[445,1.008]],["t/1338",[445,0.917,479,7.085]],["t/1341",[445,0.917,480,7.085]],["t/1344",[445,0.917,449,4.855]],["t/1357",[222,6.377,445,0.917]],["t/1360",[445,0.917,481,7.085]],["t/1363",[441,4.634,442,4.634,443,4.634]],["t/1371",[445,0.776,446,4.279,447,4.279,448,4.279]],["t/1422",[445,0.917,482,7.085]],["t/1435",[445,0.917,483,7.085]],["t/1438",[445,0.917,484,7.085]],["t/1441",[445,0.917,485,7.085]],["t/1444",[445,0.917,486,7.085]],["t/1449",[445,0.917,487,6.377]],["t/1478",[445,0.917,488,7.085]],["t/1483",[445,0.917,489,6.377]],["t/1486",[445,0.917,490,7.085]],["t/1489",[445,0.917,491,6.377]],["t/1492",[445,0.917,492,6.377]],["t/1495",[445,0.917,493,6.377]],["t/1498",[445,0.917,494,7.085]],["t/1523",[445,0.917,495,7.085]],["t/1528",[445,0.917,496,6.377]],["t/1531",[445,0.917,489,6.377]],["t/1534",[445,0.917,487,6.377]],["t/1563",[445,0.917,492,6.377]],["t/1566",[445,0.917,496,6.377]],["t/1569",[445,0.917,497,7.085]],["t/1572",[445,0.917,493,6.377]],["t/1575",[445,0.917,491,6.377]],["t/1578",[445,0.917,498,7.085]],["t/1597",[445,0.917,499,5.911]],["t/1600",[445,0.917,500,6.377]],["t/1605",[445,0.917,501,7.085]],["t/1608",[445,0.917,502,7.085]],["t/1613",[445,0.917,503,7.085]],["t/1618",[445,0.917,504,7.085]],["t/1623",[445,0.917,505,7.085]],["t/1628",[441,4.634,442,4.634,443,4.634]],["t/1636",[445,0.776,446,4.279,447,4.279,448,4.279]],["t/1699",[445,0.917,506,7.085]],["t/1702",[29,6.377,445,0.917]],["t/1707",[445,0.917,449,4.855]],["t/1710",[445,0.917,507,7.085]],["t/1715",[445,0.917,508,7.085]],["t/1732",[445,0.917,509,5.563]],["t/1743",[445,0.917,461,4.681]],["t/1746",[445,0.917,499,5.911]],["t/1749",[445,0.917,510,5.911]],["t/1754",[445,1.008]],["t/1757",[445,0.917,510,5.911]],["t/1762",[445,0.917,511,7.085]],["t/1779",[445,0.917,499,5.911]],["t/1782",[445,0.917,461,4.681]],["t/1785",[445,1.008]],["t/1788",[445,0.917,512,7.085]],["t/1811",[445,0.917,509,5.563]],["t/1822",[445,0.917,500,6.377]],["t/1827",[445,0.917,513,7.085]],["t/1832",[445,0.917,514,6.377]],["t/1837",[445,0.917,449,4.855]],["t/1850",[41,5.285,445,0.917]],["t/1853",[444,6.377,445,0.917]],["t/1856",[445,0.917,515,7.085]],["t/1861",[445,0.917,514,6.377]],["t/1864",[445,0.917,516,7.085]],["t/1867",[445,0.917,517,7.085]],["t/1872",[246,6.377,445,0.917]],["t/1877",[441,4.634,442,4.634,443,4.634]],["t/1884",[445,0.917,518,7.085]],["t/1889",[445,0.917,519,7.085]],["t/1894",[445,0.776,446,4.279,447,4.279,448,4.279]],["t/1907",[445,0.917,510,5.911]],["t/1910",[445,0.917,520,7.085]],["t/1923",[445,0.917,509,5.563]],["t/1932",[445,0.917,461,4.681]],["t/1935",[445,0.917,521,7.085]],["t/1950",[445,0.917,509,5.563]],["t/1959",[445,1.008]],["t/1962",[445,0.917,461,4.681]],["t/1965",[445,0.917,522,7.085]],["t/1970",[445,1.008]],["t/1973",[30,3.054,57,5.053]],["t/1976",[30,3.054,57,5.053]],["t/1979",[30,3.054,57,5.053]],["t/1982",[30,3.054,57,5.053]],["t/1985",[30,3.054,57,5.053]],["t/1988",[72,4.024,89,4.452,523,6.497]]],"invertedIndex":[["0",{"_index":41,"t":{"22":{"position":[[12,1],[24,1],[26,1]]},"1010":{"position":[[0,1]]},"1102":{"position":[[0,1]]},"1164":{"position":[[0,1]]},"1850":{"position":[[0,1]]}}}],["1",{"_index":72,"t":{"46":{"position":[[0,1]]},"575":{"position":[[0,1]]},"605":{"position":[[0,1]]},"618":{"position":[[0,1]]},"621":{"position":[[0,1]]},"717":{"position":[[0,1]]},"770":{"position":[[5,1],[12,1]]},"1015":{"position":[[0,1]]},"1097":{"position":[[0,1]]},"1988":{"position":[[0,1]]}}}],["2",{"_index":346,"t":{"770":{"position":[[19,1]]}}}],["4",{"_index":40,"t":{"22":{"position":[[10,1]]}}}],["accountnamepattern",{"_index":482,"t":{"1422":{"position":[[0,18]]}}}],["adminpasswd",{"_index":326,"t":{"711":{"position":[[41,11]]}}}],["ai",{"_index":126,"t":{"176":{"position":[[9,2]]},"772":{"position":[[0,2],[22,2],[53,2]]}}}],["alertmanag",{"_index":453,"t":{"978":{"position":[[55,12]]}}}],["alertsnitch",{"_index":454,"t":{"978":{"position":[[68,11]]}}}],["api",{"_index":377,"t":{"873":{"position":[[18,3],[29,3],[53,3],[76,3],[131,3]]},"913":{"position":[[5,3],[58,3]]}}}],["app",{"_index":29,"t":{"20":{"position":[[35,4]]},"1702":{"position":[[0,4]]}}}],["appjobsdir",{"_index":507,"t":{"1710":{"position":[[0,10]]}}}],["associationtablenam",{"_index":469,"t":{"1208":{"position":[[0,20]]}}}],["attribut",{"_index":239,"t":{"517":{"position":[[15,10]]},"618":{"position":[[48,9]]}}}],["audioadapt",{"_index":287,"t":{"618":{"position":[[27,12]]}}}],["auth",{"_index":119,"t":{"170":{"position":[[5,4]]}}}],["authurl",{"_index":488,"t":{"1478":{"position":[[0,7]]}}}],["base",{"_index":147,"t":{"233":{"position":[[8,4]]}}}],["batchsiz",{"_index":495,"t":{"1523":{"position":[[0,9]]}}}],["beforescript",{"_index":458,"t":{"1052":{"position":[[0,12]]}}}],["beta",{"_index":107,"t":{"134":{"position":[[19,4]]},"176":{"position":[[15,4]]}}}],["buffer",{"_index":421,"t":{"913":{"position":[[33,6]]}}}],["changejobpricetyp",{"_index":486,"t":{"1444":{"position":[[0,18]]}}}],["cli",{"_index":308,"t":{"684":{"position":[[7,3]]}}}],["cluster",{"_index":135,"t":{"229":{"position":[[24,8]]}}}],["clustercom",{"_index":480,"t":{"1341":{"position":[[0,14]]}}}],["com",{"_index":400,"t":{"881":{"position":[[20,3]]}}}],["comment",{"_index":476,"t":{"1261":{"position":[[0,7]]}}}],["common",{"_index":175,"t":{"256":{"position":[[5,6]]}}}],["compos",{"_index":50,"t":{"38":{"position":[[41,7],[64,7],[117,7]]}}}],["comput",{"_index":290,"t":{"621":{"position":[[9,7]]}}}],["computenod",{"_index":468,"t":{"1203":{"position":[[0,12]]}}}],["config",{"_index":28,"t":{"20":{"position":[[28,6]]},"229":{"position":[[17,6],[46,6]]}}}],["connect",{"_index":459,"t":{"1055":{"position":[[0,7]]}}}],["content",{"_index":483,"t":{"1435":{"position":[[0,7]]}}}],["core",{"_index":475,"t":{"1255":{"position":[[0,5]]}}}],["cron",{"_index":503,"t":{"1613":{"position":[[0,4]]}}}],["data",{"_index":344,"t":{"758":{"position":[[23,4]]}}}],["db",{"_index":487,"t":{"1449":{"position":[[0,2]]},"1534":{"position":[[0,2]]}}}],["dbname",{"_index":489,"t":{"1483":{"position":[[0,6]]},"1531":{"position":[[0,6]]}}}],["dbpassword",{"_index":470,"t":{"1232":{"position":[[0,10]]}}}],["debug",{"_index":490,"t":{"1486":{"position":[[0,5]]}}}],["default",{"_index":499,"t":{"1597":{"position":[[0,7]]},"1746":{"position":[[0,7]]},"1779":{"position":[[0,7]]}}}],["defaultcolor",{"_index":522,"t":{"1965":{"position":[[0,12]]}}}],["defaulttext",{"_index":510,"t":{"1749":{"position":[[0,11]]},"1757":{"position":[[0,11]]},"1907":{"position":[[0,11]]}}}],["demo",{"_index":402,"t":{"881":{"position":[[39,4]]}}}],["deploy",{"_index":46,"t":{"38":{"position":[[18,10]]}}}],["dev",{"_index":342,"t":{"758":{"position":[[9,3]]}}}],["displaynam",{"_index":465,"t":{"1156":{"position":[[0,11]]}}}],["div",{"_index":238,"t":{"497":{"position":[[43,3]]}}}],["dn",{"_index":323,"t":{"711":{"position":[[27,2]]}}}],["docker",{"_index":49,"t":{"38":{"position":[[34,6],[57,6],[110,6]]}}}],["driver",{"_index":288,"t":{"618":{"position":[[41,6]]}}}],["enabl",{"_index":500,"t":{"1600":{"position":[[0,7]]},"1822":{"position":[[0,7]]}}}],["errormessag",{"_index":484,"t":{"1438":{"position":[[0,12]]}}}],["extra",{"_index":222,"t":{"340":{"position":[[0,5]]},"1357":{"position":[[0,6]]}}}],["fetchjob",{"_index":494,"t":{"1498":{"position":[[0,9]]}}}],["footer",{"_index":520,"t":{"1910":{"position":[[0,6]]}}}],["formdata",{"_index":460,"t":{"1076":{"position":[[0,8]]}}}],["github",{"_index":399,"t":{"881":{"position":[[13,6]]}}}],["go",{"_index":401,"t":{"881":{"position":[[36,2]]}}}],["gpu",{"_index":477,"t":{"1264":{"position":[[0,4]]}}}],["grafana",{"_index":452,"t":{"978":{"position":[[47,7]]}}}],["grpc",{"_index":408,"t":{"891":{"position":[[38,4]]}}}],["gui",{"_index":258,"t":{"587":{"position":[[33,3]]}}}],["hometext",{"_index":508,"t":{"1715":{"position":[[0,8]]}}}],["hometitl",{"_index":511,"t":{"1762":{"position":[[0,9]]}}}],["hook",{"_index":410,"t":{"901":{"position":[[12,4],[40,4],[49,4],[67,4]]},"913":{"position":[[9,4],[62,4]]}}}],["host",{"_index":491,"t":{"1489":{"position":[[0,4]]},"1575":{"position":[[0,4]]}}}],["hostnamemap",{"_index":509,"t":{"1732":{"position":[[0,11]]},"1811":{"position":[[0,11]]},"1923":{"position":[[0,11]]},"1950":{"position":[[0,11]]}}}],["html",{"_index":235,"t":{"497":{"position":[[28,4]]},"517":{"position":[[36,4]]}}}],["http",{"_index":275,"t":{"610":{"position":[[18,4]]},"881":{"position":[[5,5]]}}}],["http8080",{"_index":322,"t":{"711":{"position":[[14,8]]}}}],["hyperv",{"_index":301,"t":{"676":{"position":[[31,6]]}}}],["id",{"_index":137,"t":{"229":{"position":[[42,2],[61,2]]}}}],["init",{"_index":215,"t":{"320":{"position":[[19,4]]}}}],["instal",{"_index":205,"t":{"280":{"position":[[5,7]]}}}],["intel",{"_index":316,"t":{"700":{"position":[[41,5]]},"740":{"position":[[2,5]]}}}],["invalid",{"_index":285,"t":{"618":{"position":[[4,7]]}}}],["ip",{"_index":274,"t":{"605":{"position":[[11,2]]}}}],["item",{"_index":449,"t":{"975":{"position":[[0,5]]},"1197":{"position":[[0,5]]},"1200":{"position":[[0,5]]},"1302":{"position":[[0,5]]},"1344":{"position":[[0,5]]},"1707":{"position":[[0,5]]},"1837":{"position":[[0,5]]}}}],["jobchargecom",{"_index":502,"t":{"1608":{"position":[[0,16]]}}}],["jobchargemetadata",{"_index":167,"t":{"246":{"position":[[20,17]]}}}],["jobchargetyp",{"_index":504,"t":{"1618":{"position":[[0,13]]}}}],["jobmanag",{"_index":513,"t":{"1827":{"position":[[0,13]]}}}],["json",{"_index":171,"t":{"246":{"position":[[46,4]]}}}],["ldap",{"_index":131,"t":{"213":{"position":[[15,4]]},"711":{"position":[[2,4],[30,4]]}}}],["level",{"_index":442,"t":{"939":{"position":[[4,5]]},"1113":{"position":[[4,5]]},"1305":{"position":[[4,5]]},"1363":{"position":[[4,5]]},"1628":{"position":[[4,5]]},"1877":{"position":[[4,5]]}}}],["libvirt",{"_index":302,"t":{"676":{"position":[[38,7]]}}}],["linux",{"_index":304,"t":{"676":{"position":[[67,5]]}}}],["login",{"_index":289,"t":{"621":{"position":[[3,5]]}}}],["logindesktop",{"_index":512,"t":{"1788":{"position":[[0,12]]}}}],["loginnod",{"_index":471,"t":{"1235":{"position":[[0,10]]}}}],["logo",{"_index":245,"t":{"537":{"position":[[14,4]]}}}],["logopath",{"_index":228,"t":{"483":{"position":[[15,8]]}}}],["maco",{"_index":305,"t":{"676":{"position":[[73,5]]}}}],["managerurl",{"_index":472,"t":{"1240":{"position":[[0,10]]}}}],["maxdesktop",{"_index":515,"t":{"1856":{"position":[[0,11]]}}}],["mem",{"_index":478,"t":{"1267":{"position":[[0,3]]}}}],["method",{"_index":462,"t":{"1091":{"position":[[0,6]]}}}],["mi",{"_index":164,"t":{"246":{"position":[[5,3]]},"1211":{"position":[[0,3]]}}}],["misignor",{"_index":467,"t":{"1194":{"position":[[0,9]]}}}],["misurl",{"_index":516,"t":{"1864":{"position":[[0,6]]}}}],["modul",{"_index":315,"t":{"700":{"position":[[34,6]]},"750":{"position":[[0,6],[33,6]]}}}],["mung",{"_index":523,"t":{"1988":{"position":[[5,5]]}}}],["mysql",{"_index":455,"t":{"978":{"position":[[80,5]]}}}],["name",{"_index":444,"t":{"947":{"position":[[0,4]]},"1853":{"position":[[0,4]]}}}],["nf",{"_index":337,"t":{"750":{"position":[[20,3]]},"762":{"position":[[4,3]]}}}],["node",{"_index":456,"t":{"1020":{"position":[[0,5]]},"1299":{"position":[[0,5]]}}}],["object",{"_index":447,"t":{"950":{"position":[[9,6]]},"1133":{"position":[[9,6]]},"1316":{"position":[[9,6]]},"1371":{"position":[[9,6]]},"1636":{"position":[[9,6]]},"1894":{"position":[[9,6]]}}}],["oneapi",{"_index":336,"t":{"740":{"position":[[58,6]]}}}],["parallelstudioxexxxupdate4clusteredit",{"_index":334,"t":{"740":{"position":[[13,40]]}}}],["partit",{"_index":474,"t":{"1246":{"position":[[0,10]]}}}],["password",{"_index":492,"t":{"1492":{"position":[[0,8]]},"1563":{"position":[[0,8]]}}}],["path",{"_index":148,"t":{"233":{"position":[[13,4]]},"1094":{"position":[[0,4]]}}}],["patternproperti",{"_index":461,"t":{"1085":{"position":[[0,17]]},"1107":{"position":[[0,17]]},"1258":{"position":[[0,17]]},"1313":{"position":[[0,17]]},"1743":{"position":[[0,17]]},"1782":{"position":[[0,17]]},"1932":{"position":[[0,17]]},"1962":{"position":[[0,17]]}}}],["periodicfetch",{"_index":498,"t":{"1578":{"position":[[0,13]]}}}],["pkuhpc",{"_index":45,"t":{"38":{"position":[[6,6]]},"881":{"position":[[24,6]]}}}],["port",{"_index":496,"t":{"1528":{"position":[[0,4]]},"1566":{"position":[[0,4]]}}}],["portalurl",{"_index":506,"t":{"1699":{"position":[[0,9]]}}}],["predefinedchargingtyp",{"_index":505,"t":{"1623":{"position":[[0,23]]}}}],["primarycolor",{"_index":521,"t":{"1935":{"position":[[0,12]]}}}],["profil",{"_index":54,"t":{"38":{"position":[[74,7]]}}}],["prometheu",{"_index":451,"t":{"978":{"position":[[36,10]]}}}],["proto",{"_index":427,"t":{"913":{"position":[[74,5],[84,5]]}}}],["protocol",{"_index":420,"t":{"913":{"position":[[24,8]]}}}],["provid",{"_index":265,"t":{"593":{"position":[[37,8]]},"676":{"position":[[10,8],[100,8]]}}}],["public",{"_index":207,"t":{"280":{"position":[[19,6],[46,6]]}}}],["qo",{"_index":479,"t":{"1338":{"position":[[0,3]]}}}],["queri",{"_index":463,"t":{"1121":{"position":[[0,5]]}}}],["regex",{"_index":485,"t":{"1441":{"position":[[0,5]]}}}],["savedjobsdir",{"_index":518,"t":{"1884":{"position":[[0,12]]}}}],["schedul",{"_index":466,"t":{"1159":{"position":[[0,9]]}}}],["schema",{"_index":443,"t":{"939":{"position":[[10,7]]},"1113":{"position":[[10,7]]},"1305":{"position":[[10,7]]},"1363":{"position":[[10,7]]},"1628":{"position":[[10,7]]},"1877":{"position":[[10,7]]}}}],["scow",{"_index":2,"t":{"2":{"position":[[0,4]]},"18":{"position":[[21,4]]},"20":{"position":[[7,4]]},"38":{"position":[[13,4]]},"51":{"position":[[6,4]]},"78":{"position":[[11,4]]},"80":{"position":[[0,4]]},"240":{"position":[[1,4]]},"256":{"position":[[44,4]]},"280":{"position":[[36,4]]},"332":{"position":[[21,4]]},"593":{"position":[[54,4]]},"610":{"position":[[66,4]]},"654":{"position":[[12,4]]},"668":{"position":[[5,4]]},"670":{"position":[[0,4]]},"684":{"position":[[2,4],[12,4]]},"776":{"position":[[0,4]]},"873":{"position":[[0,4],[34,4]]},"881":{"position":[[31,4]]},"891":{"position":[[0,4],[24,4]]},"901":{"position":[[7,4],[19,4],[35,4],[62,4],[73,4]]},"913":{"position":[[0,4],[53,4]]},"923":{"position":[[0,4]]}}}],["script",{"_index":464,"t":{"1130":{"position":[[0,6]]}}}],["scriptpath",{"_index":473,"t":{"1243":{"position":[[0,10]]}}}],["sdb",{"_index":343,"t":{"758":{"position":[[13,3]]}}}],["shell",{"_index":246,"t":{"563":{"position":[[0,5]]},"1872":{"position":[[0,5]]}}}],["slurm",{"_index":226,"t":{"365":{"position":[[2,5]]},"593":{"position":[[48,5]]},"700":{"position":[[17,5]]},"1169":{"position":[[0,5]]}}}],["ssh",{"_index":128,"t":{"200":{"position":[[13,3]]}}}],["startindex",{"_index":501,"t":{"1605":{"position":[[0,10]]}}}],["submitjobdefaultpwd",{"_index":517,"t":{"1867":{"position":[[0,19]]}}}],["systemlanguag",{"_index":177,"t":{"256":{"position":[[23,14]]}}}],["tablenam",{"_index":497,"t":{"1569":{"position":[[0,9]]}}}],["titl",{"_index":481,"t":{"1360":{"position":[[0,5]]}}}],["top",{"_index":441,"t":{"939":{"position":[[0,3]]},"1113":{"position":[[0,3]]},"1305":{"position":[[0,3]]},"1363":{"position":[[0,3]]},"1628":{"position":[[0,3]]},"1877":{"position":[[0,3]]}}}],["turbovncpath",{"_index":519,"t":{"1889":{"position":[[0,12]]}}}],["type",{"_index":445,"t":{"947":{"position":[[5,4]]},"950":{"position":[[29,4]]},"975":{"position":[[6,4]]},"1007":{"position":[[0,4],[5,4]]},"1010":{"position":[[2,4]]},"1015":{"position":[[2,4]]},"1020":{"position":[[6,4]]},"1023":{"position":[[9,4]]},"1026":{"position":[[4,4]]},"1035":{"position":[[4,4]]},"1052":{"position":[[13,4]]},"1055":{"position":[[8,4]]},"1076":{"position":[[9,4]]},"1085":{"position":[[18,4]]},"1088":{"position":[[6,4]]},"1091":{"position":[[7,4]]},"1094":{"position":[[5,4]]},"1097":{"position":[[2,4]]},"1102":{"position":[[2,4]]},"1107":{"position":[[18,4]]},"1110":{"position":[[6,4]]},"1121":{"position":[[6,4]]},"1130":{"position":[[7,4]]},"1133":{"position":[[29,4]]},"1156":{"position":[[12,4]]},"1159":{"position":[[10,4]]},"1164":{"position":[[2,4]]},"1169":{"position":[[6,4]]},"1194":{"position":[[10,4]]},"1197":{"position":[[6,4]]},"1200":{"position":[[6,4]]},"1203":{"position":[[13,4]]},"1208":{"position":[[21,4]]},"1211":{"position":[[4,4]]},"1232":{"position":[[11,4]]},"1235":{"position":[[11,4]]},"1240":{"position":[[11,4]]},"1243":{"position":[[11,4]]},"1246":{"position":[[11,4]]},"1255":{"position":[[6,4]]},"1258":{"position":[[18,4]]},"1261":{"position":[[8,4]]},"1264":{"position":[[5,4]]},"1267":{"position":[[4,4]]},"1270":{"position":[[6,4]]},"1299":{"position":[[6,4]]},"1302":{"position":[[6,4]]},"1313":{"position":[[18,4]]},"1316":{"position":[[29,4]]},"1325":{"position":[[6,4]]},"1338":{"position":[[4,4]]},"1341":{"position":[[15,4]]},"1344":{"position":[[6,4]]},"1357":{"position":[[7,4]]},"1360":{"position":[[6,4]]},"1371":{"position":[[29,4]]},"1422":{"position":[[19,4]]},"1435":{"position":[[8,4]]},"1438":{"position":[[13,4]]},"1441":{"position":[[6,4]]},"1444":{"position":[[19,4]]},"1449":{"position":[[3,4]]},"1478":{"position":[[8,4]]},"1483":{"position":[[7,4]]},"1486":{"position":[[6,4]]},"1489":{"position":[[5,4]]},"1492":{"position":[[9,4]]},"1495":{"position":[[5,4]]},"1498":{"position":[[10,4]]},"1523":{"position":[[10,4]]},"1528":{"position":[[5,4]]},"1531":{"position":[[7,4]]},"1534":{"position":[[3,4]]},"1563":{"position":[[9,4]]},"1566":{"position":[[5,4]]},"1569":{"position":[[10,4]]},"1572":{"position":[[5,4]]},"1575":{"position":[[5,4]]},"1578":{"position":[[14,4]]},"1597":{"position":[[8,4]]},"1600":{"position":[[8,4]]},"1605":{"position":[[11,4]]},"1608":{"position":[[17,4]]},"1613":{"position":[[5,4]]},"1618":{"position":[[14,4]]},"1623":{"position":[[24,4]]},"1636":{"position":[[29,4]]},"1699":{"position":[[10,4]]},"1702":{"position":[[5,4]]},"1707":{"position":[[6,4]]},"1710":{"position":[[11,4]]},"1715":{"position":[[9,4]]},"1732":{"position":[[12,4]]},"1743":{"position":[[18,4]]},"1746":{"position":[[8,4]]},"1749":{"position":[[12,4]]},"1754":{"position":[[6,4]]},"1757":{"position":[[12,4]]},"1762":{"position":[[10,4]]},"1779":{"position":[[8,4]]},"1782":{"position":[[18,4]]},"1785":{"position":[[6,4]]},"1788":{"position":[[13,4]]},"1811":{"position":[[12,4]]},"1822":{"position":[[8,4]]},"1827":{"position":[[14,4]]},"1832":{"position":[[4,4]]},"1837":{"position":[[6,4]]},"1850":{"position":[[2,4]]},"1853":{"position":[[5,4]]},"1856":{"position":[[12,4]]},"1861":{"position":[[3,4]]},"1864":{"position":[[7,4]]},"1867":{"position":[[20,4]]},"1872":{"position":[[6,4]]},"1884":{"position":[[13,4]]},"1889":{"position":[[13,4]]},"1894":{"position":[[29,4]]},"1907":{"position":[[12,4]]},"1910":{"position":[[7,4]]},"1923":{"position":[[12,4]]},"1932":{"position":[[18,4]]},"1935":{"position":[[13,4]]},"1950":{"position":[[12,4]]},"1959":{"position":[[6,4]]},"1962":{"position":[[18,4]]},"1965":{"position":[[13,4]]},"1970":{"position":[[6,4]]}}}],["ui",{"_index":117,"t":{"155":{"position":[[0,2]]},"282":{"position":[[14,2],[24,2]]},"927":{"position":[[3,2]]}}}],["undefin",{"_index":448,"t":{"950":{"position":[[19,9]]},"1133":{"position":[[19,9]]},"1316":{"position":[[19,9]]},"1371":{"position":[[19,9]]},"1636":{"position":[[19,9]]},"1894":{"position":[[19,9]]}}}],["untitl",{"_index":446,"t":{"950":{"position":[[0,8]]},"1133":{"position":[[0,8]]},"1316":{"position":[[0,8]]},"1371":{"position":[[0,8]]},"1636":{"position":[[0,8]]},"1894":{"position":[[0,8]]}}}],["url",{"_index":189,"t":{"262":{"position":[[43,3]]},"303":{"position":[[32,3]]}}}],["user",{"_index":493,"t":{"1495":{"position":[[0,4]]},"1572":{"position":[[0,4]]}}}],["utc",{"_index":390,"t":{"873":{"position":[[104,3]]}}}],["v0",{"_index":39,"t":{"22":{"position":[[7,2]]}}}],["v1",{"_index":44,"t":{"22":{"position":[[21,2]]}}}],["vagrant",{"_index":262,"t":{"593":{"position":[[15,7]]},"676":{"position":[[0,7]]}}}],["valu",{"_index":286,"t":{"618":{"position":[[12,5]]}}}],["virtualbox",{"_index":263,"t":{"593":{"position":[[25,10]]},"676":{"position":[[20,10],[47,10],[88,10]]}}}],["vnc",{"_index":111,"t":{"134":{"position":[[32,3]]},"483":{"position":[[4,3]]},"517":{"position":[[4,3]]},"1026":{"position":[[0,3]]}}}],["web",{"_index":109,"t":{"134":{"position":[[27,3]]},"483":{"position":[[0,3]]},"517":{"position":[[0,3]]},"772":{"position":[[11,3]]},"786":{"position":[[22,3]]},"1035":{"position":[[0,3]]}}}],["window",{"_index":303,"t":{"676":{"position":[[59,7]]}}}],["wm",{"_index":514,"t":{"1832":{"position":[[0,3]]},"1861":{"position":[[0,2]]}}}],["x",{"_index":383,"t":{"873":{"position":[[81,1]]}}}],["xstartup",{"_index":457,"t":{"1023":{"position":[[0,8]]}}}],["yaml",{"_index":165,"t":{"246":{"position":[[9,4]]}}}],["yml",{"_index":138,"t":{"229":{"position":[[53,3],[65,3]]},"256":{"position":[[12,3]]},"280":{"position":[[13,3]]}}}],["一个",{"_index":21,"t":{"20":{"position":[[1,2]]},"38":{"position":[[1,2]]},"229":{"position":[[37,2]]},"497":{"position":[[41,2]]},"776":{"position":[[5,2]]},"786":{"position":[[18,2]]},"820":{"position":[[6,2]]},"830":{"position":[[27,2]]},"869":{"position":[[30,2]]},"927":{"position":[[18,2]]}}}],["一些",{"_index":210,"t":{"282":{"position":[[8,2]]},"873":{"position":[[9,2],[41,2]]},"901":{"position":[[26,2],[89,2]]}}}],["一天",{"_index":386,"t":{"873":{"position":[[85,2]]}}}],["一步",{"_index":311,"t":{"700":{"position":[[11,2],[13,2]]}}}],["一致",{"_index":394,"t":{"873":{"position":[[123,2]]}}}],["一起",{"_index":82,"t":{"51":{"position":[[32,2]]}}}],["一键",{"_index":266,"t":{"593":{"position":[[60,2]]}}}],["上传",{"_index":251,"t":{"563":{"position":[[26,2]]}}}],["上来",{"_index":280,"t":{"610":{"position":[[57,2]]}}}],["上线",{"_index":5,"t":{"2":{"position":[[8,2]]}}}],["下拉菜单",{"_index":182,"t":{"262":{"position":[[19,4]]}}}],["下载",{"_index":252,"t":{"563":{"position":[[29,2],[34,2]]}}}],["不再",{"_index":333,"t":{"740":{"position":[[10,2]]}}}],["不同",{"_index":62,"t":{"38":{"position":[[103,2]]},"489":{"position":[[8,2]]},"497":{"position":[[5,2]]}}}],["不能",{"_index":374,"t":{"830":{"position":[[11,2]]},"869":{"position":[[11,2]]}}}],["个人信息",{"_index":192,"t":{"270":{"position":[[51,4]]}}}],["中",{"_index":161,"t":{"240":{"position":[[13,1],[32,1]]},"246":{"position":[[13,1],[59,1]]},"256":{"position":[[17,1]]},"262":{"position":[[23,1]]},"270":{"position":[[55,1]]},"272":{"position":[[5,1],[31,1]]},"282":{"position":[[2,1],[12,1]]},"332":{"position":[[25,1]]},"497":{"position":[[46,1]]},"772":{"position":[[27,1]]},"814":{"position":[[45,1],[68,1]]},"901":{"position":[[77,1]]},"978":{"position":[[16,1]]}}}],["主要",{"_index":51,"t":{"38":{"position":[[52,2]]}}}],["了解",{"_index":104,"t":{"134":{"position":[[6,2]]},"534":{"position":[[6,2]]}}}],["事件",{"_index":413,"t":{"901":{"position":[[28,2],[81,2]]}}}],["交互式",{"_index":25,"t":{"20":{"position":[[16,3],[43,3],[64,3]]},"134":{"position":[[8,3]]},"497":{"position":[[8,3]]},"517":{"position":[[54,3]]},"534":{"position":[[8,3]]},"610":{"position":[[8,3]]},"808":{"position":[[2,3]]}}}],["人员",{"_index":356,"t":{"776":{"position":[[14,2]]}}}],["什么",{"_index":6,"t":{"4":{"position":[[0,2]]},"233":{"position":[[0,2]]}}}],["介绍",{"_index":84,"t":{"53":{"position":[[2,2]]},"82":{"position":[[18,2]]},"136":{"position":[[2,2]]},"147":{"position":[[2,2]]},"176":{"position":[[2,2]]},"200":{"position":[[2,2]]},"213":{"position":[[2,2]]},"347":{"position":[[2,2]]},"553":{"position":[[2,2]]},"702":{"position":[[2,2]]}}}],["代理",{"_index":276,"t":{"610":{"position":[[22,2],[31,2]]}}}],["代码",{"_index":195,"t":{"272":{"position":[[14,2]]},"913":{"position":[[100,2]]}}}],["以上",{"_index":42,"t":{"22":{"position":[[15,2]]}}}],["以下",{"_index":218,"t":{"332":{"position":[[1,2]]}}}],["以及",{"_index":58,"t":{"38":{"position":[[90,2]]},"170":{"position":[[22,2]]},"489":{"position":[[34,2]]}}}],["仪表盘",{"_index":244,"t":{"537":{"position":[[10,3]]}}}],["任何",{"_index":437,"t":{"927":{"position":[[43,2]]}}}],["会",{"_index":186,"t":{"262":{"position":[[35,1]]},"303":{"position":[[24,1]]},"497":{"position":[[37,1]]},"901":{"position":[[32,1]]}}}],["传输",{"_index":254,"t":{"575":{"position":[[10,2]]}}}],["但是",{"_index":63,"t":{"38":{"position":[[108,2]]}}}],["作业",{"_index":105,"t":{"134":{"position":[[11,2]]},"246":{"position":[[38,2]]},"534":{"position":[[11,2]]},"610":{"position":[[11,2],[50,2]]},"814":{"position":[[2,2],[21,2],[43,2],[49,2],[66,2],[71,2]]}}}],["作为",{"_index":264,"t":{"593":{"position":[[35,2]]},"676":{"position":[[98,2]]},"762":{"position":[[7,2]]}}}],["使用",{"_index":36,"t":{"20":{"position":[[61,2]]},"80":{"position":[[4,2]]},"136":{"position":[[6,2]]},"213":{"position":[[4,2],[13,2]]},"256":{"position":[[42,2]]},"270":{"position":[[2,2],[20,2]]},"272":{"position":[[48,2]]},"365":{"position":[[0,2]]},"489":{"position":[[29,2],[44,2]]},"684":{"position":[[0,2]]},"750":{"position":[[14,2]]},"808":{"position":[[20,2],[43,2]]},"814":{"position":[[24,2]]},"869":{"position":[[25,2]]},"873":{"position":[[127,2]]},"891":{"position":[[36,2]]},"913":{"position":[[51,2]]},"927":{"position":[[1,2],[41,2]]}}}],["例",{"_index":347,"t":{"770":{"position":[[26,1]]}}}],["保存",{"_index":173,"t":{"246":{"position":[[52,2]]}}}],["信息",{"_index":141,"t":{"229":{"position":[[78,2],[86,2]]},"517":{"position":[[79,2]]},"978":{"position":[[23,2]]}}}],["修改",{"_index":142,"t":{"229":{"position":[[88,2],[99,2]]},"270":{"position":[[56,2]]},"483":{"position":[[27,2]]},"517":{"position":[[29,2]]},"605":{"position":[[5,2]]}}}],["借助",{"_index":360,"t":{"808":{"position":[[0,2]]},"814":{"position":[[0,2]]}}}],["值",{"_index":327,"t":{"711":{"position":[[53,1]]}}}],["假设",{"_index":338,"t":{"758":{"position":[[0,2]]}}}],["允许",{"_index":220,"t":{"332":{"position":[[11,2]]},"517":{"position":[[43,2]]}}}],["元素",{"_index":212,"t":{"282":{"position":[[16,2],[26,2]]}}}],["入口",{"_index":359,"t":{"786":{"position":[[28,2]]}}}],["公网",{"_index":440,"t":{"927":{"position":[[74,2]]}}}],["共享",{"_index":313,"t":{"700":{"position":[[27,2]]},"750":{"position":[[23,2]]},"762":{"position":[[9,2]]}}}],["关系",{"_index":93,"t":{"82":{"position":[[7,2]]}}}],["兴趣",{"_index":79,"t":{"51":{"position":[[15,2],[26,2]]}}}],["其中",{"_index":380,"t":{"873":{"position":[[48,2]]}}}],["具体",{"_index":97,"t":{"82":{"position":[[28,2]]}}}],["内",{"_index":385,"t":{"873":{"position":[[83,1]]}}}],["内置",{"_index":53,"t":{"38":{"position":[[71,2]]},"200":{"position":[[4,2]]},"213":{"position":[[6,2]]},"270":{"position":[[26,2]]}}}],["分为",{"_index":405,"t":{"891":{"position":[[10,2]]}}}],["分发",{"_index":423,"t":{"913":{"position":[[46,2]]}}}],["列表",{"_index":154,"t":{"238":{"position":[[19,2]]}}}],["创建",{"_index":32,"t":{"20":{"position":[[51,2]]},"229":{"position":[[35,2]]},"270":{"position":[[11,2],[29,2],[38,2]]},"272":{"position":[[41,2]]},"332":{"position":[[26,2]]},"483":{"position":[[29,2]]},"517":{"position":[[31,2],[52,2]]},"750":{"position":[[31,2]]}}}],["初始化",{"_index":217,"t":{"320":{"position":[[36,3]]}}}],["制作",{"_index":292,"t":{"621":{"position":[[20,2]]}}}],["前提条件",{"_index":103,"t":{"102":{"position":[[0,4]]},"116":{"position":[[0,4]]},"503":{"position":[[0,4]]},"541":{"position":[[0,4]]}}}],["前端",{"_index":406,"t":{"891":{"position":[[12,2],[29,2]]}}}],["功能",{"_index":55,"t":{"38":{"position":[[81,2],[96,2],[127,2]]},"82":{"position":[[25,2]]},"134":{"position":[[13,2],[38,2]]},"170":{"position":[[19,2]]},"240":{"position":[[11,2]]},"256":{"position":[[54,2]]},"270":{"position":[[43,2]]},"534":{"position":[[13,2]]},"587":{"position":[[6,2]]},"610":{"position":[[13,2]]},"782":{"position":[[18,2]]},"786":{"position":[[26,2]]},"808":{"position":[[7,2]]},"814":{"position":[[4,2]]},"978":{"position":[[3,2]]}}}],["包括",{"_index":300,"t":{"676":{"position":[[18,2]]}}}],["区",{"_index":396,"t":{"873":{"position":[[142,1]]}}}],["升级",{"_index":43,"t":{"22":{"position":[[18,2]]}}}],["博文",{"_index":1,"t":{"1":{"position":[[2,2]]}}}],["即可",{"_index":216,"t":{"320":{"position":[[27,2]]},"927":{"position":[[78,2]]}}}],["历史",{"_index":0,"t":{"1":{"position":[[0,2]]}}}],["参与",{"_index":77,"t":{"51":{"position":[[4,2],[34,2]]}}}],["参与者",{"_index":81,"t":{"51":{"position":[[29,3]]}}}],["参考",{"_index":99,"t":{"82":{"position":[[33,2]]},"134":{"position":[[0,2]]},"534":{"position":[[0,2]]},"925":{"position":[[11,2]]}}}],["发生",{"_index":412,"t":{"901":{"position":[[24,2],[78,2]]}}}],["变量",{"_index":59,"t":{"38":{"position":[[92,2]]}}}],["只有",{"_index":230,"t":{"489":{"position":[[36,2]]}}}],["可以",{"_index":35,"t":{"20":{"position":[[59,2]]},"262":{"position":[[1,2]]},"270":{"position":[[18,2],[48,2],[71,2]]},"272":{"position":[[8,2],[38,2]]},"280":{"position":[[33,2]]},"303":{"position":[[1,2]]},"483":{"position":[[11,2]]},"489":{"position":[[42,2]]},"517":{"position":[[11,2]]},"537":{"position":[[1,2]]},"808":{"position":[[11,2]]},"814":{"position":[[8,2],[37,2]]},"830":{"position":[[21,2]]},"869":{"position":[[21,2]]},"873":{"position":[[23,2],[70,2]]},"901":{"position":[[58,2]]},"927":{"position":[[23,2],[39,2],[68,2]]},"978":{"position":[[5,2]]}}}],["右侧",{"_index":181,"t":{"262":{"position":[[14,2]]}}}],["各个",{"_index":33,"t":{"20":{"position":[[53,2]]},"82":{"position":[[2,2],[20,2],[35,2]]},"170":{"position":[[25,2]]},"489":{"position":[[23,2]]}}}],["各类",{"_index":298,"t":{"670":{"position":[[5,2]]}}}],["同时",{"_index":143,"t":{"229":{"position":[[95,2]]}}}],["同步",{"_index":223,"t":{"363":{"position":[[0,2]]}}}],["同级",{"_index":206,"t":{"280":{"position":[[16,2]]}}}],["后台",{"_index":321,"t":{"711":{"position":[[6,2]]}}}],["后续",{"_index":417,"t":{"901":{"position":[[91,2]]}}}],["启动",{"_index":362,"t":{"808":{"position":[[32,2]]}}}],["告警",{"_index":450,"t":{"978":{"position":[[26,2]]}}}],["命令",{"_index":249,"t":{"563":{"position":[[11,2]]}}}],["器",{"_index":8,"t":{"4":{"position":[[5,1]]},"363":{"position":[[4,1]]}}}],["因此",{"_index":306,"t":{"676":{"position":[[82,2]]}}}],["国际化",{"_index":160,"t":{"240":{"position":[[8,3],[39,3]]},"256":{"position":[[51,3]]}}}],["图",{"_index":95,"t":{"82":{"position":[[11,1]]},"923":{"position":[[13,1]]}}}],["图标",{"_index":229,"t":{"483":{"position":[[34,2]]}}}],["地",{"_index":15,"t":{"18":{"position":[[12,1]]}}}],["均",{"_index":34,"t":{"20":{"position":[[58,1]]},"489":{"position":[[27,1]]}}}],["基于",{"_index":261,"t":{"593":{"position":[[13,2]]}}}],["基本",{"_index":358,"t":{"786":{"position":[[20,2]]}}}],["增加",{"_index":183,"t":{"262":{"position":[[24,2]]},"272":{"position":[[10,2]]},"303":{"position":[[3,2]]}}}],["处理",{"_index":418,"t":{"901":{"position":[[93,2]]}}}],["外界",{"_index":434,"t":{"927":{"position":[[21,2]]}}}],["多",{"_index":69,"t":{"38":{"position":[[139,1]]},"923":{"position":[[4,1]]}}}],["大家",{"_index":12,"t":{"18":{"position":[[7,2]]}}}],["天",{"_index":384,"t":{"873":{"position":[[82,1]]}}}],["如下",{"_index":94,"t":{"82":{"position":[[9,2]]},"770":{"position":[[33,2]]},"923":{"position":[[11,2]]}}}],["如何",{"_index":112,"t":{"136":{"position":[[4,2]]},"147":{"position":[[4,2]]},"176":{"position":[[4,2]]},"347":{"position":[[4,2]]},"553":{"position":[[4,2]]},"605":{"position":[[3,2]]},"654":{"position":[[0,2]]},"702":{"position":[[4,2]]}}}],["如果",{"_index":373,"t":{"830":{"position":[[0,2]]},"869":{"position":[[0,2]]},"873":{"position":[[110,2]]},"901":{"position":[[0,2]]}}}],["字",{"_index":169,"t":{"246":{"position":[[43,1]]}}}],["存储",{"_index":314,"t":{"700":{"position":[[29,2]]},"750":{"position":[[25,2]]},"762":{"position":[[11,2]]}}}],["存放",{"_index":204,"t":{"280":{"position":[[1,2]]}}}],["安装",{"_index":89,"t":{"78":{"position":[[6,2]]},"676":{"position":[[79,2]]},"700":{"position":[[25,2],[32,2]]},"711":{"position":[[37,2]]},"750":{"position":[[17,2],[39,2]]},"978":{"position":[[86,2]]},"1988":{"position":[[3,2]]}}}],["完成",{"_index":191,"t":{"270":{"position":[[36,2]]},"320":{"position":[[7,2]]}}}],["定义",{"_index":240,"t":{"517":{"position":[[48,2]]},"913":{"position":[[43,2]]}}}],["实现",{"_index":31,"t":{"20":{"position":[[49,2]]},"38":{"position":[[48,2],[99,2]]},"610":{"position":[[59,2]]},"830":{"position":[[25,2]]},"869":{"position":[[28,2]]}}}],["实验",{"_index":129,"t":{"204":{"position":[[0,2]]},"907":{"position":[[0,2]]}}}],["审计",{"_index":116,"t":{"147":{"position":[[8,2]]}}}],["客户端",{"_index":393,"t":{"873":{"position":[[120,3]]}}}],["密码",{"_index":193,"t":{"270":{"position":[[58,2],[63,2]]}}}],["对",{"_index":76,"t":{"51":{"position":[[3,1],[22,1]]},"497":{"position":[[4,1]]},"670":{"position":[[4,1]]}}}],["对于",{"_index":132,"t":{"229":{"position":[[0,2]]},"270":{"position":[[61,2]]}}}],["对应",{"_index":145,"t":{"229":{"position":[[101,2]]},"913":{"position":[[94,2]]}}}],["对系统",{"_index":318,"t":{"702":{"position":[[6,3]]}}}],["导航",{"_index":179,"t":{"262":{"position":[[11,2]]},"303":{"position":[[13,2]]}}}],["封锁",{"_index":225,"t":{"363":{"position":[[10,2]]}}}],["将",{"_index":168,"t":{"246":{"position":[[37,1]]},"280":{"position":[[32,1]]},"497":{"position":[[36,1]]},"610":{"position":[[25,1]]}}}],["就",{"_index":198,"t":{"272":{"position":[[37,1]]},"587":{"position":[[18,1]]}}}],["工具软件",{"_index":317,"t":{"700":{"position":[[47,4]]}}}],["已有",{"_index":293,"t":{"654":{"position":[[3,2]]}}}],["希望",{"_index":392,"t":{"873":{"position":[[112,2]]}}}],["帮助",{"_index":88,"t":{"78":{"position":[[3,2]]}}}],["常见",{"_index":319,"t":{"702":{"position":[[12,2]]},"782":{"position":[[13,2]]}}}],["应用",{"_index":26,"t":{"20":{"position":[[19,2],[46,2],[67,2]]},"134":{"position":[[36,2]]},"483":{"position":[[8,2],[31,2]]},"489":{"position":[[32,2],[47,2]]},"497":{"position":[[11,2]]},"517":{"position":[[8,2],[33,2],[57,2],[73,2]]},"808":{"position":[[5,2],[34,2],[47,2]]}}}],["开发",{"_index":78,"t":{"51":{"position":[[12,2],[38,2]]},"53":{"position":[[4,2]]},"593":{"position":[[5,2]]},"913":{"position":[[109,2]]},"927":{"position":[[13,2]]}}}],["开始",{"_index":310,"t":{"700":{"position":[[8,2]]}}}],["待",{"_index":339,"t":{"758":{"position":[[2,1]]}}}],["性功能",{"_index":130,"t":{"204":{"position":[[2,3]]},"907":{"position":[[2,3]]}}}],["总体",{"_index":403,"t":{"891":{"position":[[6,2]]}}}],["情况",{"_index":219,"t":{"332":{"position":[[3,2]]}}}],["想",{"_index":425,"t":{"913":{"position":[[50,1]]}}}],["感谢您",{"_index":75,"t":{"51":{"position":[[0,3]]}}}],["成功",{"_index":364,"t":{"814":{"position":[[33,2]]}}}],["我们",{"_index":10,"t":{"18":{"position":[[0,2]]},"20":{"position":[[23,2]]},"51":{"position":[[18,2]]},"270":{"position":[[69,2]]}}}],["或者",{"_index":221,"t":{"332":{"position":[[15,2]]},"610":{"position":[[44,2]]}}}],["所在",{"_index":282,"t":{"610":{"position":[[70,2]]}}}],["所有",{"_index":73,"t":{"46":{"position":[[3,2]]},"610":{"position":[[81,2]]},"750":{"position":[[10,2]]},"814":{"position":[[64,2]]}}}],["所示",{"_index":431,"t":{"923":{"position":[[14,2]]}}}],["手动",{"_index":144,"t":{"229":{"position":[[97,2]]}}}],["才能",{"_index":430,"t":{"913":{"position":[[105,2]]}}}],["执行",{"_index":369,"t":{"814":{"position":[[74,2]]}}}],["扩展",{"_index":433,"t":{"927":{"position":[[5,2],[33,2]]}}}],["技术开发",{"_index":438,"t":{"927":{"position":[[45,4]]}}}],["报错",{"_index":328,"t":{"717":{"position":[[5,2]]}}}],["挂载",{"_index":340,"t":{"758":{"position":[[3,2],[17,2]]}}}],["指定",{"_index":188,"t":{"262":{"position":[[40,2]]},"303":{"position":[[29,2]]},"517":{"position":[[71,2]]},"563":{"position":[[36,2]]}}}],["按",{"_index":156,"t":{"238":{"position":[[27,1]]}}}],["描述",{"_index":234,"t":{"497":{"position":[[21,2]]}}}],["提交",{"_index":363,"t":{"814":{"position":[[19,2],[31,2]]}}}],["提供",{"_index":120,"t":{"170":{"position":[[13,2],[29,2]]},"593":{"position":[[46,2]]},"782":{"position":[[4,2]]},"786":{"position":[[15,2]]},"830":{"position":[[4,2]]},"869":{"position":[[4,2]]},"873":{"position":[[6,2]]}}}],["搭建",{"_index":312,"t":{"700":{"position":[[15,2]]}}}],["操作",{"_index":113,"t":{"136":{"position":[[11,2]]},"587":{"position":[[36,2]]},"702":{"position":[[16,2]]}}}],["支持",{"_index":108,"t":{"134":{"position":[[25,2]]},"238":{"position":[[25,2]]},"240":{"position":[[17,2]]},"246":{"position":[[2,2]]},"256":{"position":[[0,2]]},"270":{"position":[[9,2]]},"282":{"position":[[3,2],[19,2]]},"489":{"position":[[0,2]]},"497":{"position":[[2,2],[26,2]]},"563":{"position":[[7,2],[32,2]]},"670":{"position":[[13,2]]},"676":{"position":[[7,2],[57,2]]}}}],["收费",{"_index":196,"t":{"272":{"position":[[19,2]]}}}],["改名",{"_index":335,"t":{"740":{"position":[[55,2]]}}}],["放在",{"_index":237,"t":{"497":{"position":[[39,2]]}}}],["教程",{"_index":307,"t":{"676":{"position":[[85,2]]}}}],["数据",{"_index":350,"t":{"772":{"position":[[29,2]]},"873":{"position":[[11,2]]}}}],["数据库",{"_index":388,"t":{"873":{"position":[[96,3]]}}}],["数据结构",{"_index":419,"t":{"913":{"position":[[14,4]]}}}],["文件",{"_index":139,"t":{"229":{"position":[[69,2]]},"256":{"position":[[15,2]]},"280":{"position":[[30,2]]},"563":{"position":[[23,2],[38,2]]},"913":{"position":[[79,2],[89,2]]}}}],["文件系统",{"_index":250,"t":{"563":{"position":[[16,4]]}}}],["文字",{"_index":233,"t":{"497":{"position":[[17,2]]}}}],["文本",{"_index":162,"t":{"240":{"position":[[34,2]]},"497":{"position":[[24,2]]},"537":{"position":[[19,2]]}}}],["文档",{"_index":3,"t":{"2":{"position":[[4,2]]},"22":{"position":[[1,2]]},"134":{"position":[[2,2]]},"534":{"position":[[2,2]]},"700":{"position":[[1,2]]}}}],["新",{"_index":199,"t":{"272":{"position":[[43,1],[52,1]]}}}],["新版",{"_index":331,"t":{"740":{"position":[[0,2]]}}}],["方便",{"_index":14,"t":{"18":{"position":[[10,2]]}}}],["方式",{"_index":203,"t":{"272":{"position":[[56,2]]},"772":{"position":[[45,2]]}}}],["方案",{"_index":267,"t":{"593":{"position":[[64,2]]},"762":{"position":[[1,2]]}}}],["无法",{"_index":66,"t":{"38":{"position":[[132,2]]}}}],["日志",{"_index":115,"t":{"136":{"position":[[15,2]]},"978":{"position":[[28,2]]}}}],["日期",{"_index":381,"t":{"873":{"position":[[58,2]]}}}],["时",{"_index":155,"t":{"238":{"position":[[21,1]]},"270":{"position":[[15,1]]},"517":{"position":[[59,1]]},"873":{"position":[[134,1],[141,1]]},"901":{"position":[[30,1]]}}}],["时间",{"_index":391,"t":{"873":{"position":[[107,2]]}}}],["是否",{"_index":178,"t":{"256":{"position":[[40,2]]}}}],["显示",{"_index":163,"t":{"240":{"position":[[36,2],[42,2]]}}}],["更",{"_index":13,"t":{"18":{"position":[[9,1]]},"38":{"position":[[138,1]]}}}],["替换",{"_index":60,"t":{"38":{"position":[[94,2]]}}}],["服务",{"_index":125,"t":{"170":{"position":[[33,2]]},"610":{"position":[[73,2]]},"770":{"position":[[7,2]]},"830":{"position":[[34,2]]},"869":{"position":[[37,2]]},"913":{"position":[[19,2]]}}}],["服务器",{"_index":416,"t":{"901":{"position":[[53,3]]}}}],["服务端",{"_index":324,"t":{"711":{"position":[[34,3]]}}}],["未",{"_index":365,"t":{"814":{"position":[[40,1]]}}}],["未来",{"_index":68,"t":{"38":{"position":[[136,2]]}}}],["本",{"_index":37,"t":{"22":{"position":[[0,1]]},"53":{"position":[[0,1]]},"78":{"position":[[0,1]]},"136":{"position":[[0,1]]},"147":{"position":[[0,1]]},"176":{"position":[[0,1]]},"200":{"position":[[0,1]]},"213":{"position":[[0,1]]},"347":{"position":[[0,1]]},"553":{"position":[[0,1]]},"593":{"position":[[0,1]]},"676":{"position":[[84,1]]},"700":{"position":[[0,1]]},"702":{"position":[[0,1]]},"762":{"position":[[0,1]]},"925":{"position":[[0,1]]}}}],["本次",{"_index":345,"t":{"770":{"position":[[0,2]]}}}],["权",{"_index":124,"t":{"170":{"position":[[32,1]]}}}],["来说",{"_index":404,"t":{"891":{"position":[[8,2]]}}}],["极大",{"_index":268,"t":{"593":{"position":[[67,2]]}}}],["构建",{"_index":297,"t":{"668":{"position":[[3,2]]},"927":{"position":[[16,2]]}}}],["架构",{"_index":299,"t":{"670":{"position":[[10,2]]},"891":{"position":[[20,2]]},"923":{"position":[[9,2]]}}}],["查看",{"_index":329,"t":{"717":{"position":[[8,2]]},"978":{"position":[[17,2]]}}}],["查询",{"_index":152,"t":{"238":{"position":[[15,2],[34,2]]}}}],["标签",{"_index":236,"t":{"497":{"position":[[33,2]]}}}],["栏",{"_index":180,"t":{"262":{"position":[[13,1]]}}}],["格式",{"_index":172,"t":{"246":{"position":[[50,2]]},"913":{"position":[[39,2]]}}}],["桌面",{"_index":255,"t":{"587":{"position":[[4,2],[27,2]]},"610":{"position":[[5,2],[37,2]]}}}],["模型",{"_index":353,"t":{"772":{"position":[[36,2]]},"790":{"position":[[2,2]]}}}],["欢迎",{"_index":80,"t":{"51":{"position":[[20,2]]}}}],["段",{"_index":170,"t":{"246":{"position":[[44,1]]}}}],["每个",{"_index":133,"t":{"229":{"position":[[2,2]]},"575":{"position":[[4,2]]}}}],["注意",{"_index":395,"t":{"873":{"position":[[139,2]]}}}],["流程",{"_index":270,"t":{"593":{"position":[[74,2]]}}}],["流量",{"_index":277,"t":{"610":{"position":[[29,2]]}}}],["测试人员",{"_index":260,"t":{"593":{"position":[[8,4]]}}}],["浏览器",{"_index":256,"t":{"587":{"position":[[14,3]]},"808":{"position":[[16,3],[40,3]]},"814":{"position":[[13,3]]}}}],["消费",{"_index":153,"t":{"238":{"position":[[17,2],[28,2]]},"246":{"position":[[55,2]]}}}],["添加",{"_index":253,"t":{"575":{"position":[[8,2]]}}}],["源码",{"_index":296,"t":{"668":{"position":[[1,2]]}}}],["满足",{"_index":67,"t":{"38":{"position":[[134,2]]},"830":{"position":[[13,2]]},"869":{"position":[[13,2]]},"927":{"position":[[62,2]]}}}],["点击",{"_index":185,"t":{"262":{"position":[[29,2]]},"303":{"position":[[18,2]]},"814":{"position":[[17,2]]}}}],["然后",{"_index":197,"t":{"272":{"position":[[24,2]]},"913":{"position":[[103,2]]}}}],["版本",{"_index":22,"t":{"20":{"position":[[3,2]]},"38":{"position":[[3,2]]},"134":{"position":[[23,2]]},"517":{"position":[[76,2]]}}}],["特定",{"_index":231,"t":{"489":{"position":[[38,2]]}}}],["状态",{"_index":214,"t":{"292":{"position":[[2,2]]},"363":{"position":[[12,2]]},"814":{"position":[[54,2]]}}}],["独立",{"_index":370,"t":{"820":{"position":[[8,2]]}}}],["环境变量",{"_index":57,"t":{"38":{"position":[[86,4]]},"1973":{"position":[[0,4]]},"1976":{"position":[[0,4]]},"1979":{"position":[[0,4]]},"1982":{"position":[[0,4]]},"1985":{"position":[[0,4]]}}}],["生成",{"_index":428,"t":{"913":{"position":[[91,2]]},"925":{"position":[[6,2]]}}}],["用到",{"_index":52,"t":{"38":{"position":[[54,2]]}}}],["用户",{"_index":121,"t":{"170":{"position":[[15,2]]},"200":{"position":[[18,2]]},"213":{"position":[[21,2]]},"256":{"position":[[2,2]]},"262":{"position":[[17,2]]},"270":{"position":[[13,2],[31,2],[40,2],[46,2]]},"332":{"position":[[13,2],[28,2]]},"363":{"position":[[8,2]]},"517":{"position":[[50,2],[67,2]]},"587":{"position":[[11,2]]},"610":{"position":[[26,2]]},"786":{"position":[[13,2]]},"790":{"position":[[0,2]]},"901":{"position":[[2,2]]},"927":{"position":[[66,2]]}}}],["由于",{"_index":387,"t":{"873":{"position":[[94,2]]}}}],["界面",{"_index":348,"t":{"772":{"position":[[15,2]]}}}],["登录",{"_index":122,"t":{"170":{"position":[[17,2]]},"587":{"position":[[0,2],[22,2]]},"610":{"position":[[40,2],[83,2]]},"711":{"position":[[25,2]]},"770":{"position":[[14,2]]}}}],["监听",{"_index":415,"t":{"901":{"position":[[46,2],[71,2]]}}}],["盘符",{"_index":341,"t":{"758":{"position":[[5,2]]}}}],["目前",{"_index":106,"t":{"134":{"position":[[17,2]]},"820":{"position":[[2,2]]}}}],["目录",{"_index":136,"t":{"229":{"position":[[32,2]]},"280":{"position":[[25,2]]},"750":{"position":[[27,2],[41,2]]},"758":{"position":[[19,2]]}}}],["直",{"_index":283,"t":{"610":{"position":[[79,1]]}}}],["直接",{"_index":361,"t":{"808":{"position":[[13,2]]},"814":{"position":[[10,2]]},"927":{"position":[[72,2]]}}}],["相关",{"_index":85,"t":{"53":{"position":[[8,2]]},"246":{"position":[[40,2]]},"873":{"position":[[15,2]]}}}],["相对路径",{"_index":146,"t":{"233":{"position":[[3,4]]}}}],["看到",{"_index":367,"t":{"814":{"position":[[46,2],[69,2]]}}}],["示例",{"_index":398,"t":{"881":{"position":[[0,2]]}}}],["私",{"_index":272,"t":{"605":{"position":[[9,1]]}}}],["称为",{"_index":435,"t":{"927":{"position":[[31,2]]}}}],["站",{"_index":436,"t":{"927":{"position":[[35,1]]}}}],["端",{"_index":407,"t":{"891":{"position":[[16,1],[33,1]]}}}],["等",{"_index":243,"t":{"517":{"position":[[78,1]]},"676":{"position":[[45,1]]},"700":{"position":[[46,1]]},"814":{"position":[[56,1]]}}}],["简介",{"_index":102,"t":{"84":{"position":[[2,2]]},"93":{"position":[[2,2]]},"374":{"position":[[2,2]]},"388":{"position":[[2,2]]},"399":{"position":[[2,2]]},"412":{"position":[[2,2]]},"424":{"position":[[2,2]]},"435":{"position":[[2,2]]},"442":{"position":[[2,2]]},"453":{"position":[[2,2]]},"460":{"position":[[2,2]]},"474":{"position":[[2,2]]},"628":{"position":[[2,2]]}}}],["简化",{"_index":269,"t":{"593":{"position":[[69,2]]}}}],["简要",{"_index":96,"t":{"82":{"position":[[16,2]]},"134":{"position":[[4,2]]},"534":{"position":[[4,2]]}}}],["算",{"_index":295,"t":{"654":{"position":[[6,1]]},"776":{"position":[[18,1]]},"814":{"position":[[27,1]]}}}],["算法",{"_index":352,"t":{"772":{"position":[[33,2]]}}}],["管理",{"_index":19,"t":{"18":{"position":[[19,2]]},"684":{"position":[[10,2]]},"711":{"position":[[8,2]]},"772":{"position":[[17,2]]},"782":{"position":[[16,2]]}}}],["管理员",{"_index":149,"t":{"238":{"position":[[1,3]]},"240":{"position":[[19,3]]},"332":{"position":[[17,3]]},"489":{"position":[[2,3]]},"517":{"position":[[45,3]]},"978":{"position":[[8,3]]}}}],["管理系统",{"_index":151,"t":{"238":{"position":[[10,4]]},"262":{"position":[[7,4]]},"270":{"position":[[22,4]]},"272":{"position":[[1,4]]},"303":{"position":[[8,4]]},"320":{"position":[[1,4],[31,4]]},"332":{"position":[[7,4]]},"347":{"position":[[8,4]]},"776":{"position":[[22,4]]},"782":{"position":[[0,4]]},"978":{"position":[[12,4]]}}}],["类",{"_index":110,"t":{"134":{"position":[[30,1],[35,1]]},"483":{"position":[[7,1]]},"517":{"position":[[7,1]]}}}],["类似",{"_index":61,"t":{"38":{"position":[[101,2]]}}}],["类型",{"_index":157,"t":{"238":{"position":[[30,2]]}}}],["系统",{"_index":24,"t":{"20":{"position":[[13,2]]},"80":{"position":[[12,2]]},"82":{"position":[[0,2]]},"147":{"position":[[10,2]]},"170":{"position":[[2,2],[11,2]]},"176":{"position":[[12,2]]},"200":{"position":[[8,2],[25,2]]},"213":{"position":[[10,2]]},"238":{"position":[[23,2]]},"240":{"position":[[15,2]]},"246":{"position":[[0,2]]},"270":{"position":[[7,2]]},"282":{"position":[[0,2]]},"497":{"position":[[0,2]]},"553":{"position":[[10,2]]},"610":{"position":[[2,2]]},"654":{"position":[[16,2]]},"670":{"position":[[7,2]]},"717":{"position":[[3,2]]},"772":{"position":[[3,2]]},"786":{"position":[[2,2]]},"820":{"position":[[0,2],[13,2]]},"830":{"position":[[2,2],[9,2]]},"869":{"position":[[2,2],[9,2]]},"873":{"position":[[4,2],[38,2]]},"891":{"position":[[4,2]]}}}],["纯",{"_index":48,"t":{"38":{"position":[[31,1]]}}}],["组件",{"_index":92,"t":{"82":{"position":[[4,2],[22,2],[37,2]]},"170":{"position":[[27,2]]},"282":{"position":[[29,2]]}}}],["终端",{"_index":247,"t":{"563":{"position":[[5,2]]}}}],["结束",{"_index":366,"t":{"814":{"position":[[41,2]]}}}],["结果",{"_index":158,"t":{"238":{"position":[[36,2]]},"814":{"position":[[76,2]]}}}],["统一",{"_index":422,"t":{"913":{"position":[[41,2]]}}}],["统计",{"_index":376,"t":{"873":{"position":[[13,2],[66,2],[114,2]]}}}],["统计数据",{"_index":379,"t":{"873":{"position":[[43,4],[88,4]]}}}],["维",{"_index":320,"t":{"702":{"position":[[15,1]]},"776":{"position":[[13,1]]}}}],["维和",{"_index":18,"t":{"18":{"position":[[17,2]]}}}],["维度",{"_index":382,"t":{"873":{"position":[[61,2],[117,2]]}}}],["维护",{"_index":439,"t":{"927":{"position":[[50,2]]}}}],["编写",{"_index":140,"t":{"229":{"position":[[73,2]]}}}],["编译器",{"_index":332,"t":{"740":{"position":[[7,3]]}}}],["网",{"_index":273,"t":{"605":{"position":[[10,1]]}}}],["网站",{"_index":4,"t":{"2":{"position":[[6,2]]},"927":{"position":[[28,2],[56,2]]}}}],["网页",{"_index":211,"t":{"282":{"position":[[10,2]]}}}],["能",{"_index":257,"t":{"587":{"position":[[19,1]]},"772":{"position":[[5,1]]}}}],["能够",{"_index":242,"t":{"517":{"position":[[69,2]]},"587":{"position":[[8,2]]},"610":{"position":[[77,2]]}}}],["脚本",{"_index":325,"t":{"711":{"position":[[39,2]]}}}],["自动",{"_index":432,"t":{"925":{"position":[[4,2]]}}}],["自定义",{"_index":70,"t":{"38":{"position":[[140,3]]},"136":{"position":[[8,3]]},"240":{"position":[[22,3]]},"256":{"position":[[37,3]]},"272":{"position":[[16,3]]},"282":{"position":[[5,3],[21,3]]},"489":{"position":[[18,3]]},"537":{"position":[[3,3]]},"830":{"position":[[29,3]]},"869":{"position":[[32,3]]}}}],["自己",{"_index":375,"t":{"830":{"position":[[23,2]]},"869":{"position":[[23,2]]},"901":{"position":[[85,2]]}}}],["致力于",{"_index":11,"t":{"18":{"position":[[2,3]]}}}],["节",{"_index":83,"t":{"53":{"position":[[1,1]]},"136":{"position":[[1,1]]},"147":{"position":[[1,1]]},"176":{"position":[[1,1]]},"200":{"position":[[1,1]]},"213":{"position":[[1,1]]},"347":{"position":[[1,1]]},"553":{"position":[[1,1]]},"702":{"position":[[1,1]]},"770":{"position":[[30,1]]}}}],["节点",{"_index":74,"t":{"46":{"position":[[5,2]]},"575":{"position":[[12,2]]},"587":{"position":[[2,2],[24,2]]},"605":{"position":[[7,2]]},"610":{"position":[[42,2],[55,2],[75,2],[88,2]]},"621":{"position":[[16,2]]},"750":{"position":[[12,2]]},"770":{"position":[[9,2],[16,2],[23,2]]},"808":{"position":[[29,2]]}}}],["获取",{"_index":378,"t":{"873":{"position":[[32,2],[79,2]]},"913":{"position":[[72,2]]}}}],["行为",{"_index":114,"t":{"136":{"position":[[13,2]]}}}],["表单",{"_index":190,"t":{"270":{"position":[[33,2]]},"517":{"position":[[40,2],[61,2]]}}}],["要",{"_index":424,"t":{"913":{"position":[[49,1]]},"927":{"position":[[0,1]]}}}],["要求",{"_index":281,"t":{"610":{"position":[[64,2]]}}}],["规划",{"_index":309,"t":{"700":{"position":[[6,2]]},"770":{"position":[[31,2]]}}}],["规则",{"_index":194,"t":{"270":{"position":[[66,2]]},"272":{"position":[[21,2]]}}}],["计算",{"_index":279,"t":{"610":{"position":[[48,2],[53,2],[86,2]]},"770":{"position":[[21,2]]},"782":{"position":[[9,2]]},"786":{"position":[[8,2]]},"808":{"position":[[27,2]]}}}],["计费",{"_index":200,"t":{"272":{"position":[[45,2]]}}}],["计量",{"_index":202,"t":{"272":{"position":[[54,2]]}}}],["认证",{"_index":118,"t":{"170":{"position":[[0,2]]},"200":{"position":[[6,2],[20,2],[23,2]]},"213":{"position":[[8,2],[23,2]]},"270":{"position":[[5,2]]},"830":{"position":[[7,2],[32,2]]},"869":{"position":[[7,2],[35,2]]}}}],["训练",{"_index":349,"t":{"772":{"position":[[25,2]]}}}],["训练任务",{"_index":354,"t":{"772":{"position":[[56,4]]}}}],["记录",{"_index":174,"t":{"246":{"position":[[57,2]]}}}],["访问",{"_index":209,"t":{"280":{"position":[[56,2]]},"320":{"position":[[11,2]]},"587":{"position":[[20,2]]},"711":{"position":[[12,2]]},"927":{"position":[[25,2],[76,2]]}}}],["详细信息",{"_index":368,"t":{"814":{"position":[[57,4]]}}}],["语言",{"_index":429,"t":{"913":{"position":[[97,2]]}}}],["说明",{"_index":232,"t":{"497":{"position":[[15,2]]}}}],["请",{"_index":98,"t":{"82":{"position":[[32,1]]}}}],["读取",{"_index":56,"t":{"38":{"position":[[84,2]]}}}],["调度",{"_index":7,"t":{"4":{"position":[[3,2]]},"363":{"position":[[2,2]]}}}],["调用",{"_index":414,"t":{"901":{"position":[[44,2]]}}}],["财务",{"_index":371,"t":{"820":{"position":[[11,2]]}}}],["财务人员",{"_index":150,"t":{"238":{"position":[[5,4]]}}}],["账户",{"_index":224,"t":{"363":{"position":[[5,2]]}}}],["资料",{"_index":86,"t":{"53":{"position":[[11,2]]}}}],["资源",{"_index":213,"t":{"292":{"position":[[0,2]]},"808":{"position":[[24,2]]},"978":{"position":[[21,2]]}}}],["超",{"_index":294,"t":{"654":{"position":[[5,1]]},"776":{"position":[[17,1]]},"814":{"position":[[26,1]]}}}],["路径",{"_index":208,"t":{"280":{"position":[[42,2],[53,2]]},"320":{"position":[[15,2],[23,2]]},"489":{"position":[[15,2]]}}}],["跳转",{"_index":187,"t":{"262":{"position":[[36,2]]},"303":{"position":[[25,2]]},"563":{"position":[[13,2]]}}}],["软件",{"_index":101,"t":{"84":{"position":[[0,2]]},"93":{"position":[[0,2]]},"374":{"position":[[0,2]]},"388":{"position":[[0,2]]},"399":{"position":[[0,2]]},"412":{"position":[[0,2]]},"424":{"position":[[0,2]]},"435":{"position":[[0,2]]},"442":{"position":[[0,2]]},"453":{"position":[[0,2]]},"460":{"position":[[0,2]]},"474":{"position":[[0,2]]},"628":{"position":[[0,2]]}}}],["较弱",{"_index":65,"t":{"38":{"position":[[129,2]]}}}],["输入",{"_index":248,"t":{"563":{"position":[[9,2]]}}}],["过滤",{"_index":159,"t":{"238":{"position":[[38,2]]}}}],["运",{"_index":17,"t":{"18":{"position":[[16,1]]},"702":{"position":[[14,1]]},"776":{"position":[[12,1]]}}}],["运行",{"_index":278,"t":{"610":{"position":[[35,2],[46,2]]},"814":{"position":[[52,2]]}}}],["运行日志",{"_index":330,"t":{"717":{"position":[[10,4]]}}}],["这个",{"_index":201,"t":{"272":{"position":[[50,2]]}}}],["这些",{"_index":64,"t":{"38":{"position":[[125,2]]},"262":{"position":[[31,2]]},"303":{"position":[[20,2]]},"808":{"position":[[45,2]]},"873":{"position":[[27,2],[74,2],[129,2]]}}}],["进行",{"_index":91,"t":{"80":{"position":[[10,2]]},"200":{"position":[[16,2]]},"213":{"position":[[19,2]]},"229":{"position":[[6,2]]},"238":{"position":[[32,2]]},"270":{"position":[[73,2]]},"272":{"position":[[32,2]]},"320":{"position":[[29,2]]},"497":{"position":[[19,2]]},"563":{"position":[[21,2]]},"587":{"position":[[31,2]]},"702":{"position":[[9,2]]},"772":{"position":[[48,2]]},"873":{"position":[[63,2]]},"891":{"position":[[42,2]]},"901":{"position":[[87,2]]},"913":{"position":[[107,2]]}}}],["连",{"_index":284,"t":{"610":{"position":[[80,1]]}}}],["适用",{"_index":38,"t":{"22":{"position":[[3,2]]}}}],["适配器",{"_index":9,"t":{"4":{"position":[[6,3]]}}}],["选",{"_index":166,"t":{"246":{"position":[[17,1]]}}}],["选项",{"_index":241,"t":{"517":{"position":[[63,2]]}}}],["通信",{"_index":409,"t":{"891":{"position":[[44,2]]}}}],["通过",{"_index":27,"t":{"20":{"position":[[25,2]]},"38":{"position":[[32,2]]},"246":{"position":[[14,2]]},"256":{"position":[[18,2]]},"272":{"position":[[12,2]]},"483":{"position":[[13,2]]},"489":{"position":[[5,2]]},"517":{"position":[[13,2]]},"610":{"position":[[16,2]]},"772":{"position":[[8,2],[40,2]]},"808":{"position":[[38,2]]},"873":{"position":[[25,2],[72,2]]},"901":{"position":[[33,2],[60,2]]},"913":{"position":[[22,2],[82,2]]},"927":{"position":[[70,2]]}}}],["那么",{"_index":411,"t":{"901":{"position":[[17,2]]}}}],["部分",{"_index":87,"t":{"78":{"position":[[1,2]]},"82":{"position":[[14,2]]},"873":{"position":[[51,2]]},"891":{"position":[[17,2],[34,2]]},"925":{"position":[[1,2]]}}}],["部署",{"_index":16,"t":{"18":{"position":[[13,2]]},"82":{"position":[[30,2]]},"229":{"position":[[8,2]]},"280":{"position":[[40,2]]},"320":{"position":[[5,2],[13,2]]},"593":{"position":[[62,2],[72,2],[77,2]]},"654":{"position":[[10,2]]},"700":{"position":[[4,2]]},"711":{"position":[[0,2]]},"770":{"position":[[2,2]]},"923":{"position":[[7,2]]},"927":{"position":[[53,2]]}}}],["都",{"_index":227,"t":{"483":{"position":[[10,1]]},"517":{"position":[[10,1]]},"913":{"position":[[21,1]]}}}],["配置",{"_index":30,"t":{"20":{"position":[[40,2]]},"38":{"position":[[105,2]]},"78":{"position":[[9,2]]},"80":{"position":[[15,2]]},"147":{"position":[[6,2]]},"155":{"position":[[3,2]]},"176":{"position":[[6,2]]},"240":{"position":[[25,2]]},"246":{"position":[[18,2]]},"256":{"position":[[20,2]]},"270":{"position":[[75,2]]},"272":{"position":[[34,2]]},"347":{"position":[[6,2]]},"365":{"position":[[11,2]]},"483":{"position":[[23,2]]},"489":{"position":[[21,2]]},"497":{"position":[[13,2]]},"517":{"position":[[25,2]]},"553":{"position":[[6,2]]},"901":{"position":[[4,2]]},"925":{"position":[[9,2]]},"978":{"position":[[0,2],[33,2]]},"1973":{"position":[[4,2]]},"1976":{"position":[[4,2]]},"1979":{"position":[[4,2]]},"1982":{"position":[[4,2]]},"1985":{"position":[[4,2]]}}}],["配置文件",{"_index":90,"t":{"80":{"position":[[6,4]]},"229":{"position":[[106,4]]},"240":{"position":[[28,4]]},"272":{"position":[[27,4]]},"489":{"position":[[11,4]]}}}],["采用",{"_index":127,"t":{"200":{"position":[[11,2]]},"593":{"position":[[23,2]]},"820":{"position":[[4,2]]},"873":{"position":[[100,2]]}}}],["里",{"_index":389,"t":{"873":{"position":[[99,1]]}}}],["鉴",{"_index":123,"t":{"170":{"position":[[31,1]]}}}],["链接",{"_index":184,"t":{"262":{"position":[[26,2],[33,2]]},"303":{"position":[[15,2],[22,2]]}}}],["镜像",{"_index":291,"t":{"621":{"position":[[18,2]]},"772":{"position":[[42,2]]}}}],["门户",{"_index":23,"t":{"20":{"position":[[11,2]]},"262":{"position":[[4,2]]},"303":{"position":[[5,2]]},"537":{"position":[[6,2]]},"553":{"position":[[8,2]]},"610":{"position":[[0,2]]},"776":{"position":[[19,2]]},"786":{"position":[[0,2]]}}}],["门槛",{"_index":271,"t":{"593":{"position":[[79,2]]}}}],["问题",{"_index":397,"t":{"873":{"position":[[144,2]]}}}],["集",{"_index":351,"t":{"772":{"position":[[31,1]]}}}],["集成",{"_index":372,"t":{"828":{"position":[[0,2]]}}}],["集群",{"_index":20,"t":{"18":{"position":[[25,2]]},"20":{"position":[[55,2]]},"229":{"position":[[11,2],[40,2],[59,2],[75,2],[84,2],[104,2]]},"365":{"position":[[8,2]]},"489":{"position":[[25,2],[40,2]]},"575":{"position":[[6,2]]},"593":{"position":[[58,2]]},"654":{"position":[[7,2]]},"684":{"position":[[16,2]]},"700":{"position":[[22,2]]},"750":{"position":[[8,2]]},"770":{"position":[[28,2]]},"782":{"position":[[11,2]]},"786":{"position":[[10,2]]},"808":{"position":[[22,2]]},"814":{"position":[[28,2]]},"923":{"position":[[5,2]]},"978":{"position":[[19,2]]}}}],["需求",{"_index":71,"t":{"38":{"position":[[143,2]]},"830":{"position":[[17,2]]},"869":{"position":[[17,2]]}}}],["需要",{"_index":134,"t":{"229":{"position":[[4,2],[14,2],[93,2]]},"873":{"position":[[137,2]]},"913":{"position":[[68,2]]},"927":{"position":[[11,2],[60,2]]},"978":{"position":[[31,2]]}}}],["面向",{"_index":259,"t":{"593":{"position":[[3,2]]}}}],["面向用户",{"_index":355,"t":{"776":{"position":[[7,4]]}}}],["页面",{"_index":100,"t":{"82":{"position":[[40,2]]},"240":{"position":[[6,2]]},"256":{"position":[[49,2]]},"320":{"position":[[39,2]]}}}],["项",{"_index":176,"t":{"256":{"position":[[22,1]]},"272":{"position":[[47,1]]},"483":{"position":[[25,1]]},"517":{"position":[[27,1]]}}}],["项目",{"_index":47,"t":{"38":{"position":[[28,2]]},"51":{"position":[[10,2],[23,2],[36,2]]},"53":{"position":[[6,2]]},"537":{"position":[[8,2]]},"593":{"position":[[1,2]]},"881":{"position":[[2,2]]}}}],["首先",{"_index":426,"t":{"913":{"position":[[70,2]]},"927":{"position":[[9,2]]}}}],["高性能",{"_index":357,"t":{"782":{"position":[[6,3]]},"786":{"position":[[5,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[],"invertedIndex":[],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"scow文档网站上线!","s":"scow文档上线","u":"/SCOW/pr-preview/pr-1298/blog/docs-online","h":"","p":2},{"i":5,"t":"什么是调度器适配器​ SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。 在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, 导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。 调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, 适配器再对接作业调度器,实现scow需要的调度器功能。","s":"SCOW调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"","p":4},{"i":7,"t":"SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。 在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, 导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。 调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, 适配器再对接作业调度器,实现scow需要的调度器功能。","s":"什么是调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#什么是调度器适配器","p":4},{"i":9,"t":"调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, scow只会调用这套接口来实现调度器功能。 因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统 我们已经实现的调度器适配器: slurm","s":"怎样实现调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#怎样实现调度器适配器","p":4},{"i":11,"t":"这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器","s":"如何平滑升级","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#如何平滑升级","p":4},{"i":13,"t":"首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号 部署适配器可参考文档: slurm","s":"1. 部署调度器适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#1-部署调度器适配器","p":4},{"i":15,"t":"首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段) 在用于部署scow的scow-deployment文件夹中,修改配置文件: 首先修改集群配置文件 主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址 修改管理系统配置文件 删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息","s":"2. 修改SCOW配置文件","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#2-修改scow配置文件","p":4},{"i":17,"t":"部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成","s":"3. 不再使用源作业信息数据库","u":"/SCOW/pr-preview/pr-1298/blog/scow-scheduler-adapter","h":"#3-不再使用源作业信息数据库","p":4},{"i":19,"t":"我们致力于以让大家更方便地部署、运维和管理SCOW集群。 之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。 为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点: 使用install.yaml进行配置,配置方式和系统其他部分相同 可自由使用第三方包,功能扩展起来更加方便 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用 scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli。 请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli。","s":"scow-cli","u":"/SCOW/pr-preview/pr-1298/blog/scow-cli-release","h":"","p":18},{"i":21,"t":"上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。 为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能: 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理 详细说明可参考SCOW部署和配置下的多集群下的应用配置。","s":"交互式应用配置更新","u":"/SCOW/pr-preview/pr-1298/blog/update-portal-app","h":"","p":20},{"i":23,"t":"本文档适用于从v0.4.0(及以上)升级到v1.0.0。 # 两种方式升级cli # 1. 直接下载替换本地cli wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64 # 2. 使用命令升级 ./cli update --release v1.0.0","s":"SCOW升级:从v0.4.0(及以上)到v1.0.0","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":25,"t":"在install.yaml添加如下配置: # 可添加审计日志功能,并配置审计日志数据库密码 audit: dbPassword: \"must!chang3this\" install.yaml配置参考(极简配置): port: 80 basePath: / imageTag: v1.0.0 portal: portMappings: {} mis: dbPassword: must!chang3this portMappings: {} log: fluentd: logDir: /var/log/fluentd auth: portMappings: {} audit: dbPassword: \"must!chang3this\" gateway: proxyReadTimeout: 36000s 添加审计日志配置文件,在./config目录下添加audit.yaml # 审计系统数据库的信息。可以不修改 db: host: audit-db port: 3306 user: root dbName: scow_audit","s":"2. 添加审计日志功能","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":27,"t":"修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下: fetchJobs: # 源作业信息数据库的数据库信息 db: host: 192.168.188.11 port: 3306 user: root password: \"aUTx373~5pU@!&^6\" dbName: hpc tableName: job_table type: mysql mis.yaml配置参考(极简配置): db: host: db port: 3306 user: root dbName: scow fetchJobs: periodicFetch: enabled: true cron: \"*/10 * * * *\" predefinedChargingTypes: - 测试 accountNamePattern: regex: \"(a_)[a-z]+$\"","s":"3. 修改mis.yaml","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":29,"t":"适配器编译部署可参考文档。 提示 由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。","s":"4. 部署适配器","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":31,"t":"displayName: hpc01 loginNodes: - name: hpc01_login01 address: hpc01_login01 adapterUrl: \"192.168.188.102:8999\" 提示 注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档。","s":"5. 修改集群配置文件","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":33,"t":"支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。 例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容: logoPath: /apps/jupyter.png 提示 多集群下交互式应用配置可参考该文档。","s":"6. 交互式应用增加图标(可选)","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":35,"t":"支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容: ui: backgroundImagePath: \"./assets/background.png\" backgroundFallbackColor: \"#9a0000\" logoType: \"dark\" slogan: color: \"white\" title: \"开源算力中心门户和管理平台\" texts: - \"图形化界面,使用方便\" - \"功能丰富,管理简单\" - \"一体化部署,开箱即用\" - \"标准化平台,支持算力融合\" - \"开源中立,独立自主\" 提示 详细配置可参考该文档。","s":"7. 登录页面添加slogan(可选)","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":37,"t":"./cli compose down ./cli compose up -d","s":"8. 重启服务","u":"/SCOW/pr-preview/pr-1298/blog/scow-update-to-v1.0","h":"","p":22},{"i":39,"t":"上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。 为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。 接下来,主要介绍如何平滑的从旧版本升级至新版本。","s":"scow-deployment平滑升级指导","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","h":"","p":38},{"i":41,"t":"# 进入scow-deployment项目目录 cd scow-deployment # 停止scow服务 docker-compose down","s":"1. 停止scow服务","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","h":"#1-停止scow服务","p":38},{"i":43,"t":"主要备份.env配置文件: # 1. 创建备份目录 mkdir /path/to/backup # 2. 备份部署的环境变量 cp .env /path/to/backup","s":"2. 备份配置文件","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","h":"#2-备份配置文件","p":38},{"i":45,"t":"拉取master分支最新代码: cd /path/to/scow-deployment # 同步最新代码 git pull 目录结构如下: tree -L 1 ├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件 ├── config-example # scow业务配置模板文件目录 ├── config-example.py # scow系统部署参数配置文件模板 ├── fluent # fluent配置文件存放目录 ├── generate.py # 部署配置文件生成python脚本 └── README.md 编写配置文件: # 1. 复制配置文件 cp config-example.py config.py # 2. 配置参数 # 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数 服务启动与停止: # 启动服务 ./compose.sh up -d # 停止服务 ./compose.sh down ./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。 详细说明可参考PKUHPC/scow-deployment项目的README.md。","s":"3. 升级","u":"/SCOW/pr-preview/pr-1298/blog/update-to-python-deployment","h":"#3--升级","p":38},{"i":48,"t":"设置主机名 hostnamectl set-hostname manage01 hostnamectl set-hostname login01 hostnamectl set-hostname compute01 hostnamectl set-hostname compute02 配置hosts: vim /etc/hosts 192.168.29.106 manage01 192.168.29.101 login01 192.168.29.102 compute01 192.168.29.103 compute02 关闭防火墙、selinux、dnsmasq、swap: systemctl disable --now firewalld systemctl disable --now dnsmasq systemctl disable --now NetworkManager setenforce 0 sed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/sysconfig/selinux sed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/selinux/config reboot getenforce swapoff -a && sysctl -w vm.swappiness=0 sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab 时间同步: # 安装ntpdate rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm yum install ntpdate -y # 同步时间。time2.aliyun.com外网,vineyard.pku.edu.cn内网 # 时间同步配置如下: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo 'Asia/Shanghai' >/etc/timezone ntpdate vineyard.pku.edu.cn # 加入到crontab crontab -e */5 * * * * /usr/sbin/ntpdate vineyard.pku.edu.cn","s":"1. 所有节点","u":"/SCOW/pr-preview/pr-1298/docs/basic-config","h":"#1-所有节点","p":46},{"i":50,"t":"到其他节点的免密登录: yum install sshpass -y mkdir -p /extend/shell #生成脚本,root123 为root用户密码 cat >>/extend/shell/fenfa_pub.sh<< EOF #!/bin/bash ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' for ip in 101 102 103 do sshpass -proot123 ssh-copy-id -o StrictHostKeyChecking=no 192.168.29.\\$ip done EOF # 赋权 cd /extend/shell chmod +x fenfa_pub.sh # 执行脚本 ./fenfa_pub.sh","s":"2. 服务节点","u":"/SCOW/pr-preview/pr-1298/docs/basic-config","h":"#2-服务节点","p":46},{"i":52,"t":"感谢您对参与SCOW项目开发的兴趣!我们欢迎对项目有兴趣的参与者一起参与项目开发。 相关资料: 开发: 帮助您搭建本地开发环境,运行代码和测试以及提交代码","s":"贡献指南","u":"/SCOW/pr-preview/pr-1298/docs/contribution","h":"","p":51},{"i":54,"t":"本节介绍开发项目相关的资料。","s":"开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"","p":53},{"i":56,"t":"本项目采用monorepo结构,一个repo包含了整个系统的所有代码和文档。 其中: protos:包含了整个系统所有的proto文件 dockerfiles:包含整个系统所有的dockerfile文件 dev:开发相关文件 apps:所有子系统 libs:公共库 docs:文档项目","s":"Repo结构","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#repo结构","p":53},{"i":59,"t":"要开发SCOW,你的主机环境需要满足以下要求: Linux/macOS/Windows 安装好docker和docker compose Windows和macOS用户推荐使用Docker Desktop","s":"准备主机环境","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#准备主机环境","p":53},{"i":61,"t":"本项目配置了VSCode Dev Container,您可以使用.devcontainer下的配置自动从GitHub打开一个Codespace或者使用VSCode生成一个开发用的容器。具体如何使用,请参考上述Dev Container的文档。","s":"推荐:Dev Container","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#推荐dev-container","p":53},{"i":63,"t":"如果您不使用Dev Container,也可以在本地构建开发环境。 请确保主机的~/.ssh目录下存在SSH RSA格式公私钥文件(id_rsa和id_rsa.pub)。如果不存在,请运行ssh-keygen生成。 请安装以下软件: volta:管理node环境 pnpm:推荐standalone安装 无需手动安装node。volta将会在第一次运行npm或者node命令时自动安装对应工具的对应版本。 我们推荐使用Visual Studio Code作为开发环境。仓库中有.vscode目录用于预先配置部分VSCode的开发环境。 要开始开发: # clone仓库 git clone https://github.com/PKUHPC/SCOW cd SCOW # 如果是standalone安装,或者在pnpm i的时候遇到node-gyp ENOET错误,运行以下全局安装node-gyp。只用安装一次即可。 pnpm install -g node-gyp # 在根目录下,安装依赖 pnpm i # 准备开发需要的库和代码:构建依赖库,生成各种代码 pnpm prepareDev apps下的所有项目均可以使用dev脚本以开发环境运行。 # 以开发环境运行门户前端 cd apps/portal-web pnpm dev 以开发环境运行文档项目 cd docs pnpm start 其他常用命令: # 编译libs目录下的库 pnpm build:libs # 修改proto文件后,重新生成proto对应的ts文件 pnpm build:protos # 在某一个具体项目下运行特定的脚本 # {项目名}请替换为项目package.json中name字段的@scow/后面的内容 # 项目可以运行什么脚本请查看项目package.json中的scripts pnpm --filter {项目名} build # 如运行@scow/config项目的build命令(编译),则运行 # 要想使用任何libs项目下的修改,必须先运行对应的build命令编译好 pnpm --filter config build # 在某个项目下运行特定的脚本也可以使用cd进入项目后运行pnpm对应命令 cd config pnpm build","s":"本地开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#本地开发","p":53},{"i":65,"t":"我们使用docker搭建了一套简单的开发环境,主要用于运行项目的单元和集成测试。具体开发环境请参考docker-compose.dev.yml。 开发环境包括 可以通过3306端口连接的的MySQL8数据库 root密码为dev/.env.dev中的MYSQL_ROOT_PASSWORD,为mysqlrootpassword 可以通过6379端口连接的redis:alpine 可以通过3307端口连接的mariadb:5.5作为job table root密码为dev/.env.dev中的JOB_TABLE_PASSWORD,为jobtablepassword 可以通过389端口连接的LDAP服务器,详情参考LDAP文档 可以通过3890端口访问的phpLDAPadmin,可以用于登录389端口的LDAP服务器 Dev Container:由于这个容器修改监听端口比较复杂,且开发环境并不会直接和这个容器交互,故这个容器映射到的宿主机的3890端口。 可以通过22222端口连接的SSH服务器 具有两个用户:root用户root(密码root)和普通用户test(密码test) 本地开发:可以直接使用本地的~/.ssh/id_rsa.pub登录root和test用户 Dev Container:见下文 可以通过6000端口访问的调度器适配器(test-adapter),接口返回固定值,仅用于测试环境","s":"测试开发环境","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#测试开发环境","p":53},{"i":67,"t":"Dev Container在启动时同时会启动测试开发环境,且测试开发环境的故启动后您不再需要手动启动开发环境。且这些服务均启动于开发容器的网络中,可以直接使用localhost连接到这些服务。 注意:由于SSH服务器容器和开发环境所在容器为并列关系,SSH服务器不能直接使用开发容器所在的文件,故您需要在启动Dev Container后手动生成SSH密钥并配置公钥登录: # 在Dev Container中执行 # 生成RSA类型SSH公钥 ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa # 给root和test用户配置公钥登录 # 运行后输入root密码root ssh-copy-id -p22222 root@localhost # 运行后输入test密码test ssh-copy-id -p22222 test@localhost","s":"Dev Container环境","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#dev-container环境","p":53},{"i":69,"t":"# 构建并启动开发环境 pnpm devenv # 运行测试 # 测试环境必须在prepareDev运行后才能运行 pnpm test # 对某一项目运行测试(此为对@scow/portal-web项目运行测试) pnpm --filter portal-web test # 停止开发环境 pnpm devenv:stop","s":"本地开发","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#本地开发-1","p":53},{"i":71,"t":"每个子系统的Dockerfile都应该放在dockerfiles目录下 每个Dockerfile的context都应该是项目根目录,记得复制proto目录和依赖的本地库 所有根据proto生成的文件都应该被gitignore和dockerignore,在容器中构建时需要现场生成 根目录的docker-compose.yml应该只用于容器构建","s":"容器构建说明","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#容器构建说明","p":53},{"i":73,"t":"项目使用eslint进行代码风格规范和检查。eslint的配置采用@ddadaal/eslint-config。 项目使用husky设置了一个pre-commit的git hook,在提交前运行以上的代码风格检查,如果代码风格检查没有通过则无法commit。","s":"代码风格检查","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#代码风格检查","p":53},{"i":75,"t":"npm workspace: 这个会把所有依赖装在根目录,但是tsgrpc-cli会假设依赖装在项目目录,这样tsgrpc-cli就不能运行了(解决了) npm workspace运行命令时不按依赖拓扑排序顺序运行(wtf!!!!),也不能手动在根package.json里指定所有包,因为每个子系统构建时,不存在其他子系统 yarn workspace:新版本berry和volta的兼容性不好(issue),yarn的workspaces的foreach命令需要单独装插件,而且foreach命令不会交互式地输出结果 nx: 尝试迁移过去好几次了,但是感觉概念有点太复杂了…… lerna: 很久没更新了,删除依赖需要删掉包的node_modules然后重新bootstrap,麻烦","s":"为什么不采用其他monorepo管理方案?","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#为什么不采用其他monorepo管理方案","p":53},{"i":77,"t":"项目CI配置如下:","s":"CI","u":"/SCOW/pr-preview/pr-1298/docs/contribution/dev","h":"#ci","p":53},{"i":79,"t":"本部分帮助您安装和配置SCOW。 访问架构来了解系统的架构 通过vagrant来使用vagrant快速启动一个slurm+SCOW集群 参考安装在您的集群上安装SCOW 参考配置配置SCOW","s":"安装和配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy","h":"","p":78},{"i":81,"t":"SCOW使用配置文件进行系统的配置。 SCOW的配置文件均使用yaml或者JSON格式,存放于config目录下。 项目在启动时将会检查配置文件是否符合格式,如果配置文件有错,则系统会直接报错。 您也可以使用scow-cli的check-config子命令,在不运行系统的情况下检查配置文件格式。 > ./cli check-config ERROR: Error reading config file config/clusters/hpc01.yaml: data/slurm/loginNodes/0 must be string WARN: mis.yaml userIdPattern is deprecated and will be removed in a future version. Use createUser.userIdPattern instead","s":"配置简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config","h":"","p":80},{"i":83,"t":"系统各个组件的关系如下图。此部分简要介绍各个组件的功能,具体部署请参考各个组件的页面。 SCOW由多个容器模块组成,包括gateway、auth、audit等基本模块,作为门户系统的novnc-client、portal-web、portal-server模块,作为管理系统的mis-web、mis-server模块,执行SCOW与计算集群交互的App Proxy、Adapter模块,以及作为部署工具的cli模块。","s":"架构","u":"/SCOW/pr-preview/pr-1298/docs/deploy/architecture","h":"","p":82},{"i":86,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#软件简介","p":84},{"i":88,"t":"请确保在需要运行应用的计算节点有JupyterLab镜像或者可以拉取到配置里对应的镜像地址。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#前提条件","p":84},{"i":90,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。 下面讲解如何配置使用JupyterLab。","s":"1、软件介绍","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#1软件介绍","p":84},{"i":92,"t":"创建config/ai/apps目录,在里面创建jupyter.yml文件,其内容如下: config/ai/apps/jupyter.yml # 这个应用的ID id: jupyter # 这个应用的名字 name: jupyter image: # 镜像名称 name: jupyter/minimal-notebook # 镜像版本 tag: latest # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: absolute # 准备脚本 beforeScript: | export PASSWORD=$(get_password 12) export SALT=123 export PASSWORD_SHA1=\"$(echo -n \"${PASSWORD}${SALT}\" | openssl dgst -sha1 | awk '{print $NF}')\" # 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令 startCommand: jupyter-lab # 运行任务的脚本。可以使用准备脚本定义的变量 script: | jupyter-lab --ServerApp.ip='0.0.0.0' --ServerApp.port=${PORT} --ServerApp.port_retries=0 --ServerApp.password=\"sha1:${SALT}:${PASSWORD_SHA1}\" --ServerApp.open_browser=False --ServerApp.base_url=\"${PROXY_BASE_PATH}/${HOST}/${SVCPORT}/\" --ServerApp.allow_origin='*' --ServerApp.disable_check_xsrf=True --ServerApp.root_dir=\"${workingDir}\" --allow-root # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单 attributes: - type: text name: workingDir label: 指定jupyter工作目录 required: true placeholder: \"请填写绝对路径\" 增加了此文件后,刷新WEB浏览器即可。","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#配置文件","p":84},{"i":95,"t":"code-server是一个基于VS Code的开源工具,它可以让你通过浏览器远程访问一个运行着VS Code的服务器。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#软件简介","p":93},{"i":97,"t":"请确保在需要运行应用的计算节点有coder/code-server镜像或者可以拉取到配置里对应的镜像地址。 下面讲解如何配置使用code-server。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#前提条件","p":93},{"i":99,"t":"创建config/ai/apps目录,在里面创建vscode.yml文件,其内容如下: config/ai/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode image: # 镜像名称 name: codercom/code-server # 镜像版本 tag: 4.20.0 # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PASSWORD=$(get_password 12) # 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令 startCommand: code-server # 运行任务的脚本。可以使用准备脚本定义的 script: | PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#配置文件","p":93},{"i":101,"t":"参考门户系统的vscode配置示例的注意事项","s":"注意事项","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/apps/vscode","h":"#注意事项","p":93},{"i":104,"t":"镜像要求: 安装有VNC(TigerVNC or TurboVNC) 安装对应的应用 相应的脚本启动VNC服务以及桌面应用 确保vnc连接的密码保存在~/.vnc/passwd文件中,应用在连接时,会给每次连接生成一个新的密码,生成的位置为~/.vnc/passwd。 请确保计算节点可以拉取或者已经存在配置中应用的镜像。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#前提条件","p":102},{"i":106,"t":"下面以使用pycharm为示例介绍如何配置桌面类应用。 创建config/ai/apps目录,在里面创建pycharm/config.yml或vscode.yml文件,其内容如下: config/ai/apps/pycharm/config.yml # 这个应用的ID id: pycharm # 这个应用的名字 name: pycharm # 这个应用的图标文件在公共文件下的路径 logoPath: /test.svg type: vnc image: # 镜像名称 name: 10.129.227.64/test/admin/pycharm # 镜像版本 tag: v1.1 # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | /dockerstartup/vnc_startup.sh pycharm 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#配置示例","p":102},{"i":109,"t":"参考门户系统","s":"logoPath","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#logopath","p":102},{"i":111,"t":"该镜像会被用来启动应用,name和tag分别指定镜像的名称和版本。如果本地没有该镜像,将会尝试从镜像仓库拉取。","s":"image","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#image","p":102},{"i":113,"t":"参考门户系统","s":"beforeScript","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#beforescript","p":102},{"i":115,"t":"此处应该填写启动镜像时,vnc服务启动时的xstartup脚本,脚本中应该包含启动桌面应用的命令。","s":"xstartup","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-vnc-app","h":"#xstartup","p":102},{"i":118,"t":"请确保计算节点可以拉取或者已经存在配置中应用的镜像。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#前提条件","p":116},{"i":120,"t":"下面以使用coder/code-server启动VSCode的配置为例来讲解如何配置一个服务器类应用。 创建config/ai/apps目录,在里面创建vscode/config.yml或vscode.yml文件,其内容如下: config/ai/apps/vscode/config.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web image: # 镜像名称 name: codercom/code-server # 镜像版本 tag: 4.20.0 # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PASSWORD=$(get_password 12) # 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令 startCommand: code-server # 运行任务的脚本。可以使用准备脚本定义的变量 script: | PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#配置示例","p":116},{"i":123,"t":"参考门户系统","s":"proxyType","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#proxytype","p":116},{"i":125,"t":"该镜像将会被用来启动应用。name和tag分别指定镜像的名称和版本。如果本地没有该镜像,将会尝试从镜像仓库拉取。","s":"image","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#image","p":116},{"i":127,"t":"参考门户系统","s":"logoPath","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#logopath","p":116},{"i":129,"t":"参考门户系统","s":"appComment","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#appcomment","p":116},{"i":131,"t":"beforeScript部分为准备脚本。这个脚本用来准备运行任务的环境。这个脚本要求必须export一个变量: PASSWORD: 连接程序用的密码 connect的formData项需要使用的变量也需要在此处export。 准备脚本中的export的变量可以在script中使用。 script部分为如何启动这个应用的脚本。 startCommand 需要指明scipt中启动应用的命令,可供用户在使用自定义镜像时指定启动的命令,在默认情况下为code-server beforeScript和script中可以使用以下辅助函数: 函数名 作用 参数 返回值 get_password 生成一个包含A-Za-z0-9的随机密码 $1: 密码长度 密码 还可以使用以下变量。 变量名 值 PROXY_BASE_PATH 这个应用在被访问时,其URL中位于计算节点IP之前的内容,不以/结尾。对SCOW AI来说,为${SCOW AI的base path}/api/proxy/${集群ID}/${此应用的proxyType}, 如果自定义属性中出现了同名的变量,该值将会被覆盖。 PORT 这个应用启动时容器内的端口 HOST 这个应用启动时容器映射的主机名 SVCPORT 这个应用启动后,SCOW AI 节点可通过HOST:SVCPORT访问该应用 这些脚本会被提交给调度系统,并最终运行后在计算节点上启动应用。","s":"beforeScript,startCommand 和script","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#beforescriptstartcommand-和script","p":116},{"i":133,"t":"参考门户系统","s":"attributes","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/configure-web-app","h":"#attributes","p":116},{"i":135,"t":"参考文档简要了解交互式作业功能, 目前beta版本支持Web类和Vnc类应用功能。 配置Web类应用 配置VNC类应用 已有交互式应用 JupyterLab VSCode","s":"交互式作业","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/apps/intro","h":"","p":134},{"i":137,"t":"本节介绍如何使用自定义操作行为日志","s":"自定义操作行为日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"","p":136},{"i":139,"t":"SCOW的审计系统内置了一些用户操作行为,例如登录、登出和修改密码等。这些内置操作行为在SCOW的管理系统页面上,可以进行展示、搜索以及统计。 但是,有时候用户可能需要对自己的业务系统进行审计,这时候就需要自定义操作行为。该功能可以在不修改SCOW源码的情况下,通过调用审计系统的 API 实现对操作行为类别的扩展以及对应的国际化展示,同时可以支持在管理系统的操作日志页面对该类别的操作行为进行搜索。","s":"功能介绍","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#功能介绍","p":136},{"i":142,"t":"在自己实现的业务系统中,调用审计系统的CreateOperationLog,新增自定义操作行为的类别。 定义的protobuf文件相关内容如下: message I18nObject { message I18n { string default = 1; optional string en = 2; optional string zh_cn = 3; } I18n i18n = 1; } // 用户自定义操作类型,name和content将直接展示 message CustomEvent { string type = 1; common.I18nObject name = 2; common.I18nObject content = 3; } message CreateOperationLogRequest { string operator_user_id = 1; string operator_ip = 2; OperationResult operation_result = 3; oneof operation_event { Login login = 4; Logout logout = 5; SubmitJob submit_job = 6; EndJob end_job = 7; //...省略中间的内置操作行为 // 表示该条操作日志记录为自定义操作行为 CustomEvent custom_event = 61; } } CustomEvent参数定义​ type:自定义操作行为的类别,用于区分不同的自定义操作行为。 name:自定义操作行为的名称,国际化对象,用于在管理系统的操作日志页面进行展示。 content:自定义操作行为的内容,国际化对象,用于在管理系统的操作日志页面进行展示以及搜索。","s":"1. 调用CreateOperationLog API","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#1-调用createoperationlog-api","p":136},{"i":144,"t":"在管理系统的操作日志页面,可以查看到新增的自定义操作行为的类别,以及对应的操作日志记录。 表格中操作行为列将展示custom_event中name的国际化内容, 操作内容为custom_event中content的国际化内容 如果需要搜索特定自定义操作行为的操作日志,可在表单上方过滤操作行为选择自定义操作行为,之后在自定义操作类型的下拉框里选取具体的自定义操作类型(对应创建时的type参数)","s":"2. 自定义操作行为日志查看及搜索","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#2-自定义操作行为日志查看及搜索","p":136},{"i":146,"t":"在新增自定义操作行为时,需要确保系统内已有数据是否有相同的custom_event_type, 如果创建操作日志时传参custom_event内的type已存在,需要确保此时name参数与已有数据中的name完全一致,否则将创建失败","s":"注意","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/customEvent","h":"#注意","p":136},{"i":148,"t":"本节介绍如何配置审计系统。","s":"配置审计系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","h":"","p":147},{"i":150,"t":"修改安装配置文件 install.yaml # 确保审计系统会部署 audit: # dbPassword为审计系统数据库密码 # 在系统第一次启动前可自由设置,使用此密码可以以root身份登录数据库 # 一旦数据库启动后即不可修改 # 必须长于8个字符,并同时包括字母、数字和符号 dbPassword: \"must!chang3this\"","s":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","h":"#修改安装配置文件","p":147},{"i":152,"t":"在config/audit.yaml文件中,根据备注修改所需要的配置 config/audit.yaml # 审计服务的url,默认不修改 url: audit-server:5000 # 审计系统数据库的信息。可以不修改 db: host: audit-db port: 3306 user: root password: mysqlrootpassword dbName: scow_audit","s":"编写后端服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","h":"#编写后端服务配置","p":147},{"i":154,"t":"运行./cli compose up -d启动审计服务。","s":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/audit/intro","h":"#启动服务","p":147},{"i":157,"t":"认证系统支持对登录界面部分 UI 进行修改 在auth.yaml配置中,可以配置关于登录界面 UI 的部分内容。 备注 注意:登录框中登录按钮颜色跟随主题色配置,配置文件为 ui.yaml 其中关于背景图片路径和自定义 logo 图片路径的设置可以参考公共文件进行配置。需要强调的是该路径是相对于公共文件的路径。 # auth 界面 ui 配置 # 可根据不同域名进行不同的展示,当对应域名没有相应配置时采用 default 配置 ui: default: # 登录界面背景图,设置为\"\"(空字符串)则无背景图 # 可选配置,默认加载 install.yml 同级的 /public/assets 目录下的 background.png 作为背景图 backgroundImagePath: \"./assets/background.png\" # 登录界面背景色,当背景图无法加载时,背景色起效 # 可选配置,默认为 #8c8c8c backgroundFallbackColor: \"#8c8c8c\" # 登录界面 logo,可选配置 logo: # 未配置自定义 logo(customLogoPath) 时,默认使用 SCOW Logo # light: 亮色模式下的 logo, dark: 黑暗模式下的 logo # 可选配置,默认为黑暗模式 logo scowLogoType: \"dark\" # 可选配置,自定义 logo 的图片路径。与背景图一致,路径时相对于公共文件的路径 customLogoPath: \"\" # 可选配置,自定义点击 logo 跳转地址 customLogoLink: \"https://icode.pku.edu.cn/SCOW/\" # 登录界面 slogan 配置 # 可选配置,默认右侧无 slogan slogan: # 登录界面 slogan 文字颜色 # 可选配置,默认为白色字体 color: \"white\" # 登录界面 slogan title # 可选配置,默认无 slogan 标题 title: \"开源算力中心门户和管理平台\" # 多条 slogan 文本 # 可选配置,默认 slogan 为空数组 texts: - \"图形化界面,使用方便\" - \"功能丰富,管理简单\" - \"一体化部署,开箱即用\" - \"标准化平台,支持算力融合\" - \"开源中立,独立自主\" # 登陆界面底部 Power By 字体颜色配置 # 可选配置,默认为白色字体 footerTextColor: \"white\" # 根据不域名进行不同的展示,对具体hostname生效的生效,可以不填 # hostnameMap: # a.com: # # 登录界面背景图 # backgroundImagePath: \"./assets/background1.png\" # # 登录界面背景色,当背景图无法加载时,背景色起效 # backgroundFallbackColor: \"#000\" # # 登录界面 logo 图, # logo: # # 如果没有配置自定义 logo, 则使用 type 选择 SCOW Logo # # light: 亮色模式下的 logo, dark: 黑暗模式下的 logo # scowLogoType: \"light\" # # 自定义 logo, 默认为空 # customLogoPath: \"\" # # 自定义点击 logo 跳转地址 # customLogoLink: \"https://icode.pku.edu.cn/SCOW/\" # # 登录界面 slogan 配置 # slogan: # # 登录界面 slogan 文字颜色 # color: \"black\" # # 登录界面 slogan title # title: \"开源算力中心门户和管理平台\" # # 多条 slogan 文本 # texts: # - \"图形化界面,使用方便.\" # - \"功能丰富,管理简单.\" # - \"一体化部署,开箱即用.\" # - \"标准化平台,支持算力融合.\" # - \"开源中立,独立自主.\" # # 登陆界面底部 Power By 字体颜色配置 # footerTextColor: \"black\"","s":"UI 配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#ui-配置","p":155},{"i":159,"t":"当登录完成后,认证系统将会回调到登录时传入的callbackUrl参数。为了保证安全性,认证系统默认只允许回调到和认证系统相同的主机名下。您可以通过配置auth.yml下的allowedCallbackHostnames配置项来配置允许回调的主机名。注意,主机名(hostname)不包括端口号。 config/auth.yml allowedCallbackHostnames: - localhost - another.com","s":"允许回调主机名","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#允许回调主机名","p":155},{"i":161,"t":"在auth.yaml配置中,可以配置关于登录验证码的功能 config/auth.yml # 默认不启用登录验证码功能 # captcha: # enabled为true开启登录验证码功能 # enabled: false 启用登录验证码时UI界面:","s":"验证码功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#验证码功能","p":155},{"i":163,"t":"如果登录用户的ID为某个key,那么实际将会以其对应的value的用户登录。修改此配置无需重启认证系统。 config/auth.yml mockUsers: # 当登录用户的ID为fromUser1,实际上以toUser1登录 fromUser1: toUser1 fromUser2: toUser2","s":"模仿用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#模仿用户","p":155},{"i":165,"t":"在auth.yaml配置中,可以配置关于otp验证码的功能, ldap认证方式支持支持绑定otp和验证,有效验证码为当前验证码和上一个验证码。ssh认证方式仅支持远程验证。","s":"OTP功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#otp功能","p":155},{"i":167,"t":"手机app您可以使用authenticator,FreeOTP等。 您需要自己在ldap中定义一个属性名用来存储string类型的OTP密钥,并配置为auth.yaml中的opt.secretAttributeName,这个密钥属性名默认为otpSecret。 您需要配置邮件发送信息。其中,您需要提供有效的发件人地址、SMTP 服务器地址、SMTP 服务器端口号以及 SMTP 认证凭据(包括用户名和授权码)。","s":"一、将OTP密钥保存在LDAP中(即otp.type为ldap):","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#一将otp密钥保存在ldap中即otptype为ldap","p":155},{"i":169,"t":"那么您需要提供一个验证otp码的接口, 并配置为otp.remote.validateUrl,返回验证的结果。返回结果要求json格式{\"result\": true|false}。 scow会使用fetch向上述接口(otp.remote.validateUrl)发起请求。fetch请求中otpCode为用户输入的otp码,userId为用户名,类型均为string。 fetch headers \"Content-Type\": \"application/json\" body otpCode, userId 例:假设您是像Google Authenticator一样将密钥存在用户家目录下的.google_authenticator第一行内容,那么您可以提供的路由接口及服务TypeScript示例: import { Static, Type } from \"@sinclair/typebox\"; import fastify from \"fastify\"; import { NodeSSH } from \"node-ssh\"; import * as speakeasy from \"speakeasy\"; // 远程验证OTP码 const app = fastify({ logger: true }); /** * 要求启动该服务的主机可以ssh免密登录到存放otp密钥的主机的root用户。启动该服务的主机的私钥地址为/home/node/.ssh/id_rsa,node为用户名。 * 假设您的OTP密钥存放主机host=\"192.168.88.102\"上/data/home/{{userId}}/.google_authenticator文件的第一行内容,其中{{userId}}为需要验证otp码是否正确的用户名 * */ // ssh免密登录到存放otp密钥的root用户 const sshUserName = \"root\"; // 假设启动该服务的主机的私钥地址为/home/node/.ssh/id_rsa const privateKeyPath = \"/home/node/.ssh/id_rsa\"; // OTP密钥存放主机host=\"192.168.88.102\" const host = \"192.168.88.102\"; // 用户家目录,otp密钥存放于此目录下的.google_authenticator文件的第一行内容 const homedir = \"/data/home/{{ userId }}\"; // routePath需要与您实现的验证接口(otp.remote.url中的path)一致 const routePath = \"/otp/remote/validateCode\"; const bodySchema = Type.Object({ otpCode: Type.String(), userId: Type.String(), }); app.post<{Body: Static}>( routePath, { schema: { body: bodySchema, }, }, async (req, res) => { // otpCode为scow发起的请求携带的OTP验证码,userId为OTP验证的用户名 const { otpCode, userId } = req.body; const ssh = new NodeSSH(); // 获取OTP密钥 const otpSecret = await ssh.connect({ host: host, username: sshUserName, privateKeyPath: privateKeyPath }) .then(async () => { const otpSecretFilePath = homedir.replace(\"{{ userId }}\", userId) + \"/.google_authenticator\"; const fileContent = await ssh.execCommand(`su ${userId} && cat ${otpSecretFilePath}`); return fileContent.stdout.toString().split(\"\\n\")[0]; }).finally(() => { ssh.dispose(); }); // 获取绝对时间戳 const currentTime = new Date(); const timeStamp = Date.UTC(currentTime.getUTCFullYear(), currentTime.getUTCMonth(), currentTime.getUTCDate(), currentTime.getUTCHours(), currentTime.getUTCMinutes(), currentTime.getUTCSeconds(), currentTime.getUTCMilliseconds()); // 验证 let result = speakeasy.totp.verify({ token: otpCode, time: timeStamp / 1000, encoding: \"base32\", secret: otpSecret, // digits, step, algorithm需要您与手机app设置保持一致,默认digits为6,step为30,algorithm为sha1 }); // 验证失败则检测输入的是否是上一个step的otp码,如果是,也算通过 if (!result) { result = speakeasy.totp.verify({ token: otpCode, time: timeStamp / 1000 - 30, encoding: \"base32\", secret: otpSecret, }); } res.send({ result }); }, ); export const start = async () => { // 配置监听的ip和端口 await app.listen({ port: 9999, host: \"192.168.88.100\" }); }; start(); 默认不启用otp功能,无需配置。若要启用otp, 则需要将otp.enabled配置为true, 此时必须配置otp.type为ldap或者remote。 启用时,如果您将otp.type配置为ldap, 那么otp.ldap下所有没有默认值的配置项都需要配置,此外您需要保证auth.yaml文件中ldap.attrs.mail被配置了,此配置在这里用于获取邮箱信息发送邮件。同样地如果您将otp.type配置为remote, 那么otp.remote下所有没有默认值的配置项都需要配置。 auth.yaml: config/auth.yml # ldap认证支持绑定和验证otp,ssh认证仅支持验证 otp: # 是否启用otp功能, 默认false enabled: false # status指定otp启用类型,分别为ldap:密钥存在ldap,remote:密钥您自己管理。 type: ldap # 当status为ldap时间,需配置以下这段内容 ldap: # 限制绑定otp要在多少分钟内完成,需要整数, 默认10 # bindLimitMinutes: 10 # 密钥存储属性名, 默认为otpSecret, 需要用户自己在ldap中进行定义 secretAttributeName: # 访问scow系统的域名或ip地址(不需要填写scow的base path),用于发送邮件中组成OTP绑定页面的地址,例如:https://pku.edu.cn scowHost: # otp验证软件扫描二维码之后,出现的label中,用户名和@后显示的名称, 默认为SCOW # ldabel: \"scow\" # otp的二维码上方文字描述信息\", 默认为 \"此二维码仅出现一次,用过即毁\", 支持html标签 # qrcodeDescription: \"此二维码仅出现一次\" # 绑定otp时发送绑定信息方式 authenticationMethod: mail: # 发件邮箱地址 from: \"morgan68@ethereal.email\" # 向每个用户发送邮件频率限制,需要整数,单位秒,默认60秒间隔 # sendEmailFrequencyLimitInSeconds: 60 # 邮件主题,默认为\"OTP绑定链接\" # subject: \"OTP绑定链接\" # 邮件内容标题,默认为\"Bind OTP\",也可以是html标签内容 # title: \"Bind OTP\" # 邮件内容,默认为\"Please click on the following link to bind your OTP:\",也可以是html标签内容 # contentText: \"Please click on the following link to bind your OTP\" # 标签点击文字,默认为\"Bind OTP\" # labelText: \"Bind OTP\" mailTransportInfo: # SMTP服务器 host: \"smtp.ethereal.email\" # 是否启用安全连接,默认false # secure: false # 服务器端口 port: 587 # SMTP身份验证用户名 user: \"morgan68@ethereal.email\" # SMTP身份验证授权码 password: \"y2es3bd3rYwxWs5n8g\" # 如果mode指定为remote,需要配置以下内容 remote: # 远程验证url,例如http://localhost:9999/otp/remote/validateCode,详见https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config validateUrl: # 当用户点击绑定OTP按钮时跳转的按钮,建议配置,不配置会不显示绑定otp按钮 # redirectUrl: https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config","s":"二、由您自己管理OTP密钥(otp.type为remote):","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/config","h":"#二由您自己管理otp密钥otptype为remote","p":155},{"i":171,"t":"认证系统(auth)为系统提供用户登录功能,以及为各个组件提供鉴权服务。","s":"认证系统简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","h":"","p":170},{"i":173,"t":"我们提供的认证系统实现支持以下认证方式。请根据自己的集群的情况,选择自己的认证方式并进行部署和配置。 SSH LDAP 提示 如果您的集群可以使用SSH登录,可以首先使用最简单的SSH方式进行测试。 内置系统的额外配置介绍请参考内置认证系统配置","s":"内置认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","h":"","p":170},{"i":175,"t":"如果您的集群需要使用其他认证方式,您可以参考与SCOW集成文档去使用或者实现一个自定义认证系统。","s":"自定义认证方式","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/intro","h":"","p":170},{"i":177,"t":"本节介绍如何配置 AI 系统(beta)。","s":"配置 AI 系统(beta)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"","p":176},{"i":179,"t":"SCOW AI当前处于Beta状态,其代码将会和SCOW主线共存,但是SCOW AI的版本发布周期将是独立的,不和SCOW本身同步。 您可以在GitHub的Release中找到格式为ai-beta.{数字}的Release,这些Release以及对应的Tag均为SCOW AI的Beta发布版本。快速到所有ai-beta. Release的链接点击此处。 要使用SCOW AI的具体的版本,您需要修改install.yml的imageTag为一个具体的ai-beta.{数字}的tag,例如: install.yaml # 指定使用Beta 1版本 imageTag: ai-beta.1 您同样可以使用master来跟踪SCOW主线以及其包括的SCOW AI的最新功能。","s":"Beta期间配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"","p":176},{"i":182,"t":"AI 系统(beta) 需要用户在使用时提前部署 K8S 的集群环境。 当前 AI 系统(beta) 为试用版本,我们目前已经支持 docker 和 containerd 两种容器运行时的 k8s集群中使用 AI 系统。 若集群为containerd 运行时,需要在集群的节点上安装 nerdctl 当前试用版本中 K8S 部署的主要版本信息如下: 安装内容 版本信息 kubernetes v1.19.13 Docker Engine 19.03.12","s":"K8S 集群","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#k8s-集群","p":176},{"i":184,"t":"AI 系统(beta) 同样通过 SCOW调度器适配器 来实现对 K8S 集群的调度服务。 同时为了满足提交 AI 作业、训练 AI 作业的功能,需要使用第三方调度插件 Kueue、 配置 Cluster Queue 的队列信息来协调和处理作业任务。 K8S 调度器适配器 我们仍然使用 SCOW调度器适配器 来实现 K8S 集群的调度服务。 当前版本中,我们提供了调度器适配器的适用版本的二进制文件 scow-ai-adapter-amd64,欢迎下载进行试用。 K8S 调度器适配器的配置请参照此链接。 第三方调度插件 Kueue Kueue 是一个用于 Kubernetes 的作业排队系统。它旨在管理和优化批处理作业和其他非实时工作负载的执行。 Kueue 的安装下载参照此链接。 配置 Cluster Queue Cluster Queue 允许基于不同的策略和需求对作业进行分组管理。 Cluster Queue 的配置与实际部署的 K8S集群 情况紧密相关,推荐您按照 Cluster Queue 介绍 和实际部署集群的详细情况进行配置。","s":"K8S 调度服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#k8s-调度服务","p":176},{"i":186,"t":"当前 AI 系统(beta) 版本中,为了实现镜像的保存、上传、分享、复制、删除等功能,需要您已部署可访问的 Harbor 镜像仓库。同时需要您已在 Harbor 上创建了用于镜像管理的项目,并在 AI 服务配置文件中配置该项目名称。 我们在测试版本中支持通过 http 协议 实现的 Harbor API V2.0 版本接口的访问,为了您能流畅体验试用镜像功能,推荐您部署支持该版本接口的 Harbor 镜像仓库。 我们在试用版的测试环境中试用的 Harbor 版本信息为 版本v2.7.4-8693b25a。","s":"Harbor","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#harbor","p":176},{"i":188,"t":"当前 AI 系统(beta) 版本中需要您已经提前安装部署了并行文件存储服务。","s":"并行文件存储服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#并行文件存储服务","p":176},{"i":190,"t":"当前 AI 系统(beta) 版本中我们仍然延续 SCOW 系统的认证系统服务,采用基于 LDAP 认证系统进行用户认证。 在 K8S 集群中仍然需要像 SCOW 系统的 hpc集群 一样,在管理节点安装 LDAP服务端 ,在所有节点安装 LDAP客户端 。","s":"LDAP","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#ldap","p":176},{"i":193,"t":"在当前 AI 系统(beta) 的试用版本中,我们支持了配置不同集群使用不同的服务(AI 或 HPC),需要在config/clusters/{K8S集群的ID}.yml中,添加如下内容 config/clusters/{K8S集群的ID}.yml # 其他配置省略 # ... # 集群在HPC或是否启用,默认为true hpc: enabled: true # 集群在AI或是否启用,默认为false ai: enabled: false 此外我们支持了不同容器运行时,并提供了进入运行中的 k8s 作业容器的进行 shell 操作的功能。 为了能够在 Kubernetes 集群中通过 kubectl 进入到所有命名空间的容器中执行命令(例如 /bin/sh),需要提供一份 kubeconfig 配置文件。该配置文件的 current context 中的用户需要使用 ClusterRole 创建并具备一定的权限,这些权限包括对 pods/exec 的 create 操作,以及对 pods 的 get 和 list 操作。创建完成后,需要将 kubeconfig 文件放置到 SCOW 部署目录中的 config 目录下,然后在config/clusters/{K8S集群的ID}.yml中,添加如下内容 config/clusters/{K8S集群的ID}.yml # 其他配置省略 # ... k8s: # runtime: docker # 默认为 containerd runtime: containerd # kubeconfig 相关配置 kubeconfig: # 相对于 SCOW 部署目录下 config 目录的路径 path: /kube/xxx 请在部署了 K8S 集群的集群配置文件中确认以下内容: 在config/clusters/{K8S集群的ID}.yml中,修改配置(使用 K8S适配器 的ip地址和端口号) config/clusters/{K8S集群的ID}.yml # 其他配置省略 # ... adapterUrl: localhost:8972","s":"集群配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#集群配置文件","p":176},{"i":195,"t":"修改安装配置文件: install.yaml # 其他配置省略 # ... # 确保 AI 系统会部署 ai: # dbPassword 为 AI 系统数据库密码 # 在系统第一次启动前可自由设置,使用此密码可以以 root 身份登录数据库 # 一旦数据库启动后即不可修改 # 必须长于 8 个字符,并同时包括字母、数字和符号 dbPassword: \"must!chang3this\"","s":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#修改安装配置文件","p":176},{"i":197,"t":"在config/ai/config.yaml文件中,根据备注修改所需要的配置 config/ai/config.yaml # AI 系统服务的 url,默认不修改 url: ai:5000 # AI 系统数据库的信息。可以不修改 db: host: ai-db port: 3306 user: root password: must!chang3this dbName: scow_ai debug: true # AI 系统镜像保存 Harbor 仓库配置 harborConfig: # Harbor 仓库地址 url: 10.0.0.xxx # Harbor 仓库中用于当前系统镜像管理的已存在的项目名称 project: projectName # Harbor 仓库可登录用户的用户名 # (建议使用上述项目的项目管理员以上权限人员,需具有 API 2.0 接口访问权限) user: user # Harbor 仓库可登录用户的登录密码 password: password","s":"编写 AI 服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#编写-ai-服务配置","p":176},{"i":199,"t":"运行 ./cli compose up -d 启动 AI 系统(beta) 服务。","s":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/ai/intro","h":"#启动服务","p":176},{"i":201,"t":"本节介绍内置认证系统并采用SSH进行用户认证的认证系统。 SSH认证是非常简单的认证方式。用户可以直接使用和SSH登录集群相同的用户名和密码来登录系统。 在此认证方式中,用户的用户ID为其对应的Linux用户名,用户的姓名为其对应的Linux用户的Gecos Field的full name字段。 SSH认证方式所支持的功能如下表: 功能 是否支持 用户登录 是 获取用户信息 是 用户创建 否 用户名和姓名验证 否 修改密码 否 管理用户账户关系 否","s":"SSH认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","h":"","p":200},{"i":203,"t":"SSH认证方式要求编写好集群配置文件,并且确保其中第一个集群有至少一个登录节点。 在config/auth.yml中输入以下内容: config/auth.yml # 指定使用认证类型为SSH authType: ssh 增加好配置后,运行./cli compose restart重启系统即可。","s":"配置SSH认证服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ssh","h":"#配置ssh认证服务","p":200},{"i":205,"t":"警告 实验性功能!","s":"CLI插件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"","p":204},{"i":207,"t":"您可以通过和cli同级的plugins目录编写CLI插件。 每个插件占据一个目录,目录名为插件的ID。例如plugins/plugin1,则此插件id为plugin1。 当您编写好插件后,您可以通过install.yml的plugins.enabledPlugins选项,指定启用的插件。 例如,如果要使用plugin1插件,则编写 install.yml plugins: enabledPlugins: [\"plugin1\"]","s":"编写和配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"#编写和配置","p":204},{"i":210,"t":"您可以通过此功能更改部署的Docker Compose配置,例如在SCOW网络中部署其他的容器,或者给已有的服务增加新的环境变量、端口等。 在插件目录下,您可以编写docker-compose.yml文件,此文件将会与CLI生成的Docker Compose配置文件合并。CLI在调用docker compose时,使用docker compose -f {scow-cli生成的compose文件} ...-f {所有插件的compose文件}的方法执行。 plugins/plugin1/docker-compose.yml version: \"3\" services: extraService: image: <您的容器镜像> # ...","s":"覆盖docker-compose.yml","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"#覆盖docker-composeyml","p":204},{"i":212,"t":"如果您仅需要增加部分服务端功能,只需要增加一个插件服务即可。 如果您需要增加页面功能,并与scow的http服务绑定在同一个端口上,需要在增加插件服务的同时增加gateway的配置,具体参考网关配置","s":"拓展与集成","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cli/plugins","h":"#拓展与集成","p":204},{"i":214,"t":"本节介绍使用内置认证系统并使用LDAP进行用户认证。 LDAP认证系统支持的功能如下表: 功能 是否支持 用户登录 是 获取用户信息 是 用户创建 如果配置了相关配置即支持 用户名和姓名验证 是 修改密码 是 管理用户账户关系 否","s":"LDAP认证系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"","p":213},{"i":216,"t":"为了更好的理解并配置LDAP认证系统,本节将介绍各个操作时,LDAP认证系统所进行的操作。请确认您的LDAP配置兼容这里所称的流程 下文中,代码块(如ldap.bindDn)为配置文件config/auth.yml中的对应值。","s":"LDAP认证要求和流程","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#ldap认证要求和流程","p":213},{"i":218,"t":"要使用LDAP进行SCOW系统的用户认证,您必须配置LDAP服务器和集群中的每个节点,使得集群中的任何节点都可以使用LDAP用户节点的ldap.attrs.uid对应的属性的值和密码作为用户名和密码登录。请参考client.sh配置使用LDAP服务器登录Linux节点。","s":"使用LDAP登录集群","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#使用ldap登录集群","p":213},{"i":220,"t":"当用户登录时,认证系统获得用户输入的用户名和密码,进行以下操作: 使用ldap.bindDn和ldap.bindPassword作为用户名和密码,向LDAP服务器所在的ldap.url发起bind请求 bind成功后,以ldap.searchBase为搜索根,以sub模式,以ldap.filter && (ldap.attrs.uid等于输入的用户名) 为筛选条件搜索节点 如果搜索结果为空,则登录失败 如果搜索节点有多个,取第一个结果 以上一个结果的DN以及输入的密码作为用户名和密码,与LDAP服务器发起bind请求 如果bind失败,则登录失败 登录成功。生成一个UUID作为token,将token与输入的用户名存入redis 重定向到用户在登录时,通过querystring指定的callback URL,并传入token={token}作为querystring参数","s":"登录","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#登录","p":213},{"i":222,"t":"系统会对每个新用户创建一个新的LDAP节点表示用户,并支持同时创建一个LDAP节点表示用户的组。 当用户在管理系统中创建后,认证系统获得新用户的用户名、用户姓名、密码和邮箱,进行以下操作 使用ldap.bindDn和ldap.bindPassword作为用户名和密码与向LDAP服务器所在的ldap.url发起bind请求 创建一个新的entry作为用户,其DN以及属性值如下表所示 表中??表示如果前面的配置值设置了,就采用前面的值,如果没有设置,则采用后面的值。 属性名 值 DN {ldap.addUser.userIdDnKey ?? ldap.attrs.uid}=用户名,{ldap.addUser.userBase} ldap.attrs.uid 用户名 sn 用户名 loginShell /bin/bash objectClass [\"inetOrgPerson\", \"posixAccount\", \"shadowAccount\"] homeDirectory ldap.addUser.homeDir,其中的{{ username }}替换为用户名 uidNumber 数据库中的用户项的id + ldap.addUser.uidStart gidNumber 取决于ldap.groupStrategy,见下文 ldap.attrs.name(如果设置了) 用户姓名 ldap.attrs.mail(如果设置了) 用户的邮箱 ldap.addUser.extraProps中的每个key key对应的值,对应的值可以为字符串、字符串列表或者null。字符串或者字符串列表中的每一项其中的{{ key }}替换为key本节点的对应的属性的值。 如果ldap.addUser.extraProps中包括已经存在的属性名,则会替换对应的属性。如果这里面某个值为null,则会删除对应的属性。 配置新用户所属的组。 如果ldap.addUser.groupStrategy设置为oneGroupForAllUsers,则新用户的gidNumber为ldap.addUser.oneGroupForAllUsers.gidNumber的值,且不会新建新的表示组的LDAP节点。 如果ldap.addUser.groupStrategy设置为newGroupPerUser,则新用户的gidNumber的值等于用户的uidNumber,并且会创建一个新的LDAP节点作为新用户的group,其DN以及属性值如下表所示。 属性名 值 DN {ldap.newGroupPerUser.groupIdDnKey ?? ldap.attrs.userId}=用户名,{ldap.addUser.newGroupPerUser.groupBase} objectClass [\"posixGroup\"] memberUid 用户名 gidNumber 同用户的uidNumber ldap.addUser.newGroupPerUser.extraProps中的每个key key对应的值,对应的值可以为字符串、字符串列表或者null。字符串或者字符串列表中的每一项其中的{{ key }}替换为key本节点的对应的属性的值。 如果ldap.addUser.newGroupPerUser.extraProps中包括已经存在的属性名,则会替换对应的属性。如果这里面某个值为null,则会删除对应的属性。 设置新用户的密码为用户输入的密码","s":"创建用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#创建用户","p":213},{"i":224,"t":"在config/auth.yml中输入以下内容,并根据情况配置。 config/auth.yml # 指定使用认证类型为LDAP authType: ldap # 在此部分输入LDAP的配置 ldap: # LDAP服务器地址。必填 url: ldap://LDAP服务器地址 # 进行LDAP操作的用户DN。默认为空 # bindDN: \"\" # 进行LDAP操作的用户密码。默认为空 # bindPassword: \"\" # 在哪个节点下搜索要登录的用户。必填。 searchBase: \"\" # 搜索登录用户时的筛选器。必填 userFilter: \"(uid=*)\" # 属性映射 attrs: # LDAP中对应用户ID的属性名 uid: uid # LDAP对应用户姓名的属性名 # 此字段用于 # 1. 登录时显示为用户的姓名 # 2. 创建用户的时候把姓名信息填入LDAP # 3. 管理系统添加用户时,验证ID和姓名是否匹配 # # 如果不设置此字段,那么 # 1. 用户显示的姓名为用户的ID # 2. 创建用户时姓名信息填入LDAP # 3. 管理系统添加用户时,不验证ID与姓名是否匹配 # name: cn # LDAP中对应用户的邮箱的属性名。可不填。此字段只用于在创建用户的时候把邮件信息填入LDAP。 # mail: mail # 添加用户的相关配置。可不填,不填的话SCOW不支持创建用户。 addUser: # 增加用户节点时,把用户增加到哪个节点下 userBase: \"ou=People,ou={ou},o={dn}\" # 用户的homeDirectory值。使用{{ userId }}代替新用户的用户名。默认如下 homeDir: /nfs/{{ userId }} # LDAP增加用户时,新用户节点的DN中,第一个路径的属性的key。 # 新用户节点的DN为{userIdDnKey}={用户ID},{userBase} # 如果不填写,则使用ldap.attrs.uid的值 # userIdDnKey: uid # 如何确定新用户的组。可取的值包括: # newGroupPerUser: 给每个用户创建新的组 # oneGroupForAllUsers: 不创建新的组,给所有用户设定一个固定的组 groupStrategy: newGroupPerUser newGroupPerUser: # 用户对应的新组应该加在哪个节点下 groupBase: \"ou=Group,ou={ou},o={dn}\" # 新的组节点的DN中,第一个路径的属性的key。 # 新的组节点的DN为{groupIdDnKey}={用户ID},{groupBase} # 如果不填写,则使用ldap.attrs.uid的值 # groupIdDnKey: uid # 组的节点应该额外拥有的属性值。可以使用 {{ 用户节点的属性key }}来使用用户节点的属性值 # extraProps: # greetings: hello this is group {{ userId }} # 如果groupStrategy设置为oneGroupForAllUsers,那么必须设置此属性 oneGroupForAllUsers: # 用户的gidNumber属性的值 gidNumber: 5000 # 是否应该把新用户加到哪个LDAP组下。如果不填,则不加 # addUserToLdapGroup: group # uid从多少开始。生成的用户的uid等于此值加上用户账户中创建的用户ID # 默认如下 # uidStart: 66000 # 用户项除了id、name和mail,还应该添加哪些属性。类型是个dict # 如果这里出现了名为uid, name或email的属性,这里的值将替代用户输入的值。 # 属性值支持使用 {{ LDAP属性值key }} 格式来使用用户填入的值。 # 例如:sn: \"{{ cn }}\",那么添加时将会增加一个sn属性,其值为cn的属性,即为用户输入的姓名 # extraProps: # key: value 增加好配置后,运行./cli compose restart重启系统即可。","s":"配置LDAP认证服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#配置ldap认证服务","p":213},{"i":226,"t":"我们提供以下两个脚本可以用来在CentOS 7环境快速安装和配置LDAP服务器 provider.sh: 用于配置LDAP服务器 client.sh: 用于配置LDAP客户端 请下载这两个文件,修改两个文件开头部分的相关配置(Start Configuratin Part和End Configuration Part之间的变量),运行即可。 如果您使用provider.sh脚本配置您的服务器,您的LDAP相关配置为如下。其中{变量}替换为provider.sh中的对应变量值。 config/auth.yml # ...其他配置 authType: ldap ldap: url: ldap://LDAP服务器地址 bindDN: cn=Manager,ou={ou},o={dn} bindPassword: {adminPasswd} searchBase: \"ou={ou},o={dn}\" userFilter: \"(uid=*)\" addUser: userBase: \"ou=People,ou={ou},o={dn}\" userIdDnKey: uid # 把homeDir设置为共享存储上的用户的家路径 homeDir: /nfs/{{ userId }} groupStrategy: newGroupPerUser newGroupPerUser: groupBase: \"ou=Group,ou={ou},o={dn}\" groupIdDnKey: cn attrs: uid: uid name: cn mail: mail","s":"LDAP快速配置脚本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#ldap快速配置脚本","p":213},{"i":228,"t":"您还可以使用我们提供的已经配置好的LDAP docker镜像进行体验。注意,此镜像仅用于测试和功能体验,请勿用于生产环境! # 在整个项目的根目录构建镜像 docker build -f dev/ldap/Dockerfile -t ldap . # 启动镜像。服务在389端口监听。 # 管理员用户为cn=Manager,ou=hpc,o=pku,密码为admin docker run -p 389:389 ldap","s":"LDAP镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/auth/ldap","h":"#ldap镜像","p":213},{"i":230,"t":"对于每个需要进行部署的集群,需要在config/clusters目录下创建一个{集群ID}/config.yml(或{集群ID}.yml)文件,并编写集群的信息。当您的集群信息修改后,您需要同时手动修改对应的集群配置文件。 config/clusters/hpc01/config.yml # 此文件为hpc01.yml,对应的集群ID为hpc01 # 集群显示名称 displayName: hpc01Name # 集群选择时排序的优先级,数字越小优先级越高,默认优先级最低 priority: 0 # 调度器适配器地址(ip地址:端口号) adapterUrl: localhost:8972 loginNodes: # 登录节点展示名称 - name: login01 # 各个登录节点的IP或者域名,不能重复 # 如果设置的是域名,请确认此节点的/etc/hosts中包含了域名到IP的解析信息 # 如果部署了多集群,需保证多集群下登录节点的IP或者域名也不能重复 address: 192.168.88.102 - name: login02 address: 192.168.88.103 # 登录节点桌面功能 loginDesktop: # 是否启用桌面功能 enabled: true # 桌面 wms: # 桌面名和对应的wm值。见文档 - name: Xfce wm: xfce # 单个登录节点最多启动多少个桌面节点 maxDesktops: 3 # 将创建的登录节点桌面信息的保存到什么位置。相对于用户的家目录 desktopsDir: scow/desktops # TurboVNC的安装路径 turboVNCPath: /opt/TurboVNC # 跨集群传输模块,可选功能 crossClusterFileTransfer: # 不启用跨集群传输功能可以设置为false enabled: true # 传输节点的地址(ip地址:端口号) transferNode: localhost:22222 # 集群在HPC或是否启用,默认为true hpc: enabled: true # 集群在AI或是否启用,默认为false ai: enabled: false","s":"集群配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","h":"","p":229},{"i":232,"t":"集群配置里的登录节点桌面功能和TurboVNC的安装路径配置为该集群特有,如不需要特殊配置该集群的这些功能,可在门户系统进行统一配置;若在集群下配置以上功能,在该集群内将会覆盖门户系统下的配置。 集群配置里的登录节点的IP或者域名必须唯一。如果部署了单集群多登录节点或者多集群,需保证所有登录节点的IP或者域名不能重复。","s":"注意","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/cluster-config","h":"#注意","p":229},{"i":235,"t":"假设我们的系统部署在https://scowtest.com下,那么在浏览器中输入此URL,即可访问系统。在这种部署条件下,我们说,系统部署在scowtest.com域名下,其相对于域名的路径(相对路径)为根路径,即/。 在一些特殊条件下,我们想使用同一个域名部署多个系统,每个系统部署在一个域名的某个相对路径(base path)下,例如,我们可能想通过https://scowtest.com/scow访问系统。在这种条件下,系统仍然部署在scowtest.com域名下,但是其相对路径为/scow。","s":"什么是相对路径(base path)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","h":"#什么是相对路径base-path","p":233},{"i":237,"t":"SCOW支持将系统的门户和管理系统部署在不同的相对路径下,仅需通过修改install.yaml中的basePath, portal.basePath和mis.basePath配置即可。 install.yaml中,basePath、portal.basePath和mis.basePath均不以/结尾。basePath填写整个系统的根路径,portal.basePath和mis.basePath分别表示门户系统和管理系统相对于系统的相对路径,遵循以下的编写原则: 整个系统的访问路径 门户系统的访问路径 管理系统的访问路径 basePath portal.basePath mis.basePath / / /mis / / /mis / /portal / / /portal / /scow /scow /scow/mis /scow / /mis /scow /scow/portal /scow /scow /portal /","s":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/basepath","h":"#配置","p":233},{"i":239,"t":"当管理员或财务人员在管理系统下查询消费列表时,系统支持按消费类型进行查询结果过滤。 当前管理系统下默认消费类型包括SCOW已配置的jobChargeType, changeJobPriceType及附加类型\"其他\"。 如果您所部署的SCOW实现了通过代码自定义收费规则或接入第三方使用了SCOW扣费系统的服务,那么可能您所使用的SCOW包含上述以外的消费类型。 这种情况管理员可以通过在config/mis.yaml下增加管理系统可选配置customChargeTypes来自定义可查询的消费类型。 配置: config/mis.yaml # 自定义可查询的消费类型,可选填 # 填写格式为字符串列表 customChargeTypes: [\"月租\",\"存储费\"] 当管理员在config/mis.yaml下增加上述配置后,在消费列表中可查询的消费类型如下。","s":"自定义可查询的消费类型","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-charge-types","h":"","p":238},{"i":241,"t":"在SCOW的页面国际化功能中,系统支持管理员自定义配置各配置文件中的文本显示为国际化显示。 当用户切换系统语言时,如果配置文件中的文本已经被自定义配置为国际化类型的文本,那么相应的配置文本也可以随着系统语言的切换而变换。 目前SCOW默认支持的国际化语言暂为简体中文与英文。","s":"自定义可配置项的国际化文本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","h":"","p":240},{"i":243,"t":"系统兼容上一版本的文本配置的string类型,同时支持可以随着语言切换而变换的i18n国际化类型。 下方是在auth.yaml中配置首页标题信息文本的国际化配置示例。 config/auth.yaml slogan: # 默认文本,类型要求为string,如配置为此字符串类型的文本,那么切换语言时不随着语言的切换而变换 # title: \"开源算力中心门户和管理平台\" # 默认文本,国际化I18n类型 title: i18n: # 默认显示文本,如果是i18n类型则必填,类型要求为string # 如果没有配置系统可支持的对应文本,如没有配置下方的en或zh_cn,则切换相应的语言时展示default中配置的文本信息 default: \"开源算力中心门户和管理平台\" # 英文文本,可选填,类型要求为string。切换语言为英文时显示配置的英文文本信息 en: \"Open-source Compute Center Portal and Management Platform\" # 简体中文文本,可选填,类型要求为string。切换语言为简体中文时显示配置的简体中文文本信息 zh_cn: \"开源算力中心门户和管理平台\" 如果管理员按上述配置示例中的i18n类型配置了auth系统的标题信息。那么当用户进入SCOW的登录页面时,语言为简体中文时用户可以看到的标题显示为: 当用户进入系统后通过右上角语言切换器切换当前显示语言为英文时,用户可以看到的标题显示为:","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","h":"#配置示例","p":240},{"i":245,"t":"随着SCOW性能的优化与功能的增加,在未来我们可能会增加更多的可自定义国际化文本配置的配置项。 当前SCOW已经支持的可配置国际化类型的文本包含以下配置文件中的文本。 配置文件 可以配置国际化文本类型的配置项 common.yaml passwordPattern:errorMessage auth.yaml slogan:title auth.yaml slogan:texts clusterTexts.yaml default:clusterComment clusterTexts.yaml default:extra: title clusterTexts.yaml default:extra: comment clusterTexts.yaml tenant_1: clusterComment mis.yaml accountNamePattern: errorMessage mis.yaml createUser:userIdPattern: errorMessage portal.yaml submitJobPromptText {cluster}.yaml displayName {cluster}.yaml loginNodes: name {app}.yaml attributes: label {app}.yaml attributes: placeholder {app}.yaml attributes: select: label {app}.yaml attributes: select: placeholder {app}.yaml appComment","s":"支持国际化文本切换的配置项","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-config-i18n","h":"#支持国际化文本切换的配置项","p":240},{"i":247,"t":"系统支持在mis.yaml中通过可选配置jobChargeMetadata将作业相关的字段以Json格式保存在消费记录中。 以便后续对此保存字段进行查询或在页面前端进行格式化显示。","s":"自定义在消费记录中保存作业相关字段","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"","p":246},{"i":249,"t":"config/mis.yaml # 自定义消费记录中作业相关的存储内容 jobChargeMetadata: # 可选。需要保存的作业相关字段,字段参考[entities/JobInfo](#entitiesjobinfo) savedFields: [\"idJob\", \"account\"] # 可选。定义显示出来的格式。如果不配置,直接显示上面保存的Json字段的信息 displayFormats: # i18n国际化类型,根据系统语言显示不同的信息 # 或字符串格式,直接显示字符串 # 利用 {{ 属性名 }} 使用上述savedFields中保存的属性值 i18n: default: \"账户 {{ account }} 的作业ID {{ idJob }} 的计费\" en: \"The billing for jobId {{ idJob }} of Account {{ account }}\" zh_cn: \"账户 {{ account }} 的作业ID {{ idJob }} 的计费\"","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置示例","p":246},{"i":251,"t":"参数 类型 是否必须 解释 savedFields string[] 否 想要在数据库实体ChargeRecord中的metadata字段中保存的作业相关的信息,字段参考entities/JobInfo, 保存的格式为Json格式 displayFormats string | i18n国际化类型 否 定义上述保存的字段显示出来的格式。如果不配置则直接显示上面保存的Json字段信息。如{\"jobId\": 1, \"account\": \"a_account\"}。string | i18n国际化类型均可以利用 {{ 属性名 }} 使用上述savedFields中保存的属性值。","s":"配置说明","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置说明","p":246},{"i":253,"t":"如果管理员按上述配置示例中的jobChargeMetadata配置,保存了idJob与account的字段信息,displayFormats类型为i18n国际化类型格式,那么当用户查询消费记录页面时,语言为简体中文时用户可以看到的消费记录显示为: 当用户进入系统后通过右上角语言切换器切换当前显示语言为英文时,用户可以看到的消费记录显示为: 如果管理员按上述配置示例中的jobChargeMetadata配置,保存了idJob与account的字段信息,但没有配置displayFormats时,用户可以看到的消费记录显示为: 如果管理员没有配置jobChargeMetadata,则用户在消费记录不能看到该列的显示。","s":"配置效果展示","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置效果展示","p":246},{"i":255,"t":"备注 当前标准部署的SCOW数据库实体JobInfo中支持的字段为: idJob,account,user,partition,nodelist,jobName,cluster,timeSubmit,timeStart,timeEnd,gpu,cpusReq,memReq,nodesReq,cpusAlloc,memAlloc,nodesAlloc,timelimit,timeUsed,timeWait,qos,recordTime,tenant,accountBillingItemId,tenantBillingItemId,tenantPrice,accountPrice 具体情况请参考实际部署SCOW的数据库信息。","s":"entities/JobInfo","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-job-charge-metadata","h":"#entitiesjobinfo","p":246},{"i":257,"t":"支持用户在common.yml文件中通过配置项systemLanguage自定义是否使用SCOW的页面国际化功能。 如果不使用页面国际化功能,则允许管理员指定系统唯一语言。 如果使用,允许管理员手动设置是否在用户没有保存过语言信息时跟随系统语言的自动判断。 如果在用户没有保存过语言信息时跟随系统语言自动判断,那么进入系统的初始语言优先从Cookies中保存的语言信息进行判断,如果其中没有保存的语言信息或者保存的语言信息不是SCOW系统的合法语言,则继续判断浏览器偏好语言。若二者均没有找到SCOW系统的合法语言,则初始语言为管理员配置的默认语言。 如果在用户没有保存过语言信息时不跟随系统的语言判断,则进入系统的初始语言优先判断用户是否已经保存过语言信息,即Cookies中是否存在SCOW系统的合法语言。如果存在,则使用Cookies中的语言为初始语言,如果不存在或者Cookies中的语言信息不是SCOW系统的合法语言,则初始语言为管理员配置的默认语言。 备注 当管理员通过配置项systemLanguage自定义系统语言时,无论是指定系统唯一语言或者是指定用户首次进入系统时的页面文本国际化的默认语言, 都需要确保配置的语言为当前系统的合法语言,否则系统无法启动。 目前SCOW系统下支持的合法语言为简体中文与英文,字符串枚举值为\"zh_cn\"和\"en\"。","s":"自定义系统语言","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","h":"","p":256},{"i":259,"t":"config/common.yml # 设置系统语言 可选配置 类型为对象或字符串,默认值为对象类型 # 1.systemLanguage对象类型 systemLanguage: # 可选,默认为true。 # 如果true,则SCOW在用户未手动选择语言时,自动优先根据cookies, 其次根据浏览器header判断语言,判断失败使用下方配置的default语言。 # 如果为false,则SCOW在首次进入系统用户未手动选择语言时使用下方配置的default语言, # 用户手动选择过语言之后优先从cookies中进行判断,cookies不存在合法语言信息则使用下方配置的默认语言。 autoDetectWhenUserNotSet: true # 默认语言,可选填,默认值为\"zh_cn\"。 # 类型必须为当前系统合法语言[\"zh_cn\",\"en\"]的字符串枚举值 default: \"zh_cn\" # 2.systemLanguage字符串类型 # 若systemLanguage配置为字符串,类型必须指定为当前系统合法语言[\"zh_cn\",\"en\"]的字符串枚举值 # SCOW直接使用此语言,不允许用户再进行语言切换 # systemLanguage: \"zh_cn\"","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","h":"#配置示例","p":256},{"i":261,"t":"1.如果没有配置systemLanguage,或配置为systemLanguage: {},则等同于下方类似配置。 config/common.yml systemLanguage: autoDetectWhenUserNotSet: true default: \"zh_cn\" 其含义为使用系统的页面国际化功能,允许用户在使用时手动切换语言。 初始语言跟随系统判断,即优先判断Cookies中保存的语言信息是否为SCOW系统的合法语言,如果Cookies中获取的语言信息不存在或不合法,则继续从浏览器偏好语言中选择语言。如果上述二者均不符合SCOW系统支持的合法语言,那么初始语言为配置的default: \"zh_cn\"。 2.如果autoDetectWhenUserNotSet配置为false。 config/common.yml systemLanguage: autoDetectWhenUserNotSet: false default: \"zh_cn\" 其含义为使用系统的页面国际化功能,允许用户在使用时手动切换语言。用户首次进入系统的初始语言不跟随系统判断。 即在Cookies中没有保存过语言信息或保存的语言信息不合法时,不再判断浏览器偏好语言,使用配置的default: \"zh_cn\"为初始语言。 3.如果不使用国际化功能。则需满足下方类似配置。 config/common.yml systemLanguage: \"zh_cn\" 其含义为指定系统唯一语言为简体中文。页面不再展示语言选择框。不再允许用户在使用SCOW时进行语言切换。","s":"配置结果示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-system-language","h":"#配置结果示例","p":256},{"i":263,"t":"您可以在门户和管理系统导航栏右侧的用户下拉菜单中增加链接,点击这些链接会跳转到您指定的URL。 备注 当您点击菜单链接时,我们会在当前链接后面加入查询参数?token={用来跟踪登录用户的状态的token},您可以通过token查询当前操作用户。","s":"自定义导航栏右侧的用户下拉菜单链接","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","h":"","p":262},{"i":265,"t":"您可以在config/common.yaml文件中,根据备注修改所需要的配置,您设置的配置将会在门户系统和管理系统同时生效。 config/common.yaml # 在导航栏右侧用户下拉菜单中增加链接相关配置 userLinks: # 链接名称,必填 - text: \"\" # 链接地址,必填 url: \"\" # 是否打开新的页面,可选填,默认值为false # openInNewPage: true","s":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","h":"#配置","p":262},{"i":267,"t":"config/common.yaml userLinks: # 链接名称,必填 - text: \"百度搜索\" # 链接地址,必填 url: \"https://www.baidu.com\" # 是否打开新的页面,可选填,默认值为false openInNewPage: true 用户可以阅览到的自定义用户下拉菜单配置示例如下:","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","h":"#配置示例","p":262},{"i":269,"t":"属性 类型 应用系统 是否必填 解释 navLinks / / / / text 字符串 portal,mis 是 链接名称,SCOW用户下拉菜单上显示的名称 url 字符串 portal,mis 是 自定义链接地址,跳转时会在后面加入查询参数?token={用来跟踪登录用户的状态的token}。 openInNewPage 布尔类型 portal,mis 否 可以选填。如不设置,默认值为false,不打开新的页面。如果设置为true,则会在新的页面打开该链接。 备注 关于链接地址url的跳转,与自定义导航链接一致,与HTML标签的默认行为一致,以http://开头的url会自动被识别为外部路径。点击该菜单栏时,会按照与url中填写的完全一致的路径进行跳转。 如果url中配置的链接地址是以/开头,或者没有以http://开头,则会被系统识别为内部路径。这时点击该菜单栏跳转时,将根据已配置的自定义相对路径自动添加相对路径前缀。 示例: config/common.yaml userLinks: - text: \"菜单1\" url: \"http://www.navtest1.com\" - text: \"菜单2\" url: \"www.navtest2.com\" - text: \"菜单3\" url: \"/www.navtest3.com\" 假设我们的系统部署在https://scowtest.com下,管理员配置的相对路径为/scow。 那么按照上述自定义菜单配置示例,点击菜单1时,会链接http://www.navtest1.com?token={用来跟踪登录用户的状态的token}进行跳转。 点击菜单2时,url会被识别为内部路径,将会拼接相对路径前缀和/,按照https://scowtest.com/scow/www.navtest2.com?token={用来跟踪登录用户的状态的token}进行跳转。 点击菜单3时,url同样会被识别为内部路径,将会拼接相对路径前缀,按照https://scowtest.com/scow/www.navtest3.com?token={用来跟踪登录用户的状态的token}进行跳转。","s":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-userlinks","h":"#配置解释","p":262},{"i":271,"t":"当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能;用户可以在个人信息中修改密码,对于密码的规则,我们可以进行配置。 配置: config/common.yaml # 创建用户、修改密码时,密码的规则。必须设置 passwordPattern: # 正则表达式。下面为默认值 regex: ^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[`~!@#\\$%^&*()_+\\-[\\];',./{}|:\"<>?]).{8,}$ # 出错时的消息。下面为默认值 errorMessage: 必须包含字母、数字和符号,长度大于等于8位","s":"创建用户/修改密码正则配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/password-pattern","h":"","p":270},{"i":273,"t":"在管理系统中,您可以增加通过代码自定义收费规则,然后在配置文件中进行配置,就可以在创建新的计费项使用这个新的计量方式","s":"通过代码自定义收费规则","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","h":"","p":272},{"i":275,"t":"增加配置目录:config/scripts,放置您编写计费规则函数的js文件,这些js文件可以是commonjs或者esm的。SCOW通过require(\"路径\")的方式读取这些脚本文件,并在计费的时候调用这个函数。例如,可以增加一个名为my-strategy.js的文件。文件应当默认导出一个如下的函数,返回一个数值: config/scripts/my-strategy.js // 系统自带的计费规则请参考 apps/mis-server/src/bl/jobPrice.ts 文件中的 amountStrategyFuncs // 本函数的计费模式:如果作业运行时间小于180s,则不扣费,如果使用了gpu,按照gpu分配量计费, // 如果otherAsyncRules为true,返回10,其余的按照cpu分配量计费 function myStrategy(jobInfo) { const otherAsyncRules = false; if (jobInfo.timeUsed < 180) { return 0; } else if (jobInfo.gpu) { return jobInfo.gpu; } else if (otherAsyncRules) { return new Promise((resolve) => { setTimeout(() => { resolve(10); }, 1000); // 模拟异步操作,在 1 秒后返回数值 10 }); } return jobInfo.cpusAlloc; } module.exports = myStrategy; 上述js文件对应的ts类型如下: // 作业的用量信息 export interface JobInfo { // 集群作业id jobId: number; // scow中的集群id cluster: string; // 分区 partition: string; qos: string; // 作业运行时间 timeUsed: number; // 分配CPU数tres_alloc cpusAlloc: number; // 使用GPU数。来自gres_req字段 gpu: number; // 申请的内存,来自tres_req memReq: number; // 分配的内存,来自tres_alloc memAlloc: number; // 账户 account: string; // 租户 tenant: string; } export function myStrategy(jobInfo: JobInfo): number | Promise { const otherAsyncRules = false; if (jobInfo.timeUsed < 180) { return 0; } else if (jobInfo.gpu) { return jobInfo.gpu; } else if (otherAsyncRules) { return new Promise((resolve) => { setTimeout(() => { resolve(10); }, 1000); // 模拟异步操作,在 1 秒后返回数值 10 }); } return jobInfo.cpusAlloc; }","s":"增加配置目录及自定义规则js文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","h":"#增加配置目录及自定义规则js文件","p":272},{"i":277,"t":"config/mis.yaml # 新增自定义收费规则 customAmountStrategies: # 计费方式id,请勿重复,重复的话后面的计费方式将会覆盖前面的, # 定义后不能更改,自定义计费项会记录所使用的计费方式id,并存储到数据库里, # 其作用与\"max-cpusAlloc-mem\", \"max-gpu-cpusAlloc\", \"gpu\", \"cpusAlloc\"等同, # 若当前生效的自定义计费项使用了某自定义计费方式id,你不能删除它,否则系统将无法启动,如要删除,请先使该计费项失效 - id: \"strategy1\" # 可选,新的计量方式的显示名称,如不填写将使用id的内容 name: \"自定义收费计算方式1\" # 可选,计量方式描述 comment: \"自定义收费计算方式1,运行时间低于3分钟以下的作业不计费,大于或等于3分钟的按照gpu或cpu用量计算\" # 脚本文件路径,不包含config/scripts前缀,如my-strategy.js即等于config/scripts/my-strategy.js # 支持commonjs或者esm,内容不支持动态修改,修改后需重启系统 # 自定义计量方式的文件应该默认导出一个如下签名的函数: # type MyStrategy = (jobInfo: JobInfo) => number | Promise; # JobInfo为apps/mis-server/src/bl/PriceMap.ts中的JobInfo类型,提供作业的用量信息 script: \"my-strategy.js\"","s":"mis.yaml增加可选配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","h":"#misyaml增加可选配置","p":272},{"i":279,"t":"配置完后,重启系统,然后在作业价格表页面进行配置,如下: 配置完成后,对应的平台/租户讲使用您的自定义计费方式来计算作业价格","s":"创建新的计费项使用这个新的计量方式","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-amount-strategies","h":"#创建新的计费项使用这个新的计量方式","p":272},{"i":281,"t":"您存放在和install.yml同级的public目录下下的文件将可以在SCOW部署路径的/__public__ 路径下访问。 例如public/test.png,SCOW的base path为/scow,则可以在/scow/__public__/test.png下访问到这个文件。 更新public目录下的文件无需重启服务器。","s":"公共文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/public-files","h":"","p":280},{"i":283,"t":"系统中支持自定义一些网页中的UI元素。支持自定义UI元素的组件有:","s":"自定义网页UI元素","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"","p":282},{"i":285,"t":"favicon文件应取名为favicon.ico,放到config/icons下。 系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。","s":"自定义favicon","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#自定义favicon","p":282},{"i":287,"t":"LOGO图片的文件名应为logo,后缀应为svg, png或者jpg,如果多个后缀名的文件同时存在,则顺序为svg, png, jpg。 有的图片在暗色主题下显示背景不佳,系统支持单独设置在暗色模式下显示的图片。在暗色模式下显示的图片的文件名应该为logo.dark,后缀名规则和上述规则相同。如果不存在暗色模式下的图片,则系统将显示正常模式下的图片。 将LOGO图片放入config/logo下即可。 系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。 系统将导航栏LOGO的高度限制为40px。","s":"自定义导航栏LOGO","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#自定义导航栏logo","p":282},{"i":289,"t":"系统支持根据不同的域名显示不同的主题色以及footer文本。 请创建文件config/ui.yaml,并根据以下配置说明编写自己的配置 config/ui.yaml # footer部分的配置。可以不填。 # 对portal-web、mis-web和auth的登录界面有效 footer: # 对所有域名生效的footer文本,默认为空字符串 # 文本支持HTML的标签,将会被放在一个div中。 defaultText: \"\" # 对某特定来访域名生效的footer文本,可以不填 hostnameMap: # 从a.com的访问显示footer文本为a.com的文本 a.com: a.com的文本 # 主题色配置。可以不填 # 对portal-web和mis-web有效 primaryColor: # 对所有域名生效的主题色。默认为#9B0000 defaultColor: string # 对某特定来访域名生效的主题色,可以不填 hostnameMap: # 从a.com的访问的主题色为#000000 a.com: #000000","s":"自定义主题色和footer文本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#自定义主题色和footer文本","p":282},{"i":291,"t":"系统使用host HTTP header判断来访的域名。如果您发现您设定的针对某个域名的图片没有显示,请检查系统收到的请求的host header的值是否正确。","s":"来访的域名","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/webui","h":"#来访的域名","p":282},{"i":294,"t":"资源状态功能通过嵌入配置好的 Grafana 面板查看资源的状态。 grafana 版本推荐使用较新的版本,否则可能会出现数据无法获取或者样式异常的情况。SCOW 在进行测试时使用的是 Grafana 10.2.2 版本,推荐使用该版本。 目前提供两种嵌入方式","s":"资源状态","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#资源状态","p":292},{"i":296,"t":"直接嵌入指使用 iframe 将 grafana 的实际面板的 url 嵌入到 scow 管理系统中。将在 scow 管理系统的平台管理下添加【集群监控】-【资源状态】页面。 修改 grafana 配置文件 grafana.ini,添加 allow_embedding 配置如下,允许 grafana 能够嵌入页面。 ...other config [security] allow_embedding = true 在 mis.yaml 文件中添加 clusterMonitor 相关配置 # 集群监控配置 clusterMonitor: # 协议 + ip/域名 + 端口,默认为 http://127.0.0.1:4000 grafanaUrl: \"http://127.0.0.1:4000\" # 资源状态相关配置 resourceStatus: # 是否开启资源状态,默认不开启 enabled: true # 是否使用代理的方式,默认为 false proxy: false # 默认面板 id,默认设置为 shZOtO4Sk dashboardUid: \"shZOtO4Sk\" 将 grafanaUrl 替换为实际的 grafana 地址,并将 dashboardUid 设置为你期望进入资源状态页面展示的面板 id 即可。","s":"1. 直接嵌入","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#1-直接嵌入","p":292},{"i":298,"t":"如果你不希望将 grafana 的地址公开,可以使用代理的方式嵌入 grafana 面板。开启代理后,对 grafana 的请求将发送到 scow 的后端然后代理到 grafana。 修改 grafana 配置文件 grafana.ini,添加 root_url 和 allow_embedding 配置。将如下配置中的 SCOW 地址替换为真实的地址。例如 http://127.0.0.1/mis ..other config [server] root_url=[SCOW 管理系统地址]/api/admin/monitor/getResourceStatus [security] allow_embedding = true 在 mis.yaml 文件中添加 clusterMonitor 相关配置 # 集群监控配置 clusterMonitor: # 协议 + ip/域名 + 端口,默认为 http://127.0.0.1:4000 grafanaUrl: \"http://127.0.0.1:4000\" # 资源状态相关配置 resourceStatus: # 是否开启资源状态,默认不开启 enabled: true # 是否使用代理的方式,默认为 false proxy: true # 默认面板 id,默认设置为 shZOtO4Sk dashboardUid: \"shZOtO4Sk\" 同样你需要将 grafanaUrl 替换为实际的 grafana 地址,并将 dashboardUid 设置为你期望进入资源状态页面展示的面板 id。然后将 proxy 选项改为 true 即可开启代理模式嵌入 grafana。 备注 注意:目前代理的模式暂不支持 websocket 连接,会影响 grafana 部分实时数据更新的功能","s":"2. 代理","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#2-代理","p":292},{"i":300,"t":"可以查看资源达到一定使用限额后触发的告警日志,目前仅支持 scow 提供的告警规则查看。详细的配置信息可以查看部署集群监控。完成 grafana 数据源、Prometheus、Alertmanager、alert-db等配置后,修改 mis.yaml 文件,在 clusterMonior 下添加如下配置。 # 集群监控配置 clusterMonitor: # 告警日志配置 alarmLogs: # 是否开启告警日志,默认不开启 enabled: true 开启后将添加【集群监控】-【告警日志】页面","s":"告警日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#告警日志","p":292},{"i":302,"t":"查看部署集群监控","s":"参考配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/cluster-monitor","h":"#参考配置","p":292},{"i":304,"t":"您可以增加门户和管理系统的导航链接,点击这些链接会跳转到您指定的URL。 备注 当您点击导航链接时,我们会在当前链接后面加入查询参数?token={用来跟踪登录用户的状态的token},您可以通过token查询当前操作用户。","s":"自定义导航链接","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"","p":303},{"i":306,"t":"在门户系统中,您可以在config/portal.yaml文件中,根据备注修改所需要的配置。 config/portal.yaml # 新增导航链接相关配置 navLinks: # 链接名称 - text: \"\" # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 url: \"\" # 是否打开新的页面,可选填,默认值为false # openInNewPage: true # 图标路径,可选填 iconPath: \"\" # 二级导航,可选填 children: # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children - text: \"\" url: \"\" iconPath: \"\"","s":"门户系统中的配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#门户系统中的配置","p":303},{"i":308,"t":"在管理系统中,您可以在config/mis.yaml文件中,根据备注修改所需要的配置。 config/mis.yaml # 新增导航链接相关配置 navLinks: # 链接名称 - text: \"\" # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 url: \"\" # 是否打开新的页面,可选填,默认值为false # openInNewPage: true # 图标路径,可选填 iconPath: \"\" # 可以看到这个链接的用户,可选填 # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance allowedRoles: [] # 二级导航,可选填 children: # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children - text: \"\" url: \"\" openInNewPage: iconPath: \"\" allowedRoles: []","s":"管理系统中的配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#管理系统中的配置","p":303},{"i":311,"t":"config/portal.yaml navLinks: - text: \"一级导航1\" iconPath: \"/desktop.jpg\" children: - text: \"二级导航1\" url: \"https://hahahaha1.1.com\" iconPath: \"/PKU_seal.svg\" - text: \"二级导航2\" url: \"https://hahahaha1.2.com\" - text: \"二级导航3\" url: \"https://hahahaha1.3.com\" iconPath: \"/earth.png\" - text: \"一级导航2\" url: \"https://hahahaha2.com\" children: [] iconPath: \"/earth.svg\" - text: \"一级导航3\" url: \"https://hahahaha3.com\" openInNewPage: true iconPath: \"/icon-test.png\" children: [] 门户系统用户可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。","s":"门户系统自定义导航链接配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#门户系统自定义导航链接配置示例","p":303},{"i":313,"t":"config/mis.yaml navLinks: - text: \"一级导航1\" iconPath: \"/icon-test.png\" children: - text: \"二级导航1\" url: \"https://hahahaha1.1.com\" iconPath: \"/earth.svg\" allowedRoles: [tenantFinance] - text: \"二级导航2\" url: \"https://hahahaha1.2.com\" allowedRoles: [tenantAdmin, platformAdmin] - text: \"一级导航2\" url: \"https://hahahaha2.com\" iconPath: \"/earth.png\" - text: \"一级导航3\" url: \"https://hahahaha3.com\" allowedRoles: [user] 当前登录用户的用户角色为accountOwner,tenantAdmin,platformAdmin时,他可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。","s":"管理系统自定义导航链接配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#管理系统自定义导航链接配置示例","p":303},{"i":315,"t":"属性 类型 应用系统 是否必填 解释 navLinks / / / / text 字符串 portal,mis 是 链接名称,SCOW导航栏上显示的名称 url 字符串 portal,mis 在二级导航中为必填 链接地址,自定义导航链接地址,一级导航链接地址为可选填,二级导航链接地址为必填。跳转时会在后面加入查询参数?token={用来跟踪登录用户的状态的token}。如没有配置一级导航的链接地址,点击该导航栏时将自动跳转至次级导航栏的第一项导航的链接地址。 openInNewPage 布尔类型 portal,mis 否 可以选填。如不设置,默认值为false,不打开新的页面。如果设置为true,则会在新的页面打开该导航链接。 iconPath 字符串 portal,mis 否 图标路径,用户上传到公共文件下的自定义导航链接图标路径。可选填,如未填写则显示系统默认导航链接图标。 allowedRoles 用户角色字符串列表 mis 否 管理系统指定可以看到该导航链接的角色列表,用户角色类型包括 user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance (用户角色详解请看下方角色配置说明)。如果没有指定,则不再限定用户角色,即所有用户都可以看到该导航链接。 children 导航内容的列表 portal,mis 否 二级导航列表,内容包括该系统下一级导航的所有内容,除url以外,内容类型以及是否必填与一级导航内容完全相同,但是不允许再继续设置chilidren,不允许继续添加三级导航。如果没有指定,则没有可以显示的二级导航链接。 备注 关于导航链接地址url的配置,与HTML标签的默认行为一致,以http://开头的url会自动被识别为外部路径。点击该导航栏时,会按照与url中填写的完全一致的路径进行跳转。 如果url中配置的链接地址是以/开头,或者没有以http://开头,则会被系统识别为内部路径。这时点击该导航栏跳转时,将根据已配置的自定义相对路径自动添加相对路径前缀。 示例: config/portal.yaml navLinks: - text: \"导航测试\" children: - text: \"子导航1\" url: \"http://www.navtest1.com\" - text: \"子导航2\" url: \"www.navtest2.com\" - text: \"子导航3\" url: \"/www.navtest3.com\" 假设我们的系统部署在https://scowtest.com下,管理员配置的相对路径为/scow。 那么按照上述自定义导航配置示例,点击导航测试时,会按照次级导航的第一个链接http://www.navtest1.com?token={用来跟踪登录用户的状态的token}进行跳转。与点击子导航1的跳转动作一致。 点击子导航2时,url会被识别为内部路径,将会拼接相对路径前缀和/,按照https://scowtest.com/scow/www.navtest2.com?token={用来跟踪登录用户的状态的token}进行跳转。 点击子导航3时,url同样会被识别为内部路径,将会拼接相对路径前缀,按照https://scowtest.com/scow/www.navtest3.com?token={用来跟踪登录用户的状态的token}进行跳转。","s":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#配置解释","p":303},{"i":317,"t":"系统支持自定义导航链接的灵活图标配置。 您可以通过把存放在和install.yml同级的public目录下图片文件的路径添加到iconPath来进行自定义图标配置。公共文件路径的使用详见公共文件。 您所添加的图片文件后缀应为常用图片文件.svg,.png或者.jpg等。 如您将图片icon.svg上传到公共文件public目录下,则您在配置时需填写iconPath:\"/icon.svg\"。 iconPath可以选填,如不填写,则将统一显示系统默认导航链接图标。","s":"自定义图标配置说明","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#自定义图标配置说明","p":303},{"i":319,"t":"在管理系统中进行配置自定义导航链接功能时,您可以通过在allowedRoles属性中添加角色字符串来自由配置能够看到该导航链接的角色。 在当前的SCOW系统中,我们支持以下角色: 角色名称 解释 user 未加入账户的普通用户 accountUser 在所有账户中均为普通用户 accountAdmin 在某个账户中为账户管理员 accountOwner 在某个账户中为账户拥有者 tenantAdmin 在租户中的角色:租户管理员 tenantFinance 在租户中的角色:租户财务人员 platformAdmin 在平台中的角色:平台管理员 platformFinance 在平台中的角色:平台财务人员 提示 如果您想更加详细的了解系统用户模型,请参考用户模型。","s":"角色配置说明","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/customization/custom-navlinks","h":"#角色配置说明","p":303},{"i":321,"t":"当管理系统部署完成后,访问部署路径的/init路径下,即可进行管理系统的初始化页面。","s":"管理系统初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"","p":320},{"i":323,"t":"在第一个选项卡里,您可以导入已有用户信息。根据所使用的调度器不同,获取用户信息的方式也有所不同。 slurm","s":"导入已有用户信息","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#导入已有用户信息","p":320},{"i":325,"t":"在第二个选项卡里,您可以查看系统当前默认租户下的用户和账户,以及设置用户的平台角色和租户角色。其中平台角色包括平台管理员和财务人员,租户角色包括租户管理员和财务人员。","s":"查看系统的用户和账户,设置初始管理员用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#查看系统的用户和账户设置初始管理员用户","p":320},{"i":327,"t":"在第三个选项卡里,您可以添加系统的初始管理员用户。初始管理员既是平台管理员也是租户管理员。注意,这里添加的用户的用户ID必须和认证系统里的用户ID相同。","s":"添加初始管理员用户","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#添加初始管理员用户","p":320},{"i":329,"t":"在第三个选项卡中,您可以设置作业价格表。请参考计费收费模型文档了解系统计费收费模型以及如何修改作业价格表。 提示 若某个(集群,分区,QOS)项未设置计费价格,则使用该(集群,分区,QOS)项提交的作业将不会被导入到已完成的作业列表!","s":"编辑作业价格表","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#编辑作业价格表","p":320},{"i":331,"t":"当您完成系统的初始化后,请一定点击并确认完成初始化按钮。 提示 未完成初始化的系统将会允许任何用户执行上述三个操作,所以请一定要确认初始化!","s":"完成初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/init","h":"#完成初始化","p":320},{"i":333,"t":"在以下情况下,管理系统允许用户或者管理员在SCOW中创建用户。 初始化系统时,创建初始管理员账号 添加用户到账户时,用户不存在 租户管理员添加用户 由于不同机构创建用户的方式完全不同,为了兼容易用性和可扩展性,我们从SCOW中创建用户的方式具有**内置(builtin)和外置(external)**两种方式。","s":"创建用户配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","h":"","p":332},{"i":335,"t":"当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能。 配置: config/mis.yaml createUser: # 允许用户创建用户。默认为true enabled: true # 使用SCOW内置的创建用户功能。默认为builtin type: builtin # 内置创建用户功能配置 builtin: # 创建用户时,用户ID的规则。不设置就没有限制 userIdPattern: # 正则表达式 regex: \"^[a-z][a-z0-9_]{2,19}$\" # 出错时的消息 errorMessage: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" 创建时对密码的要求,请参考用户密码正则配置 备注 如果您的认证系统不支持创建用户,且使用了内置的创建用户功能,那SCOW将会在创建用户时并不会显示创建用户的界面,而会通过报错等方式发出一个通知,告知用户系统无法创建用户。","s":"内置创建用户页面","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","h":"#内置创建用户页面","p":332},{"i":337,"t":"如果内置创建用户界面不合您的需求,您可以自己开发单独的创建用户界面。SCOW将会在用户从SCOW中创建用户时,跳转到您指定的地址中。 config/mis.yaml createUser: # 允许用户创建用户。默认为true enabled: true # 使用SCOW内置的创建用户功能 type: external # 外置创建用户界面 external: url: http://your-create-user-page.com SCOW在跳转时,还会给URL附上如下查询字符串(querystring),您的系统可以使用这些查询字符串获取用户的意图,并完成用户所指定的操作。 情形 增加的查询字符串 添加用户到账户时用户不存在 ?type=addUserToAccont&accountName=账户名&userId=用户ID&userName=用户姓名&token=操作用户的token 租户管理员创建用户 ?type=createUser&token=操作用户的token 初始化系统时创建初始管理员不支持跳转到外置创建用户界面。 下图为当添加用户到账户但用户不存在时,UI交互的情况:","s":"外置创建用户界面","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","h":"#外置创建用户界面","p":332},{"i":339,"t":"要想关闭SCOW的创建用户的功能,可以在配置文件中配置 config/mis.yaml createUser: # 在SCOW中关闭创建用户功能 enabled: false 当您关闭此功能时,UI上所有关于创建用户的功能的链接都会被隐藏。","s":"关闭SCOW中创建用户功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/create-user","h":"#关闭scow中创建用户功能","p":332},{"i":342,"t":"您可以在cli同级的install.yml文件中增加对scow自带网关的配置,可接受的格式为nginx的server可接受的属性配置。 例如,增加在当前系统nginx默认端口的http服务http://extra-web:3000,则编写 install.yml # 网关配置 gateway: # 更多nginx配置 extra: > location /extra { proxy_pass http://extra-web:3000; include includes/headers; include includes/websocket; } 您增加extra配置后,可以在使用./cli compose up -d启动scow后,使用 ./cli compose exec gateway sh 进入gateway服务,在 /etc/nginx/http.d 目录下的 default.conf 文件最下方查看到您添加的配置。 如果gateway服务启动失败,说明您的配置不符合规范,请保证其正确性。","s":"extra","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","h":"#extra","p":340},{"i":344,"t":"scow 网关默认不限制 HTTP Host 头 为了防止 host 头攻击的发生,可以通过设置域名白名单来限制 Host 的域名或 IP gateway: # 同 nginx server_name 配置 allowedServerName: example.com www.example.com 多个域名或 IP 间用空格间隔即可。","s":"域名白名单配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","h":"#域名白名单配置","p":340},{"i":346,"t":"设置 scow 访问协议http | https,将修改认证系统中 callbackUrl 的协议。 默认情况下 callbackUrl 的 protocol 为 http, 如果配置 https 代理,则建议设置该项确保用户体验的一致性。 gateway: # scow 访问协议,将影响 callbackUrl 的 protocol # callbackUrl 默认的 protocol 为 http protocol: \"http\"","s":"SCOW 访问协议","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/gateway/config","h":"#scow-访问协议","p":340},{"i":348,"t":"本节介绍如何配置管理系统。","s":"配置管理系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"","p":347},{"i":350,"t":"服务器会定期地从调度器适配器中获取已完成的作业信息,并根据规则对租户和账户进行扣费操作。详细计费规则请参考计费收费。","s":"管理系统同步作业信息","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#管理系统同步作业信息","p":347},{"i":352,"t":"修改安装配置文件 install.yaml # 确保管理系统会部署 mis: # 如果管理系统部署在`/mis`路径下,设置\"MIS.BASE_PATH\"为 \"/mis\"。默认为\"/\" basePath: \"/mis\" # 如果将会部署在域名的根目录下,设置\"MIS.BASE_PATH\"为 \"/\" basePath: \"/\" # dbPassword为管理系统数据库密码 # 在系统第一次启动前可自由设置,使用此密码可以以root身份登录数据库 # 一旦数据库启动后即不可修改 # 必须长于8个字符,并同时包括字母、数字和符号 dbPassword: \"must!chang3this\" 提示 如果想自定义系统部署的相对路径,或者了解MIS.BASE_PATH的含义,请参考自定义相对路径。","s":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#修改安装配置文件","p":347},{"i":354,"t":"根据调度器种类的不同,需要在集群上部署对应的调度器适配器 slurm","s":"部署调度器适配器","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#部署调度器适配器","p":347},{"i":356,"t":"根据集群所使用的调度器的不同,参考对应文档更新config/clusters/{集群ID}.yml文件: slurm","s":"更新集群配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#更新集群配置文件","p":347},{"i":358,"t":"在config/mis.yaml文件中,根据备注修改所需要的配置 config/mis.yaml # 管理系统数据库的信息。可以不修改 db: host: db port: 3306 user: root password: mysqlrootpassword dbName: scow # 获取作业相关配置 fetchJobs: # 从哪个时间点开始获取作业 # (日期格式ISO 8601,且需在末尾添加时区,推荐使用协调世界时(UTC)) # startDate: \"2000-01-01T00:00:00Z\" # 限制一次获取的作业数量 # batchSize: 1000 # 周期性获取数据 periodicFetch: # 是否开启 enabled: true # 周期的cron表达式 cron: \"*/10 * * * *\" # 周期性同步scow与调度器(如slurm)账户用户封锁状态的配置 periodicSyncUserAccountBlockStatus: # 是否开启 enabled: true # 周期的cron表达式 cron: \"0 4 * * *\" # 预定义的充值类型 predefinedChargingTypes: - 测试 # 创建账户时,账户名的规则。不设置就没有限制 accountNamePattern: # 正则表达式 regex: \"^[a-z][a-z0-9_]{2,19}$\" # 出错时的消息,对应上面的正则表达式 # 此文本支持国际化 errorMessage: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" createUser: # 允许用户创建用户。默认为true enabled: true # 使用SCOW内置的创建用户功能。默认为builtin type: builtin # 内置创建用户功能配置 builtin: # 创建用户时,用户ID的规则。不设置就没有限制 userIdPattern: # 正则表达式 regex: \"^[a-z][a-z0-9_]{2,19}$\" # 出错时的消息 errorMessage: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" # errorMessage: # i18n: # default: \"要求输入长度为3-20位,小写字母、数字、下划线组成的字符串,且以小写字母开头\" # en: \"It is required to enter a string of 3-20 characters in length, consisting of lowercase letters, numbers, and underscores, and starting with a lowercase letter.\" # zh_cn: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" # # 新增导航链接相关配置 # navLinks: # # 链接名 # - text: \"一级导航1\" # # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 # url: \"\" # # 是否打开新的页面,可选填,默认值为false # # openInNewPage: true # # 自定义图标地址,可选填 # # iconPath: \"\" # # 可以看到这个链接的用户,可选填 # # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance # allowedRoles: [] # # 二级导航,可选填 # children: # # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children # - text: \"二级导航1\" # url: \"https://hahahaha1.1.com\" # # openInNewPage: true # iconPath: \"\" # allowedRoles: [accountAdmin, accountOwner] # - text: \"二级导航2\" # url: \"https://hahahaha1.2.com\" # allowedRoles: [tenantAdmin, platformAdmin] # - text: \"一级导航2\" # url: \"https://hahahaha2.com\"","s":"编写后端服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#编写后端服务配置","p":347},{"i":360,"t":"运行./cli compose up -d启动管理系统。","s":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#启动服务","p":347},{"i":362,"t":"查看系统初始化文档初始化系统信息。","s":"系统初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/intro","h":"#系统初始化","p":347},{"i":364,"t":"由于已封锁的账户将会在slurm集群重启后被解封,且slurm集群可能在SCOW运行时重启,但并不会给scow发送信息,所以SCOW在启动时将会自动刷新一次slurm账户的封锁/解封,用户的封锁状态,同时默认在每天凌晨4点执行一次同步。 如果您对时效性有要求,可以在slurm(其它调度器也一样,此处以slurm为例)集群重启后,手动执行一下平台调试->封锁状态同步的立刻同步调度器账户和用户封锁状态的功能。 如果您不需要此功能,也可以自定义配置: 在config/mis.yaml文件中,根据备注修改所需要的配置 config/mis.yaml # 周期性同步scow与调度器(如slurm)账户用户封锁状态的配置 periodicSyncUserAccountBlockStatus: # 是否开启 enabled: true # 周期的cron表达式 cron: \"0 4 * * *\"","s":"刷新调度器账户、用户封锁状态","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/sync","h":"","p":363},{"i":367,"t":"在集群中选定一个节点作为slurm节点。此节点需要部署slurm适配器并保证正确运行。","s":"选定slurm节点和部署slurm适配器","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#选定slurm节点和部署slurm适配器","p":365},{"i":369,"t":"在config/clusters/{使用slurm的集群的ID}.yml中,修改配置(使用适配器的ip地址和端口号) config/clusters/{使用slurm的集群的集群ID}.yml # ... adapterUrl: localhost:8972","s":"修改集群配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#修改集群配置","p":365},{"i":371,"t":"如果您已有一个slurm集群,在管理系统部署完成后,可以使用本功能将slurm中的用户信息导入本系统。 系统会从slurm集群中读取用户和账户信息,显示在表格中。不存在名字的用户的初始名字默认为自己的ID。 系统默认将a_用户ID == 账户ID的用户设置为拥有者。此外,您也可以在系统中选择拥有者,需要注意系统要求账户的拥有者字段不能为空。 在系统初始化时,或者系统初始化后使用平台管理员用户登录后选择平台管理->导入用户,即可使用导入用户功能。如果需要将新加入的账户都加入白名单中,请勾选将所有账户加入白名单。点击确定,即可将所有账户导入指定租户中。","s":"导入已有用户信息","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#导入已有用户信息","p":365},{"i":373,"t":"为了保存如计费收费等更多信息,SCOW自己维护一套用户账户信息,并在进行各种与用户信息有关的操作时自动将这个操作同步到slurm的用户账户信息中。 为了保证SCOW操作的正确性,我们要求SCOW的用户信息为slurm用户信息的子集。 以下情况是允许的: slurm中或者认证系统中存在的用户SCOW中不存在 在SCOW创建这个用户时(用户ID和已有用户相同),SCOW将会提示认证系统中已存在此用户,并允许用户直接在SCOW中添加用户 slurm中存在的账户SCOW中不存在 在SCOW中创建这个账户时,如果slurm中已经存在,SCOW将直接添加到SCOW数据库中,并尝试把拥有者加入账户中 slurm中一个用户存在于一个账户中,SCOW中没有 在SCOW中将这个用户加入账户时,如果slurm中用户已经存在于账户中,SCOW将会直接在slurm的用户信息中添加这个用户账户关系 以下情况在进行和slurm有关的操作(如封锁解封)时会出错,在进行只和SCOW有关的操作(如设置限额、设置用户管理员权限等)时不会报错: SCOW中一个用户于一个账户中,slurm中没有 SCOW中存在的用户或者账户时slurm中不存在 我们建议,部署好SCOW系统后,所有SCOW中支持的功能都从SCOW中操作。如果需要一些SCOW中不支持的操作,请完成操作后立即手动修改数据库,使SCOW和slurm的用户信息同步。","s":"SCOW和slurm用户信息的关系","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/mis/schedulers/slurm","h":"#scow和slurm用户信息的关系","p":365},{"i":376,"t":"Xfce Desktop是一款轻量级的桌面环境,它被设计为在资源受限的系统上运行。具有简洁、快速、可定制的特点,它的用户界面风格非常清爽、现代。与其他桌面环境相比,它占用的系统资源非常少,同时也提供了一些常见的工具和应用程序,例如文件管理器、终端模拟器、文本编辑器、图像查看器和音频播放器等。 KDE是一个开源的桌面环境,全称为K Desktop Environment(KDE)。它提供了一个功能丰富、可定制和用户友好的图形化桌面环境,旨在为Linux和类UNIX操作系统提供先进的用户体验。 MATE是一个基于传统GNOME 2桌面环境的轻量级桌面环境,旨在提供传统的桌面体验和用户友好的界面。 Cinnamon是一个现代化的桌面环境,最初由Linux Mint开发,旨在提供直观、易用且吸引人的用户体验。它的设计目标是为用户提供一个熟悉而高效的桌面环境,具有直观的界面和强大的功能。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#软件简介","p":374},{"i":378,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Xfce Desktop、K Desktop Environment(KDE)、MATE和cinnamon桌面环境","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#前提条件","p":374},{"i":380,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#1turbovnc安装","p":374},{"i":382,"t":"yum groupinstall \"Xfce\" -y yum groupinstall \"KDE Plasma Workspaces\" -y yum groupinstall \"MATE Desktop\" -y yum install cinnamon -y 下面讲解如何配置使用Desktop。","s":"3、桌面环境安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#3桌面环境安装","p":374},{"i":384,"t":"创建config/apps目录,在里面创建desktop.yml文件,其内容如下: config/apps/desktop.yml # 这个应用的ID id: desktop # 这个应用的名字 name: desktop # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 准备脚本 beforeScript: | # 桌面会话临时数据存放位置 export XDG_RUNTIME_DIR=\"$(mktemp -d)\" # 此X Session的xstartup脚本 xstartup: | unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS case ${desktop_type} in \"kde\") cd ~ startkde ;; \"mate\") cd ~ mate-session ;; \"cinnamon\") cd ~ cinnamon-session ;; *) # Disable startup services xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool # 配置默认面板 if [ ! -d \"${HOME}/.config/xfce4/panel/launcher-9\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-10\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-11\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-12\" ]; then cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml fi # 桌面终端默认进入到家目录 cd ~ # 启动xfce桌面环境 startxfce4 esac # 配置HTML表单 attributes: - type: select name: desktop_type label: 请选择桌面环境 select: - value: xfce label: Xfce Desktop - value: kde label: K Desktop Environment(KDE) - value: mate label: MATE - value: cinnamon label: Cinnamon - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#配置文件","p":374},{"i":387,"t":"系统管理员可通过禁用Xfce PolicyKit验证代理解决: # 将需要启动xfce桌面的节点上xfce-polkit.desktop文件重命名 mv /etc/xdg/autostart/xfce-polkit.desktop /etc/xdg/autostart/xfce-polkit.desktop.disabled","s":"Q1:首次连接进入到Xfce桌面时,会报XFCE PolicyKit Agent的弹窗错误","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/desktop","h":"#q1首次连接进入到xfce桌面时会报xfce-policykit-agent的弹窗错误","p":374},{"i":390,"t":"北太天元(Baltamatica)是面向科学计算与工程计算的国产通用型科学计算软件。本软件提供科学计算、可视化、交互式程序设计,具备强大的底层数学函数库,支持数值计算、数据分析、数据可视化、 数据优化、算法开发等工作,并通过SDK与API接口,扩展支持各类学科与行业场景,为各领域科学家与工程师提供优质、可靠的科学计算环境。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#软件简介","p":388},{"i":392,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Baltamatica","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#前提条件","p":388},{"i":394,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#1turbovnc安装","p":388},{"i":396,"t":"构建Singularity镜像需要先安装Singularity软件,具体安装步骤请参考RStudio应用配置附章中的Singularity安装。 创建容器并进行北太天元安装 # 拉取docker镜像创建sandbox格式容器 singularity build --sandbox balt-sing docker://ubuntu:20.04 # 通过交互的方式进入容器镜像,进行北太天元软件的安装 singularity shell -w balt-sing # 在镜像内安装一些需要用到的工具 apt update apt install vim -y # 在镜像内安装北太天元软件,下方文件名修改为对应的安装包名 # 安装时需要选择一些地域,选择Asia HongKong Chinese等 apt install ./baltamatica***.deb #运行下述命令解决libQt5Core.so.5链接失败的问题 apt install binutils -y strip --remove-section=.note.ABI-tag /opt/Baltamatica/lib/libQt5Core.so.5 # 修改北太天元启动脚本 vim /opt/Baltamatica/bin/baltamatica.sh # 修改export BALTAM_PATH=$(cd ${0%/*}/..;pwd)为export BALTAM_PATH=\"/opt/Baltamatica\" # 安装完毕退出容器 exit # 将容器打包 singularity build balt-sing.sif balt-sing/ 将Singularity镜像拷贝到共享存储,以便在计算节点可以访问并运行: cp balt-sing.sif /data/software/baltamatica/ 下载思源黑体,解决不能正确显示中文的问题 wget https://github.com/adobe-fonts/source-han-sans/releases/download/2.004R/SourceHanSansCN.zip unzip SourceHanSansCN.zip # 转存到共享存储 mv SourceHanSansCN/CN /data/software/baltamatica/SubsetOTF 下面讲解如何配置使用Baltamatica。","s":"2、构建Baltamatica镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#2构建baltamatica镜像","p":388},{"i":398,"t":"创建config/apps目录,在里面创建baltamatica.yml文件,其内容如下: config/apps/baltamatica.yml # 这个应用的ID id: baltamatica # 这个应用的名字 name: baltamatica # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | export SINGULARITY_VERSION=\"singularity/3.9.2\" module switch ${SINGULARITY_VERSION} unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # Disable startup services xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool # 配置默认面板 if [ ! -d \"${HOME}/.config/xfce4/panel/launcher-9\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-10\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-11\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-12\" ]; then cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml fi # 桌面终端默认进入到家目录 cd ~ startxfce4 & mkdir ~/.fonts cp -r /data/software/baltamatica/SubsetOTF ~/.fonts singularity exec /data/software/baltamatica/balt-sing.sif baltamatica.sh # 配置HTML表单 attributes: - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/baltamatica","h":"#配置文件","p":388},{"i":401,"t":"IGV (Integrative Genomics Viewer) 是一个功能强大的基因组数据分析工具,被广泛应用于生物医学研究和生物信息学领域。它支持多种数据类型,包括基因组序列、注释、比对、变异和表达等数据。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#软件简介","p":399},{"i":403,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 Java 1.8 或更高版本 您需要运行的IGV","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#前提条件","p":399},{"i":405,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#1turbovnc安装","p":399},{"i":407,"t":"yum install java-1.8.0-openjdk 3、IGV安装​ # 下载软件包 wget https://data.broadinstitute.org/igv/projects/downloads/2.16/IGV_Linux_2.16.1_WithJava.zip # 解压软件包到指定安装路径 mkdir /data/software/igv unzip IGV_Linux_2.16.1_WithJava.zip -d /data/software/igv/","s":"2、Java安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#2java安装","p":399},{"i":409,"t":"配置已安装好的IGV的modulefile文件: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/igv cat >> ${MODULEPATH}/igv/IGV_Linux_2.16.1 << EOF #%Module1.0##################################################################### ## ## igv@IGV_Linux_2.16.1 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for igv\" puts stderr \"\\tVersion IGV_Linux_2.16.1\" InfoOut } set appname igv set version IGV_Linux_2.16.1 set prefix /data/software/${appname}/${version} module-whatis \"igv@IGV_Linux_2.16.1\" prepend-path PATH $prefix prepend-path LD_LIBRARY_PATH $prefix/lib prepend-path CLASSPATH $prefix/lib/igv.jar EOF 下面讲解如何配置使用IGV。","s":"4、添加modulefile文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#4添加modulefile文件","p":399},{"i":411,"t":"创建config/apps目录,在里面创建igv.yml文件,其内容如下: config/apps/igv.yml # 这个应用的ID id: igv # 这个应用的名字 name: igv # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | module switch igv/${igv_path} igv.sh # 配置HTML表单 attributes: - type: select name: igv_path label: 选择版本 select: - value: IGV_Linux_2.16.1 label: IGV_Linux_2.16.1 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/igv","h":"#配置文件","p":399},{"i":414,"t":"Jupyter Notebook是一个开源的Web应用程序,可用于创建和共享文档,其中包括代码、文本、数学方程式和可视化效果。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#软件简介","p":412},{"i":416,"t":"请确保在需要运行应用的计算节点上安装有Jupyter Notebook。 Jupyter Notebook建议通过Anaconda进行安装(具体安装请参考附章中Anaconda安装章节),Anaconda集成了Jupyter Notebook,安装上Anaconda发行版后也就自动安装上了Jupyter Notebook,安装好Anaconda后如果Jupyter Notebook没有自动安装成功的话,在终端输入以下命令进行安装: conda install jupyter notebook Jupyter Notebook运行时依赖的Python环境,建议用户可自行使用conda创建所需的Python环境,并在该环境内安装ipykernel,环境创建好后,用户可以通过两种方式来使用: 在启动Jupyter应用时,用户可填入所创建的conda环境名来使用该Python环境; 在Jupyter启动后,在Kernel菜单切换到新创建的Python环境。 以下示例创建一个Python3.7的虚拟环境: # 创建一个Python版本为3.7的conda虚拟环境,环境名字为python3.7 conda create -n python3.7 python=3.7 -y # 激活进入到python3.7环境 conda activate python3.7 # 在新的环境安装ipykernel conda install ipykernel # 将新环境的ipykernel到base环境的jupyter中 python -m ipykernel install --user --name python3.7 --display-name \"python3.7\" 下面讲解如何配置使用Jupyter Notebook。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#前提条件","p":412},{"i":418,"t":"创建config/apps目录,在里面创建jupyter.yml文件,其内容如下: config/apps/jupyter.yml # 这个应用的ID id: jupyter # 这个应用的名字 name: jupyter # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: absolute # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SALT=123 export PASSWORD_SHA1=\"$(echo -n \"${PASSWORD}${SALT}\" | openssl dgst -sha1 | awk '{print $NF}')\" export CONFIG_FILE=\"${PWD}/config.py\" export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname) export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') export CONDA_VERSION=\"anaconda/3-2023.03\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | for m in ${textModuleName}; do module switch ${m}; done conda -V &> /dev/null if [ $? -ne 0 ]; then module switch ${CONDA_VERSION} fi # init conda eval \"$($(which conda) shell.${SHELL_NAME} hook)\" if [[ \"\" == \"${textCondaName}\" ]]; then textCondaName=\"base\" fi conda activate ${textCondaName} if [ $? -ne 0 ]; then exit 1 fi ( umask 077 cat > \"${CONFIG_FILE}\" << EOL c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = ${PORT} c.NotebookApp.port_retries = 0 c.NotebookApp.password = u'sha1:${SALT}:${PASSWORD_SHA1}' c.NotebookApp.open_browser = False c.NotebookApp.base_url = \"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/\" c.NotebookApp.allow_origin = '*' c.NotebookApp.disable_check_xsrf = True EOL ) cd ~ jupyter notebook --config=${CONFIG_FILE} --notebook-dir=${HOME} # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单 attributes: - type: text name: textModuleName label: Modules required: false # 输入需要额外加载的环境模块列表 placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息 - type: text name: textCondaName label: conda环境 required: false # 输入运行Jupyter的conda环境,默认使用base环境 placeholder: 输入conda虚拟环境名称 # 提示信息 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于Jupyter,export以下变量的含义是: SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名 CONFIG_FILE: 指定Jupyter的配置文件 SHELL_NAME:当前会话的shell名称 CONDA_VERSION:系统默认的conda版本","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#配置文件","p":412},{"i":421,"t":"Anaconda建议安装在共享存储上,集群各节点只需要挂载上共享存储,并配置好环境变量后便可以使用。安装Anaconda之前请先预留6GB存储空间。 下载Anaconda安装脚本: wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-x86_64.sh 脚本下载后,输入以下命令来验证下载的安装脚本文件是否完整: sha256sum Anaconda3-2023.03-Linux-x86_64.sh 执行安装: bash Anaconda3-2023.03-Linux-x86_64.sh 安装过程中,看到提示“In order to continue the installation process, please review the license agreement.”(“请浏览许可证协议以便继续安装。”),点击“Enter”查看“许可证协议”。 在“许可证协议”界面将屏幕滚动至底,输入“yes”表示同意许可证协议内容。然后进行下一步。 安装过程中,提示选择Anaconda的安装路径,这里指定安装到共享存储上:/data/software/anaconda/3-2023.03。 安装完成后,会提示是否通过安装程序运行conda init来初始化Anaconda。 如果安装时不进行初始化的话,用户后续可以执行以下命令手动进行初始化: # 命令中/data/software/anaconda/3-2023.03根据实际安装路径进行替换 # 命令中shell.bash根据实际使用会话shell替换成相应的shell eval \"$(/data/software/anaconda/3-2023.03/bin/conda shell.bash hook)\" conda init 验证是否安装成功,执行以下命令,如果显示包名和版本号,说明Anaconda、Jupyter Notebook和JupyterLab都已经安装成功。","s":"1、Anaconda安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#1anaconda安装","p":412},{"i":423,"t":"配置已安装好的Anaconda的modulefile文件: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/anaconda cat >> ${MODULEPATH}/anaconda/3-2023.03 << EOF #%Module1.0##################################################################### ## ## Anaconda3-2023.03 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for Anaconda\" puts stderr \"\\tVersion Anaconda3-2023.03\" InfoOut } ## Set module name and version module-whatis \"Anaconda3-2023.03\" ## Set version set version 3-2023.03 ## Set the path to the installation directory set anaconda_root /data/software/anaconda/3-2023.03 ## Add anaconda bin directory to PATH prepend-path PATH $anaconda_root/bin ## Add anaconda library directory to LD_LIBRARY_PATH prepend-path LD_LIBRARY_PATH $anaconda_root/lib ## Add Anaconda include directory to CPATH prepend-path CPATH $anaconda_root/include ## Set environment variables for Anaconda setenv ANACONDA_HOME $anaconda_root setenv CONDA_ENVS_PATH $anaconda_root/envs setenv CONDA_PKGS_DIRS $anaconda_root/pkgs EOF","s":"2、添加modulefile文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyter","h":"#2添加modulefile文件","p":412},{"i":426,"t":"Emacs是一个非常强大的文本编辑器和开发环境,它有一个强大的命令行界面和一系列图形用户界面,它支持多个操作系统,包括Unix、Linux、Windows和macOS。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#软件简介","p":424},{"i":428,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Emacs","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#前提条件","p":424},{"i":430,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#1turbovnc安装","p":424},{"i":432,"t":"yum install emacs -y 下面讲解如何配置使用Emacs。","s":"2、Emacs安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#2emacs安装","p":424},{"i":434,"t":"创建config/apps目录,在里面创建emacs.yml文件,其内容如下: config/apps/emacs.yml # 这个应用的ID id: emacs # 这个应用的名字 name: emacs # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | emacs -mm # 配置HTML表单 attributes: - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/emacs","h":"#配置文件","p":424},{"i":437,"t":"MATLAB是一种由MathWorks公司开发的专业数学软件,它可以用于数值计算、数据分析、科学绘图、机器学习、人工智能等领域。MATLAB拥有强大的矩阵运算和向量化计算能力,支持多种数据类型和格式的处理。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","h":"#软件简介","p":435},{"i":439,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Matlab 下面讲解如何配置使用Matlab。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","h":"#前提条件","p":435},{"i":441,"t":"创建config/apps目录,在里面创建matlab.yml文件,其内容如下: config/apps/matlab.yml # 这个应用的ID id: matlab # 这个应用的名字 name: matlab # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | module load matlab/$matlab_path matlab -desktop # 配置HTML表单 attributes: - type: select name: matlab_path label: 选择版本 select: - value: R2019b label: R2019b - value: R2021a label: R2021a - value: R2021b label: R2021b - value: R2022b label: R2022b - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/matlab","h":"#配置文件","p":435},{"i":444,"t":"Octave是一种开源的数值计算工具,可用于执行各种数值计算任务,包括线性代数、非线性优化、信号处理、图像处理和统计分析等。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#软件简介","p":442},{"i":446,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Octave","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#前提条件","p":442},{"i":448,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#1turbovnc安装","p":442},{"i":450,"t":"octave可以通过conda进行安装,请参考Jupyter应用配置附章中的Anaconda安装。 创建一个新的conda环境,新环境名称格式使用“软件名-版本号”: conda create -n octave-7.2.0 -y 激活新创建的环境: conda activate octave-7.2.0 安装 Octave: conda install octave=7.2.0 下面讲解如何配置使用Octave。","s":"2、Octave安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#2octave安装","p":442},{"i":452,"t":"创建config/apps目录,在里面创建octave.yml文件,其内容如下: config/apps/octave.yml # 这个应用的ID id: octave # 这个应用的名字 name: octave # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 准备脚本 beforeScript: | export CONDA_VERSION=\"anaconda/3-2023.03\" export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') # 此X Session的xstartup脚本 xstartup: | module switch ${CONDA_VERSION} eval \"$($(which conda) shell.${SHELL_NAME} hook)\" conda activate ${octave_version} if [ $? -ne 0 ]; then exit 1 fi octave --gui # 配置HTML表单 attributes: - type: select name: octave_version label: 选择版本 select: - value: octave-7.2.0 label: octave-7.2.0 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于Octave,export以下变量的含义是: SHELL_NAME:当前会话的shell名称 CONDA_VERSION:系统默认的conda版本","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/octave","h":"#配置文件","p":442},{"i":455,"t":"RELION(Reconstruction of 3D structures of Large macromolecular complexes using Image-based ONline reconstruction)是一种用于处理单粒子冷冻电镜(Single Particle Cryo-EM)图像数据的软件包。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","h":"#软件简介","p":453},{"i":457,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Relion 下面讲解如何配置使用Relion。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","h":"#前提条件","p":453},{"i":459,"t":"创建config/apps目录,在里面创建relion.yml文件,其内容如下: config/apps/relion.yml # 这个应用的ID id: relion # 这个应用的名字 name: relion # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | module purge module load ${relion_version} echo y | relion # 配置HTML表单 attributes: - type: select name: relion_version label: 选择版本 required: true placeholder: 选择relion的版本 select: - value: relion/3.1.3_openmpi_3.1.6 label: relion/3.1.3_openmpi_3.1.6 # 可选配置,若需要区分CPU和GPU的select的下拉项,比如有些版本只能在有GPU的分区有效 # 将requireGpu设为true,此时该选项会出现在有GPU的分区 # requireGpu: true - value: relion/4.0_openmpi_3.1.6 label: relion/4.0_openmpi_3.1.6 # 将requireGpu设为false或者不配置requireGpu,此时该选项会出现在所有分区 # requireGpu: false - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/relion","h":"#配置文件","p":453},{"i":462,"t":"code-server是一个基于VS Code的开源工具,它可以让你通过浏览器远程访问一个运行着VS Code的服务器。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#软件简介","p":460},{"i":464,"t":"请确保在需要运行应用的计算节点上安装有coder/code-server软件包。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#前提条件","p":460},{"i":466,"t":"# 下载所需版本的code-server二进制安装包 wget https://github.com/coder/code-server/releases/download/v4.11.0/code-server-4.11.0-linux-amd64.tar.gz # 解压code-server二进制安装包 tar zxf code-server-4.11.0-linux-amd64.tar.gz # 将code-server重命名至指定路径 mkdir -p /data/software/code-server mv code-server-4.11.0-linux-amd64 /data/software/code-server/4.11.0","s":"1、code-server安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#1code-server安装","p":460},{"i":468,"t":"配置已安装好的code-server的modulefile文件: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/code-server cat >> ${MODULEPATH}/code-server/4.11.0 << EOF #%Module1.0######################################################################## ## ## code-server@4.11.0 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for code-server\" puts stderr \"\\tVersion 4.11.0\" } module-whatis \"code-server@4.11.0\" prepend-path PATH \"/data/software/code-server/4.11.0/bin\" EOF 下面讲解如何配置使用code-server。","s":"2、添加modulefile文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#2添加modulefile文件","p":460},{"i":470,"t":"创建config/apps目录,在里面创建vscode.yml文件,其内容如下: config/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。可以使用准备脚本定义的变量 script: | module switch code-server/${selectVersion} PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单,用户可以指定code-server版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: 4.9.1 label: version 4.9.1 - value: 4.11.0 label: version 4.11.0 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#配置文件","p":460},{"i":473,"t":"VSCode扩展的安装需要互联网,当集群计算节点无法连入互联网时,会影响VSCode扩展的安装。 1、域名解析​ Open VSX是一个开源的VSCode扩展市场,目前它的域名open-vsx.org解析地址为198.41.30.195,需要确保在运行VSCode的节点上解析该域名,并通过增加路由的方式使得计算节点能访问198.41.30.195的443端口服务。另外,在线安装扩展时,open-vsx.org需要重定向转发到openvsxorg.blob.core.windows.net上获取扩展包,因此,openvsxorg.blob.core.windows.net上所对应的IP:443服务需要确保VSCode节点上能访问到。 以下表格中为需要解析的域名及安装所需访问的IP地址和端口: 域名 IP 端口 open-vsx.org 198.41.30.195 443 openvsxorg.blob.core.windows.net 20.60.40.4 443 VSCode扩展安装有三种方式: 2、通过扩展商店安装​ 在VSCode左侧的侧边栏中,点击底部的扩展图标(通常是一个正方形方块或拼图图标),以打开扩展面板。 在扩展面板中,你可以浏览并搜索可用的扩展。 找到你想要安装的扩展后,点击扩展卡片上的安装按钮。 VSCode将开始下载和安装扩展,你可以在扩展面板中查看安装进度。 安装完成后,你会收到通知,并且扩展会出现在已安装的扩展列表中。 在扩展面板的已安装扩展列表中,你可以启用、禁用或卸载已安装的扩展。一些扩展可能需要进行一些额外的设置或配置。 3、通过扩展名或者扩展ID安装​ 打开终端:在VSCode的界面上找到终端(命令行界面)的入口。通常,终端图标位于左侧的侧边栏中。 在终端中,使用以下命令安装扩展: # 替换为你想安装的扩展的标识符或名称。扩展的标识符通常是类似于publisher.extension的格式。例如,要安装 \"Python\" 扩展,扩展标识符为ms-python.python code-server --install-extension 如果你不确定扩展的标识符,你可以在Visual Studio Code Marketplace上找到扩展页面,并从URL中获取标识符部分。 执行命令后,VSCode将开始下载并安装指定的扩展。安装完成后,你将在终端中看到相应的成功消息。 安装的扩展现在应该已经在VSCode中可用。你可以在左侧的侧边栏中点击扩展图标来查看已安装的扩展,并根据需要启用、禁用或配置它们。 4、手动下载扩展包进行安装​ 准备扩展文件:首先下载你需要安装的扩展文件,并上传到服务器。扩展文件通常具有.vsix扩展名,并且是预先打包好的扩展文件。 打开终端:在VSCode的界面上找到终端(命令行界面)的入口。通常,终端图标位于左侧的侧边栏中。 在终端中使用--install-extension参数安装扩展,将/path/to/extension.vsix替换为你实际的扩展文件路径: code-server --install-extension /path/to/extension.vsix VSCode将开始安装指定的扩展。安装完成后,你将在终端中看到相应的成功消息。另外需要注意的是,在Visual Studio Code Marketplace上或者非官方下载的扩展包会存在和VSCode不兼容的情况。 安装的扩展现在应该已经在VSCode中可用。你可以在左侧的侧边栏中点击扩展图标来查看已安装的扩展,并根据需要启用、禁用或配置它们。","s":"VSCode扩展安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/vscode","h":"#vscode扩展安装","p":460},{"i":476,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。","s":"软件简介","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#软件简介","p":474},{"i":478,"t":"请确保在需要运行应用的计算节点上安装有JupyterLab。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#前提条件","p":474},{"i":480,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。 JupyterLab建议通过Anaconda进行安装,Anaconda集成了JupyterLab,安装上Anaconda发行版后也就自动安装上了JupyterLab,安装好Anaconda后如果JupyterLab没有自动安装成功的话,在终端输入以下命令进行安装: conda install jupyterlab JupyterLab运行时依赖的Python环境,建议用户可自行使用conda创建所需的Python环境,并在该环境内安装ipykernel,环境创建好后,用户可以通过两种方式来使用: 在启动JupyterLab应用时,用户可填入所创建的conda环境名来使用该Python环境; 在JupyterLab启动后,在Kernel菜单切换到新创建的Python环境。 以下示例创建一个Python3.7的虚拟环境: # 创建一个Python版本为3.7的conda虚拟环境,环境名字为python3.7 conda create -n python3.7 python=3.7 -y # 激活进入到python3.7环境 conda activate python3.7 # 在新的环境安装ipykernel conda install ipykernel # 将新环境的ipykernel到base环境的jupyter中 python -m ipykernel install --user --name python3.7 --display-name \"python3.7\" 下面讲解如何配置使用JupyterLab。","s":"1、软件介绍","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#1软件介绍","p":474},{"i":482,"t":"创建config/apps目录,在里面创建jupyterlab.yml文件,其内容如下: config/apps/jupyterlab.yml # 这个应用的ID id: jupyterlab # 这个应用的名字 name: jupyterlab # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: absolute # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SALT=123 export PASSWORD_SHA1=\"$(echo -n \"${PASSWORD}${SALT}\" | openssl dgst -sha1 | awk '{print $NF}')\" export CONFIG_FILE=\"${PWD}/config.py\" export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname) export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') export CONDA_VERSION=\"anaconda/3-2023.03\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | # 加载需要的module环境 for m in ${textModuleName}; do module switch ${m}; done conda -V &> /dev/null if [ $? -ne 0 ]; then module switch ${CONDA_VERSION} fi # init conda eval \"$($(which conda) shell.${SHELL_NAME} hook)\" if [[ \"\" == \"${textCondaName}\" ]]; then textCondaName=\"base\" fi conda activate ${textCondaName} if [ $? -ne 0 ]; then exit 1 fi ( umask 077 cat > \"${CONFIG_FILE}\" << EOL c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = ${PORT} c.NotebookApp.port_retries = 0 c.NotebookApp.password = u'sha1:${SALT}:${PASSWORD_SHA1}' c.NotebookApp.open_browser = False c.NotebookApp.base_url = \"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/\" c.NotebookApp.allow_origin = '*' c.NotebookApp.disable_check_xsrf = True EOL ) cd ~ jupyter-lab --config=${CONFIG_FILE} --notebook-dir=${HOME} # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单 attributes: - type: text name: textModuleName label: Modules required: false # 输入需要额外加载的环境模块列表 placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息 - type: text name: textCondaName label: conda环境 required: false # 输入运行Jupyter的conda环境,默认使用base环境 placeholder: 输入conda虚拟环境名称 # 提示信息 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于JupyterLab,export以下变量的含义是: SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名 CONFIG_FILE: 指定JupyterLab的配置文件 SHELL_NAME:当前会话的shell名称 CONDA_VERSION:系统默认的conda版本","s":"配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#配置文件","p":474},{"i":484,"t":"Web和VNC类应用都可以通过logoPath配置项,修改创建应用的图标。 管理员通过把存放在和install.yml同级的public目录下图片文件的路径添加到logoPath来进行自定义图标配置。公共文件路径的使用详见公共文件。 管理员所添加的图片文件后缀应为常用图片文件.svg,.png或者.jpg等。 如将图片app1.svg上传到公共文件public目录下新建的apps路径下,则在配置时需填写logoPath:\"/apps/app1.svg\"。 logoPath可以选填,如不填写,则将统一显示系统默认图片图标。","s":"配置应用图标","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","h":"","p":483},{"i":486,"t":"无论Web类应用还是VNC类应用,自定义图标配置方法都相同。 以coder/code-server创建VSCode为例,带有自定义图标配置的配置文件如下: config/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 这个应用的图标图片在公共文件下的地址 logoPath: /apps/VScode.svg # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。使用了用户在自定义表单中选择的选项 script: | module load ${selectVersion} PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单,用户可以指定code-server版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: code-server/4.8.0 label: version 4.8.0 - value: code-server/4.9.0 label: version 4.9.0","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置示例","p":483},{"i":488,"t":"logoPath的配置解释如下: 属性 类型 是否必填 解释 logoPath 字符串 否 自定义应用图标的图片源地址,公共文件下的自定义应用图片的路径。可选填,如未填写则显示系统默认图片图标。支持格式为常用图片文件格式.svg,.png或者.jpg等。","s":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置解释","p":483},{"i":490,"t":"支持管理员通过在不同的配置文件路径下自定义配置各个集群均可使用的应用以及只有特定集群可以使用的应用。 备注 无论是配置各个集群均可以使用的应用还是配置只有特定集群可以使用的应用,请确保在需要运行应用的集群下的计算节点上安装有需要的软件包。","s":"多集群下的应用配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","h":"","p":489},{"i":492,"t":"管理员在与install.yml同级的config/apps下配置的交互式应用为各个集群均可使用的应用。","s":"各个集群共享应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#各个集群共享应用","p":489},{"i":494,"t":"如果需要单独配置特定集群可以使用的应用,管理员需要在config/clusters下新建名称为集群ID的文件夹,并在此文件夹下继续新建用于保存该集群交互式应用的apps文件路径。 集群ID的确认请参照集群配置。 在此文件路径config/clusters/{集群ID}/apps下配置的交互式应用为该集群特定使用的交互式应用。 备注 当config/apps下的共享交互式应用与config/clusters/{集群ID}/apps下的特定集群交互式应用出现重复时(即应用配置文件中的id值相同),那么在集群下获取的此交互式应用的详细信息为 config/clusters/{集群ID}/apps中的配置的详细信息。 应用配置中id的确认请参照Web类应用配置示例以及桌面类应用配置示例。","s":"特定集群应用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#特定集群应用","p":489},{"i":496,"t":"以集群ID为hpc01和hpc02下的交互式应用配置为例。 在各个集群计算机节点下均安装了对应软件包的情况下,各个集群配置及可以使用的交互式应用如下: 应用配置文件 在config/apps下配置 在config/clusters/hpc01/apps下配置 在config/clusters/hpc02/apps下配置 hpc01下可以使用 hpc02下可以使用 vscode.yaml ✔ ✔ ✔ ✔ emacs.yaml ✔ ✔ ✔ baltamatica.yaml ✔ ✔ jupyter.yaml ✔ ✔ 备注 在config/apps和config/clusters/hpc02/apps下都配置了vscode.yaml,若他们在配置文件中的id相同,则hpc01集群下获取的交互式应用信息应为config/clusters/hpc02/apps中的vscode.yaml的应用配置信息。","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#配置示例","p":489},{"i":498,"t":"系统支持对不同的交互式应用配置说明文字进行描述。文本支持HTML的标签,将会被放在一个div中。","s":"配置应用的说明文字","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","h":"","p":497},{"i":500,"t":"config/apps/{app}.yml # 这个应用的ID id: appId # ...中间省略 # 交互式应用说明文字,选填。 # 支持文本国际化 appComment: \"对上方交互式应用进行说明
# 利用代码块说明
\" 如果管理员配置了对应的交互式应用的说明文字,则展示效果如下:","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置示例","p":497},{"i":502,"t":"appComment的配置解释如下: 属性 类型 是否必填 解释 appComment 字符串 或 i18n国际化类型 否 自定义应用的说明文字,可选填。如未填写则不显示,填写后展示在对应的创建应用页面下方。支持HTML的标签。","s":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置解释","p":497},{"i":505,"t":"请确保在需要运行应用的计算节点上安装有需要的软件包。","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#前提条件","p":503},{"i":507,"t":"下面以使用coder/code-server启动VSCode的配置为例来讲解如何配置一个服务器类应用。 创建config/apps目录,在里面创建vscode/config.yml或vscode.yml文件,其内容如下: config/apps/vscode/config.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。可以使用准备脚本定义的变量 script: | PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#配置示例","p":503},{"i":510,"t":"用户通过以下格式的URL访问Web类的交互式应用 http[s]://${域名或者IP}/${SCOW系统的base path}/api/proxy/${运行应用的集群ID}/${这个应用的proxyType}/${计算节点的IP或者主机名}/${应用所在的端口号}/${...应用所需要的path} 对于web类型的应用,需要配置proxyType。不同的交互式应用使用了不同的nginx proxy方式,通过配置proxyType,可以允许应用携带不同类型的uri到后端计算节点。 proxyType可以配置为relative或者absolute,如果不配置默认是relative。 如果设置成absolute,会把完整URL请求路径反向代理到给定的主机和端口。比如访问以下地址: https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/absolute/192.168.220.133/7383/index.html 以下URL请求将会被发送给计算节点192.168.220.133的7383端口。 /demo/scow/api/proxy/hpc01/absolute/192.168.220.133/7383/index.html 如果设置成relative,只使用URL请求路径的路径部分将请求反向代理到给定的主机和端口。比如访问以下地址: https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/relative/192.168.220.133/4253/index.html 以下URL请求将会被发送给计算节点192.168.220.133的4253端口。 /index.html","s":"proxyType","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#proxytype","p":503},{"i":512,"t":"beforeScript部分为准备脚本。这个脚本用来准备运行任务的环境。这个脚本要求必须export两个变量: PORT:程序将会运行在的端口 PASSWORD: 连接程序用的密码 connect的formData项需要使用的变量也需要在此处export。 准备脚本中的export的变量可以在script中使用。 script部分为如何启动这个应用的脚本。 beforeScript和script中可以使用以下辅助函数: 函数名 作用 参数 返回值 get_port 获得一个可用的TCP端口 无 一个调用时可用的TCP端口 get_password 生成一个包含A-Za-z0-9的随机密码 $1: 密码长度 密码 还可以使用以下变量。如果自定义属性中出现了和这里同名的变量,这里的变量将会被覆盖。 变量名 值 PROXY_BASE_PATH 这个应用在被访问时,其URL中位于计算节点IP之前的内容,不以/结尾。对SCOW来说,为${SCOW的base path}/api/proxy/${集群ID}/${此应用的proxyType} 这些脚本,以及一些辅助的脚本将会被作为一个作业提交给调度系统,并最终在某个计算节点上运行。","s":"beforeScript和script","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#beforescript和script","p":503},{"i":514,"t":"connect部分定义如何连接到应用。系统将会给可以连接的应用创建一个用于连接应用的a标签。点击a标签之后,系统将会打开一个新标签页,打开新标签页时实际进行的动作将可以在这里自定义。 配置如下: 属性 类型 是否必填 解释 path 字符串 是 新标签页所访问的相对路径 method \"GET\" 或者 \"POST\" 是 发起一个什么的HTTP请求 query 字符串到字符串的字典 否 连接时附带的query formData 字符串到字符串的字典 否 如果method是POST,这个请求将会带的form data 我们推荐将应用使用密码方式进行加密,所以一般在连接时需要将密码输入给应用。path, query的值和formData的值部分可以使用{{ PASSWORD }}代替应用在创建时生成的密码。 此外,如果formData需要使用其他变量,可以在准备脚本beforeScript中export需要的变量,然后以{{ 变量名 }}的形式使用。","s":"connect","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#connect","p":503},{"i":516,"t":"如果需要指定应用版本,可以通过attributes配置项添加自定义HTML表单,具体配置示例请参考attributes配置。","s":"attributes","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-web-app","h":"#attributes","p":503},{"i":518,"t":"Web和VNC类应用都可以通过attributes配置项,修改创建应用的HTML表单,允许管理员定义用户创建交互式应用时的表单选项,让用户能够指定应用的版本等信息。 用户提交的内容会作为运行应用的计算节点的环境变量生效,web类应用可以在script项使用,VNC类应用可以在xstartup使用这些变量。 如果用户需要输入其他sbatch参数,可以在此项中配置,具体示例请参考其他sbatch参数配置。。","s":"配置HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"","p":517},{"i":521,"t":"以coder/code-server启动VSCode为例,为web类应用自定义HTML表单的配置文件如下: config/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。使用了用户在自定义表单中选择的选项 script: | module load ${selectVersion} PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单,用户可以指定code-server版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: code-server/4.8.0 label: version 4.8.0 - value: code-server/4.9.0 label: version 4.9.0 如果用户选择的是version 4.8.0选项,xstartup中module load ${selectVersion}实际执行的是module load code-server/4.8.0。","s":"web类应用配置HTML表单示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#web类应用配置html表单示例","p":517},{"i":523,"t":"以Emacs为例,桌面类应用自定义HTML表单的配置文件如下: config/apps/emacs.yml # 这个应用的ID id: emacs # 这个应用的名字 name: emacs # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 可以使用准备脚本来准备运行任务的环境 # beforeScript: # export VERSION=1.0 # 此X Session的xstartup脚本。使用了用户在自定义表单中选择的选项 xstartup: | module load ${selectVersion} emacs -mm # 配置HTML表单,用户可以指定Emacs版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: emacs/27.1 label: Emacs 27.1 released - value: emacs/28.1 label: Emacs 28.1 released 如果用户选择的是Emacs 28.1 released选项,xstartup中module load ${selectVersion}实际执行的是module load emacs/28.1。","s":"VNC类应用配置HTML表单示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#vnc类应用配置html表单示例","p":517},{"i":525,"t":"配置attributes可以加载多个HTML表单,每一条可用配置项如下: 属性 类型 是否必填 解释 type number, text 或者 select 是 在HTML表单元素中输入的内容的类型 name 字符串 是 HTML表单的name属性,在编程中使用,并且会作为计算节点环境变量名,可以在Web应用的script或者VNC应用的xstartop使用 label 字符串 是 HTML表单的label属性,输入框左侧显示的标签 required 布尔类型 否 如果设置为true,用户必须填写此项,如果为false,用户可以不填,默认为true。 default 字符串或者数字 否 表单的默认值,number类型的默认值必须设置为数字。对于select类型的表单,如果没有配置default,则默认值为第一项 placeholder 字符串 否 描述输入字段预期值的提示信息,提示用户此处的输入 select 选项的列表 否 如果type是select,必须配置此项,指明具体的选项,具体配置办法见select示例","s":"配置解释","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置解释","p":517},{"i":527,"t":"配置一个输入内容是文本类型的表单,需要指定type为text, 示例如下: attributes: - type: text name: version label: 版本 如果用户输入了v3.4.5,计算节点的环境变量version=v3.4.5可以在应用启动时被读取。 配置一个不是必填项的表单,并且配置默认值: attributes: - type: text name: version label: 版本 required: false defalt: v3.4.0","s":"配置输入类型为文本的HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为文本的html表单","p":517},{"i":529,"t":"配置一个输入内容是数字类型的表单,需要指定type为number, 此时用户仅能输入数字,示例如下: attributes: - type: number name: size label: 数量 如果用户输入了345,计算节点的环境变量size=345可以在应用启动时被读取。 配置一个不是必填项的表单,并且配置默认值: attributes: - type: number name: size label: 数量 required: false default: 123","s":"配置输入类型为数字的HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为数字的html表单","p":517},{"i":531,"t":"配置一个输入内容是下拉选择器的表单,需要指定type为select,并且配置select项。select项需要配置value和label,作为用户可以选择的选项。 属性 类型 是否必填 解释 value 字符串 是 HTML表单选项的value属性,在编程中使用,并且会作为计算节点环境变量的值 label 字符串 是 HTML表单的label属性,选项中展示给用户的文本 示例如下: attributes: - type: select name: selectVersion label: 选择版本 required: true select: - value: version10 label: v10 - value: version11 label: v11 如果用户选择v11选项,计算节点的环境变量 selectVersion=version11 可以在应用启动时被读取。","s":"配置输入为下拉选择器的HTML表单","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入为下拉选择器的html表单","p":517},{"i":533,"t":"name需要设置为sbatchOptions,指定type为text, 示例如下: attributes: - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置其他sbatch参数","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-attributes","h":"#配置其他sbatch参数","p":517},{"i":535,"t":"参考文档简要了解交互式作业功能。 配置VNC类应用 配置Web类应用 配置表单 已有交互式应用 Baltamatica Desktop Emacs IGV Jupyter JupyterLab Matlab Octave Relion RStudio VSCode","s":"交互式作业","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/intro","h":"","p":534},{"i":538,"t":"您可以自定义门户项目仪表盘的LOGO和文本。","s":"自定义仪表盘","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","h":"","p":537},{"i":540,"t":"LOGO图片的文件名应为banner,后缀应为svg, png或者jpg后缀名,如果多个后缀名的文件同时存在,则顺序为svg, png, jpg。 有的图片在暗色主题下显示背景不佳,系统支持单独设置在暗色模式下显示的LOGO图片。在暗色模式下显示的LOGO图片的文件名应该为banner.dark,后缀名规则和上述规则相同。如果不存在暗色模式下的图片,则系统将显示正常模式下的LOGO图片。 将LOGO图片放入config/logo下即可。 系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。判断来访域名的规则请参考这里。 如果您使用svg图片,那么自定义仪表盘LOGO将会默认占据整个页面的100%宽度,高度跟随宽度自动缩放。您可以给您的svg文件的svg标签设置width属性来限制图片的最大宽度。 如果您使用png或者jpg图片,那么自定义仪表盘LOGO的最大大小为图片本身的大小,如果浏览器视口宽度小于图片的宽度,则图片将会自动缩放。","s":"自定义仪表盘LOGO","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/customization/dashboard","h":"#自定义仪表盘logo","p":537},{"i":543,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的桌面类应用","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#前提条件","p":541},{"i":545,"t":"下面以使用emacs为示例介绍如何配置桌面类应用。 创建config/apps目录,在里面创建emacs/config.yml或者emacs.yml文件,其内容如下: config/apps/emacs/config.yml # 这个应用的ID id: emacs # 这个应用的名字 name: emacs # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 可以使用准备脚本来准备运行任务的环境 # beforeScript: # export VERSION=1.0 # 此X Session的xstartup脚本 xstartup: | emacs -mm 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#配置示例","p":541},{"i":548,"t":"beforeScript为准备脚本,如果有需要使用的变量,可以选择使用这个脚本用来准备运行任务的环境。","s":"beforeScript","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#beforescript","p":541},{"i":550,"t":"对于桌面类应用,系统提交一个计算任务。此任务将会在计算节点上启动一个TurboVNC实例,此TurboVNC实例将会以配置中的xstartup脚本作为其启动脚本。 所以对于桌面类应用而言,您只需要填写正确的xstartup脚本即可。","s":"xstartup","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#xstartup","p":541},{"i":552,"t":"如果需要指定应用版本,可以通过attributes配置项添加自定义HTML表单,具体配置示例请参考attributes配置。","s":"attributes","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/configure-vnc-app","h":"#attributes","p":541},{"i":554,"t":"本节介绍如何配置门户系统。","s":"配置门户系统","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"","p":553},{"i":556,"t":"修改安装配置文件install.yaml install.yaml # 确保门户系统会部署 portal: # 如果门户系统将会部署在系统的根目录下,设置BASE_PATH为/。默认为/ basePath: / # 如果门户系统将会部署在系统的/portal下,设置BASE_PATH为/portal # basePath: /portal 提示 如果想自定义系统部署的相对路径,了解PORTAL.BASE_PATH的含义,请参考自定义相对路径。","s":"修改安装配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#修改安装配置文件","p":553},{"i":558,"t":"在config/portal.yaml文件中,根据备注修改所需要的配置 config/portal.yaml # 是否启用作业管理功能 jobManagement: true # 登录节点桌面功能 loginDesktop: # 是否启用桌面功能 enabled: true # 桌面 wms: # 桌面名和对应的wm值。见文档 - name: Xfce wm: xfce # 单个登录节点最多启动多少个桌面节点 maxDesktops: 3 # 将创建的登录节点桌面信息的保存到什么位置。相对于用户的家目录 desktopsDir: scow/desktops # 是否启用交互式任务功能 apps: true # 提交作业命令框中的提示语,可选配置 submitJobPromptText: \"#此处参数设置的优先级高于页面其它地方,两者冲突时以此处为准\" # 是否启用终端功能 shell: true # # 文件管理 # file: # # 文件预览功能 # preview: # # 大小限制 # # 可接受的格式为nginx的client_max_body_size可接受的值,默认为 50m # limitSize: \"50m\" # # 文件编辑功能 # edit: # # 文件编辑大小限制 # # 可接受的格式为nginx的client_max_body_size可接受的值,默认为 1m # # 建议设置为较大值 # limitSize: \"1m\" # 提交作业的默认工作目录。使用{{ name }}代替作业名称。相对于用户的家目录 # submitJobDefaultPwd: scow/jobs/{{ name }} # 将保存的作业保存到什么位置。相对于用户家目录 # savedJobsDir: scow/savedJobs # 将交互式任务的信息保存到什么位置。相对于用户的家目录 # appJobsDir: scow/appData # TurboVNC的安装路径 # turboVNCPath: /opt/TurboVNC # # 新增导航链接相关配置 # navLinks: # # 链接名 # - text: \"一级导航1\" # # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 # url: \"\" # # 是否打开新的页面,可选填,默认值为false # # openInNewPage: true # # 自定义图标地址,可选填 # # iconPath: \"\" # # 可以看到这个链接的用户,可选填 # # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance # allowedRoles: [] # # 二级导航,可选填 # children: # # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children # - text: \"二级导航1\" # url: \"https://hahahaha1.1.com\" # # openInNewPage: true # iconPath: \"\" # allowedRoles: [accountAdmin, accountOwner] # - text: \"二级导航2\" # url: \"https://hahahaha1.2.com\" # allowedRoles: [tenantAdmin, platformAdmin] # - text: \"一级导航2\" # url: \"https://hahahaha2.com\"","s":"编写门户服务配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#编写门户服务配置","p":553},{"i":560,"t":"一些功能可能需要进一步的配置,请根据对应的文档完成。 登录节点桌面 跨集群传输","s":"更多配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#更多配置","p":553},{"i":562,"t":"运行./cli compose up -d启动门户系统。","s":"启动服务","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/intro","h":"#启动服务","p":553},{"i":564,"t":"Shell终端支持输入命令跳转到文件系统,进行文件的上传和下载;支持下载指定文件。","s":"Shell终端文件传输功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"","p":563},{"i":566,"t":"输入sopen命令后,会跳转到文件系统的当前目录,用户可以在图形界面进行文件上传或者下载。","s":"sopen命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sopen命令","p":563},{"i":568,"t":"输入sup命令后,您可以将本地文件上传到当前路径下。","s":"sup命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sup命令","p":563},{"i":570,"t":"输入sdown [文件名],用户当前路径的该文件会被下载到本地,目前仅支持直接输入当前目录下的文件名,不支持相对路径,如果需要下载其他目录下的文件请使用sopen命令跳转到文件系统。如果用户输入了相对路径,会提示用户不能使用相对路径。 使用示例: sdown hello.txt 如果当前在B目录下,需要下载A目录下的文件,有两种方式: 可以进入A目录,然后sdown [文件名]下载 也可以sopen进入文件系统以后,在图形界面切换到A目录选择文件进行下载。","s":"sdown命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sdown命令","p":563},{"i":572,"t":"输入sedit [文件名]后会跳转到图形界面的文本编辑器。 使用示例: sedit hello.txt","s":"sedit命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#sedit命令","p":563},{"i":574,"t":"sopen、sdown [文件名]和sedit [文件名]这三个命令仅在SCOW的Shell终端中使用有效。 在系统启动时,系统会自动上传到登录节点的/etc/profile.d/目录下一个scow-shell-file.sh脚本,用于在Shell终端中进行文件系统的跳转和文件的下载。如果/etc/profile.d/目录不存在会创建该目录。","s":"注意","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/shell","h":"#注意","p":563},{"i":578,"t":"通常情况下,同属一个集群的所有节点,均在同一个子网下,我们称之为集群内网。例如:登录节点访问计算结点便是通过集群内网。 不同集群之间的节点,互相通常是访问不到的,除非接入到更大的网络之中,我们称之为集群间可达网。 任何机器都可以通过网络访问到的地址,为公网地址,我们称之为互联网公网。 网络范围排序:互联网公网 > 集群间可达网 > 集群内网","s":"网络区分","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#网络区分","p":575},{"i":580,"t":"在跨集群传输功能的配置中,每个集群需要有一个专门用来做文件传输的节点TransferNode,该TransferNode要求具有集群间可达网的地址,也就是说接入SCOW系统的所有集群的传输节点之间彼此是可以访问的。传输节点TransferNode和登录节点LoginNode可以是同一个节点。 传输节点能够访问文件系统,且挂载目录路径和登录节点访问文件系统的路径相同。出于安全性的考虑,传输节点最好不具备访问作业权限(例如,设置与slurm管理节点网络不通) 准备好传输节点后,需要将其接入到scow集群中。接下来需要修改集群配置文件config/clusters/xxx.yaml,在yaml文件末尾添加crossClusterFileTransfer模块,添加enabled和transferNode属性。如果enabled为true表示开启该功能需要配置transferNode,为false表示不开启该功能无需配置transferNode。transferNode配置格式为ip:port,如果不配置port默认为22端口。 config/clusters/hpc01.yaml displayName: hpc01Name adapterUrl: 0.0.0.0:6000 loginNodes: - name: loginNode01 address: localhost:22222 crossClusterFileTransfer: enabled: true transferNode: localhost:22222 提示 传输节点如果是一个新节点,则该节点需要与集群有一致的用户,即配置与该集群相同的认证系统(LDAP),挂载相同的共享目录。","s":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#配置","p":575},{"i":582,"t":"在scow节点运行以下命令 # 执行以下命令,连续回车,输入密码后设置免密成功 ssh-copy-id root@[TransferNodeIP]","s":"2. 建立scow节点到每个传输节点的root用户免密","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#2-建立scow节点到每个传输节点的root用户免密","p":575},{"i":584,"t":"scow-sync传输软件目前只支持从源码构建。 拉取scow-sync代码。首先需要以root身份登录到传输节点,然后拉取scow-sync的仓库https://github.com/PKUHPC/scow-sync.git。通常将scow-sync安装在/data/software目录下。 # 以root身份登录传输节点 ssh root@[TransferNodeIP] -p [TransferNodePort] # 拉取scow-sync到/data/software目录 cd /data/software git clone https://github.com/PKUHPC/scow-sync.git 安装python依赖库。在传输节点上按照scow-sync的requirements.txt文件安装好对应版本的依赖库。 python >= 3.6.0 paramiko >= 3.0.0 psutil >= 5.9.4 subprocess concurrent 设置python解释器的路径。 如果用户使用的python解释器的路径为/usr/bin/python3,则可以直接执行sudo bash install.sh,该脚本会在全局安装scow-sync相关的命令。 如果用户使用自定义的python解释器的路径,需要修改scow-sync代码中的scow_sync/config.py配置文件的SHEBANG_PATH为python解释器的路径,再执行sudo bash install.sh update更新scow-sync各个脚本的SheBang,最后再执行sudo bash install.sh安装scow-sync。 输入以下命令观察是否安装成功。 [root@login01 ~]# scow-sync-start -h usage: scow-sync-start [-h] [-a ADDRESS] [-u USER] [-s SOURCE] [-d DESTINATION] [-m MAX_DEPTH] [-p PORT] [-k SSHKEY_PATH] [-c] argsparser for starting transferring files optional arguments: -h, --help show this help message and exit -a ADDRESS, --address ADDRESS address of the server -u USER, --user USER username for logging in -s SOURCE, --source SOURCE path of the source file or directory -d DESTINATION, --destination DESTINATION path of the destination directory -m MAX_DEPTH, --max-depth MAX_DEPTH max parallel depth of the directory -p PORT, --port PORT ssh port of the server -k SSHKEY_PATH, --sshkey-path SSHKEY_PATH path of the private key -c, --check check whether the key in scow-sync-ssh is right [root@login01 ~]# scow-sync-query [] [root@login01 ~]# scow-sync-terminate -h usage: scow-sync-terminate [-h] [-a ADDRESS] [-u USER] [-s SOURCE] argsparser for terminating transferring files optional arguments: -h, --help show this help message and exit -a ADDRESS, --address ADDRESS address of the server -u USER, --user USER username for logging in to the server -s SOURCE, --source SOURCE path to the source file or directory","s":"3. 在每个传输节点上安装scow-sync传输软件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#3-在每个传输节点上安装scow-sync传输软件","p":575},{"i":586,"t":"配置scow-sync的输出路径为可选操作,默认的输出路径为~/scow/.scow-sync。 修改scow-sync代码中的scow_sync/config.py的SCOWSYNC_PATH、LOG_PATH和ERROR_PATH,以下为默认配置: SCOWSYNC_PATH = os.path.expanduser('~/scow/.scow-sync') # scow-sync传输文件进度保存目录 LOG_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.log') # scow-sync打印日志目录 ERROR_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.err') # scow-sync错误日志目录 SCOWSYNC_PATH的路径必须为以~开头的用户路径,从而实现用户信息的隔离。","s":"4. 可选:自定义scow-sync的日志路径","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/transfer-cross-clusters","h":"#4-可选自定义scow-sync的日志路径","p":575},{"i":588,"t":"登录节点桌面功能能够让用户在浏览器上就能访问登录节点的桌面,并进行GUI操作。","s":"登录节点桌面功能","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","h":"","p":587},{"i":590,"t":"目前,桌面功能仅支持登录到登录节点。在计算节点上启动桌面可借助交互式任务实现。 下文中将启动桌面的节点称为桌面节点。 请确认集群配置满足以下条件: 桌面节点已安装TurboVNC 3.0版本或者以上(官方安装教程)","s":"前提条件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","h":"#前提条件","p":587},{"i":592,"t":"在config/portal.yml文件的loginDesktop.wms部分可以配置支持的桌面, 也可以在config/clusters下的集群配置文件内分集群配置支持的桌面,config/clusters配置文件下的配置优先级高于config/portal.yml文件。 config/portal.yaml 或 config/clusters/[集群ID]/config.yml loginDesktop: wms: - name: Xfce wm: xfce 其中,name表示桌面的名称,wm表示TurboVNC中-wm选项的值。我们使用TurboVNC的-wm选项指定支持启动的桌面。用户选择的桌面对应的wm值将会被传入TurboVNC的-wm参数。 可以查看TurboVNC 3.0.x Window Manager Compatibility Report来确认桌面和操作系统之间的兼容性。 下表为目前已经在CentOS 7上测试的各个桌面与turbovnc的兼容性以及对应的wm值。要想使用对应的桌面,请在对应的桌面节点安装epel-release包,再运行安装命令部分的命令安装对应的桌面。 桌面 wm值 安装命令 兼容性 KDE 1-kde-plasma-standard yum groupinstall \"KDE Plasma Workspaces\" 可用 Xfce xfce yum groupinstall \"Xfce\" 可用 MATE mate yum groupinstall \"MATE Desktop\" 可用 cinnamon cinnamon yum install cinnamon 可用 GNOME 2 2d yum groupinstall \"GNOME Desktop\" 不可用 GNOME 3 (空字符串) yum groupinstall \"GNOME Desktop\" 不可用 根据TurboVNC的文档,如果需要启动其他桌面,您可以将wm值设置为任意/usr/share/xsessions下的文件名(不包括.desktop后缀)来启动对应的桌面。","s":"支持的桌面","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/desktop","h":"#支持的桌面","p":587},{"i":594,"t":"本项目面向开发和测试人员,基于Vagrant,采用VirtualBox作为Provider,提供slurm+SCOW集群一键部署方案,极大简化了部署流程和部署门槛。 部署slurm+SCOW四节点集群,节点角色及默认配置如下表所示: 节点名称/角色 主要服务 私网IP 配置 scow scow:portal、mis、auth、gateway 192.168.88.100 4C4G slurm slurmdbd、slurmctld、slurmd、mariadb、nfs-server、slapd、sssd 192.168.88.101 2C2G login slurmd、sssd、nfs、Xfce、KDE、MATE、cinnamon 192.168.88.102 2C2G cn01 slurmd、sssd、nfs、Xfce、KDE、MATE、cinnamon 192.168.88.103 2C2G","s":"使用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"","p":593},{"i":596,"t":"把scow-vagrant项目clone下来,在这个项目根目录下执行以下命令: git clone https://github.com/PKUHPC/scow-vagrant.git 部署前准备: 下载最新Release的scow-cli,拷贝至scow\\scow-deployment目录,并命名为cli; 编译生成最新的适配器可执行程序(CentOS7.9),替换adapter目录下的scow-slurm-adapter-amd64(默认为与SCOWv1.2.3匹配版本),编译参考文档; 修改配置文件scow\\scow-deployment\\install.yaml,imageTag修改为与cli匹配的版本,例如v1.2.3。 一键部署命令: vagrant up 第一次部署需要从vagrant clould拉取vagrant镜像,速度会比较慢,请耐心等待。","s":"1. 集群一键部署","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#1-集群一键部署","p":593},{"i":598,"t":"初始化地址:http://192.168.88.100/mis/init/ 用户名/密码:demo_admin/demo_admin 进入初始化页面,选择创建初始管理员用户,将demo_admin设置为管理员用户。后续用户、账户设置请参考本项目操作手册。","s":"2. 集群初始化","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#2-集群初始化","p":593},{"i":600,"t":"#登录到集群scow节点 vagrant ssh scow # 输入root用户密码,密码为:vagrant # 进入scow部署目录 /root/scow/scow-deployment # 拉取最新镜像 ./cli compose pull # 重启服务 ./cli compose down ./cli compose up -d","s":"3. SCOW运维操作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#3-scow运维操作","p":593},{"i":602,"t":"vagrant destroy","s":"4. 集群一键销毁命令","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#4-集群一键销毁命令","p":593},{"i":604,"t":"vagrant环境搭建 自定义部署 vagrant镜像制作 FAQ","s":"5. 更多文档","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant","h":"#5-更多文档","p":593},{"i":607,"t":"本方案各节点IP使用的是private_network模式(Host-Only),若不与其他虚机IP冲突,可不需要修改直接使用默认即可。如需要修改节点IP,可参照如下操作: (1) Vagrantfile修改: 通过修改Vagrantfile文件vm_list下各节点的eth1属性,修改集群中各节点 使用的IP,需保证设置的各节点IP在同一局域网内。 (2) slurm配置文件修改: slurm\\slurm.conf文件中的nodes配置部分,将各节点IP修改为与vm_list中配置的一致; slurm\\ldap_client.sh文件中ServHost改为slurm节点IP; slurm\\nfs_client.sh文件中的192.168.88.101改为slurm节点IP。 (3) SCOW配置文件修改: scow\\scow-deployment\\config\\auth.yml文件中的ldap.url的IP改为slurm节点IP; scow\\scow-deployment\\config\\mis.yaml文件中fetchJobs.db.host改为scow节点IP; scow\\scow-deployment\\config\\clusters\\hpc01.yaml文档中slurm.mis.managerUrl改为slurm节点IP。 (4) export job配置文件修改: scow\\export-jobs\\config.py文件中的cluster_db_conf.host改为slurm节点IP,mgt_db_conf.hostscow节点IP。 以上配置修改完成之后执行部署命令: vagrant up","s":"1. 如何修改节点私网IP","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","h":"#1-如何修改节点私网ip","p":605},{"i":609,"t":"以添加计算节点cn02为例,Vagrantfile文件vm_list中复制一份cn01的配置,并做如下修改: { :name => \"cn02\", :eth1 => \"192.168.88.104\", :mem => \"4096\", :cpu => \"4\", :sshport => 22234, :box => \"icode/slurm_compute\", :role => \"slurm\", :is_service_node => false } 注意修改name,eth1,sshport的值,可不修改其他属性值。 slurm\\slurm.conf文件中修改计算节点和分区配置信息部分: # NODES 配置部分将cn02节点加入 NodeName=cn0[1-2] NodeAddr=192.168.88.10[3-4] CPUs=4 CoresPerSocket=2 ThreadsPerCore=1 RealMemory=3500 Procs=1 State=UNKNOWN # PARTITIONS 配置部分将cn02节点加入 PartitionName=compute Nodes=cn0[1-2] Default=YES MaxTime=INFINITE State=UP scow\\scow-deployment\\config\\clusters\\hpc01.yaml修改节点和分区配置: # ... slurm: loginNodes: - name: login address: 192.168.88.102 partitions: - name: compute # 分区内节点数修改为2 nodes: 2 # ... 以上配置修改完成之后执行部署命令: vagrant up","s":"2. 如何新增计算节点","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/customization","h":"#2-如何新增计算节点","p":605},{"i":611,"t":"门户系统的桌面和交互式作业功能是通过HTTP代理,将用户的流量代理到了运行桌面的登录节点或者运行计算作业的计算节点上来实现的。这要求SCOW所在的服务节点能够直连所有登录和计算节点。 但是,在多集群环境中,各个集群之间的网络可能不连通,SCOW所在的服务节点可能不能直连所有集群的计算节点。 对于这种情况,您可以给集群配置代理网关节点。在有代理网关的情况下,SCOW将会把交互式应用(包括VNC类型和Web类型)的流量首先发给集群的代理网关节点。代理网关节点将会负责将流量进一步转发到具体的节点中去。","s":"代理网关节点","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","h":"","p":610},{"i":613,"t":"您需要在您的需要代理网关节点的集群中选择一个节点作为代理网关节点。这个节点必须能被SCOW直接访问,也能访问自己集群中的所有机器。您需要给这个节点向SCOW所在的服务节点开放一个端口用作下文的监听端口。 当您选择好了节点后,您需要在网关节点上安装nginx,并创建/etc/nginx/conf.d/scow-portal-proxy-gateway.conf touch /etc/nginx/conf.d/scow-portal-proxy-gateway.conf 然后将以下内容写入此文件,替换如下部分: ${PORT}: 监听端口号 ${PORTAL_BASE_PATH}: 门户系统的base path,以/结尾 /etc/nginx/conf.d/scow-portal-proxy-gateway.conf server { # 监听端口号,可修改 listen 12031; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \"upgrade\"; location ~ ^${PORTAL_BASE_PATH}api/proxy/(?.*)/relative/(?[\\d|\\.]*)/(?\\d+)(?.*)$ { proxy_pass http://$node:$port$rest$is_args$args; } location ~ ^${PORTAL_BASE_PATH}api/proxy/(?.*)/absolute/(?[\\d|\\.]*)/(?\\d+)(?.*)$ { proxy_pass http://$node:$port$request_uri; } } 重新加载nginx配置 nginx -s reload 之后,您需要在SCOW的集群配置文件中,对需要开启这个功能的集群的配置文件增加以下配置: config/clusters/hpc01/config.yaml proxyGateway: url: {代理网关节点nginx监听地址} 例如,这个集群的代理网关节点为192.168.88.100,上面新增的文件中监听端口号为12031,则此处填写 config/clusters/hpc01/config.yaml proxyGateway: url: http://192.168.88.100:12031 重启portal-web即可生效。 ./cli compose restart portal-web 注意,一旦修改了此配置,被修改了配置的集群在修改配置之间启动的交互式作业将会无法重新连接。","s":"手动配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","h":"","p":610},{"i":615,"t":"您也可以让SCOW自动帮您做这个配置。要使用自动配置,您需要确保: SCOW节点可以使用公钥以root身份SSH登录到代理网关节点 代理网关节点上安装了nginx 您需要在集群配置文件中编写如下配置: config/clusters/hpc01/config.yaml proxyGateway: url: {代理网关节点的nginx的监听地址} autoSetupNginx: true 这样之后,portal-server每次启动时,都会SSH登录到代理网关节点,并根据手动配置部分自动配置。","s":"自动配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","h":"","p":610},{"i":617,"t":"如果您配置了代理网关节点,那么需要确保在配置各集群登录节点时,登录节点的域名或者IP地址在所有集群中都是不重复的。否则,代理网关节点将无法区分不同的登录节点。 代理网关节点可以使用公钥以root身份SSH登录到所有计算节点","s":"配置要求","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/proxy-gateway","h":"","p":610},{"i":620,"t":"在vagrant up时出现如下报错: 解决方法: 进入vagrant的box目录,找到对应box的box.ovf配置文件(默认在{userhome}/.vagrant.d/boxes/下进入对应的box目录查找),删除AudioAdapter配置。","s":"1. Invalid value 'WAS' in AudioAdapter/@driver attribute","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/faq","h":"#1--invalid-value-was-in-audioadapterdriver-attribute","p":618},{"i":623,"t":"基于vagrant官方centos/7镜像(7.8.2003),执行的命令如下: # 1. 升级到centos7.9.2009 yum update -y # 2. 关闭firewalld、dnsmasq、NetworkManager systemctl disable --now firewalld systemctl disable --now dnsmasq systemctl disable --now NetworkManager # 3. 关闭selinux setenforce 0 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config getenforce # 4. 关闭swap swapoff -a && sysctl -w vm.swappiness=0enforcing sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab # 5. 时间同步 rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm yum install ntpdate vim -y # 同步时间。time2.aliyun.com外网,vineyard.pku.edu.cn内网 # 时间同步配置如下: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo 'Asia/Shanghai' >/etc/timezone ntpdate time2.aliyun.com cat >>/var/spool/cron/root </etc/timezone ntpdate time2.aliyun.com cat >>/var/spool/cron/root < \"${RSESSION_WRAPPER_FILE}\" << EOL #!/usr/bin/env bash # Log all output from this script export RSESSION_LOG_FILE=\"${PWD}/rsession.log\" exec &>>\"\\${RSESSION_LOG_FILE}\" # Launch the original command echo \"Launching rsession...\" set -x exec ${RSTUDIO_RSESSION} --r-libs-user \"${R_LIBS_USER}\" \"\\${@}\" EOL ) chmod 700 \"${RSESSION_WRAPPER_FILE}\" cd \"${HOME}\" export TMPDIR=\"$(mktemp -d)\" mkdir -p \"$TMPDIR/rstudio-server\" python -c 'from uuid import uuid4; print(uuid4())' > \"$TMPDIR/rstudio-server/secure-cookie-key\" chmod 0600 \"$TMPDIR/rstudio-server/secure-cookie-key\" set -x # Launch the RStudio Server export PATH=/data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin:$PATH echo \"Starting up rserver...\" # RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置 /data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin/rserver \\ --www-port \"${PORT}\" \\ --auth-none 1 \\ --auth-pam-helper-path \"${RSTUDIO_AUTH}\" \\ --auth-encrypt-password 0 \\ --rsession-path \"${RSESSION_WRAPPER_FILE}\" \\ --server-data-dir \"${TMPDIR}\" \\ --server-user ${USER} \\ --secure-cookie-key-file \"${TMPDIR}/rstudio-server/secure-cookie-key\" \\ --rsession-which-r ${WHICHR} echo 'Singularity as exited...' # 如何连接应用 connect: method: POST path: /auth-do-sign-in formData: password: \"{{ PASSWORD }}\" username: \"{{ USER }}\" appUri: \"{{ APPURI }}\" # 配置HTML表单 attributes: - type: select name: r_version label: 请选择R版本 select: - value: R-3.6.0 label: 3.6.0 - value: R-4.2.3 label: 4.2.3 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"1、RStudio Server 1.4.1103之前版本","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#1rstudio-server-141103之前版本","p":628},{"i":644,"t":"config/apps/rstudio.yml # 这个应用的ID id: rstudio # 这个应用的名字 name: RStudio # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname) export APPURI=\"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/\" export USER=${USER} export SINGULARITY_VERSION=\"singularity/3.9.2\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | setup_env () { # Additional environment which could be moved into a module export RSTUDIO_PASSWORD=${PASSWORD} # Change these to suit export RSTUDIO_SERVER_IMAGE=\"/data/software/rstudio-server/rstudio.sif\" # 容器中rstudio的路径 export RSTUDIO_HOME=/usr/lib/rstudio-server export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession export RSTUDIO_AUTH=\"/data/software/rstudio-server/auth\" export RSESSION_WRAPPER_FILE=\"${PWD}/rsession.sh\" export DB_CONF_FILE=\"${PWD}/database.conf\" export WHICHR=/data/software/R/${r_version}/bin/R } setup_env module switch ${SINGULARITY_VERSION} ( umask 077 sed 's/^ \\{2\\}//' > \"${RSESSION_WRAPPER_FILE}\" << EOL #!/usr/bin/env bash # Log all output from this script export RSESSION_LOG_FILE=\"${PWD}/rsession.log\" exec &>>\"\\${RSESSION_LOG_FILE}\" # Launch the original command echo \"Launching rsession...\" set -x exec ${RSTUDIO_RSESSION} --r-libs-user \"${R_LIBS_USER}\" \"\\${@}\" EOL ) chmod 700 \"${RSESSION_WRAPPER_FILE}\" cd \"${HOME}\" export TMPDIR=\"$(mktemp -d)\" mkdir -p \"$TMPDIR/rstudio-server\" python -c 'from uuid import uuid4; print(uuid4())' > \"$TMPDIR/rstudio-server/secure-cookie-key\" chmod 0600 \"$TMPDIR/rstudio-server/secure-cookie-key\" ( umask 177 cat > \"${DB_CONF_FILE}\" << EOL provider=sqlite directory=${HOME}/.local/share/rstudio/database EOL ) set -x # Launch the RStudio Server echo \"Starting up rserver...\" # RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置 singularity run -B \"/tmp:/tmp\",\"/data:/data\" \"$RSTUDIO_SERVER_IMAGE\" ${RSTUDIO_RSERVER} \\ --www-port \"${PORT}\" \\ --auth-none 1 \\ --auth-pam-helper-path \"${RSTUDIO_AUTH}\" \\ --auth-encrypt-password 0 \\ --rsession-path \"${RSESSION_WRAPPER_FILE}\" \\ --server-data-dir \"${TMPDIR}\" \\ --server-user ${USER} \\ --secure-cookie-key-file \"${TMPDIR}/rstudio-server/secure-cookie-key\" \\ --database-config-file \"${DB_CONF_FILE}\" \\ --rsession-which-r ${WHICHR} echo 'Singularity as exited...' # 如何连接应用 connect: method: POST path: /auth-do-sign-in formData: password: \"{{ PASSWORD }}\" username: \"{{ USER }}\" appUri: \"{{ APPURI }}\" # 配置HTML表单 attributes: - type: select name: r_version label: 请选择R版本 select: - value: R-3.6.0 label: 3.6.0 - value: R-4.2.3 label: 4.2.3 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"2、RStudio Server 1.4.1103及之后版本(源码安装R)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#2rstudio-server-141103及之后版本源码安装r","p":628},{"i":646,"t":"config/apps/rstudio.yml # 这个应用的ID id: rstudio # 这个应用的名字 name: RStudio # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SLURM_COMPUTE_NODE_NAME=$(hostname) export APPURI=\"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_NAME}/${PORT}/\" export USER=${USER} export SINGULARITY_VERSION=\"singularity/3.9.2\" export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') export CONDA_VERSION=\"anaconda/3-2023.03\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | setup_env () { # Additional environment which could be moved into a module export RSTUDIO_PASSWORD=${PASSWORD} # Change these to suit export RSTUDIO_SERVER_IMAGE=\"/data/software/rstudio-server/rstudio.sif\" # 容器中rstudio的路径 export RSTUDIO_HOME=/usr/lib/rstudio-server export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession export RSTUDIO_AUTH=\"/data/software/rstudio-server/auth\" export RSESSION_WRAPPER_FILE=\"${PWD}/rsession.sh\" export DB_CONF_FILE=\"${PWD}/database.conf\" export WHICHR=/data/software/R/${r_version}/bin/R } setup_env module switch ${SINGULARITY_VERSION} for m in ${textModuleName}; do module switch ${m}; done conda -V &> /dev/null if [ $? -ne 0 ]; then module switch ${CONDA_VERSION} fi # init conda eval \"$($(which conda) shell.${SHELL_NAME} hook)\" conda activate ${r_version} if [ $? -ne 0 ]; then echo \"${r_version}不存在,请输入正确的R版本!\" exit 2 fi ( umask 077 sed 's/^ \\{2\\}//' > \"${RSESSION_WRAPPER_FILE}\" << EOL #!/usr/bin/env bash # Log all output from this script export RSESSION_LOG_FILE=\"${PWD}/rsession.log\" exec &>>\"\\${RSESSION_LOG_FILE}\" # Launch the original command echo \"Launching rsession...\" set -x exec ${RSTUDIO_RSESSION} --r-libs-user \"${R_LIBS_USER}\" \"\\${@}\" EOL ) chmod 700 \"${RSESSION_WRAPPER_FILE}\" cd \"${HOME}\" export TMPDIR=\"$(mktemp -d)\" mkdir -p \"$TMPDIR/rstudio-server\" python -c 'from uuid import uuid4; print(uuid4())' > \"$TMPDIR/rstudio-server/secure-cookie-key\" chmod 0600 \"$TMPDIR/rstudio-server/secure-cookie-key\" ( umask 177 cat > \"${DB_CONF_FILE}\" << EOL provider=sqlite directory=${HOME}/.local/share/rstudio/database EOL ) set -x # Launch the RStudio Server echo \"Starting up rserver...\" # RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置 singularity run -B \"/tmp:/tmp\",\"/data:/data\" \"$RSTUDIO_SERVER_IMAGE\" ${RSTUDIO_RSERVER} \\ --www-port \"${PORT}\" \\ --auth-none 1 \\ --auth-pam-helper-path \"${RSTUDIO_AUTH}\" \\ --auth-encrypt-password 0 \\ --rsession-path \"${RSESSION_WRAPPER_FILE}\" \\ --server-data-dir \"${TMPDIR}\" \\ --server-user ${USER} \\ --secure-cookie-key-file \"${TMPDIR}/rstudio-server/secure-cookie-key\" \\ --database-config-file \"${DB_CONF_FILE}\" # --rsession-which-r ${WHICHR} echo 'Singularity as exited...' # 如何连接应用 connect: method: POST path: /auth-do-sign-in formData: password: \"{{ PASSWORD }}\" username: \"{{ USER }}\" appUri: \"{{ APPURI }}\" # 配置HTML表单 attributes: - type: select name: r_version label: 请选择R版本 select: - value: R-3.6.0 label: 3.6.0 - value: R-4.2.3 label: 4.2.3 - type: text name: textModuleName label: Modules required: false # 输入需要额外加载的环境模块列表 placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于RStudio,export以下变量的含义是: SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名 SINGULARITY_VERSION:Singularity版本","s":"3、RStudio Server 1.4.1103及之后版本(Conda环境安装R)","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#3rstudio-server-141103及之后版本conda环境安装r","p":628},{"i":649,"t":"Singularity用于构建和运行RStudio Server容器镜像,建议安装在共享存储上,集群各节点只需要挂载上共享存储,并配置好环境变量后便可以使用。 安装Singularity依赖包: yum install -y gcc libuuid-devel squashfs-tools openssl-devel make Singularity使用Go语言开发,需要先安装Go: export VERSION=1.20.3 OS=linux ARCH=amd64 wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz mkdir -p /data/software/go tar -C /data/software/go -xzvf go$VERSION.$OS-$ARCH.tar.gz mv /data/software/go/go /data/software/go/$VERSION rm -f go$VERSION.$OS-$ARCH.tar.gz 将Go添加到module工具中统一管理: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/go cat >> ${MODULEPATH}/go/1.20.3 << EOF #%Module1.0##################################################################### ## ## go@1.20.3 modulefile ## proc ModulesHelp { } { puts stderr \" This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for go\" puts stderr \" Version 1.20.3\" } module-whatis \"go@1.20.3\" prepend-path PATH \"/data/software/go/1.20.3/bin\" prepend-path LIBRARY_PATH \"/data/software/go/1.20.3/lib\" prepend-path LD_LIBRARY_PATH \"/data/software/go/1.20.3/lib\" EOF 安装Singularity: export VERSION=3.9.2 wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-ce-${VERSION}.tar.gz tar -xzf singularity-ce-${VERSION}.tar.gz cd singularity-ce-${VERSION} module load go/1.20.3 ./mconfig --prefix=/data/software/singularity/${VERSION} cd builddir/ make -j && make install 将Singularity添加到module工具中统一管理: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/singularity cat >> ${MODULEPATH}/singularity/3.9.2 << EOF #%Module1.0##################################################################### ## ## singularity@3.9.2 modulefile ## proc ModulesHelp { } { puts stderr \" This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for singularity\" puts stderr \" Version 3.9.2\" } module-whatis \"singularity@3.9.2\" prepend-path PATH \"/data/software/singularity/3.9.2/bin\" EOF","s":"1、Singularity安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#1singularity安装","p":628},{"i":651,"t":"2.1、源码安装R​ 安装R的依赖包: yum -y install gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2 安装R: # 下载R的源代码并编译安装 curl -LJO https://cran.rstudio.com/src/base/R-4/R-4.2.3.tar.gz tar zxf R-4.2.3.tar.gz # 必须有--enable-R-shlib这个选项(lib64/R/lib/libR.so) ./configure --prefix=/data/software/R/R-4.2.3 --enable-R-shlib make -j make install 将R添加到module工具中统一管理: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/R cat >> ${MODULEPATH}/R/3-2023.03 << EOF #%Module1.0##################################################################### ## ## R@4.2.3 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for R\" puts stderr \"\\tVersion 4.2.3\" } module-whatis \"R@4.2.3\" prepend-path PATH \"/data/software/R/R-4.2.3/bin\" EOF 2.2、在Conda环境安装R​ # 载入conda到系统环境中,并初始化conda环境 module load anaconda/3-2023.03 eval \"$($(which conda) shell.bash hook)\" # 添加北大镜像源,查找相应版本的R进行安装 conda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/conda-forge/ conda search R # 根据查找到的R版本,创建Conda虚拟环境,并在创建的时候指定需要安装的R版本,这里选择安装R-3.6.0版本; conda create -n R-3.6.0 r=3.6.0 -y # 进入上一步创建好的虚拟环境; conda activate R-3.6.0 # 安装R语言库,比如stringi conda install r-stringi -y # 安装完后就可以用R语言环境了,如果要退出当前环境则执行以下指令; conda deactivate","s":"2、R安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#2r安装","p":628},{"i":653,"t":"下载RStudio Server源码包进行编译打包: # 下载源码包 wget https://github.com/rstudio/rstudio/archive/refs/tags/v2023.03.0+386.tar.gz # 解压源码包 tar -zxvf v2023.03.0+386.tar.gz cd rstudio-2023.03.0-386 # 跳过登录时的csrf-token验证,高版本的RStudio Server集成到scow需要跳过验证 sed -i '134s/^/\\/\\//' src/cpp/server/auth/ServerAuthCommon.cpp # 在当前路径初始化git仓库 git init # 增加git缓存配置 git config --global http.postBuffer 5242880000 # 因为是新初始化的git仓库,所以没有提交记录,那么没有HEAD引用。通过执行第一次提交来创建一个HEAD引用 git config --global user.email ${USER_EMAIL_ADDRESS} git commit --allow-empty -n -m \"Initial commit.\" # 以下脚本首先构建编译rstudio server所需环境的docker容器,然后在容器内进行rstudio server编译,编译完成后会在源码包路径的package目录下生成rstudio server的rpm包 # 执行过程如果遇到git克隆包克隆不下来的情况,可以在执行的shell环境添加代理或者修改代码中的克隆地址 sh docker/docker-compile.sh centos7 server 2023.03.0-386 # 可以看到目录下有编译好的rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm包 ls package 在rstudio-2023.03.0-386目录下编写Dockerfile文件: FROM centos:7 COPY package/rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm / RUN yum -y update && \\ yum -y install epel-release && \\ yum -y install which gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2 initscripts postgresql-libs psmisc && \\ cd / && \\ rpm2cpio rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm | cpio -div && \\ mkdir data && \\ yum clean all 在rstudio-2023.03.0-386目录下构建RStudio Server的docker镜像: docker build -t rstudio:2023.03.0-386 . 构建RStudio Server的Singularity镜像: singularity build rstudio.sif docker-daemon://rstudio:2023.03.0-386 将Singularity镜像拷贝到共享存储,以便在计算节点可以访问并运行: cp rstudio.sif /data/software/rstudio-server/","s":"3、构建RStudio Server镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/config/portal/apps/apps/rstudio","h":"#3构建rstudio-server镜像","p":628},{"i":655,"t":"本节介绍如何在已有的超算集群上部署SCOW系统。您可参考本文档在生产环境中部署SCOW。","s":"安装","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"","p":654},{"i":657,"t":"我们推荐将SCOW部署在一个单独的节点上。下文称部署这些组件的节点为服务节点。 要在您的集群上使用SCOW,请保证您的集群满足以下条件: 集群中的各个节点可相互通过网络连接 服务节点可以免密以root用户SSH登录到各个登录节点,并且服务节点的~/.ssh目录下有登录所需要的id_rsa.pub和id_rsa文件 运行所有部署的命令用户不需要为root,但是此用户的~/.ssh下的密钥对需可以以root用户登录登录节点 服务节点可以SSH连接到所有计算节点,并且计算节点和登录节点的所有用户共享同样的SSH authorized_keys配置文件 使用slurm调度器,并且 版本为21.08.4及以上 已经部署slurm的Accounting功能 警告 因为这个issue,如果您的登录节点和计算节点的所使用的OpenSSH的版本高于8.2(大多比CentOS 7新的操作系统默认的版本均高于此),那么即使您能在SCOW节点上通过ssh命令连接到登录和计算节点上,SCOW可能也无法通过SSH连接到这些节点上。如果您遇到了这个问题,您需要在您的各个节点的/etc/ssh/sshd_config文件中增加以下内容,并重启sshd服务。 PubkeyAcceptedKeyTypes=+ssh-rsa 这是因为OpenSSH从8.2版本开始默认取消了对ssh-rsa公钥签名算法的支持(OpenSSH 8.2 Release Note)。当前系统仅支持使用ssh-rsa类型的公钥对进行SSH登录,在后续我们会增加对使用更新算法(例如ed25519)的公私钥对的默认支持。","s":"集群要求","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#集群要求","p":654},{"i":659,"t":"为了简化部署,系统组件以docker镜像的形式分发。服务节点应该安装好 docker(安装docker的官方文档) docker compose(安装docker compose的官方文档)。","s":"准备环境","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#准备环境","p":654},{"i":661,"t":"针对不同种类的调度器,需要在集群上部署对应的适配器。适配器是在SCOW和底层调度器之间的中间层,向SCOW提供一组接口,SCOW通过这组接口调用适配器功能。理论上,只要适配器实现了接口所定义的功能,SCOW就能方便地部署在对应集群上。 适配器本质上是一个gRPC服务器,我们已经实现了部分调度器对应的适配器,可以参考下列文档部署适配器 slurm 备注 适配器将会暴露一个端口来提供服务,SCOW将通过ip地址+端口号访问适配器,调用接口。请记录下适配器的地址信息,用于后续部署。","s":"部署SCOW调度器适配器","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#部署scow调度器适配器","p":654},{"i":663,"t":"scow-cli是我们官方维护的SCOW部署和运维工具,能够帮助您快速部署、管理和维护SCOW集群。 参考scow-cli下载scow-cli,并将其存放到一个你用于存放SCOW配置文件的目录下。 # scow目录将会用于存在SCOW相关的配置文件 mkdir scow cd scow # 将下载的scow-cli移动到scow目录下 cp /path/to/scow-cli ./ chmod +x scow-cli","s":"下载scow-cli","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#下载scow-cli","p":654},{"i":665,"t":"运行以下命令生成示例配置文件: # 生成安装配置文件./install.yaml和示例配置文件目录./config ./cli init","s":"准备配置文件","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#准备配置文件","p":654},{"i":667,"t":"根据以下顺序配置系统: SCOW安装文件install.yaml(按照自己集群需求修改对应参数) 编写集群信息配置文件 配置认证系统 (可选)配置门户系统 (可选)配置管理系统 (可选)配置审计系统 部署完成后,运行以下命令启动系统。 ./cli compose up -d 当修改了配置文件后,运行以下命令重启系统 ./cli compose restart","s":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install","h":"#配置","p":654},{"i":669,"t":"目前系统处于公开测试阶段,暂不提供构建好的镜像下载。本部分介绍如何从源码构建项目的镜像。 在服务节点中安装以下软件: docker docker compose 从仓库clone项目 git clone https://github.com/PKUHPC/SCOW --depth=1 构建镜像 # 构建tag为scow:latest的镜像。如果需要修改镜像的tag,请修改-t参数的值 docker build -f docker/Dockerfile.scow -t scow . 提示 为了简化构建镜像时所需要的环境和减少所需时间,使用此命令构建镜像时,docker将会自动使用运行此命令时的机器的架构编译镜像。例如如果您在AMD64架构的机器上编译,编译出来的镜像仅支持AMD64架构。 请查看多架构支持文档来了解系统对非AMD64架构(如ARM64)的机器的支持。","s":"从源码构建","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/build-from-source","h":"#从源码构建","p":668},{"i":671,"t":"SCOW系统支持以下运行环境的镜像。您只需在支持的机器上安装对应版本的docker,就可以拉取或者构建符合你当前机器架构的镜像。 linux/amd64 linux/arm64","s":"多架构支持","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","h":"","p":670},{"i":673,"t":"scow-cli同样支持上述运行环境。请在下载时选择您部署所在的机器的操作系统和架构下载。","s":"scow-cli","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","h":"#scow-cli","p":670},{"i":675,"t":"直接运行docker build构建出来的镜像为只支持您编译时机器的架构的镜像。要想编译出同时支持以上所有架构的的镜像,请参考以下步骤: 根据docker官方的Multi-platform images文档,创建并使用支持多平台编译的builder docker buildx create --name mybuilder --driver docker-container --bootstrap --use 通过这个builder构建镜像 # docker buildx build -f docker/Dockerfile.scow -t scow --platform=linux/arm64,linux/cmd64 .","s":"编译支持多架构的镜像","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/multi-platform","h":"#编译支持多架构的镜像","p":670},{"i":677,"t":"vagrant支持的provider包括virtualbox、hyperv、libvirt等。virtualbox支持windows、linux、macos的安装,因此本教程以virtualbox作为provider。","s":"vagrant环境搭建","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","h":"","p":676},{"i":679,"t":"点击进入官网下载virtualbox 此处可选择操作系统版本,选择Windows版本下载、安装(其他操作系统类似)。 安装过程比较简单,跟着指引即可。","s":"1. 安装virtualbox","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","h":"#1-安装virtualbox","p":676},{"i":681,"t":"点击进入官网下载vagrant 这里选择Windows 64位版本,安装过程跟着指引即可。","s":"2. 安装vagrant","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","h":"#2-安装vagrant","p":676},{"i":683,"t":"# 新建虚拟机,以创建一个centos7虚拟机为例 # 1. 初始化 vagrant init centos/7 # 2. 启动,初次启动会比较慢,需要拉镜像 vagrant up # 3. 查看状态 vagrant status # 4. ssh到虚机 vagrant ssh # 5. 停止虚机 vagrant halt # 6. 暂停虚机 vagrant suspend # 7. 恢复虚机 vagrant resume # 8. 删除虚机 vagrant destroy","s":"3. vagrant基本操作","u":"/SCOW/pr-preview/pr-1298/docs/deploy/get-started/vagrant/vagrant-env","h":"#3-vagrant基本操作","p":676},{"i":685,"t":"请通过以下方法下载scow-cli,并将下载的文件解压,将里面的可执行文件存放到您将会存放SCOW配置文件的目录下。 GitHub Release: SCOW每次发布新的版本时,将会将此版本的scow-cli上传到Release中 想获取最新的scow-cli版本?您可以从GitHub Actions的Test, Build and Publish Projects workflow中下载到上传到Archive的scow-cli。 参考命令 # 如果没有wget,可以先install yum install wget # 下载对应的release版本。修改latest、cli-x64可下载指定版本cli # 修改latest为v0.4.0即可下载0.4.0版本的cli,如 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-x64 # 可修改cli-x64为cli-arm64下载arm64版本,如 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-arm64 wget https://github.com/PKUHPC/SCOW/releases/download/latest/cli-x64 # 重命名 mv cli-x64 cli #修改文件权限 chmod +x cli","s":"下载","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":687,"t":"scow-cli使用运行目录下的install.yaml作为配置来管理集群,但您可以通过-c命令行选项指定install.yaml的路径。","s":"配置","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":689,"t":"# docker compose 操作 # 在compose后跟任意compose参数 # 注意:每次运行compose的操作时,cli将会在本目录下创建一个临时的docker-compose-{时间戳}.yml文件,运行结束后会删除此文件 # 以保证docker compose配置的内容为最新 # 启动集群 ./cli compose up -d # 关闭集群 ./cli compose down # 更新镜像 ./cli compose pull # 生成docker-compose.yml文件 ./cli generate -o docker-compose.yml # 进入数据库 ./cli db # 将最简版本的示例配置文件放到当前目录下 ./cli init # 将全版本的示例配置文件放到当前目录下 ./cli init -f # 查看当前使用install.yaml的内容 ./cli view-install # 检查./config目录下的SCOW配置文件的格式 ./cli check-config","s":"使用","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":691,"t":"从scow-deployment迁移到scow-cli是非常容易的。 首先,请先下载scow-cli到您的scow-deployment文件夹中,确保config.py存在于目录中,然后运行 ./cli migrate 此命令将会读取当前目录中config.py中的配置,并生成对应的install.yaml。 之后,您就可以使用scow-cli来管理您的集群了。","s":"从scow-deployment迁移","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":693,"t":"使用 scow-deployment scow-cli 启动系统 ./compose.sh up -d ./cli compose up -d 停止系统 ./compose.sh down ./cli compose down 跟随查看所有日志 ./compose.sh logs -f ./cli compose logs -f 更新镜像 ./compose.sh pull ./cli compose pull 进入数据库 ./db.sh ./cli db","s":"常见命令的对照","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"#常见命令的对照","p":684},{"i":695,"t":"scow-cli可以自我更新。 # 更新到PR 535对应的最新的版本 ./cli update --pr 535 # 将test分支的最新cli下载到./cli-test ./cli update --pr 535 -o ./cli-test # 更新到test分支的最新cli版本 ./cli update --branch test # 更新至最新版本的scow-cli ./cli update # 更新cli至v0.4.0版本 ./cli update --release v0.4.0 # 下载v0.4.0版本的scow-cli并保存到./cli-test ./cli update --release v0.4.0 -o ./cli-test 使用--pr或者--branch选项需要您创建一个有workflow权限的GitHub Token ( https://github.com/settings/tokens/new ),并将这个token放到cli目录下的.env文件 .env # .env GITHUB_TOKEN={token}","s":"更新scow-cli","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":697,"t":"CLI需要访问网络的功能(例如更新scow-cli)可以设置HTTP代理。您可以通过设置HTTPS_PROXY, https_proxy, HTTP_PROXY, http_proxy环境变量来设置代理。如果多个环境变量同时存在,则使用优先级为上面列出来的顺序。 # 环境变量也可以写入.env中 export HTTPS_PROXY=http://localhost:1080 ./cli update","s":"代理","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":699,"t":"LOG_LEVEL=\"debug\" ./cli","s":"打印调试日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/install/scow-cli","h":"","p":684},{"i":701,"t":"本文档从部署规划开始,一步一步搭建slurm集群,安装共享存储、安装module、intel等工具软件。 让我们从零开始。","s":"slurm部署简介","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster","h":"","p":700},{"i":703,"t":"本节介绍如何对系统进行的常见运维操作。","s":"运维","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"","p":702},{"i":705,"t":"SCOW通过容器镜像分发,版本号即SCOW镜像的tag名。 要更新SCOW,请修改install.yaml中的imageTag为您想更新到的版本(tag名),例如: install.yaml # 使用v0.4.0版本 imageTag: v0.4.0 修改完成后,运行以下命令更新容器镜像并重新系统。 ./cli compose pull ./cli compose up -d 如果更新引入了破坏性的变更,请根据对应的更新说明,修改配置后在进行部署。","s":"更新","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"#更新","p":702},{"i":708,"t":"各个组件的日志直接写到stdout。可以使用常用的docker日志管理命令或者工具管理日志。如果使用的docker compose,可以使用./cli compose logs -f后面跟对应服务名称的方式查看服务的日志。 # 查看认证系统的日志 ./cli compose logs -f auth # 查看门户系统服务器端的日志 ./cli compose logs -f portal-server # 查看管理系统服务器端的日志 ./cli compose logs -f mis-server","s":"查看日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"#查看日志","p":702},{"i":710,"t":"您可以通过安装配置文件配置门户系统后端(portal-server)、管理系统后端(mis-server)和内置认证系统(auth)的日志输出选项。 install.yaml log: # LOG.LEVEL: 日志等级,可选trace, debug, info, warn, error。默认info level: \"info\" # LOG.PRETTY: 是否输出更适合直接读的log。如果为false,则输出json格式的日志。默认false pretty: false 当log.pretty为true时,输出日志格式如下: [02:27:00.372] INFO (18): request completed reqId: \"req-3\" res: { \"statusCode\": 200 } responseTime: 0.3789879999967525 当log.pretty为false时,输出日志格式如下: {\"level\":30,\"time\":1676429663943,\"pid\":18,\"hostname\":\"d3fc2f53e863\",\"reqId\":\"req-1\",\"res\":{\"statusCode\":200},\"responseTime\":4.37828900013119,\"msg\":\"request completed\"} 当您需要使用日志收集工具时,建议您使用JSON格式输出日志,然后使用日志分析工具来查看和分析收集到的日志。","s":"配置日志输出","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops","h":"#配置日志输出","p":702},{"i":712,"t":"部署LDAP后台管理后,访问http://{LDAP服务节点ip}:8080/ ,登录DN: cn=Manager,ou=hpc,o=pku Password: LDAP服务端安装脚本adminPasswd的值。","s":"LDAP新建用户","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","h":"","p":711},{"i":714,"t":"部署LDAP后台管理后,访问http://{LDAP服务节点ip}:8080/ ,登录DN: cn=Manager,ou=hpc,o=pku Password: LDAP服务端安装脚本adminPasswd的值。 登录成功后,新建Group: 选择 generic:posix group 填写group名字 点击create,然后点击commit,创建成功。 点击people新建用户 选择generic:user account 填写fist name,last name,设置密码。 GID选择刚刚设置的组。 home directory需要设置为NFS的目录,按照教程的配置,应该为 /data/home/用户名 点击create,然后点击commit,创建成功。 系统初始化时,访问部署路径的mis/init路径下,将管理员设置为刚刚创建的用户。 以该身份登录管理系统,点击租户管理-用户管理-创建用户,可以创建别的用户。 点击租户管理-账户管理-创建账户,账户的拥有者ID选择刚刚在管理系统创建的新用户。","s":"1. 界面添加LDAP用户","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","h":"#1-界面添加ldap用户","p":711},{"i":716,"t":"ldap服务节点操作 vim demo_admin.ldif dn: uid=demo_admin,ou=People,ou=hpc,o=pku objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: demo_admin sn: demo_admin uidNumber: 65001 gidNumber: 65001 homeDirectory: /data/home/demo_admin loginShell: /bin/bash userPassword: {SSHA}emlfzzuvWxe54LgoP5uCO7S63vIfK7jY dn: cn=demo_admin,ou=Group,ou=hpc,o=pku objectClass: posixGroup gidNumber: 65001 memberUid: demo_admin # 添加 ldapadd -x -D cn=Manager,ou=hpc,o=pku -W -f demo_admin.ldif #查找 ldapsearch -x -D cn=Manager,ou=hpc,o=pku -W \"uid=demo_admin,ou=People,ou=hpc,o=pku\" # 删除 ldapdelete -x -D cn=Manager,ou=hpc,o=pku -W \"uid=demo_admin,ou=People,ou=hpc,o=pku\" # 密码SSHA(可选择MD5等其他加密方式)加密 slappasswd -h {SSHA} -s \"password\"","s":"2. 命令添加LDAP用户","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/add-user","h":"#2-命令添加ldap用户","p":711},{"i":719,"t":"提示 门户系统报错时,请查看portal-server(优先)和portal-web日志;管理系统报错时,请查看mis-server(优先)和mis-web日志。","s":"1. 系统报错:查看运行日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#1-系统报错查看运行日志","p":717},{"i":721,"t":"各组件的实时日志是输出在stdout,可以通过./cli compose logs -f 查看实时的日志输出: # 查看所有组件的日志 ./cli compose logs -f # 查看认证系统的日志 ./cli compose logs -f auth # 查看门户系统服务器端的日志 ./cli compose logs -f portal-server # 查看管理系统服务器端的日志 ./cli compose logs -f mis-server 若开启了日志收集工具fluentd(默认开启),可以查看各组件的历史日志,历史日志的默认路径在/var/log/fluentd/,各组件的日志按组件名称分文件夹存储,每个组件的日志按照大小和日期分文件存储。 各组件日志: mis-web日志:","s":"1.1 查看日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#11-查看日志","p":717},{"i":723,"t":"SCOW日志输出支持日志等级设置,可选等级包括trace, debug, info, warn, error,默认等级为info,通过修改install.yamll日志配置部分来实现: log: # 可选trace, debug, info, warn, error, 默认info level: \"info\"","s":"1.2 设置日志级别","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#12-设置日志级别","p":717},{"i":726,"t":"作业执行完成时,在该作业的工作目录会生成两个标准输出文件:job.{job_id}.out和job.{job_id}.err。 当作业执行失败(状态为FAILED)时,可以通过查看job.{job_id}.err 文件内容分析错误的原因:所有作业列表->该作业行->进入目录:","s":"2.1 作业执行失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#21-作业执行失败","p":717},{"i":728,"t":"交互式应用分为web和vnc两类。 查看交互式应用执行的节点: web类应用:工作目录下的server_session_info.json文件中的HOST vnc类应用:工作目录下的VNC_SESSION_INFO文件 查看交互式应用输出日志及报错: web类应用:工作目录下的slurm-{job_id}.out文件 vnc类应用:工作目录下的output和vnc.log文件 截图略。","s":"2.2 交互式应用执行失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#22-交互式应用执行失败","p":717},{"i":730,"t":"SCOW支持可插拔的审计日志功能,配置审计日志的步骤如下: (1) 在install.yaml中添加 # 可添加审计日志功能,并配置审计日志数据库密码 audit: dbPassword: \"must!chang3this\" (2) 添加审计日志配置文件,在./config目录下添加audit.yaml # 审计系统数据库的信息。可以不修改 db: host: audit-db port: 3306 user: root dbName: scow_audit SCOW支持用户、账户、租户、平台级别操作日志查看:","s":"3. 用户操作审计:查看操作日志","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#3-用户操作审计查看操作日志","p":717},{"i":732,"t":"为解决只在某个用户下出现的错误,管理员可以通过模仿该用户,以该用户的身份登录到SCOW重现问题。 内置认证系统: 在config/auth.yml文件添加如下内容: # 当登录用户的ID为fromUser1,实际上以toUser1登录 mockUsers: fromUserId1: toUserId1 IAAA认证系统: 在config目录下创建pkuauth.yaml文件,内容如下: mockUsers: fromUserId1: toUserId1 修改改配置文件后无需重启认证系统,只需要退出再重新登录一下即可。","s":"4. 解决特定环境问题:模仿用户登录","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#4-解决特定环境问题模仿用户登录","p":717},{"i":735,"t":"在SCOW中可能会出现某个用户从账户中移除失败(slurm集群中该用户已与该账户取消关联)。该情况需要在SCOW数据库中处理: # 进入SCOW数据库 ./cli db use scow # 通过用户名查找该用户的ID,注意user表中的user_id是指用户名,用户ID是表的id列 select * from user where user_id=\"{user}\"; # 通过账户名查找该账户的ID select * from account where account_name=\"{account}\"; # 基于查找到的用户ID和账户ID,在用户账户关系表中。 # 注意user_account表中的user_id对应user表中的id,account_id对应account表中的id select * from user_account where user_id={user.id} and account_id={account.id}; #确认无误之后删除该记录 delete from user_account where user_id={user.id} and account_id={account.id};","s":"5.1 用户从账户中移除失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#51-用户从账户中移除失败","p":717},{"i":737,"t":"在SCOW中可能会出现将一个用户添加到某个账户中失败的情况(slurm集群中已存在该用户与该账户的关联)。该情况需要在SCOW数据库中处理: # 进入SCOW数据库、查找用户ID和账户ID请参考5.1小节 ./cli db use scow # 将用户与账户关系记录插入 insert into user_account(user_id,account_id,status,role,used_job_charge,job_charge_limit) values({user.id} , {account.id}, \"UNBLOCKED\", \"USER\", NULL, NULL);","s":"5.2 将用户添加到某个账户失败","u":"/SCOW/pr-preview/pr-1298/docs/deploy/ops/admin-usage-tips","h":"#52-将用户添加到某个账户失败","p":717},{"i":739,"t":"# # slurmdbd.conf file. # # See the slurmdbd.conf man page for more information. # # Authentication info AuthType=auth/munge #认证方式,该处采用munge进行认证 AuthInfo=/var/run/munge/munge.socket.2 #为了与slurmctld控制节点通信的其它认证信息 # # slurmDBD info DbdAddr=localhost #数据库节点名 DbdHost=localhost #数据库IP地址 SlurmUser=slurm #用户数据库操作的用户 DebugLevel=verbose #调试信息级别,quiet:无调试信息;fatal:仅严重错误信息;error:仅错误信息; info:错误与通常信息;verbose:错误和详细信息;debug:错误、详细和调试信息;debug2:错误、详细和更多调试信息;debug3:错误、详细和甚至更多调试信息;debug4:错误、详细和甚至更多调试信息;debug5:错误、详细和甚至更多调试信息。debug数字越大,信息越详细 LogFile=/var/log/slurm/slurmdbd.log #slurmdbd守护进程日志文件绝对路径 PidFile=/var/run/slurmdbd.pid #slurmdbd守护进程存储进程号文件绝对路径 # # Database info StorageType=accounting_storage/mysql #数据存储类型 StoragePass=123456 #存储数据库密码 StorageUser=slurm #存储数据库用户名 StorageLoc=slurm_acct_db #数据库名称","s":"slurmdbd.conf 配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurmdbd.conf","h":"","p":738},{"i":741,"t":"新版intel编译器不再是parallel_studio_xe_xxx_update4_cluster_edition,而改名为oneAPI。 intel编译器安装包下载链接。","s":"intel编译器安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"","p":740},{"i":743,"t":"本文档以Base Toolkit和HPC Toolkit为例。打开下载的地址: 以下载Base Toolkit为例,进入页面: 点击Download,选择如下信息: 在此页面不要点Download(它会让你注册账号),直接复制红框里的地址,在linux系统中直接wget,或者去掉前边wget,放在迅雷里下载即可(安装包比较大,3G多)。 同理,自行下载HPC的安装包。","s":"1. 获取安装包","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#1-获取安装包","p":740},{"i":745,"t":"以Base为例,创建安装目录: 提示 注意事项: 为保证集群所有计算节点可用,安装在NFS共享存储文件目录下; 安装需要大概30G左右空间,请确保此目录空间充足。 mkdir -p /data/software/intel/oneapi 执行安装脚本: sh l_BaseKit_p_2022.2.0.262_offline.sh 出现如下界面,选择自定义安装: 选择安装的包,下一步: 自定义安装目录,修改为之前准备好的目录: 提示 小提示:需要同时按下Ctrl+Backspace 才能删除原路径 开始安装: 等待安装完成即可。 提示 HPC(包含ifort, icc, mpiifort等编译器)等其他工具包安装方法类似。","s":"2. 安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#2-安装","p":740},{"i":747,"t":"source /data/software/intel/oneapi/setvars.sh","s":"3. 添加环境变量","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#3-添加环境变量","p":740},{"i":749,"t":"# 设置环境变量 source /data/software/intel/oneapi/mpi/2021.6.0/env/vars.sh # 生成xhpl cd /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack ./build.sh # 执行计算 mpirun -n 36 ./xhpl # 多节点 mpirun -hosts cn1,cn2,cn3,cn4 -np 36 -ppn 4 /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack/xhpl","s":"4. Linkpack测试","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/intel","h":"#4-linkpack测试","p":740},{"i":751,"t":"module是给集群所有节点使用,安装在nfs共享存储目录上。创建module安装目录: mkdir /data/software/module","s":"module安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","h":"","p":750},{"i":753,"t":"module工具,依赖tcl工具,因此首先要安装tcl工具。 创建工具目录: mkdir -p /data/software/module/tools/tcl 下载、编译、安装: # 下载 wget https://cfhcable.dl.sourceforge.net/project/tcl/Tcl/8.5.9/tcl8.5.9-src.tar.gz # 解压 tar -zxvf tcl8.5.9-src.tar.gz cd tcl8.5.9/unix # 编译 & 安装,注意修改此处目录 ./configure --prefix=/data/software/module/tools/tcl make make install","s":"1. tcl安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","h":"#1-tcl安装","p":750},{"i":755,"t":"创建工具目录: mkdir -p /data/software/module/tools/modules 下载、编译、安装: # 下载,此处可能需要科学上网 wget https://newcontinuum.dl.sourceforge.net/project/modules/Modules/modules-4.2.4/modules-4.2.4.tar.gz #解压 tar -zxvf modules-4.2.4.tar.gz cd modules-4.2.4 # 编译 & 安装,注意修改路径 ./configure --prefix=/data/software/module/tools/modules --with-tcl-lib=/data/software/module/tools/tcl/lib --with-tcl-inc=/data/software/module/tools/tcl/include make make install","s":"2. module安装","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","h":"#2-module安装","p":750},{"i":757,"t":"安装完成之后,在/data/software/module/tools/modules目录下,就有module工具了。不过在/usr/bin目录下,是没有module这个命令的。 配置环境变量: source /data/software/module/tools/modules/init/profile.sh 接下来就可以使用module命令了:","s":"3. 配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/module","h":"#3-配置","p":750},{"i":759,"t":"假设待挂载盘符为/dev/sdb,挂载目录为/data 查看准备的磁盘: fdisk -l 创建磁盘分区: fdisk /dev/sdb ,依次输入:n, p, 1, 两次回车, wq 格式化磁盘: mkfs.ext4 /dev/sdb,输入:y 挂载磁盘: # 1. 建立挂载目录 mkdir -p /data # 2. 挂载硬盘 mount /dev/sdb /data # 3. 设置开机自动挂载 vim /etc/fstab # 在文档末尾添加 /dev/sdb /data ext4 defaults 0 0 # 4. 重启生效 reboot","s":"数据盘挂载","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/mount-disk","h":"","p":758},{"i":761,"t":"# # slurm.conf file. Please run configurator.html # (in doc/html) to build a configuration file customized # for your environment. # # # slurm.conf file generated by configurator.html. # Put this file on all nodes of your cluster. # See the slurm.conf man page for more information. # ################################################ # CONTROL # ################################################ ClusterName=cluster #集群名称 SlurmctldHost=manage01 #管理服务节点名称 SlurmctldPort=6817 #slurmctld服务端口 SlurmdPort=6818 #slurmd服务的端口 SlurmUser=slurm #slurm的主用户 #SlurmdUser=root #slurmd服务的启动用户 ################################################ # LOGGING & OTHER PATHS # ################################################ SlurmctldDebug=info SlurmctldLogFile=/var/log/slurm/slurmctld.log SlurmdDebug=info SlurmdLogFile=/var/log/slurm/slurmd.log SlurmctldPidFile=/var/run/slurmctld.pid SlurmdPidFile=/var/run/slurmd.pid SlurmdSpoolDir=/var/spool/slurmd StateSaveLocation=/var/spool/slurmctld ################################################ # ACCOUNTING # ################################################ AccountingStorageEnforce=associations,limits,qos #account存储数据的配置选项 AccountingStorageHost=manage01 #数据库存储节点 AccountingStoragePass=/var/run/munge/munge.socket.2 #munge认证文件,与slurmdbd.conf文件中的AuthInfo文件同名。 AccountingStoragePort=6819 #slurmd服务监听端口,默认为6819 AccountingStorageType=accounting_storage/slurmdbd #数据库记账服务 ################################################ # JOBS # ################################################ JobCompHost=localhost #作业完成信息的数据库本节点 JobCompLoc=slurm_acct_db #数据库名称 JobCompPass=123456 #slurm用户数据库密码 JobCompPort=3306 #数据库端口 JobCompType=jobcomp/mysql #作业完成信息数据存储类型,采用mysql数据库 JobCompUser=slurm #作业完成信息数据库用户名 JobContainerType=job_container/none JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/linux ################################################ # SCHEDULING & ALLOCATION # ################################################ SchedulerType=sched/backfill SelectType=select/cons_tres SelectTypeParameters=CR_Core ################################################ # TIMERS # ################################################ InactiveLimit=0 KillWait=30 MinJobAge=300 SlurmctldTimeout=120 SlurmdTimeout=300 Waittime=0 ################################################ # OTHER # ################################################ MpiDefault=none ProctrackType=proctrack/cgroup ReturnToService=1 SwitchType=switch/none TaskPlugin=task/affinity ################################################ # NODES # ################################################ NodeName=manage01 NodeAddr=192.168.29.106 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN NodeName=login01 NodeAddr=192.168.29.101 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN NodeName=compute0[1-2] NodeAddr=192.168.29.10[2-3] CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN ################################################ # PARTITIONS # ################################################ PartitionName=compute Nodes=compute0[1-2] Default=YES MaxTime=INFINITE State=UP","s":"slurm.conf 配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/config/slurm.conf","h":"","p":760},{"i":763,"t":"本方案以NFS作为共享存储。","s":"NFS安装和配置","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","h":"","p":762},{"i":765,"t":"选择一台机器作为NFS的服务端,例如选择服务节点manage01,IP为192.168.29.106。 安装NFS、RPC服务 yum install -y nfs-utils rpcbind 创建共享目录 # 此处需要执行权限 mkdir /data chmod 755 /data 提示 若需单独挂载一个磁盘作为共享目录,可参考该链接数据盘挂载 修改配置文件vim /etc/exports,添加如下内容 /data *(rw,sync,insecure,no_subtree_check,no_root_squash) 启动RPC,NFS服务 systemctl start rpcbind systemctl start nfs-server systemctl enable rpcbind systemctl enable nfs-server 查看服务端是否正常加载配置文件 showmount -e localhost # 有如下输出 Export list for localhost: /data *","s":"1. 安装NFS服务端","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","h":"#1-安装nfs服务端","p":762},{"i":767,"t":"需要使用共享存储的节点包括所有的登录节点和计算节点 提示 以下操作在所有登录节点和计算节点上执行 安装NFS客户端nfs-utils yum install nfs-utils -y 查看服务端可共享的目录 # 192.168.29.106为NFS服务端IP showmount -e 192.168.29.106 # 有如下输出 Export list for 192.168.29.106: /data * 挂载服务端共享目录 # 创建目录 mkdir /data #将共享存储/data 挂载至192.168.29.106服务器的/data目录下 mount 192.168.29.106:/data /data -o proto=tcp -o nolock # 设置开机自动挂载 vim /etc/fstab # 在文档末尾添加 192.168.29.106:/data /data nfs rw,auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0 查看挂载 df -h |grep data # 有如下输出 192.168.29.106:/data 79G 56M 75G 1% /data","s":"2. 客户端搭建","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","h":"#2-客户端搭建","p":762},{"i":769,"t":"测试 # 例如在NFS服务端节点(其他节点也可以)写入一个测试文件 echo \"hello nfs server\" > /data/test.txt cat /data/test.txt # 在服务端节点或客户端节点均可以查看以下内容 hello nfs server 创建目录 # 创建home目录作为用户家目录的集合,可自定义 mkdir /data/home # 创建software目录作为交互式应用的安装目录 mkdir /data/software","s":"3. 使用","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/nfs","h":"#3-使用","p":762},{"i":771,"t":"本次部署以1个服务节点、1个登录节点、2个计算节点为例,集群节规划如下: 主机名 IP 角色 配置 manage01 192.168.29.106 服务节点 2C4G login01 192.168.29.101 登录节点 2C4G compute01 192.168.29.102 计算节点 2C4G compute02 192.168.29.103 计算节点 2C4G 主要工具版本信息: 信息 备注 系统版本 CentOS 7.9 docker版本 19.03.12 slurm 22.05.3 docker-compose版本 2.7.0","s":"集群规划","u":"/SCOW/pr-preview/pr-1298/docs/hpccluster/plan","h":"","p":770},{"i":773,"t":"AI 系统能让您通过 Web 界面管理您在 AI 训练中的数据集、算法、模型,并通过镜像的方式来进行您的 AI 训练任务。 当前 AI 系统仍处于 Beta 版本,使用时如有任何疑问或建议,欢迎在 Github Issue 中反馈。","s":"AI 系统简介(Beta)","u":"/SCOW/pr-preview/pr-1298/docs/info/ai","h":"","p":772},{"i":775,"t":"数据集 个人数据集版本管理 公共数据集分享与使用 镜像 生成训练环境镜像 分享和使用公共镜像 算法 个人算法版本管理 公共算法分享与使用 作业 使用数据集、算法和镜像来快速进行作业训练 作业管理 模型 个人模型版本管理 公共模型分享与使用","s":"功能和特点","u":"/SCOW/pr-preview/pr-1298/docs/info/ai","h":"#功能和特点","p":772},{"i":777,"t":"SCOW是一个面向用户和运维人员的超算门户与管理系统。 超算门户使超算用户无需安装任何软件,只使用一个现代浏览器即可有效使用超算资源完成计算任务。 超算管理系统面向运维工作者,协助运营人员建立成熟的超算运营机制,管理超算的人员、费用等信息,帮助超算的运营工作。","s":"平台简介","u":"/SCOW/pr-preview/pr-1298/docs/info","h":"","p":776},{"i":779,"t":"门户功能 终端(Shell) 任务管理、提交 文件管理 远程桌面,GUI程序 管理系统功能 用户账户管理 计算资源计费收费(作业) 账户、用户限额 支持多集群 现代化的UI,优秀的用户体验 采用现代技术栈和部署方案,方便部署、维护、自定义和扩展","s":"功能和特点","u":"/SCOW/pr-preview/pr-1298/docs/info","h":"#功能和特点","p":776},{"i":781,"t":"访问地址:https://hpc.pku.edu.cn/demo/scow 用户名/密码 管理员:demo_admin / demo_admin 用户:demo_user / demo_user","s":"体验环境","u":"/SCOW/pr-preview/pr-1298/docs/info","h":"#体验环境","p":776},{"i":783,"t":"管理系统提供高性能计算集群常见的管理功能。","s":"管理系统简介","u":"/SCOW/pr-preview/pr-1298/docs/info/mis","h":"","p":782},{"i":785,"t":"在部署之前,请参考业务模型部分的文档了解系统的计费收费和用户模型。","s":"业务模型","u":"/SCOW/pr-preview/pr-1298/docs/info/mis","h":"#业务模型","p":782},{"i":787,"t":"门户系统给高性能计算集群的用户提供了一个基本web的功能入口。","s":"门户系统简介","u":"/SCOW/pr-preview/pr-1298/docs/info/portal","h":"","p":786},{"i":789,"t":"连接到登录节点的终端 作业管理、提交 文件管理 使用桌面节点的桌面 以GUI和Web形式启动计算作业,并在浏览器上使用软件","s":"支持的功能","u":"/SCOW/pr-preview/pr-1298/docs/info/portal","h":"","p":786},{"i":791,"t":"系统使用三级的用户模型:租户(tenant)、账户(account)、用户(user)。各级之间的关系如下图所示: 每个用户和账户属于且只属于一个租户,一个用户可以属于0个或者多个账户,每个用户在账户中的角色为用户、管理员或者拥有者之一,可另为租户和整个平台的租户管理员和财务人员(可均为)。 每个用户的用户名和账户名在整个平台的范围(注意,并非租户)中唯一。在所使用的认证系统支持的情况下,账户管理员、租户管理员可以创建用户。","s":"用户模型","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#用户模型-1","p":790},{"i":793,"t":"当前系统中页面展示的账户状态有:正常、封锁、欠费。 状态定义 解释 账户在集群中的状态 正常 账户未被封锁或冻结,且账户余额 大于 账户封锁阈值; 或者账户已存在于账户白名单 正常 封锁 账户已被租户管理员或平台管理员封锁 封锁 欠费 账户未被封锁或冻结,且账户余额 小于等于 账户封锁阈值 封锁 各状态间的转换条件如下:","s":"账户状态","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#账户状态","p":790},{"i":795,"t":"(1). 账户在白名单中: 不可进行封锁或解封操作 移出白名单时,判断账户余额,余额 大于 账户封锁阈值,状态变仍为正常 移出白名单时,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费 (2). 账户不在白名单中: 添加白名单:状态仍为正常 使用扣费或者修改账户封锁阈值后,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费 租户管理员或平台管理员主动封锁账户,状态变更为封锁","s":"1.账户处于正常状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#1账户处于正常状态时","p":790},{"i":797,"t":"添加白名单:状态变为正常 租户管理员或平台管理员主动解封账户,判断账户余额,余额 大于 账户封锁阈值,状态变更为正常 租户管理员或平台管理员主动解封账户,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费","s":"2.账户处于封锁状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#2账户处于封锁状态时","p":790},{"i":799,"t":"添加白名单:状态变为正常 对帐户充值或者修改账户封锁阈值后,余额 大于 账户封锁阈值,状态变更为正常 租户管理员或平台管理员主动封锁账户,状态变更为封锁","s":"3.账户处于欠费状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#3账户处于欠费状态时","p":790},{"i":801,"t":"当前系统中页面展示的用户在账户中的状态有:正常、封锁、限额。 状态定义 解释 用户在集群中的状态 正常 用户未被封锁时,1.未设置用户作业费用限额; 2.已设置用户作业费用限额,且用户已用额度 小于 用户限额 正常(账户在集群中未封锁) 封锁 用户已被账户管理员或账户拥有者封锁 封锁 限额 用户未被封锁,但已设置用户作业费用限额,且用户已用额度 大于等于 用户限额 封锁 各状态间的转换条件如下:","s":"用户在账户中的状态","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#用户在账户中的状态","p":790},{"i":803,"t":"未设置用户作业费用限额时,即使发生作业扣费,用户在账户中的状态也不发生变化,仍为正常 已设置用户作业费用限额,发生扣费使用户已用额度 小于 用户限额,状态仍然为正常;发生扣费使用户已用额度 大于等于 用户限额,用户在账户中的状态变更为限额 已设置用户作业费用限额,修改限额使用户已用额度 小于 用户限额,状态仍然为正常;修改限额使用户已用额度 等于 用户限额,用户在账户中的状态变更为限额 封锁用户时,用户在账户中的状态变更为封锁","s":"1.用户在账户中处于正常状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#1用户在账户中处于正常状态时","p":790},{"i":805,"t":"未设置用户作业费用限额时,账户管理员或拥有者主动解封用户后,用户在账户中的状态变更为正常 已设置用户作业费用限额,账户管理员或拥有者主动解封用户,判断限额,用户已用额度 小于 用户限额时,用户在账户中的状态变更为正常 已设置用户作业费用限额,账户管理员或拥有者主动解封用户,判断限额,用户已用额度 大于等于 用户限额时,用户在账户中的状态变更为限额 设置用户作业费用限额或修改作业费用限额时,不发生状态改变,状态仍为封锁","s":"2.用户在账户中处于封锁状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#2用户在账户中处于封锁状态时","p":790},{"i":807,"t":"账户管理员或拥有者主动封锁用户时,用户在账户中的状态变更为封锁 修改用户作业费用限额,使用户已用额度 等于 用户限额时,用户在账户中的状态仍为限额 修改用户作业费用限额,使用户已用额度 小于 用户限额时,用户在账户中的状态变更为正常 取消限额时,用户在账户中的状态变更为正常","s":"3.用户在账户中处于限额状态时:","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/users","h":"#3用户在账户中处于限额状态时","p":790},{"i":809,"t":"借助交互式应用功能,您可以直接在浏览器上使用集群资源在计算节点上启动应用,并通过浏览器使用这些应用。","s":"交互式应用","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","h":"","p":808},{"i":811,"t":"我们将交互式应用分为两类:Web和VNC。 Web类是指通过HTTP和WebSocket协议提供功能的应用,如VSCode, RStudio等; VNC类是指运行在桌面上的GUI程序,如Matlab等。系统通过VNC协议远程连接到启动这些应用的计算节点上的X Session中。 系统同时支持这两种应用。您只需要填写对应应用的配置,就可以让用户在浏览器上快速启动并连接到服务器类或者VNC类应用。","s":"交互式应用的分类","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","h":"#交互式应用的分类","p":808},{"i":813,"t":"参考配置交互式应用文档。","s":"配置","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/app","h":"#配置","p":808},{"i":815,"t":"借助作业功能,您可以直接在浏览器上点击提交作业来使用超算集群,提交成功后,可以在未结束作业中看到该作业的运行状态等详细信息,并在所有作业中看到作业的执行结果。","s":"作业","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","h":"","p":814},{"i":817,"t":"作业需在特定分区(队列)中运行,一般不同分区(队列)允许的资源不一样,比如单作业核数等。 我们将集群分区分为两类:CPU分区和GPU分区。 CPU分区是指仅提供CPU资源的分区; GPU分区是同时提供GPU资源和CPU资源的分区,其CPU核数根据GPU卡数按比例分配。 系统同时支持两种分区。您只需要在初始化系统时增加对应的配置,就可以让用户在浏览器提交作业时根据自己的需求选择不同的分区提交作业。分区与集群的配置详见集群配置文件。","s":"分区(队列)","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","h":"#分区队列","p":814},{"i":819,"t":"用于用户填写作业信息并提交到超算系统计算,同时支持将作业信息保存为模板方便后续使用。如下图所示,分别在CPU分区和GPU分区上提交作业作业。 如果使用GPU分区的节点,有区别的选项如下图(分区可能为其它名字而非GPU): 主要参数说明: 参数 说明 备注 集群 指定本次作业在哪个集群上运行 选项由集群配置文件里指定 作业名 为本次作业命名 - 命令 作业命令 - 账户 指定本次作业的扣款账户 选项为当前用户关联账户 分区 指定本次作业想要在哪个分区上计算 选项在集群配置文件里指定,分区的选择影响CPU/GPU相关参数 QOS 选择作业的服务质量 选项在集群配置文件里指定 节点数 申请的节点数 上限为当前分区节点数 单节点核心数 每个节点上申请的CPU核心数 CPU分区单节点核心数为输入值;如果是GPU分区,此选项不展示,通过计算得到:GPU分区单节点核心数=节点总核心数 *(单节点GPU卡数/单节点总GPU卡数) 单节点GPU卡数 每个节点上申请的GPU卡数 仅GPU分区展示 最长运行时间 本次作业的最长计算时间 - 工作目录 指定作业相关文件的存储路径 - 标准输出文件 指定作业标准输出文件的文件名 - 错误输出文件 指定作业错误输出文件的文件名 - 总节点数 申请的节点数 总节点数=节点数 总核心数 申请的总核心数 总核心数(CPU分区)=节点数 * 单节点核心数;总核心数(GPU分区)=节点数 * 单节点总核心数 *(单节点GPU卡数/单节点总GPU卡数) 总卡数 申请的GPU卡总数 仅GPU分区展示;总卡数 = 节点数 * 单节点GPU卡数 总内存容量 申请的总内存容数 总内存容量 = 节点数 * 单节点核心数 *(单节点内存数/单节点总核心数) 备注 备注信息 - 保存为模板 将本次作业保存为模板 - 生成的slurm调度器脚本中参数取值: 核心数 -c 取单节点核心数; 内存 --mem 取总内存容量; GPU卡数 --gres=gpu: 取单节点GPU卡数。 ※注意:上面的计算若未整除,结果皆向下取整。","s":"提交作业","u":"/SCOW/pr-preview/pr-1298/docs/info/portal/job","h":"#提交作业","p":814},{"i":821,"t":"系统目前采用一个独立的财务系统。 收费: 系统采用预付费制,每个租户和账户具有余额 平台管理员可以给租户增加余额,租户管理员可以给账户增加余额 在数据库中余额存储到小数点后4位,前台显示3位 计费: 系统的计费收费模型按照集群、分区和QOS进行收费 参考北大高性能平台收费标准设计 系统支持多级计费:平台对租户使用一个统一的收费标准,而租户可以自定义租户内的账户的费用标准 系统支持用户通过代码自定义收费规则","s":"计费收费","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","h":"","p":820},{"i":823,"t":"服务器会定期地从调度器适配器中获取已完成的作业信息,并根据规则对租户和账户进行扣费操作。 系统计费以费用项目 price item为基础,每个计费项有独特的ID以及价格,每个(集群,分区,QOS)项应该有一个独特的计费项。计费项一旦创建和分配不能被重新分配、修改或者删除,如果您想修改一个计费项的价格,您需要创建一个新的计费项。 费用项目的信息存放在数据库的job_price_item表中。每次需要计算价格时,服务器将会从数据库中取得所有计费项,并得到每个(集群,分区,QOS)的最新的计费规则。如果在集群配置文件的某个QOS不存在费用项,服务器将会报错。 每个作业的费用计算方法如下: 四舍五入(作业持续小时 (timeUsed / 3600) x 用量 x 所适用的费用项目的价格) 每个作业的用量由计费策略(amount)确定,支持的计费策略取值如下: amount 总量算法 cpusAlloc cpusAlloc gpu gpu max-cpusAlloc-mem max(cpusAlloc, 向上取整(memReq / (分区内存量/分区核心数))) max-gpu-cpusAlloc max(gpu, 向上取整(cpusAlloc / (分区核心数/分区gpu数))) 在计算过程中如果发现了其他策略,则整个作业的费用为0。","s":"计费规则","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","h":"#计费规则","p":820},{"i":825,"t":"您可以在系统初始化时或者以平台管理员身份登录系统后进入平台管理->编辑作业价格表,在网页上编辑作业价格表。 新的作业价格表将在下次获取作业时生效。","s":"从网页编辑作业价格表","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","h":"#从网�页编辑作业价格表","p":820},{"i":827,"t":"您可以创建一个config/priceItems.{json|yml|yaml}文件,定义(集群,分区,QOS)项以及对应的费用项目,服务器可以快速根据这些信息在数据库中创建费用项目。文件格式以及各个字段的解释请参考下列yaml文件的注释。 config/priceItems.yml config/priceItems.json default: # 默认规则,对所有集群和租户生效 hpc01: # 对hpc01集群的... compute: # compute分区的... low: # QOS为low的任务 id: HPC01 # 费用项目ID为HPC01 price: '1.00' # 基础价格为1.00,字符串形式 amount: 'cpusAlloc' # 计费策略,看上文 normal: id: HPC02 price: '2.00' amount: 'cpusAlloc' high: id: HPC03 price: '3.00' amount: 'cpusAlloc' GPU: # 如果整个分区的费用相同,您也可以给一整个分区定义一个费用项目 id: HPC04 price: '10.00' amount: 'cpusAlloc' tenant_1: # 对租户tenant_1的账户用户发起的任务,在默认规则的基础上,覆盖以下配置 hpc01: GPU: low: id: HPC07 # 对租户tenant_1的hpc01.GPU.low的任务,价格为12.00 price: '12.00' amount: 'cpusAlloc' { \"default\": { \"hpc01\": { \"compute\": { \"low\": { \"id\": \"HPC01\", \"price\": \"1.00\", \"amount\": \"cpusAlloc\" }, \"normal\": { \"id\": \"HPC02\", \"price\": \"2.00\", \"amount\": \"cpusAlloc\" }, \"high\": { \"id\": \"HPC03\", \"price\": \"3.00\", \"amount\": \"cpusAlloc\" } }, \"GPU\": { \"low\": { \"id\": \"HPC04\", \"price\": \"10.00\", \"amount\": \"cpusAlloc\" }, \"normal\": { \"id\": \"HPC05\", \"price\": \"20.00\", \"amount\": \"cpusAlloc\" }, \"high\": { \"id\": \"HPC06\", \"price\": \"30.00\", \"amount\": \"cpusAlloc\" } } } }, \"tenant_1\": { \"hpc01\": { \"GPU\": { \"low\": { \"id\": \"HPC07\", \"price\": \"12.00\", \"amount\": \"cpusAlloc\" } } } } } 注意事项: 每个计费项应该只出现一次。即使多个QOS费用相同,也应该定义两个计费项 数据库中不存在具有相同计费项名的行 在数据库正在运行、docker-compose.yml配置编写完成的条件下,运行以下命令快速在数据库中创建费用项信息: docker compose run mis-server createPriceItems","s":"快速创建计费规则","u":"/SCOW/pr-preview/pr-1298/docs/info/mis/business/billing","h":"#快速创建计费规则","p":820},{"i":829,"t":"您可以通过以下方式将您自己的工具和系统与SCOW系统集成: 自定义认证系统 使用自定义认证系统 实现自定义认证系统 SCOW API:通过编程调用SCOW的功能 SCOW Hook:监听SCOW的事件 UI扩展:将您的UI集成进SCOW","s":"与SCOW集成","u":"/SCOW/pr-preview/pr-1298/docs/integration","h":"","p":828},{"i":831,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己实现一个自定义认证服务。","s":"实现自定义认证系统","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"","p":830},{"i":833,"t":"SCOW中使用identityId标识一个用户,并同时使用此identityId作为用户在集群上的登录名。 用户登录后,认证系统应负责给当前登录用户的当前会话赋予一个Token,SCOW将会在每次需要认证的请求时使用token请求认证系统以获取用户的身份。 一个认证服务本质是一个实现了以下HTTP API的HTTP服务器。 请注意 以/public开头的API将会是用户可以直接访问的,其他的用户不可直接访问 所有响应和处于body位置的参数均为json格式","s":"基本概念","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#基本概念","p":830},{"i":836,"t":"发起登录。 请求​ 参数 位置 类型 是否必须 解释 callbackUrl querystring 字符串 是 登录完成后的回调地址。必须是一个合法的URL。 期望的响应​ 返回登录HTML或者重定向到实际的登录界面。 解释​ 此API用于进行实际的登录操作。用户点击登录后,系统将会重定向到这个URL。您可以选择自己实现一个登录页面,或者重定向到第三方登录认证的页面。 登录完成后,请返回一个重定向的请求到callbackUrl指定的URL,并附上querystring?token={您用来跟踪本用户的状态的token}。这些token的生成和保存您需要自己实现。后续的用户将会带着此token用于鉴权。 如果您在后端使用类似OAuth2的认证系统,这些认证系统登录完成后会给一个token用于跟踪用户状态并重定向到您指定的回调地址。对于这些系统,您应该自己实现一个单独的回调地址(且这些回调地址的URL必须以/public为前缀以使用户可以直接访问),在这些地址的处理函数中获取认证系统给予的token,并使用token进行后续的处理(例如生成自己的token,将这些token映射到用户等)。处理完成后,再回调到callbackUrl指定的URL。","s":"GET /public/auth","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-publicauth","p":830},{"i":838,"t":"验证token,返回对应的用户ID。SCOW将会在每次需要验证的请求发生时,使用登录时获取的token请求此API,所以请保证此API的性能。 请求​ 参数 位置 类型 是否必须 解释 token querystring 字符串 是 用户的token 期望的响应​ 200 OK​ 字段 类型 是否必须 解释 identityId 字符串 是 此token对应的用户的用户ID 400 Bad Request​ 字段 类型 是否必须 解释 code 字符串常量INVALID_TOKEN 是 INVALID_TOKEN:token无效","s":"GET /public/validateToken","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-publicvalidatetoken","p":830},{"i":840,"t":"无效化一个token。 请求​ 参数 位置 类型 是否必须 解释 token query 字符串 是 token 响应​ 状态码 内容 解释 204 无 操作完成。如果token不存在也应该返回这个状态码。 解释​ 此API用于无效化一个token。调用这个请求后,这个token将不应该继续能够通过GET /validateToken获得用户的信息。","s":"DELETE /token","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#delete-token","p":830},{"i":842,"t":"返回认证系统支持的能力。 请求​ 无。 期望的响应​ 200 OK​ 字段 类型 是否必须 解释 createUser boolean 否 此认证系统是否支持创建用户 getUser boolean 否 此认证系统是否支持查询用户 checkPassword boolean 否 此认证系统是否支持验证用户密码 changePassword boolean 否 此认证系统是否支持修改用户密码 accountUserRelation boolean 否 此认证系统是否支持管理用户账户关系 解释​ 此API用于认证系统声明自己的支持的能力。系统的其他部分将会根据此API的返回值选择性地选择是否显示某些功能。例如,如果changePassword为false或者为undefined,那么前端系统将会不显示修改密码的功能。","s":"GET /capabilities","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-capabilities","p":830},{"i":844,"t":"认证系统如果声明支持创建用户,则必须实现此部分的API。","s":"创建用户功能相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#创建用户功能相关api","p":830},{"i":846,"t":"创建用户。 请求​ 参数 位置 类型 是否必须 解释 identityId body 字符串 是 用户ID password body 字符串 是 密码 id body 整数 是 用户在数据库中的ID name body 字符串 是 用户姓名 mail body 字符串 是 用户邮箱 响应​ 状态码 内容 解释 204 无 创建完成 409 无 用户ID已经存在 501 无 不支持创建用户功能 解释​ 此API用于在认证系统中创建用户。当前,系统只支持通过管理系统创建用户。管理系统首先在自己的数据库中创建用户,然后请求认证系统创建用户。请求参数中的id即是数据库中这个新的用户的自增ID。如果认证系统返回非成功的返回值,管理系统将会撤回在数据库中的项。","s":"POST /user","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#post-user","p":830},{"i":849,"t":"获取已经存在的用户信息。目前只需要返回用户的ID。 请求​ 参数 位置 类型 是否必须 解释 identityId querystring 字符串 是 用户的ID 200 OK​ 字段 类型 是否必须 解释 user.identityId 字符串 是 用户的ID。和请求的identityId一致 user.name 字符串 否 用户的姓名。如果认证系统可以获取用户的姓名,则返回。如果不能获取,就不设置 user.mail 字符串 否 用户的邮箱。如果认证系统可以获取用户的邮箱,则返回。如果不能获取,就不设置 404 Not Found​ 字段 类型 是否必须 解释 code 字符串常量USER_NOT_FOUND 是 USER_NOT_FOUND:用户不存在 解释​ 此API可以获取用户的信息。此API也可以用于获取用户是否存在。","s":"GET /user","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-user","p":830},{"i":851,"t":"认证系统如果声明支持修改邮箱,则必须实现此部分的API。","s":"修改邮箱相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#修改邮箱相关api","p":830},{"i":853,"t":"修改邮箱。 请求​ 参数 位置 类型 是否必须 解释 identityId body 字符串 是 用户ID newEmail body 字符串 是 新邮箱 期望的响应​ 状态码 内容 解释 204 无 修改完成 404 无 用户未找到 501 无 不支持修改邮箱功能 解释​ 此API用于完成修改邮箱的功能。","s":"PATCH /user/email","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#patch-useremail","p":830},{"i":856,"t":"验证密码。 请求​ 参数 位置 类型 是否必须 解释 identityId query 字符串 是 用户ID password query 字符串 是 密码 200 OK​ 字段 类型 是否必须 解释 success 布尔值 是 验证结果 404 Not Found​ 字段 类型 是否必须 解释 code 字符串常量USER_NOT_FOUND 是 USER_NOT_FOUND:用户不存在 501​ 表示此功能在当前服务器配置下不可用,返回null。","s":"GET /checkPassword","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#get-checkpassword","p":830},{"i":858,"t":"认证系统如果声明支持修改密码,则必须实现此部分的API。","s":"修改密码相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#修改密码相关api","p":830},{"i":860,"t":"修改密码。 请求​ 参数 位置 类型 是否必须 解释 identityId body 字符串 是 用户ID newPassword body 字符串 是 新密码 期望的响应​ 状态码 内容 解释 204 无 修改完成 404 无 用户未找到 501 无 不支持修改密码功能 解释​ 此API用于完成修改密码的功能。","s":"PATCH /password","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#patch-password","p":830},{"i":862,"t":"认证系统如果声明支持管理用户账户关系,则必须实现此部分API。","s":"用户账户关系相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#用户账户关系相关api","p":830},{"i":864,"t":"在认证系统中创建账户。 请求​ 参数 位置 类型 是否必须 解释 accountName body 字符串 是 账户名 ownerUserId body 字符串 是 拥有者用户ID 期望的响应​ 状态码 内容 解释 204 无 创建成功","s":"POST /account","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#post-account","p":830},{"i":866,"t":"把用户加入账户中。 请求​ 参数 位置 类型 是否必须 解释 accountName path 字符串 是 账户名 userId body 字符串 是 用户ID 期望的响应​ 状态码 内容 解释 204 无 把用户加入账户成功","s":"POST /account/${accountName}/user","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#post-accountaccountnameuser","p":830},{"i":868,"t":"把用户从账户中删除。 请求​ 参数 位置 类型 是否必须 解释 accountName path 字符串 是 账户名 userId path 字符串 是 用户ID 期望的响应​ 状态码 内容 解释 204 无 删除用户成功","s":"DELETE /account/${accountName}/user/${userId}","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/impl","h":"#delete-accountaccountnameuseruserid","p":830},{"i":870,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己使用和实现一个自定义认证服务。","s":"使用自定义认证系统","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/use","h":"","p":869},{"i":872,"t":"您自己编写的自定义认证服务应该被打包为一个docker镜像,放在您部署所在机器可以访问的地址上。 修改安装配置文件的auth.custom部分以使用您的自定义认证服务。 install.yaml auth: custom: # 自定义认证系统类型 # external(使用外部系统) | image(使用自定义认证系统镜像),默认为 image type: image # 自定义外部认证系统配置 # 如果 type 为 external 则需要配置 external 选项,否则仍然使用默认认证系统 URL external: url: http://custom-url:port # 容器相关配置 image: # 自定义认证系统镜像名。必填 # imageName: my-custom-auth:v1.0 # 端口映射。可选 # ports: # - \"5000:5000\" # 更多挂载卷。可选 # 默认添加/etc/hosts:/etc/hosts和./config:/etc/scow # volumes: # - \"./myfile:/etc/myfile\" # 下列 image、ports、volumes 配置为老版本的配置,已过时,未来将会删除 # 兼容老版本,image 在老版本中为字符串 # 定义认证系统镜像名。必填 # image: my-custom-auth:v1.0 # 兼容老版本, 端口映射。可选 # ports: # - \"5000:5000\" # 兼容老版本, 更多挂载卷。可选 # 默认添加/etc/hosts:/etc/hosts和./config:/etc/scow # volumes: # - \"./myfile:/etc/myfile\" # 环境变量,可选。 # environment: # - DEBUG=log","s":"使用自定义认证服务","u":"/SCOW/pr-preview/pr-1298/docs/integration/auth/use","h":"#使用自定义认证服务","p":869},{"i":874,"t":"SCOW系统提供了一些数据统计相关的API,您可以通过这些API获取SCOW系统的一些统计数据。其中有部分API是以日期为维度进行的统计,您可以通过这些API获取x天内每一天的统计数据。但由于数据库里采用的是UTC时间,如果希望统计的维度和客户端一致,在使用这些API时,您需要注意时区的问题。","s":"数据统计相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","h":"","p":873},{"i":876,"t":"GetActiveUserCount:获取x天内每一天的用户登录次数 GetNewUserCount:获取x天内每一天的新用户注册数 GetNewJobCount:获取x天内每一天的新作业提交数 GetDailyCharge:获取x天内每一天的用户消费金额总计 GetDailyPay: 获取x天内每一天的用户充值金额总计","s":"相关API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","h":"#相关api","p":873},{"i":878,"t":"以上API在调用时都需要传timeZone参数,这个参数是用来指定统计的时区。如果不传timeZone参数,统计的时区默认为UTC。如果希望统计的维度和客户端一致,您需要传入timeZone参数。 timeZone参数请遵循以下格式指南: UTC偏移量: 使用格式+HH:MM或-HH:MM表示相对于UTC的偏移。例如,+08:00表示东八区。 时区名称: 使用具体的地理时区名称,如Asia/Shanghai或Europe/London。这些名称代表特定地区的标准时间。 请根据您的需求选择以上一种格式来指定时区。","s":"参数 TimeZone","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","h":"#参数-timezone","p":873},{"i":880,"t":"UTC-12:00 Etc/GMT+12 - -12:00 UTC-11:00 Pacific/Pago_Pago - -11:00 UTC-10:00 Pacific/Honolulu - -10:00 UTC-09:00 America/Anchorage - -09:00 UTC-08:00 America/Los_Angeles - -08:00 UTC-07:00 America/Denver - -07:00 UTC-06:00 America/Chicago - -06:00 UTC-05:00 America/New_York - -05:00 UTC-04:00 America/Caracas - -04:00 UTC-03:00 America/Argentina/Buenos_Aires - -03:00 UTC-02:00 Atlantic/South_Georgia - -02:00 UTC-01:00 Atlantic/Azores - -01:00 UTC+00:00 UTC - +00:00 UTC+01:00 Europe/Paris - +01:00 UTC+02:00 Europe/Athens - +02:00 UTC+03:00 Europe/Moscow - +03:00 UTC+04:00 Asia/Dubai - +04:00 UTC+05:00 Asia/Karachi - +05:00 UTC+06:00 Asia/Dhaka - +06:00 UTC+07:00 Asia/Bangkok - +07:00 UTC+08:00 Asia/Shanghai - +08:00 UTC+09:00 Asia/Tokyo - +09:00 UTC+10:00 Australia/Sydney - +10:00 UTC+11:00 Pacific/Noumea - +11:00 UTC+12:00 Pacific/Fiji - +12:00","s":"可用时区名称及UTC偏移量","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api/statistic","h":"#可用时区名称及utc偏移量","p":873},{"i":882,"t":"示例项目:https://github.com/PKUHPC/scow-go-demo","s":"Go示例","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"","p":881},{"i":884,"t":"您需要: 安装好Go语言开发工具链(Go语言官网) 安装Buf CLI(官网文档) 有一个Go项目 您可以通过go mod init命令,初始化一个Go项目,假设模块名为github.com/PKUHPC/scow-go-demo go mod init github.com/PKUHPC/scow-go-demo","s":"准备环境","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#准备环境","p":881},{"i":886,"t":"创建buf.gen.yaml文件,内容如下: buf.gen.yaml version: v1 managed: enabled: true go_package_prefix: # 项目模块名+生成路径(plugins中out) default: github.com/PKUHPC/scow-go-demo/gen/go except: - buf.build/googleapis/googleapis plugins: - plugin: buf.build/protocolbuffers/go out: gen/go opt: paths=source_relative - plugin: buf.build/grpc/go out: gen/go opt: paths=source_relative,require_unimplemented_servers=false 指定需要使用的SCOW的版本,生成代码 # 通过#后的参数确认SCOW和SCOW API版本,可输入 # SCOW API的版本号(tag=api-v0.3.0)(推荐,从v0.3.0版本开始可用) # SCOW的分支(branch=master) # SCOW Tag号(tag=v0.4.0) # 不写默认使用SCOW的master分支版本 buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0","s":"使用Buf获取Proto文件并生成代码","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#使用buf获取proto文件并生成代码","p":881},{"i":888,"t":"编写Go代码使用调用SCOW API的代码 api.go package main import ( \"context\" \"log\" \"github.com/PKUHPC/scow-go-demo/gen/go/server\" \"google.golang.org/grpc\" \"google.golang.org/grpc/credentials/insecure\" ) func main() { // 假设mis-server在192.168.88.100:7571上监听 conn, err := grpc.Dial(\"192.168.88.100:7571\", grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { panic(err) } // 生成AccountServiceClient client := server.NewAccountServiceClient(conn) // 调用`GetAccounts` RPC,获取所有账户 resp, err := client.GetAccounts(context.Background(), &server.GetAccountsRequest{}) if err != nil { panic(err) } log.Printf(\"Account list: %v\", resp) } 下载依赖并运行 go mod tidy go run api.go","s":"使用SCOW API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#使用scow-api","p":881},{"i":890,"t":"创建一个hook.go文件,实现HookServiceServer (protos/hook/hook.proto) hook.go package main import ( \"context\" \"log\" \"net\" \"github.com/PKUHPC/scow-go-demo/gen/go/hook\" \"google.golang.org/grpc\" \"google.golang.org/protobuf/encoding/protojson\" ) type MyHookServer struct{} func (s *MyHookServer) OnEvent(ctx context.Context, req *hook.OnEventRequest) (*hook.OnEventResponse, error) { log.Printf(\"Received event: %+v\", protojson.Format(req)) return &hook.OnEventResponse{}, nil } func main() { addr := \"0.0.0.0:5000\" lis, err := net.Listen(\"tcp\", addr) if err != nil { log.Fatalf(\"failed to listen: %v\", err) } var opts []grpc.ServerOption grpcServer := grpc.NewServer(opts...) server := MyHookServer{} hook.RegisterHookServiceServer(grpcServer, &server) log.Printf(\"Listening at %s\", addr) grpcServer.Serve(lis) } 下载依赖并运行 go mod tidy go run hook.go 修改config/common.yaml文件,配置Hook Server的地址 config/common.yaml scowHook: url: localhost:5000 重启SCOW。当SCOW有相关事件发生时,SCOW会调用Hook Server。","s":"实现并注册SCOW Hook","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/examples/go","h":"#实现并注册scow-hook","p":881},{"i":892,"t":"SCOW系统总体来说分为前端和后端部分(架构),SCOW的前端和后端部分使用gRPC进行通信。 要使用SCOW API,您需要 获取SCOW Protobuf文件并生成相关代码 编写程序,调用gRPC API与SCOW的后端部分组件mis-server, portal-server, audit-server交互","s":"SCOW API","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"","p":891},{"i":894,"t":"部署好的系统的后端服务容器mis-server, portal-server, audit-server位于docker compose创建的网络中,从外界无法直接访问mis-server, portal-server和audit-server服务。 要想访问这些服务,您需要通过install.yaml将主机上的端口映射到mis-server, portal-server和audit-server服务的5000端口中。配置完成后,您可以从部署SCOW的机器上通过定义的IP和端口与对应的服务交互。 portal: portMappings: # portal-server的5000端口映射到127.0.0.1:7572 portalServer: \"127.0.0.1:7572\" mis: portMappings: # mis-server的5000端口映射到127.0.0.1:7571 misServer: \"127.0.0.1:7571\" audit: portMappings: # audit-server的5000端口映射到127.0.0.1:7573 auditServer: \"127.0.0.1:7573\"","s":"打开后端服务网络接口","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#打开后端服务网络接口","p":891},{"i":896,"t":"默认情况下,mis-server和portal-server的gRPC调用并不认证请求,任何用户都可以直接调用mis-server和portal-server的API。 在不认证的情况下,如果您在映射端口时直接输入端口号(如7571不是127.0.0.1:7571),由于在同一个集群中各个节点的网络是互通的,则在同一个集群中的其他作业可能可以直接访问SCOW的gRPC后端,进而直接操作SCOW系统的数据,造成安全隐患。所以我们建议: 不将SCOW服务节点用作集群的登录节点或者计算节点 在映射端口时输入127.0.0.1:7571,使映射出的端口只能在SCOW服务节点上使用 给SCOW服务节点设置好防火墙,防止集群内部的服务访问到SCOW服务 您也可以配置服务器端认证。当打开了认证后,任何没有通过认证的请求将会收到UNAUTHENTICATED响应。","s":"API认证","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#api认证","p":891},{"i":898,"t":"您也可以配置服务器使用静态Token认证。 在config/common.yaml中增加以下配置: config/common.yaml scowApi: auth: token: <秘密字符串,越长越好> 当配置好后,任何到服务器的请求都必须带有authorization header,其内容为Bearer <秘密字符串>。 门户系统和管理系统前端发送到服务器的请求将会自动带有这个header,无需单独配置。","s":"静态Token认证","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#静态token认证","p":891},{"i":900,"t":"Go","s":"实际项目示例","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/api","h":"#实际项目示例","p":891},{"i":902,"t":"如果用户配置了SCOW Hook,那么SCOW在发生一些事件时,会通过SCOW Hook调用监听的Hook服务器。您可以通过SCOW Hook监听SCOW中发生的事件,并自己进行一些后续处理。 会调用Hook的事件请参考protos/hook/hook.proto文件中OnEventRequest消息的message属性。 要使用SCOW Hook,您需要: 获取SCOW Protobuf文件并生成代码 根据hook目录下的proto文件实现其中定义的gRPC服务 启动您的gRPC服务器 在SCOW中配置SCOW Hook功能 config/common.yaml scowHook: # 启用SCOW Hook功能,默认为true # enabled: true # 若您只有一个hook,您可以直接使用url属性,并填入您的Hook的地址 url: 您的gRPC服务器的地址 # 若您有多个hook,则可以使用hooks属性,逐个填入您的地址。 # 若您填写了hooks,则url属性将会被忽略 hooks: - name: hook-name-1 # hook名,可选,若填写了,则在日志中可以看到被调用的hook的名字 url: hook 1地址 # hook服务器端地址 - name: hook-name-2 url: hook 2地址 重启SCOW","s":"SCOW Hook","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","h":"","p":901},{"i":904,"t":"请注意,SCOW的服务器是运行在容器中的,通过localhost无法访问到运行到SCOW节点上的服务。当设定hook的URL时,请使用服务在您的局域网中的地址。 如果您不确定一个地址是否能从容器中连接,您可以手动在容器中运行ping等命令尝试是否能到达您的Hook服务: ./cli compose exec mis-server sh ping 您的gRPC服务器的地址","s":"SCOW服务连接到Hook服务","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","h":"#scow服务连接到hook服务","p":901},{"i":906,"t":"Go","s":"实际项目示例","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/hook","h":"#实际项目示例","p":901},{"i":908,"t":"警告 实验性功能! 如果您需要在SCOW的界面中增加更多的页面,您可以开发自己的UI,并通过UI扩展功能将您的UI集成进SCOW的UI中。这样,您的用户在访问您自己的页面时,也可以获得与访问SCOW的功能一致的体验。 下图为一个UI扩展演示。演示中的UI扩展增加了一个顶级导航项,并在下面增加了两个二级导航项。 第一个二级导航项显示了一个登录界面,其获取了SCOW的登录用户的token,并与SCOW的国际化和黑暗模式相同步。此导航项的图标也是由UI扩展自己提供。 第二个二级导航项是一个至GitHub的链接","s":"UI扩展 (Beta)","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","h":"","p":907},{"i":910,"t":"请参考开发UI扩展。","s":"开发UI扩展","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","h":"#开发ui扩展","p":907},{"i":912,"t":"当您的扩展站开发并部署完成后,请在config/portal.yaml和/或config/mis.yaml中增加以下内容,以开启SCOW UI扩展。 如果您在门户系统或者管理系统中仅使用一个UI扩展,可使用以下配置。您将可以使用{SCOW URL}/extensions访问到此UI扩展。 config/{portal,mis}.yaml uiExtension: # 您的UI扩展页部署URL。 url: http://localhost:16566/basepath 如果您在门户系统或者管理系统中需使用多个UI扩展,请使用以下配置。您将可以使用{SCOW URL}/extensions/{name}访问到对应名称的UI扩展。同一份配置文件中的多个UI扩展名称之间的名称不可重复。 config/{portal,mis}.yaml uiExtension: - # 这个UI扩展的名称 name: extension1 # 您的此UI扩展页部署URL url: http://localhost:16566/basepath - # 这个UI扩展的名称 name: extension2 # 您的此UI扩展页部署URL url: http://localhost:16567/basepath","s":"配置SCOW使用UI扩展","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension","h":"#配置scow使用ui扩展","p":907},{"i":914,"t":"SCOW API和Hook的数据结构和服务都通过Protocol Buffer格式统一定义并分发。要想使用SCOW API和Hook,您需要首先获取proto文件,通过proto文件生成您对应的语言的代码,然后才能进行开发。","s":"SCOW Protobuf文件","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"","p":913},{"i":916,"t":"我们将SCOW API和Hook的proto文件放到了代码仓库中,您可以直接从代码仓库中获取。代码仓库中protos目录下则为proto文件:master分支protos目录链接 proto文件分为common, portal, server, audit和hook。其中, common中定义了公用的数据结构 portal定义了门户系统的SCOW API。portal-server门户系统后端实现了portal中定义的服务,您可以通过portal下的文件与portal-server交互 server定义了管理系统的SCOW API。mis-server管理系统后端实现了server中定义的服务,您可以通过server下的文件与mis-server交互 audit定义了审计系统的SCOW API。audit-server审计系统系统后端实现了audit中定义的服务,您可以通过audit下的文件与audit-server交互 hook定义了SCOW Hook的事件和服务。portal-server和mis-server将会通过hook下的文件与您配置的SCOW Hook服务器交互 除了直接从代码仓库中获取,我们更推荐使用工具获取Protobuf文件。您可以通过以下方式获取到SCOW的Protobuf文件","s":"获取Proto文件","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#获取proto文件","p":913},{"i":918,"t":"Buf是一个管理gRPC API和proto文件的一站式工具,可完成获取文件、生成代码等常见功能。我们推荐通过使用Buf直接从GitHub上获取代码并生成您的语言的模板的代码的工作。 # 使用本地buf.gen.yaml生成模板,使用v0.3.0版本的SCOW API(v0.3.0开始可以通过此方式,推荐) buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0 # 使用本地buf.gen.yaml生成模板,使用SCOW仓库的master分支的代码对应的SCOW API buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=master 详细的示例请参考: Go","s":"1. 使用Buf获取和生成代码(推荐)","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#1-使用buf获取和生成代码推荐","p":913},{"i":920,"t":"您可以通过npm从npmjs.org上获取任意版本的proto文件 # 最新版本的API文件 npm install -g @scow/grpc-api # 特定版本(0.1.2)的API npm install -g @scow/grpc-api@0.1.2 # 安装好后,可以去npm的全局模块的目录中查找到这个包,并获取内部的文件 cd $(npm root -g)/@scow/grpc-api # 如果您使用npm对您的项目进行依赖管理,则可以在您的项目中安装此包,并直接在此包的node_modules中获取到proto文件 npm install --save @scow/grpc-api cd node_modules/@scow/grpc-api","s":"2. 通过npm获取proto文件","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#2-通过npm获取proto文件","p":913},{"i":922,"t":"我们通过npm以及package.json文件对API版本进行控制。当前的版本为: API的版本通过@scow/grpc-api包的版本进行定义。SCOW gRPC API版本控制原则: 不影响API的修改,例如lint文件:提高PATCH号 修改了API,但是兼容当前的API:提高MINOR号 不兼容已有的配置文件,提高MAJOR版本 当前,我们并不保证新版本SCOW对老版本API的兼容性。SCOW每次发布版本时,会同时公布此版本支持的SCOW API的版本号。","s":"API版本控制","u":"/SCOW/pr-preview/pr-1298/docs/integration/scow-api-hook/proto","h":"#api版本控制","p":913},{"i":924,"t":"SCOW多集群部署架构如下图所示: 提示 SCOW主要服务包括portal、mis、auth、gateway、db、audit、cli,支持多HPC集群管理,支持多种调度器(Slurm/CraneSched/K8S)。待接入的HPC集群需满足如下条件: 所有集群都必须使用同一个LDAP; 每个HPC集群NFS路径需相同,例如用户Home目录都为/data/home,软件安装目录都为/data/software。 SCOW多集群管理设置: 在每个集群管理节点上启动一个适配器服务; 每个集群有一个集群配置文件,即在config/clusters目录下每个集群有一个配置文件; 支持每个集群独立的交互式应用配置,也支持所有集群使用全局交互式应用配置。 SCOW接入多集群部署,与接入一个集群的区别主要在于: (1) 每个slurm集群有一个集群配置文件,即在config/clusters目录下每个集群有一个配置文件,如下所示: # 集群显示名称 displayName: hpc01 #登录节点配置 loginNodes: - name: hpc01_login01 address: hpc01_login01 #适配器url配置 adapterUrl: \"192.168.188.102:8999\" 提示 每个集群配置文件请按照该集群的实际情况修改配置。 (2) 各集群独立的交互式应用配置文件位于config/clusters/{clusterID}/apps目录下。也可以使用全局交互式应用配置,目录为config/apps(独立的优先级高于全局的)。","s":"多集群管理","u":"/SCOW/pr-preview/pr-1298/docs/multi_cluster","h":"","p":923},{"i":926,"t":"本部分为自动生成的配置参考。","s":"配置参考","u":"/SCOW/pr-preview/pr-1298/docs/refs","h":"","p":925},{"i":928,"t":"要使用UI扩展,您首先需要开发并构建一个从外界可以访问的网站(称为扩展站)。您可以使用任何技术开发、维护和部署此网站,只需要满足您的用户可以通过直接公网访问即可。","s":"开发UI扩展","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","h":"","p":927},{"i":930,"t":"SCOW会在访问扩展页和调用某些配置接口时,将以下参数作为查询字符串(querystring)加入访问的URL,UI扩展可以通过这些参数获取当前SCOW系统的信息。具体哪些页面/API会传递这些参数会在具体章节里提到。 参数 取值 解释 scowDark \"true\" | \"false\" 当前SCOW是否以黑暗主题显示 scowUserToken string | undefined 当前SCOW的登录用户的token。可通过SCOW认证系统接口查询登录用户 scowLangId string 当前SCOW显示所使用的语言ID","s":"上下文参数","u":"/SCOW/pr-preview/pr-1298/docs/integration/ui-extension/develop","h":"#上下文参数","p":927},{"i":932,"t":"UI扩展的功能应实现为标准的网页。当访问SCOW的扩展路径时,SCOW将会在外层显示SCOW的基础导航结构,并在页面主要部分使用一个