diff --git a/docs/iframe.html b/docs/iframe.html index 3155c5f..8e976fc 100644 --- a/docs/iframe.html +++ b/docs/iframe.html @@ -352,4 +352,4 @@ import './9938.e31f6935.iframe.bundle.js'; - import './main.b73c7f2e.iframe.bundle.js'; \ No newline at end of file + import './main.9ae90353.iframe.bundle.js'; \ No newline at end of file diff --git a/docs/main.9ae90353.iframe.bundle.js b/docs/main.9ae90353.iframe.bundle.js new file mode 100644 index 0000000..d299f83 --- /dev/null +++ b/docs/main.9ae90353.iframe.bundle.js @@ -0,0 +1 @@ +(self.webpackChunkdashboard_storybook=self.webpackChunkdashboard_storybook||[]).push([[8792],{"../shell/store/growl.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{o1:()=>actions,rS:()=>getters,z4:()=>mutations});var _shell_utils_array__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../shell/utils/array.ts"),_shell_utils_error__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../shell/utils/error.js");const getters={find:state=>({key,val})=>(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.jq)(state.stack,key,val)},mutations={add(state,data){state.stack=[...state.stack,{id:state.nextId++,started:(new Date).getTime(),...data}]},remove(state,id){const obj=(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.jq)(state.stack,"id",id);obj&&(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.Gj)(state.stack,obj)},clear(state){(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.IU)(state.stack)}},actions={clear({commit}){commit("clear")},remove({commit},id){commit("remove",id)},success({commit},data){commit("add",{color:"success",icon:"checkmark",timeout:5e3,...data})},info({commit},data){commit("add",{color:"info",icon:"info",timeout:5e3,...data})},warning({commit},data){commit("add",{color:"warning",icon:"warning",timeout:5e3,...data})},error({commit},data){commit("add",{color:"error",icon:"error",timeout:0,...data})},fromError({commit},{title,err}){commit("add",{color:"error",icon:"error",timeout:0,title,message:(0,_shell_utils_error__WEBPACK_IMPORTED_MODULE_1__.As)(err)})}}},"../shell/utils/error.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{As:()=>stringify});__webpack_require__("../shell/utils/array.ts");Error;Error;Error;function stringify(err){let str;if("string"==typeof err)str=err;else if(err&&"object"==typeof err)if(err.message){if(str=err.message,"string"==typeof str)try{const data=JSON.parse(str).data;if(data)return data}catch{}err.detail&&(str?str+=` (${err.detail})`:str=err.detail)}else err.detail?str=err.detail:err.url&&(str=`from ${err.url}`);return str||(str=JSON.stringify(err)),str}},"../shell/utils/object.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Jt:()=>get,n4:()=>isEqualBasic,o8:()=>clone});var lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../node_modules/lodash/cloneDeep.js"),lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0__),jsonpath_plus__WEBPACK_IMPORTED_MODULE_3__=(__webpack_require__("../node_modules/lodash/flattenDeep.js"),__webpack_require__("../node_modules/lodash/compact.js"),__webpack_require__("../node_modules/jsonpath-plus/dist/index-browser-esm.js")),_shell_utils_string__WEBPACK_IMPORTED_MODULE_9__=(__webpack_require__("../node_modules/lodash/transform.js"),__webpack_require__("../node_modules/lodash/isObject.js"),__webpack_require__("../node_modules/lodash/isArray.js"),__webpack_require__("../node_modules/lodash/isEqual.js"),__webpack_require__("../node_modules/lodash/difference.js"),__webpack_require__("../shell/utils/string.js"));__webpack_require__("../shell/utils/array.ts");function get(obj,path){if(!path)throw new Error("Cannot translate an empty input. The t function requires a string.");if(path.startsWith("$"))try{return(0,jsonpath_plus__WEBPACK_IMPORTED_MODULE_3__.E)({path,json:obj,wrap:!1})}catch(e){return console.log("JSON Path error",e,path,obj),"(JSON Path err)"}if(!path.includes("."))return obj?.[path];const parts=(0,_shell_utils_string__WEBPACK_IMPORTED_MODULE_9__.jg)(path);for(let i=0;i{"use strict";function ucFirst(str){return(str=str||"").substr(0,1).toUpperCase()+str.substr(1)}function strPad(str,toLength,padChars=" ",right=!1){if((str=`${str}`).length>=toLength)return str;const neededLen=toLength-str.length+1,padStr=new Array(neededLen).join(padChars).substr(0,neededLen);return right?str+padStr:padStr+str}__webpack_require__.d(__webpack_exports__,{DZ:()=>strPad,Kn:()=>nlToBr,LQ:()=>CHARSET,TF:()=>ucFirst,VN:()=>random32,XC:()=>asciiLike,ZD:()=>escapeHtml,_k:()=>dasherize,jg:()=>splitObjectPath,l9:()=>formatPercent,vx:()=>randomStr});const entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function escapeHtml(html){return String(html).replace(/[&<>"']/g,(s=>entityMap[s]))}function random32(count){count=Math.max(0,count||1);const out=[];let i;if(window.crypto&&window.crypto.getRandomValues){const tmp=new Uint32Array(count);for(window.crypto.getRandomValues(tmp),i=0;i?|"};function randomStr(length=16,chars=CHARSET.ALPHA_NUM){return chars&&chars.length?random32(length).map((val=>chars[val%chars.length])).join(""):null}function formatPercent(value,maxPrecision=2){return value<1&&maxPrecision>=2?Math.round(100*value)/100+"%":value<10&&maxPrecision>=1?Math.round(10*value)/10+"%":`${Math.round(value)}%`}const decamelizeRegex=/([a-z\d])([A-Z])/g;const dasherizeRegex=/[ _]/g;function dasherize(str){return function decamelize(str){return str.replace(decamelizeRegex,"$1_$2").toLowerCase()}(str).replace(dasherizeRegex,"-")}function asciiLike(str){return!(str=str||"").match(/[^\r\n\t\x20-\x7F]/)}function nlToBr(value){return escapeHtml(value||"").replace(/(\r\n|\r|\n)/g,"
\n")}const quotedMatch=/[^."']+|"([^"]*)"|'([^']*)'/g;function splitObjectPath(path){return path.includes('"')||path.includes("'")?path.match(quotedMatch).map((x=>x.replace(/['"]/g,""))):path.split(".")}},"./.storybook/preview.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{decorators:()=>decorators,default:()=>_storybook_preview});var dist=__webpack_require__("./node_modules/@storybook/vue3/dist/index.mjs"),vue_select_es=__webpack_require__("./node_modules/vue-select/dist/vue-select.es.js"),floating_vue=__webpack_require__("./node_modules/floating-vue/dist/floating-vue.mjs");const floatingVueOptions={themes:{tooltip:{html:!0}}};var esm=__webpack_require__("./node_modules/@storybook/theming/dist/esm/index.js"),external_STORYBOOK_MODULE_ADDONS_=__webpack_require__("@storybook/addons");var decorator=__webpack_require__("./node_modules/storybook-auto-events/decorator.js"),dist_floating_vue=__webpack_require__("../node_modules/floating-vue/dist/floating-vue.mjs"),purify=__webpack_require__("../node_modules/dompurify/dist/purify.js"),purify_default=__webpack_require__.n(purify),array=__webpack_require__("../shell/utils/array.ts");const ALLOWED_TAGS=["code","li","a","p","b","br","ul","pre","span","div","i","em","strong","h1","h2","h3","h4","h5","h6","table","thead","tr","th","tbody","td","blockquote"];purify_default().addHook("uponSanitizeAttribute",((node,data)=>{"A"===node.tagName&&"target"===data.attrName&&"_blank"===data.attrValue&&(data.forceKeepAttr=!0)})),purify_default().addHook("afterSanitizeAttributes",(node=>{if("A"===node.tagName&&"_blank"===node?.target){const rel=["noopener","noreferrer","nofollow"],existingRel=node.rel?.length?node.rel.split(" "):[],combined=(0,array.sb)([...rel,...existingRel]);node.setAttribute("rel",combined.join(" "))}}));const purifyHTML=(value,options={ALLOWED_TAGS})=>purify_default().sanitize(value,options);function bind(el,{value,oldValue,modifiers}){const purifiedValue=function purifyContent(value){const type=typeof value;return"string"===type?purifyHTML(value):value&&"object"===type&&"string"==typeof value.content?{...value,content:purifyHTML(value.content)}:value}(value);dist_floating_vue.yw.bind(el,{value:purifiedValue,oldValue,modifiers})}const clean_tooltip={...dist_floating_vue.yw,bind,update:bind};__webpack_require__("../node_modules/element-matches/index.js"),__webpack_require__("../node_modules/custom-event-polyfill/polyfill.js");var process=__webpack_require__("./node_modules/process/browser.js");const ShortKey={},mapFunctions={};let objAvoided=[],elementAvoided=[],keyPressed=!1;const parseValue=value=>(value="string"==typeof value?JSON.parse(value.replace(/\'/gi,'"')):value)instanceof Array?{"":value}:value,bindValue=(value,el,binding,vnode)=>{const push=!0===binding.modifiers.push,avoid=!0===binding.modifiers.avoid,focus=!0==!binding.modifiers.focus,once=!0===binding.modifiers.once,propagte=!0===binding.modifiers.propagte;avoid?(objAvoided=objAvoided.filter((itm=>!itm===el)),objAvoided.push(el)):mappingFunctions({b:value,push,once,focus,propagte,el:vnode.el})},unbindValue=(value,el)=>{for(const key in value){const k=ShortKey.encodeKey(value[key]),idxElm=mapFunctions[k].el.indexOf(el);mapFunctions[k].el.length>1&&idxElm>-1?mapFunctions[k].el.splice(idxElm,1):delete mapFunctions[k]}};ShortKey.install=(Vue,options)=>{elementAvoided=[...options&&options.prevent?options.prevent:[]],Vue.directive("shortkey",{beforeMount:(el,binding,vnode)=>{const value=parseValue(binding.value);bindValue(value,el,binding,vnode)},updated:(el,binding,vnode)=>{const oldValue=parseValue(binding.oldValue);unbindValue(oldValue,el);const newValue=parseValue(binding.value);bindValue(newValue,el,binding,vnode)},unmounted:(el,binding)=>{const value=parseValue(binding.value);unbindValue(value,el)}})},ShortKey.decodeKey=pKey=>createShortcutIndex(pKey),ShortKey.encodeKey=pKey=>{const shortKey={};shortKey.shiftKey=pKey.includes("shift"),shortKey.ctrlKey=pKey.includes("ctrl"),shortKey.metaKey=pKey.includes("meta"),shortKey.altKey=pKey.includes("alt");let indexedKeys=createShortcutIndex(shortKey);return indexedKeys+=pKey.filter((item=>!["shift","ctrl","meta","alt"].includes(item))).join(""),indexedKeys};const createShortcutIndex=pKey=>{let k="";return("Shift"===pKey.key||pKey.shiftKey)&&(k+="shift"),("Control"===pKey.key||pKey.ctrlKey)&&(k+="ctrl"),("Meta"===pKey.key||pKey.metaKey)&&(k+="meta"),("Alt"===pKey.key||pKey.altKey)&&(k+="alt"),"ArrowUp"===pKey.key&&(k+="arrowup"),"ArrowLeft"===pKey.key&&(k+="arrowleft"),"ArrowRight"===pKey.key&&(k+="arrowright"),"ArrowDown"===pKey.key&&(k+="arrowdown"),"AltGraph"===pKey.key&&(k+="altgraph"),"Escape"===pKey.key&&(k+="esc"),"Enter"===pKey.key&&(k+="enter"),"Tab"===pKey.key&&(k+="tab")," "===pKey.key&&(k+="space"),"PageUp"===pKey.key&&(k+="pageup"),"PageDown"===pKey.key&&(k+="pagedown"),"Home"===pKey.key&&(k+="home"),"End"===pKey.key&&(k+="end"),"Delete"===pKey.key&&(k+="del"),"Backspace"===pKey.key&&(k+="backspace"),"Insert"===pKey.key&&(k+="insert"),"NumLock"===pKey.key&&(k+="numlock"),"CapsLock"===pKey.key&&(k+="capslock"),"Pause"===pKey.key&&(k+="pause"),"ContextMenu"===pKey.key&&(k+="contextmenu"),"ScrollLock"===pKey.key&&(k+="scrolllock"),"BrowserHome"===pKey.key&&(k+="browserhome"),"MediaSelect"===pKey.key&&(k+="mediaselect"),(pKey.key&&" "!==pKey.key&&1===pKey.key.length||/F\d{1,2}|\//g.test(pKey.key))&&(k+=pKey.key.toLowerCase()),k},dispatchShortkeyEvent=pKey=>{const e=new CustomEvent("shortkey",{bubbles:!1});mapFunctions[pKey].key&&(e.srcKey=mapFunctions[pKey].key);const elm=mapFunctions[pKey].el;mapFunctions[pKey].propagte?elm.forEach((elmItem=>elmItem.dispatchEvent(e))):elm[elm.length-1].dispatchEvent(e)};ShortKey.keyDown=pKey=>{(!mapFunctions[pKey].once&&!mapFunctions[pKey].push||mapFunctions[pKey].push&&!keyPressed)&&dispatchShortkeyEvent(pKey)},process&&process.env&&(document.addEventListener("keydown",(pKey=>{const decodedKey=ShortKey.decodeKey(pKey);if(availableElement(decodedKey))if(mapFunctions[decodedKey].propagte||(pKey.preventDefault(),pKey.stopPropagation()),mapFunctions[decodedKey].focus)ShortKey.keyDown(decodedKey),keyPressed=!0;else if(!keyPressed){const elm=mapFunctions[decodedKey].el;elm[elm.length-1].focus(),keyPressed=!0}}),!0),document.addEventListener("keyup",(pKey=>{const decodedKey=ShortKey.decodeKey(pKey);availableElement(decodedKey)&&(mapFunctions[decodedKey].propagte||(pKey.preventDefault(),pKey.stopPropagation()),(mapFunctions[decodedKey].once||mapFunctions[decodedKey].push)&&dispatchShortkeyEvent(decodedKey)),keyPressed=!1}),!0));const mappingFunctions=({b,push,once,focus,propagte,el})=>{for(const key in b){const k=ShortKey.encodeKey(b[key]),elm=mapFunctions[k]&&mapFunctions[k].el?mapFunctions[k].el:[],propagated=mapFunctions[k]&&mapFunctions[k].propagte;elm.push(el),mapFunctions[k]={push,once,focus,key,propagte:propagated||propagte,el:elm}}},availableElement=decodedKey=>{const objectIsAvoided=!!objAvoided.find((r=>r===document.activeElement)),filterAvoided=!!elementAvoided.find((selector=>document.activeElement&&document.activeElement.matches(selector)));return!!mapFunctions[decodedKey]&&!(objectIsAvoided||filterAvoided)},shortkey=ShortKey,clean_html={mounted(el,binding){el.innerHTML=purifyHTML(binding.value)},updated(el,binding){el.innerHTML=purifyHTML(binding.value)},unmounted(el){el.innerHTML=""}};var vuex_esm_bundler=__webpack_require__("./node_modules/vuex/dist/vuex.esm-bundler.js"),object=__webpack_require__("../shell/utils/object.js"),lib=__webpack_require__("./node_modules/intl-messageformat/lib/index.js");const growl={namespaced:!0,state:{stack:[{id:1,color:"success",icon:"checkmark",timeout:5e3,title:"Success",message:"This is a success message"},{id:2,color:"info",icon:"info",timeout:5e3,title:"Info",message:"This is an info message"},{id:3,color:"warning",icon:"warning",timeout:5e3,title:"Warning",message:"This is an warning message"},{id:4,color:"error",icon:"error",timeout:5e3,title:"Warning",message:"This is an warning message"}]},getters:__webpack_require__("../shell/store/growl.js").rS,actions:__webpack_require__("../shell/store/growl.js").o1,mutations:__webpack_require__("../shell/store/growl.js").z4},i18nStrings=__webpack_require__("../shell/assets/translations/en-us.yaml"),store=(0,vuex_esm_bundler.y$)({getters:{"i18n/exists":key=>store.getters["i18n/t"],"i18n/t":state=>(key,args)=>{const msg=(0,object.Jt)(i18nStrings,key)||key;if(msg?.includes("{")){return new lib.Ay(msg,state.selected).format(args)}return msg}},modules:{growl,codeMirror:{namespaced:!1,state:{},getters:{"prefs/get":()=>()=>"sublime","prefs/theme":()=>"light"},actions:{},mutations:{}},table:{namespaced:!1,state:{},getters:{"resource-fetch/manualRefreshIsLoading":()=>null,"resource-fetch/isTooManyItemsToAutoUpdate":()=>!1},actions:{},mutations:{}}}}),_storybook_store=store;var string=__webpack_require__("../shell/utils/string.js"),vue_esm_bundler=__webpack_require__("./node_modules/vue/dist/vue.esm-bundler.js"),dist_vuex_esm_bundler=__webpack_require__("../node_modules/vuex/dist/vuex.esm-bundler.js");function stringFor(store,key,args,raw=!1,escapehtml=!0){const translation=store.getters["i18n/t"](key,args);let out;if(void 0!==translation)out=translation;else if(args&&Object.keys(args).length){out=`%${key}(${Object.keys(args).map((k=>`${k}: ${args[k]}`)).join(", ")})%`,raw=!0}else out=`%${key}%`;return raw?out:escapehtml?(0,string.ZD)(out):out}function directive(el,binding,vnode){const{instance}=binding,raw=binding.modifiers&&!0===binding.modifiers.raw,str=stringFor(instance.$store,binding.value,{},raw);binding.arg?el.setAttribute(binding.arg,str):el.innerHTML=str}const i18n={name:"i18n",install:(vueApp,_options)=>{vueApp.config.globalProperties.t&&vueApp.directive("t")&&vueApp.component("t")&&console.debug("Skipping i18n install. Directive, component, and option already exist."),vueApp.config.globalProperties.t=function(key,args,raw){return stringFor(this.$store,key,args,raw)},vueApp.directive("t",{beforeMount(){directive(...arguments)},updated(){directive(...arguments)}}),vueApp.component("t",{inheritAttrs:!1,props:{k:{type:String,required:!0},raw:{type:Boolean,default:!1},tag:{type:[String,Object],default:"span"},escapehtml:{type:Boolean,default:!0},class:{type:String,default:""}},setup(props,ctx){const msg=(0,vue_esm_bundler.KR)(""),store=(0,dist_vuex_esm_bundler.Pj)();return(0,vue_esm_bundler.nT)((()=>{msg.value=stringFor(store,props.k,ctx.attrs,props.raw,props.escapehtml)})),{msg}},render(){return this.raw?(0,vue_esm_bundler.h)(this.tag,{class:this.class,innerHTML:this.msg}):(0,vue_esm_bundler.h)(this.tag,{class:this.class},[this.msg])}})}},plugins_i18n=i18n;(0,dist.mj)((vueApp=>{vueApp.use(plugins_i18n,{store:{dispatch(){}}}),vueApp.use(floating_vue.Ay,floatingVueOptions),vueApp.directive("clean-html",clean_html),vueApp.directive("clean-tooltip",clean_tooltip),vueApp.component("v-select",vue_select_es.A),vueApp.use(shortkey,{prevent:["input","textarea","select"]}),vueApp.component("router-link",{props:["to"],template:"link"}),vueApp.use({store:_storybook_store,install(vueApp){vueApp.config.globalProperties.$store=_storybook_store}}),window.__codeMirrorLoader=()=>Promise.all([__webpack_require__.e(938),__webpack_require__.e(8213)]).then(__webpack_require__.bind(__webpack_require__,"../shell/plugins/codemirror.js"))}));const preview={parameters:{options:{storySort:{order:["Foundation","Form","Components","Examples"]}},previewTabs:{canvas:{hidden:!1}},layout:"centered",controls:{matchers:{color:/(background|color)$/i,date:/Date$/}},darkMode:{dark:{...esm.Zj.dark,brandTitle:"Rancher Storybook",brandImage:"dark/rancher-logo.svg"},light:{...esm.Zj.normal,brandTitle:"Rancher Storybook",brandImage:"rancher-logo.svg"},darkClass:"theme-dark",lightClass:"theme-light",stylePreview:!0}}};window.onload=()=>{!function theme_shortcut(){const isMac=0===window.navigator.platform.indexOf("Mac");document.onkeyup=function(e){(isMac?e.altKey:e.ctrlKey)&&84===e.which&&external_STORYBOOK_MODULE_ADDONS_.addons.getChannel().emit("shortcut-toggle-dark-mode")}}()};const decorators=[decorator.A],_storybook_preview=preview},"../shell/assets/translations/en-us.yaml":module=>{const doc=[{generic:{add:"Add",all:"All",and:" and ",back:"Back",cancel:"Cancel",confirm:"Confirm",clear:"Clear",clearAll:"Clear All",close:"Close",comingSoon:"Coming Soon",comma:", ",copy:"Copy",create:"Create",created:"Created",customize:"Customize",dashboard:"Dashboard",default:"Default",disabled:"Disabled",done:"Done",enabled:"Enabled",here:"here",id:"ID",ignored:"Ignored",invalidCron:"Invalid cron schedule",imagePullPolicy:{always:"Always",ifNotPresent:"IfNotPresent",never:"Never"},labels:"Labels",labelsAndAnnotations:"Labels & Annotations",podSecurityAdmission:"Pod Security Admission",links:"Links",loading:"Loading…",members:"Members",na:"n/a",name:"Name",never:"Never",none:"None",notFound:"Not Found",number:"{prefix}{value, number}{suffix}",notification:{title:{succeed:"Succeed",info:"Info",warning:"Warning",error:"Error"}},ok:"OK",overview:"Overview",plusMore:"+ {n} more",readFromFile:"Read from File",readFromFolder:"Read from Folder",reload:"Reload",register:"Register",remove:"Remove",addCatalog:"Add Catalog",resource:"{count, plural,\none {resource}\nother {resources}\n}",resourceCount:"{count, plural,\none {1 resource}\nother {# resources}\n}",save:"Save",showAdvanced:"Show Advanced",hideAdvanced:"Hide Advanced",techPreview:"Tech Preview",type:"Type",unknown:"Unknown",upload:"Upload",provisioning:"—",key:"Key",value:"Value",yes:"Yes",no:"No",units:{time:{"5s":"5s","10s":"10s","30s":"30s","1m":"1m","5m":"5m","15m":"15m","30m":"30m","1h":"1h","2h":"2h","6h":"6h","1d":"1d","7d":"7d","30d":"30d"}},completed:"Completed",enable:"Enable",disable:"Disable",experimental:"Experimental",deprecated:"Deprecated",placeholder:"e.g. {text}",moreInfo:"More Info",selectors:{label:"Selector",matchingResources:{matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number}}\n =1 {Matches 1 of {total, number}: "{sample}"}\n other {Matches {matched, number} of {total, number}, including "{sample}"}\n}'}}},locale:{"en-us":"English","zh-hans":"简体中文",none:"(None)"},nav:{harvesterDashboard:"Harvester Dashboard",backToRancher:"Cluster Manager",tools:"Tools",clusterTools:"Cluster Tools",kubeconfig:{download:"Download KubeConfig",copy:"Copy KubeConfig to Clipboard",options:"KubeConfig Options"},import:"Import YAML",home:"Home",shell:"Kubectl Shell",shellShortcut:"Kubectl Shell {key}",support:"{hasSupport, select,\n true {Support}\n other {Get Support}\n}",restoreSnapshot:"Restore Snapshot",rotateCertificates:"Rotate Certificates",rotateEncryptionKeys:"Rotate Encryption Keys",saveAsRKETemplate:"Save as RKE Template",takeSnapshot:"Take Snapshot",seeAllClusters:"See all clusters",seeAllClustersCollapsed:"See all",keyComboTooltip:"Switch clusters and keep location",group:{cluster:"Cluster",inUse:"More Resources",Policy:"Policy",rbac:"RBAC",serviceDiscovery:"Service Discovery",starred:"Starred",storage:"Storage",workload:"Workloads",monitoring:"Monitoring",advanced:"Advanced",drivers:"Drivers",RKE1Configuration:"RKE1 Configuration",admission:"Admission",apps:"Apps",clusterProvisioning:"Cluster Provisioning","jwt.authentication":"JWT Authentication",core:"Core",legacy:"Legacy",API:"API",Coordination:"Coordination",Discovery:"Discovery",Fleet:"Fleet",K3s:"K3s",Networking:"Networking",Rancher:"Rancher",RBAC:"RBAC",Scheduling:"Scheduling",Storage:"Storage",Project:"Project"},ns:{all:"All Namespaces",clusterLevel:"Only Cluster Resources",namespace:"{name}",namespaced:"Only Namespaced Resources",orphan:"Not in a Project",project:"Project: {name}",system:"Only System Namespaces",user:"Only User Namespaces"},apps:"Apps",categories:{explore:"Explore Cluster",multiCluster:"Global Apps",legacy:"Legacy Apps",configuration:"Configuration",hci:"HCI"},search:{placeholder:"Filter clusters by...",noResults:"No matching clusters",clusters:"clusters"},resourceSearch:{label:"Resource Search",toolTip:"Resource Search {key}",placeholder:"Type to search for a resource..."},header:{setLoginPage:"Set as login page",restoreCards:"Restore hidden cards"},userMenu:{preferences:"Preferences",accountAndKeys:"Account & API Keys",logOut:"Log Out"},failWhale:{authMiddleware:"Auth Middleware",clusterNotFound:"Cluster { clusterId } not found",productNotFound:"Product { productNotFound } not found",resourceNotFound:"Resource type { resource } not found",resourceListNotFound:"Resource type { resource } not found, unable to display list",resourceIdNotFound:"Resource { resource } with id { fqid } not found, unable to display resource details",reload:"Reload",separator:"or"}},product:{apps:"Apps",auth:"Users & Authentication",backup:"Rancher Backups",cis:"CIS Benchmark",ecm:"Cluster Manager",explorer:"Cluster Explorer",fleet:"Continuous Delivery",longhorn:"Longhorn",manager:"Cluster Management",gatekeeper:"OPA Gatekeeper",istio:"Istio",logging:"Logging",settings:"Global Settings",clusterManagement:"Cluster Management",monitoring:"Monitoring",mcapps:"Global Configuration",neuvector:"NeuVector",harvesterManager:"Virtualization Management",rancher:"Rancher",legacy:"Legacy",uiplugins:"Extensions",elemental:"OS Management",plugins:"Plugins"},suffix:{percent:"%",milliCpus:"milli CPUs",cores:"Cores",cpus:"CPUs",gpus:"GPUs",ib:"iB",mib:"MiB",gb:"GB",ago:"ago",revisions:"{count, plural,\n =1 { Revision }\n other { Revisions }\n}",seconds:"{count, plural,\n =1 { Second }\n other { Seconds }\n}",sec:"Sec",times:"{count, plural,\n =1 { Time }\n other { Times }\n}"},about:{title:"About",versions:{title:"Versions",component:"Component",version:"Version",cli:"CLI",helm:"Helm",machine:"Machine",rancher:"Rancher",releaseNotes:"View release notes"},os:{mac:"macOS",windows:"Windows",linux:"Linux"},downloadImageList:{title:"Image Lists"},downloadCLI:{title:"CLI Downloads"},diagnostic:{title:"Diagnostics",checkboxTooltip:"Supplement diagnostics data with response times for the top 10 resources. These may take a while to complete",checkboxLabel:"Make additional requests",systemInformation:{subtitle:"System Information",browser:"Browser",browserInfo:"User Agent: {userAgent}, Language: {language}, Cookies Enabled: {cookieEnabled}",system:"System",jsMemory:"Javascript Memory",deviceMemory:"Device Memory: {deviceMemory}",hardwareConcurrency:"Hardware Concurrency: {hardwareConcurrency}",os:"OS: {platform}",memJsHeapLimit:"Heap Size limit: {jsHeapSizeLimit}",memTotalJsHeapSize:"Total Heap Size: {totalJSHeapSize}",memUsedJsHeapSize:"Used Heap Size: {usedJSHeapSize}"},logs:{subtitle:"Latest Logs"},resourceCounts:"{count, plural,\n one { Resource Counts by Cluster ({count} cluster)}\n other { Resource Counts by Cluster ({count} clusters)}\n}",modal:{title:"Response times have not yet been generated.",body:"Generate response times to offer more specific information."}}},accountAndKeys:{title:"Account and API Keys",account:{title:"Account",change:"Change Password"},apiKeys:{title:"API Keys",notAllowed:"You do not have permission to manage API Keys",apiEndpoint:"API Endpoint:",add:{description:{label:"Description",placeholder:"Optionally enter a description to help you identify this API Key"},label:"Create API Key",expiry:{label:"Automatically expire",options:{never:"Never",day:"A day from now",month:"A month from now",year:"A year from now",custom:"Custom",maximum:"{value} - Maximum allowed"}},customExpiry:{options:{minute:"Minutes",hour:"Hours",day:"Days",month:"Months",year:"Years"}},scope:"Scope",noScope:"No Scope"},info:{accessKey:"Access Key",secretKey:"Secret Key",bearerToken:"Bearer Token",saveWarning:"Save the info above! This is the only time you'll be able to see it. If you lose it, you'll need to create a new API key.",keyCreated:"A new API Key has been created",bearerTokenTip:"Access Key and Secret Key can be sent as the username and password for HTTP Basic auth to authorize requests. You can also combine them to use as a Bearer token:",ttlLimitedWarning:"The Expiry time for this API Key was reduced due to system configuration"}}},addClusterMemberDialog:{title:"Add Cluster Member"},addonConfigConfirmation:{title:"Add-On Reset",body:"Changing the Kubernetes Version can reset Add-On values. You should check that the values are as expected before continuing."},addProjectMemberDialog:{title:"Add Project Member"},authConfig:{accessMode:{label:"Configure who should be able to login and use {vendor}",required:"Restrict access to only the authorized users & groups",restricted:"Allow members of clusters and projects, plus authorized users & groups",unrestricted:"Allow any valid user"},allowedPrincipalIds:{title:"Authorized Users & Groups"},associatedWarning:'The {provider} account that is used to enable the external provider will be granted admin permissions. If you use a test account or non-admin account, that account will still be granted admin-level permissions. See External Authentication Configuration and Principal Users to understand why.',github:{clientId:{label:"Client ID"},clientSecret:{label:"Client Secret"},form:{app:{label:"Application name",value:"Anything you like, e.g. My {vendor}"},callback:{label:"Authorization callback URL"},description:{label:"Application description",value:"Optional, can be left blank"},homepage:{label:"Homepage URL"},instruction:"Fill in the form with these values:",prefix:{1:'
  • Click here to go to GitHub application settings in a new window.
  • ',2:'
  • Click on the "OAuth Apps" tab.
  • ',3:'
  • Click the "New OAuth App" button.
  • '},suffix:{1:'
  • Click "Register application"
  • ',2:"
  • Copy and paste the Client ID and Client Secret of your newly created OAuth app into the fields below
  • "}},host:{label:"GitHub Enterprise Host",placeholder:"e.g. github.mycompany.example"},target:{label:"Which version of GitHub do you want to use?",private:"A private installation of GitHub Enterprise",public:"Public GitHub.com"},table:{server:"Server",clientId:"Client ID"}},googleoauth:{adminEmail:"Admin Email",domain:"Domain",oauthCredentials:{label:"OAuth Credentials",tip:"The OAuth Credentials JSON can be found in the Google API developers console."},serviceAccountCredentials:{label:"Service Account Credentials",tip:"The Service Account Credentials JSON can be found in the service accounts section of the Google API developers console."},steps:{1:{title:'Click here to open applications settings in a new window',body:{1:'Login to your account. Navigate to "APIs & Services" and then select "OAuth consent screen".',2:"Authorized domains:",3:"Application homepage link: ",4:'Under Scopes for Google APIs, enable "email", "profile", and "openid".',5:'Click on "Save".'},topPrivateDomain:"Top private domain of:"},2:{title:'Navigate to the "Credentials" tab to create your OAuth client ID',body:{1:'Select the "Create Credentials" dropdown, and select "OAuth clientID", then select "Web application".',2:"Authorized Javascript origins:",3:"Authorized redirect URIs:",4:'Click "Create", and then click on the "Download JSON" button.',5:"Upload the downloaded JSON file in the OAuth credentials box."}},3:{title:"Create Service Account credentials",introduction:'Follow this guide to:',body:{1:"Create a service account.",2:"Generate a key for the service account.",3:"Add the service account as an OAuth client in your google domain."}}}},ldap:{freeipa:"Configure a FreeIPA server",activedirectory:"Configure an Active Directory account",openldap:"Configure an OpenLDAP server",defaultLoginDomain:{label:"Default Login Domain",placeholder:"eg mycompany",hint:"This domain will be used if a user logs in without specifying one."},cert:"Certificate",disabledStatusBitmask:"Disabled Status Bitmask",groupDNAttribute:"Group DN Attribute",groupMemberMappingAttribute:"Group Member Mapping Attribute",groupMemberUserAttribute:"Group Member User Attribute",groupSearchBase:{label:"Group Search Base",placeholder:"ou=groups,dc=mycompany,dc=com"},hostname:{label:"Hostname/IP",placeholder:"eg server1,server2",hint:"Multiple servers can be specified as a comma separated list"},loginAttribute:"Login Attribute",nameAttribute:"Name Attribute",nestedGroupMembership:{label:"Nested Group Membership",options:{direct:"Search only direct group memberships",nested:"Search direct and nested group memberships"}},objectClass:"Object Class",password:"Password",port:"Port",protocol:"Protocol",protocols:{starttls:"Start TLS",ldap:"LDAP",tls:"LDAPS (TLS)"},customizeSchema:"Customize Schema",oktaSchema:'The defaults below are for a generic OpenLDAP server. For more information on the values to use when using the Okta LDAP interface, see: Okta LDAP Interface connection settings',users:"Users",groups:"Groups",searchAttribute:"Search Attribute",searchFilter:"Search Filter",serverConnectionTimeout:"Server Connection Timeout",serviceAccountDN:"Service Account Distinguished Name",serviceAccountPassword:"Service Account Password",serviceAccountInfo:"{vendor} needs a service account that has read-only access to all of the domains that will be able to login, so that we can determine what groups a user is a member of when they make a request with an API key.",starttls:{label:"Start TLS",tip:"Upgrades non-encrypted connections by wrapping with TLS during the connection process. Can not be used in conjunction with TLS."},tls:"TLS",userEnabledAttribute:"User Enabled Attribute",userMemberAttribute:"User Member Attribute",userSearchBase:{label:"User Search Base",placeholder:"e.g. ou=users,dc=mycompany,dc=com"},username:"Username",usernameAttribute:"Username Attribute",table:{server:"Server",clientId:"Client ID"}},saml:{entityID:"Entity ID Field",UID:"UID Field",adfs:"Configure an AD FS account",api:"{vendor} API Host",sloTitle:"Log Out behavior",sloOptions:{onlyRancher:"Log out of Rancher and not {name}",logoutAll:"Log out of Rancher and {name} (includes all other applications registered with {name})",choose:"Allow the user to choose one of the above in an additional log out step"},cert:{label:"Certificate",placeholder:"Paste in the certificate, starting with -----BEGIN CERTIFICATE-----"},displayName:"Display Name Field",groups:"Groups Field",key:{label:"Private Key",placeholder:"Paste in the private key, typically starting with -----BEGIN RSA PRIVATE KEY-----"},keycloak:"Configure a Keycloak account",metadata:{label:"Metadata XML",placeholder:"Paste in the IDP Metadata XML"},okta:"Configure an Okta account",ping:"Configure a Ping account",shibboleth:"Configure a Shibboleth account",showLdap:"Configure an OpenLDAP Server",userName:"User Name Field",search:{title:"User and Group Search",message:"The SAML Protocol does not support search or lookup for users or groups. In order to enabled search, an OpenLDAP server must be configured.",on:"LDAP User and Group search has been configured",off:"LDAP User and Group search is not configured",show:"Show details",hide:"Hide details"}},azuread:{tenantId:{label:"Tenant ID",tooltip:"From the Azure AD portal",placeholder:"A long UUID string"},applicationId:{label:"Application ID",placeholder:"A long UUID string"},applicationSecret:{label:"Application Secret"},endpoint:{label:"Endpoint"},endpoints:{label:"Endpoints",standard:"Standard",china:"China",custom:"Custom"},graphEndpoint:{label:"Graph Endpoint"},tokenEndpoint:{label:"Token Endpoint"},authEndpoint:{label:"Auth Endpoint"},groupMembershipFilter:{label:"Group Membership Filter",enable:"Limit users by group membership",tooltip:"Limit users by applying a GroupMembershipFilter",externalHelp:"See the OData filter expression documentation for more information.",externalHelpLink:"https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/webservices/use-filter-expressions-in-odata-uris#filter-expressions"},reply:{info:"Azure AD requires a whitelisted URL for your Rancher server before beginning this setup. Please ensure that the following URL is set in the Reply URL section of your Azure Portal. Please note that it may take up to 5 minutes for the whitelisted URL to propagate.",label:"Reply URL"},updateEndpoint:{button:"Update Endpoint",banner:{message:"Azure AD Authentication must be updated: it is using the Azure Graph API, which will be deprecated at the end of 2022.",linkText:"Update it here."},modal:{title:"Are you sure? This update is irreversible.",body:"

    You may need to make some additional changes. Please ensure the Azure AD app has the Directory.Read.All Application permission added to Microsoft Graph.
    If any endpoints were customized while configuring Azure AD authentication in Rancher, they will not be automatically updated.

    "}}},oidc:{genericoidc:"Configure an OIDC account",keycloakoidc:"Configure a Keycloak OIDC account",rancherUrl:"Rancher URL",clientId:"Client ID",clientSecret:"Client Secret",customEndpoint:{label:"Endpoints",custom:"Specify",standard:"Generate"},url:"URL",realm:"Realm",keycloak:{url:"Keycloak URL",realm:"Keycloak Realm"},issuer:"Issuer",authEndpoint:"Auth Endpoint",jwksUrl:"JWKS URL",tokenEndpoint:"Token Endpoint",userInfoEndpoint:"User Info Endpoint",acrValue:"Authorization Context Reference",scope:{label:"Scopes",placeholder:"openid",protip:"The openid scope is required. If you are using custom scopes, ensure that it is included."},cert:{label:"Certificate",placeholder:"Paste in the certificate, starting with -----BEGIN CERTIFICATE-----"},key:{label:"Private Key",placeholder:"Paste in the private key, typically starting with -----BEGIN RSA PRIVATE KEY-----"}},stateBanner:{disabled:"The {provider} authentication provider is currently disabled.",enabled:"The {provider} authentication provider is currently enabled."},testAndEnable:"Test and Enable Authentication",noneEnabled:"Local Authentication is always enabled, but you may select another additional authentication provider from those shown below.",localEnabled:"{vendor} is configured to allow access to accounts in its local database.",manageLocal:"Manage Accounts"},authGroups:{actions:{refresh:"Refresh Group Memberships",assignRoles:"Assign Global Roles"},assignEdit:{assignTitle:"Assign Global Roles To Group"}},assignTo:{title:"{count, plural,\n =1 { Assign Cluster To… }\n other { Assign {count} Clusters To… }\n}",labelsTitle:"{count, plural,\n =1 { Assign Cluster To… }\n other { Assign {count} Clusters To… }\n}",workspace:"Workspace"},asyncButton:{apply:{action:"Apply",success:"Applied",waiting:"Applying…"},add:{action:"Add",success:"Added",waiting:"Adding…"},continue:{action:"Continue",success:"Saved",waiting:"Saving…"},copy:{action:"Click to Copy",success:"Copied!"},create:{action:"Create",success:"Created",waiting:"Creating…"},default:{action:"Action",error:"Error",success:"Success",waiting:"Waiting"},delete:{action:"Delete",success:"Deleted",waiting:"Deleting…"},disable:{action:"Disable",success:"Disabled",waiting:"Disabling…"},activate:{action:"Activate",waiting:"Activating…",success:"Activated"},deactivate:{action:"Deactivate",waiting:"Deactivating…",success:"Deactivated"},diagnostic:{action:"Download Diagnostic Package",success:"Saving",waiting:"Downloading…"},done:{action:"Done",success:"Saved",waiting:"Saving…"},download:{action:"Download",success:"Saving",waiting:"Downloading…"},drain:{action:"Drain",success:"Drained",waiting:"Draining…"},edit:{action:"Save",success:"Saved",waiting:"Saving…"},editAndContinue:{action:"Save and Continue",success:"Saved",waiting:"Saving…"},enable:{action:"Enable",success:"Enabled",waiting:"Enabling…"},finish:{action:"Finish",success:"Finished",waiting:"Finishing…"},import:{action:"Import",success:"Imported",waiting:"Importing…"},install:{action:"Install",success:"Installed",waiting:"Installing…"},load:{action:"Load",success:"Loaded",waiting:"Loading…"},pause:{action:"Pause Orchestration",success:"Paused Orchestration",waiting:"Pausing Orchestration",description:"New revisions will not be deployed because orchestration is temporarily paused. To deploy new revisions, resume orchestration."},refresh:{action:"",actionIcon:"refresh",error:"",errorIcon:"error",success:"",successIcon:"checkmark",waiting:"",waitingIcon:"refresh"},"manual-refresh":{action:"",actionIcon:"refresh",error:"",errorIcon:"error",success:"",successIcon:"checkmark",waiting:"",waitingIcon:"refresh"},remove:{action:"Remove",success:"Removed",waiting:"Removing…"},restore:{action:"Restore",waiting:"Restoring…",success:"Restored"},resume:{action:"Resume Orchestration",success:"Resumed Orchestration",waiting:"Resuming Orchestration"},rollback:{action:"Roll Back",success:"Rolled Back",waiting:"Rolling Back Workload"},rotate:{action:"Rotate",waiting:"Rotating…",success:"Rotated"},run:{action:"Run",waiting:"Running…",success:"Completed"},snapshot:{action:"Snapshot Now",waiting:"Snapshot Initiated…",success:"Snapshot Creating"},timing:{action:"Generate Response Times",waiting:"Generating…",success:"Response Times Generated"},uninstall:{action:"Uninstall",success:"Uninstalled",waiting:"Uninstalling…"},update:{action:"Update",success:"Updated",waiting:"Updating…"},upgrade:{action:"Upgrade",success:"Upgrading",waiting:"Starting…"},generate:{action:"Generate",success:"Generated",waiting:"Generating…"}},backupRestoreOperator:{backupFilename:"Backup Filename",deleteTimeout:{label:"Delete Timeout",tip:"Seconds to wait for a resource delete to succeed before removing finalizers to force deletion."},deployment:{rancherNamespace:"Rancher ResourceSet Namespace",size:"Size",storage:{label:"Default Storage Location",options:{defaultStorageClass:"Use the default storage class ({name})",none:"No default storage location",pickPV:"Use an existing persistent volume",pickSC:"Use an existing storage class",s3:"Use an S3-compatible object store"},persistentVolume:{label:"Persistent Volume"},storageClass:{label:"Storage Class"},tip:"Configure a storage location where all backups are saved by default. You will have the option to override this with each backup, but will be limited to using an S3-compatible object store.",warning:'This {type} does not have its reclaim policy set to "Retain". Your backups may be lost if the volume is changed or becomes unbound.'}},encryption:"Encryption",encryptionConfigName:{backuptip:"Any secret in the {ns} namespace that has an encryption-provider-config.yaml key.
    The contents of this file are necessary to perform a restore from this backup, and are not stored by Rancher Backup.",label:"Encryption Config Secret",options:{none:"Store the contents of the backup unencrypted",secret:'Encrypt backups using an Encryption Config Secret (Recommended)'},restoretip:"If the backup was performed with encryption enabled, a secret containing the same encryption-provider-config should be used during restore.",warning:"The contents of this file are necessary to perform a restore from this backup, and are not stored by Rancher Backup."},lastBackup:"Last Backup",nextBackup:"Next Backup",noResourceSet:"You must define a ResourceSet in this namespace to create a backup CR.",prune:{label:"Prune",tip:"Delete the resources managed by Rancher that are not present in the backup. (Recommended)"},resourceSetName:"Resource Set",restoreFrom:{default:"The default storage target",existing:"An existing backup config",s3:"An S3-compatible object store"},retentionCount:{label:"Retention Count",units:"{count, plural,\n =1 { File }\n other { Files }\n}"},s3:{bucketName:"Bucket Name",credentialSecretName:"Credential Secret",endpoint:"Endpoint",endpointCA:{label:"Endpoint CA",prompt:"Endpoint CA must be Base64 encoded"},folder:"Folder",insecureTLSSkipVerify:"Skip TLS Verifications",region:"Region",storageLocation:"Storage Location",titles:{backupLocation:"Backup Source",location:"Storage Location",s3:"S3"}},schedule:{label:"Schedule",options:{disabled:"One-Time Backup",enabled:"Recurring Backups"},placeholder:"e.g. @midnight or 0 0 * * *"},storageSource:{configureS3:"Use an S3-compatible object store",useBackup:"Use the s3 location specified on the Backup CR",useDefault:"Use the default storage location configured during installation"},targetBackup:"Target Backup"},catalog:{app:{managed:"Managed",section:{lastOperation:"Last Operation",notes:"Release Notes",openLogs:"View Logs",readme:"Chart README",resources:{label:"Resources",busy:"The related resources will appear when {app} is fully installed."},values:"Values YAML"}},chart:{registry:{label:"Container Registry",tooltip:"Container images are pulled from the Cluster Container Registry or, failing that, the System Container Registry Setting. To change this default behavior enter or update the registry here",custom:{checkBoxLabel:"Container Registry for Rancher System Container Images",inputLabel:"Container Registry",placeholder:"Registry domain and ports, ex. registry.io:5000"}},header:{charts:"Charts"},info:{appVersion:"Application Version",chartVersions:{label:"Chart Versions",showMore:"Show More",showLess:"Show Less"},home:"Home",maintainers:"Maintainers",related:"Related",chartUrls:"Chart",keywords:"Keywords"},errors:{clusterToolExists:'This chart has a fixed namespace and name. A matching application has been found and any changes will be made to it.'},global:"Global",deprecatedWarning:"{chartName} has been marked as deprecated. Use caution when installing this helm chart as it might be removed in the future.",experimentalWarning:"{chartName} has been marked as experimental. Use caution when installing this helm chart as it might not function as expected.",deprecatedAndExperimentalWarning:"{chartName} has been marked as deprecated and experimental. Use caution when installing this helm chart as it might be removed in the future and might not function as expected."},charts:{all:"All",categories:{all:"All Categories"},certified:{other:"Other",partner:"Partner",rancher:"{vendor}"},deploysOnWindows:"Deploys on Windows",windowsIncompatible:"Linux only",versionWindowsIncompatible:"Linux only version",header:"Charts",featuredCharts:"Featured Charts",noCharts:"There are no charts available, have you added any repos or set filters?",noWindows:"Your repos do not contain any charts capable of being deployed on a cluster with Windows nodes.",noWindowsAndLinux:"Your repos do not contain any charts capable of being deployed on a cluster with both Windows and Linux worker nodes.",operatingSystems:{all:"All Operating Systems",linux:"Linux",windows:"Windows"},search:"Filter",deprecatedChartsFilter:{label:"Show deprecated apps"}},install:{action:{goToUpgrade:"Edit/Upgrade"},appReadmeMissing:"This chart doesn't have any additional chart information.",appReadmeTitle:"Chart Information (Helm README)",chart:"Chart",warning:{managed:"Warning, Rancher manages deployment and upgrade of the {name} app. Upgrading this app is not supported.
    {version, select, null { } other { Under most circumstances, no user intervention should be needed to ensure that the {version} version is compatible with the version of Rancher that you are running.} }"},error:{requiresFound:'{name} must be installed before you can install this chart.',requiresMissing:"This chart requires another chart that provides {name}, but none was was found.",insufficientCpu:"This chart requires {need, number} CPU cores, but the cluster only has {have, number} available.",insufficientMemory:"This chart requires {need} of memory, but the cluster only has {have} available.",legacy:{label:"This is a {legacyType} App and it cannot be modified here",enableLegacy:{prompt:"You will need to enable Legacy Features to edit this App",goto:"Go to Feature Flag settings"},navigate:"Navigate to Legacy Apps",mcmNotSupported:"Legacy Multi-cluster Apps can not be managed through this UI",category:{legacy:"Legacy",mcm:"Multi-cluster"}}},header:{install:"Install {name}",installGeneric:"Install Chart",upgrade:"Upgrade {name}"},helm:{atomic:"Atomic",description:{label:"Description",placeholder:"e.g. Purpose of helm command"},cleanupOnFail:"Cleanup on Failure",crds:"Apply custom resource definitions",dryRun:"Dry Run",force:"Force",historyMax:{label:"Keep last",unit:"{value, plural,\n =1 { revision }\n other { revisions }\n}"},hooks:"Execute chart hooks",openapi:"Validate OpenAPI schema",resetValues:"Reset Values",timeout:{label:"Timeout",unit:"{value, plural,\n =1 { second }\n other { seconds }\n}"},wait:"Wait"},namespaceIsInProject:"This chart's target namespace, {namespace}, already exists and cannot be added to a different project.",project:"Install into Project",section:{chartOptions:"Edit Options",valuesYaml:"Edit YAML",diff:"Compare Changes"},slideIn:{dock:"Dock to shell"},steps:{basics:{label:"Metadata",subtext:"Set App metadata",description:"This process will help {action, select, install { create } upgrade { upgrade } update { update } } the {existing, select, true { app} false { chart} }. Start by setting some basic information used by {vendor} to manage the App.",nsCreationDescription:"To install the app into a new namespace enter it's name in the Namespace field and select it.",createNamespace:"Namespace {namespace} will be created."},clusterTplVersion:{label:"Version",subtext:"Select a version of the template",description:"Select a version of the Cluster Template"},clusterTplValues:{label:"Values",subtext:"Change how the Cluster is defined",description:"Configure Values used by Helm that help define the Cluster."},helmValues:{label:"Values",subtext:"Change how the App works",description:"Configure Values used by Helm that help define the App.",chartInfo:{button:"View Chart Info",label:"Chart Info"}},helmCli:{checkbox:"Customize Helm options before install",label:"Helm Options",subtext:"Change how the app is deployed",description:"Supply additional deployment options"}},version:"Version",versions:{current:"{ver} (Current)",linux:"{ver} (Linux-only)",windows:"{ver} (Windows-only)"}},delete:{warning:{managed:"Warning, Rancher manages deployment and upgrade of the {name} app. Deleting this app is not supported."}},operation:{tableHeaders:{action:"Action",releaseName:"Release Name",releaseNamespace:"Release Namespace"}},repo:{action:{refresh:"Refresh"},all:"All",gitBranch:{label:"Git Branch",placeholder:"e.g. master",defaultMessage:'Will default to "master" if left blank'},gitRepo:{label:"Git Repo URL",placeholder:"e.g. https://github.com/your-company/charts.git"},name:{"rancher-charts":"{vendor}","rancher-partner-charts":"Partners","rancher-rke2-charts":"RKE2","rancher-ui-plugins":"Rancher Extensions"},target:{git:"Git repository containing Helm chart or cluster template definitions",http:"http(s) URL to an index generated by Helm",oci:'OCI Repository Experimental',label:"Target"},url:{label:"Index URL",placeholder:"e.g. https://charts.rancher.io"},oci:{urlLabel:"OCI Repository Host URL",placeholder:"e.g. oci:////:",info:"Add OCI URLs that contain ONLY helm charts. For large repositories containing many charts consider targeting a specific namespace or chart to improve performance, for example with oci:/// or oci:////. The list of charts available from the repository is updated every 6 hours.",skipTlsVerifications:"Skip TLS Verifications",insecurePlainHttp:"Insecure Plain Http",exponentialBackOff:{label:"Exponential Back Off",minWait:{label:"Min Wait Time (in Seconds)",placeholder:"1 (default)"},maxWait:{label:"Max Wait Time (in Seconds)",placeholder:"5 (default)"},maxRetries:{label:"Max Number of Retries",placeholder:"5 (default)"}}}},tools:{header:"Cluster Tools",noTools:"No Cluster Tools found",action:{install:"Install",upgrade:"Upgrade/Edit",edit:"Edit",remove:"Remove",manage:"Manage"}},os:{versionIncompatible:"This version is not compatible with Windows nodes.",chartIncompatible:"This chart is not compatible with Windows nodes."}},changePassword:{title:"Change Password",cancel:"Cancel",deleteKeys:{label:"Delete all existing API keys"},changeOnLogin:{label:"Ask user to change their password on next login"},generatePassword:{label:"Generate a random password"},currentPassword:{label:"Current Password"},userGen:{newPassword:{label:"New Password"},confirmPassword:{label:"Confirm Password"}},randomGen:{generated:{label:"Generated Password"}},newGeneratedPassword:"Suggest a password",errors:{mismatchedPassword:"Passwords do not match",failedToChange:"Failed to change password",failedDeleteKey:"Failed to delete key",failedDeleteKeys:"Failed to delete keys"}},chartHeading:{overview:"Overview",poweredBy:"Powered by:"},cis:{addTest:"Add Test ID",alertNeeded:'Alerting must be enabled within the CIS chart values.yaml.\nThis requires that the {vendor} Monitoring and Alerting app is installed\nand the Receivers and Routes are configured to send out alerts.',alertOnComplete:"Alert on scan completion",alertOnFailure:"Alert on scan failure",benchmarkVersion:"Benchmark Version",clusterProvider:"Cluster Provider",cronSchedule:{label:"Schedule",placeholder:"e.g. 0 * * * *"},customConfigMap:"Custom Benchmark ConfigMap",deleteBenchmarkWarning:"{count, plural,\n =1 { Any profiles using this benchmark version will no longer work. }\n other { Any profiles using these benchmark versions will no longer work }\n}",deleteProfileWarning:"{count, plural,\n =1 { Any scheduled scans using this profile will no longer work. }\n other { Any scheduled scans using either of these profiles will no longer work. }\n}",downloadAllReports:"Download All Saved Reports",downloadLatestReport:"Download Latest Report",downloadReport:"Download Report",maxKubernetesVersion:"Maximum allowed Kubernetes version",minKubernetesVersion:"Minimum required Kubernetes version",noProfiles:"There are no valid ClusterScanProfiles for this cluster type to select.",noReportFound:"No scan report found",profile:"Profile",reports:"Reports",retention:"Retention Count",scan:{description:"Description",fail:"Fail",lastScanTime:"Last Scan Time",notApplicable:"N/A",number:"Number",pass:"Pass",remediation:"Remediation",scanDate:"Scan Date",scanReport:"Scan Report",skip:"Skip",total:"Total",warn:"Warn"},scheduling:{title:"Scheduling",disable:"Run scan once",enable:"Run scan on a schedule"},scoreWarning:{label:'Scan state for "warn" results',protip:'Scans with no failures will be marked "Pass" by default even if some of the tests generate "warn" output. This behavior can be changed by selecting the "fail" option from this section.'},testID:"Test ID",testsSkipped:"Tests Skipped",testsToSkip:"Tests to Skip",alerting:"Alerting"},cluster:{jwtAuthentication:{banner:"Service Account access with JWT authentication can be configured after cluster creation from
    Cluster Management > Advanced > JWT Authentication"},addonChart:{"rancher-vsphere-cpi":{label:"Add-on: vSphere CPI",configuration:"vSphere CPI"},"rancher-vsphere-csi":{label:"Add-on: vSphere CSI",configuration:"vSphere CSI"},"rke2-calico":{label:"Add-on: Calico",configuration:"Calico"},"rke2-calico-crd":{label:"Add-on: Calico",configuration:"Calico"},"rke2-canal":{label:"Add-on: Canal",configuration:"Canal"},"rke2-cilium":{label:"Add-on: Cilium",configuration:"Cilium"},"rke2-coredns":{label:"Add-on: CoreDNS",configuration:"CoreDNS"},"rke2-ingress-nginx":{label:"Add-on: NGINX",configuration:"NGINX Ingress"},"rke2-kube-proxy":{label:"Add-on: Kube Proxy",configuration:"Kube Proxy"},"rke2-metrics-server":{label:"Add-on: Metrics Server",configuration:"Metrics Server"},"rke2-multus":{label:"Add-on: Multus",configuration:"Multus"}},agentEnvVars:{label:"Agent Environment",detail:"Add additional environment variables to the agent container. This is most commonly useful for configuring a HTTP proxy.",keyLabel:"Variable Name"},cloudProvider:{aws:{label:"Amazon"},azure:{label:"Azure"},external:{label:"External"},gcp:{label:"Google"},"rancher-vsphere":{label:"vSphere",note:"Important: Configure the vSphere Cloud Provider and Storage Provider options in the Add-on tabs."},harvester:{label:"Harvester"}},copyConfig:"Copy KubeConfig to Clipboard",copiedConfig:"Copied KubeConfig to Clipboard",custom:{nodeRole:{label:"Node Role",detail:"Choose what roles the node will have in the cluster. The cluster needs to have at least one node with each role.",warning:"The cluster needs to have at least one node with each role to be usable."},advanced:{label:"Advanced",detail:"Additional control over how the node will be registered. These values will often need to be different for each node registered.",nodeName:"Node Name",publicIp:"Node Public IP",privateIp:"Node Private IP",nodeLabel:{title:"Node Labels",label:"Add Label"}},registrationCommand:{label:"Registration Command",linuxDetail:"Run this command on each of the existing Linux machines you want to register.",windowsDetail:"Run this command in PowerShell on each of the existing Windows machines you want to register. Windows nodes can only be workers.",windowsNotReady:"The cluster must be up and running with Linux etcd, control plane, and worker nodes before the registration command for adding Windows workers will display.",windowsWarning:"Workload pods, including some deployed by Rancher charts, will be scheduled on both Linux and Windows nodes by default. Edit NodeSelector in the chart to direct them to be placed onto a compatible node.",windowsDeprecatedForRKE1:"Windows support is being deprecated for RKE1. We suggest migrating to RKE2.",insecure:"Insecure: Select this to skip TLS verification if your server has a self-signed certificate."}},credential:{banner:{createCredential:"{length, plural,\n =0 {First you'll need to create a credential to talk to the cloud provider}\n other {Ok, Let's create a new credential}\n}"},selectExisting:{label:"Select Existing"},select:{option:{new:"Create new...",none:"Select a credential..."}},aws:{accessKey:{label:"Access Key",placeholder:"Your AWS Access Key"},defaultRegion:{help:"The default region to use when creating clusters. Also contacted to verify that this credential works.",label:"Default Region"},secretKey:{label:"Secret Key",placeholder:"Your AWS Secret Key"}},azure:{clientId:{label:"Client ID"},clientSecret:{label:"Client Secret"},environment:{label:"Environment"},subscriptionId:{label:"Subscription ID"},tenantId:{label:"Tenant ID"}},digitalocean:{accessToken:{help:'Paste in a Personal Access Token from the DigitalOcean Applications & API screen.',label:"Access Token",placeholder:"Your DigitalOcean API Access Token"}},label:"Cloud Credential",linode:{accessToken:{help:'Paste in a Personal Access Token from the Linode API Tokens screen.',label:"Access Token",placeholder:"Your Linode API Access Token"}},pnap:{clientIdentifier:{label:"Client ID",placeholder:"Your Client ID"},clientSecret:{help:'From phoenixNAP BMC Portal API Credentials',label:"Client Secret",placeholder:"Your Client Secret"}},name:{label:"Credential Name",placeholder:"Name for this credential"},s3:{accessKey:{label:"Access Key",placeholder:"Your API Access Key"},defaultRegion:{label:"Default Region",placeholder:"Optional: The default region to use"},defaultBucket:{label:"Default Bucket",placeholder:"Optional: The default bucket to use"},defaultEndpoint:{label:"Default Endpoint",placeholder:"Optional: The default endpoint to use"},defaultFolder:{label:"Default Folder",placeholder:"Optional: The default folder to use"},defaultEndpointCA:{label:"Default Endpoint CA Cert",placeholder:"Optional: The default CA certificate to use to verify the endpoint"},defaultSkipSSLVerify:{label:"Accept any certificate (insecure)"},secretKey:{label:"SecretKey",placeholder:"Your API Secret Key"}},vmwarevsphere:{server:{label:"vCenter or ESXi Server",placeholder:"vcenter.domain.com"},port:{label:"Port"},username:{label:"Username"},password:{label:"Password"},note:"Note: The free ESXi license does not support API access. Only servers with a valid or evaluation license are supported."},gcp:{authEncodedJson:{label:"Service Account",placeholder:"Service Account private key JSON file",help:'

    Create a Service Account with a JSON private key and provide the JSON here.\nThese IAM roles are required:

    \n
      \n
    • Compute Engine: Compute Viewer (roles/compute.viewer)
    • \n
    • Project: Viewer (roles/viewer)
    • \n
    • Kubernetes Engine: Kubernetes Engine Admin (roles/container.admin)
    • \n
    • Service Accounts: Service Account User (roles/iam.serviceAccountUser)
    • \n
    \nMore info on roles can be found here.'}},harvester:{namespace:"Namespace",cpu:"CPUs",memory:"Memory",disk:"Disk",image:"Image",network:{title:"Networks",network:"Network",addNetwork:"Add Network",networkName:"Network Name",macAddress:"Mac Address",macFormat:"Invalid MAC address format."},vGpus:{warnings:{minimumAllocatable:'It\'s highly recommended to select a vGPU with a number of allocatable devices greater than the number of nodes (Machine Count) to avoid "un-schedulable" errors after cluster updates.'},errors:{notAllocatable:"[{vGpu}] vGPU device is not allocatable; required: {allocated}, allocatable: {allocatable}"}},volume:{title:"Volumes",volume:"Volume",imageVolume:"Image Volume",addVolume:"Add Volume",addVMImage:"Add VM Image",storageClass:"Storage Class"},sshUser:"SSH User",userData:{label:"User Data Template",title:"User Data:"},networkData:{label:"Network Data Template",title:"Network Data:"},kubeconfigContent:{label:"KubeconfigContent"},placeholder:"Namespace/Name",cluster:"Imported Harvester Cluster",installGuestAgent:"Install guest agent",tokenExpirationWarning:'Warning: Harvester Cloud Credentials use an underlying authentication token that may have an expiry time - please see the following knowledge base article for possible implications on management operations.'}},description:{label:"Cluster Description",placeholder:"Any text you want that better describes this cluster"},harvester:{importNotice:"Import Harvester Clusters via",warning:{label:"This is a Harvester Cluster - enable the Harvester feature flag to manage it",state:"Warning",cloudProvider:{incompatible:'You cannot select the Harvester cloud provider as the current Harvester version is not compatible with the selected RKE2 Kubernetes version, click here to see which Kubernetes versions are supported.'}},clusterWarning:"There {count, plural,\n=1 {is 1 Harvester cluster that is not shown}\nother {are # Harvester clusters that are not shown}\n}",registration:{step1:"1. Go to the Advanced / Settings page of the target Harvester's UI.",step2:'2. Find the cluster-registration-url setting and click the -> Edit Setting button.',step3:"3. Input the following registration URL and click the Save button.",step4:"Registration URL"},machinePool:{cpu:{placeholder:"e.g. 2"},memory:{placeholder:"e.g. 4"},disk:{placeholder:"e.g. 4"},namespace:{placeholder:"e.g. default"},image:{placeholder:"Please select a image"},network:{placeholder:"Please select a network"},sshUser:{placeholder:"e.g. ubuntu",toolTip:"SSH user to login with the selected OS image."}}},haveOneOwner:"There must be at least one member with the Owner role.",import:{warningBanner:"You should not import a cluster which has already been connected to another instance of Rancher as it will lead to data corruption.",commandInstructions:"Run the kubectl command below on an existing Kubernetes cluster running a supported Kubernetes version to import it into {vendor}:",commandInstructionsInsecure:"If you get a "certificate signed by unknown authority" error, your {vendor} installation has a self-signed or untrusted SSL certificate. Run the command below instead to bypass the certificate verification:",clusterRoleBindingInstructions:"If you get permission errors creating some of the resources, your user may not have the cluster-admin role. Use this command to apply it:",clusterRoleBindingCommand:"kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user "},explore:"Explore",importAction:"Import Existing",manageAction:"Manage",kubernetesVersion:{label:"Kubernetes Version",current:"(current)",experimental:"(experimental)",deprecated:"(deprecated)",deprecatedPatches:"Show deprecated Kubernetes patch versions",deprecatedPatchWarning:"We recommend using the latest patch version for each minor Kubernetes version. Deprecated patch versions can be useful for migration purposes."},legacyWarning:"The legacy feature flag is enabled and not all legacy features are supported in Kubernetes 1.21+.",log:{connecting:"Connecting…",noData:"There are no provisioning log entries."},name:{label:"Cluster Name",placeholder:"A unique name for the cluster"},directoryConfig:{title:"Data directory configuration",checkboxText:"Use the same path for System-agent, Provisioning and K8s Distro data directories configuration",common:{label:"Data directory configuration path",tooltip:"Data directory configuration for System-agent, Provisioning and K8s Distro"},systemAgent:{label:"System-agent directory path",tooltip:"Data directory for the system-agent connection info and plans"},provisioning:{label:"Provisioning directory path",tooltip:"Data directory for provisioning related files"},k8sDistro:{label:"K8s Distro directory path",tooltip:"Data directory for the k8s distro"}},machineConfig:{banner:{updateInfo:"Create a new pool to update machine configs"},aws:{sizeLabel:"{apiName}: {cpu, plural,\n=1 {1 vCPU}\n other {# vCPUs}\n} / {memory, number} GiB Memory / {storageSize, plural,\n =0 {EBS-Only}\n other {{storageSize, number} {storageUnit} {storageType}}\n}"},azure:{acceleratedNetworking:{label:"Accelerated Networking"},availabilitySet:{label:"Availability Set (unmanaged)",description:"Availability sets are used to protect applications from hardware failures within an Azure data center."},availabilityZone:{label:"Availability Zone",description:"Availability zones protect applications from complete Azure data center failures.",publicIpAndSKUWarning:"Availability zones require Static Public IP and Use Standard SKU for Public IP to be enabled.",publicIpWarning:"Availability zones require Static Public IP to be enabled.",standardSKUWarning:"Availability zones require Use Standard SKU for Public IP to be enabled.",managedDisksWarning:"Availability zones require Managed Disks to be enabled."},dns:{help:"A unique DNS label for the public IP address.",label:"DNS Label"},environment:{label:"Environment",tooltip:"The environment is configured when cloud credentials are created."},faultDomainCount:{help:"If the availability set has already been created, the fault domain count will be ignored.",label:"Fault Domain Count"},image:{help:"Providing an ARM resource identifier requires using managed disk.",label:"Image"},location:{label:"Location"},managedDisks:{label:"Use Managed Disks"},managedDisksSize:{label:"Managed Disk Size"},nsg:{help:"When using a Rancher managed or providing an existing NSG, all nodes using this template will use the supplied NSG. If no NSG is provided, a new NSG will be created for each node.",label:"Network Security Group"},openPort:{add:"Add Port",help:"When using an existing NSG, Open Ports are ignored.",label:"Open Port"},plan:{label:"Purchase Plan",placeholder:"publisher:product:plan"},privateIp:{label:"Private IP Address"},publicIpOptions:{header:"Public IP Options",noPublic:{label:"No Public IP"},staticPublicIp:{label:"Static Public IP"},standardSKU:{label:"Use Standard SKU for Public IP"}},resourceGroup:{label:"Resource Group"},sections:{availabilitySetConfiguration:"Availability Set Configuration",purchasePlan:"Purchase Plan",network:"Network",disks:"Disks"},size:{label:"VM Size",tooltip:"When accelerated networking is enabled, not all sizes are available.",supportsAcceleratedNetworking:"Sizes that Support Accelerated Networking",doesNotSupportAcceleratedNetworking:"Sizes Without Accelerated Networking",availabilityWarning:"The selected VM size is not available in the selected region.",regionDoesNotSupportAzs:"Availability zones are not supported in the selected region. Please select a different region or use an availability set instead.",regionSupportsAzsButNotThisSize:"The selected region does not support availability zones for the selected VM size. Please select a different region or VM size.",selectedSizeAcceleratedNetworkingWarning:"The selected VM size does not support accelerated networking. Please select another VM size or disable accelerated networking."},sshUser:{label:"SSH Username"},storageType:{label:"Storage Type",warning:"StandardSSD_LRS requires managed disks. Please select Use Managed Disks or select another storage type."},subnet:{label:"Subnet"},subnetPrefix:{label:"Subnet Prefix"},updateDomainCount:{help:"If the availability set has already been created, the update domain count will be ignored.",label:"Update Domain Count"},usePrivateIp:{label:"Use Private IP"},vnet:{label:"Virtual Network",placeholder:"[resourcegroup:]name"},tags:{label:"Tags"}},digitalocean:{sizeLabel:"{plan, select,\n s {Basic: }\n g {General: }\n gd {General: }\n c {CPU: }\n m {Memory: }\n so {Storage: }\n standard {Standard: }\n other {}\n}{memoryGb} GB, {vcpus, plural,\n =1 {# vCPU}\n other {# vCPUs}\n}, {disk} GB Disk ({value})",tags:{label:"Droplet Tags",placeholder:"e.g. my_server"}},linode:{typeLabel:"{label}, {vcpus, plural,\n =1 {# vCPU}\n other {# vCPUs}\n}, {disk} GB Disk ({value})"},vsphere:{hostOptions:{any:"Any"},vAppOptions:{label:"vApp Options",description:"Choose OVF environment properties",disable:"Do not use vApp",auto:"Use vApp to configure networks with network protocol profiles",manual:"Provide a custom vApp config",restoreType:"Restore Type",transport:{label:"OVF environment transport",tooltip:"com.vmware.guestInfo or iso",placeholder:"e.g. com.vmware.guestInfo"},protocol:{label:"vApp IP protocol",tooltip:"IPv4 or IPv6",placeholder:"e.g. IPv4"},allocation:{label:"vApp IP allocation policy",tooltip:"dhcp, fixed, transient or fixedAllocated",placeholder:"e.g. fixedAllocated"},properties:{label:"vApp properties",add:"Add Property",keyPlaceholder:"e.g. guestinfo.interface.0.ip.0.address",valuePlaceholder:"e.g. ip:VM Network, expression or string"}},networks:{label:"Networks",add:"Add Network"},guestinfo:{label:"Configuration Parameters used for guestinfo",add:"Add Parameter",keyPlaceholder:"e.g. guestinfo.hostname",valuePlaceholder:"e.g. myrancherhost"},creationMethods:{template:"Deploy from template: Data Center",library:"Deploy from template: Content Library",vm:"Clone an existing virtual machine",legacy:"Install from boot2docker ISO (Legacy)"},scheduling:{label:"Scheduling",description:"Choose what hypervisor the virtual machine will be scheduled to",dataCenter:"Data Center",resourcePool:"Resource Pool",dataStore:"Data Store",folder:"Folder",host:{label:"Host",note:"Specific host to create VM on (leave blank for standalone ESXi or for cluster with DRS)"},gracefulShutdownTimeout:{label:"Graceful Shutdown Timeout",note:"The time in seconds to wait before forcing deleting VMs in the infrastructure. Zero means disable graceful shutdown."}},instanceOptions:{label:"Instance Options",description:"Choose the size and OS of the virtual machine",cpus:"CPUs",memory:"Memory",disk:"Disk",creationMethod:"Creation method",template:{label:"Template",none:"No Templates Found"},contentLibrary:"Content library",libraryTemplate:"Library template",virtualMachine:"Virtual machine",osIsoUrl:{label:"OS ISO URL",placeholder:"Default: Latest rancheros-vmware image"},cloudInit:{label:"Cloud Init",placeholder:"e.g. http://my_host/cloud-config.yml",note:"Cloud-init file or url to set in the guestinfo"},cloudConfigYaml:"Cloud Config YAML",os:"Operating System"},tags:{label:"Tags",description:"Tags allow you to attach metadata to objects in the vSphere inventory to make it easier to sort and search for these objects.",addTag:"Add Tag"},customAttributes:{label:"Custom attributes (legacy)",description:"Custom attributes allow you to attach metadata to objects in the vSphere inventory to make it easier to sort and search for these objects.",add:"Add custom attribute"}},amazonEc2:{region:"Region",zone:"Zone",instanceType:"Instance Type",rootSize:{placeholder:"Default: 16",label:"Root Disk Size",suffix:"GB"},selectedNetwork:{label:"VPC/Subnet",placeholder:"Select a VPC or Subnet"},iamInstanceProfile:{label:"IAM Instance Profile Name",tooltip:"Kubernetes AWS Cloud Provider support requires an appropriate instance profile"},ami:{label:"AMI ID",placeholder:"Default: A recent Ubuntu LTS"},sshUser:{label:"SSH Username for AMI",placeholder:"Default: ubuntu",tooltip:"The username that exists in the selected AMI; Provisioning will SSH to the node with this."},securityGroup:{title:"Security Group",vpcId:"(select a VPC/Subnet first)",mode:{default:'Standard: Automatically create and use a "{defaultGroup}" security group',custom:"Choose one or more existing security groups:"}},volumeType:{label:"EBS Root Volume Type",placeholder:"Default: gp2"},encryptEbsVolume:"Encrypt EBS Volume",kmsKey:{label:"KMS Key ARN",text:"You do not have permission to list KMS keys, but may still be able to enter a Key ARN if you know one."},requestSpotInstance:"Request Spot Instance",spotPrice:{label:"Spot Price",placeholder:"Default: 0.50",suffix:"Dollars per hour"},privateAddressOnly:"Use only private address",useEbsOptimizedInstance:"EBS-Optimized Instance",httpEndpoint:"Allow access to EC2 metadata",httpTokens:"Use tokens for metadata",tagTitle:"EC2 Tags"},pnap:{serverLocation:{label:"Location"},serverType:{label:"Type"},serverCpu:{label:"CPU"},serverCoresPerCpu:{label:"Cores per CPU"},serverCpuCount:{label:"CPU Count"},serverCpuFrequency:{label:"CPU Frequency [GHz]"},serverRam:{label:"RAM [GB]"},serverStorage:{label:"Storage"},serverNetwork:{label:"Network"},serverOs:{label:"OS"}}},addOns:{dependencyBanner:"Add-On Configuration can vary between Kubernetes versions. Changing the Kubernetes version may reset the values below.",additionalManifest:{title:"Additional Manifest",tooltip:"Additional Kubernetes Manifest YAML to be applied to the cluster on startup."}},agentConfig:{tabs:{cluster:"Cluster Agent",fleet:"Fleet Agent"},groups:{deploymentLabels:"Deployment Labels",selector:"Selector",podAffinity:"Affinity",podTolerations:"Tolerations",podRequestsAndLimits:"Requests and Limits"},subGroups:{podAffinityAnti:"Pod Affinity/Anti-Affinity",nodeAffinity:"Node Affinity"},banners:{advanced:"These are advanced configuration options. Generally, they should be left as-is.",tolerations:"Additional Pod Tolerations will be added to the default Tolerations applied by Rancher.",limits:"Pod Requests and Limits do not have a default configuration.",windowsCompatibility:"We do not recommend removing the Node Affinity rule that prevents the agent from running on Windows nodes as this is not a supported configuration."},affinity:{default:"Use default affinity rules defined by Rancher",custom:"Use custom affinity rules"}},advanced:{argInfo:{title:"Additional Kubelet Args",tooltip:{"mixed-args":'Kubelet args are defined both at Global and Machine Selector level.
    Click on "Add Global Argument" to add them as Global config.',"global-args":'Kubelet args are defined at Global level.
    Click on "Add Global Argument" to add them as Global config.'},machineGlobal:{listLabel:"Add Global Argument"},machineSelector:{label:"Add Machine Selector",listLabel:"Add Argument",bannerLabel:"Note: The last selector that matches wins, and only args from it will be used. Args from other matches above will not be combined together or merged.",title:"For machines with labels matching:",subTitle:"Use the Kubelet args:",titleAlt:"{count, plural,\n =1 { For all machines, use the Kubelet args: }\n other { For machines without matched labels below: }\n}",kubeControllerManagerTitle:"Additional Controller Manager Args",kubeApiServerTitle:"Additional API Server Args",kubeSchedulerTitle:"Additional Scheduler Args"}},agentArgs:{label:"Raise error if kernel parameters are different than the expected kubelet defaults"}},banner:{warning:"This cluster contains a machineSelectorConfig, which this form does not fully support; use the YAML editor to manage the full configuration.",os:"You are attempting to add a {newOS} worker node to a cluster with one or more {existingOS} worker nodes: some installed apps may need to be upgraded or removed.","rke2-k3-reprovisioning":'Making changes to cluster configuration may result in nodes reprovisioning. For more information see the documentation.',desiredNodeGroupWarning:"There are 0 nodes available to run the cluster agent. The cluster will not become active until at least one node is available.",haveArgInfo:"Configuration information is not available for the selected Kubernetes version. The options available on this screen will be limited; you may want to use the YAML editor.",cloudProviderAddConfig:'On Kubernetes 1.27 or greater, the Amazon Cloud Provider requires additional configuration. See the documentation for more information.',cloudProviderUnsupportedAzure:'On Kubernetes 1.30 or greater, the Azure Cloud Provider has been removed. See the documentation for more information.',cloudProviderMigrateAzure:'On Kubernetes 1.30 or greater, the Azure Cloud Provider has been removed. To upgrade Kubernetes, the cluster should be migrated to External provider first.
    See the documentation for more information.',machinePoolError:"{count, plural,\n =1 { {pool_name}: The provided value for {fields} was not found in the list of expected values. This can happen with clusters provisioned outside of Rancher or when options for the provider have changed. }\n other { {pool_name}: The provided values for {fields} were not found in the list of expected values. This can happen with clusters provisioned outside of Rancher or when options for the provider have changed. }\n}"},rkeTemplateUpgrade:"Template revision {name} available for upgrade",architecture:{label:{unknown:"Unknown",mixed:"Mixed"}},availabilityWarnings:{node:"Node {name} is inactive",machine:"Machine {name} is inactive"},detail:{provisioner:"Provisioner",kubernetesVersion:"Kubernetes Version",machineProvider:"Machine Provider",machinePools:"Machine Pools",machines:"Machines",rkeTemplate:"RKE Template"},machinePool:{name:{label:"Pool Name",placeholder:"A random one will be generated by default"},nodeTotals:{label:{controlPlane:"{count} Control Plane",etcd:"{count} etcd",worker:"{count} Worker"},tooltip:{controlPlane:"{count, plural,\n =0 { A cluster needs at least one control plane node to be usable. }\n =1 { A cluster with only one control plane node is not fault-tolerant. }\n other {}\n}",etcd:"{count, plural,\n =0 { A cluster needs at least one etcd node to be usable. }\n =1 { A cluster with only one etcd node is not fault-tolerant. }\n =2 { Clusters should have an odd number of nodes. A cluster with 2 etcd nodes is not fault-tolerant. }\n =3 {}\n =4 { Clusters should have an odd number of nodes. }\n =5 {}\n =6 { Clusters should have an odd number of nodes. }\n =7 {}\n other { More than 7 etcd nodes is not recommended. }\n}",worker:"{count, plural,\n =0 { A cluster needs at least one worker node to be usable. }\n =1 { A cluster with only one worker node is not fault-tolerant. }\n other {}\n}"}},quantity:{label:"Machine Count"},drain:{header:"Drain",label:"Drain Before Delete"},role:{label:"Roles",etcd:"etcd",controlPlane:"Control Plane",worker:"Worker"},labels:{label:"Kubernetes Node Labels"},noAccessBanner:"You do not have access to see this machine pool's configuration.",configNotFound:"We could not find this machine pool's configuration. We recommend that you create a new cluster with the desired configuration.",noPoolsDisclaimer:"You do not have any machine pools defined, click the plus to add one.",truncationPool:"Hostname truncation has been manually configured for this pool to {limit}",truncationCluster:"Hostname truncation has been manually configured for this cluster to {limit}",autoReplace:{label:"Auto Replace",toolTip:"If greater than 0, nodes that are unreachable for this duration will be automatically deleted and replaced.",unit:"Seconds"}},managementTimeout:"The cluster to become available. It's possible the cluster was created. We suggest checking the clusters page before trying to create another.",memberRoles:{removeMessage:"Note: Removing a user will not remove their project permissions",addClusterMember:{labelSelect:"Select Member",labelAdd:"Add Member",placeholder:"Search for a member to provide cluster access",searchPlaceholder:"Start typing to search",noResults:"No results found"}},privateRegistry:{header:"Registry for Rancher System Container Images",label:"Enable cluster scoped container registry for Rancher system container images",description:"If enabled, Rancher will pull container images from this registry during cluster provisioning. By default, Rancher will also use this registry when installing Rancher's official Helm chart apps. If the cluster scoped registry is disabled, system images are pulled from the System Default Registry in the global settings.",docsLinkRke2:'For help configuring private registry mirrors, see the RKE2 documentation.',docsLinkK3s:'For help configuring private registry mirrors, see the K3s documentation.'},provider:{aliyunecs:"Aliyun ECS",aliyunkubernetescontainerservice:"Alibaba ACK",aliyun:"Alibaba ACK",amazonec2:"Amazon EC2",amazoneks:"Amazon EKS",aws:"Amazon",azure:"Azure",azureaks:"Azure AKS",aks:"Azure AKS",azurekubernetesservice:"Azure AKS",baiducloudcontainerengine:"Baidu CCE",baidu:"Baidu CCE",cloudca:"Cloud.ca",cloudscale:"Cloudscale",custom:"Custom",digitalocean:"DigitalOcean",docker:"Docker",eks:"Amazon EKS",exoscale:"Exoscale",gcp:"Google",google:"Google GCE",googlegke:"Google GKE",gke:"Google GKE",harvester:"Harvester",huaweicce:"Huawei CCE",import:"Generic",imported:"Imported",k3s:"K3s",kubeAdmin:"KubeADM",linode:"Linode",linodelke:"Linode LKE",local:"Local",minikube:"Minikube",oci:"Oracle OCI",openstack:"OpenStack",opentelekomcloudcontainerengine:"Open Telekom Cloud CCE",otccce:"Open Telekom Cloud CCE",oracle:"Oracle",oracleoke:"Oracle OKE",otc:"Open Telekom Cloud",other:"Other",ovhcloudmks:"OVHcloud MKS",packet:"Equinix Metal",pinganyunecs:"Pinganyun ECS",pnap:"phoenixNAP",rackspace:"RackSpace",rancherkubernetesengine:"RKE",rke2:"RKE2",rke:"RKE1",rkeWindows:"Windows (RKE1 only)",s3:"S3-Compatible",softlayer:"IBM Cloud",tencenttke:"Tencent TKE",upcloud:"UpCloud",vmwarevsphere:"VMware vSphere",zstack:"ZStack",machineinventoryselectortemplate:"Elemental Cluster"},providerTag:{rke2:{harvester:"{tag}"}},providerGroup:{"create-custom1":"Use existing nodes and create a cluster using RKE","create-custom2":"Use existing nodes and create a cluster using RKE2/K3s","create-kontainer":"Create a cluster in a hosted Kubernetes provider","register-kontainer":"Register an existing cluster in a hosted Kubernetes provider","create-rke1":"Provision new nodes and create a cluster using RKE","create-rke2":"Provision new nodes and create a cluster using RKE2/K3s","create-template":"Use a Catalog Template to create a cluster","register-custom":"Import any Kubernetes cluster"},rke2:{banner:{psaChange:"PSACT is now set to Rancher default automatically",cisOverride:"Changing this setting may affect cluster security as it overrides default CIS settings",cisUnsupported:'The selected Kubernetes Version no longer supports CIS Profile "{cisProfile}". Please select a supported profile. We recommend reviewing the documentation to evaluate the impact of changing the CIS Profile.'},modal:{editYamlMachinePool:{title:"Save Machine Configurations",body:"Machine Configurations define how machines in Pools are deployed.

    They will be saved upfront to ensure valid Cluster YAML can be saved."}},snapshots:{suffix:"Snapshots per node"},systemService:{"rke2-coredns":"CoreDNS","rke2-ingress-nginx":"NGINX Ingress","rke2-kube-proxy":"Kube Proxy","rke2-metrics-server":"Metrics Server",header:"System Services"},cni:{label:"Container Network",cniNoneBanner:'When CNI is set to \'none\' an Additional Manifest deploying an alternate CNI must be specified for successful cluster provisioning.',cilium:{BandwidthManager:{enable:"Enable Bandwidth Manager"}}},cloudProvider:{label:"Cloud Provider",header:"Cloud Provider Config",defaultValue:{label:"Default - RKE2 Embedded"}},security:{header:"Security"},cis:{server:"Server CIS Profile",agent:"CIS Profile",override:"Allow the default Pod Security Admission Configuration Template to be overridden when using a CIS Profile"},defaultPodSecurityPolicyTemplateName:{label:"Default Pod Security Policy",option:"Default - RKE2 Embedded"},defaultPodSecurityAdmissionConfigurationTemplateName:{label:"Pod Security Admission Configuration Template",option:{none:"(None)",default:"Default - RKE2 Embedded"}},secretEncryption:{label:"Encrypt Secrets"},cisProfile:{option:"(None)"},enableNetworkPolicy:{label:"Project Network Isolation",warning:"Per default, the ingress controller will not be able to route requests to pods on other nodes."},workNode:{label:"Worker Nodes"},controlPlaneConcurrency:{header:"Control Plane",label:"Control Plane Concurrency",toolTip:"This can be either a fixed number of nodes (e.g. 1) at a time or a percentage (e.g. 10%)"},workerConcurrency:{label:"Worker Concurrency",toolTip:"This can be either a fixed number of nodes (e.g. 1) at a time or a percentage (e.g. 10%)"},drain:{label:"Drain Nodes",toolTip:"Draining preemptively removes the pods on each node so there are no running workloads on the nodes being upgraded. Upgrading without draining is faster and causes less shuffling around, but pods may still be restarted depending on the upgrade being performed.",deleteEmptyDir:{warning:"By default, pods using emptyDir volumes will be deleted on upgrade. Operations reliant on emptyDir volumes persisting through the pod's lifecycle may be impacted.",label:"Delete pods using emptyDir volumes",tooltip:"emptyDir volumes are often used for ephemeral data, but the data will be permanently deleted. Draining will fail if this is not set and there are pods using emptyDir."},force:{label:"Delete standalone pods",tooltip:"Delete standalone pods which are not managed by a Workload controller (Deployment, Job, etc). Draining will fail if this is not set and there are standalone pods."},gracePeriod:{checkboxLabel:"Override pod termination grace periods",inputLabel:"Grace Period"},timeout:{checkboxLabel:"Timeout after",inputLabel:"Drain Timeout"}},truncateHostnames:"Truncate hostnames to 15 characters for NetBIOS compatibility.",address:{tooltip:"Cluster networking values cannot be changed after the cluster is created.",header:"Addressing",clusterCidr:{label:"Cluster CIDR"},serviceCidr:{label:"Service CIDR"},dns:{label:"Cluster DNS"},domain:{label:"Cluster Domain"},nodePortRange:{label:"NodePort Service Port Range"},tlsSan:{label:"TLS Alternate Names"},fqdn:{toolTip:"A FQDN which will resolve to the healthy control plane nodes of the cluster."},caCerts:{label:"CA Certificates",toolTip:"Certificates required for the client to successfully verify the validity of the certificate returned by the endpoint."},ipv6:{warning:"It looks like you are using an IPv6 CIDR. Your node driver may require additional configuration to support this.",enable:"Enable IPv6 support"}},etcd:{disableSnapshots:{label:"Automatic Snapshots"},snapshotScheduleCron:{label:"Cron Schedule"},snapshotRetention:{label:"Keep the last"},exportMetric:{label:"Metrics",false:"Only available inside the cluster",true:"Exposed to the public interface"}}},k3s:{systemService:{coredns:"CoreDNS","local-storage":"Local Storage","metrics-server":"Metrics Server",servicelb:"Klipper Service LB",traefik:"Traefik Ingress"}},selectCredential:{genericDescription:"{vendor} has no built-in support for this driver. We've taken a guess, but consult the driver's documentation for the fields required for authentication."},snapshot:{successTitle:"Snapshot Started",errorTitle:"Error Snapshotting {name}",successMessage:"A snapshot has been requested for {name}",bulkSuccessTitle:"Snapshot Started",bulkSuccessMessage:"{count, plural,\n =1 { A snapshot has been requested for 1 cluster }\n other {A snapshot has been requested for {count} clusters}\n}",groupLabel:"Location",failed:"Snapshot from {time} failed",rke1:{local:"local",s3:"s3"}},tabs:{ace:"Authorized Endpoint",addOnAdditionalManifest:"Additional Manifest",advanced:"Advanced",agentEnv:"Agent Environment Vars",basic:"Basics",cluster:"Cluster Configuration",etcd:"etcd",log:"Provisioning Log",networking:"Networking",machinePools:"Machine Pools",machines:"Machines",memberRoles:"Member Roles",registry:"Registries",upgrade:"Upgrade Strategy",registration:"Registration"},rotateCertificates:{label:"Rotate Certificates",modalTitle:"Rotate Cluster Certificates",services:"Services",allServices:"Rotate all service certificates",selectService:"Rotate an individual service"},toggle:{v1:"RKE1",v2:"RKE2/K3s"},validation:{iamInstanceProfileName:'If the Amazon cloud provider is selected the "IAM Instance Profile Name" must be defined for each Machine Pool'}},clusterIndexPage:{hardwareResourceGauge:{consumption:"{useful} of {total} {units} {suffix}",cores:"CPU",pods:"Pods",ram:"Memory",used:"Used",reserved:"Reserved",units:{cores:"{count, plural,\n=1 {core}\nother {cores}}"}},header:"Cluster Dashboard",resourceGauge:{totalResources:"Total Resources"},sections:{capacity:{label:"Capacity"},events:{label:"Events",resource:{label:"Resource"},date:{label:"Date"}},alerts:{label:"Alerts"},clusterMetrics:{label:"Cluster Metrics"},etcdMetrics:{label:"Etcd Metrics"},k8sMetrics:{label:"Kubernetes Components Metrics"},gatekeeper:{buttonText:"Configure Gatekeeper",disabled:"OPA Gatekeeper is not configured.",label:"OPA Gatekeeper Constraint Violations",noRows:"There are no constraints with violations to show."},nodes:{label:"Unhealthy Nodes",noRows:"There are no unhealthy nodes to show."},componentStatus:{etcd:"Etcd",scheduler:"Scheduler","controller-manager":"Controller Manager",cattle:"Cattle",fleet:"Fleet"},certs:{label:"Certificates"}}},configmap:{tabs:{data:{label:"Data",protip:"Use this area for anything that's UTF-8 text data"},binaryData:{label:"Binary Data"}}},containerResourceLimit:{cpuPlaceholder:"e.g. 1000",gpuPlaceholder:"e.g. 1",helpText:"Configure how much of the resources the container can consume by default.",helpTextDetail:"The amount of resources the container can consume by default.",label:"Container Default Resource Limit",limitsCpu:"CPU Limit",limitsGpu:"NVIDIA GPU Limit/Reservation",limitsMemory:"Memory Limit",memPlaceholder:"e.g. 128",requestsCpu:"CPU Reservation",requestsMemory:"Memory Reservation"},resource:{errors:{update:"Error updating {name}"}},codeMirror:{keymap:{tooltip:"Key mapping preference.",indicatorToolip:"Key mapping: {name}"}},cruResource:{backToForm:"Back to Form",backBody:"You will lose any changes made to the YAML.",cancelBody:"You will lose any changes made to the YAML.",confirmBack:"Okay",confirmCancel:"Okay",reviewForm:"Keep editing YAML",reviewYaml:"Keep editing YAML",previewYaml:"Edit as YAML",showYaml:"View as YAML"},drivers:{kontainer:{title:"Cluster Drivers"},node:{title:"Node Drivers"},add:{title:"Add Driver",name:{label:"Driver name"},downloadUrl:{label:"Download URL",placeholder:"https://test.com/driver",tooltip:"The URL to download the machine driver binary for 64-bit Linux."},customUiUrl:{label:"Custom UI URL",placeholder:"https://test.com/ui",tooltip:"The URL to load for customized Add Nodes screen for this driver. See https://github.com/rancher/ui-driver-skel for more info."},checksum:{label:"Checksum",tooltip:"Checksum to verify that the downloaded driver matches the expected checksum."},whitelist:"Whitelist Domains"},actions:{refresh:"Refresh Kubernetes Metadata"},deactivate:{title:"Are you sure?",andOthers:"{count, plural,\n=0 {}\n=1 { and one other }\nother { and {count} other }\n}",warningDrivers:"{count, plural,\n=1 { You will no longer be able to edit the configuration of clusters using {names} driver.}\nother { You will no longer be able to edit the configuration of clusters using {names} drivers.}\n}",warning:"{count, plural,\n=1 { {warningDrivers} Resources in the corresponding provider will not be automatically removed.}\nother { {warningDrivers} Resources in the corresponding providers will not be automatically removed.}\n}"}},detailText:{collapse:"Hide",binary:"",empty:"",unsupported:"",plusMore:"{n, plural,\n =1 {+ 1 more char}\n other {+ {n, number} more chars}\n}"},drainNode:{action:"Drain",actionStop:"Stop Drain",titleOne:"Drain {name}",titleMultiple:"Drain {count} Nodes",deleteLocalData:"Delete Empty Dir Data",force:"Force",safe:{label:"Safe",helpText:"If a node has standalone pods or ephemeral data it will be cordoned but not drained."},gracePeriod:{title:"Grace period for pods to terminate themselves",default:"Honor the default from each pod",placeholder:"e.g. 30",custom:"Ignore the defaults and give each pod:"},timeout:{title:"Drain timeout",default:"Keep trying forever",placeholder:"e.g. 60",custom:"Give up after:"}},etcdInfoBanner:{hasLeader:"Etcd has a leader:",leaderChanges:"Number of leader changes:",failedProposals:"Number of failed proposals:"},fleet:{dashboard:{pageTitle:"Continuous Delivery Dashboard",menuLabel:"Dashboard",welcome:"Welcome to Fleet Continuous Delivery",gitOpsScale:"GitOps at scale.",learnMore:"Learn More.",learnMoreLink:"https://fleet.rancher.io",noRepo:"You don't have any Git Repositories in your Workspaces",getStarted:"Get started",thereIsMore:"{count, plural,\n=1 { There is one other workspace with no repositories}\nother { There are { count } other workspaces with no repositories}\n}",expandAll:"Expand All",collapseAll:"Collapse All"},cluster:{summary:"Resource Summary",nonReady:"Non-Ready Bundles"},clusters:{harvester:"There {count, plural,\n=1 {is 1 Harvester cluster that is hidden as this can not be used with Continuous Delivery}\nother {are # Harvester clusters that are hidden as they can not be used with Continuous Delivery}\n}"},tokens:{harvester:"{count, plural,\n=1 {1 token is hidden as it belongs to a Harvester cluster that can not be used with Continuous Delivery}\nother {# tokens are hidden as they belong to Harvester clusters that can not be used with Continuous Delivery}\n}"},bundles:{resources:"Resources",harvester:"{count, plural,\n=1 {1 bundle is hidden as it belongs to a Harvester cluster that can not be used with Continuous Delivery}\nother {# bundles are hidden as they belong to Harvester clusters that can not be used with Continuous Delivery}\n}"},fleetSummary:{noClustersGitRepo:"This git repo is not targeting any clusters",state:{ready:"Ready",info:"Transitioning",warning:"Warning",error:"Error",unknown:"Unknown",notReady:"Not Ready",waitApplied:"Wait Applied"}},gitRepo:{createLocalBanner:"When deploying a Git Repo to the Local workspace you are unable to target any specific Cluster or Cluster Groups",tabs:{resources:"Resources",unready:"Non-Ready"},auth:{label:"Authentication",git:"Git Authentication",helm:"Helm Authentication"},caBundle:{label:"Certificates",placeholder:"Paste in one or more certificates, starting with -----BEGIN CERTIFICATE----"},paths:{label:"Paths",placeholder:"e.g. /directory/in/your/repo",addLabel:"Add Path",empty:"The root of the repo is used by default. To use one or more different directories, add them here."},repo:{label:"Repository URL",placeholder:"e.g. https://github.com/rancher/fleet-examples.git or git@github.com:rancher/fleet-examples.git",addRepo:"Add Repository",noRepos:"No repositories have been added",noWorkspaces:"There are no workspaces.
    Please create a workspace before adding repositories",protocolBanner:"Enter a valid HTTPS or SSH URL to a git repository."},resources:{label:"Resource Handling",keepResources:"Always Keep Resources",keepResourcesBanner:"When enabled above, resources will be kept when deleting a GitRepo or Bundle - only Helm release secrets will be deleted.",correctDrift:"Enable Self-Healing",correctDriftBanner:"When enabled, Fleet will ensure that the cluster resources are kept in sync with the git repository. All resource changes made on the cluster will be lost."},add:{steps:{repoInfo:{label:"Repository Details",title:"Specify the Git Repository to add to fleet",subtext:"Define repository details",description:"Fleet will continuously monitor the Git Repository you configure below and synchronise the resources contained in it to the configured targets."},targetInfo:{label:"Target Details",title:"Specify which target to synchronise this repository to",subtext:"Define target details",description:"You can configure which clusters will be used as the target of synchronisation with the resources in the repository."}}},ref:{label:"Watch",branch:"A Branch",revision:"A Revision",branchLabel:"Branch Name",branchPlaceholder:"e.g. master",revisionLabel:"Tag or Commit Hash",revisionPlaceholder:"e.g. v1.0.0"},serviceAccount:{label:"Service Account Name",placeholder:"Optional: Use a service account in the target clusters"},targetNamespace:{label:"Target Namespace",placeholder:"Optional: Require all resources to be in this namespace"},target:{selectLabel:"Target",advanced:"Advanced",cluster:"Cluster",clusterGroup:"Cluster Group",label:"Deploy To",labelLocal:"Deploy With"},targetDisplay:{advanced:"Advanced",cluster:"Cluster",clusterGroup:"Group",all:"All",none:"None",local:"Local"},tls:{label:"TLS Certificate Verification",verify:"Require a valid certificate",specify:"Specify additional certificates to be accepted",skip:"Accept any certificate (insecure)"},warningTooltip:{clusterGroup:"There are no clusters in this Cluster Group",cluster:"There are no clusters available"},workspace:{label:"Workspace",addWorkspace:"Create a workspace"},helmRepoURLRegex:"Helm Repos (URL Regex)"},clusterGroup:{selector:{label:"Cluster Selectors",matchesAll:"Matches all {total, number} existing clusters",matchesNone:"Matches no existing clusters",matchesSome:'{matched, plural,\n =1 {Matches 1 of {total, number} existing clusters: "{sample}"}\n other {Matches {matched, number} of {total, number} existing clusters, including "{sample}"}\n}'}},fdc:{loadingChart:"Loading chart data...",renderingChart:"Rendering chart...",id:"ID",type:"Type",state:"State",cluster:"Cluster",error:"Error",ready:"Ready",errors:"Errors"},workspaces:{tabs:{restrictions:"Allowed Target Namespaces"},timeout:"Workspace creation timeout. It's possible the workspace was created. We suggest checking the workspace page before trying to create another."},restrictions:{addTitle:"allowedTargetNamespaces",addLabel:"Add",banner:"{count, plural, =0 { Adding namespaces here will create a GitRepoRestriction. } other { Only the Git Repo Restriction's allowedTargetNamespaces is managed here. You can make additional changes to the Git Repo Restriction} }"}},footer:{docs:"Docs",download:"Download CLI",forums:"Forums",issue:"File an Issue",slack:"Slack"},gatekeeperConstraint:{downloadViolations:"Download Violations",match:{title:"Match"},tab:{enforcementAction:{title:"Enforcement Action"},rules:{title:"Rules",sub:{labelSelector:{addLabel:"Add Label",title:"Label Selector"}}},namespaces:{sub:{excludedNamespaces:"Excluded Namespaces",namespaces:"Namespaces",namespaceSelector:{addNamespace:"Add Namespace",title:"Namespace Selector"},scope:{title:"Scope"}},title:"Namespaces"},parameters:{addParameter:"Add Parameter",editAsForm:"Edit as Form",editAsYaml:"Edit as YAML",title:"Parameters"}},template:"Template",enforcement:{action:"Enforcement Action"},violations:{title:"Violations: {total}",notAll:"Not all are shown due to the configured OPA Gatekeeper constraint violation limit - the constraint only includes details for {shown}"}},gatekeeperIndex:{poweredBy:"OPA Gatekeeper",unavailable:"OPA + Gatekeeper is not available in the system-charts catalog.",violations:"Violations",deprecated:'The OPA Gatekeeper chart is deprecated as of Rancher 2.8 and will be removed in a future release. Please consider switching to Kubewarden.'},gatekeeperInstall:{auditInterval:"Auto Interval",constraintViolationsLimit:"Constraint Violations Limit",runtimeDefaultSeccompProfile:"Enable Runtime Default Seccomp Profile"},glance:{created:"Created",cpu:"CPU Usage",memory:"Memory",nodes:{total:{label:"{count, plural,\n =1 { Node }\n other { Total Nodes }\n}"}},pods:"Pods",provider:"Provider",version:"Kubernetes Version",architecture:"Architecture",monitoringDashboard:"Monitoring Dashboard",installMonitoring:"Install Monitoring",clusterInfo:"Cluster Information",eventsTable:"Full events list",secretsTable:"Full secrets list"},clusterBadge:{customizeAppearance:"Customize Appearance",addLabel:"Add Cluster Badge",setClusterAppearance:"Cluster Appearance",customize:"Customize",editLabel:"Edit Cluster Badge",modal:{title:"Cluster Appearance",checkbox:"Show cluster comment",comment:"Custom comment",iconText:"Icon Text",buttonAction:"Apply",badgeBgColor:"Badge background color",badgeTextColor:"Badge text color",badgeAsIcon:"Use custom badge",maxCharsTooltip:"Overwrites the default cluster name abbreviation.",previewTitle:"Preview:",previewSide:"SIDE NAVIGATION",previewHeader:"RANCHER HEADER"}},grafanaDashboard:{failedToLoad:"Failed to load graph",reload:"Reload",grafana:"Grafana"},graphOptions:{detail:"Detail",summary:"Summary",refresh:"Refresh",range:"Range"},growl:{clearAll:"Clear All Notifications",disconnectError:{message:"The connection to {url} closed unexpectedly at {time}. Disconnected after {tries} reconnect attempts. Check your network connection and reload the page",title:"Websocket Disconnected"},connectError:{message:"The connection to {url} closed unexpectedly at {time}. Reconnect attempt #{tries}.",title:"Websocket Reconnecting"},reconnected:{message:"The connection to {url} was restored on attempt #{tries}.",title:"Websocket Reconnected"},podSecurity:{message:"The creation of this Pod would violate existing restricted policies for the adopted Namespace",title:"PodSecurity violation"},kubeApiHeaderWarning:{titleCreate:"{resourceType} Creation Warning",titleUpdate:"{resourceType} Update Warning"}},hpa:{detail:{currentMetrics:{header:"Current Metrics",noMetrics:"No Current Metrics"},metricHeader:"{source} Metric"},metricIdentifier:{name:{label:"Metric Name",placeholder:"e.g. packets-per-second"},selector:{label:"Add Selector"}},metricTarget:{averageVal:{label:"Average Value"},quantity:{label:"Quantity"},type:{label:"Type"},utilization:{label:"Average Utilization"},value:{label:"Value"}},metrics:{headers:{metricName:"Name",objectKind:"Object Kind",objectName:"Object Name",quantity:"Quantity",resource:"Resource Name",targetName:"Target Name",value:"Value"},source:"Source"},objectReference:{api:{label:"Referent API Version",placeholder:"e.g. apps/v1beta1"},kind:{label:"Referent Kind",placeholder:"e.g. Deployment"},name:{label:"Referent Name",placeholder:"e.g. php-apache"}},scaleDownRules:{label:"Scale down behavior",enable:"Configure scale down behavior"},scaleUpRules:{label:"Scale up behavior",enable:"Configure scale up behavior"},scalingRule:{policyHeader:"Policies",addPolicy:"Add policy",selectPolicy:"Select policy",selectPolicyTooltip:"Select the policy with the maximum value, minimum value or disable scaling.",stabilizationWindowSeconds:"Stabilization window seconds",stabilizationWindowSecondsTooltip:"Number of seconds for which past recommendations should be considered while scaling up or scaling down.",policy:{type:"Type",typeTooltip:"Set policy based on the amount of Pods to scale or the percentage of current replicas to scale.",value:"Value",valueTooltip:"The amount of change which is permitted by the policy.",periodSeconds:"Period seconds",periodSecondsTooltip:"The window of time for which the policy should hold true."}},tabs:{labels:"Labels",metrics:"Metrics",target:"Target",workload:"Workload",behavior:"Behavior"},types:{cpu:"CPU",memory:"Memory"},warnings:{custom:"In order to use custom metrics with HPA, you need to deploy the custom metrics server such as prometheus adapter.",external:"In order to use external metrics with HPA, you need to deploy the external metrics server such as prometheus adapter.",noMetric:"In order to use resource metrics with HPA, you need to deploy the metrics server.",resource:"The selected target reference does not have the correct resource requests on the spec. Without this the HPA metric will have no effect."},workloadTab:{current:"Current Replicas",last:"Last Scale Time",max:"Maximum Replicas",min:"Minimum Replicas",targetReference:"Target Reference"}},import:{title:"Import YAML",defaultNamespace:{label:"Default Namespace"},success:"Applied {count, plural,\n=1 {1 Resource}\nother {# Resources}\n}"},ingress:{description:"Ingresses route incoming traffic from the internet to Services within the cluster based on the hostname and path specified in the request. You can expose multiple Services on the same external IP address and port.",certificates:{addCertificate:"Add Certificate",addHost:"Add Host",certificate:{label:"Certificate - Secret Name",doesntExist:"The selected certificate does not exist"},defaultCertLabel:"Default Ingress Controller Certificate",headers:{certificate:"Certificate",hosts:"Hosts"},host:{label:"Host",placeholder:"e.g. example.com"},label:"Certificates",removeHost:"Remove"},defaultBackend:{label:"Default Backend",noServiceSelected:"No default backend is configured.",port:{label:"Port",placeholder:"e.g. 80 or http",notInt:"Port must be an integer",required:"Port is required"},targetService:{label:"Target Service",doesntExist:"The selected service does not exist",required:"Target Service is required"},warning:"Warning: Default backend is used globally for the entire cluster."},ingressClass:{label:"Ingress Class"},rules:{addPath:"Add Path",addRule:"Add Rule",headers:{pathType:"Path Type",path:"Path",port:"Port",target:"Target Service",certificates:"Certificates"},hostname:"Hostname",path:{label:"Path",placeholder:"e.g. /foo"},port:{label:"Port",placeholder:"e.g. 80 or http"},removePath:"Remove",requestHost:{label:"Request Host",placeholder:"e.g. example.com"},target:{label:"Target Service",tooltip:"If none of the Services in this dropdown select the Pods that you need to expose, you will need to create a Service that selects those Pods first.",doesntExist:"The selected service does not exist"},title:"Rules"},rulesAndCertificates:{title:"Rules and Certificates",defaultCertificate:"default"},target:{default:"Default"},rulesOrBackendSpecified:"Either Default Backend or Rules must be specified"},internalExternalIP:{none:"None"},istio:{links:{kiali:{label:"Kiali",description:'Visualization of services within a service mesh and how they are connected. For Kiali to display data, you need Prometheus installed. If you need a monitoring solution, install {vendor} monitoring.'},jaeger:{label:"Jaeger",description:"Monitor and Troubleshoot microservices-based distributed systems."},disabled:"{app} is not installed"},cni:"Enable CNI",customOverlayFile:{label:"Custom Overlay File",tip:'The overlay file allows for additional configuration on top of the base {vendor} Istio installation. You can utilize the IstioOperator API to make changes and additions for all components and apply those changes via this overlay YAML file.'},description:'{vendor} Istio helm chart installs a minimal Istio configuration for you to get started integrating with your applications. If you would like to get additional information about Istio, visit https://istio.io/latest/docs/concepts/what-is-istio/',destinationRule:{title:{new:"Add Destination Rule",edit:"Edit Destination Rule",view:"Destination Rule: {name}"},port:{label:"Port",placeholder:"e.g. 8080 or myport"},host:{label:"Input a host",error:"Host is required."},name:{placeholder:"e.g. myrule"},loadBalancer:{title:"Load Balancer",label:"Algorithm",detail:"Configure the load balancer algorithms",simple:{label:"Use standard load balancing algorithms",roundRobin:{label:"Round Robin Policy"},leastConn:{label:"Least Request Load Balancer"},random:{label:"Random Load Balancer"},passthrough:{label:"Passthrough"}},consistentHash:{label:"Use consistent hash-based load balancing for soft session affinity",httpHeaderName:{label:"HTTP Header Name",placeholder:"e.g. end-user",error:"HTTP Header Name is required."},minimumRingSize:{label:"Minimum Ring Size",placeholder:"e.g. 1024"},httpCookie:{name:{label:"Cookie Name",placeholder:"e.g. username",error:"Cookie Name is required."},path:{label:"Cookie Path",placeholder:"e.g. /"},ttl:{label:"TTL",placeholder:"e.g. 0s",error:"TTL is required."}},mode:{label:"Hash Mode",header:{label:"Hash based on a specific HTTP header"},cookie:{label:"Hash based on HTTP cookie"},sourceIp:{label:"Hash based on the source IP address"}}}},connectionPool:{label:"Connection Pool",detail:"Configure the volume of connections to an upstream service",http1MaxPendingRequests:{label:"HTTP1 Max Pending Requests",placeholder:"e.g. 1024",help:"Maximum number of pending HTTP requests to a destination."},http2MaxRequests:{label:"HTTP2 Max Requests",placeholder:"e.g. 1024",help:"Maximum number of requests to a backend."},maxRequestsPerConnection:{label:"HTTP Max Requests Per Connection",placeholder:"e.g. 10",help:"Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive."},maxRetries:{label:"HTTP Max Retries",placeholder:"e.g. 1024",help:"Maximum number of retries that can be outstanding to all hosts in a cluster at a given time."},connectTimeout:{label:"TCP Connection Timeout",placeholder:"e.g. 30ms",help:"TCP connection timeout."},maxConnections:{label:"TCP Max Connections",placeholder:"e.g. 1024",help:"Maximum number of HTTP1 /TCP connections to a destination host."}},outlierDetection:{label:"Outlier Detection",detail:"Configure eviction of unhealthy hosts from the load balancing pool",baseEjectionTime:{label:"Base Ejection Time",placeholder:"e.g. 30s",help:"Minimum ejection duration. A host will remain ejected for a period equal to the product of minimum ejection duration and the number of times the host has been ejected."},consecutiveErrors:{label:"Consecutive Errors",placeholder:"e.g. 5",help:"Number of errors before a host is ejected from the connection pool."},interval:{label:"Interval",placeholder:"e.g. 10s",help:"Time interval between ejection sweep analysis."},maxEjectionPercent:{label:"Max Ejection Percent",placeholder:"e.g. 10",help:"Maximum % of hosts in the load balancing pool for the upstream service that can be ejected."}},subsets:{label:"Subsets",noSubsets:"No Subsets",addSubsetLabel:"Add Subset",removeSubsetLabel:"Remove Subset",name:{label:"Name",placeholder:"e.g. v1",error:"Subset Name is required."},labels:{error:"Please input at least one label for subset."}},tls:{label:"TLS",detail:"Configure TLS related settings for connections to the upstream service",mode:{label:"TLS Mode",none:{label:"NONE"},istio:{label:"Istio Mutual - Secure connections to the upstream using mutual TLS by Istio"},disable:{label:"Disable - Do not setup a TLS connection to the upstream endpoint"},simple:{label:"Simple - Originate a TLS connection to the upstream endpoint"},mutual:{label:"Mutual - Secure connections to the upstream using mutual TLS by presenting client certificates for authentication"}},clientCertificate:{label:"Client Certificate",placeholder:"e.g. /etc/certs/myclientcert.pem",error:"Client Certificate is required."},privateKey:{label:"Private Key",placeholder:"e.g. /etc/certs/client_private_key.pem",error:"Private Key is required."},caCertificates:{label:"CA Certificates",placeholder:"e.g. /etc/certs/rootcacerts.pem"},sni:{label:"SNI",placeholder:"e.g. nginx.example.com"},subjectAltNames:{label:"Subject Alternative Names",placeholder:"e.g. example.com",add:"Add Subject Alternative Name"}}},egressGateway:"Enable Egress Gateway",ingressGateway:"Enable Ingress Gateway",istiodRemote:"Enable istiodRemote",kiali:"Enable Kiali",pilot:"Enable Pilot",policy:"Enable Policy",pilotRequired:"Pilot must be enabled in order to enable Kiali",poweredBy:'Powered by Istio',telemetry:"Enable Telemetry",titles:{components:"Components",customAnswers:"Custom Answers",advanced:"Advanced Settings",description:"Description"},tracing:"Enable Jaeger Tracing (limited)",v1Warning:"Please uninstall the current Istio version in the istio-system namespace before attempting to install this version."},jwt:{title:"JWT Authentication",actions:{activate:"Enable",deactivate:"Disable",refresh:"Refresh"},state:{enabled:"Enabled",disabled:"Disabled"},headers:{clusterName:"Cluster Name",updatedOn:"JWT Enabled On",clusterAge:"Cluster Age"}},labels:{addLabel:"Add Label",addSetLabel:"Add/Set Label",addTag:"Add Tag",addTaint:"Add Taint",addAnnotation:"Add Annotation",labels:{title:"Labels",description:"Key/value pairs that are attached to objects which specify identifying attributes.",fleetClusterTooltip:"Label changes are made to the Management Cluster and synchronized to the Fleet Cluster",show:"Show System Labels and Annotations",hide:"Hide System Labels and Annotations"},annotations:{title:"Annotations"}},labelSelect:{noOptions:{empty:"No options",noMatch:"No matching options"},pagination:{counts:"{count} / {totalCount} items",more:"Load More..."}},landing:{clusters:{title:"Clusters",provider:"Provider",distro:"Distro",kubernetesVersion:"Kubernetes Version",architecture:"Architecture",explorer:"Explorer",explore:"Explore",cores:"{count, plural,\n=1 {core}\nother {cores}}",cpuUsed:"CPU Used",memoryUsed:"Memory Used"},seeWhatsNew:"Learn more about the improvements and new capabilities in this version.",whatsNewLink:"What's new in 2.9",learnMore:"Learn More",support:"Support",community:{title:"Community Support",docs:"Docs",forums:"Forums"},commercial:{title:"Commercial Support",body:"Learn about commercial support"},landingPrefs:{title:"You can change what you see when you login via preferences",userPrefs:"Preferences",body:"You can change where you land when you login",options:{homePage:"Take me to the home page",lastVisited:"Take me to the area I last visited",custom:"Take me to cluster:"}},welcomeToRancher:"Welcome to {vendor}"},logging:{clusterFlow:{noOutputsBanner:"There are no cluster outputs in the selected namespace."},flow:{clusterOutputs:{doesntExistTooltip:"This cluster output doesn't exist",label:"Cluster Outputs"},matches:{banner:"Configure which container logs will be pulled from",unsupportedConfig:"This resource contains a match configuration that the form editor does not support. Please use YAML edit.",label:"Matches",addSelect:"Add Include Rule",addExclude:"Add Exclude Rule",pods:{title:{include:"Include Pods",exclude:"Exclude Pods"},keyLabel:"Pod Label Key",valueLabel:"Pod Label Value",addLabel:"Add Pod"},nodes:{title:{include:"Limit to specific nodes",exclude:"Exclude specific nodes"},placeholder:"Default: Any node"},containerNames:{title:{include:"Limit to specific container names",exclude:"Exclude specific container names"},placeholder:"Default: Any container",enter:"Enter container name to select"},namespaces:{title:{include:"Limit to specific namespaces",exclude:"Exclude specific namespaces"},placeholder:"Default: Any namespace"}},filters:{label:"Filters"},outputs:{doesntExistTooltip:"This output doesn't exist",sameNamespaceError:"Output must reside in same namespace as the flow.",label:"Outputs"}},install:{k3sContainerEngine:"K3S Container Engine",enableAdditionalLoggingSources:"Enable enhanced cloud provider logging",dockerRootDirectory:"Docker Root Directory",systemdLogPath:"systemd Log Path",tooltip:"Some kubernetes distributions log to journald. In order to collect these logs the systemdLogPath needs to be defined. While the /run/log/journal directory is used by default, some Linux distributions do not default to this path.",url:'Learn more',default:"/run/log/journal"},elasticsearch:{host:"Host",scheme:"Scheme",port:"Port",indexName:"Index Name",user:"User",password:"Password from Secret",caFile:{label:"CA File from Secret"},clientCert:{label:"Client Cert from Secret",placeholder:"Paste in the CA certificate"},clientKey:{label:"Client Key from Secret",placeholder:"Paste in the client key"},clientKeyPass:"Client Key Pass from Secret",verifySsl:"Verify SSL",sslVersion:"SSL Version",suppressTypeName:{label:"Suppress Type Names",elasticSearchTips:"Suppress type names by default to be compatible with log server. You should enable it for Elasticsearch >= 8.0.0",openSearchTips:"Suppress type names by default to be compatible with log server. You should enable it for OpenSearch >= 2.0.0"}},redis:{host:"Host",port:"Port",dbNumber:"Redis database number",ttl:"TTL for each key",password:"Password from Secret",format:{title:"Format",type:"Type"}},gelf:{host:"Host",port:"Port",protocol:"Protocol",tls:"Enable TLS",tlsOptions:{clientCert:"Client Cert",clientKey:"Client Cert Key",allCiphers:"Allow any ciphers to be used",tlsVersion:"TLS version",noVerify:"Skip TLS verification"}},kafka:{brokers:"Brokers",defaultTopic:"Default Topic",saslOverSsl:"SASL Over SSL",scramMechanism:"Scram Mechanism",username:"Username from Secret",password:"Password from Secret",sslCaCert:{label:"CA Cert from Secret",placeholder:"Paste in the CA certificate"},sslClientCert:{label:"Cert from Secret",placeholder:"Paste in the client cert"},sslClientCertChain:{label:"Cert Chain from Secret",placeholder:"Paste in the client cert chain"},sslClientCertKey:"Cert Key from Secret"},loki:{url:"URL",urlInvalid:"Incorrect URL format. Please check and correct your URL format before saving.",tenant:"Tenant",username:"User from Secret",password:"Password from Secret",configureKubernetesLabels:"Configure Kubernetes metadata in a Prometheus like format",extractKubernetesLabels:"Extract Kubernetes labels as Loki labels",dropSingleKey:"If a record only has 1 key, then just set the log line to the value and discard the key",caCert:"CA Cert from Secret",cert:"Cert from Secret",key:"Key from Secret"},awsElasticsearch:{url:"URL",keyId:"Key Id from Secret",secretKey:"Secret Key from Secret"},azurestorage:{storageAccount:"Account from Secret",accessKey:"Access Key from Secret",container:"Container",path:"Path",storeAs:"Store As"},cloudwatch:{keyId:"Key Id from Secret",secretKey:"Secret Key from Secret",endpoint:"Endpoint",region:"Region",logGroupName:"Log Group Name",logStreamName:"Log Stream Name"},datadog:{apiKey:"API Key from Secret",useSSL:"Use SSL",useCompression:"Use Compression",host:"Host"},file:{path:"Path"},gcs:{project:"Project",credentialsJson:"Credentials from Secret",bucket:"Bucket",path:"Path",overwriteExistingPath:"Overwrite Existing Path"},kinesisStream:{streamName:"Stream Name",keyId:"Key Id from Secret",secretKey:"Secret Key from Secret"},logdna:{apiKey:"API Key",hostname:"Hostname",app:"App"},logz:{url:"URL",port:"Port",token:"Api Token from Secret",enableCompression:"Enable Compression"},newrelic:{apiKey:"API Key from Secret",licenseKey:"License Key from Secret",baseURI:"Base URI"},sumologic:{endpoint:"Endpoint from Secret",sourceName:"Source Name"},syslog:{host:"Host",port:"Port",transport:"Transport",insecure:"insecure",trustedCaPath:"CA Path from Secret",format:{title:"Format",type:"Type",addNewLine:"Add New Line",messageKey:"Message Key"},buffer:{title:"Buffer",tags:"Tags",chunkLimitSize:"Chunk Limit Size",chunkLimitRecords:"Chunk Limit chunkLimitRecords",totalLimitSize:"Total Limit Size",flushInterval:"Flush Interval",timekey:"Timekey",timekeyWait:"Timekey Wait",timekeyUseUTC:"Timekey Use UTC"}},s3:{keyId:"Key Id from Secret",secretKey:"Secret Key from Secret",endpoint:"Endpoint",bucket:"Bucket",path:"Path",overwriteExistingPath:"Overwrite Existing Path"},output:{buffer:{label:"Output Buffer"},selectOutputs:"Select Outputs",selectBanner:"Select to configure an output",sections:{target:"Target",access:"Access",certificate:"Connection",labels:"Labels",configuration:"Configuration"}},outputProviders:{elasticsearch:"Elasticsearch",opensearch:"OpenSearch",redis:"Redis",splunkHec:"Splunk",kafka:"Kafka",forward:"Fluentd",gelf:"GELF",loki:"Loki",awsElasticsearch:"Amazon Elasticsearch",azurestorage:"Azure Storage",cloudwatch:"Cloudwatch",datadog:"Datadog",file:"File",gcs:"GCS",kinesisStream:"Kinesis Stream",logdna:"LogDNA",logz:"LogZ",newrelic:"New Relic",sumologic:"SumoLogic",syslog:"Syslog",s3:"S3",unknown:"Unknown"},overview:{poweredBy:"Banzai Cloud",clusterLevel:"Cluster-Level",namespaceLevel:"Namespace-Level"},provider:"Provider",splunk:{host:"Host",port:"Port",protocol:"Protocol",index:"Index",token:"Token from Secret",insecureSsl:"Insecure SSL",indexName:"Index Name",source:"Source",caFile:"CA File from Secret",caPath:"CA Path from Secret",clientCert:"Client Cert from Secret",clientKey:"Client Key from Secret"},forward:{host:"Host",port:"Port",sharedKey:"Shared Key from Secret",username:"Username from Secret",password:"Password from Secret",clientCertPath:"Client Cert Path from Secret",clientPrivateKeyPath:"Client Private Key Path from Secret",clientPrivateKeyPassphrase:"Client Private Key Passphrase from Secret"}},longhorn:{overview:{title:"Overview",subtitle:"Powered By: Longhorn",linkedList:{longhorn:{label:"Longhorn",description:"Manage storage system via UI",na:"Resource Unavailable",uiServiceUnavailable:"The Longhorn UI service is not available or you do not have permission to access it."}}}},neuvector:{overview:{title:"Overview",subtitle:"Powered by: NeuVector",linkedList:{neuvector:{label:"NeuVector",description:"Full Lifecycle Container Security",na:"Resource Unavailable"}}}},login:{howdy:"Howdy!",welcome:"Welcome to {vendor}",loggedOut:"You have been logged out.",loggedOutFromSso:"You've been logged out of Rancher, however you may still be logged in to your single sign-on identity provider.",loggedOutFromSlo:"You've been logged out of Rancher and from your single sign-on identity provider.",loginAgain:"Log in again to continue.",serverError:{authFailedCreds:"Logging in failed: Check credentials, or your account may not be authorized to log in.",authFailed:"Logging in failed: Your account may not be authorized to log in.",unknown:"An unknown error occurred while attempting to login. Please contact your system administrator.",invalidSamlAttrs:"Invalid saml attributes",noResponse:"No response received"},error:"An error occurred logging in. Please try again.",clientError:"Invalid username or password. Please try again.",specificError:"An error occurred logging in: {msg}",useLocal:"Use a local user",loginWithProvider:"Log in with {provider}",username:"Username",password:"Password",loggingIn:"Logging in...",loggedIn:"Logged in",loginWithLocal:"Log in with Local User",useProvider:"Use a {provider} user",useNonLocal:"Use a non-local user",remember:{label:"Remember Username"}},logout:{message:"Logging Out...",error:"An error occurred logging out: {msg}",specificError:{500:"Server-side error.\n\nPlease contact your system administrator.",unknown:"Unknown.\\n\\nPlease contact your system administrator."}},managementNode:{customName:"Custom Name"},members:{clusterMembers:"Cluster Members",clusterAndProject:"Cluster and Project Members",createActionLabel:"Add",clusterMembership:"Cluster Membership",projectMembership:"Project Membership",clusterPermissions:{noDescription:"User created - no description",label:"Cluster Permissions",description:"Controls what access users have to the Cluster",createProjects:"Create Projects",manageClusterBackups:"Manage Cluster Backups",manageClusterCatalogs:"Manage Cluster Catalogs",manageClusterMembers:"Manage Cluster Members",manageNavlinks:"Manage Navlinks",manageNodes:"Manage Nodes",manageStorage:"Manage Storage",viewAllProjects:"View All Projects",viewClusterCatalogs:"View Cluster Catalogs",viewClusterMembers:"View Cluster Members",viewNodes:"View Nodes",owner:{label:"Owner",description:"Owners have full control over the Cluster and all resources inside it."},member:{label:"Member",description:"Members can manage the resources inside the Cluster but not change the Cluster itself."},custom:{label:"Custom",description:"Choose individual roles for this user.",lockedRole:"This role is locked."}},localClusterWarning:"Caution: This is the cluster that Rancher is using as a data store. Only administrators should be given write access to this cluster. Users with write access to this cluster can use it to grant themselves access to any part of this installation.",noRolesAssigned:"There are no users assigned to this project."},membershipEditor:{label:"Members",user:"User",role:"Role"},monitoring:{accessModes:{many:"ReadWriteMany",once:"ReadWriteOnce",readOnlyMany:"ReadOnlyMany"},aggregateDefaultRoles:{label:"Aggregate to Default Kubernetes Roles",tip:'Adds labels to the ClusterRoles deployed by the Monitoring chart to aggregate to the corresponding default k8s admin, edit, and view ClusterRoles.'},alerting:{config:{label:"Alert Manager Config"},enable:{label:"Deploy Alertmanager"},secrets:{additional:{info:"Secrets should be mounted at
    /etc/alertmanager/secrets/
    ",label:"Additional Secrets"},existing:"Choose an existing config secret",info:"Create default config:
    A Secret containing your Alertmanager Config will be created in the
    cattle-monitoring-system
    namespace on deploying this chart under the name
    alertmanager-rancher-monitoring-alertmanager
    . By default, this Secret will never be modified on an uninstall or upgrade of this chart.

    \nOnce you have deployed this chart, you should edit the Secret via the UI in order to add your custom notification configurations that will be used by Alertmanager to send alerts.

    \nChoose an existing config secret:
    You must specify a Secret that exists in the
    cattle-monitoring-system
    namespace. If the namespace does not exist, you will not be able to select an existing secret.\n",label:"Alertmanager Secret",new:"Create default config",radio:{label:"Config Secret"}},validation:{duplicatedReceiverName:"A receiver with the name {name} already exists."},templates:{keyLabel:"File Name",label:"Template Files",valueLabel:"YAML Template"},title:"Configure Alertmanager"},clusterType:{label:"Cluster Type",placeholder:"Select cluster type"},createDefaultRoles:{label:"Create Default Monitoring Cluster Roles",tip:"Creates monitoring-admin, monitoring-edit, and monitoring-view ClusterRoles that can be assigned to users to provide permissions to CRDs installed by the Monitoring chart."},etcdNodeDirectory:{label:"etcd Node Certificate Directory",tooltip:"For clusters that use RancherOS for the etcd nodes, this option should be set to
    /opt/rke/etc/kubernetes/ssl
    . Hybrid environments that require specifying multiple certificate directories (e.g. an etcd plane composed of both RancherOS and Ubuntu hosts) are not supported."},grafana:{storage:{annotations:"PVC Annotations",className:"Storage Class Name",existingClaim:"Use Existing Claim",finalizers:"PVC Finalizers",label:"Grafana Storage",mode:"Access Mode",selector:"Selector",size:"Size",subpath:"Use Subpath",type:"Persistent Storage Types",types:{existing:"Enable With Existing PVC",statefulset:"Enable with StatefulSet Template",template:"Enable with PVC Template"},volumeName:"Volume Name"},title:"Configure Grafana"},hostNetwork:{label:"Use Host Network For Prometheus Operator",tip:"If you are using a managed Kubernetes cluster with custom CNI (e.g. Calico), you must enable this option to allow a managed control plane to contact the admission webhook exposed by Prometheus Operator to mutate or validate incoming PrometheusRules."},overview:{alertsList:{ends:{label:"Ends At"},label:"Active Alerts",message:{label:"Message"},severity:{label:"Severity"},start:{label:"Starts At"}},linkedList:{alertManager:{description:"Active Alerts",label:"Alertmanager"},grafana:{description:"Metrics Dashboards",label:"Grafana"},na:"Resource Unavailable",prometheusPromQl:{description:"PromQL Graph",label:"Prometheus Graph"},prometheusRules:{description:"Configured Rules",label:"PrometheusRules"},prometheusTargets:{description:"Configured Targets",label:"Prometheus Targets"}},subtitle:'Powered By: Prometheus',title:"Dashboard"},prometheus:{config:{adminApi:"Admin API",evaluation:"Evaluation Interval",ignoreNamespaceSelectors:{help:"Ignoring Namespace Selectors allows Cluster Admins to limit teams from monitoring resources outside of namespaces they have permissions to but can break the functionality of Apps that rely on setting up Monitors that scrape targets across multiple namespaces, such as Istio.",label:"Namespace Selectors",radio:{enforced:"Use: Monitors can access resources based on namespaces that match the namespace selector field",ignored:"Ignore: Monitors can only access resources in the namespace they are deployed in"}},limits:{cpu:"CPU Limit",memory:"Memory Limit"},requests:{cpu:"Requested CPU",memory:"Requested Memory"},resourceLimits:"Resource Limits",retention:"Retention",retentionSize:"Retention Size",scrape:"Scrape Interval"},storage:{className:"Storage Class Name",label:"Persistent Storage for Prometheus",mode:"Access Mode",selector:"Selector",selectorWarning:"If you are using a dynamic provisioner (e.g. Longhorn), no Selectors should be specified since a PVC with a non-empty selector can't have a PV dynamically provisioned for it.",size:"Size",volumeName:"Volume Name"},title:"Configure Prometheus",warningInstalled:"Warning: Prometheus Operators are currently deployed. Deploying multiple Prometheus Operators onto one cluster is not currently supported. Please remove all other Prometheus Operator deployments from this cluster before trying to install this chart.\nIf you are migrating from an older version of {vendor} with Monitoring enabled, please disable Monitoring on this cluster completely before attempting to install this chart.\n"},receiver:{addReceiver:"Add Receiver",fields:{name:"Name"},tls:{label:"SSL",caFilePath:{label:"CA File Path",placeholder:"e.g. ./ca-file.csr"},certFilePath:{label:"Cert File Path",placeholder:"e.g. ./cert-file.crt"},keyFilePath:{label:"Key File Path",placeholder:"e.g. ./key-file.pfx"},secretsBanner:'The file paths below must be referenced in
    alertmanager.alertmanagerSpec.secrets
    when deploying the Monitoring chart. For more information see our documentation.'}},projectMonitoring:{detail:{error:"Unable to fetch Dashboard values with status: "},list:{banner:"Project Monitoring Configuration is stored in ProjectHelmChart resources",empty:{message:"Project Monitoring has not been configured for any projects",canCreate:"Get started by clicking Create to add monitoring to a project",cannotCreate:"Contact the admin to add project monitoring"}}},route:{label:"Route",fields:{groupBy:"Group By",groupInterval:"Group Interval",groupWait:"Group Wait",receiver:"Receiver",repeatInterval:"Repeat Interval"}},routesAndReceivers:"Routes and Receivers (Deprecated)",monitors:"Monitors",projectMonitors:"Project Monitoring",alertmanagerConfig:{description:"Routes and receivers for project alerting and cluster alerting are configured within AlertmanagerConfig resources.",empty:"Alerts have not been configured for any accessible namespaces.",getStarted:"Get started by clicking Create to configure an alert.",receiverTooltip:"This route will direct alerts to the selected receiver, which must be defined in the same AlertmanagerConfig.",deprecationWarning:"The Route and Receiver resources are deprecated. Going forward, routes and receivers should not be managed as separate Kubernetes resources on this page. They should be configured as YAML fields in an AlertmanagerConfig resource.",routeInfo:"This form supports configuring one route that directs traffic to a receiver. Alerts can be directed to more receiver(s) by configuring child routes in YAML.",receiverFormNames:{create:"Create Receiver in AlertmanagerConfig",edit:"Edit Receiver in AlertmanagerConfig",editYaml:"Edit AlertmanagerConfig",detail:"Receiver in AlertmanagerConfig"},disabledReceiverButton:"The receiver form is available after the AlertmanagerConfig is created",error:"An error occurred saving the AlertmanagerConfig",email:{username:"Auth Username",password:"Secret with Auth Password"},slack:{apiUrl:"Secret with Slack Webhook URL"},pagerDuty:{routingKey:"Secret with Routing Key",serviceKey:"Secret with Service Key"},opsgenie:{apiKey:"Secret with API Key"},webhook:{url:"URL",urlSecret:"URL Secret",urlSecretTooltip:"urlSecret takes precedence over url. One of urlSecret and url should be defined."},auth:{bearerTokenSecret:"Bearer Token Secret",basicAuthUsername:"Secret with Basic Auth Username",basicAuthPassword:"Secret with Basic Auth Password"}},tabs:{alerting:"Alerting",general:"General",grafana:"Grafana",prometheus:"Prometheus",projectMetrics:"Project Metrics"},v1Warning:"Monitoring is currently deployed from Cluster Manager. If you are migrating from an older version of {vendor} with monitoring enabled, please disable monitoring in Cluster Manager before attempting to install the new {vendor} Monitoring chart in Cluster Explorer."},monitoringReceiver:{addButton:"Add {type}",custom:{label:"Custom",title:"Custom Config",info:"The YAML provided here will be directly appended to your receiver within the Alertmanager Config Secret."},email:{label:"Email",title:"Email Config"},opsgenie:{label:"Opsgenie",title:"Opsgenie Config"},pagerduty:{label:"PagerDuty",title:"PagerDuty Config",info:"You can find additional info on creating an Integration Key for PagerDuty here."},slack:{label:"Slack",title:"Slack Config",info:"You can find additional info on creating Incoming Webhooks for Slack here ."},webhook:{label:"Webhook",title:"Webhook Config",urlTooltip:"For some webhooks this a url that points to the service DNS",modifyNamespace:'If
    rancher-alerting-drivers
    default values were changed, please update the url below in the format http://<new_service_name>.<new_namespace>.svc.<port>/<path>',banner:'To use MS Teams or SMS you will need to have at least one instance of
    rancher-alerting-drivers
    installed first.',add:{selectWebhookType:"Select Webhook Type",generic:"Generic",msTeams:"MS Teams",alibabaCloudSms:"SMS"}},auth:{label:"Auth",authType:"Auth Type",username:"Username",password:"Password",none:{label:"None"},bearerToken:{label:"Bearer Token",placeholder:"e.g. secret-token"},basicAuth:{label:"Basic Auth"},bearerTokenFile:{label:"Bearer Token File",placeholder:"e.g. ./user_token"}},tls:{ca:"Secret with CA",cert:"Secret with Client Cert",key:"Secret with Client Key",serverName:"Server Name",serverNameTooltip:"Used to verify the hostname for the targets."},shared:{proxyUrl:{label:"Proxy URL",placeholder:"e.g. http://my-proxy/"},sendResolved:{label:"Enable send resolved alerts"}}},alertmanagerConfigReceiver:{secretKeyId:"Key Id from Secret",name:"Receiver Name",addButton:"Add Receiver",receivers:"Receivers",namespaceWarning:"Could not render the secret selector because no namespace was found to get secrets from.",receiverTypes:"The following receiver types can be edited in forms: Email, Slack, PagerDuty, Opsgenie and Webhook. For other receiver types, edit the AlertmanagerConfig YAML.",slack:{webhookUrl:"Webhook URL",apiUrlTooltip:"The secret's key that contains the Slack webhook URL. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator."}},monitoringRoute:{groups:{label:"Group By",addGroupByLabel:"Labels to Group Alerts By",groupByTooltip:"Add each label as a string in the format key:value. The special label ... will aggregate by all possible labels. If provided, the ... must be the only element in the list."},info:"This is the top-level Route used by Alertmanager as the default destination for any Alerts that do not match any other Routes. This Route must exist and cannot be deleted.",interval:{label:"Group Interval"},matching:{info:"The root route has to match everything so matching cannot be configured.",label:"Match",addMatcher:"Add Matcher",matchType:"Match Type",name:"Name",nameTooltip:"Label to match",value:"Value",valueTooltip:"Label value to match"},receiver:{type:"Receiver Type",add:"Add Receiver",label:"Receiver",oneOrMoreLabel:"One or More Receivers",addMatch:"Add match"},regex:{label:"Match Regex"},repeatInterval:{label:"Repeat Interval"},wait:{label:"Group Wait"}},moveModal:{title:"Move to a new project?",description:"You are moving the following namespaces:",moveButtonLabel:"Move",targetProject:"Target Project"},nameNsDescription:{name:{label:"Name",placeholder:"A unique name"},namespace:{label:"Namespace",placeholder:""},workspace:{label:"Workspace",placeholder:null},description:{label:"Description",placeholder:"Any text you want that better describes this resource"}},namespace:{containerResourceLimit:"Container Resource Limit",resourceQuotas:"Resource Quotas",project:{label:"Project",none:"(None)"},resources:"Resources",enableAutoInjection:"Enable Istio Auto Injection",disableAutoInjection:"Disable Istio Auto Injection",move:"Move",total:"Total",workloads:"Workloads",label:"Namespace",selectNamespace:"Select Namespace",createNamespace:"Create a new Namespace",selectOrCreate:"Select or Create a Namespace",resourceStates:{success:"Active",info:"Transitioning",warning:"Warning",error:"Error",unknown:"Unknown",paused:{stateName:"Inactive",shortDescription:"Deployment is paused",longDescription:"Deployment is paused. Pausing stops the controller from deploying revisions."}}},namespaceFilter:{noMatchingOptions:"No matching options",more:"+{more}",selected:{label:"{total, plural,\none {1 item selected}\nother {{total} items selected}\n}"}},namespaceList:{selectLabel:"Namespace",addLabel:"Add Namespace"},navLink:{name:{label:"Name",placeholder:"e.g. foo-bar"},label:{label:"Display name",placeholder:"Text displayed for the link"},tabs:{link:{label:"Link type",type:{label:"Link type",service:"Link to service",url:"Link to URL"},toURL:{label:"Destination URL",placeholder:"e.g. https://rancher.com"},toService:{service:{label:"Service (namespace/name)",placeholder:"e.g. cattle-system/rancher-webhook"},path:{label:"Path",placeholder:"e.g. proxy/?orgId=1"},port:{label:"Port",placeholder:"e.g. 80"},scheme:{label:"Scheme",placeholder:"e.g. http"}}},target:{label:"Window target",option:{blank:"New window",self:"Replace window",named:"Custom named window"},namedValue:{label:"Window name"}},group:{label:"Group",group:{label:"Group name",tooltip:"Assign link to a group"},sideLabel:{label:"Link label"},description:{label:"Link description"}},groupImage:{label:"Group Image",iconSrc:{tip:"Image height should be 21 pixels with a max width of 200 pixels. Max file size is 20KB. Accepted formats: JPEG, PNG, SVG.",label:"Add image"}}}},networkpolicy:{egress:{label:"Egress Rules",enable:"Configure egress rules to restrict outgoing traffic",ruleLabel:"Targets",ruleHint:"Outgoing traffic is only allowed to the configured targets",portHint:"Outgoing traffic is only allowed to connect to the configured ports"},ingress:{label:"Ingress Rules",enable:"Configure ingress rules to restrict incoming traffic",ruleLabel:"Sources",ruleHint:"Incoming traffic is only allowed from the configured sources",portHint:"Incoming traffic is only allowed to connect to the configured ports"},labelsAnnotations:{label:"Labels & Annotations"},rules:{pod:"Pod",namespace:"Namespace",ruleLabel:"Rule {index}",addPort:"Add allowed port",type:"Rule type",ingress:{add:"Add allowed traffic source"},egress:{add:"Add allowed traffic target"},ports:{label:"Allowed ports",port:{label:"Port",placeholder:"e.g. 8080"},protocol:"Protocol"},ipBlock:{label:"IP block",exceptions:"Exceptions",cidr:{label:"CIDR",placeholder:"e.g. 1.1.1.0/24"},addExcept:"Add exception",invalidCidr:"Invalid CIDR",invalidExceptionCidrs:"Invalid Exceptions: "},podSelector:{label:"Pod Selector"},namespaceSelector:{label:"Namespace Selector"},namespaceAndPodSelector:{label:"Namespace/Pod Selector"}},config:{label:"Configuration"},selectors:{label:"Selectors",hint:"The NetworkPolicy is applied to the selected Pods",matchingPods:{matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number} pods}\n =1 {Matches 1 of {total, number} pods: "{sample}"}\n other {Matches {matched, number} of {total, number} existing pods, including "{sample}"}\n}'},matchingNamespaces:{matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number} namespaces}\n =1 {Matches 1 of {total, number} namespaces: "{sample}"}\n other {Matches {matched, number} of {total, number} existing namespaces, including "{sample}"}\n}'},matchingNamespacesAndPods:{tooltip:"A single entry rule that specifies both Namespace Selector and Pod Selector that selects particular Pods within particular namespaces",matchesSome:'{matchedPods, plural,\n =0 {Matches 0 of {totalPods, number} pods}\n =1 {Matches 1 of {totalPods, number} pods: "{samplePods}"}\n other {Matches {matchedPods, number} of {totalPods, number} existing pods, including "{samplePods}"}\n} in {matchedNamespaces, plural,\n =0 {0 of {totalNamespaces, number} namespaces}\n =1 {1 of {totalNamespaces, number} namespaces: "{sampleNamespaces}"}\n other {{matchedNamespaces, number} of {totalNamespaces, number} existing namespaces, including "{sampleNamespaces}"}\n}'}}},node:{list:{pool:"Pool",noNodes:"This pool is empty",nodeTaint:"Taints",scaleDown:"Scale Pool Down",scaleUp:"Scale Pool Up",poolDescription:{noSize:"No Size",noLocation:"No Location"},nodeLabels:"Labels",hideLabels:"Show less",showLabels:"Show more"},detail:{detailTop:{containerRuntime:"Container Runtime",internalIP:"Internal IP",externalIP:"External IP",os:"OS",version:"Version"},glance:{consumptionGauge:{used:"Used",amount:"{used} of {total} {unit}",cpu:"CPU",memory:"MEMORY",pods:"PODS"},diskPressure:"Disk Pressure",kubelet:"kubelet",memoryPressure:"Memory Pressure",pidPressure:"PID Pressure"},tab:{conditions:"Conditions",images:"Images",metrics:"Metrics",info:{label:"Info",key:{architecture:"Architecture",bootID:"Boot ID",containerRuntimeVersion:"Container Runtime Version",kernelVersion:"Kernel Version",kubeProxyVersion:"Kube Proxy Version",kubeletVersion:"Kubelet Version",machineID:"Machine ID",operatingSystem:"Operating System",osImage:"Image",systemUUID:"System UUID"}},pods:"Pods",taints:"Taints"}},actions:{downloadSSHKey:"Download SSH Key",downloadNodeConfig:"Download Keys",scaleDown:"Scale Down",forceDelete:"Force Delete"}},persistentVolume:{pluginConfiguration:{label:"Plugin configuration"},plugin:{label:"Volume Plugin",inTree:"in-tree plugin",unsupported:"(Unsupported)"},capacity:{label:"Capacity"},customize:{label:"Customize",affinity:{label:"Node Selectors",addLabel:"Add Node Selector"},assignToStorageClass:{label:"Assign to Storage Class"},mountOptions:{label:"Mount Options",addLabel:"Add Option"},accessModes:{label:"Access Modes",readWriteOnce:"Single Node Read-Write",readOnlyMany:"Many Nodes Read-Only",readWriteMany:"Many Nodes Read-Write"}},shared:{partition:{label:"Partition",placeholder:"e.g. 1; 0 for entire device"},readOnly:{label:"Read Only"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},secretName:{label:"Secret Name",placeholder:"e.g. secret"},secretNamespace:{label:"Secret Namespace",placeholder:"e.g. default"},monitors:{add:"Add Monitor"}},vsphereVolume:{label:"VMWare vSphere Volume",volumePath:{label:"Volume Path",placeholder:"e.g. /"},storagePolicyName:{label:"Storage Policy Name",placeholder:"e.g. sp"},storagePolicyId:{label:"Storage Policy ID",placeholder:"e.g. sp1"}},csi:{label:"CSI",suffix:"(CSI)",driver:{label:"Driver",placeholder:"e.g. driver.longhorn.io"},volumeHandle:{label:"Volume Handle",placeholder:"e.g. pvc-xxxx"},volumeAttributes:{add:"Add Volume Attribute"},nodePublishSecretName:{label:"Node Publish Secret Name",placeholder:"e.g. secret"},nodePublishSecretNamespace:{label:"Node Publish Secret Namespace",placeholder:"e.g. default"},nodeStageSecretName:{label:"Node Stage Secret Name",placeholder:"e.g. secret"},nodeStageSecretNamespace:{label:"Node Stage Secret Namespace",placeholder:"e.g. default"},controllerExpandSecretName:{label:"Controller Expand Secret Name",placeholder:"e.g. secret"},controllerExpandSecretNamespace:{label:"Controller Expand Secret Namespace",placeholder:"e.g. default"},controllerPublishSecretName:{label:"Controller Publish Secret Name",placeholder:"e.g. secret"},controllerPublishSecretNamespace:{label:"Controller Publish Secret Namespace",placeholder:"e.g. default"},drivers:{"disk-csi-azure-com":"Azure Disk (CSI)","file-csi-azure-com":"Azure File (CSI)","driver-longhorn-io":"Longhorn (CSI)","driver-harvesterhci-io":"Harvester (CSI)","nfs-csi-k8s-io":"NFS (CSI)","ebs-csi-aws-com":"AWS Elastic Block Store (CSI)","rbd-csi-ceph-com":"Ceph RBD (CSI)","org-gluster-glusterfs":"GlusterFS (CSI)","pd-csi-storage-gke-io":"GCE Persistent Disk (CSI)","cinder-csi-openstack-org":"Cinder (CSI)","pxd-portworx-com":"Portworx (CSI)","quobyte-csi":"Quobyte (CSI)",storageos:"StorageOS (CSI)","csi-vsphere-vmware-com":"vSphere (CSI)"}},cephfs:{label:"Ceph Filesystem (Unsupported)",path:{label:"Path",placeholder:"e.g. /var"},user:{label:"User",placeholder:"e.g. root"},secretFile:{label:"Secret File",placeholder:"e.g. secret"}},rbd:{label:"Ceph RBD (Unsupported)",user:{label:"User",placeholder:"e.g. root"},keyRing:{label:"Key Ring",placeholder:"e.g. /etc/ceph/keyring"},pool:{label:"Pool",placeholder:"e.g. rbd"},image:{label:"Image",placeholder:"e.g. image"}},fc:{label:"Fibre Channel (Unsupported)",targetWWNS:{add:"Add Target WWN"},wwids:{add:"Add WWID"},lun:{label:"Lun",placeholder:"e.g. 2"}},flexVolume:{label:"Flex Volume (Unsupported)",driver:{label:"Driver",placeholder:"e.g. driver"},options:{add:"Add Option"}},flocker:{label:"Flocker (Unsupported)",datasetName:{label:"Dataset Name",placeholder:"e.g. dataset"},datasetUUID:{label:"Dataset UUID",placeholder:"e.g. uuid"}},glusterfs:{label:"Gluster Volume (Unsupported)",endpoints:{label:"Endpoints",placeholder:"e.g. glusterfs-cluster"},path:{label:"Path",placeholder:"e.g. kube-vol"}},iscsi:{label:"iSCSI Target (Unsupported)",initiatorName:{label:"Initiator Name",placeholder:"iqn.1994-05.com.redhat:1df7a24fcb92"},iscsiInterface:{label:"iSCSI Interface",placeholder:"e.g. interface"},chapAuthDiscovery:{label:"Chap Auth Discovery"},chapAuthSession:{label:"Chap Auth Session"},iqn:{label:"IQN",placeholder:"iqn.2001-04.com.example:storage.kube.sys1.xyz"},lun:{label:"Lun",placeholder:"e.g. 2"},targetPortal:{label:"Target Portal",placeholder:"e.g. portal"},portals:{add:"Add Portal"}},cinder:{label:"Openstack Cinder Volume (Unsupported)",volumeId:{label:"Volume ID",placeholder:"e.g. vol"}},quobyte:{label:"Quobyte Volume (Unsupported)",volume:{label:"Volume",placeholder:"e.g. vol"},user:{label:"User",placeholder:"e.g. root"},group:{label:"Group",placeholder:"e.g. abc"},registry:{label:"Registry",placeholder:"e.g. abc"}},photonPersistentDisk:{label:"Photon Volume (Unsupported)",pdId:{label:"PD ID",placeholder:"e.g. abc"}},portworxVolume:{label:"Portworx Volume (Unsupported)",volumeId:{label:"Volume ID",placeholder:"e.g. abc"}},scaleIO:{label:"ScaleIO Volume (Unsupported)",volumeName:{label:"Volume Name",placeholder:"e.g. vol-0"},gateway:{label:"Gateway",placeholder:"e.g. https://localhost:443/api"},protectionDomain:{label:"Protection Domain",placeholder:"e.g. pd01"},storageMode:{label:"Storage Mode",placeholder:"e.g. ThinProvisioned"},storagePool:{label:"Storage Pool",placeholder:"e.g. sp01"},system:{label:"System",placeholder:"e.g. scaleio"},sslEnabled:{label:"SSL Enabled"}},storageos:{label:"StorageOS (Unsupported)",volumeName:{label:"Volume Name",placeholder:"e.g. vol"},volumeNamespace:{label:"Volume Namespace",placeholder:"e.g. default"}},nfs:{label:"NFS Share",path:{label:"Path",placeholder:"e.g. /var"},server:{label:"Server",placeholder:"e.g. 10.244.1.4"}},longhorn:{label:"Longhorn",volumeHandle:{label:"Volume Handle",placeholder:"e.g. pvc-xxxx"},options:{label:"Options",addLabel:"Add"}},local:{label:"Local",path:{label:"Path",placeholder:"e.g. /mnt/disks/ssd1"}},hostPath:{label:"HostPath",pathOnTheNode:{label:"Path on the Node",placeholder:"/mnt/disks/ssd1"},mustBe:{label:"The Path on the Node must be",anything:"Anything: do not check the target path",directory:"A directory, or create if it does not exist",file:"A file, or create if it does not exist",existingDirectory:"An existing directory",existingFile:"An existing file",existingSocket:"An existing socket",existingCharacter:"An existing character device",existingBlock:"An existing block device"}},gcePersistentDisk:{label:"Google Persistent Disk",persistentDiskName:{label:"Persistent Disk Name",placeholder:"e.g. abc"}},awsElasticBlockStore:{label:"Amazon EBS Disk",volumeId:{label:"Volume ID",placeholder:"e.g. volume1"}},azureFile:{label:"Azure Filesystem",shareName:{label:"Share Name",placeholder:"e.g. abc"}},azureDisk:{label:"Azure Disk",diskName:{label:"Disk Name",placeholder:"e.g. kubernetes-pvc"},diskURI:{label:"Disk URI",placeholder:"e.g. https://example.com/disk"},kind:{label:"Kind",dedicated:"Dedicated",managed:"Managed",shared:"Shared"},cachingMode:{label:"Caching Mode",none:"None",readOnly:"Read Only",readWrite:"Read Write"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},readOnly:{label:"Read Only"}}},persistentVolumeClaim:{name:"Persistent Volume Claim Name",accessModes:"Access Modes",accessModesOptions:{singleNodeRW:"Single-Node Read/Write",manyNodeR:"Many-Node Read-Only",manyNodeRW:"Many-Node Read/Write"},capacity:"Capacity",storageClass:"Storage Class",useDefault:"Use the default class",volumes:"Persistent Volumes",volumeName:"Persistent Volume Name",source:{label:"Source",options:{new:"Use a Storage Class to provision a new Persistent Volume",existing:"Use an existing Persistent Volume"}},expand:{label:"Expand",notSupported:"Storage class does not support volume expansion",notBound:"Only bound PVCs can be expanded"},volumeClaim:{label:"Volume Claim",storageClass:"Storage Class",requestStorage:"Request Storage",persistentVolume:"Persistent Volume",tooltips:{noStorageClass:"You don't have permission to list Storage Classes, enter a name manually",noPersistentVolume:"You don't have permission to list Persistent Volumes, enter a name manually"}},customize:{label:"Customize",accessModes:{readWriteOnce:"Single Node Read-Write",readOnlyMany:"Many Nodes Read-Only",readWriteMany:"Many Nodes Read-Write"}},status:{label:"Status"}},podDisruptionBudget:{budget:{label:"Budget"},minAvailable:{label:"Min. available Pods"},maxUnavailable:{label:"Max. unavailable Pods"}},inactivity:{title:"Session expiring",titleExpired:"Session expired",banner:"Your session is about to expire due to inactivity. Any unsaved changes will be lost.",bannerExpired:"Your session has expired in this tab due to inactivity.",content:"Click “Resume Session” to keep the session in this tab active or refresh the browser after the session has expired.",contentExpired:"To return to this page click “Refresh” below or refresh the browser.",cta:"Resume Session",ctaExpired:"Refresh"},plugins:{incompatibleRancherVersion:"The latest version of this extension ({ version }) is not compatible with the current Rancher version ({ required }).",incompatibleKubeVersion:"The latest version of this extension ({ version }) is not compatible with the current Kube version ({ required }).",incompatibleUiExtensionsApiVersionMissing:"The latest version of this extension ({ version }) is missing the mandatory annotation catalog.cattle.io/ui-extensions-version from Rancher 2.10 and onwards.",incompatibleUiExtensionsApiVersion:"The latest version of this extension ({ version }) is not compatible with the current Extensions API version ({ required }).",incompatibleHost:'The latest version of this extension ({ version }) has a host of "{ required }" which is not compatible with this application "{ mainHost }".',currentInstalledVersionBlockedByKubeVersion:"This version is not compatible with the current Kubernetes version ({ kubeVersion } Vs { kubeVersionToCheck }).",labels:{builtin:"Built-in",experimental:"Experimental","third-party":"Third-Party",image:"Image",installing:"Installing ...",uninstalling:"Uninstalling ..."},descriptions:{experimental:"This Extension is marked as experimental","third-party":"This Extension is provided by a Third-Party","built-in":"This Extension is built-in",image:"This Extension Image has been loaded manually"},error:{title:"Error loading extension",message:"Could not load extension code",generic:"Extension error",apiAnnotationMissing:"Unable to load Extension. The version installed is not compatible with the current Extensions API Version (Extension is missing the annotation catalog.cattle.io/ui-extensions-version which implies incompatibility with Rancher 2.10 and onwards)",api:"Unable to load Extension. The version installed is not compatible with the current Extensions API version",host:"Unable to load Extension. The version installed is not compatible with this application host",version:"Unable to load Extension. The version installed is not compatible with the current version of Rancher",kubeVersion:"Unable to load Extension. The version installed is not compatible with the current Rancher kubernetes version",load:"An error occurred loading the code for this Extension",developerPkg:"This Extension has been loaded internally, so we won't load the external version"},success:{title:"Loaded extension {name}",message:"Extension was loaded successfully"},developer:{label:"Developer Load",title:"Developer Load Extension",prompt:"Load an extension from a URL",fields:{url:"Extension URL",name:"Extension module name",persist:"Persist extension by creating custom resource"}},info:{detail:"Detail",versions:"Versions",versionError:"Could not load version information",requiresRancherVersion:"Requires Rancher {required}",requiresKubeVersion:"Requires Kube version {required}",requiresExtensionApiVersionMissing:"Missing the annotation catalog.cattle.io/ui-extensions-version which implies incompatibility with Rancher 2.10 and onwards",requiresExtensionApiVersion:"Requires Extensions API version {required}",requiresHost:'Requires a host that matches "{mainHost}"'},empty:{all:"Extensions are neither installed nor available",available:"No Extensions available",installed:"No Extensions installed",updates:"No updates available for installed Extensions",images:"No Extension Images installed"},loadError:"An error occurred loading the code for this extension",helmError:"An error occurred installing the extension via Helm",manageRepos:"Manage Repositories",addRancherRepos:"Add Rancher Repositories",manageCharts:"Manage Extension Charts",warnNoAuth:"This version of the extension will be loaded before authentication and will have access to the login process.",manageCatalog:{label:"Manage Extension Catalogs",title:"Extension",subtitle:"Catalogs",imageLoad:{load:"Import Extension Catalog",prompt:"An Extension Catalog contains extension assets bundled into an image, importing will take the image and host a Helm repository to act as a catalog for custom built Extensions.",fields:{image:{label:"Catalog Image Reference",placeholder:"e.g. hub.docker.io/example-org/my-image:latest"},imagePullSecrets:{label:"Image Pull Secrets",tooltip:"Must be of Type `kubernetes.io/dockercfg` or `kubernetes.io/dockerconfigjson`"},secrets:{banner:"If the registry that hosts the Catalog Image requires Pull Secrets, they must be created in the following namespace:
    cattle-ui-plugin-system
    "}},banner:"This will create an Deployment, Service, and Helm repository to serve the extension charts.",imageVersion:{title:"Image Version Not Found",message:"Unable to determine image version from {image}, defaulting to latest"},error:{exists:{deployment:{title:"Deployment Conflict",message:"A container with the image {image} already exists"},service:{title:"Service Conflict",message:"A service with the name {svc} already exists"},repo:{title:"Helm Repository Conflict",message:"A repository with the name {repo} already exists"}}},success:{title:"Imported Extension Catalog from: {name}",message:"Extension Catalog image was imported successfully"}},headers:{image:{name:"images",label:"Deployment Image"},repository:{label:"Repository Name"}}},tabs:{all:"All",available:"Available",images:"Images",installed:"Installed",updates:"Updates"},title:"Extensions",version:"Version: {version}",install:{label:"Install",title:"Install Extension {name}",prompt:"Are you sure that you want to install this Extension?",version:"Version",warnNotCertified:"Please ensure that you are aware of the risks of installing Extensions from untrusted authors"},update:{label:"Update",title:"Update Extension {name}",prompt:"Are you sure that you want to update this Extension?"},rollback:{label:"Rollback",title:"Rollback Extension {name}",prompt:"Are you sure that you want to rollback this Extension?"},uninstall:{label:"Uninstall",title:"Uninstall Extension: {name}",prompt:"Are you sure that you want to uninstall this Extension?",catalog:"Are you sure that you want to uninstall this Extension Catalog Image? This will also remove any Extensions provided by this image."},upgradeAvailable:"A newer version of this Extension is available",reload:"Extensions changed - reload required",safeMode:{title:"Extensions Safe Mode",message:"Extensions were not loaded"},addRepos:{banner:"There are new extensions repositories available. To enable these repositories, click the button on the right.",bannerBtn:"Add repositories",title:"Add Extensions repositories",prompt:"You can install multiple Rancher extension repositories to increase your extensions catalog"},setup:{installed:"Already installed",uninstalled:"Already uninstalled",title:"Extension support is not enabled",prompt:{cant:"Automatic installation is not available - required Helm Charts could not be found",can:"You need to enable the {ff} Feature Flag in Global Settings. Once enabled, Rancher will require a restart.",official:"The Official Rancher Extensions Repository provides extensions published by Rancher",partners:"The Partners Extensions Repository provides extensions published by Rancher Partners",community:"The Community Extensions Repository provides extensions published by Rancher Community"},install:{title:"Enable Extension Support?",prompt:"This will lead you to the page where you can enable the Feature Flag needed to enable Extension support.",featuresButton:"Go to Feature Flags",airgap:"Air-gapped installations should NOT enable this feature",addRancherRepo:"Add Official Rancher Extensions Repository",addPartnersRancherRepo:"Add Partners Extensions Repository"},remove:{label:"Disable Extension Support",title:"Disable Extension Support?",prompt:"This will un-install the Helm charts that enable Extension support",registry:{official:{title:"Remove the Official Rancher Extensions Repository"},partners:{title:"Remove the Partners Extensions Repository"},community:{title:"Remove the Community Extensions Repository"}},crd:{title:"Remove the Rancher Extensions Custom Resource Definition",prompt:"There are one or more extensions installed - removing the CRD will require you to manually reinstall these extensions if you subsequently re-enable extensions support."}}}},podSecurityAdmission:{name:"Pod Security Admission",description:"Define the admission control mode you want to use for the pod security",banner:{modifications:"Changing any template that is currently in use will cause an update to those live clusters the next time the cluster is updated"},labels:{enforce:"Enforce",audit:"Audit",warn:"Warn",usernames:"Usernames",runtimeClasses:"RuntimeClasses",namespaces:"Namespaces",privileged:"privileged",baseline:"baseline",restricted:"restricted"},version:{placeholder:"Version (default: latest)"},exemptions:{title:"Exemptions",description:"Allow the creation of pods for specific Usernames, RuntimeClassNames, and Namespaces that would otherwise be prohibited due to the policies set above.",placeholder:"Enter a comma separated list of {psaExemptionsControl}"}},prefs:{title:"Preferences",theme:{label:"Theme",light:"Light",auto:"Auto",dark:"Dark",autoDetail:"Auto uses OS preference if available, or dark from {pm} to {am}"},language:"Language",landing:{label:"Login Landing Page",vue:"Cluster Explorer",ember:"Cluster Manager"},displaySettings:{title:"Display Settings",detail:"Change the way information is displayed in the UI."},clusterToShow:{label:"Number of clusters to show in side menu",value:"{count, number}"},dateFormat:{label:"Date Format"},timeFormat:{label:"Time Format"},perPage:{label:"Table Rows per Page",value:"{count, number}"},keymap:{label:"YAML Editor Key Mapping",sublime:"Normal human",emacs:"Emacs",vim:"Vim"},advFeatures:{title:"Advanced Features",viewInApi:'Enable "View in API"',allNamespaces:"Show dynamic Namespaces managed by Rancher (not intended for editing or deletion)",themeShortcut:"Enable Dark/Light Theme keyboard shortcut toggle (shift+T)",pluginDeveloper:"Enable Extension developer features"},hideDesc:{label:"Hide Type Description banners above resource lists"},helm:{true:"Include Prerelease Versions",false:"Show Releases Only",label:"Helm Charts"},confirmationSetting:{title:"Confirmation Setting",scalingDownPrompt:"Do not ask for confirmation when scaling down node pools."}},principal:{loading:"Loading…",error:"Unable to fetch principal info",name:"Name",loginName:"Username",type:"Type"},probe:{checkInterval:{label:"Check Interval",placeholder:"Default: 10"},command:{label:"Command to run",placeholder:"e.g. cat /tmp/health"},failureThreshold:{label:"Failure Threshold",placeholder:"Default: 3"},httpGet:{headers:{label:"Request Headers"},path:{label:"Request Path",placeholder:"e.g. /healthz"},port:{label:"Check Port",placeholder:"e.g. 80",placeholderDeux:"e.g. 25"}},initialDelay:{label:"Initial Delay",placeholder:"Default: 0"},successThreshold:{label:"Success Threshold",placeholder:"Default: 1"},timeout:{label:"Timeout",placeholder:"Default: 3"},type:{label:"Type",placeholder:"Select a check type"}},project:{membersEditOnly:"Only permissions equal to or below those of the current user can be applied",members:{label:"Members"},containerDefaultResourceLimit:"Container Default Resource Limit",vmDefaultResourceLimit:"VM Default Resource Limit",resourceQuotas:"Resource Quotas",haveOneOwner:"There must be at least one member with the Owner role."},projectMembers:{project:{label:"Project"},projectPermissions:{label:"Project Permissions",description:"Controls what access users have to the Project",noDescription:"User created - no description",searchForMember:"Search for a member to provide project access",owner:{label:"Owner",description:"Owners have full control over the Project and all resources inside it."},member:{label:"Member",description:"Members can manage the resources inside the Project but not change the Project itself."},readOnly:{label:"Read Only",description:"Members can only view the resources inside the Project but not change the resources."},custom:{label:"Custom",description:"Choose individual roles for this user."},createNs:"Create Namespaces",configmapsManage:"Manage Config Maps",ingressManage:"Manage Ingress",projectcatalogsManage:"Manage Project Catalogs",projectroletemplatebindingsManage:"Manage Project Members",secretsManage:"Manage Secrets",serviceaccountsManage:"Manage Service Accounts",servicesManage:"Manage Services",persistentvolumeclaimsManage:"Manage Volumes",workloadsManage:"Manage Workloads",configmapsView:"View Config Maps",ingressView:"View Ingress",monitoringUiView:"View Monitoring",projectcatalogsView:"View Project Catalogs",projectroletemplatebindingsView:"View Project Members",secretsView:"View Secrets",serviceaccountsView:"View Service Accounts",servicesView:"View Services",persistentvolumeclaimsView:"View Volumes",workloadsView:"View Workloads"}},projectNamespaces:{createNamespace:"Create Namespace",createProject:"Create Project",label:"Projects/Namespaces",noNamespaces:"There are no namespaces defined.",noProjectNoNamespaces:"All namespaces are in a project",isIstioInjectionEnabled:"Istio automatic sidecar injection is enabled for this namespace"},prometheusRule:{alertingRules:{addLabel:"Add Alert",annotations:{description:{input:"Description Annotation Value",label:"Description"},label:"Annotations",message:{input:"Message Annotation Value",label:"Message"},runbook:{input:"Runbook URL Annotation Value",label:"Runbook URL"},summary:{input:"Summary Annotation Value",label:"Summary"}},bannerText:"When firing alerts, the annotations and labels will be passed to the configured AlertManagers to allow them to construct the notification that will be sent to any configured Receivers.",for:{label:"Wait to fire for",placeholder:"60"},label:"Alerting Rules",labels:{label:"Labels",severity:{choices:{critical:"critical",label:"Severity Label Value",none:"none",warning:"warning"},label:"Severity"}},name:"Alert Name",removeAlert:"Remove Alert"},groups:{add:"Add Rule Group",groupRowLabel:"Rule Group {index}",groupInterval:{label:"Override Group Interval",placeholder:"60"},label:"Rule Groups",name:"Group Name",none:"Please add at least one rule group that contains at least one alerting or one recording rule.",removeGroup:"Remove Group",responseStrategy:{label:"Partial Response Strategy"}},promQL:{label:"PromQL Expression"},recordingRules:{addLabel:"Add Record",label:"Recording Rules",labels:"Labels",name:"Time Series Name",removeRecord:"Remove Record"}},promptForceRemove:{modalTitle:"Are you sure?",removeWarning:"There was an issue with deleting underlying infrastructure. If you proceed with this action, the Machine {nameToMatch} will be deleted from Rancher only. It's highly recommended to manually delete any referenced infrastructure.",forceDelete:"Force Delete",confirmName:"Enter in the pool name below to confirm:",podRemoveWarning:"Force deleting pods does not wait for confirmation that the pod's processes have been terminated. This may result in data corruption or inconsistencies"},promptScaleMachineDown:{attemptingToRemove:"You are attempting to delete {count} {type}",retainedMachine1:"At least one Machine must exist for roles Control Plane and Etcd.",retainedMachine2:"{ name } will remain"},promptSlo:{title:"Log out",text:"Log out of only Rancher, or all {name} applications.",rancher:{active:"Only log out of Rancher"},all:{active:"Log out of {name}",waiting:"Logging Out"}},promptRemove:{title:"Are you sure?",andOthers:"{count, plural,\n=0 {.}\n=1 { and one other.}\nother { and {count} others.}\n}",attemptingToRemove:"You are attempting to delete the {type}",attemptingToRemoveAuthConfig:"You are attempting to disable this Auth Provider.

    Be aware that cluster role template bindings, project role template bindings, global role bindings, users, tokens will be all deleted.

    Are you sure you want to proceed?",protip:"Tip: Hold the {alternateLabel} key while clicking delete to bypass this confirmation",confirmName:"Enter {nameToMatch} below to confirm:",deleteAssociatedNamespaces:"Also delete the namespaces in this project:",willDeleteAssociatedNamespaces:"This will also delete all namespaces in the project: ",confirmRelatedResource:"Deleting the {type} will remove all the resources on this particular {type} and this is not revertable, are you sure you want to continue deleting {names}?",promptConfirmation:"Do not prompt again for confirmation when scaling down."},promptRemoveApp:{removeCrd:"Delete the CRD associated with this app"},promptRestore:{title:"Restore Snapshot",name:"Name",date:"Date",fromS3:"Restore from S3",label:"Snapshot",placeholder:"Select a snapshot to restore",notification:{title:"Restore Snapshot",message:"Restoring snapshot { selectedSnapshot } has started..."}},promptRollback:{modalTitle:"Roll Back {workloadName}",dropdownTitle:"Roll Back to Revision",placeholder:"Choose a Revision...",attemptingToRollBack:"Attempting to roll back workload...",differences:"Differences",revisionOption:"Revision {revisionNumber}, created {revisionAge} {units} ago {currentLabel}",currentLabel:"(Current)",multipleWorkloadError:"Only one workload can be rolled back at a time.",singleRevisionBanner:"There are no revisions to roll back to."},promptSaveAsRKETemplate:{title:"Convert {cluster} to new RKE Template",name:"Cluster Template Name",description:"Create a new RKE cluster template and initial revision from the current cluster configuration.",warning:"This will modify the cluster, setting it up to use the newly created cluster template and revision. This can not be undone."},promptRotateEncryptionKey:{title:"Rotate Encryption Keys",description:"The last backup {name} was performed on {date}",warning:"Before proceeding, ensure a successful ETCD backup of the cluster has been completed.",error:"No backup found"},rancherAlertingDrivers:{msTeams:"Enable Microsoft Teams",sms:"Enable SMS",selectOne:"You must select at least one of the options below."},rbac:{roleBinding:{noData:"There are no members associated with this resource.",user:{label:"User"},role:{label:"Role"},add:"Add Member"},displayRole:{"fleetworkspace-admin":"Admin","fleetworkspace-member":"Member","fleetworkspace-readonly":"Read-Only"},members:{label:"Members"},roletemplate:{newUserDefault:{no:"No",tooltip:"This does not affect any bindings to the role that already exist."},locked:{label:"Locked",yes:"Yes: New bindings are not allowed to use this role",no:"No"},tabs:{grantResources:{label:"Grant Resources",noApiGroupClusterScope:"Core K8s API, Cluster Scoped",noApiGroupNamespaceScope:"Core K8s API, Namespaced",neuvector:{labelClusterScoped:"NeuVector, Cluster Scoped",labelNamespaceScoped:"NeuVector, Namespaced"},deprecatedLabel:"(deprecated)",resourceOptionInfo:"The resource options are not a complete list of every resource available in every Rancher-managed Kubernetes cluster. Resources and API groups may need to be manually entered in advanced use cases.",tableHeaders:{verbs:"Verbs",resources:"Resource",nonResourceUrls:"Non-Resource URLs",apiGroups:"API Groups"}}},subtypes:{GLOBAL:{createButton:"Create Global Role",label:"Global",yes:"Yes: Default role for new users",defaultLabel:"New User Default"},CLUSTER:{createButton:"Create Cluster Role",label:"Cluster",yes:"Yes: Default role for new cluster creation",defaultLabel:"Cluster Creator Default"},NAMESPACE:{createButton:"Create Project/Namespaces Role",label:"Project/Namespaces",yes:"Yes: Default role for new project creation",defaultLabel:"Project Creator Default"},RBAC_ROLE:{label:"Role"},RBAC_CLUSTER_ROLE:{label:"Cluster Role"},noContext:{label:"No Context"}}},globalRoles:{notBound:'No users bound ',unableToCheck:"Unable to check if any user is bound to the role(s). Please try again.",waiting:'{count, plural,\n =1 { Checking if there are any users bound to this role }\n other { Checking if there are any users bound to these roles }\n}',usersBound:"{count, plural,\n =1 { Caution: There is 1 user bound to the role(s) about to be deleted. Do you want to proceed? }\n other { Caution: There are {count} users bound to the role(s) about to be deleted. Do you want to proceed? }\n}",types:{global:{label:"Global Permissions",description:"Controls what access the {isUser, select,\ntrue {user}\nfalse {group}} has to administer the overall {appName} installation."},custom:{label:"Custom",description:"Roles not created by {vendor}."},builtin:{label:"Built-in",description:"Additional roles to define more fine-grain permissions model."}},unknownRole:{description:"No description provided"},assignOnlyRole:"This role is already assigned",role:{admin:{label:"Administrator",description:"Administrators have full control over the entire installation and all resources in all clusters."},"restricted-admin":{label:"Restricted Administrator",description:"Restricted Admins have full control over all resources in all downstream clusters but no access to the local cluster.",deprecation:'Warning: The Restricted Administrator role has been deprecated as of Rancher 2.8.0 and will be removed in a future release - Check out the Release Notes'},user:{label:"Standard User",description:"Standard Users can create new clusters and manage clusters and projects they have been granted access to."},"user-base":{label:"User-Base",description:"User-Base users have login-access only."},"clusters-create":{label:"Create new Clusters",description:"Allows the user to create new clusters and become the owner of them. Standard Users have this permission by default."},"clustertemplates-create":{label:"Create new RKE Cluster Templates",description:"Allows the user to create new RKE cluster templates and become the owner of them."},"authn-manage":{label:"Configure Authentication",description:"Allows the user to enable, configure, and disable all Authentication provider settings."},"catalogs-manage":{label:"Legacy Configure Catalogs",description:"Allows the user to add, edit, and remove management.cattle.io based catalogs resources."},"clusters-manage":{label:"Manage all Clusters",description:"Allows the user to manage all clusters, including ones they are not a member of."},"clusterscans-manage":{label:"Manage CIS Cluster Scans",description:"Allows the user to launch new and manage CIS cluster scans."},"kontainerdrivers-manage":{label:"Create new Cluster Drivers",description:"Allows the user to create new cluster drivers and become the owner of them."},"features-manage":{label:"Configure Feature Flags",description:"Allows the user to enable and disable custom features via feature flag settings."},"nodedrivers-manage":{label:"Configure Node Drivers",description:"Allows the user to enable, configure, and remove all Node Driver settings."},"nodetemplates-manage":{label:"Manage Node Templates",description:"Allows the user to define, edit, and remove Node Templates."},"roles-manage":{label:"Manage Roles",description:"Allows the user to define, edit, and remove Role definitions."},"settings-manage":{label:"Manage Settings",description:"Allows the user to manage {vendor} Settings."},"users-manage":{label:"Manage Users",description:"Allows the user to create, remove, and set passwords for all Users."},"catalogs-use":{label:"Use Catalogs",description:"Allows the user to see and deploy Templates from the Catalog. Standard Users have this permission by default."},"nodetemplates-use":{label:"Use Node Templates",description:"Allows the user to deploy new Nodes using any existing Node Templates."},"view-rancher-metrics":{label:"View {vendor} Metrics",description:"Allows the user to view Metrics through the API."},base:{label:"Login Access"},"clustertemplaterevisions-create":{label:"Create RKE Template Revisions"}}}},resourceDetail:{detailTop:{annotations:"Annotations",created:"Created",deleted:"Deleted",description:"Description",endpoints:"Endpoints",labels:"Labels",namespaces:"Namespaces",ownerReferences:"{count, plural,\n=1 {Owner}\nother {Owners}}",hideLabels:"Hide system labels",showLabels:"Show all labels",hideAnnotations:"{annotations, plural,\n=1 {Hide 1 annotation}\nother {Hide {annotations} annotations}}",showAnnotations:"{annotations, plural,\n=1 {Show 1 annotation}\nother {Show {annotations} annotations}}",name:"Name"},header:{clone:"Clone from {subtype} {name}",create:"Create {subtype}",import:"Import {subtype}",edit:"{subtype} {name}",stage:"Stage from {subtype} {name}",view:"{subtype} {name}"},masthead:{age:"Age",restartCount:"Pod Restarts",defaultBannerMessage:{error:"This resource is currently in an error state, but there isn't a detailed message available.",transitioning:"This resource is currently in a transitioning state, but there isn't a detailed message available."},sensitive:{hide:"Hide Sensitive Values",show:"Show Sensitive Values"},namespace:"Namespace",workspace:"Workspace",project:"Project",detail:"Detail",config:"Config",graph:"Graph",yaml:"YAML",managedWarning:"This {type} is managed by {hasName, select,\n no {a {managedBy} app}\n yes {the {managedBy} app {appName}}}; changes made here will likely be overwritten the next time {managedBy} runs."}},resourceList:{head:{create:"Create",createFromYaml:"Create from YAML",createResource:"Create {resourceName}"},nsFiltering:"Please select one or more namespaces or projects using the filter above.",nsFilteringGeneric:"Please select a valid namespace or project option using the filter above.",nsFilterToolTip:"Filtering is restricted to projects and namespaces"},resourceLoadingIndicator:{loading:"Loading"},resourceTable:{groupBy:{none:"Flat List",namespace:"Group by Namespace",project:"Group by Project",node:"Group by Node",role:"Group by Role",cluster:"Group by Cluster"},groupLabel:{cluster:"Cluster: {name}",notInACluster:"Not in a Cluster",namespace:"Namespace: {name}",notInAMachinePool:"Not In A Deployment",machinePool:"Pool: {name}",notInANamespace:"Not Namespaced",notInAProject:"Not in a Project",project:"Project: {name}",notInAWorkspace:"Not in a Workspace",workspace:"Workspace: {name}",notInANodePool:"Not in a Pool",nodePool:"Pool: {name}",node:"Node: {name}"}},resourceTabs:{conditions:{tab:"Conditions"},events:{tab:"Recent Events"},related:{tab:"Related Resources",from:"Referred To By",to:"Refers To"}},resourceYaml:{errors:{namespaceRequired:"This resource is namespaced, so a namespace must be provided."},buttons:{continue:"Continue Editing",edit:"Edit YAML",diff:"Show Diff",hideDiff:"Hide Diff",unified:"Unified",split:"Split"}},secret:{authentication:"Authentication",certificate:{certificate:"Certificate",certificates:"Certificates",certificatePlaceholder:"Paste in the CA certificate, starting with -----BEGIN CERTIFICATE----",cn:"Domain Name",expires:"Expires",expiresOn:"Expires On",expiresDuration:"Expires In",lifetime:"Lifetime",issuer:"Issuer",paging:"{pages, plural,\n=0 {No {pluralLabel}}\n=1 {{count} {count, plural, =1 {{singularLabel}} other {{pluralLabel}}}}\nother {{from} - {to} of {count} {pluralLabel}}}",plusMore:"+ {n} more",privateKey:"Private Key",privateKeyPlaceholder:"Paste in the private key, typically starting with -----BEGIN RSA PRIVATE KEY-----",warnings:{expiring:"{count} {count, plural, =1 {Certificate expires soon} other {Certificates expire soon}}",expired:"{count} {count, plural, =1 {Certificate has expired} other {Certificates have expired}}"}},data:"Data",registry:{address:"Registry",domainName:"Registry Domain Name",password:"Password",username:"Username"},basic:{password:"Password",username:"Username"},ssh:{keys:"Keys",public:"Public Key",publicPlaceholder:"Paste in your public key",private:"Private Key",privatePlaceholder:"Paste in your private key"},serviceAcct:{ca:"CA Certificate",token:"Token"},customType:"Custom Type",type:"Type",types:{opaque:"Opaque","kubernetes.io/service-account-token":"Svc Acct Token","kubernetes.io/dockercfg":"Registry","kubernetes.io/dockerconfigjson":"Registry","kubernetes.io/basic-auth":"HTTP Basic Auth","kubernetes.io/ssh-auth":"SSH Key","kubernetes.io/tls":"TLS Certificate","bootstrap.kubernetes.io/token":"Bootstrap Token","istio.io/key-and-cert":"Istio Certificate","helm.sh/release.v1":"Helm Release","fleet.cattle.io/cluster-registration-values":"Fleet Cluster","provisioning.cattle.io/cloud-credential":"Cloud Credential","rke.cattle.io/auth-config":"RKE Auth Config"},initials:{opaque:"O","kubernetes.io/service-account-token":"SAT","kubernetes.io/dockercfg":"R","kubernetes.io/dockerconfigjson":"R","kubernetes.io/basic-auth":"HTTP","kubernetes.io/ssh-auth":"SSH","kubernetes.io/tls":"TLS","bootstrap.kubernetes.io/token":"Boot","istio.io/key-and-cert":"Ist","helm.sh/release.v1":"Helm","fleet.cattle.io/cluster-registration-values":"F","provisioning.cattle.io/cloud-credential":"CC",s3:"S3"},relatedWorkloads:"Related Workloads",typeDescriptions:{custom:{description:"Create a Secret with a custom type"},"kubernetes.io/basic-auth":{description:"Authentication with a username and password",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret"},Opaque:{description:"Default type of Secret using key-value pairs",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets"},"kubernetes.io/dockerconfigjson":{description:"Authenticated registry for pulling container images",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets"},"kubernetes.io/ssh-auth":{description:"Public key and private key for SSH authentication",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#ssh-authentication-secrets"},"kubernetes.io/tls":{description:"Store a certificate and key for TLS",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets"}}},selectOrCreateAuthSecret:{label:"Authentication",options:{none:"None",basic:"HTTP Basic Auth",ssh:"SSH Key",aws:"AWS/S3",custom:"Secret Name"},s3:{accessKey:"Access Key",secretKey:"Secret Key"},ssh:{publicKey:"Public Key",privateKey:"Private Key"},basic:{username:"Username",password:"Password"},namespaceGroup:"Namespace: {name}",chooseExisting:"Choose an existing secret:",createSsh:"Create a SSH Key Secret",createBasic:"Create a HTTP Basic Auth Secret",createS3:"Create a S3-Compatible Auth Secret"},serviceAccount:{automount:"Automount Service Account Token",imagePullSecrets:"Image Pull Secrets",tabs:{serviceAccount:{label:"Service Account"}}},servicePorts:{header:{label:"Port Rules"},rules:{listening:{label:"Listening Port",placeholder:"e.g. 8080"},name:{label:"Port Name",placeholder:"e.g. myport"},node:{label:"Node Port",placeholder:"e.g. 30000"},protocol:{label:"Protocol"},target:{label:"Target Port",placeholder:"e.g. 80 or http"}}},serviceTypes:{clusterip:"Cluster IP",externalname:"External Name",headless:"Headless",loadbalancer:"Load Balancer",nodeport:"Node Port"},servicesPage:{serviceListDescription:"Services allow you to define a logical set of Pods that can be accessed with a single IP address and port.",targetPorts:"The Service will send requests to this port, and the selected Pods are expected to listen on this port.",listeningPorts:"The Service is exposed on this port.",anyNode:"Any Node",labelsAnnotations:{label:"Labels & Annotations"},affinity:{actionLabels:{clientIp:"ClientIP",none:"There is no session affinity configured."},helpText:"Map connections to a consistent target based on their source IP.",label:"Session Affinity",timeout:{label:"Session Sticky Time",placeholder:"e.g. 10800"}},externalName:{define:"External Name",helpText:"External Name is intended to specify a canonical DNS name. This is a required field. To hardcode an IP address, use a Headless service.",label:"External Name",placeholder:"e.g. my.database.example.com",input:{label:"DNS Name"}},harvester:{title:"Add-on Config",ipam:{label:"IPAM"},useShareIP:{label:"Use Share IP"},useIpam:{label:"Use IPAM"},shareIP:{label:"Share IP LB"}},ips:{define:"Service Ports",clusterIpHelpText:"The Cluster IP address must be within the CIDR range configured for the API server.",external:{label:"External IPs",placeholder:"e.g. 1.1.1.1",protip:"List of IP addresses for which nodes in the cluster will also accept traffic for this service."},input:{label:"Cluster IP",placeholder:"e.g. 10.43.xxx.xxx"},label:"IP Addresses",loadBalancer:{label:"Load Balancer"},loadBalancerIp:{label:"Load Balancer IP",placeholder:"e.g. 192.0.xxx.xxx",helpText:"If you specify a loadBalancerIP but your cloud provider does not support the feature, the loadBalancerIP field that you set is ignored."}},pods:{label:"Pods"},ports:{label:"Ports"},selectors:{helpText:"",label:"Selectors",matchingPods:{description:"Selector keys and values are intended to match labels and values on existing Pods.",matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number} pods. If no selector is created, manual endpoints must be made.}\n =1 {Matches 1 of {total, number} pods: "{sample}"}\n other {Matches {matched, number} of {total, number} existing pods, including "{sample}"}\n}'}},serviceTypes:{clusterIp:{abbrv:"IP",description:"Expose a set of Pods to other Pods within the cluster. This type of Service is only reachable from within the cluster. This is the default type.",label:"Cluster IP"},externalName:{abbrv:"EN",description:"Create a Service that uses a DNS name instead of selectors. This is an advanced use case.",label:"External Name"},headless:{abbrv:"H",description:"Create a Service without a cluster IP or load balancer. This is an advanced use case.",label:"Headless"},loadBalancer:{abbrv:"LB",description:"Create a load balancer in the underlying infrastructure (e.g. a cloud provider's load balancer) and assign a public IP address to the service. Allows external clients to access the service using the public IP address and the port specified in the service definition.",label:"Load Balancer"},nodePort:{abbrv:"NP",description:"Expose the service on each node's IP at a static port.",label:"Node Port"}},typeOpts:{label:"Service Type"}},setup:{currentPassword:"Bootstrap Password",confirmPassword:"Confirm New Password",defaultPassword:{intro:"It looks like this is your first time visiting {vendor}; if you pre-set your own bootstrap password, enter it here. Otherwise a random one has been generated for you. To find it:

    ",dockerPrefix:'For a "docker run" installation:',dockerPs:"Find your container ID with docker ps, then run:",dockerSuffix:"",helmPrefix:"For a Helm installation, run:",helmSuffix:""},eula:'By checking the box, you accept the End User License Agreement & Terms & Conditions',newPassword:"New Password",newUserSetPassword:"The first order of business is to set a strong password. We suggest using this random one generated just for you, but enter your own if you like.",serverUrl:{label:"Server URL",skip:"Skip",tip:"What URL should be used for this {vendor} installation? All the nodes in your clusters will need to be able to reach this."},setPassword:"The first order of business is to set a strong password for the default {username} user. We suggest using this random one generated just for you, but enter your own if you like.",telemetry:'Allow collection of anonymous statistics to help us improve {name}',useManual:"Set a specific password to use",useRandom:"Use a randomly generated password",welcome:"Welcome to {vendor}!"},sortableTable:{bulkActions:{collapsed:{label:"Actions"}},actionAvailability:{selected:"{actionable} selected",some:"Affects {actionable} of {total}"},noData:"There are no rows which match your search query.",noRows:"There are no rows to show.",noActions:"No actions available",paging:{generic:"{pages, plural,\n=0 {No Items}\n=1 {{count} {count, plural, =1 {Item} other {Items}}}\nother {{from} - {to} of {count} Items}}",resource:"{pages, plural,\n=0 {No {pluralLabel}}\n=1 {{count} {count, plural, =1 {{singularLabel}} other {{pluralLabel}}}}\nother {{from} - {to} of {count} {pluralLabel}}}"},search:"Filter",in:"in",addFilter:"Add Filter",filterFor:"Filter for...",selectCol:"Select a column",resetFilters:"Reset",add:"Add",tableHeader:{noFilter:"This column cannot be filtered by",groupBy:"Group by",show:"Show"}},storageClass:{actions:{setAsDefault:"Set as Default",resetDefault:"Reset Default"},parameters:{label:"Parameters"},customize:{label:"Customize",reclaimPolicy:{label:"Reclaim Policy",delete:"Delete volumes and underlying device when volume claim is deleted",retain:"Retain the volume for manual cleanup"},allowVolumeExpansion:{label:"Allow Volume Expansion",enabled:"Enabled",disabled:"Disabled"},volumeBindingMode:{label:"Volume Binding Mode",now:"Bind and provision a persistent volume once the PersistentVolumeClaim is created",later:"Bind and provision a persistent volume once a Pod using the PersistentVolumeClaim is created"},mountOptions:{label:"Mount Options",addLabel:"Add Option"}},"aws-ebs":{title:"Amazon EBS Disk",volumeType:{label:"Volume Type",gp2:"GP2 - General Purpose SSD",gp3:"GP3 - General Purpose SSD",io1:"IO1 - Provisioned IOPS SSD",st1:"ST1 - Throughput-Optimized HDD",sc1:"SC1 - Cold-Storage HDD",provisionedIops:{label:"Provisioned IOPS",suffix:"per second, per GB"}},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},availabilityZone:{label:"Availability Zone",automatic:"Automatic: Zones the cluster has a node in",manual:"Manual: Choose specific zones",placeholder:"us-east-1d, us-east-1c"},encryption:{label:"Encryption",enabled:"Enabled",disabled:"Disabled"},keyId:{label:"KMS Key ID for Encryption",automatic:"Automatic: Generate a key",manual:"Manual: Use a specific key (full ARN)"}},"azure-disk":{title:"Azure Disk",storageAccountType:{label:"Storage Account Type",placeholder:"e.g. Standard_LRS"},kind:{label:"Kind",shared:"Shared (unmanaged disk)",dedicated:"Dedicated (unmanaged disk)",managed:"Managed"}},"azure-file":{title:"Azure File",skuName:{label:"Sku Name",placeholder:"e.g. Standard_LRS"},location:{label:"Location",placeholder:"e.g. eastus"},storageAccount:{label:"Storage Account",placeholder:"e.g. azure_storage_account_name"}},"gce-pd":{title:"Google Persistent Disk",volumeType:{label:"Volume Type",standard:"Standard",ssd:"SSD"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},availabilityZone:{label:"Availability Zone",automatic:"Automatic: Zones the cluster has a node in",manual:"Manual: Choose specific zones",placeholder:"us-east-1d, us-east-1c"},replicationType:{label:"Replication Type",zonal:"Zonal",regional:"Regional"}},longhorn:{title:"Longhorn (CSI)",addLabel:"Add Parameter"},"vsphere-volume":{title:"VMWare vSphere Volume",diskFormat:{label:"Disk Format",thin:"Thin",zeroedthick:"Zeroed Thick",eagerzeroedthick:"Eager Zeroed Thick"},storagePolicyName:{label:"Storage Policy Name",placeholder:"e.g. gold"},datastore:{label:"Datastore",placeholder:"e.g. VSANDatastore"},hostFailuresToTolerate:{label:"Host Failures To Tolerate",placeholder:"e.g. 2"},cacheReservation:{label:"Cache Reservation",placeholder:"e.g. 20"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext3"}},custom:{addLabel:"Add Parameter"},glusterfs:{title:"Gluster Volume",restUrl:{label:"REST URL",placeholder:"e.g. http://127.0.0.1:8081"},restUser:{label:"REST User",placeholder:"e.g. admin"},restUserKey:{label:"REST User Key",placeholder:"e.g. password"},secretNamespace:{label:"Secret Namespace",placeholder:"e.g. default"},secretName:{label:"Secret Name",placeholder:"e.g. heketi-secret"},clusterId:{label:"Cluster ID",placeholder:"e.g. 630372ccdc720a92c681fb928f27b53f"},gidMin:{label:"GID MIN",placeholder:"e.g. 40000"},gidMax:{label:"GID MAX",placeholder:"e.g. 50000"},volumeType:{label:"Volume Type",placeholder:"e.g. replicate:3"}},cinder:{title:"Openstack Cinder Volume",volumeType:{label:"Volume Type",placeholder:"e.g. fast"},availabilityZone:{label:"Availability Zone",automatic:"Automatic: Zones the cluster has a node in",manual:{label:"Manual: Choose specific zones",placeholder:"e.g. nova"}}},rbd:{title:"Ceph RBD",monitors:{label:"Monitors",placeholder:"e.g. 10.16.153.105:6789"},adminId:{label:"Admin ID",placeholder:"e.g. kube"},adminSecretNamespace:{label:"Admin Secret Namespace",placeholder:"e.g. kube-system"},adminSecret:{label:"Admin Secret",placeholder:"e.g. Secret"},pool:{label:"Pool",placeholder:"e.g. kube"},userId:{label:"User ID",placeholder:"e.g. kube"},userSecretNamespace:{label:"User Secret Namespace",placeholder:"e.g. default"},userSecretName:{label:"User Secret Name",placeholder:"e.g. ceph-secret-user"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},imageFormat:{label:"Image Format",placeholder:"e.g. 2"},imageFeatures:{label:"Image Features",placeholder:"e.g. layering"}},quobyte:{title:"Quobyte Volume",quobyteApiServer:{label:"Quobyte API Server",placeholder:"e.g. http://138.68.74.142:7860"},registry:{label:"Registry",placeholder:"e.g. 138.68.74.142:7861"},adminSecretNamespace:{label:"Admin Secret Namespace",placeholder:"e.g. kube-system"},adminSecretName:{label:"Admin Secret Name",placeholder:"e.g. quobyte-admin-secret"},user:{label:"User",placeholder:"e.g. root"},group:{label:"Group",placeholder:"e.g. root"},quobyteConfig:{label:"Quobyte Config",placeholder:"e.g. BASE"},quobyteTenant:{label:"Quobyte Tenant",placeholder:"e.g. DEFAULT"}},"portworx-volume":{title:"Portworx Volume",filesystem:{label:"Filesystem",placeholder:"e.g. ext4"},blockSize:{label:"Block Size",placeholder:"e.g. 32"},repl:{label:"Repl",placeholder:"e.g.1; 0 for entire device"},ioPriority:{label:"I/O Priority",placeholder:"e.g. low"},snapshotsInterval:{label:"Snapshots Interval",placeholder:"e.g. 70"},aggregationLevel:{label:"Aggregation Level",placeholder:"e.g. 0"},ephemeral:{label:"Ephemeral",placeholder:"e.g. true"}},scaleio:{title:"ScaleIO Volume",gateway:{label:"Gateway",placeholder:"e.g. https://192.168.99.200:443/api"},system:{label:"System",placeholder:"e.g. scaleio"},protectionDomain:{label:"Protection Domain",placeholder:"e.g. pd0"},storagePool:{label:"Storage Pool",placeholder:"e.g. sp1"},storageMode:{label:"StorageMode",thin:"Thin Provisioned",thick:"Thick Provisioned"},secretRef:{label:"Secret Ref",placeholder:"e.g. sio-secret"},readOnly:{label:"Read Only"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. xfs"}},storageos:{title:"StorageOS",pool:{label:"Pool",placeholder:"e.g. default"},description:{label:"Description",placeholder:"e.g. Kubernetes volume"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},adminSecretNamespace:{label:"Admin Secret Namespace",placeholder:"e.g. default"},adminSecretName:{label:"Admin Secret Name",placeholder:"e.g. storageos-secret"}},"no-provisioner":{title:"Local Storage"},deprecated:{title:"(Deprecated)",warning:'The {provisioner} in-tree plugin is deprecated: Find a CSI driver here.'},harvesterhci:{title:"Harvester (CSI)",warning:{unSatisfiesVersion:"Please upgrade your Harvester CSI driver version to use this feature. (csi-driver >= v0.1.15)"},hostStorageClass:{label:"Host Storage Class",placeholder:"Storage class name on the host Harvester cluster",tooltip:"By default the default storage class on the host Harvester cluster is used."}}},tableHeaders:{assuredConcurrencyShares:"Assured Concurrency Shares",accessKey:"Access Key",addressType:"Address Type",accessModes:"Access Modes",address:"Address",age:"Age",apiGroup:"API Groups",apikey:"API Key",available:"Available",attachedVM:"Attached VM",authRoles:{globalDefault:"New User Default",clusterDefault:"Cluster Creator Default",projectDefault:"Project Creator Default"},branch:"Branch",backupTarget:"Backup Target",builtIn:"Built In",bundlesReady:"Bundles Ready",bundleDeploymentsReady:"Deployments",builtin:"Built-In",chart:"Chart",capacity:"Capacity",current:"Current",clusterCreatorDefault:"Cluster Creator Default",clusterFlow:"Cluster Flow",clusterOutput:"Cluster Output",cluster:"Cluster",clusters:"Clusters","cluster-Name":"Cluster",clustersReady:"Clusters Ready",clusterGroups:"Cluster Groups",commit:"Commit",condition:"Condition",constraint:"Constraint",completions:"Completions",count:"Count",createdAt:"Created At",customVerbs:"Custom Verbs",description:"Description",expires:"Expires",cpu:"CPU",currentReplicas:"Current Replicas",date:"Date",data:"Data",default:"Default",desired:"Desired",defaultVersion:"Default version",destination:"Target",deployed:"Deployed",download:"Download",duration:"Duration",diskState:"Disk State",drivers:"Drivers",distinguisherMethod:"Distinguisher Method",effect:"Effect",endpoints:"Endpoints",firstSeen:"First Seen",fleetBundleType:"Type",flow:"Flow",fingerprint:"Fingerprint",gitRepos:"Git Repos",groups:"Groups",groupName:"Group Name",groupRoleNames:"Group Role Names","global-Default":"Global-Default",host:"Host",hostIp:"Host IP",holder:"Holder",hpaReference:"Workload",health:"Health",handSize:"Hand Size",ipAddress:"IP Address",id:"ID",iP:"IP",image:"Image",imageSize:"Size",ingressClass:"Ingress Class",ingressDefaultBackend:"Default",ingressTarget:"Target",internalExternalIp:"External/Internal IP",ipaddress:"IP Address",internalIpSameAsExternal:"Same as External",jobs:"Jobs",key:"Key",keys:"Data",labels:"Labels",lastUpdated:"Last Updated",lastSchedule:"Last Schedule",lastSeen:"Last Seen",lastSeenTooltip:"The time at which the most recent occurrence of this event was recorded",loggingOutputProviders:"Provider",machines:"Machines",machineNodeName:"Node",manual:"Manual",matches:"Matches",matchingPrecedence:"Matching Precedence",maxKubernetesVersion:"Max Kubernetes Version",message:"Message",minKubernetesVersion:"Min Kubernetes Version",minReplicas:"Minimum Replicas",maxReplicas:"Maximum Replicas",missingPL:"MissingPL",memory:"Memory",monitored:"Monitored",name:"Name",nameDisplay:"Display Name",nameUnlinked:"Name",namespace:"Namespace",namespaceName:"Name",namespaceNameUnlinked:"Name",networkType:"Type",networkVlan:"Vlan ID",node:"Node",nodeName:"Node Name",nodesReady:"Nodes Ready",nodePort:"Node Port",object:"Object",operatingSystem:"OS",output:"Output",p95:"95%tile",persistentVolumeClaim:"Persistent Volume Claim",persistentVolumeSource:"Source",phase:"Phase",progress:"Progress",podImages:"Image",podRestarts:"Restarts",pods:"Pods","pod-Selector":"Pod-Selector",providers:"Providers",providerID:"Provider ID",port:"Port",ports:"Ports",project:"Project",protocol:"Protocol",provider:"Provider",priorityLevel:"Priority Level",publicPorts:"Public Ports",queues:"Queues",queueLengthLimit:"Queue Length Limit",ram:"RAM",rbac:{create:"Create",delete:"Delete",get:"Get",list:"List",patch:"Patch",update:"Update",watch:"Watch"},ready:"Ready",reason:"Reason",receivers:"Receivers",receiverTypes:"Receiver Types",reclaimPolicy:"Reclaim Policy",registrationNamespace:"Registration Namespace",repo:"Repo",repositories:"Repositories",repoName:"Repository Name",reposReady:"Repos Ready",replicas:"Replicas",reqRate:"Req Rate",resource:"Resource",resources:"Resources",resourcesReady:"Resources Ready",restarts:"Restarts",restart:"Restart Required",role:"Role",roles:"Roles",routes:"Routes",routeConnectivity:"Route Connectivity",readyToUse:"Ready To Use",scale:"Scale",scope:"Scope",selector:"Selector",secrets:"Secrets",schedule:"Schedule",service:"Service",serviceAccounts:"Service Accounts","secret-Name":"Secret-Name",simpleName:"Name",simpleScale:"Scale",simpleType:"Type",size:"Size",started:"Started",state:"State",status:"Status",targetVm:"Target VM",storage_class_provisioner:"Provisioner",storage:"Storage Size",storageClass:"Storage Class",source:"Source",subject:"Subject",subType:"Kind",success:"Success",summary:"Summary",subobject:"Subobject",taints:"Taints",target:"Target",targetKind:"Target Type",targetPort:"Target",template:"Template",type:"Type",updated:"Updated","up-to-date":"Up To Date",upgrade:"Upgradable",url:"URL",users:"Users",userDisplayName:"Display Name",userId:"ID",userDeletedIn:"Delete After",userDisabledIn:"Disable After",userLastLogin:"Last Login",userState:"Enabled",userStatus:"Status",username:"Local Username",value:"Value",version:"Version",volume:"Volume",volumeMode:"Volume Mode",weight:"Weight",clusterResources:"Cluster Resources",repoPerClusterState:"Cluster State",repoPerClusterStateTooltip:"The state of the repo on the cluster"},target:{router:{label:"Router",placeholder:"Select a router"},service:{label:"Service",placeholder:"Select a service"},title:"Target",version:{label:"Version",placeholder:"Select a version"}},user:{state:{active:"Enabled",inactive:"Disabled",unknown:"Unknown"},detail:{username:"Username",globalPermissions:{label:"Global Permissions",description:"Access to manage resources that affect the entire installation",adminMessage:"This user is an administrator and has all permissions",tableHeaders:{permission:"Permission"}},clusterRoles:{label:"Cluster Roles",description:"Roles granted to this user for individual clusters",tableHeaders:{cluster:"Cluster"}},projectRoles:{label:"Project Roles",description:"Roles granted to this user for individual projects",tableHeaders:{project:"Project"}},generic:{tableHeaders:{role:"Role",granted:"Granted"}}},edit:{credentials:{label:"Credentials",username:{label:"Username",placeholder:"e.g. jsmith",exists:"Username is already in use. Please choose a new username"},displayName:{label:"Display Name",placeholder:"e.g. John Smith"},userDescription:{label:"Description",placeholder:"e.g. This account is for John Smith"}}},list:{errorRefreshingGroupMemberships:"Error refreshing group memberships"},retention:{button:{label:"User retention settings"},growl:{title:"Save user retention settings",message:"User retention settings have been updated successfully"},edit:{title:{header:"Users: Settings",pre:"Users:",post:"Settings",subTitle:"User retention"},form:{disableAfter:{checkbox:"Disable user accounts after an inactivity period (duration since last login)",input:{label:"Inactivity period",tooltip:"Uses duration units (e.g. use 30h for 30 hours)"}},deleteAfter:{checkbox:"Delete user accounts after an inactivity period (duration since last login)",input:{label:"Inactivity period",tooltip:"Uses duration units (e.g. use 30h for 30 hours)",subLabel:"This value must be larger than the Disable period, if it's active"}},cron:{label:"User retention process schedule",subLabel:"The user retention process runs as a cron job (required)",errorMessage:"User retention process schedule must be a valid cron expression"},dryRun:{label:"Run the user retention process in DRY mode (no changes will be applied)",subLabel:"You can check the logs to see which accounts would be affected"},defaultLastLogin:{label:"Default last login (ms)",subLabel:"Accounts without a registered last login timestamp will get this as a default",placeholder:"Unix timestamp"}}}}},validation:{noUpperCase:'Alphanumeric characters in "{key}" must be lowercase',arrayLength:{between:'"{key}" should contain between {min} and {max} {max, plural, =1 {item} other {items}}',exactly:'"{key}" should contain {count, plural, =1 {# item} other {# items}}',max:'"{key}" should contain at most {count} {count, plural, =1 {item} other {items}}',min:'"{key}" should contain at least {count} {count, plural, =1 {item} other {items}}'},alphanumeric:'"{key}" must be alphanumeric',boolean:'"{key}" must be a boolean value.',chars:'"{key}" contains {count, plural, =1 {an invalid character} other {# invalid characters}}: {chars}',cluster:{name:"Cluster name cannot be 'local' or take the form 'c-xxxxx'"},conflict:"This resource has been modified since you started editing it, and some of those modifications conflict with your changes.\nThis screen has been updated to reflect the current values on the cluster. Review and reapply the changes you wanted to make, then Save again.\nConflicting {fieldCount, plural, =1 {field} other {fields}}: {fields}",custom:{missing:"No validator exists for { validatorName }! Does the validator exist in custom-validators? Is the name spelled correctly?"},dns:{doubleHyphen:'"{key}" Cannot contain two or more consecutive hyphens',hostname:{empty:'"{key}" must be at least one character',emptyLabel:'"{key}" cannot contain two consecutive dots',endDot:'"{key}" cannot end with a dot',endHyphen:'"{key}" cannot end with a hyphen',startDot:'"{key}" cannot start with a dot',startHyphen:'"{key}" cannot start with a hyphen',startNumber:'"{key}" cannot start with a number',tooLong:'"{key}" cannot be longer than {max} characters',tooLongLabel:'"{key}" cannot contain a section longer than {max} characters'},label:{endDot:'"{key}" cannot end with a dot',startDot:'"{key}" cannot start with a dot',emptyLabel:'"{key}" cannot be empty',endHyphen:'"{key}" cannot end with a hyphen',startHyphen:'"{key}" cannot start with a hyphen',startNumber:'"{key}" cannot start with a number',tooLongLabel:'"{key}" cannot be more than {max} characters'}},flowOutput:{both:'Requires "Output" or "Cluster Output" to be selected.',global:'Requires "Cluster Output" to be selected.'},output:{logdna:{apiKey:'Required an "Api Key" to be set.'}},invalidCron:"Invalid cron schedule",invalidCidr:"Invalid CIDR",invalidIP:"Invalid IP",k8s:{name:"Must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc').",identifier:{emptyLabel:'"{key}" cannot have an empty key',emptyPrefix:'"{key}" cannot have an empty prefix',endLetter:'"{key}" must end with a letter or number',startLetter:'"{key}" must start with a letter or number',tooLongKey:'"{key}" cannot have a key longer than {max} characters',tooLongPrefix:'"{key}" cannot have a prefix longer than {max} characters'}},minLength:'"{key}" must contain more than {min} characters',maxLength:'"{key}" must contain less than {max} characters',minValue:'"{key}" must be equal or higher than {min}',maxValue:'"{key}" must be equal or lower than {max}',betweenLengths:'"{key}" must contain between {min} and {max} characters',betweenValues:'"{key}" must be between {min} and {max}',noSchema:"No schema found to validate",noType:"No type to validate",number:{requiredInt:'"{key}" must be integer',isPositive:'"{key}" must be positive',isOctal:'"{key}" must have no leading zeros',between:'"{key}" should be between {min} and {max}',exactly:'"{key}" should be exactly {val}',max:'"{key}" should be at most {val}',min:'"{key}" should be at least {val}'},podAffinity:{affinityTitle:"Pod Affinity",antiAffinityTitle:"Pod Anti-Affinity",requiredDuringSchedulingIgnoredDuringExecution:"required rules",preferredDuringSchedulingIgnoredDuringExecution:"preferred rules",topologyKey:"Rule [{index}] of {group} {rules} - Topology key is required.",matchExpressions:{operator:"Rule [{index}] of {group} {rules} - operator must be one of 'In', 'NotIn', 'Exists', 'DoesNotExist'",valueMustBeEmpty:"Rule [{index}] of {group} {rules} - value must be empty if operator is 'Exists' or 'DoesNotExist'",valuesMustBeDefined:"Rule [{index}] of {group} {rules} - value must be defined if operator is 'In' or 'NotIn'"}},port:"A port must be a number between 1 and 65535.",path:'"{key}" must be an absolute path',prometheusRule:{noEdit:"This Prometheus Rule may not be edited due to invalid characters in name.",groups:{required:"At least one rule group is required.",singleAlert:"A rule may contain alert rules or recording rules but not both.",valid:{name:"Name is required for rule group {index}.",rule:{alertName:"Rule group {groupIndex} rule {ruleIndex} requires a Alert Name.",expr:"Rule group {groupIndex} rule {ruleIndex} requires a PromQL Expression.",labels:"Rule group {groupIndex} rule {ruleIndex} requires at least one label. Severity is recommended.",recordName:"Rule group {groupIndex} rule {ruleIndex} requires a Time Series Name."},singleEntry:"At least one alert rule or one recording rule is required in rule group {index}."}}},required:'"{key}" is required',invalid:'"{key}" is invalid',requiredOrOverride:'"{key}" is required or must allow override',roleTemplate:{roleTemplateRules:{missingVerb:"You must specify at least one verb for each resource grant",missingResource:"You must specify a Resource for each resource grant",missingApiGroup:"You must specify an API Group for each resource grant",missingOneResource:"You must specify at least one Resource, Non-Resource URL or API Group for each resource grant",noResourceAndNonResource:"Each rule may contain Resources or Non-Resource URLs but not both"}},service:{externalName:{none:"External Name is required on an ExternalName Service."},ports:{name:{required:"Port Rule [{position}] - Name is required."},nodePort:{requiredInt:"Port Rule [{position}] - Node Port must be integer values if included.",between:"Port Rule [{position}] - Node Port must be between 1 and 65535"},port:{required:"Port Rule [{position}] - Port is required.",requiredInt:"Port Rule [{position}] - Port must be integer values if included.",between:"Port Rule [{position}] - Port must be between 1 and 65535"},targetPort:{between:"Port Rule [{position}] - Target Port must be between 1 and 65535",iana:"Port Rule [{position}] - Target Port must be an IANA Service Name or Integer",ianaAt:"Port Rule [{position}] - Target Port ",required:"Port Rule [{position}] - Target Port is required"}}},setting:{serverUrl:{https:"Server URL must be https.",localhost:"If the Server URL is internal to the Rancher server (e.g. localhost) the downstream clusters may not be able to communicate with Rancher.",trailingForwardSlash:"Server URL should not have a trailing forward slash.",url:"Server URL must be an URL."}},stringLength:{between:'"{key}" should be between {min} and {max} {max, plural, =1 {character} other {characters}}',exactly:'"{key}" should be {count, plural, =1 {# character} other {# characters}}',max:'"{key}" should be at most {count} {count, plural, =1 {character} other {characters}}',min:'"{key}" should be at least {count} {count, plural, =1 {character} other {characters}}'},targets:{missingProjectId:"A target must have a project selected."},monitoring:{route:{match:"At least one Match or Match Regex must be selected",interval:'"{key}" must be of a format with digits followed by a unit i.e. 1h, 2m, 30s'}},tab:"One or more fields in this tab contain a form validation error"},wizard:{previous:"Previous",finish:"Finish",next:"Next",step:"Step {number}",edit:"Edit",create:"Create",view:"View"},wm:{connection:{connected:"Connected",connecting:"Connecting…",disconnected:"Disconnected",error:"Error"},containerLogs:{clear:"Clear",containerName:"Container: {label}",download:"Download",follow:"Follow",noData:"There are no log entries to show in the current range.",noMatch:"No lines match the current filter.",previous:"Use Previous Container",range:{all:"Everything",hours:"{value, number}\n{value, plural,\n=1 {Hour}\nother {Hours}\n}",label:"Show the last",lines:"{value, number} Lines",minutes:"{value, number} {value, plural,\n=1 {Minute}\nother {Minutes}\n}"},search:"Filter",timestamps:"Show Timestamps",wrap:"Wrap Lines"},containerShell:{clear:"Clear",containerName:"Container: {label}",failed:"Unable to open a shell to the container (none of the shell commmands succeeded)\n\r"},kubectlShell:{title:"Kubectl: {name}"}},workload:{container:{command:{addEnvVar:"Add Variable",args:"Arguments",as:"as",command:"Command",env:"Environment Variables",fromResource:{key:{label:"Key",placeholder:"e.g. metadata.labels['']"},name:{label:"Variable Name",placeholder:"e.g. FOO"},prefix:"Prefix",source:{label:"Source",placeholder:"e.g. my-container"},secret:"Secret",configMap:"ConfigMap",containerName:"Container Name",type:"Type",value:{label:"Value",placeholder:"e.g. bar"}},tty:"TTY",workingDir:"WorkingDir",stdin:"Stdin"},containerName:"Container Name",healthCheck:{checkInterval:"Check Interval",command:{command:"Command to run"},failureThreshold:"Failure Threshold",httpGet:{headers:"Request Headers",path:"Request Path",port:"Check Port"},initialDelay:"Initial Delay",livenessProbe:"Liveness Check",livenessTip:"Containers will be restarted when this check is failing. Not recommended for most uses.",noHealthCheck:"There is not a Readiness Check, Liveness Check or Startup Check configured.",readinessProbe:"Readiness Checks",readinessTip:"Containers will be removed from service endpoints when this check is failing. Recommended.",startupProbe:"Startup Check",startupTip:"Containers will wait until this check succeeds before attempting other health checks.",successThreshold:"Success Threshold",timeout:"Timeout",kind:{none:"None",HTTP:"HTTP request returns a successful status (200-399)",HTTPS:"HTTPS request returns a successful status",tcp:"TCP connection opens successfully",exec:"Command run inside the container exits with status 0"}},image:"Container Image",imagePullPolicy:"Pull Policy",imagePullSecrets:{label:"Pull Secrets",tooltip:"Must be of Type `kubernetes.io/dockercfg` or `kubernetes.io/dockerconfigjson`"},init:"Init Container",lifecycleHook:{postStart:{label:"PostStart",add:"Add PostStart Hook"},preStop:{label:"PreStop",add:"Add PreStop Hook"},exec:{title:"Exec",add:"Add command to execute",command:{label:"Command",placeholder:"e.g. sh -c 'sleep 10'"}},httpGet:{title:"HttpGet",add:"Create HTTP request",host:{label:"Host IP",placeholder:"e.g. 172.17.0.2"},path:{label:"Path",placeholder:"e.g. app/bin/endpoint?param=value"},port:{label:"Port",placeholder:"e.g. 3000"},scheme:{label:"Scheme",placeholder:"e.g. HTTP"}},httpHeaders:{title:"HTTP Headers",name:{label:"Name",placeholder:"e.g. accept-ranges"},value:{label:"Value",placeholder:"e.g. bytes"}},tcpSocket:{title:"TCPSocket",add:"Open a TCP socket",host:{label:"Host",placeholder:"e.g. 192.168.0.1"},port:{label:"Port",placeholder:"e.g. 80"}}},name:"Container Name",noResourceLimits:"There are no resource requirements configured.",noPorts:"There are no ports configured.",noServiceAccess:"You do not have permission to create or manage services",ports:{expose:"Networking",description:"Define a Service to expose the container, or define a non-functional, named port so that humans will know where the app within the container is expected to run.",detailedDescription:"If ClusterIP, LoadBalancer, or NodePort is selected, a Service is automatically created that will select the Pods in this workload using labels.",toolTip:"For help exposing workloads on Kubernetes, see the official Kubernetes documentation on Services. You can also manually create a Service to expose Pods by selecting their labels, and you can use an Ingress to map HTTP routes to Services.",createService:"Service Type",noCreateService:"Do not create a service",containerPort:"Private Container Port",hostIP:"Host IP",hostPort:"Public Host Port",name:"Name",protocol:"Protocol",listeningPort:"Listening Port"},removeContainer:"Remove Container",addContainer:"Add Container",security:{addCapabilities:"Add Capabilities",addGroupIDs:"Add Group IDs",allowPrivilegeEscalation:{label:"Privilege Escalation",false:"No",true:"Yes: container can gain more privileges than its parent process"},dropCapabilities:"Drop Capabilities",fsGroup:"Filesystem Group",hostIPC:"Use Host IPC Namespace",hostPID:"Use Host PID Namespace",podFsGroup:"Pod Filesystem Group",privileged:{label:"Privileged",false:"No",true:"Yes: container has full access to the host"},readOnlyRootFilesystem:{label:"Read-Only Root Filesystem",false:"No",true:"Yes: container has a read-only root filesystem"},runAsGroup:"Run as Group ID",runAsNonRoot:{label:"Run as Non-Root",false:"No",true:"Yes: container must run as a non-root user"},runAsNonRootOptions:{noOption:"No",yesOption:"Yes: containers must run as non-root-user"},runAsUser:"Run as User ID",shareProcessNamespace:"Share single process namespace",supplementalGroups:"Additional Group IDs",sysctls:"Sysctls",sysctlsKey:"Name"},standard:"Standard Container",terminationState:"Last state: Terminated with {lsExitCode}: {lsDescription}, started: {lsStartedAt}, finished: {lsFinishedAt}",titles:{pods:"Pods",container:"Container",command:"Command",containers:"Containers",env:"Environment Variables",events:"Events",general:"General",healthCheck:"Health Check",image:"Image",lifecycle:"Lifecycle Hooks",networking:"Networking",networkSettings:"Network Settings",podAnnotations:"Pod Annotations",podLabels:"Pod Labels",metrics:"Metrics",podScheduling:"Pod Scheduling",nodeScheduling:"Node Scheduling",ports:"Ports",resources:"Resources",securityContext:"Security Context",status:"Status",volumeClaimTemplates:"Volume Claim Templates",upgrading:"Scaling and Upgrade Policy"}},cronSchedule:"Schedule",detail:{services:"Services",ingresses:"Ingresses",cannotViewServices:"Could not list Services due to lack of permission.",cannotFindServices:"Could not find any Services that select Pods from this workload.",serviceListCaption:"The following Services select Pods from this workload:",cannotViewIngresses:"Could not list Ingresses due to lack of permission.",cannotFindIngresses:"Could not find any Ingresses that forward traffic to Services that select Pods in this workload.",ingressListCaption:"The following Ingresses forward traffic to Services that select Pods from this workload:",cannotViewIngressesBecauseCannotViewServices:"Could not find relevant relevant Ingresses due to lack of permission to view Services.",pods:{title:"Pods"}},detailTop:{node:"Node",podIP:"Pod IP",podRestarts:"Pod Restarts",workload:"Workload",pods:"Pods by State",runs:"Runs"},error:"Pod { name } Security Policy Violation { policy }",gaugeStates:{succeeded:"Successful",running:"Running",failed:"Failed"},hideTabs:"Hide Advanced Options",job:{activeDeadlineSeconds:{label:"Active Deadline",tip:"The duration that the job may be active before the system tries to terminate it."},backoffLimit:{label:"Back Off Limit",tip:"The number of retries before marking this job failed."},completions:{label:"Completions",tip:"The number of successfully finished pods the job should be run with."},failedJobsHistoryLimit:{label:"Failed Job History Limit",tip:"The number of failed finished jobs to retain."},parallelism:{label:"Parallelism",tip:"The maximum number of pods the job should run at any given time."},startingDeadlineSeconds:{label:"Starting Deadline Seconds",tip:"The deadline in seconds for starting the job if it misses scheduled time"},successfulJobsHistoryLimit:{label:"Successful Job History Limit",tip:"The number of successful finished jobs to retain."},suspend:"Suspend"},list:{errorCannotScale:"Failed to scale {workloadName} {direction, select, up { up } down { down } }"},metrics:{pod:"Pod Metrics",metricsView:"Metrics View"},networking:{dnsPolicy:{label:"DNS Policy",options:{clusterFirst:"Cluster First",clusterFirstWithHostNet:"Cluster First With Host Network",default:"Default",none:"None"},placeholder:"Select a Policy..."},hostAliases:{add:"Add Alias",keyLabel:"IP Address",keyPlaceholder:"e.g. 1.1.1.1",label:"Host Aliases",tip:"Additional /etc/hosts entries to be injected in the container.",valueLabel:"Hostname",valuePlaceholder:"e.g. foo.com, bar.com"},hostname:{label:"Hostname",placeholder:"e.g. web"},nameservers:{add:"Add Nameserver",label:"Nameservers",placeholder:"e.g. 1.1.1.1"},networkMode:{label:"Network Mode",options:{hostNetwork:"Host Network",normal:"Normal"},placeholder:"Select a Mode..."},dns:"DNS",resolver:{label:"Resolver Options",add:"Add Option"},searches:{add:"Add Search Domain",label:"Search Domains",placeholder:"e.g. mycompany.com"},subdomain:{label:"Subdomain",placeholder:"e.g. web"}},normanWarning:"It looks like this workload was created in the legacy Rancher UI. You may need to manually delete any services that were automatically created for it.",validation:{containers:"Containers",containerImage:'Container {name} - "Container Image" is required.'},replicas:"Replicas",showTabs:"Show Advanced Options",scheduling:{activeDeadlineSeconds:"Pod Active Deadline",activeDeadlineSecondsTip:"The duration that the pod may be active before the system tries to mark it failed and kill associated containers.",affinity:{addNodeSelector:"Add Node Selector",anyNode:"Run pods on any available node",affinityTitle:"Run pods on nodes with pods matching these selectors",antiAffinityTitle:"Run pods on nodes without pods matching these selectors",affinityOption:"Affinity",antiAffinityOption:"Anti-Affinity",matchFields:{label:"Fields"},matchExpressions:{label:"Expressions",addRule:"Add Rule",doesNotExist:"is not set",exists:"is set",greaterThan:">",in:"in list",inNamespaces:"Specific namespaces",key:"Key",lessThan:"<",matchType:"Match Type",namespaces:"Namespaces",notIn:"not in list",operator:"Operator",value:"Value",weight:"Weight"},noPodRules:"There are no pod scheduling rules configured.",nodeName:"Node Name",priority:"Priority",preferAny:"Prefer any of:",preferred:"Preferred",required:"Required",requireAny:"Require any of:",schedulingRules:"Run pods on node(s) matching scheduling rules",specificNode:"Run pods on specific node(s)",thisPodNamespace:"This pod's namespace",allNamespaces:"All namespaces",topologyKey:{label:"Topology Key",placeholder:"e.g. failure-domain.beta.kubernetes.io/zone"},type:"Type",weight:{label:"Weight",placeholder:"Must be a weight between 1 and 100"}},priority:{className:"Priority Class Name",priority:"Priority"},terminationGracePeriodSeconds:"Termination Grace Period",terminationGracePeriodSecondsTip:"The duration that the pod needs to terminate gracefully.",titles:{advanced:"Advanced",nodeScheduling:"Node Scheduling",nodeSelector:"Nodes with these labels",podScheduling:"Pod Scheduling",priority:"Priority",tab:"Scheduling",tolerations:"Tolerations",limits:"Limits and Reservations"},tolerations:{addToleration:"Add Toleration",effect:"Effect",effectOptions:{all:"All",noExecute:"NoExecute",noSchedule:"NoSchedule",preferNoSchedule:"PreferNoSchedule"},labelKey:"Key",operator:"Operator",operatorOptions:{equal:"=",exists:"Exists"},tolerationSeconds:"Toleration Seconds",value:"Value"}},serviceAccountName:{label:"Service Account Name",createMessage:"The service name [ {name} ] does not exist in this namespace, you will need to create it manually."},serviceName:"Service Name",storage:{subtypes:{secret:"Secret",configMap:"ConfigMap",hostPath:"Bind-Mount",persistentVolumeClaim:"Persistent Volume Claim",createPVC:"Create Persistent Volume Claim",csi:"CSI",nfs:"NFS",awsElasticBlockStore:"Amazon EBS Disk",azureDisk:"Azure Disk",azureFile:"Azure File",gcePersistentDisk:"Google Persistent Disk","driver.longhorn.io":"Longhorn",vsphereVolume:"VMWare vSphere Volume",emptyDir:"Empty Dir"},addClaim:"Add Claim",addMount:"Add Mount",addVolume:"Add Volume",selectVolume:"Select Volume",noVolumes:"Volumes will appear here after they are added in the Pod tab",certificate:"Certificate",csi:{diskName:"Disk Name",diskURI:"Disk URI",cachingMode:{label:"Caching Mode",options:{none:"None",readOnly:"Read Only",readWrite:"Read Write"}},kind:{label:"Kind",options:{dedicated:"Dedicated",managed:"Managed",shared:"Shared"}},drivers:{"driver.longhorn.io":"Longhorn"},fsType:"Filesystem Type",shareName:"Share Name",secretName:"Secret Name",volumeID:"Volume ID",partition:"Partition",pdName:"Persistent Disk Name",storagePolicyID:"Storage Policy ID",storagePolicyName:"Storage Policy Name",volumePath:"Volume Path"},defaultMode:"Default Mode",driver:"driver",hostPath:{label:"The Path on the Node must be",options:{default:"Anything: do not check the target path",directoryOrCreate:"A directory, or create if it doesn't exist",directory:"An existing directory",fileOrCreate:"A file, or create if it doesn't exist",file:"An existing file",socket:"An existing socket",charDevice:"An existing character device",blockDevice:"An existing block device"}},mountPoint:"Mount Point",nodePath:"Path on Node",optional:{label:"Optional",no:"No",yes:"Yes"},path:"Path",readOnly:"Read Only",server:"Server",subPath:"Sub Path in Volume",title:"Storage",volumeName:"Volume Name",volumePath:"Volume Path",emptyDir:{medium:{label:"Medium",default:"Node's Default Medium",memory:"Memory"},sizeLimit:{label:"Size Limit",placeholder:"e.g. 300"}}},typeDescriptions:{"apps.daemonset":"DaemonSets run exactly one pod on every eligible node. When new nodes are added to the cluster, DaemonSets automatically deploy to them. Recommended for system-wide or vertically-scalable workloads that never need more than one pod per node.","apps.deployment":"Deployments run a scalable number of replicas of a pod distributed among the eligible nodes. Changes are rolled out incrementally and can be rolled back to the previous revision when needed. Recommended for stateless & horizontally-scalable workloads.","apps.statefulset":"StatefulSets manage stateful applications and provide guarantees about the ordering and uniqueness of the pods created. Recommended for workloads with persistent storage or strict identity, quorum, or upgrade order requirements.","batch.cronjob":"CronJobs create Jobs, which then run Pods, on a repeating schedule. The schedule is expressed in standard Unix cron format, and uses the timezone of the Kubernetes control plane (typically UTC).","batch.job":"Jobs create one or more pods to reliably perform a one-time task by running a pod until it exits successfully. Failed pods are automatically replaced until the specified number of completed runs has been reached. Jobs can also run multiple pods in parallel or function as a batch work queue.",pod:"Pods are the smallest deployable units of computing that you can create and manage in Kubernetes. A Pod is a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers."},upgrading:{activeDeadlineSeconds:{label:"Pod Active Deadline",tip:"The duration the pod may be active before the system will try to mark it failed and kill associated containers."},concurrencyPolicy:{label:"Concurrency",options:{allow:"Allow CronJobs to run concurrently",forbid:"Skip next run if current run hasn't finished",replace:"Replace run if current run hasn't finished"}},maxSurge:{label:"Max Surge",tip:"The maximum number of pods allowed beyond the desired scale at any given time."},maxUnavailable:{label:"Max Unavailable",tip:"The maximum number of pods which can be unavailable at any given time."},minReadySeconds:{label:"Minimum Ready",tip:"The minimum duration a pod should be ready without containers crashing for it to be considered available."},podManagementPolicy:{label:"Pod Management Policy"},progressDeadlineSeconds:{label:"Progress Deadline",tip:"The minimum duration to wait for a deployment to progress before marking it failed."},revisionHistoryLimit:{label:"Revision History Limit",tip:"The number of old ReplicaSets to retain for rollback."},strategies:{labels:{delete:"On Delete: New pods are only created when old pods are manually deleted.",recreate:"Recreate: Kill ALL pods, then start new pods.",rollingUpdate:"Rolling Update: Create new pods, until max surge is reached, before deleting old pods. Don't stop more pods than max unavailable."}},terminationGracePeriodSeconds:{label:"Termination Grace Period",tip:"The duration the pod needs to terminate successfully."},title:"Upgrading"},tabs:{labels:{deployment:"Deployment",pod:"Pod",containers:"Containers"}}},model:{account:{kind:{admin:"Admin",agent:"Agent",project:"Environment",registeredAgent:"Registered Agent",service:"Service",user:"User"}},"catalog.cattle.io.app":{firstDeployed:"First Deployed",lastDeployed:"Last Deployed"},authConfig:{description:{ldap:"LDAP",saml:"SAML",oauth:"OAuth",oidc:"OIDC"},name:{keycloak:"Keycloak (SAML)",keycloakoidc:"Keycloak (OIDC)"},provider:{system:"System",local:"Local",multiple:"Multiple",activedirectory:"ActiveDirectory",azuread:"AzureAD",github:"GitHub",keycloak:"Keycloak",ldap:"LDAP",openldap:"OpenLDAP",shibboleth:"Shibboleth",ping:"Ping Identity",adfs:"ADFS",okta:"Okta",freeipa:"FreeIPA",googleoauth:"Google",genericoidc:"Generic OIDC",keycloakoidc:"Keycloak"}},cluster:{name:"Cluster Name"},ingress:{displayKind:"L7 Ingress"},machine:{role:{controlPlane:"Control Plane",etcd:"etcd",worker:"Worker"}},openldapconfig:{domain:{help:"Only users below this base will be used.",label:"User Search Base",placeholder:"e.g. ou=Users,dc=mycompany,dc=com"},server:{label:"Hostname or IP Address"},serviceAccountPassword:{label:"Service Account Password"},serviceAccountUsername:{label:"Service Account Username"}},projectMember:{role:{member:"Member",owner:"Owner",readonly:"Read-Only",restricted:"Restricted"}},service:{displayKind:{generic:"Service",loadBalancer:"L4 Balancer"}}},typeDescription:{"jwt.authentication":"Enable this feature on a cluster to add support for JWT authenticating downstream service accounts.",branding:"Branding allows administrators to globally re-brand the UI by customizing the Rancher product name, logos and color scheme.",chart:"All charts have at least one version that is installable on clusters with Linux and Windows nodes unless otherwise indicated.","cis.cattle.io.clusterscanbenchmark":"A benchmark version is the name of benchmark to run using kube-bench as well as the valid configuration parameters for that benchmark.","cis.cattle.io.clusterscanprofile":"A profile is the configuration for the CIS scan, which is the benchmark versions to use and any specific tests to skip in that benchmark.","cis.cattle.io.clusterscan":"A scan is created to trigger a CIS scan on the cluster based on the defined profile. A report is created after the scan is completed.","cis.cattle.io.clusterscanreport":"A report is the result of a CIS scan of the cluster.","management.cattle.io.feature":"Feature Flags allow certain {vendor} features to be toggled on and off. Features that are off by default should be considered experimental functionality.","cluster.x-k8s.io.machine":"A Machine encapsulates the configuration of a Kubernetes Node. Use this view to see what happens after updating a cluster.","cluster.x-k8s.io.machinedeployment":"A Machine Deployment orchestrates deployments via templates over a collection of Machine Sets (similar to a Deployment). Use this view to see what happens after updating a cluster.","cluster.x-k8s.io.machineset":"A Machine Set ensures the desired number of Machine resources are up and running at all times (similar to a ReplicaSet). Use this view to see what happens after updating a cluster.","resources.cattle.io.backup":"A backup is created to perform one-time backups or schedule recurring backups based on a ResourceSet.","resources.cattle.io.restore":"A restore is created to trigger a restore to the cluster based on a backup file.","resources.cattle.io.resourceset":"A resource set defines which CRDs and resources to store in the backup.","monitoring.coreos.com.servicemonitor":"A service monitor defines the group of services and the endpoints that Prometheus will scrape for metrics. This is the most common way to define metrics collection.","monitoring.coreos.com.podmonitor":"A pod monitor defines the group of pods that Prometheus will scrape for metrics. The common way is to use service monitors, but pod monitors allow you to handle any situation where a service monitor wouldn't work.","monitoring.coreos.com.prometheusrule":"A Prometheus Rule resource defines both recording and/or alert rules. A recording rule can pre-compute values and save the results. Alerting rules allow you to define conditions on when to send notifications to AlertManager.","monitoring.coreos.com.prometheus":"A Prometheus server is a Prometheus deployment whose scrape configuration and rules are determined by selected ServiceMonitors, PodMonitors, and PrometheusRules and whose alerts will be sent to all selected Alertmanagers with the custom resource's configuration.","monitoring.coreos.com.alertmanager":"An alert manager is deployment whose configuration will be specified by a secret in the same namespace, which determines which alerts should go to which receiver.",node:"The base Kubernetes Node resource represents a virtual or physical machine which hosts deployments. To manage the machine lifecycle, if available, go to Cluster Management.","catalog.cattle.io.clusterrepo":"A chart repository is a Helm repository or {vendor} git based application catalog. It provides the list of available charts in the cluster.","catalog.cattle.io.clusterrepo.local":" A chart repository is a Helm repository or {vendor} git based application catalog. It provides the list of available charts in the cluster. Cluster Templates are deployed via Helm charts.","catalog.cattle.io.operation":"An operation is the list of recent Helm operations that have been applied to the cluster.","catalog.cattle.io.app":"An installed application is a Helm 3 chart that was installed either via our charts or through the Helm CLI.","logging.banzaicloud.io.clusterflow":"Logs from the cluster will be collected and logged to the selected Cluster Output.","logging.banzaicloud.io.clusteroutput":"A cluster output defines which logging providers that logs can be sent to and is only effective when deployed in the namespace that the logging operator is in.","logging.banzaicloud.io.flow":"A flow defines which logs to collect and filter as well as which output to send the logs. The flow is a namespaced resource, which means logs will only be collected from the namespace that the flow is deployed in.","logging.banzaicloud.io.output":"An output defines which logging providers that logs can be sent to. The output needs to be in the same namespace as the flow that is using it.","group.principal":"Assigning global roles to a group only works with external auth providers that support groups. Local authorization does not support groups."},typeLabel:{"management.cattle.io.token":"{count, plural,\n one { API Key }\n other { API Keys }\n}","cis.cattle.io.clusterscan":"{count, plural,\n one { Scan }\n other { Scans }\n}","cis.cattle.io.clusterscanprofile":"{count, plural,\n one { Profile }\n other { Profiles }\n}","cis.cattle.io.clusterscanbenchmark":"{count, plural,\n one { Benchmark Version }\n other { Benchmark Versions }\n}","catalog.cattle.io.operation":"{count, plural,\n one { Recent Operation }\n other { Recent Operations }\n}","catalog.cattle.io.app":"{count, plural,\n one { Installed App }\n other { Installed Apps }\n}","catalog.cattle.io.clusterrepo":"{count, plural,\n one { Repository }\n other { Repositories }\n}","catalog.cattle.io.repo":"{count, plural,\n one { Namespaced Repo }\n other { Namespaced Repos }\n}",chartinstallaction:"{count, plural,\n one { App }\n other { Apps }\n}",chartupgradeaction:"{count, plural,\n one { App }\n other { Apps }\n}",cloudcredential:"{count, plural,\n one { Cloud Credential }\n other { Cloud Credentials }\n}",kontainerdriver:"{count, plural,\n one { Cluster Driver }\n other { Cluster Drivers }\n}",nodedriver:"{count, plural,\n one { Node Driver }\n other { Node Drivers }\n}",endpoints:"{count, plural,\n one { Endpoint }\n other { Endpoints }\n}","fleet.cattle.io.cluster":"{count, plural,\n =1 { Cluster }\n other {Clusters }\n}","fleet.cattle.io.clustergroup":"{count, plural,\n one { Cluster Group }\n other {Cluster Groups }\n}","fleet.cattle.io.gitrepo":"{count, plural,\n one { Git Repo }\n other {Git Repos }\n}","management.cattle.io.authconfig":"{count, plural,\n one { Authentication Provider }\n other { Authentication Providers }\n}","management.cattle.io.clusterroletemplatebinding":"{count, plural,\n one { Cluster Membership }\n other { Cluster Memberships }\n}",projectroletemplatebinding:"{count, plural,\n one { Project Membership }\n other { Project Memberships }\n}","management.cattle.io.feature":"{count, plural,\n one { Feature Flag }\n other { Feature Flags }\n}","management.cattle.io.setting":"{count, plural,\n one { Setting }\n other { Settings }\n}","management.cattle.io.fleetworkspace":"{count, plural,\n one { Workspace }\n other { Workspaces }\n}","management.cattle.io.podsecurityadmissionconfigurationtemplate":"{count, plural,\n one { Pod Security Admission }\n other { Pod Security Admissions }\n}","policy.poddisruptionbudget":"{count, plural,\n one { Pod Disruption Budget }\n other { Pod Disruption Budgets }\n}",limitrange:"{count, plural,\n one { Limit Range }\n other { Limit Ranges }\n}",resourcequota:"{count, plural,\n one { Resource Quota }\n other { Resource Quotas }\n}","monitoring.coreos.com.prometheus":"{count, plural,\n one { Prometheus }\n other { Prometheis }\n}","helm.cattle.io.projecthelmchart":"{count, plural,\n one { Project Monitor }\n other { Project Monitors }\n}","monitoring.coreos.com.servicemonitor":"{count, plural,\n one { Service Monitor }\n other { Service Monitors }\n}","monitoring.coreos.com.alertmanager":"{count, plural,\n one { Alertmanager }\n other { Alertmanagers }\n}","monitoring.coreos.com.alertmanagerconfig":"{count, plural,\n one { AlertmanagerConfig }\n other { AlertmanagerConfigs }\n}","monitoring.coreos.com.podmonitor":"{count, plural,\n one { Pod Monitor }\n other { Pod Monitors }\n}","monitoring.coreos.com.prometheusrule":"{count, plural,\n one { PrometheusRule }\n other { PrometheusRules }\n}","monitoring.coreos.com.thanosruler":"{count, plural,\n one { Thanos Rule }\n other { Thanos Rules }\n}","monitoring.coreos.com.receiver":"{count, plural,\n one { Receiver }\n other { Receivers }\n}","monitoring.coreos.com.route":"{count, plural,\n one { Route }\n other { Routes }\n}","management.cattle.io.cluster":"{count, plural,\n one { Mgmt Cluster }\n other { Mgmt Clusters }\n}","cluster.x-k8s.io.cluster":"{count, plural,\n one { CAPI Cluster }\n other { CAPI Clusters }\n}","provisioning.cattle.io.cluster":"{count, plural,\n one { Cluster }\n other { Clusters }\n}","management.cattle.io.user":"{count, plural,\n one { User }\n other { Users}\n}",namespace:"{count, plural,\n one { Namespace }\n other { Namespaces }\n}",node:"{count, plural,\n one { Node }\n other { Nodes }\n}",event:"{count, plural,\n one { Event }\n other { Events }\n}","apps.deployment":"{count, plural,\n one { Deployment }\n other { Deployments }\n}","batch.cronjob":"{count, plural,\n one { CronJob }\n other { CronJobs }\n}","apps.daemonset":"{count, plural,\n one { DaemonSet }\n other { DaemonSets }\n}","batch.job":"{count, plural,\n one { Job }\n other { Jobs }\n}","apps.statefulset":"{count, plural,\n one { StatefulSet }\n other { StatefulSets }\n}",pod:"{count, plural,\n one { Pod }\n other { Pods }\n}","autoscaling.horizontalpodautoscaler":"{count, plural,\n one { HorizontalPodAutoscaler }\n other { HorizontalPodAutoscalers }\n}","networking.k8s.io.ingress":"{count, plural,\n one { Ingress }\n other { Ingresses }\n}","networking.k8s.io.networkpolicy":"{count, plural,\n one { Network Policy }\n other { Network Policies }\n}",service:"{count, plural,\n one { Service }\n other { Services }\n}",persistentvolume:"{count, plural,\n one { PersistentVolume }\n other { PersistentVolumes }\n}","storage.k8s.io.storageclass":"{count, plural,\n one { StorageClass }\n other { StorageClasses }\n}",configmap:"{count, plural,\n one { ConfigMap }\n other { ConfigMaps }\n}",persistentvolumeclaim:"{count, plural,\n one { PersistentVolumeClaim }\n other { PersistentVolumeClaims }\n}",secret:"{count, plural,\n one { Secret }\n other { Secrets }\n}","apiregistration.k8s.io.apiservice":"{count, plural,\n one { APIService }\n other { APIServices }\n}","apiextensions.k8s.io.customresourcedefinition":"{count, plural,\n one { CustomResourceDefinition }\n other { CustomResourceDefinitions }\n}","flowcontrol.apiserver.k8s.io.flowschema":"{count, plural,\n one { FlowSchema }\n other { FlowSchemas }\n}","flowcontrol.apiserver.k8s.io.prioritylevelconfiguration":"{count, plural,\n one { PriorityLevelConfiguration }\n other { PriorityLevelConfigurations }\n}","apps.replicaset":"{count, plural,\n one { ReplicaSet }\n other { ReplicaSets }\n}","coordination.k8s.io.lease":"{count, plural,\n one { Lease }\n other { Leases }\n}",serviceaccount:"{count, plural,\n one { ServiceAccount }\n other { ServiceAccounts }\n}","discovery.k8s.io.endpointslice":"{count, plural,\n one { EndpointSlice }\n other { EndpointSlices }\n}","admissionregistration.k8s.io.mutatingwebhookconfiguration":"{count, plural,\n one { MutatingWebhookConfiguration }\n other { MutatingWebhookConfigurations }\n}","admissionregistration.k8s.io.validatingwebhookconfiguration":"{count, plural,\n one { ValidatingWebhookConfiguration }\n other { ValidatingWebhookConfigurations }\n}","group.principal":"{count, plural,\n one { Group }\n other { Groups }\n}",token:"{count, plural,\n one { API Key }\n other { API Keys }\n}",workload:"{count, plural,\n one { Workload }\n other { Workloads }\n}","harvesterhci.io.management.cluster":"{count, plural,\n one { Harvester Cluster }\n other { Harvester Clusters }\n}","harvesterhci.io.cloudtemplate":"{count, plural,\n one { Cloud Config Template }\n other { Cloud Config Templates }\n}","fleet.cattle.io.content":"{count, plural,\n one { Content }\n other { Contents }\n}","fleet.cattle.io.bundle":"{count, plural,\n one { Bundle }\n other { Bundles }\n}","fleet.cattle.io.bundledeployment":"{count, plural,\n one { BundleDeployment }\n other { BundleDeployments }\n}","k3s.cattle.io.addon":"{count, plural,\n one { Addon }\n other { Addons }\n}","management.cattle.io.apiservice":"{count, plural,\n one { APIService }\n other { APIServices }\n}","management.cattle.io.catalog":"{count, plural,\n one { Catalog }\n other { Catalogs }\n}","fleet.cattle.io.clusterregistration":"{count, plural,\n one { ClusterRegistration }\n other { ClusterRegistrations }\n}","management.cattle.io.dynamicschema":"{count, plural,\n one { DynamicSchema }\n other { DynamicSchemas }\n}","management.cattle.io.globalrolebinding":"{count, plural,\n one { GlobalRoleBinding }\n other { GlobalRoleBindings }\n}","management.cattle.io.kontainerdriver":"{count, plural,\n one { KontainerDriver }\n other { KontainerDrivers }\n}","management.cattle.io.nodedriver":"{count, plural,\n one { NodeDriver }\n other { NodeDrivers }\n}","management.cattle.io.podsecuritypolicytemplate":"{count, plural,\n one { PodSecurityPolicyTemplate }\n other { PodSecurityPolicyTemplates }\n}","management.cattle.io.userattribute":"{count, plural,\n one { UserAttribute }\n other { UserAttributes }\n}","management.cattle.io.catalogtemplate":"{count, plural,\n one { CatalogTemplate }\n other { CatalogTemplates }\n}","management.cattle.io.catalogtemplateversion":"{count, plural,\n one { CatalogTemplateVersion }\n other { CatalogTemplateVersions }\n}","management.cattle.io.cisbenchmarkversion":"{count, plural,\n one { CisBenchmarkVersion }\n other { CisBenchmarkVersions }\n}","management.cattle.io.cisconfig":"{count, plural,\n one { CisConfig }\n other { CisConfigs }\n}","management.cattle.io.clusteralertgroup":"{count, plural,\n one { ClusterAlertGroup }\n other { ClusterAlertGroups }\n}","management.cattle.io.clusteralertrule":"{count, plural,\n one { ClusterAlertRule }\n other { ClusterAlertRules }\n}","management.cattle.io.clusterregistrationtoken":"{count, plural,\n one { ClusterRegistrationToken }\n other { ClusterRegistrationTokens }\n}","management.cattle.io.node":"{count, plural,\n one { Node }\n other { Nodes }\n}","management.cattle.io.projectalertgroup":"{count, plural,\n one { ProjectAlertGroup }\n other { ProjectAlertGroups }\n}","management.cattle.io.projectalertrule":"{count, plural,\n one { ProjectAlertRule }\n other { ProjectAlertRules }\n}","management.cattle.io.rkeaddon":"{count, plural,\n one { RkeAddon }\n other { RkeAddons }\n}","management.cattle.io.rkek8sserviceoption":"{count, plural,\n one { RkeK8sServiceOption }\n other { RkeK8sServiceOptions }\n}","management.cattle.io.rkek8ssystemimage":"{count, plural,\n one { RkeK8sSystemImage }\n other { RkeK8sSystemImages }\n}","rbac.authorization.k8s.io.clusterrolebinding":"{count, plural,\n one { ClusterRoleBinding }\n other { ClusterRoleBindings }\n}","rbac.authorization.k8s.io.clusterrole":"{count, plural,\n one { ClusterRole }\n other { ClusterRoles }\n}","rbac.authorization.k8s.io.rolebinding":"{count, plural,\n one { RoleBinding }\n other { RoleBindings }\n}","rbac.authorization.k8s.io.role":"{count, plural,\n one { Role }\n other { Roles }\n}","scheduling.k8s.io.priorityclass":"{count, plural,\n one { PriorityClass }\n other { PriorityClasses }\n}","storage.k8s.io.csinode":"{count, plural,\n one { CSINode }\n other { CSINodes }\n}","cluster.x-k8s.io.machinedeployment":"{count, plural,\n one { MachineDeployment }\n other { MachineDeployments }\n}","cluster.x-k8s.io.machineset":"{count, plural,\n one { MachineSet }\n other { MachineSets }\n}","cluster.x-k8s.io.machine":"{count, plural,\n one { Machine }\n other { Machines }\n}","fleet.cattle.io.clusterregistrationtoken":"{count, plural,\n one { Cluster Registration Token }\n other { Cluster Registration Tokens }\n}"},action:{clone:"Clone",disable:"Disable",download:"Download YAML",edit:"Edit Config",editYaml:"Edit YAML",enable:"Enable",openLogs:"View Logs",refresh:"Refresh",remove:"Delete",view:"View Config",viewInApi:"View in API",viewYaml:"View YAML",activate:"Activate",deactivate:"Deactivate",show:"Show",hide:"Hide",copy:"Copy",unassign:"Unassign",uninstall:"Uninstall",redeploy:"Redeploy",addSidecar:"Add Sidecar",rollback:"Rollback",openShell:"Execute Shell",runNow:"Run Now",suspend:"Suspend",resume:"Resume"},unit:{sec:"secs",min:"mins",hour:"{count, plural,\n one { hour }\n other { hours }\n}",day:"{count, plural,\n one { day }\n other { days }\n}"},workloadPorts:{addPort:"Add Port or Service",remove:"Remove",addHost:"Add Host"},podAffinity:{addLabel:"Add Pod Selector"},keyValue:{keyPlaceholder:"e.g. foo",valuePlaceholder:"e.g. bar",protip:"Paste lines of key=value or key:value into any key field for easy bulk entry"},registryMirror:{header:"Mirrors",toolTip:"Mirrors can be used to redirect requests for images from one registry to come from a list of endpoints you specify instead. For example docker.io could redirect to your internal registry instead of ever going to DockerHub.",addLabel:"Add Mirror",description:"Mirrors define the names and endpoints for private registries. The endpoints are tried one by one, and the first working one is used.",hostnameLabel:"Registry Hostname",hostnamePlaceholder:"e.g. docker.io or *",endpointsLabel:"Mirror Endpoints",endpointsPlaceholder:"e.g. a.registry.com:5000, b.registry.com:5000"},registryMirrorRewrite:{header:"Rewrites",toolTip:"Each mirror can have a set of rewrites. Rewrites can change the tag of an image based on a regular expression.",addLabel:"Add Rewrite Config",keyLabel:"Rewrite pattern",keyPlaceholder:"e.g. ^rancher/(.*)",valueLabel:"Rewrite replacement",valuePlaceholder:"e.g. mirrorproject/rancher-images/$1"},registryConfig:{header:"Registry Authentication",toolTip:"When an image needs to be pulled from the given registry hostname, this information will be used to verify the identity of the registry and authenticate to it.",addLabel:"Add Registry",description:"Define the TLS and credential configuration for each registry hostname and mirror."},advancedSettings:{label:"Settings",subtext:"Typical users will not need to change these. Proceed with caution, incorrect values can break your {appName} installation. Settings which have been customized from default settings are tagged 'Modified'.",show:"Show",hide:"Hide",none:"None",modified:"Modified",edit:{label:"Edit Setting",changeSetting:"Change Setting:",trueOption:"True",falseOption:"False",value:"Value",useDefault:"Use the default value",invalidJSON:"Invalid JSON - please check and correct your input before saving"},descriptions:{cacerts:"CA Certificates needed to verify the server's certificate.","password-min-length":"Define minimum characters required for an user password.","cluster-defaults":"Override RKE Defaults when creating new clusters.","engine-install-url":"Default Docker engine installation URL (for most node drivers).","engine-iso-url":"Default OS installation URL (for vSphere driver).","engine-newest-version":"The newest supported version of Docker at the time of this release. A Docker version that does not satisfy supported docker range but is newer than this will be marked as untested.","engine-supported-range":"Semver range for supported Docker engine versions. Versions which do not satisfy this range will be marked unsupported in the UI.","ingress-ip-domain":"Wildcard DNS domain to use for automatically generated Ingress hostnames. .. will be added to the domain.","server-url":"Default {appName} install url. Must be HTTPS. All nodes in your cluster must be able to reach this.","system-default-registry":"Private registry to be used for all Rancher System Container Images. If no value is specified, the default registry for the container runtime is used. For Docker and containerd, the default is `docker.io`.","ui-index":"HTML index location for the Cluster Manager UI.","ui-dashboard-index":"HTML index location for the {appName} UI.","ui-offline-preferred":"Controls whether UI assets are served locally by the server container or from the remote URL defined in the ui-index and ui-dashboard-index settings. The `Dynamic` option will use local assets in production builds of {appName}.","ui-pl":"Private-Label company name.","telemetry-opt":"Telemetry reporting opt-in.","auth-user-info-max-age-seconds":"The maximum age of a users auth tokens before an auth provider group membership sync will be performed.","auth-user-info-resync-cron":"Default cron schedule for resyncing auth provider group memberships.","cluster-template-enforcement":"Non-admins will be restricted to launching clusters via preapproved RKE Templates only.","auth-user-session-ttl-minutes":"Custom TTL (in minutes) on a user auth session.","auth-token-max-ttl-minutes":"Max TTL (in minutes) for all authentication tokens. When set to 0, the token never expires.","kubeconfig-generate-token":"Automatically generate tokens for users when a kubeconfig is requested.","kubeconfig-default-token-ttl-minutes":"TTL (in minutes) applied on all kubeconfig tokens. When set to 0, the token never expires.","rke-metadata-config":"Configure RKE metadata refresh parameters.","ui-banners":"Classification banner is used to display a custom fixed banner in the header, footer, or both.","custom-notifications":"Edit custom notifications","ui-consent-banner":"Banner is used to display a custom consent banner presented to users during login.","ui-default-landing":"The default page users land on after login.",brand:"Folder name for an alternative theme defined in '/assets/brand'","hide-local-cluster":"Hide the local cluster","agent-tls-mode":"Rancher Certificate Verification. In `strict` mode the agents (system, cluster, fleet, etc) will only trust Rancher installations which are using a certificate signed by the CABundle in the `cacerts` setting. When the mode is system-store, the agents will trust any certificate signed by a CABundle in the operating system’s trust store."},warnings:{"agent-tls-mode":"Changing this setting will cause all agents to be redeployed."},editHelp:{"ui-banners":"This setting takes a JSON object containing 3 root parameters; banner, showHeader, showFooter. banner is an object containing; textColor, background, and text, where textColor and background are any valid CSS color value."},enum:{"ui-default-landing":{ember:"Cluster Manager",vue:"Cluster Explorer"},"telemetry-opt":{prompt:"Prompt",in:"Opt-in to Telemetry",out:"Opt-out of Telemetry"},"ui-offline-preferred":{dynamic:"Dynamic",true:"Local",false:"Remote"},"harv-ui-source":{auto:"Auto",bundled:"Bundled",external:"External"},"harv-log-level":{info:"Info",debug:"Debug",trace:"Trace"},"agent-tls-mode":{strict:"Strict","system-store":"System Store"}}},featureFlags:{label:"Feature Flags",warning:"Feature flags allow {vendor} to gate certain features behind flags.\nFeatures that are off by default should be considered experimental functionality.\nSome features require a restart of the {vendor} server to change.\nThis will result in a short outage of the API and UI, but not affect running clusters or workloads.",promptActivate:'Please confirm that you want to activate the feature flag "{flag}"',promptDeactivate:'Please confirm that you want to deactivate the feature flag "{flag}"',restartRequired:"Note: Updating this feature flag requires a restart",restart:{title:"Waiting for Restart",wait:"This may take a few moments"}},performance:{label:"UI Performance Settings",settingName:"Performance",experimental:"This setting is experimental and may be removed or updated in future versions.",incrementalLoad:{label:"Incremental Loading",setting:"You can configure the threshold above which incremental loading will be used.",description:"When enabled, resources will appear more quickly, but it may take slightly longer to load the entire set of resources. This setting only applies to resources that come from the Kubernetes API",checkboxLabel:"Enable incremental loading",inputLabel:"Resource Threshold",incompatibleDescription:"Incremental Loading is incompatible with Namespace/Project filtering and Server-side Pagination. Enabling this will disable them."},manualRefresh:{label:"Manual Refresh",setting:"You can configure a threshold above which manual refresh will be enabled.",buttonTooltip:"Refresh list",description:"When enabled, list data will not auto-update but instead the user must manually trigger a list-view refresh. This setting only applies to resources that come from the Kubernetes API",checkboxLabel:"Enable manual refresh of data for lists",inputLabel:"Resource Threshold",incompatibleDescription:"Manual Refresh is incompatible with Namespace/Project filtering and Server-side Pagination. Enabling this will disable them."},websocketNotification:{label:"Websocket Notifications",description:"When checked, websocket notifications will not appear when the UI detects a disconnection.",checkboxLabel:"Disable websocket notifications"},gc:{label:"Resource Garbage Collection",description:"The UI will cache Kubernetes resources locally to avoid having to re-fetch them. In some cases this can lead to a large amount of data stored in the browser. Enable this setting to periodically remove them.",checkboxLabel:"Enable Garbage Collection",whenRun:{description:"Update when garbage collection runs",intervalCheckBox:{label:"Run garbage collection periodically"},interval:{inputLabel:"Run every"},route:{description:"Run garbage collection on page change",inputLabel:"Page Change"}},howRun:{description:"Update how garbage collection runs",age:{description:"Resource types musn't have been accessed within this period to be considered for garbage collection.",inputLabel:"Resource Age"},count:{description:"Resource types must exceed this amount to be considered for garbage collection.",inputLabel:"Resource Count"}}},nsFiltering:{label:"Require Namespace / Project Filtering",description:"Require the user to select namespaces and/or projects. This restricts the number of resources fetched when viewing lists and should help the responsiveness of the UI in systems with a lot of resources.",checkboxLabel:"Enable Required Namespace / Project Filtering",incompatibleDescription:"Required Namespace / Project Filtering is incompatible with Manual Refresh and Incremental Loading. Enabling this will disable them."},advancedWorker:{label:"Websocket Web Worker",description:"Updates to resources pushed to the UI come via WebSocket and are handled in the UI thread. Enable this option to handle cluster WebSocket updates in a Web Worker in a separate thread. This should help the responsiveness of the UI in systems where resources change often.",checkboxLabel:"Enable Advanced Websocket Web Worker"},inactivity:{title:"Inactivity",checkboxLabel:"Enable inactivity session expiration",inputLabel:"Inactivity timeout (minutes)",information:"To change the automatic logout behaviour, edit the authorisation and/or session token timeout values (auth-user-session-ttl-minutes and auth-token-max-ttl-minutes) in the Settings page.",description:"When enabled and the user is inactive past the specified timeout, the UI will no longer fresh page content and the user must reload the page to continue.",authUserTTL:"This timeout cannot be higher than the user session timeout auth-user-session-ttl-minutes, which is currently {current} minutes."},serverPagination:{label:"Server-side Pagination",description:"By default Lists will fetch all resources and paginate in the browser (create the page given sorting and filtering settings). Change this setting to enable pagination server-side. This should help the responsiveness of the UI in systems with a lot of resources.",checkboxLabel:"Enable Server-side Pagination",applicable:"This applies to the following resource types",incompatibleDescription:"Server-side Pagination is incompatible with Manual Refresh and Incremental Loading. Enabling this will disable them.",featureFlag:'The Feature Flag `ui-sql-cache` must be enabled to use this feature',resources:{generic:"most resources in the cluster's 'More Resources' section",all:"All Resources"}}},banner:{label:"Fixed Banners",settingName:"Banners",headerBanner:"Header Banner",footerBanner:"Footer Banner",loginScreenBanner:"Login Screen Banner",text:"Text",buttonText:"Accept Button Text",textColor:"Text Color",background:"Background Color",showHeader:"Show Banner in Header",showFooter:"Show Banner in Footer",showConsent:"Show Consent Banner on Login Screen",showAsDialog:{defaultButtonText:"Accept",label:"Show Login Consent as a modal dialog",tooltip:"Show a modal dialog on the login screen that must be accepted by a user before they can login"},bannerAlignment:{label:"Text Alignment",leftOption:"Left",centerOption:"Center",rightOption:"Right"},bannerDecoration:{label:"Text Decoration",bannerBold:"Bold",bannerItalic:"Italic",bannerUnderline:"Underline"},bannerFontSize:{label:"Font Size"},consent:"Consent Banner",consentFootnote:"Tip: Use \\n character for line break",individualSetting:'This banner is managed by the setting "{name}" and can not be modified in the UI'},branding:{label:"Branding",directoryName:"Brand Asset Directory Name",logos:{label:"Logo",tip:"Upload a logo to replace the Rancher logo in the top-level navigation header. Image height should be 21 pixels with a max width of 200 pixels. Max file size is 20KB. Accepted formats: JPEG, PNG, SVG.",lightPreview:"Light Theme Preview",darkPreview:"Dark Theme Preview",uploadLight:"Upload Light Logo",uploadDark:"Upload Dark Logo",useCustom:"Use a Custom Logo"},banner:{label:"Banner",tip:"Upload an image to replace the default Rancher banner in the Dashboard page. We recommend using an SVG image with an aspect ratio of 6:1. The default image size is 4197x633. Max file size is 200KB. Accepted formats: JPEG, PNG, SVG.",lightPreview:"Light Theme Preview",darkPreview:"Dark Theme Preview",uploadLight:"Upload Light Banner",uploadDark:"Upload Dark Banner",useCustom:"Use a Custom Banner"},loginBackground:{label:"Login Background",tip:"Upload an image to replace the default Rancher background in the Login page. We recommend using an SVG image with an aspect ratio of 7:8. The default image size is 683x768. Max file size is 200KB. Accepted formats: JPEG, PNG, SVG.",lightPreview:"Light Theme Preview",darkPreview:"Dark Theme Preview",uploadLight:"Upload Light Background",uploadDark:"Upload Dark Background",useCustom:"Use a Custom Background"},favicon:{label:"Favicon",tip:"Upload an icon to replace the Rancher favicon in the browser tab. Max file size is 20KB.",preview:"Favicon Preview",upload:"Upload Favicon",useCustom:"Use a Custom Favicon"},options:{default:"Default Rancher Theme",suse:"SUSE Theme",custom:"Define a Custom Theme"},uiPL:{label:"Private Label"},color:{label:"Primary Color",tip:"You can override the primary color used throughout the UI with a custom color of your choice.",useCustom:"Use a Custom Color"},linkColor:{label:"Link Color",tip:"You can override the link color used throughout the UI with a custom color of your choice.",useCustom:"Use a Custom Link Color",example:"Link Example"}},notifications:{header:"Custom notifications",menuLabel:"Custom Notifications",loginError:{header:"Login Failed Banner",showCheckboxLabel:"Show custom login error",messageLabel:"Text to display"}},resourceQuota:{label:"Resource Quotas",headers:{limit:"Limit",namespaceDefaultLimit:"Namespace Default Limit",projectLimit:"Project Limit",projectResourceAvailability:"Project Resource Availability",resourceType:"Resource Type"},helpText:"Configure how much of the resources the namespace as a whole can consume.",helpTextDetail:"The amount of resources the namespace as a whole can consume.",helpTextHarvester:"VMs need to reserve additional memory overhead.",configMaps:"Config Maps",limitsCpu:"CPU Limit",limitsMemory:"Memory Limit",persistentVolumeClaims:"Persistent Volume Claims",pods:"Pods",replicationControllers:"Replication Controllers",requestsCpu:"CPU Reservation",requestsMemory:"Memory Reservation",requestsStorage:"Storage Reservation",secrets:"Secrets",services:"Services",servicesLoadBalancers:"Services Load Balancers",servicesNodePorts:"Service Node Ports",namespaceLimit:{label:"Namespace Limit"},projectLimit:{label:"Project Limit",cpuPlaceholder:"e.g. 2000",memoryPlaceholder:"e.g. 2048",storagePlaceholder:"e.g. 50",unitlessPlaceholder:"e.g. 50"},namespaceDefaultLimit:{label:"Namespace Default Limit",cpuPlaceholder:"e.g. 500",memoryPlaceholder:"e.g. 1024",storagePlaceholder:"e.g. 10",unitlessPlaceholder:"e.g. 10"},add:{label:"Add Resource"},tooltip:{reserved:"Other Namespaces:",namespace:"This Namespace:",available:"Available:",max:"Total:"}},customLinks:{displayTitle:"Links",label:"Home Links",description:"Configure the links to display on the home page. You can define your own custom links as well as show or hide default links.",restoreDefaults:"Restore Defaults",addLink:"Add Link",restoreSuccess:"Default URLs have been restored.",settings:{default:"Default Links",custom:"Custom Links",keyLabel:"Display Text",valueLabel:"URL",showLabel:"Show"},defaults:{docs:"Docs",forums:"Forums",slack:"Slack",issues:"File an Issue",getStarted:"Get Started",commercialSupport:"Commercial Support",suseCollective:"SUSE Collective"}},support:{community:{title:"SUSE Rancher provides world-class support",linksTitle:"Community Support",learnMore:"Find out more about SUSE Rancher Support",pricing:"Contact us for pricing"},subscription:{haveSupport:"Already have support?",addSubscription:"Add a Subscription ID",removeSubscription:"Remove your Subscription ID",addTitle:"Add your SUSE Subscription ID",addLabel:"Please enter a valid Subscription ID:",removeTitle:"Remove your ID?",removeBody:"Note: This will not affect your subscription."},suse:{title:"Great News - You're covered",editBrand:"Customize UI Theme",access:{title:"Get Support",text:"Login to SUSE Customer Center to access support for your subscription",action:"SUSE Customer Center",aws:{generateConfig:"Generate Support Config",text:"Login to SUSE Customer Center to access support for your subscription. Need to open a new support case? Download a support config file below."}}},promos:{one:{title:"24x7 Support",text:"We provide tightly defined SLAs, and offer round the clock support options."},two:{title:"Issue Resolution",text:"Run SUSE Rancher products with confidence, knowing that the developers who built them are available to quickly resolve issues."},three:{title:"Troubleshooting",text:"We focus on uncovering the root cause of any issue, whether it is related to Rancher Labs products, Kubernetes, Docker or your underlying infrastructure."},four:{title:"Innovate with Freedom",text:"Take advantage of our certified compatibility with a wide range of Kubernetes providers, operating systems, and open source software."}}},embedding:{retry:"Retry",unavailable:"Cluster Manager UI is not available"},legacy:{alerts:"Alerts",apps:"Apps",catalogs:"Catalogs",configMaps:"Config Maps",configuration:"Configuration",globalDnsEntries:"Global DNS Entries",globalDnsProviders:"Global DNS Providers",notifiers:"Notifiers",monitoring:"Monitoring",secrets:"Secrets",project:{label:"Project",select:"Use the Project/Namespace filter at the top of the page to select a Project in order to see legacy Project features."}},serverUpgrade:{title:"{vendor} Server Changed",message:"The page reloaded because the version of {vendor} running on your server changed."},volumeClaimTemplate:{add:{label:"Add Claim Template"}},manager:{cloudCredentials:{label:"Cloud Credentials"},drivers:{label:"Drivers"},rkeTemplates:{label:"RKE Templates"},nodeTemplates:{label:"Node Templates"},jwtAuthentication:{label:"JWT Authentication"}},auth:{roleTemplate:"Role Templates",config:{label:"Auth Provider"}},vncConsole:{error:{message:"Web VNC console connection is disconnected"}},gitPicker:{github:{label:"GitHub",tableHeaders:{choose:{label:"Select"},sha:{label:"SHA"},author:{label:"Author",unknown:"Unknown"},message:{label:"Message"},date:{label:"Date"}},username:{label:"Username / Organization",inputLabel:"Username / Organization",tooltip:"Username / Organization of the Git Repository"},branch:{label:"Branch",inputLabel:"Branch",tooltip:"Branch to deploy"},repo:{label:"Repository",inputLabel:"Repository",tooltip:"Repository to deploy from"},commits:{label:"Commits",tooltip:"Commits to deploy from"},commit:{label:"Commit",inputLabel:"Commit"},commitMessage:{label:"Commit Message"},errors:{noAccount:"No GitHub account or Organization found. Please review your query and try again.",noBranch:"No branch found. Please review your query and try again."}},gitlab:{label:"GitLab",tableHeaders:{choose:{label:"Select"},sha:{label:"SHA"},author:{label:"Author",unknown:"Unknown"},message:{label:"Message"},date:{label:"Date"}},username:{label:"Username / Organization",inputLabel:"Username / Organization",tooltip:"Username / Organization of the Git Repository"},branch:{label:"Branch",inputLabel:"Branch",tooltip:"Branch to deploy"},repo:{label:"Repository",inputLabel:"Repository",tooltip:"Repository to deploy from"},commits:{label:"Commits",tooltip:"Commits to deploy from"},commit:{label:"Commit",inputLabel:"Commit"},commitMessage:{label:"Commit Message"},errors:{noAccount:"No GitLab account or Organization found. Please review your query and try again.",noBranch:"No branch found. Please review your query and try again."}}},networkAttachmentDefinition:{tabs:{config:"Config"}}}];module.exports=doc.length<=1?doc[0]:doc},"./node_modules/memoizerific sync recursive":module=>{function webpackEmptyContext(req){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id="./node_modules/memoizerific sync recursive",module.exports=webpackEmptyContext},"../shell/utils/array.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Gj:()=>removeObject,IU:()=>clear,PG:()=>addObject,WP:()=>filterBy,Wq:()=>removeAt,cn:()=>addObjects,cy:()=>isArray,fH:()=>findStringIndex,jq:()=>findBy,oY:()=>hasDuplicatedStrings,sb:()=>uniq});__webpack_require__("../node_modules/lodash/xor.js");var _shell_utils_object__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../shell/utils/object.js");function removeObject(ary,obj){const idx=ary.indexOf(obj);return idx>=0&&ary.splice(idx,1),ary}function addObject(ary,obj){-1===ary.indexOf(obj)&&ary.push(obj)}function addObjects(ary,objs){const unique=[];for(const obj of objs)ary.includes(obj)||unique.includes(obj)||unique.push(obj);ary.push(...unique)}function isArray(thing){return Array.isArray(thing)}function removeAt(ary,idx,length=1){if(idx<0)throw new Error("Index too low");if(idx+length>ary.length)throw new Error("Index + length too high");return ary.splice(idx,length),ary}function clear(ary){ary.splice(0,ary.length)}function findOrFilterBy(method,ary,keyOrObj,val){return ary=ary||[],"object"==typeof keyOrObj?ary[method]((item=>{for(const path in keyOrObj){const want=keyOrObj[path],have=(0,_shell_utils_object__WEBPACK_IMPORTED_MODULE_1__.Jt)(item,path);if(void 0===want){if(!have)return!1}else if(have!==want)return!1}return!0})):void 0===val?ary[method]((item=>!!(0,_shell_utils_object__WEBPACK_IMPORTED_MODULE_1__.Jt)(item,keyOrObj))):ary[method]((item=>(0,_shell_utils_object__WEBPACK_IMPORTED_MODULE_1__.Jt)(item,keyOrObj)===val))}function filterBy(ary,keyOrObj,val){return findOrFilterBy("filter",ary,keyOrObj,val)}function findBy(ary,keyOrObj,val){return findOrFilterBy("find",ary,keyOrObj,val)}function findStringIndex(items,item,trim=!0){return items.indexOf(trim?null==item?void 0:item.trim():item)}function hasDuplicatedStrings(items,caseSensitive=!0){const normalizedItems=items.map((i=>(caseSensitive?i:i.toLowerCase()).trim()));for(let i=0;i{var map={"./InputFields.stories.mdx":["./stories/InputFields.stories.mdx",7081,7397,580,265,6590,2028,9456,792,1628,2006,268],"./InputFieldsAdvanced.stories.mdx":["./stories/InputFieldsAdvanced.stories.mdx",7081,7397,580,265,8891,2658,6590,2028,1684,9456,792,966,1628,4190,6171,2006,8678,1790],"./Welcome.stories.mdx":["./stories/Welcome.stories.mdx",7081,7175],"./components/Alert.stories.mdx":["./stories/components/Alert.stories.mdx",7081,7397,8956,2644],"./components/AppModal.stories.mdx":["./stories/components/AppModal.stories.mdx",7081,7397,1070],"./components/ArrayList.stories.mdx":["./stories/components/ArrayList.stories.mdx",7081,7397,580,265,6590,2028,1445],"./components/BadgeState.stories.mdx":["./stories/components/BadgeState.stories.mdx",7081,7397,8956,6894],"./components/Banner.stories.mdx":["./stories/components/Banner.stories.mdx",7081,7397,5692],"./components/Card.stories.mdx":["./stories/components/Card.stories.mdx",7081,7397,8348],"./components/Collapse.stories.mdx":["./stories/components/Collapse.stories.mdx",7081,7397,4743],"./components/DetailTop.stories.mdx":["./stories/components/DetailTop.stories.mdx",7081,7397,8891,1684,966,8612,4190,8666],"./components/Growl.stories.mdx":["./stories/components/Growl.stories.mdx",7081,7397,4945],"./components/KeyValue.stories.mdx":["./stories/components/KeyValue.stories.mdx",7081,7397,8891,2658,6590,1684,792,966,4190,8678,5214],"./components/LabeledTooltip.stories.mdx":["./stories/components/LabeledTooltip.stories.mdx",7081,7397,6590,7748],"./components/SimpleBox.stories.mdx":["./stories/components/SimpleBox.stories.mdx",7081,7397,5087],"./components/StringList.stories.mdx":["./stories/components/StringList.stories.mdx",7081,7397,580,265,6590,2028,145],"./components/Tab.stories.mdx":["./stories/components/Tab.stories.mdx",7081,7397,9039],"./components/Table.stories.mdx":["./stories/components/Table.stories.mdx",7081,7397,580,594,6590,1684,9456,8612,7771,9894],"./form/Button.stories.mdx":["./stories/form/Button.stories.mdx",7081,7397,8612,808],"./form/ButtonDropdown.stories.mdx":["./stories/form/ButtonDropdown.stories.mdx",7081,7397,8416,2451],"./form/Checkbox.stories.mdx":["./stories/form/Checkbox.stories.mdx",7081,7397,7771,4943],"./form/Editor.stories.mdx":["./stories/form/Editor.stories.mdx",7081,7397,1684,966,5043],"./form/FileSelector.stories.mdx":["./stories/form/FileSelector.stories.mdx",7081,5845],"./form/Input.stories.mdx":["./stories/form/Input.stories.mdx",7081,7397,580,265,6590,2028,2428],"./form/Password.stories.mdx":["./stories/form/Password.stories.mdx",7081,7397,580,265,6590,2028,519],"./form/RadioButton.stories.mdx":["./stories/form/RadioButton.stories.mdx",7081,7397,6171,5577],"./form/Select.stories.mdx":["./stories/form/Select.stories.mdx",7081,7397,580,6590,9456,792,1696],"./form/TextAreaAutoGrow.stories.mdx":["./stories/form/TextAreaAutoGrow.stories.mdx",7081,1254],"./form/ToggleSwitch.stories.mdx":["./stories/form/ToggleSwitch.stories.mdx",7081,7397,4360],"./form/UnitInput.stories.mdx":["./stories/form/UnitInput.stories.mdx",7081,7397,580,265,6590,2028,1628,3234],"./foundation/Colors.stories.mdx":["./stories/foundation/Colors.stories.mdx",7081,7551],"./foundation/Icons.stories.mdx":["./stories/foundation/Icons.stories.mdx",7081,479],"./foundation/ProviderImages.stories.mdx":["./stories/foundation/ProviderImages.stories.mdx",7081,5242],"./foundation/Typography.stories.mdx":["./stories/foundation/Typography.stories.mdx",7081,4872]};function webpackAsyncContext(req){if(!__webpack_require__.o(map,req))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}));var ids=map[req],id=ids[0];return Promise.all(ids.slice(1).map(__webpack_require__.e)).then((()=>__webpack_require__(id)))}webpackAsyncContext.keys=()=>Object.keys(map),webpackAsyncContext.id="./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$",module.exports=webpackAsyncContext},"./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx))$":(module,__unused_webpack_exports,__webpack_require__)=>{var map={"./components/ConsumptionGauge.stories":["./stories/components/ConsumptionGauge.stories.js",7397,6096,5678],"./components/ConsumptionGauge.stories.js":["./stories/components/ConsumptionGauge.stories.js",7397,6096,5678],"./components/IconIsDefault.stories":["./stories/components/IconIsDefault.stories.js",1834],"./components/IconIsDefault.stories.js":["./stories/components/IconIsDefault.stories.js",1834],"./components/PercentageBar.stories":["./stories/components/PercentageBar.stories.js",7397,6096,9455],"./components/PercentageBar.stories.js":["./stories/components/PercentageBar.stories.js",7397,6096,9455]};function webpackAsyncContext(req){if(!__webpack_require__.o(map,req))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}));var ids=map[req],id=ids[0];return Promise.all(ids.slice(1).map(__webpack_require__.e)).then((()=>__webpack_require__(id)))}webpackAsyncContext.keys=()=>Object.keys(map),webpackAsyncContext.id="./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx))$",module.exports=webpackAsyncContext},"./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)Welcome\\.mdx)$":module=>{function webpackEmptyAsyncContext(req){return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}))}webpackEmptyAsyncContext.keys=()=>[],webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext,webpackEmptyAsyncContext.id="./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)Welcome\\.mdx)$",module.exports=webpackEmptyAsyncContext},"./storybook-config-entry.js":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var external_STORYBOOK_MODULE_GLOBAL_=__webpack_require__("@storybook/global"),external_STORYBOOK_MODULE_PREVIEW_API_=__webpack_require__("@storybook/preview-api"),external_STORYBOOK_MODULE_CHANNELS_=__webpack_require__("@storybook/channels");const importers=[async path=>{if(!/^\.[\\/](?:stories(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)Welcome\.mdx)$/.exec(path))return;const pathRemainder=path.substring(10);return __webpack_require__("./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)Welcome\\.mdx)$")("./"+pathRemainder)},async path=>{if(!/^\.[\\/](?:stories(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.mdx)$/.exec(path))return;const pathRemainder=path.substring(10);return __webpack_require__("./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$")("./"+pathRemainder)},async path=>{if(!/^\.[\\/](?:stories(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.stories\.(js|jsx|ts|tsx))$/.exec(path))return;const pathRemainder=path.substring(10);return __webpack_require__("./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx))$")("./"+pathRemainder)}];const channel=(0,external_STORYBOOK_MODULE_CHANNELS_.createBrowserChannel)({page:"preview"});external_STORYBOOK_MODULE_PREVIEW_API_.addons.setChannel(channel),"DEVELOPMENT"===external_STORYBOOK_MODULE_GLOBAL_.global.CONFIG_TYPE&&(window.__STORYBOOK_SERVER_CHANNEL__=channel);const preview=new external_STORYBOOK_MODULE_PREVIEW_API_.PreviewWeb;window.__STORYBOOK_PREVIEW__=preview,window.__STORYBOOK_STORY_STORE__=preview.storyStore,window.__STORYBOOK_ADDONS_CHANNEL__=channel,window.__STORYBOOK_CLIENT_API__=new external_STORYBOOK_MODULE_PREVIEW_API_.ClientApi({storyStore:preview.storyStore}),preview.initialize({importFn:async function importFn(path){for(let i=0;iimporters[i](path),x());if(moduleExports)return moduleExports}var x},getProjectAnnotations:()=>(0,external_STORYBOOK_MODULE_PREVIEW_API_.composeConfigs)([__webpack_require__("./node_modules/@storybook/vue3/dist/entry-preview.mjs"),__webpack_require__("./node_modules/@storybook/vue3/dist/entry-preview-docs.mjs"),__webpack_require__("./node_modules/@storybook/addon-links/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/docs/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/actions/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/backgrounds/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/measure/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/outline/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/highlight/preview.js"),__webpack_require__("./node_modules/@storybook/addon-a11y/preview.js"),__webpack_require__("./node_modules/@storybook/addon-actions/preview.js"),__webpack_require__("./.storybook/preview.js")])})},"@storybook/addons":module=>{"use strict";module.exports=__STORYBOOK_MODULE_ADDONS__},"@storybook/channels":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CHANNELS__},"@storybook/client-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_API__},"@storybook/client-logger":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_LOGGER__},"@storybook/core-events":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS__},"@storybook/global":module=>{"use strict";module.exports=__STORYBOOK_MODULE_GLOBAL__},"@storybook/preview-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_PREVIEW_API__}},__webpack_require__=>{__webpack_require__.O(0,[9938],(()=>{return moduleId="./storybook-config-entry.js",__webpack_require__(__webpack_require__.s=moduleId);var moduleId}));__webpack_require__.O()}]); \ No newline at end of file diff --git a/docs/main.b73c7f2e.iframe.bundle.js b/docs/main.b73c7f2e.iframe.bundle.js deleted file mode 100644 index b567cf0..0000000 --- a/docs/main.b73c7f2e.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkdashboard_storybook=self.webpackChunkdashboard_storybook||[]).push([[8792],{"../shell/store/growl.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{o1:()=>actions,rS:()=>getters,z4:()=>mutations});var _shell_utils_array__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../shell/utils/array.ts"),_shell_utils_error__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../shell/utils/error.js");const getters={find:state=>({key,val})=>(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.jq)(state.stack,key,val)},mutations={add(state,data){state.stack=[...state.stack,{id:state.nextId++,started:(new Date).getTime(),...data}]},remove(state,id){const obj=(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.jq)(state.stack,"id",id);obj&&(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.Gj)(state.stack,obj)},clear(state){(0,_shell_utils_array__WEBPACK_IMPORTED_MODULE_0__.IU)(state.stack)}},actions={clear({commit}){commit("clear")},remove({commit},id){commit("remove",id)},success({commit},data){commit("add",{color:"success",icon:"checkmark",timeout:5e3,...data})},info({commit},data){commit("add",{color:"info",icon:"info",timeout:5e3,...data})},warning({commit},data){commit("add",{color:"warning",icon:"warning",timeout:5e3,...data})},error({commit},data){commit("add",{color:"error",icon:"error",timeout:0,...data})},fromError({commit},{title,err}){commit("add",{color:"error",icon:"error",timeout:0,title,message:(0,_shell_utils_error__WEBPACK_IMPORTED_MODULE_1__.As)(err)})}}},"../shell/utils/error.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{As:()=>stringify});__webpack_require__("../shell/utils/array.ts");Error;Error;Error;function stringify(err){let str;if("string"==typeof err)str=err;else if(err&&"object"==typeof err)if(err.message){if(str=err.message,"string"==typeof str)try{const data=JSON.parse(str).data;if(data)return data}catch{}err.detail&&(str?str+=` (${err.detail})`:str=err.detail)}else err.detail?str=err.detail:err.url&&(str=`from ${err.url}`);return str||(str=JSON.stringify(err)),str}},"../shell/utils/object.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Jt:()=>get,n4:()=>isEqualBasic,o8:()=>clone});var lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../node_modules/lodash/cloneDeep.js"),lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0__),jsonpath_plus__WEBPACK_IMPORTED_MODULE_3__=(__webpack_require__("../node_modules/lodash/flattenDeep.js"),__webpack_require__("../node_modules/lodash/compact.js"),__webpack_require__("../node_modules/jsonpath-plus/dist/index-browser-esm.js")),_shell_utils_string__WEBPACK_IMPORTED_MODULE_9__=(__webpack_require__("../node_modules/lodash/transform.js"),__webpack_require__("../node_modules/lodash/isObject.js"),__webpack_require__("../node_modules/lodash/isArray.js"),__webpack_require__("../node_modules/lodash/isEqual.js"),__webpack_require__("../node_modules/lodash/difference.js"),__webpack_require__("../shell/utils/string.js"));__webpack_require__("../shell/utils/array.ts");function get(obj,path){if(!path)throw new Error("Cannot translate an empty input. The t function requires a string.");if(path.startsWith("$"))try{return(0,jsonpath_plus__WEBPACK_IMPORTED_MODULE_3__.E)({path,json:obj,wrap:!1})}catch(e){return console.log("JSON Path error",e,path,obj),"(JSON Path err)"}if(!path.includes("."))return obj?.[path];const parts=(0,_shell_utils_string__WEBPACK_IMPORTED_MODULE_9__.jg)(path);for(let i=0;i{"use strict";function ucFirst(str){return(str=str||"").substr(0,1).toUpperCase()+str.substr(1)}function strPad(str,toLength,padChars=" ",right=!1){if((str=`${str}`).length>=toLength)return str;const neededLen=toLength-str.length+1,padStr=new Array(neededLen).join(padChars).substr(0,neededLen);return right?str+padStr:padStr+str}__webpack_require__.d(__webpack_exports__,{DZ:()=>strPad,Kn:()=>nlToBr,LQ:()=>CHARSET,TF:()=>ucFirst,VN:()=>random32,XC:()=>asciiLike,ZD:()=>escapeHtml,_k:()=>dasherize,jg:()=>splitObjectPath,l9:()=>formatPercent,vx:()=>randomStr});const entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function escapeHtml(html){return String(html).replace(/[&<>"']/g,(s=>entityMap[s]))}function random32(count){count=Math.max(0,count||1);const out=[];let i;if(window.crypto&&window.crypto.getRandomValues){const tmp=new Uint32Array(count);for(window.crypto.getRandomValues(tmp),i=0;i?|"};function randomStr(length=16,chars=CHARSET.ALPHA_NUM){return chars&&chars.length?random32(length).map((val=>chars[val%chars.length])).join(""):null}function formatPercent(value,maxPrecision=2){return value<1&&maxPrecision>=2?Math.round(100*value)/100+"%":value<10&&maxPrecision>=1?Math.round(10*value)/10+"%":`${Math.round(value)}%`}const decamelizeRegex=/([a-z\d])([A-Z])/g;const dasherizeRegex=/[ _]/g;function dasherize(str){return function decamelize(str){return str.replace(decamelizeRegex,"$1_$2").toLowerCase()}(str).replace(dasherizeRegex,"-")}function asciiLike(str){return!(str=str||"").match(/[^\r\n\t\x20-\x7F]/)}function nlToBr(value){return escapeHtml(value||"").replace(/(\r\n|\r|\n)/g,"
    \n")}const quotedMatch=/[^."']+|"([^"]*)"|'([^']*)'/g;function splitObjectPath(path){return path.includes('"')||path.includes("'")?path.match(quotedMatch).map((x=>x.replace(/['"]/g,""))):path.split(".")}},"./.storybook/preview.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{decorators:()=>decorators,default:()=>_storybook_preview});var dist=__webpack_require__("./node_modules/@storybook/vue3/dist/index.mjs"),vue_select_es=__webpack_require__("./node_modules/vue-select/dist/vue-select.es.js"),floating_vue=__webpack_require__("./node_modules/floating-vue/dist/floating-vue.mjs");const floatingVueOptions={themes:{tooltip:{html:!0}}};var esm=__webpack_require__("./node_modules/@storybook/theming/dist/esm/index.js"),external_STORYBOOK_MODULE_ADDONS_=__webpack_require__("@storybook/addons");var decorator=__webpack_require__("./node_modules/storybook-auto-events/decorator.js"),dist_floating_vue=__webpack_require__("../node_modules/floating-vue/dist/floating-vue.mjs"),purify=__webpack_require__("../node_modules/dompurify/dist/purify.js"),purify_default=__webpack_require__.n(purify),array=__webpack_require__("../shell/utils/array.ts");const ALLOWED_TAGS=["code","li","a","p","b","br","ul","pre","span","div","i","em","strong","h1","h2","h3","h4","h5","h6","table","thead","tr","th","tbody","td","blockquote"];purify_default().addHook("uponSanitizeAttribute",((node,data)=>{"A"===node.tagName&&"target"===data.attrName&&"_blank"===data.attrValue&&(data.forceKeepAttr=!0)})),purify_default().addHook("afterSanitizeAttributes",(node=>{if("A"===node.tagName&&"_blank"===node?.target){const rel=["noopener","noreferrer","nofollow"],existingRel=node.rel?.length?node.rel.split(" "):[],combined=(0,array.sb)([...rel,...existingRel]);node.setAttribute("rel",combined.join(" "))}}));const purifyHTML=(value,options={ALLOWED_TAGS})=>purify_default().sanitize(value,options);function bind(el,{value,oldValue,modifiers}){const purifiedValue=function purifyContent(value){const type=typeof value;return"string"===type?purifyHTML(value):value&&"object"===type&&"string"==typeof value.content?{...value,content:purifyHTML(value.content)}:value}(value);dist_floating_vue.yw.bind(el,{value:purifiedValue,oldValue,modifiers})}const clean_tooltip={...dist_floating_vue.yw,bind,update:bind};__webpack_require__("../node_modules/element-matches/index.js"),__webpack_require__("../node_modules/custom-event-polyfill/polyfill.js");var process=__webpack_require__("./node_modules/process/browser.js");const ShortKey={},mapFunctions={};let objAvoided=[],elementAvoided=[],keyPressed=!1;const parseValue=value=>(value="string"==typeof value?JSON.parse(value.replace(/\'/gi,'"')):value)instanceof Array?{"":value}:value,bindValue=(value,el,binding,vnode)=>{const push=!0===binding.modifiers.push,avoid=!0===binding.modifiers.avoid,focus=!0==!binding.modifiers.focus,once=!0===binding.modifiers.once,propagte=!0===binding.modifiers.propagte;avoid?(objAvoided=objAvoided.filter((itm=>!itm===el)),objAvoided.push(el)):mappingFunctions({b:value,push,once,focus,propagte,el:vnode.el})},unbindValue=(value,el)=>{for(const key in value){const k=ShortKey.encodeKey(value[key]),idxElm=mapFunctions[k].el.indexOf(el);mapFunctions[k].el.length>1&&idxElm>-1?mapFunctions[k].el.splice(idxElm,1):delete mapFunctions[k]}};ShortKey.install=(Vue,options)=>{elementAvoided=[...options&&options.prevent?options.prevent:[]],Vue.directive("shortkey",{beforeMount:(el,binding,vnode)=>{const value=parseValue(binding.value);bindValue(value,el,binding,vnode)},updated:(el,binding,vnode)=>{const oldValue=parseValue(binding.oldValue);unbindValue(oldValue,el);const newValue=parseValue(binding.value);bindValue(newValue,el,binding,vnode)},unmounted:(el,binding)=>{const value=parseValue(binding.value);unbindValue(value,el)}})},ShortKey.decodeKey=pKey=>createShortcutIndex(pKey),ShortKey.encodeKey=pKey=>{const shortKey={};shortKey.shiftKey=pKey.includes("shift"),shortKey.ctrlKey=pKey.includes("ctrl"),shortKey.metaKey=pKey.includes("meta"),shortKey.altKey=pKey.includes("alt");let indexedKeys=createShortcutIndex(shortKey);return indexedKeys+=pKey.filter((item=>!["shift","ctrl","meta","alt"].includes(item))).join(""),indexedKeys};const createShortcutIndex=pKey=>{let k="";return("Shift"===pKey.key||pKey.shiftKey)&&(k+="shift"),("Control"===pKey.key||pKey.ctrlKey)&&(k+="ctrl"),("Meta"===pKey.key||pKey.metaKey)&&(k+="meta"),("Alt"===pKey.key||pKey.altKey)&&(k+="alt"),"ArrowUp"===pKey.key&&(k+="arrowup"),"ArrowLeft"===pKey.key&&(k+="arrowleft"),"ArrowRight"===pKey.key&&(k+="arrowright"),"ArrowDown"===pKey.key&&(k+="arrowdown"),"AltGraph"===pKey.key&&(k+="altgraph"),"Escape"===pKey.key&&(k+="esc"),"Enter"===pKey.key&&(k+="enter"),"Tab"===pKey.key&&(k+="tab")," "===pKey.key&&(k+="space"),"PageUp"===pKey.key&&(k+="pageup"),"PageDown"===pKey.key&&(k+="pagedown"),"Home"===pKey.key&&(k+="home"),"End"===pKey.key&&(k+="end"),"Delete"===pKey.key&&(k+="del"),"Backspace"===pKey.key&&(k+="backspace"),"Insert"===pKey.key&&(k+="insert"),"NumLock"===pKey.key&&(k+="numlock"),"CapsLock"===pKey.key&&(k+="capslock"),"Pause"===pKey.key&&(k+="pause"),"ContextMenu"===pKey.key&&(k+="contextmenu"),"ScrollLock"===pKey.key&&(k+="scrolllock"),"BrowserHome"===pKey.key&&(k+="browserhome"),"MediaSelect"===pKey.key&&(k+="mediaselect"),(pKey.key&&" "!==pKey.key&&1===pKey.key.length||/F\d{1,2}|\//g.test(pKey.key))&&(k+=pKey.key.toLowerCase()),k},dispatchShortkeyEvent=pKey=>{const e=new CustomEvent("shortkey",{bubbles:!1});mapFunctions[pKey].key&&(e.srcKey=mapFunctions[pKey].key);const elm=mapFunctions[pKey].el;mapFunctions[pKey].propagte?elm.forEach((elmItem=>elmItem.dispatchEvent(e))):elm[elm.length-1].dispatchEvent(e)};ShortKey.keyDown=pKey=>{(!mapFunctions[pKey].once&&!mapFunctions[pKey].push||mapFunctions[pKey].push&&!keyPressed)&&dispatchShortkeyEvent(pKey)},process&&process.env&&(document.addEventListener("keydown",(pKey=>{const decodedKey=ShortKey.decodeKey(pKey);if(availableElement(decodedKey))if(mapFunctions[decodedKey].propagte||(pKey.preventDefault(),pKey.stopPropagation()),mapFunctions[decodedKey].focus)ShortKey.keyDown(decodedKey),keyPressed=!0;else if(!keyPressed){const elm=mapFunctions[decodedKey].el;elm[elm.length-1].focus(),keyPressed=!0}}),!0),document.addEventListener("keyup",(pKey=>{const decodedKey=ShortKey.decodeKey(pKey);availableElement(decodedKey)&&(mapFunctions[decodedKey].propagte||(pKey.preventDefault(),pKey.stopPropagation()),(mapFunctions[decodedKey].once||mapFunctions[decodedKey].push)&&dispatchShortkeyEvent(decodedKey)),keyPressed=!1}),!0));const mappingFunctions=({b,push,once,focus,propagte,el})=>{for(const key in b){const k=ShortKey.encodeKey(b[key]),elm=mapFunctions[k]&&mapFunctions[k].el?mapFunctions[k].el:[],propagated=mapFunctions[k]&&mapFunctions[k].propagte;elm.push(el),mapFunctions[k]={push,once,focus,key,propagte:propagated||propagte,el:elm}}},availableElement=decodedKey=>{const objectIsAvoided=!!objAvoided.find((r=>r===document.activeElement)),filterAvoided=!!elementAvoided.find((selector=>document.activeElement&&document.activeElement.matches(selector)));return!!mapFunctions[decodedKey]&&!(objectIsAvoided||filterAvoided)},shortkey=ShortKey,clean_html={mounted(el,binding){el.innerHTML=purifyHTML(binding.value)},updated(el,binding){el.innerHTML=purifyHTML(binding.value)},unmounted(el){el.innerHTML=""}};var vuex_esm_bundler=__webpack_require__("./node_modules/vuex/dist/vuex.esm-bundler.js"),object=__webpack_require__("../shell/utils/object.js"),lib=__webpack_require__("./node_modules/intl-messageformat/lib/index.js");const growl={namespaced:!0,state:{stack:[{id:1,color:"success",icon:"checkmark",timeout:5e3,title:"Success",message:"This is a success message"},{id:2,color:"info",icon:"info",timeout:5e3,title:"Info",message:"This is an info message"},{id:3,color:"warning",icon:"warning",timeout:5e3,title:"Warning",message:"This is an warning message"},{id:4,color:"error",icon:"error",timeout:5e3,title:"Warning",message:"This is an warning message"}]},getters:__webpack_require__("../shell/store/growl.js").rS,actions:__webpack_require__("../shell/store/growl.js").o1,mutations:__webpack_require__("../shell/store/growl.js").z4},i18nStrings=__webpack_require__("../shell/assets/translations/en-us.yaml"),store=(0,vuex_esm_bundler.y$)({getters:{"i18n/exists":key=>store.getters["i18n/t"],"i18n/t":state=>(key,args)=>{const msg=(0,object.Jt)(i18nStrings,key)||key;if(msg?.includes("{")){return new lib.Ay(msg,state.selected).format(args)}return msg}},modules:{growl,codeMirror:{namespaced:!1,state:{},getters:{"prefs/get":()=>()=>"sublime","prefs/theme":()=>"light"},actions:{},mutations:{}},table:{namespaced:!1,state:{},getters:{"resource-fetch/manualRefreshIsLoading":()=>null,"resource-fetch/isTooManyItemsToAutoUpdate":()=>!1},actions:{},mutations:{}}}}),_storybook_store=store;var string=__webpack_require__("../shell/utils/string.js"),vue_esm_bundler=__webpack_require__("./node_modules/vue/dist/vue.esm-bundler.js"),dist_vuex_esm_bundler=__webpack_require__("../node_modules/vuex/dist/vuex.esm-bundler.js");function stringFor(store,key,args,raw=!1,escapehtml=!0){const translation=store.getters["i18n/t"](key,args);let out;if(void 0!==translation)out=translation;else if(args&&Object.keys(args).length){out=`%${key}(${Object.keys(args).map((k=>`${k}: ${args[k]}`)).join(", ")})%`,raw=!0}else out=`%${key}%`;return raw?out:escapehtml?(0,string.ZD)(out):out}function directive(el,binding,vnode){const{instance}=binding,raw=binding.modifiers&&!0===binding.modifiers.raw,str=stringFor(instance.$store,binding.value,{},raw);binding.arg?el.setAttribute(binding.arg,str):el.innerHTML=str}const i18n={name:"i18n",install:(vueApp,_options)=>{vueApp.config.globalProperties.t&&vueApp.directive("t")&&vueApp.component("t")&&console.debug("Skipping i18n install. Directive, component, and option already exist."),vueApp.config.globalProperties.t=function(key,args,raw){return stringFor(this.$store,key,args,raw)},vueApp.directive("t",{beforeMount(){directive(...arguments)},updated(){directive(...arguments)}}),vueApp.component("t",{inheritAttrs:!1,props:{k:{type:String,required:!0},raw:{type:Boolean,default:!1},tag:{type:[String,Object],default:"span"},escapehtml:{type:Boolean,default:!0},class:{type:String,default:""}},setup(props,ctx){const msg=(0,vue_esm_bundler.KR)(""),store=(0,dist_vuex_esm_bundler.Pj)();return(0,vue_esm_bundler.nT)((()=>{msg.value=stringFor(store,props.k,ctx.attrs,props.raw,props.escapehtml)})),{msg}},render(){return this.raw?(0,vue_esm_bundler.h)(this.tag,{class:this.class,innerHTML:this.msg}):(0,vue_esm_bundler.h)(this.tag,{class:this.class},[this.msg])}})}},plugins_i18n=i18n;(0,dist.mj)((vueApp=>{vueApp.use(plugins_i18n,{store:{dispatch(){}}}),vueApp.use(floating_vue.Ay,floatingVueOptions),vueApp.directive("clean-html",clean_html),vueApp.directive("clean-tooltip",clean_tooltip),vueApp.component("v-select",vue_select_es.A),vueApp.use(shortkey,{prevent:["input","textarea","select"]}),vueApp.component("router-link",{props:["to"],template:"link"}),vueApp.use({store:_storybook_store,install(vueApp){vueApp.config.globalProperties.$store=_storybook_store}}),window.__codeMirrorLoader=()=>Promise.all([__webpack_require__.e(938),__webpack_require__.e(8213)]).then(__webpack_require__.bind(__webpack_require__,"../shell/plugins/codemirror.js"))}));const preview={parameters:{options:{storySort:{order:["Foundation","Form","Components","Examples"]}},previewTabs:{canvas:{hidden:!1}},layout:"centered",controls:{matchers:{color:/(background|color)$/i,date:/Date$/}},darkMode:{dark:{...esm.Zj.dark,brandTitle:"Rancher Storybook",brandImage:"dark/rancher-logo.svg"},light:{...esm.Zj.normal,brandTitle:"Rancher Storybook",brandImage:"rancher-logo.svg"},darkClass:"theme-dark",lightClass:"theme-light",stylePreview:!0}}};window.onload=()=>{!function theme_shortcut(){const isMac=0===window.navigator.platform.indexOf("Mac");document.onkeyup=function(e){(isMac?e.altKey:e.ctrlKey)&&84===e.which&&external_STORYBOOK_MODULE_ADDONS_.addons.getChannel().emit("shortcut-toggle-dark-mode")}}()};const decorators=[decorator.A],_storybook_preview=preview},"../shell/assets/translations/en-us.yaml":module=>{const doc=[{generic:{add:"Add",all:"All",and:" and ",back:"Back",cancel:"Cancel",confirm:"Confirm",clear:"Clear",clearAll:"Clear All",close:"Close",comingSoon:"Coming Soon",comma:", ",copy:"Copy",create:"Create",created:"Created",customize:"Customize",dashboard:"Dashboard",default:"Default",disabled:"Disabled",done:"Done",enabled:"Enabled",here:"here",id:"ID",ignored:"Ignored",invalidCron:"Invalid cron schedule",imagePullPolicy:{always:"Always",ifNotPresent:"IfNotPresent",never:"Never"},labels:"Labels",labelsAndAnnotations:"Labels & Annotations",podSecurityAdmission:"Pod Security Admission",links:"Links",loading:"Loading…",members:"Members",na:"n/a",name:"Name",never:"Never",none:"None",notFound:"Not Found",number:"{prefix}{value, number}{suffix}",notification:{title:{succeed:"Succeed",info:"Info",warning:"Warning",error:"Error"}},ok:"OK",overview:"Overview",plusMore:"+ {n} more",readFromFile:"Read from File",readFromFolder:"Read from Folder",reload:"Reload",register:"Register",remove:"Remove",addCatalog:"Add Catalog",resource:"{count, plural,\none {resource}\nother {resources}\n}",resourceCount:"{count, plural,\none {1 resource}\nother {# resources}\n}",save:"Save",showAdvanced:"Show Advanced",hideAdvanced:"Hide Advanced",techPreview:"Tech Preview",type:"Type",unknown:"Unknown",upload:"Upload",provisioning:"—",key:"Key",value:"Value",yes:"Yes",no:"No",units:{time:{"5s":"5s","10s":"10s","30s":"30s","1m":"1m","5m":"5m","15m":"15m","30m":"30m","1h":"1h","2h":"2h","6h":"6h","1d":"1d","7d":"7d","30d":"30d"}},completed:"Completed",enable:"Enable",disable:"Disable",experimental:"Experimental",deprecated:"Deprecated",placeholder:"e.g. {text}",moreInfo:"More Info",selectors:{label:"Selector",matchingResources:{matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number}}\n =1 {Matches 1 of {total, number}: "{sample}"}\n other {Matches {matched, number} of {total, number}, including "{sample}"}\n}'}}},locale:{"en-us":"English","zh-hans":"简体中文",none:"(None)"},nav:{harvesterDashboard:"Harvester Dashboard",backToRancher:"Cluster Manager",tools:"Tools",clusterTools:"Cluster Tools",kubeconfig:{download:"Download KubeConfig",copy:"Copy KubeConfig to Clipboard",options:"KubeConfig Options"},import:"Import YAML",home:"Home",shell:"Kubectl Shell",shellShortcut:"Kubectl Shell {key}",support:"{hasSupport, select,\n true {Support}\n other {Get Support}\n}",restoreSnapshot:"Restore Snapshot",rotateCertificates:"Rotate Certificates",rotateEncryptionKeys:"Rotate Encryption Keys",saveAsRKETemplate:"Save as RKE Template",takeSnapshot:"Take Snapshot",seeAllClusters:"See all clusters",seeAllClustersCollapsed:"See all",keyComboTooltip:"Switch clusters and keep location",group:{cluster:"Cluster",inUse:"More Resources",Policy:"Policy",rbac:"RBAC",serviceDiscovery:"Service Discovery",starred:"Starred",storage:"Storage",workload:"Workloads",monitoring:"Monitoring",advanced:"Advanced",drivers:"Drivers",RKE1Configuration:"RKE1 Configuration",admission:"Admission",apps:"Apps",clusterProvisioning:"Cluster Provisioning","jwt.authentication":"JWT Authentication",core:"Core",legacy:"Legacy",API:"API",Coordination:"Coordination",Discovery:"Discovery",Fleet:"Fleet",K3s:"K3s",Networking:"Networking",Rancher:"Rancher",RBAC:"RBAC",Scheduling:"Scheduling",Storage:"Storage",Project:"Project"},ns:{all:"All Namespaces",clusterLevel:"Only Cluster Resources",namespace:"{name}",namespaced:"Only Namespaced Resources",orphan:"Not in a Project",project:"Project: {name}",system:"Only System Namespaces",user:"Only User Namespaces"},apps:"Apps",categories:{explore:"Explore Cluster",multiCluster:"Global Apps",legacy:"Legacy Apps",configuration:"Configuration",hci:"HCI"},search:{placeholder:"Filter clusters by...",noResults:"No matching clusters",clusters:"clusters"},resourceSearch:{label:"Resource Search",toolTip:"Resource Search {key}",placeholder:"Type to search for a resource..."},header:{setLoginPage:"Set as login page",restoreCards:"Restore hidden cards"},userMenu:{preferences:"Preferences",accountAndKeys:"Account & API Keys",logOut:"Log Out"},failWhale:{authMiddleware:"Auth Middleware",clusterNotFound:"Cluster { clusterId } not found",productNotFound:"Product { productNotFound } not found",resourceNotFound:"Resource type { resource } not found",resourceListNotFound:"Resource type { resource } not found, unable to display list",resourceIdNotFound:"Resource { resource } with id { fqid } not found, unable to display resource details",reload:"Reload",separator:"or"}},product:{apps:"Apps",auth:"Users & Authentication",backup:"Rancher Backups",cis:"CIS Benchmark",ecm:"Cluster Manager",explorer:"Cluster Explorer",fleet:"Continuous Delivery",longhorn:"Longhorn",manager:"Cluster Management",gatekeeper:"OPA Gatekeeper",istio:"Istio",logging:"Logging",settings:"Global Settings",clusterManagement:"Cluster Management",monitoring:"Monitoring",mcapps:"Global Configuration",neuvector:"NeuVector",harvesterManager:"Virtualization Management",rancher:"Rancher",legacy:"Legacy",uiplugins:"Extensions",elemental:"OS Management",plugins:"Plugins"},suffix:{percent:"%",milliCpus:"milli CPUs",cores:"Cores",cpus:"CPUs",gpus:"GPUs",ib:"iB",mib:"MiB",gb:"GB",ago:"ago",revisions:"{count, plural,\n =1 { Revision }\n other { Revisions }\n}",seconds:"{count, plural,\n =1 { Second }\n other { Seconds }\n}",sec:"Sec",times:"{count, plural,\n =1 { Time }\n other { Times }\n}"},about:{title:"About",versions:{title:"Versions",component:"Component",version:"Version",cli:"CLI",helm:"Helm",machine:"Machine",rancher:"Rancher",releaseNotes:"View release notes"},os:{mac:"macOS",windows:"Windows",linux:"Linux"},downloadImageList:{title:"Image Lists"},downloadCLI:{title:"CLI Downloads"},diagnostic:{title:"Diagnostics",checkboxTooltip:"Supplement diagnostics data with response times for the top 10 resources. These may take a while to complete",checkboxLabel:"Make additional requests",systemInformation:{subtitle:"System Information",browser:"Browser",browserInfo:"User Agent: {userAgent}, Language: {language}, Cookies Enabled: {cookieEnabled}",system:"System",jsMemory:"Javascript Memory",deviceMemory:"Device Memory: {deviceMemory}",hardwareConcurrency:"Hardware Concurrency: {hardwareConcurrency}",os:"OS: {platform}",memJsHeapLimit:"Heap Size limit: {jsHeapSizeLimit}",memTotalJsHeapSize:"Total Heap Size: {totalJSHeapSize}",memUsedJsHeapSize:"Used Heap Size: {usedJSHeapSize}"},logs:{subtitle:"Latest Logs"},resourceCounts:"{count, plural,\n one { Resource Counts by Cluster ({count} cluster)}\n other { Resource Counts by Cluster ({count} clusters)}\n}",modal:{title:"Response times have not yet been generated.",body:"Generate response times to offer more specific information."}}},accountAndKeys:{title:"Account and API Keys",account:{title:"Account",change:"Change Password"},apiKeys:{title:"API Keys",notAllowed:"You do not have permission to manage API Keys",apiEndpoint:"API Endpoint:",add:{description:{label:"Description",placeholder:"Optionally enter a description to help you identify this API Key"},label:"Create API Key",expiry:{label:"Automatically expire",options:{never:"Never",day:"A day from now",month:"A month from now",year:"A year from now",custom:"Custom",maximum:"{value} - Maximum allowed"}},customExpiry:{options:{minute:"Minutes",hour:"Hours",day:"Days",month:"Months",year:"Years"}},scope:"Scope",noScope:"No Scope"},info:{accessKey:"Access Key",secretKey:"Secret Key",bearerToken:"Bearer Token",saveWarning:"Save the info above! This is the only time you'll be able to see it. If you lose it, you'll need to create a new API key.",keyCreated:"A new API Key has been created",bearerTokenTip:"Access Key and Secret Key can be sent as the username and password for HTTP Basic auth to authorize requests. You can also combine them to use as a Bearer token:",ttlLimitedWarning:"The Expiry time for this API Key was reduced due to system configuration"}}},addClusterMemberDialog:{title:"Add Cluster Member"},addonConfigConfirmation:{title:"Add-On Reset",body:"Changing the Kubernetes Version can reset Add-On values. You should check that the values are as expected before continuing."},addProjectMemberDialog:{title:"Add Project Member"},authConfig:{accessMode:{label:"Configure who should be able to login and use {vendor}",required:"Restrict access to only the authorized users & groups",restricted:"Allow members of clusters and projects, plus authorized users & groups",unrestricted:"Allow any valid user"},allowedPrincipalIds:{title:"Authorized Users & Groups"},associatedWarning:'The {provider} account that is used to enable the external provider will be granted admin permissions. If you use a test account or non-admin account, that account will still be granted admin-level permissions. See External Authentication Configuration and Principal Users to understand why.',github:{clientId:{label:"Client ID"},clientSecret:{label:"Client Secret"},form:{app:{label:"Application name",value:"Anything you like, e.g. My {vendor}"},callback:{label:"Authorization callback URL"},description:{label:"Application description",value:"Optional, can be left blank"},homepage:{label:"Homepage URL"},instruction:"Fill in the form with these values:",prefix:{1:'
  • Click here to go to GitHub application settings in a new window.
  • ',2:'
  • Click on the "OAuth Apps" tab.
  • ',3:'
  • Click the "New OAuth App" button.
  • '},suffix:{1:'
  • Click "Register application"
  • ',2:"
  • Copy and paste the Client ID and Client Secret of your newly created OAuth app into the fields below
  • "}},host:{label:"GitHub Enterprise Host",placeholder:"e.g. github.mycompany.example"},target:{label:"Which version of GitHub do you want to use?",private:"A private installation of GitHub Enterprise",public:"Public GitHub.com"},table:{server:"Server",clientId:"Client ID"}},googleoauth:{adminEmail:"Admin Email",domain:"Domain",oauthCredentials:{label:"OAuth Credentials",tip:"The OAuth Credentials JSON can be found in the Google API developers console."},serviceAccountCredentials:{label:"Service Account Credentials",tip:"The Service Account Credentials JSON can be found in the service accounts section of the Google API developers console."},steps:{1:{title:'Click here to open applications settings in a new window',body:{1:'Login to your account. Navigate to "APIs & Services" and then select "OAuth consent screen".',2:"Authorized domains:",3:"Application homepage link: ",4:'Under Scopes for Google APIs, enable "email", "profile", and "openid".',5:'Click on "Save".'},topPrivateDomain:"Top private domain of:"},2:{title:'Navigate to the "Credentials" tab to create your OAuth client ID',body:{1:'Select the "Create Credentials" dropdown, and select "OAuth clientID", then select "Web application".',2:"Authorized Javascript origins:",3:"Authorized redirect URIs:",4:'Click "Create", and then click on the "Download JSON" button.',5:"Upload the downloaded JSON file in the OAuth credentials box."}},3:{title:"Create Service Account credentials",introduction:'Follow this guide to:',body:{1:"Create a service account.",2:"Generate a key for the service account.",3:"Add the service account as an OAuth client in your google domain."}}}},ldap:{freeipa:"Configure a FreeIPA server",activedirectory:"Configure an Active Directory account",openldap:"Configure an OpenLDAP server",defaultLoginDomain:{label:"Default Login Domain",placeholder:"eg mycompany",hint:"This domain will be used if a user logs in without specifying one."},cert:"Certificate",disabledStatusBitmask:"Disabled Status Bitmask",groupDNAttribute:"Group DN Attribute",groupMemberMappingAttribute:"Group Member Mapping Attribute",groupMemberUserAttribute:"Group Member User Attribute",groupSearchBase:{label:"Group Search Base",placeholder:"ou=groups,dc=mycompany,dc=com"},hostname:{label:"Hostname/IP",placeholder:"eg server1,server2",hint:"Multiple servers can be specified as a comma separated list"},loginAttribute:"Login Attribute",nameAttribute:"Name Attribute",nestedGroupMembership:{label:"Nested Group Membership",options:{direct:"Search only direct group memberships",nested:"Search direct and nested group memberships"}},objectClass:"Object Class",password:"Password",port:"Port",protocol:"Protocol",protocols:{starttls:"Start TLS",ldap:"LDAP",tls:"LDAPS (TLS)"},customizeSchema:"Customize Schema",oktaSchema:'The defaults below are for a generic OpenLDAP server. For more information on the values to use when using the Okta LDAP interface, see: Okta LDAP Interface connection settings',users:"Users",groups:"Groups",searchAttribute:"Search Attribute",searchFilter:"Search Filter",serverConnectionTimeout:"Server Connection Timeout",serviceAccountDN:"Service Account Distinguished Name",serviceAccountPassword:"Service Account Password",serviceAccountInfo:"{vendor} needs a service account that has read-only access to all of the domains that will be able to login, so that we can determine what groups a user is a member of when they make a request with an API key.",starttls:{label:"Start TLS",tip:"Upgrades non-encrypted connections by wrapping with TLS during the connection process. Can not be used in conjunction with TLS."},tls:"TLS",userEnabledAttribute:"User Enabled Attribute",userMemberAttribute:"User Member Attribute",userSearchBase:{label:"User Search Base",placeholder:"e.g. ou=users,dc=mycompany,dc=com"},username:"Username",usernameAttribute:"Username Attribute",table:{server:"Server",clientId:"Client ID"}},saml:{entityID:"Entity ID Field",UID:"UID Field",adfs:"Configure an AD FS account",api:"{vendor} API Host",sloTitle:"Log Out behavior",sloOptions:{onlyRancher:"Log out of Rancher and not {name}",logoutAll:"Log out of Rancher and {name} (includes all other applications registered with {name})",choose:"Allow the user to choose one of the above in an additional log out step"},cert:{label:"Certificate",placeholder:"Paste in the certificate, starting with -----BEGIN CERTIFICATE-----"},displayName:"Display Name Field",groups:"Groups Field",key:{label:"Private Key",placeholder:"Paste in the private key, typically starting with -----BEGIN RSA PRIVATE KEY-----"},keycloak:"Configure a Keycloak account",metadata:{label:"Metadata XML",placeholder:"Paste in the IDP Metadata XML"},okta:"Configure an Okta account",ping:"Configure a Ping account",shibboleth:"Configure a Shibboleth account",showLdap:"Configure an OpenLDAP Server",userName:"User Name Field",search:{title:"User and Group Search",message:"The SAML Protocol does not support search or lookup for users or groups. In order to enabled search, an OpenLDAP server must be configured.",on:"LDAP User and Group search has been configured",off:"LDAP User and Group search is not configured",show:"Show details",hide:"Hide details"}},azuread:{tenantId:{label:"Tenant ID",tooltip:"From the Azure AD portal",placeholder:"A long UUID string"},applicationId:{label:"Application ID",placeholder:"A long UUID string"},applicationSecret:{label:"Application Secret"},endpoint:{label:"Endpoint"},endpoints:{label:"Endpoints",standard:"Standard",china:"China",custom:"Custom"},graphEndpoint:{label:"Graph Endpoint"},tokenEndpoint:{label:"Token Endpoint"},authEndpoint:{label:"Auth Endpoint"},groupMembershipFilter:{label:"Group Membership Filter",enable:"Limit users by group membership",tooltip:"Limit users by applying a GroupMembershipFilter",externalHelp:"See the OData filter expression documentation for more information.",externalHelpLink:"https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/webservices/use-filter-expressions-in-odata-uris#filter-expressions"},reply:{info:"Azure AD requires a whitelisted URL for your Rancher server before beginning this setup. Please ensure that the following URL is set in the Reply URL section of your Azure Portal. Please note that it may take up to 5 minutes for the whitelisted URL to propagate.",label:"Reply URL"},updateEndpoint:{button:"Update Endpoint",banner:{message:"Azure AD Authentication must be updated: it is using the Azure Graph API, which will be deprecated at the end of 2022.",linkText:"Update it here."},modal:{title:"Are you sure? This update is irreversible.",body:"

    You may need to make some additional changes. Please ensure the Azure AD app has the Directory.Read.All Application permission added to Microsoft Graph.
    If any endpoints were customized while configuring Azure AD authentication in Rancher, they will not be automatically updated.

    "}}},oidc:{genericoidc:"Configure an OIDC account",keycloakoidc:"Configure a Keycloak OIDC account",rancherUrl:"Rancher URL",clientId:"Client ID",clientSecret:"Client Secret",customEndpoint:{label:"Endpoints",custom:"Specify",standard:"Generate"},url:"URL",realm:"Realm",keycloak:{url:"Keycloak URL",realm:"Keycloak Realm"},issuer:"Issuer",authEndpoint:"Auth Endpoint",jwksUrl:"JWKS URL",tokenEndpoint:"Token Endpoint",userInfoEndpoint:"User Info Endpoint",acrValue:"Authorization Context Reference",scope:{label:"Scopes",placeholder:"openid",protip:"The openid scope is required. If you are using custom scopes, ensure that it is included."},cert:{label:"Certificate",placeholder:"Paste in the certificate, starting with -----BEGIN CERTIFICATE-----"},key:{label:"Private Key",placeholder:"Paste in the private key, typically starting with -----BEGIN RSA PRIVATE KEY-----"}},stateBanner:{disabled:"The {provider} authentication provider is currently disabled.",enabled:"The {provider} authentication provider is currently enabled."},testAndEnable:"Test and Enable Authentication",noneEnabled:"Local Authentication is always enabled, but you may select another additional authentication provider from those shown below.",localEnabled:"{vendor} is configured to allow access to accounts in its local database.",manageLocal:"Manage Accounts"},authGroups:{actions:{refresh:"Refresh Group Memberships",assignRoles:"Assign Global Roles"},assignEdit:{assignTitle:"Assign Global Roles To Group"}},assignTo:{title:"{count, plural,\n =1 { Assign Cluster To… }\n other { Assign {count} Clusters To… }\n}",labelsTitle:"{count, plural,\n =1 { Assign Cluster To… }\n other { Assign {count} Clusters To… }\n}",workspace:"Workspace"},asyncButton:{apply:{action:"Apply",success:"Applied",waiting:"Applying…"},add:{action:"Add",success:"Added",waiting:"Adding…"},continue:{action:"Continue",success:"Saved",waiting:"Saving…"},copy:{action:"Click to Copy",success:"Copied!"},create:{action:"Create",success:"Created",waiting:"Creating…"},default:{action:"Action",error:"Error",success:"Success",waiting:"Waiting"},delete:{action:"Delete",success:"Deleted",waiting:"Deleting…"},disable:{action:"Disable",success:"Disabled",waiting:"Disabling…"},activate:{action:"Activate",waiting:"Activating…",success:"Activated"},deactivate:{action:"Deactivate",waiting:"Deactivating…",success:"Deactivated"},diagnostic:{action:"Download Diagnostic Package",success:"Saving",waiting:"Downloading…"},done:{action:"Done",success:"Saved",waiting:"Saving…"},download:{action:"Download",success:"Saving",waiting:"Downloading…"},drain:{action:"Drain",success:"Drained",waiting:"Draining…"},edit:{action:"Save",success:"Saved",waiting:"Saving…"},editAndContinue:{action:"Save and Continue",success:"Saved",waiting:"Saving…"},enable:{action:"Enable",success:"Enabled",waiting:"Enabling…"},finish:{action:"Finish",success:"Finished",waiting:"Finishing…"},import:{action:"Import",success:"Imported",waiting:"Importing…"},install:{action:"Install",success:"Installed",waiting:"Installing…"},load:{action:"Load",success:"Loaded",waiting:"Loading…"},pause:{action:"Pause Orchestration",success:"Paused Orchestration",waiting:"Pausing Orchestration",description:"New revisions will not be deployed because orchestration is temporarily paused. To deploy new revisions, resume orchestration."},refresh:{action:"",actionIcon:"refresh",error:"",errorIcon:"error",success:"",successIcon:"checkmark",waiting:"",waitingIcon:"refresh"},"manual-refresh":{action:"",actionIcon:"refresh",error:"",errorIcon:"error",success:"",successIcon:"checkmark",waiting:"",waitingIcon:"refresh"},remove:{action:"Remove",success:"Removed",waiting:"Removing…"},restore:{action:"Restore",waiting:"Restoring…",success:"Restored"},resume:{action:"Resume Orchestration",success:"Resumed Orchestration",waiting:"Resuming Orchestration"},rollback:{action:"Roll Back",success:"Rolled Back",waiting:"Rolling Back Workload"},rotate:{action:"Rotate",waiting:"Rotating…",success:"Rotated"},run:{action:"Run",waiting:"Running…",success:"Completed"},snapshot:{action:"Snapshot Now",waiting:"Snapshot Initiated…",success:"Snapshot Creating"},timing:{action:"Generate Response Times",waiting:"Generating…",success:"Response Times Generated"},uninstall:{action:"Uninstall",success:"Uninstalled",waiting:"Uninstalling…"},update:{action:"Update",success:"Updated",waiting:"Updating…"},upgrade:{action:"Upgrade",success:"Upgrading",waiting:"Starting…"},generate:{action:"Generate",success:"Generated",waiting:"Generating…"}},backupRestoreOperator:{backupFilename:"Backup Filename",deleteTimeout:{label:"Delete Timeout",tip:"Seconds to wait for a resource delete to succeed before removing finalizers to force deletion."},deployment:{rancherNamespace:"Rancher ResourceSet Namespace",size:"Size",storage:{label:"Default Storage Location",options:{defaultStorageClass:"Use the default storage class ({name})",none:"No default storage location",pickPV:"Use an existing persistent volume",pickSC:"Use an existing storage class",s3:"Use an S3-compatible object store"},persistentVolume:{label:"Persistent Volume"},storageClass:{label:"Storage Class"},tip:"Configure a storage location where all backups are saved by default. You will have the option to override this with each backup, but will be limited to using an S3-compatible object store.",warning:'This {type} does not have its reclaim policy set to "Retain". Your backups may be lost if the volume is changed or becomes unbound.'}},encryption:"Encryption",encryptionConfigName:{backuptip:"Any secret in the {ns} namespace that has an encryption-provider-config.yaml key.
    The contents of this file are necessary to perform a restore from this backup, and are not stored by Rancher Backup.",label:"Encryption Config Secret",options:{none:"Store the contents of the backup unencrypted",secret:'Encrypt backups using an Encryption Config Secret (Recommended)'},restoretip:"If the backup was performed with encryption enabled, a secret containing the same encryption-provider-config should be used during restore.",warning:"The contents of this file are necessary to perform a restore from this backup, and are not stored by Rancher Backup."},lastBackup:"Last Backup",nextBackup:"Next Backup",noResourceSet:"You must define a ResourceSet in this namespace to create a backup CR.",prune:{label:"Prune",tip:"Delete the resources managed by Rancher that are not present in the backup. (Recommended)"},resourceSetName:"Resource Set",restoreFrom:{default:"The default storage target",existing:"An existing backup config",s3:"An S3-compatible object store"},retentionCount:{label:"Retention Count",units:"{count, plural,\n =1 { File }\n other { Files }\n}"},s3:{bucketName:"Bucket Name",credentialSecretName:"Credential Secret",endpoint:"Endpoint",endpointCA:{label:"Endpoint CA",prompt:"Endpoint CA must be Base64 encoded"},folder:"Folder",insecureTLSSkipVerify:"Skip TLS Verifications",region:"Region",storageLocation:"Storage Location",titles:{backupLocation:"Backup Source",location:"Storage Location",s3:"S3"}},schedule:{label:"Schedule",options:{disabled:"One-Time Backup",enabled:"Recurring Backups"},placeholder:"e.g. @midnight or 0 0 * * *"},storageSource:{configureS3:"Use an S3-compatible object store",useBackup:"Use the s3 location specified on the Backup CR",useDefault:"Use the default storage location configured during installation"},targetBackup:"Target Backup"},catalog:{app:{managed:"Managed",section:{lastOperation:"Last Operation",notes:"Release Notes",openLogs:"View Logs",readme:"Chart README",resources:{label:"Resources",busy:"The related resources will appear when {app} is fully installed."},values:"Values YAML"}},chart:{registry:{label:"Container Registry",tooltip:"Container images are pulled from the Cluster Container Registry or, failing that, the System Container Registry Setting. To change this default behavior enter or update the registry here",custom:{checkBoxLabel:"Container Registry for Rancher System Container Images",inputLabel:"Container Registry",placeholder:"Registry domain and ports, ex. registry.io:5000"}},header:{charts:"Charts"},info:{appVersion:"Application Version",chartVersions:{label:"Chart Versions",showMore:"Show More",showLess:"Show Less"},home:"Home",maintainers:"Maintainers",related:"Related",chartUrls:"Chart",keywords:"Keywords"},errors:{clusterToolExists:'This chart has a fixed namespace and name. A matching application has been found and any changes will be made to it.'},global:"Global",deprecatedWarning:"{chartName} has been marked as deprecated. Use caution when installing this helm chart as it might be removed in the future.",experimentalWarning:"{chartName} has been marked as experimental. Use caution when installing this helm chart as it might not function as expected.",deprecatedAndExperimentalWarning:"{chartName} has been marked as deprecated and experimental. Use caution when installing this helm chart as it might be removed in the future and might not function as expected."},charts:{all:"All",categories:{all:"All Categories"},certified:{other:"Other",partner:"Partner",rancher:"{vendor}"},deploysOnWindows:"Deploys on Windows",windowsIncompatible:"Linux only",versionWindowsIncompatible:"Linux only version",header:"Charts",featuredCharts:"Featured Charts",noCharts:"There are no charts available, have you added any repos or set filters?",noWindows:"Your repos do not contain any charts capable of being deployed on a cluster with Windows nodes.",noWindowsAndLinux:"Your repos do not contain any charts capable of being deployed on a cluster with both Windows and Linux worker nodes.",operatingSystems:{all:"All Operating Systems",linux:"Linux",windows:"Windows"},search:"Filter",deprecatedChartsFilter:{label:"Show deprecated apps"}},install:{action:{goToUpgrade:"Edit/Upgrade"},appReadmeMissing:"This chart doesn't have any additional chart information.",appReadmeTitle:"Chart Information (Helm README)",chart:"Chart",warning:{managed:"Warning, Rancher manages deployment and upgrade of the {name} app. Upgrading this app is not supported.
    {version, select, null { } other { Under most circumstances, no user intervention should be needed to ensure that the {version} version is compatible with the version of Rancher that you are running.} }"},error:{requiresFound:'{name} must be installed before you can install this chart.',requiresMissing:"This chart requires another chart that provides {name}, but none was was found.",insufficientCpu:"This chart requires {need, number} CPU cores, but the cluster only has {have, number} available.",insufficientMemory:"This chart requires {need} of memory, but the cluster only has {have} available.",legacy:{label:"This is a {legacyType} App and it cannot be modified here",enableLegacy:{prompt:"You will need to enable Legacy Features to edit this App",goto:"Go to Feature Flag settings"},navigate:"Navigate to Legacy Apps",mcmNotSupported:"Legacy Multi-cluster Apps can not be managed through this UI",category:{legacy:"Legacy",mcm:"Multi-cluster"}}},header:{install:"Install {name}",installGeneric:"Install Chart",upgrade:"Upgrade {name}"},helm:{atomic:"Atomic",description:{label:"Description",placeholder:"e.g. Purpose of helm command"},cleanupOnFail:"Cleanup on Failure",crds:"Apply custom resource definitions",dryRun:"Dry Run",force:"Force",historyMax:{label:"Keep last",unit:"{value, plural,\n =1 { revision }\n other { revisions }\n}"},hooks:"Execute chart hooks",openapi:"Validate OpenAPI schema",resetValues:"Reset Values",timeout:{label:"Timeout",unit:"{value, plural,\n =1 { second }\n other { seconds }\n}"},wait:"Wait"},namespaceIsInProject:"This chart's target namespace, {namespace}, already exists and cannot be added to a different project.",project:"Install into Project",section:{chartOptions:"Edit Options",valuesYaml:"Edit YAML",diff:"Compare Changes"},slideIn:{dock:"Dock to shell"},steps:{basics:{label:"Metadata",subtext:"Set App metadata",description:"This process will help {action, select, install { create } upgrade { upgrade } update { update } } the {existing, select, true { app} false { chart} }. Start by setting some basic information used by {vendor} to manage the App.",nsCreationDescription:"To install the app into a new namespace enter it's name in the Namespace field and select it.",createNamespace:"Namespace {namespace} will be created."},clusterTplVersion:{label:"Version",subtext:"Select a version of the template",description:"Select a version of the Cluster Template"},clusterTplValues:{label:"Values",subtext:"Change how the Cluster is defined",description:"Configure Values used by Helm that help define the Cluster."},helmValues:{label:"Values",subtext:"Change how the App works",description:"Configure Values used by Helm that help define the App.",chartInfo:{button:"View Chart Info",label:"Chart Info"}},helmCli:{checkbox:"Customize Helm options before install",label:"Helm Options",subtext:"Change how the app is deployed",description:"Supply additional deployment options"}},version:"Version",versions:{current:"{ver} (Current)",linux:"{ver} (Linux-only)",windows:"{ver} (Windows-only)"}},delete:{warning:{managed:"Warning, Rancher manages deployment and upgrade of the {name} app. Deleting this app is not supported."}},operation:{tableHeaders:{action:"Action",releaseName:"Release Name",releaseNamespace:"Release Namespace"}},repo:{action:{refresh:"Refresh"},all:"All",gitBranch:{label:"Git Branch",placeholder:"e.g. master",defaultMessage:'Will default to "master" if left blank'},gitRepo:{label:"Git Repo URL",placeholder:"e.g. https://github.com/your-company/charts.git"},name:{"rancher-charts":"{vendor}","rancher-partner-charts":"Partners","rancher-rke2-charts":"RKE2","rancher-ui-plugins":"Rancher Extensions"},target:{git:"Git repository containing Helm chart or cluster template definitions",http:"http(s) URL to an index generated by Helm",oci:'OCI Repository Experimental',label:"Target"},url:{label:"Index URL",placeholder:"e.g. https://charts.rancher.io"},oci:{urlLabel:"OCI Repository Host URL",placeholder:"e.g. oci://test.azure.io/test-namespace:test-tag",info:"For better performance, add OCI URLs that contain ONLY helm charts. For example oci://test.rancher.io/charts or oci://test.rancher.io/charts/mychart. The list of charts available from the repository is updated every 6 hours. Scanning directories with a large number of artifacts may degrade performance considerably.",skipTlsVerifications:"Skip TLS Verifications",insecurePlainHttp:"Insecure Plain Http",exponentialBackOff:{label:"Exponential Back Off",minWait:{label:"Min Wait Time (in Seconds)",placeholder:"1 (default)"},maxWait:{label:"Max Wait Time (in Seconds)",placeholder:"5 (default)"},maxRetries:{label:"Max Number of Retries",placeholder:"5 (default)"}}}},tools:{header:"Cluster Tools",noTools:"No Cluster Tools found",action:{install:"Install",upgrade:"Upgrade/Edit",edit:"Edit",remove:"Remove",manage:"Manage"}},os:{versionIncompatible:"This version is not compatible with Windows nodes.",chartIncompatible:"This chart is not compatible with Windows nodes."}},changePassword:{title:"Change Password",cancel:"Cancel",deleteKeys:{label:"Delete all existing API keys"},changeOnLogin:{label:"Ask user to change their password on next login"},generatePassword:{label:"Generate a random password"},currentPassword:{label:"Current Password"},userGen:{newPassword:{label:"New Password"},confirmPassword:{label:"Confirm Password"}},randomGen:{generated:{label:"Generated Password"}},newGeneratedPassword:"Suggest a password",errors:{mismatchedPassword:"Passwords do not match",failedToChange:"Failed to change password",failedDeleteKey:"Failed to delete key",failedDeleteKeys:"Failed to delete keys"}},chartHeading:{overview:"Overview",poweredBy:"Powered by:"},cis:{addTest:"Add Test ID",alertNeeded:'Alerting must be enabled within the CIS chart values.yaml.\nThis requires that the {vendor} Monitoring and Alerting app is installed\nand the Receivers and Routes are configured to send out alerts.',alertOnComplete:"Alert on scan completion",alertOnFailure:"Alert on scan failure",benchmarkVersion:"Benchmark Version",clusterProvider:"Cluster Provider",cronSchedule:{label:"Schedule",placeholder:"e.g. 0 * * * *"},customConfigMap:"Custom Benchmark ConfigMap",deleteBenchmarkWarning:"{count, plural,\n =1 { Any profiles using this benchmark version will no longer work. }\n other { Any profiles using these benchmark versions will no longer work }\n}",deleteProfileWarning:"{count, plural,\n =1 { Any scheduled scans using this profile will no longer work. }\n other { Any scheduled scans using either of these profiles will no longer work. }\n}",downloadAllReports:"Download All Saved Reports",downloadLatestReport:"Download Latest Report",downloadReport:"Download Report",maxKubernetesVersion:"Maximum allowed Kubernetes version",minKubernetesVersion:"Minimum required Kubernetes version",noProfiles:"There are no valid ClusterScanProfiles for this cluster type to select.",noReportFound:"No scan report found",profile:"Profile",reports:"Reports",retention:"Retention Count",scan:{description:"Description",fail:"Fail",lastScanTime:"Last Scan Time",notApplicable:"N/A",number:"Number",pass:"Pass",remediation:"Remediation",scanDate:"Scan Date",scanReport:"Scan Report",skip:"Skip",total:"Total",warn:"Warn"},scheduling:{title:"Scheduling",disable:"Run scan once",enable:"Run scan on a schedule"},scoreWarning:{label:'Scan state for "warn" results',protip:'Scans with no failures will be marked "Pass" by default even if some of the tests generate "warn" output. This behavior can be changed by selecting the "fail" option from this section.'},testID:"Test ID",testsSkipped:"Tests Skipped",testsToSkip:"Tests to Skip",alerting:"Alerting"},cluster:{jwtAuthentication:{banner:"Service Account access with JWT authentication can be configured after cluster creation from
    Cluster Management > Advanced > JWT Authentication"},addonChart:{"rancher-vsphere-cpi":{label:"Add-on: vSphere CPI",configuration:"vSphere CPI"},"rancher-vsphere-csi":{label:"Add-on: vSphere CSI",configuration:"vSphere CSI"},"rke2-calico":{label:"Add-on: Calico",configuration:"Calico"},"rke2-calico-crd":{label:"Add-on: Calico",configuration:"Calico"},"rke2-canal":{label:"Add-on: Canal",configuration:"Canal"},"rke2-cilium":{label:"Add-on: Cilium",configuration:"Cilium"},"rke2-coredns":{label:"Add-on: CoreDNS",configuration:"CoreDNS"},"rke2-ingress-nginx":{label:"Add-on: NGINX",configuration:"NGINX Ingress"},"rke2-kube-proxy":{label:"Add-on: Kube Proxy",configuration:"Kube Proxy"},"rke2-metrics-server":{label:"Add-on: Metrics Server",configuration:"Metrics Server"},"rke2-multus":{label:"Add-on: Multus",configuration:"Multus"}},agentEnvVars:{label:"Agent Environment",detail:"Add additional environment variables to the agent container. This is most commonly useful for configuring a HTTP proxy.",keyLabel:"Variable Name"},cloudProvider:{aws:{label:"Amazon"},azure:{label:"Azure"},external:{label:"External"},gcp:{label:"Google"},"rancher-vsphere":{label:"vSphere",note:"Important: Configure the vSphere Cloud Provider and Storage Provider options in the Add-on tabs."},harvester:{label:"Harvester"}},copyConfig:"Copy KubeConfig to Clipboard",copiedConfig:"Copied KubeConfig to Clipboard",custom:{nodeRole:{label:"Node Role",detail:"Choose what roles the node will have in the cluster. The cluster needs to have at least one node with each role.",warning:"The cluster needs to have at least one node with each role to be usable."},advanced:{label:"Advanced",detail:"Additional control over how the node will be registered. These values will often need to be different for each node registered.",nodeName:"Node Name",publicIp:"Node Public IP",privateIp:"Node Private IP",nodeLabel:{title:"Node Labels",label:"Add Label"}},registrationCommand:{label:"Registration Command",linuxDetail:"Run this command on each of the existing Linux machines you want to register.",windowsDetail:"Run this command in PowerShell on each of the existing Windows machines you want to register. Windows nodes can only be workers.",windowsNotReady:"The cluster must be up and running with Linux etcd, control plane, and worker nodes before the registration command for adding Windows workers will display.",windowsWarning:"Workload pods, including some deployed by Rancher charts, will be scheduled on both Linux and Windows nodes by default. Edit NodeSelector in the chart to direct them to be placed onto a compatible node.",windowsDeprecatedForRKE1:"Windows support is being deprecated for RKE1. We suggest migrating to RKE2.",insecure:"Insecure: Select this to skip TLS verification if your server has a self-signed certificate."}},credential:{banner:{createCredential:"{length, plural,\n =0 {First you'll need to create a credential to talk to the cloud provider}\n other {Ok, Let's create a new credential}\n}"},selectExisting:{label:"Select Existing"},select:{option:{new:"Create new...",none:"Select a credential..."}},aws:{accessKey:{label:"Access Key",placeholder:"Your AWS Access Key"},defaultRegion:{help:"The default region to use when creating clusters. Also contacted to verify that this credential works.",label:"Default Region"},secretKey:{label:"Secret Key",placeholder:"Your AWS Secret Key"}},azure:{clientId:{label:"Client ID"},clientSecret:{label:"Client Secret"},environment:{label:"Environment"},subscriptionId:{label:"Subscription ID"},tenantId:{label:"Tenant ID"}},digitalocean:{accessToken:{help:'Paste in a Personal Access Token from the DigitalOcean Applications & API screen.',label:"Access Token",placeholder:"Your DigitalOcean API Access Token"}},label:"Cloud Credential",linode:{accessToken:{help:'Paste in a Personal Access Token from the Linode API Tokens screen.',label:"Access Token",placeholder:"Your Linode API Access Token"}},pnap:{clientIdentifier:{label:"Client ID",placeholder:"Your Client ID"},clientSecret:{help:'From phoenixNAP BMC Portal API Credentials',label:"Client Secret",placeholder:"Your Client Secret"}},name:{label:"Credential Name",placeholder:"Name for this credential"},s3:{accessKey:{label:"Access Key",placeholder:"Your API Access Key"},defaultRegion:{label:"Default Region",placeholder:"Optional: The default region to use"},defaultBucket:{label:"Default Bucket",placeholder:"Optional: The default bucket to use"},defaultEndpoint:{label:"Default Endpoint",placeholder:"Optional: The default endpoint to use"},defaultFolder:{label:"Default Folder",placeholder:"Optional: The default folder to use"},defaultEndpointCA:{label:"Default Endpoint CA Cert",placeholder:"Optional: The default CA certificate to use to verify the endpoint"},defaultSkipSSLVerify:{label:"Accept any certificate (insecure)"},secretKey:{label:"SecretKey",placeholder:"Your API Secret Key"}},vmwarevsphere:{server:{label:"vCenter or ESXi Server",placeholder:"vcenter.domain.com"},port:{label:"Port"},username:{label:"Username"},password:{label:"Password"},note:"Note: The free ESXi license does not support API access. Only servers with a valid or evaluation license are supported."},gcp:{authEncodedJson:{label:"Service Account",placeholder:"Service Account private key JSON file",help:'

    Create a Service Account with a JSON private key and provide the JSON here.\nThese IAM roles are required:

    \n
      \n
    • Compute Engine: Compute Viewer (roles/compute.viewer)
    • \n
    • Project: Viewer (roles/viewer)
    • \n
    • Kubernetes Engine: Kubernetes Engine Admin (roles/container.admin)
    • \n
    • Service Accounts: Service Account User (roles/iam.serviceAccountUser)
    • \n
    \nMore info on roles can be found here.'}},harvester:{namespace:"Namespace",cpu:"CPUs",memory:"Memory",disk:"Disk",image:"Image",network:{title:"Networks",network:"Network",addNetwork:"Add Network",networkName:"Network Name",macAddress:"Mac Address",macFormat:"Invalid MAC address format."},vGpus:{warnings:{minimumAllocatable:'It\'s highly recommended to select a vGPU with a number of allocatable devices greater than the number of nodes (Machine Count) to avoid "un-schedulable" errors after cluster updates.'},errors:{notAllocatable:"[{vGpu}] vGPU device is not allocatable; required: {allocated}, allocatable: {allocatable}"}},volume:{title:"Volumes",volume:"Volume",imageVolume:"Image Volume",addVolume:"Add Volume",addVMImage:"Add VM Image",storageClass:"Storage Class"},sshUser:"SSH User",userData:{label:"User Data Template",title:"User Data:"},networkData:{label:"Network Data Template",title:"Network Data:"},kubeconfigContent:{label:"KubeconfigContent"},placeholder:"Namespace/Name",cluster:"Imported Harvester Cluster",installGuestAgent:"Install guest agent",tokenExpirationWarning:'Warning: Harvester Cloud Credentials use an underlying authentication token that may have an expiry time - please see the following knowledge base article for possible implications on management operations.'}},description:{label:"Cluster Description",placeholder:"Any text you want that better describes this cluster"},harvester:{importNotice:"Import Harvester Clusters via",warning:{label:"This is a Harvester Cluster - enable the Harvester feature flag to manage it",state:"Warning",cloudProvider:{incompatible:'You cannot select the Harvester cloud provider as the current Harvester version is not compatible with the selected RKE2 Kubernetes version, click here to see which Kubernetes versions are supported.'}},clusterWarning:"There {count, plural,\n=1 {is 1 Harvester cluster that is not shown}\nother {are # Harvester clusters that are not shown}\n}",registration:{step1:"1. Go to the Advanced / Settings page of the target Harvester's UI.",step2:'2. Find the cluster-registration-url setting and click the -> Edit Setting button.',step3:"3. Input the following registration URL and click the Save button.",step4:"Registration URL"},machinePool:{cpu:{placeholder:"e.g. 2"},memory:{placeholder:"e.g. 4"},disk:{placeholder:"e.g. 4"},namespace:{placeholder:"e.g. default"},image:{placeholder:"Please select a image"},network:{placeholder:"Please select a network"},sshUser:{placeholder:"e.g. ubuntu",toolTip:"SSH user to login with the selected OS image."}}},haveOneOwner:"There must be at least one member with the Owner role.",import:{warningBanner:"You should not import a cluster which has already been connected to another instance of Rancher as it will lead to data corruption.",commandInstructions:"Run the kubectl command below on an existing Kubernetes cluster running a supported Kubernetes version to import it into {vendor}:",commandInstructionsInsecure:"If you get a "certificate signed by unknown authority" error, your {vendor} installation has a self-signed or untrusted SSL certificate. Run the command below instead to bypass the certificate verification:",clusterRoleBindingInstructions:"If you get permission errors creating some of the resources, your user may not have the cluster-admin role. Use this command to apply it:",clusterRoleBindingCommand:"kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user "},explore:"Explore",importAction:"Import Existing",manageAction:"Manage",kubernetesVersion:{label:"Kubernetes Version",current:"(current)",experimental:"(experimental)",deprecated:"(deprecated)",deprecatedPatches:"Show deprecated Kubernetes patch versions",deprecatedPatchWarning:"We recommend using the latest patch version for each minor Kubernetes version. Deprecated patch versions can be useful for migration purposes."},legacyWarning:"The legacy feature flag is enabled and not all legacy features are supported in Kubernetes 1.21+.",log:{connecting:"Connecting…",noData:"There are no provisioning log entries."},name:{label:"Cluster Name",placeholder:"A unique name for the cluster"},directoryConfig:{title:"Data directory configuration",checkboxText:"Use the same path for System-agent, Provisioning and K8s Distro data directories configuration",common:{label:"Data directory configuration path",tooltip:"Data directory configuration for System-agent, Provisioning and K8s Distro"},systemAgent:{label:"System-agent directory path",tooltip:"Data directory for the system-agent connection info and plans"},provisioning:{label:"Provisioning directory path",tooltip:"Data directory for provisioning related files"},k8sDistro:{label:"K8s Distro directory path",tooltip:"Data directory for the k8s distro"}},machineConfig:{banner:{updateInfo:"Create a new pool to update machine configs"},aws:{sizeLabel:"{apiName}: {cpu, plural,\n=1 {1 vCPU}\n other {# vCPUs}\n} / {memory, number} GiB Memory / {storageSize, plural,\n =0 {EBS-Only}\n other {{storageSize, number} {storageUnit} {storageType}}\n}"},azure:{acceleratedNetworking:{label:"Accelerated Networking"},availabilitySet:{label:"Availability Set (unmanaged)",description:"Availability sets are used to protect applications from hardware failures within an Azure data center."},availabilityZone:{label:"Availability Zone",description:"Availability zones protect applications from complete Azure data center failures.",publicIpAndSKUWarning:"Availability zones require Static Public IP and Use Standard SKU for Public IP to be enabled.",publicIpWarning:"Availability zones require Static Public IP to be enabled.",standardSKUWarning:"Availability zones require Use Standard SKU for Public IP to be enabled.",managedDisksWarning:"Availability zones require Managed Disks to be enabled."},dns:{help:"A unique DNS label for the public IP address.",label:"DNS Label"},environment:{label:"Environment",tooltip:"The environment is configured when cloud credentials are created."},faultDomainCount:{help:"If the availability set has already been created, the fault domain count will be ignored.",label:"Fault Domain Count"},image:{help:"Providing an ARM resource identifier requires using managed disk.",label:"Image"},location:{label:"Location"},managedDisks:{label:"Use Managed Disks"},managedDisksSize:{label:"Managed Disk Size"},nsg:{help:"When using a Rancher managed or providing an existing NSG, all nodes using this template will use the supplied NSG. If no NSG is provided, a new NSG will be created for each node.",label:"Network Security Group"},openPort:{add:"Add Port",help:"When using an existing NSG, Open Ports are ignored.",label:"Open Port"},plan:{label:"Purchase Plan",placeholder:"publisher:product:plan"},privateIp:{label:"Private IP Address"},publicIpOptions:{header:"Public IP Options",noPublic:{label:"No Public IP"},staticPublicIp:{label:"Static Public IP"},standardSKU:{label:"Use Standard SKU for Public IP"}},resourceGroup:{label:"Resource Group"},sections:{availabilitySetConfiguration:"Availability Set Configuration",purchasePlan:"Purchase Plan",network:"Network",disks:"Disks"},size:{label:"VM Size",tooltip:"When accelerated networking is enabled, not all sizes are available.",supportsAcceleratedNetworking:"Sizes that Support Accelerated Networking",doesNotSupportAcceleratedNetworking:"Sizes Without Accelerated Networking",availabilityWarning:"The selected VM size is not available in the selected region.",regionDoesNotSupportAzs:"Availability zones are not supported in the selected region. Please select a different region or use an availability set instead.",regionSupportsAzsButNotThisSize:"The selected region does not support availability zones for the selected VM size. Please select a different region or VM size.",selectedSizeAcceleratedNetworkingWarning:"The selected VM size does not support accelerated networking. Please select another VM size or disable accelerated networking."},sshUser:{label:"SSH Username"},storageType:{label:"Storage Type",warning:"StandardSSD_LRS requires managed disks. Please select Use Managed Disks or select another storage type."},subnet:{label:"Subnet"},subnetPrefix:{label:"Subnet Prefix"},updateDomainCount:{help:"If the availability set has already been created, the update domain count will be ignored.",label:"Update Domain Count"},usePrivateIp:{label:"Use Private IP"},vnet:{label:"Virtual Network",placeholder:"[resourcegroup:]name"},tags:{label:"Tags"}},digitalocean:{sizeLabel:"{plan, select,\n s {Basic: }\n g {General: }\n gd {General: }\n c {CPU: }\n m {Memory: }\n so {Storage: }\n standard {Standard: }\n other {}\n}{memoryGb} GB, {vcpus, plural,\n =1 {# vCPU}\n other {# vCPUs}\n}, {disk} GB Disk ({value})",tags:{label:"Droplet Tags",placeholder:"e.g. my_server"}},linode:{typeLabel:"{label}, {vcpus, plural,\n =1 {# vCPU}\n other {# vCPUs}\n}, {disk} GB Disk ({value})"},vsphere:{hostOptions:{any:"Any"},vAppOptions:{label:"vApp Options",description:"Choose OVF environment properties",disable:"Do not use vApp",auto:"Use vApp to configure networks with network protocol profiles",manual:"Provide a custom vApp config",restoreType:"Restore Type",transport:{label:"OVF environment transport",tooltip:"com.vmware.guestInfo or iso",placeholder:"e.g. com.vmware.guestInfo"},protocol:{label:"vApp IP protocol",tooltip:"IPv4 or IPv6",placeholder:"e.g. IPv4"},allocation:{label:"vApp IP allocation policy",tooltip:"dhcp, fixed, transient or fixedAllocated",placeholder:"e.g. fixedAllocated"},properties:{label:"vApp properties",add:"Add Property",keyPlaceholder:"e.g. guestinfo.interface.0.ip.0.address",valuePlaceholder:"e.g. ip:VM Network, expression or string"}},networks:{label:"Networks",add:"Add Network"},guestinfo:{label:"Configuration Parameters used for guestinfo",add:"Add Parameter",keyPlaceholder:"e.g. guestinfo.hostname",valuePlaceholder:"e.g. myrancherhost"},creationMethods:{template:"Deploy from template: Data Center",library:"Deploy from template: Content Library",vm:"Clone an existing virtual machine",legacy:"Install from boot2docker ISO (Legacy)"},scheduling:{label:"Scheduling",description:"Choose what hypervisor the virtual machine will be scheduled to",dataCenter:"Data Center",resourcePool:"Resource Pool",dataStore:"Data Store",folder:"Folder",host:{label:"Host",note:"Specific host to create VM on (leave blank for standalone ESXi or for cluster with DRS)"},gracefulShutdownTimeout:{label:"Graceful Shutdown Timeout",note:"The time in seconds to wait before forcing deleting VMs in the infrastructure. Zero means disable graceful shutdown."}},instanceOptions:{label:"Instance Options",description:"Choose the size and OS of the virtual machine",cpus:"CPUs",memory:"Memory",disk:"Disk",creationMethod:"Creation method",template:{label:"Template",none:"No Templates Found"},contentLibrary:"Content library",libraryTemplate:"Library template",virtualMachine:"Virtual machine",osIsoUrl:{label:"OS ISO URL",placeholder:"Default: Latest rancheros-vmware image"},cloudInit:{label:"Cloud Init",placeholder:"e.g. http://my_host/cloud-config.yml",note:"Cloud-init file or url to set in the guestinfo"},cloudConfigYaml:"Cloud Config YAML",os:"Operating System"},tags:{label:"Tags",description:"Tags allow you to attach metadata to objects in the vSphere inventory to make it easier to sort and search for these objects.",addTag:"Add Tag"},customAttributes:{label:"Custom attributes (legacy)",description:"Custom attributes allow you to attach metadata to objects in the vSphere inventory to make it easier to sort and search for these objects.",add:"Add custom attribute"}},amazonEc2:{region:"Region",zone:"Zone",instanceType:"Instance Type",rootSize:{placeholder:"Default: 16",label:"Root Disk Size",suffix:"GB"},selectedNetwork:{label:"VPC/Subnet",placeholder:"Select a VPC or Subnet"},iamInstanceProfile:{label:"IAM Instance Profile Name",tooltip:"Kubernetes AWS Cloud Provider support requires an appropriate instance profile"},ami:{label:"AMI ID",placeholder:"Default: A recent Ubuntu LTS"},sshUser:{label:"SSH Username for AMI",placeholder:"Default: ubuntu",tooltip:"The username that exists in the selected AMI; Provisioning will SSH to the node with this."},securityGroup:{title:"Security Group",vpcId:"(select a VPC/Subnet first)",mode:{default:'Standard: Automatically create and use a "{defaultGroup}" security group',custom:"Choose one or more existing security groups:"}},volumeType:{label:"EBS Root Volume Type",placeholder:"Default: gp2"},encryptEbsVolume:"Encrypt EBS Volume",kmsKey:{label:"KMS Key ARN",text:"You do not have permission to list KMS keys, but may still be able to enter a Key ARN if you know one."},requestSpotInstance:"Request Spot Instance",spotPrice:{label:"Spot Price",placeholder:"Default: 0.50",suffix:"Dollars per hour"},privateAddressOnly:"Use only private address",useEbsOptimizedInstance:"EBS-Optimized Instance",httpEndpoint:"Allow access to EC2 metadata",httpTokens:"Use tokens for metadata",tagTitle:"EC2 Tags"},pnap:{serverLocation:{label:"Location"},serverType:{label:"Type"},serverCpu:{label:"CPU"},serverCoresPerCpu:{label:"Cores per CPU"},serverCpuCount:{label:"CPU Count"},serverCpuFrequency:{label:"CPU Frequency [GHz]"},serverRam:{label:"RAM [GB]"},serverStorage:{label:"Storage"},serverNetwork:{label:"Network"},serverOs:{label:"OS"}}},addOns:{dependencyBanner:"Add-On Configuration can vary between Kubernetes versions. Changing the Kubernetes version may reset the values below.",additionalManifest:{title:"Additional Manifest",tooltip:"Additional Kubernetes Manifest YAML to be applied to the cluster on startup."}},agentConfig:{tabs:{cluster:"Cluster Agent",fleet:"Fleet Agent"},groups:{deploymentLabels:"Deployment Labels",selector:"Selector",podAffinity:"Affinity",podTolerations:"Tolerations",podRequestsAndLimits:"Requests and Limits"},subGroups:{podAffinityAnti:"Pod Affinity/Anti-Affinity",nodeAffinity:"Node Affinity"},banners:{advanced:"These are advanced configuration options. Generally, they should be left as-is.",tolerations:"Additional Pod Tolerations will be added to the default Tolerations applied by Rancher.",limits:"Pod Requests and Limits do not have a default configuration.",windowsCompatibility:"We do not recommend removing the Node Affinity rule that prevents the agent from running on Windows nodes as this is not a supported configuration."},affinity:{default:"Use default affinity rules defined by Rancher",custom:"Use custom affinity rules"}},advanced:{argInfo:{title:"Additional Kubelet Args",tooltip:{"mixed-args":'Kubelet args are defined both at Global and Machine Selector level.
    Click on "Add Global Argument" to add them as Global config.',"global-args":'Kubelet args are defined at Global level.
    Click on "Add Global Argument" to add them as Global config.'},machineGlobal:{listLabel:"Add Global Argument"},machineSelector:{label:"Add Machine Selector",listLabel:"Add Argument",bannerLabel:"Note: The last selector that matches wins, and only args from it will be used. Args from other matches above will not be combined together or merged.",title:"For machines with labels matching:",subTitle:"Use the Kubelet args:",titleAlt:"{count, plural,\n =1 { For all machines, use the Kubelet args: }\n other { For machines without matched labels below: }\n}",kubeControllerManagerTitle:"Additional Controller Manager Args",kubeApiServerTitle:"Additional API Server Args",kubeSchedulerTitle:"Additional Scheduler Args"}},agentArgs:{label:"Raise error if kernel parameters are different than the expected kubelet defaults"}},banner:{warning:"This cluster contains a machineSelectorConfig, which this form does not fully support; use the YAML editor to manage the full configuration.",os:"You are attempting to add a {newOS} worker node to a cluster with one or more {existingOS} worker nodes: some installed apps may need to be upgraded or removed.","rke2-k3-reprovisioning":'Making changes to cluster configuration may result in nodes reprovisioning. For more information see the documentation.',desiredNodeGroupWarning:"There are 0 nodes available to run the cluster agent. The cluster will not become active until at least one node is available.",haveArgInfo:"Configuration information is not available for the selected Kubernetes version. The options available on this screen will be limited; you may want to use the YAML editor.",cloudProviderAddConfig:'On Kubernetes 1.27 or greater, the Amazon Cloud Provider requires additional configuration. See the documentation for more information.',cloudProviderUnsupportedAzure:'On Kubernetes 1.30 or greater, the Azure Cloud Provider has been removed. See the documentation for more information.',cloudProviderMigrateAzure:'On Kubernetes 1.30 or greater, the Azure Cloud Provider has been removed. To upgrade Kubernetes, the cluster should be migrated to External provider first.
    See the documentation for more information.',machinePoolError:"{count, plural,\n =1 { {pool_name}: The provided value for {fields} was not found in the list of expected values. This can happen with clusters provisioned outside of Rancher or when options for the provider have changed. }\n other { {pool_name}: The provided values for {fields} were not found in the list of expected values. This can happen with clusters provisioned outside of Rancher or when options for the provider have changed. }\n}"},rkeTemplateUpgrade:"Template revision {name} available for upgrade",architecture:{label:{unknown:"Unknown",mixed:"Mixed"}},availabilityWarnings:{node:"Node {name} is inactive",machine:"Machine {name} is inactive"},detail:{provisioner:"Provisioner",kubernetesVersion:"Kubernetes Version",machineProvider:"Machine Provider",machinePools:"Machine Pools",machines:"Machines",rkeTemplate:"RKE Template"},machinePool:{name:{label:"Pool Name",placeholder:"A random one will be generated by default"},nodeTotals:{label:{controlPlane:"{count} Control Plane",etcd:"{count} etcd",worker:"{count} Worker"},tooltip:{controlPlane:"{count, plural,\n =0 { A cluster needs at least one control plane node to be usable. }\n =1 { A cluster with only one control plane node is not fault-tolerant. }\n other {}\n}",etcd:"{count, plural,\n =0 { A cluster needs at least one etcd node to be usable. }\n =1 { A cluster with only one etcd node is not fault-tolerant. }\n =2 { Clusters should have an odd number of nodes. A cluster with 2 etcd nodes is not fault-tolerant. }\n =3 {}\n =4 { Clusters should have an odd number of nodes. }\n =5 {}\n =6 { Clusters should have an odd number of nodes. }\n =7 {}\n other { More than 7 etcd nodes is not recommended. }\n}",worker:"{count, plural,\n =0 { A cluster needs at least one worker node to be usable. }\n =1 { A cluster with only one worker node is not fault-tolerant. }\n other {}\n}"}},quantity:{label:"Machine Count"},drain:{header:"Drain",label:"Drain Before Delete"},role:{label:"Roles",etcd:"etcd",controlPlane:"Control Plane",worker:"Worker"},labels:{label:"Kubernetes Node Labels"},noAccessBanner:"You do not have access to see this machine pool's configuration.",configNotFound:"We could not find this machine pool's configuration. We recommend that you create a new cluster with the desired configuration.",noPoolsDisclaimer:"You do not have any machine pools defined, click the plus to add one.",truncationPool:"Hostname truncation has been manually configured for this pool to {limit}",truncationCluster:"Hostname truncation has been manually configured for this cluster to {limit}",autoReplace:{label:"Auto Replace",toolTip:"If greater than 0, nodes that are unreachable for this duration will be automatically deleted and replaced.",unit:"Seconds"}},managementTimeout:"The cluster to become available. It's possible the cluster was created. We suggest checking the clusters page before trying to create another.",memberRoles:{removeMessage:"Note: Removing a user will not remove their project permissions",addClusterMember:{labelSelect:"Select Member",labelAdd:"Add Member",placeholder:"Search for a member to provide cluster access",searchPlaceholder:"Start typing to search",noResults:"No results found"}},privateRegistry:{header:"Registry for Rancher System Container Images",label:"Enable cluster scoped container registry for Rancher system container images",description:"If enabled, Rancher will pull container images from this registry during cluster provisioning. By default, Rancher will also use this registry when installing Rancher's official Helm chart apps. If the cluster scoped registry is disabled, system images are pulled from the System Default Registry in the global settings.",docsLinkRke2:'For help configuring private registry mirrors, see the RKE2 documentation.',docsLinkK3s:'For help configuring private registry mirrors, see the K3s documentation.'},provider:{aliyunecs:"Aliyun ECS",aliyunkubernetescontainerservice:"Alibaba ACK",aliyun:"Alibaba ACK",amazonec2:"Amazon EC2",amazoneks:"Amazon EKS",aws:"Amazon",azure:"Azure",azureaks:"Azure AKS",aks:"Azure AKS",azurekubernetesservice:"Azure AKS",baiducloudcontainerengine:"Baidu CCE",baidu:"Baidu CCE",cloudca:"Cloud.ca",cloudscale:"Cloudscale",custom:"Custom",digitalocean:"DigitalOcean",docker:"Docker",eks:"Amazon EKS",exoscale:"Exoscale",gcp:"Google",google:"Google GCE",googlegke:"Google GKE",gke:"Google GKE",harvester:"Harvester",huaweicce:"Huawei CCE",import:"Generic",imported:"Imported",k3s:"K3s",kubeAdmin:"KubeADM",linode:"Linode",linodelke:"Linode LKE",local:"Local",minikube:"Minikube",oci:"Oracle OCI",openstack:"OpenStack",opentelekomcloudcontainerengine:"Open Telekom Cloud CCE",otccce:"Open Telekom Cloud CCE",oracle:"Oracle",oracleoke:"Oracle OKE",otc:"Open Telekom Cloud",other:"Other",ovhcloudmks:"OVHcloud MKS",packet:"Equinix Metal",pinganyunecs:"Pinganyun ECS",pnap:"phoenixNAP",rackspace:"RackSpace",rancherkubernetesengine:"RKE",rke2:"RKE2",rke:"RKE1",rkeWindows:"Windows (RKE1 only)",s3:"S3-Compatible",softlayer:"IBM Cloud",tencenttke:"Tencent TKE",upcloud:"UpCloud",vmwarevsphere:"VMware vSphere",zstack:"ZStack",machineinventoryselectortemplate:"Elemental Cluster"},providerTag:{rke2:{harvester:"{tag}"}},providerGroup:{"create-custom1":"Use existing nodes and create a cluster using RKE","create-custom2":"Use existing nodes and create a cluster using RKE2/K3s","create-kontainer":"Create a cluster in a hosted Kubernetes provider","register-kontainer":"Register an existing cluster in a hosted Kubernetes provider","create-rke1":"Provision new nodes and create a cluster using RKE","create-rke2":"Provision new nodes and create a cluster using RKE2/K3s","create-template":"Use a Catalog Template to create a cluster","register-custom":"Import any Kubernetes cluster"},rke2:{banner:{psaChange:"PSACT is now set to Rancher default automatically",cisOverride:"Changing this setting may affect cluster security as it overrides default CIS settings",cisUnsupported:'The selected Kubernetes Version no longer supports CIS Profile "{cisProfile}". Please select a supported profile. We recommend reviewing the documentation to evaluate the impact of changing the CIS Profile.'},modal:{editYamlMachinePool:{title:"Save Machine Configurations",body:"Machine Configurations define how machines in Pools are deployed.

    They will be saved upfront to ensure valid Cluster YAML can be saved."}},snapshots:{suffix:"Snapshots per node"},systemService:{"rke2-coredns":"CoreDNS","rke2-ingress-nginx":"NGINX Ingress","rke2-kube-proxy":"Kube Proxy","rke2-metrics-server":"Metrics Server",header:"System Services"},cni:{label:"Container Network",cniNoneBanner:'When CNI is set to \'none\' an Additional Manifest deploying an alternate CNI must be specified for successful cluster provisioning.',cilium:{BandwidthManager:{enable:"Enable Bandwidth Manager"}}},cloudProvider:{label:"Cloud Provider",header:"Cloud Provider Config",defaultValue:{label:"Default - RKE2 Embedded"}},security:{header:"Security"},cis:{server:"Server CIS Profile",agent:"CIS Profile",override:"Allow the default Pod Security Admission Configuration Template to be overridden when using a CIS Profile"},defaultPodSecurityPolicyTemplateName:{label:"Default Pod Security Policy",option:"Default - RKE2 Embedded"},defaultPodSecurityAdmissionConfigurationTemplateName:{label:"Pod Security Admission Configuration Template",option:{none:"(None)",default:"Default - RKE2 Embedded"}},secretEncryption:{label:"Encrypt Secrets"},cisProfile:{option:"(None)"},enableNetworkPolicy:{label:"Project Network Isolation",warning:"Per default, the ingress controller will not be able to route requests to pods on other nodes."},workNode:{label:"Worker Nodes"},controlPlaneConcurrency:{header:"Control Plane",label:"Control Plane Concurrency",toolTip:"This can be either a fixed number of nodes (e.g. 1) at a time or a percentage (e.g. 10%)"},workerConcurrency:{label:"Worker Concurrency",toolTip:"This can be either a fixed number of nodes (e.g. 1) at a time or a percentage (e.g. 10%)"},drain:{label:"Drain Nodes",toolTip:"Draining preemptively removes the pods on each node so there are no running workloads on the nodes being upgraded. Upgrading without draining is faster and causes less shuffling around, but pods may still be restarted depending on the upgrade being performed.",deleteEmptyDir:{warning:"By default, pods using emptyDir volumes will be deleted on upgrade. Operations reliant on emptyDir volumes persisting through the pod's lifecycle may be impacted.",label:"Delete pods using emptyDir volumes",tooltip:"emptyDir volumes are often used for ephemeral data, but the data will be permanently deleted. Draining will fail if this is not set and there are pods using emptyDir."},force:{label:"Delete standalone pods",tooltip:"Delete standalone pods which are not managed by a Workload controller (Deployment, Job, etc). Draining will fail if this is not set and there are standalone pods."},gracePeriod:{checkboxLabel:"Override pod termination grace periods",inputLabel:"Grace Period"},timeout:{checkboxLabel:"Timeout after",inputLabel:"Drain Timeout"}},truncateHostnames:"Truncate hostnames to 15 characters for NetBIOS compatibility.",address:{tooltip:"Cluster networking values cannot be changed after the cluster is created.",header:"Addressing",clusterCidr:{label:"Cluster CIDR"},serviceCidr:{label:"Service CIDR"},dns:{label:"Cluster DNS"},domain:{label:"Cluster Domain"},nodePortRange:{label:"NodePort Service Port Range"},tlsSan:{label:"TLS Alternate Names"},fqdn:{toolTip:"A FQDN which will resolve to the healthy control plane nodes of the cluster."},caCerts:{label:"CA Certificates",toolTip:"Certificates required for the client to successfully verify the validity of the certificate returned by the endpoint."},ipv6:{warning:"It looks like you are using an IPv6 CIDR. Your node driver may require additional configuration to support this.",enable:"Enable IPv6 support"}},etcd:{disableSnapshots:{label:"Automatic Snapshots"},snapshotScheduleCron:{label:"Cron Schedule"},snapshotRetention:{label:"Keep the last"},exportMetric:{label:"Metrics",false:"Only available inside the cluster",true:"Exposed to the public interface"}}},k3s:{systemService:{coredns:"CoreDNS","local-storage":"Local Storage","metrics-server":"Metrics Server",servicelb:"Klipper Service LB",traefik:"Traefik Ingress"}},selectCredential:{genericDescription:"{vendor} has no built-in support for this driver. We've taken a guess, but consult the driver's documentation for the fields required for authentication."},snapshot:{successTitle:"Snapshot Started",errorTitle:"Error Snapshotting {name}",successMessage:"A snapshot has been requested for {name}",bulkSuccessTitle:"Snapshot Started",bulkSuccessMessage:"{count, plural,\n =1 { A snapshot has been requested for 1 cluster }\n other {A snapshot has been requested for {count} clusters}\n}",groupLabel:"Location",failed:"Snapshot from {time} failed",rke1:{local:"local",s3:"s3"}},tabs:{ace:"Authorized Endpoint",addOnAdditionalManifest:"Additional Manifest",advanced:"Advanced",agentEnv:"Agent Environment Vars",basic:"Basics",cluster:"Cluster Configuration",etcd:"etcd",log:"Provisioning Log",networking:"Networking",machinePools:"Machine Pools",machines:"Machines",memberRoles:"Member Roles",registry:"Registries",upgrade:"Upgrade Strategy",registration:"Registration"},rotateCertificates:{label:"Rotate Certificates",modalTitle:"Rotate Cluster Certificates",services:"Services",allServices:"Rotate all service certificates",selectService:"Rotate an individual service"},toggle:{v1:"RKE1",v2:"RKE2/K3s"},validation:{iamInstanceProfileName:'If the Amazon cloud provider is selected the "IAM Instance Profile Name" must be defined for each Machine Pool'}},clusterIndexPage:{hardwareResourceGauge:{consumption:"{useful} of {total} {units} {suffix}",cores:"CPU",pods:"Pods",ram:"Memory",used:"Used",reserved:"Reserved",units:{cores:"{count, plural,\n=1 {core}\nother {cores}}"}},header:"Cluster Dashboard",resourceGauge:{totalResources:"Total Resources"},sections:{capacity:{label:"Capacity"},events:{label:"Events",resource:{label:"Resource"},date:{label:"Date"}},alerts:{label:"Alerts"},clusterMetrics:{label:"Cluster Metrics"},etcdMetrics:{label:"Etcd Metrics"},k8sMetrics:{label:"Kubernetes Components Metrics"},gatekeeper:{buttonText:"Configure Gatekeeper",disabled:"OPA Gatekeeper is not configured.",label:"OPA Gatekeeper Constraint Violations",noRows:"There are no constraints with violations to show."},nodes:{label:"Unhealthy Nodes",noRows:"There are no unhealthy nodes to show."},componentStatus:{etcd:"Etcd",scheduler:"Scheduler","controller-manager":"Controller Manager",cattle:"Cattle",fleet:"Fleet"},certs:{label:"Certificates"}}},configmap:{tabs:{data:{label:"Data",protip:"Use this area for anything that's UTF-8 text data"},binaryData:{label:"Binary Data"}}},containerResourceLimit:{cpuPlaceholder:"e.g. 1000",gpuPlaceholder:"e.g. 1",helpText:"Configure how much of the resources the container can consume by default.",helpTextDetail:"The amount of resources the container can consume by default.",label:"Container Default Resource Limit",limitsCpu:"CPU Limit",limitsGpu:"NVIDIA GPU Limit/Reservation",limitsMemory:"Memory Limit",memPlaceholder:"e.g. 128",requestsCpu:"CPU Reservation",requestsMemory:"Memory Reservation"},resource:{errors:{update:"Error updating {name}"}},codeMirror:{keymap:{tooltip:"Key mapping preference.",indicatorToolip:"Key mapping: {name}"}},cruResource:{backToForm:"Back to Form",backBody:"You will lose any changes made to the YAML.",cancelBody:"You will lose any changes made to the YAML.",confirmBack:"Okay",confirmCancel:"Okay",reviewForm:"Keep editing YAML",reviewYaml:"Keep editing YAML",previewYaml:"Edit as YAML",showYaml:"View as YAML"},drivers:{kontainer:{title:"Cluster Drivers"},node:{title:"Node Drivers"},add:{title:"Add Driver",name:{label:"Driver name"},downloadUrl:{label:"Download URL",placeholder:"https://test.com/driver",tooltip:"The URL to download the machine driver binary for 64-bit Linux."},customUiUrl:{label:"Custom UI URL",placeholder:"https://test.com/ui",tooltip:"The URL to load for customized Add Nodes screen for this driver. See https://github.com/rancher/ui-driver-skel for more info."},checksum:{label:"Checksum",tooltip:"Checksum to verify that the downloaded driver matches the expected checksum."},whitelist:"Whitelist Domains"},actions:{refresh:"Refresh Kubernetes Metadata"},deactivate:{title:"Are you sure?",andOthers:"{count, plural,\n=0 {}\n=1 { and one other }\nother { and {count} other }\n}",warningDrivers:"{count, plural,\n=1 { You will no longer be able to edit the configuration of clusters using {names} driver.}\nother { You will no longer be able to edit the configuration of clusters using {names} drivers.}\n}",warning:"{count, plural,\n=1 { {warningDrivers} Resources in the corresponding provider will not be automatically removed.}\nother { {warningDrivers} Resources in the corresponding providers will not be automatically removed.}\n}"}},detailText:{collapse:"Hide",binary:"",empty:"",unsupported:"",plusMore:"{n, plural,\n =1 {+ 1 more char}\n other {+ {n, number} more chars}\n}"},drainNode:{action:"Drain",actionStop:"Stop Drain",titleOne:"Drain {name}",titleMultiple:"Drain {count} Nodes",deleteLocalData:"Delete Empty Dir Data",force:"Force",safe:{label:"Safe",helpText:"If a node has standalone pods or ephemeral data it will be cordoned but not drained."},gracePeriod:{title:"Grace period for pods to terminate themselves",default:"Honor the default from each pod",placeholder:"e.g. 30",custom:"Ignore the defaults and give each pod:"},timeout:{title:"Drain timeout",default:"Keep trying forever",placeholder:"e.g. 60",custom:"Give up after:"}},etcdInfoBanner:{hasLeader:"Etcd has a leader:",leaderChanges:"Number of leader changes:",failedProposals:"Number of failed proposals:"},fleet:{dashboard:{pageTitle:"Continuous Delivery Dashboard",menuLabel:"Dashboard",welcome:"Welcome to Fleet Continuous Delivery",gitOpsScale:"GitOps at scale.",learnMore:"Learn More.",learnMoreLink:"https://fleet.rancher.io",noRepo:"You don't have any Git Repositories in your Workspaces",getStarted:"Get started",thereIsMore:"{count, plural,\n=1 { There is one other workspace with no repositories}\nother { There are { count } other workspaces with no repositories}\n}",expandAll:"Expand All",collapseAll:"Collapse All"},cluster:{summary:"Resource Summary",nonReady:"Non-Ready Bundles"},clusters:{harvester:"There {count, plural,\n=1 {is 1 Harvester cluster that is hidden as this can not be used with Continuous Delivery}\nother {are # Harvester clusters that are hidden as they can not be used with Continuous Delivery}\n}"},tokens:{harvester:"{count, plural,\n=1 {1 token is hidden as it belongs to a Harvester cluster that can not be used with Continuous Delivery}\nother {# tokens are hidden as they belong to Harvester clusters that can not be used with Continuous Delivery}\n}"},bundles:{resources:"Resources",harvester:"{count, plural,\n=1 {1 bundle is hidden as it belongs to a Harvester cluster that can not be used with Continuous Delivery}\nother {# bundles are hidden as they belong to Harvester clusters that can not be used with Continuous Delivery}\n}"},fleetSummary:{noClustersGitRepo:"This git repo is not targeting any clusters",state:{ready:"Ready",info:"Transitioning",warning:"Warning",error:"Error",unknown:"Unknown",notReady:"Not Ready",waitApplied:"Wait Applied"}},gitRepo:{createLocalBanner:"When deploying a Git Repo to the Local workspace you are unable to target any specific Cluster or Cluster Groups",tabs:{resources:"Resources",unready:"Non-Ready"},auth:{label:"Authentication",git:"Git Authentication",helm:"Helm Authentication"},caBundle:{label:"Certificates",placeholder:"Paste in one or more certificates, starting with -----BEGIN CERTIFICATE----"},paths:{label:"Paths",placeholder:"e.g. /directory/in/your/repo",addLabel:"Add Path",empty:"The root of the repo is used by default. To use one or more different directories, add them here."},repo:{label:"Repository URL",placeholder:"e.g. https://github.com/rancher/fleet-examples.git or git@github.com:rancher/fleet-examples.git",addRepo:"Add Repository",noRepos:"No repositories have been added",noWorkspaces:"There are no workspaces.
    Please create a workspace before adding repositories",protocolBanner:"Enter a valid HTTPS or SSH URL to a git repository."},resources:{label:"Resource Handling",keepResources:"Always Keep Resources",keepResourcesBanner:"When enabled above, resources will be kept when deleting a GitRepo or Bundle - only Helm release secrets will be deleted.",correctDrift:"Enable Self-Healing",correctDriftBanner:"When enabled, Fleet will ensure that the cluster resources are kept in sync with the git repository. All resource changes made on the cluster will be lost."},add:{steps:{repoInfo:{label:"Repository Details",title:"Specify the Git Repository to add to fleet",subtext:"Define repository details",description:"Fleet will continuously monitor the Git Repository you configure below and synchronise the resources contained in it to the configured targets."},targetInfo:{label:"Target Details",title:"Specify which target to synchronise this repository to",subtext:"Define target details",description:"You can configure which clusters will be used as the target of synchronisation with the resources in the repository."}}},ref:{label:"Watch",branch:"A Branch",revision:"A Revision",branchLabel:"Branch Name",branchPlaceholder:"e.g. master",revisionLabel:"Tag or Commit Hash",revisionPlaceholder:"e.g. v1.0.0"},serviceAccount:{label:"Service Account Name",placeholder:"Optional: Use a service account in the target clusters"},targetNamespace:{label:"Target Namespace",placeholder:"Optional: Require all resources to be in this namespace"},target:{selectLabel:"Target",advanced:"Advanced",cluster:"Cluster",clusterGroup:"Cluster Group",label:"Deploy To",labelLocal:"Deploy With"},targetDisplay:{advanced:"Advanced",cluster:"Cluster",clusterGroup:"Group",all:"All",none:"None",local:"Local"},tls:{label:"TLS Certificate Verification",verify:"Require a valid certificate",specify:"Specify additional certificates to be accepted",skip:"Accept any certificate (insecure)"},warningTooltip:{clusterGroup:"There are no clusters in this Cluster Group",cluster:"There are no clusters available"},workspace:{label:"Workspace",addWorkspace:"Create a workspace"},helmRepoURLRegex:"Helm Repos (URL Regex)"},clusterGroup:{selector:{label:"Cluster Selectors",matchesAll:"Matches all {total, number} existing clusters",matchesNone:"Matches no existing clusters",matchesSome:'{matched, plural,\n =1 {Matches 1 of {total, number} existing clusters: "{sample}"}\n other {Matches {matched, number} of {total, number} existing clusters, including "{sample}"}\n}'}},fdc:{loadingChart:"Loading chart data...",renderingChart:"Rendering chart...",id:"ID",type:"Type",state:"State",cluster:"Cluster",error:"Error",ready:"Ready",errors:"Errors"},workspaces:{tabs:{restrictions:"Allowed Target Namespaces"},timeout:"Workspace creation timeout. It's possible the workspace was created. We suggest checking the workspace page before trying to create another."},restrictions:{addTitle:"allowedTargetNamespaces",addLabel:"Add",banner:"{count, plural, =0 { Adding namespaces here will create a GitRepoRestriction. } other { Only the Git Repo Restriction's allowedTargetNamespaces is managed here. You can make additional changes to the Git Repo Restriction} }"}},footer:{docs:"Docs",download:"Download CLI",forums:"Forums",issue:"File an Issue",slack:"Slack"},gatekeeperConstraint:{downloadViolations:"Download Violations",match:{title:"Match"},tab:{enforcementAction:{title:"Enforcement Action"},rules:{title:"Rules",sub:{labelSelector:{addLabel:"Add Label",title:"Label Selector"}}},namespaces:{sub:{excludedNamespaces:"Excluded Namespaces",namespaces:"Namespaces",namespaceSelector:{addNamespace:"Add Namespace",title:"Namespace Selector"},scope:{title:"Scope"}},title:"Namespaces"},parameters:{addParameter:"Add Parameter",editAsForm:"Edit as Form",editAsYaml:"Edit as YAML",title:"Parameters"}},template:"Template",enforcement:{action:"Enforcement Action"},violations:{title:"Violations: {total}",notAll:"Not all are shown due to the configured OPA Gatekeeper constraint violation limit - the constraint only includes details for {shown}"}},gatekeeperIndex:{poweredBy:"OPA Gatekeeper",unavailable:"OPA + Gatekeeper is not available in the system-charts catalog.",violations:"Violations",deprecated:'The OPA Gatekeeper chart is deprecated as of Rancher 2.8 and will be removed in a future release. Please consider switching to Kubewarden.'},gatekeeperInstall:{auditInterval:"Auto Interval",constraintViolationsLimit:"Constraint Violations Limit",runtimeDefaultSeccompProfile:"Enable Runtime Default Seccomp Profile"},glance:{created:"Created",cpu:"CPU Usage",memory:"Memory",nodes:{total:{label:"{count, plural,\n =1 { Node }\n other { Total Nodes }\n}"}},pods:"Pods",provider:"Provider",version:"Kubernetes Version",architecture:"Architecture",monitoringDashboard:"Monitoring Dashboard",installMonitoring:"Install Monitoring",clusterInfo:"Cluster Information",eventsTable:"Full events list",secretsTable:"Full secrets list"},clusterBadge:{customizeAppearance:"Customize Appearance",addLabel:"Add Cluster Badge",setClusterAppearance:"Cluster Appearance",customize:"Customize",editLabel:"Edit Cluster Badge",modal:{title:"Cluster Appearance",checkbox:"Show cluster comment",comment:"Custom comment",iconText:"Icon Text",buttonAction:"Apply",badgeBgColor:"Badge background color",badgeTextColor:"Badge text color",badgeAsIcon:"Use custom badge",maxCharsTooltip:"Overwrites the default cluster name abbreviation.",previewTitle:"Preview:",previewSide:"SIDE NAVIGATION",previewHeader:"RANCHER HEADER"}},grafanaDashboard:{failedToLoad:"Failed to load graph",reload:"Reload",grafana:"Grafana"},graphOptions:{detail:"Detail",summary:"Summary",refresh:"Refresh",range:"Range"},growl:{clearAll:"Clear All Notifications",disconnectError:{message:"The connection to {url} closed unexpectedly at {time}. Disconnected after {tries} reconnect attempts. Check your network connection and reload the page",title:"Websocket Disconnected"},connectError:{message:"The connection to {url} closed unexpectedly at {time}. Reconnect attempt #{tries}.",title:"Websocket Reconnecting"},reconnected:{message:"The connection to {url} was restored on attempt #{tries}.",title:"Websocket Reconnected"},podSecurity:{message:"The creation of this Pod would violate existing restricted policies for the adopted Namespace",title:"PodSecurity violation"},kubeApiHeaderWarning:{titleCreate:"{resourceType} Creation Warning",titleUpdate:"{resourceType} Update Warning"}},hpa:{detail:{currentMetrics:{header:"Current Metrics",noMetrics:"No Current Metrics"},metricHeader:"{source} Metric"},metricIdentifier:{name:{label:"Metric Name",placeholder:"e.g. packets-per-second"},selector:{label:"Add Selector"}},metricTarget:{averageVal:{label:"Average Value"},quantity:{label:"Quantity"},type:{label:"Type"},utilization:{label:"Average Utilization"},value:{label:"Value"}},metrics:{headers:{metricName:"Name",objectKind:"Object Kind",objectName:"Object Name",quantity:"Quantity",resource:"Resource Name",targetName:"Target Name",value:"Value"},source:"Source"},objectReference:{api:{label:"Referent API Version",placeholder:"e.g. apps/v1beta1"},kind:{label:"Referent Kind",placeholder:"e.g. Deployment"},name:{label:"Referent Name",placeholder:"e.g. php-apache"}},scaleDownRules:{label:"Scale down behavior",enable:"Configure scale down behavior"},scaleUpRules:{label:"Scale up behavior",enable:"Configure scale up behavior"},scalingRule:{policyHeader:"Policies",addPolicy:"Add policy",selectPolicy:"Select policy",selectPolicyTooltip:"Select the policy with the maximum value, minimum value or disable scaling.",stabilizationWindowSeconds:"Stabilization window seconds",stabilizationWindowSecondsTooltip:"Number of seconds for which past recommendations should be considered while scaling up or scaling down.",policy:{type:"Type",typeTooltip:"Set policy based on the amount of Pods to scale or the percentage of current replicas to scale.",value:"Value",valueTooltip:"The amount of change which is permitted by the policy.",periodSeconds:"Period seconds",periodSecondsTooltip:"The window of time for which the policy should hold true."}},tabs:{labels:"Labels",metrics:"Metrics",target:"Target",workload:"Workload",behavior:"Behavior"},types:{cpu:"CPU",memory:"Memory"},warnings:{custom:"In order to use custom metrics with HPA, you need to deploy the custom metrics server such as prometheus adapter.",external:"In order to use external metrics with HPA, you need to deploy the external metrics server such as prometheus adapter.",noMetric:"In order to use resource metrics with HPA, you need to deploy the metrics server.",resource:"The selected target reference does not have the correct resource requests on the spec. Without this the HPA metric will have no effect."},workloadTab:{current:"Current Replicas",last:"Last Scale Time",max:"Maximum Replicas",min:"Minimum Replicas",targetReference:"Target Reference"}},import:{title:"Import YAML",defaultNamespace:{label:"Default Namespace"},success:"Applied {count, plural,\n=1 {1 Resource}\nother {# Resources}\n}"},ingress:{description:"Ingresses route incoming traffic from the internet to Services within the cluster based on the hostname and path specified in the request. You can expose multiple Services on the same external IP address and port.",certificates:{addCertificate:"Add Certificate",addHost:"Add Host",certificate:{label:"Certificate - Secret Name",doesntExist:"The selected certificate does not exist"},defaultCertLabel:"Default Ingress Controller Certificate",headers:{certificate:"Certificate",hosts:"Hosts"},host:{label:"Host",placeholder:"e.g. example.com"},label:"Certificates",removeHost:"Remove"},defaultBackend:{label:"Default Backend",noServiceSelected:"No default backend is configured.",port:{label:"Port",placeholder:"e.g. 80 or http",notInt:"Port must be an integer",required:"Port is required"},targetService:{label:"Target Service",doesntExist:"The selected service does not exist",required:"Target Service is required"},warning:"Warning: Default backend is used globally for the entire cluster."},ingressClass:{label:"Ingress Class"},rules:{addPath:"Add Path",addRule:"Add Rule",headers:{pathType:"Path Type",path:"Path",port:"Port",target:"Target Service",certificates:"Certificates"},hostname:"Hostname",path:{label:"Path",placeholder:"e.g. /foo"},port:{label:"Port",placeholder:"e.g. 80 or http"},removePath:"Remove",requestHost:{label:"Request Host",placeholder:"e.g. example.com"},target:{label:"Target Service",tooltip:"If none of the Services in this dropdown select the Pods that you need to expose, you will need to create a Service that selects those Pods first.",doesntExist:"The selected service does not exist"},title:"Rules"},rulesAndCertificates:{title:"Rules and Certificates",defaultCertificate:"default"},target:{default:"Default"},rulesOrBackendSpecified:"Either Default Backend or Rules must be specified"},internalExternalIP:{none:"None"},istio:{links:{kiali:{label:"Kiali",description:'Visualization of services within a service mesh and how they are connected. For Kiali to display data, you need Prometheus installed. If you need a monitoring solution, install {vendor} monitoring.'},jaeger:{label:"Jaeger",description:"Monitor and Troubleshoot microservices-based distributed systems."},disabled:"{app} is not installed"},cni:"Enable CNI",customOverlayFile:{label:"Custom Overlay File",tip:'The overlay file allows for additional configuration on top of the base {vendor} Istio installation. You can utilize the IstioOperator API to make changes and additions for all components and apply those changes via this overlay YAML file.'},description:'{vendor} Istio helm chart installs a minimal Istio configuration for you to get started integrating with your applications. If you would like to get additional information about Istio, visit https://istio.io/latest/docs/concepts/what-is-istio/',destinationRule:{title:{new:"Add Destination Rule",edit:"Edit Destination Rule",view:"Destination Rule: {name}"},port:{label:"Port",placeholder:"e.g. 8080 or myport"},host:{label:"Input a host",error:"Host is required."},name:{placeholder:"e.g. myrule"},loadBalancer:{title:"Load Balancer",label:"Algorithm",detail:"Configure the load balancer algorithms",simple:{label:"Use standard load balancing algorithms",roundRobin:{label:"Round Robin Policy"},leastConn:{label:"Least Request Load Balancer"},random:{label:"Random Load Balancer"},passthrough:{label:"Passthrough"}},consistentHash:{label:"Use consistent hash-based load balancing for soft session affinity",httpHeaderName:{label:"HTTP Header Name",placeholder:"e.g. end-user",error:"HTTP Header Name is required."},minimumRingSize:{label:"Minimum Ring Size",placeholder:"e.g. 1024"},httpCookie:{name:{label:"Cookie Name",placeholder:"e.g. username",error:"Cookie Name is required."},path:{label:"Cookie Path",placeholder:"e.g. /"},ttl:{label:"TTL",placeholder:"e.g. 0s",error:"TTL is required."}},mode:{label:"Hash Mode",header:{label:"Hash based on a specific HTTP header"},cookie:{label:"Hash based on HTTP cookie"},sourceIp:{label:"Hash based on the source IP address"}}}},connectionPool:{label:"Connection Pool",detail:"Configure the volume of connections to an upstream service",http1MaxPendingRequests:{label:"HTTP1 Max Pending Requests",placeholder:"e.g. 1024",help:"Maximum number of pending HTTP requests to a destination."},http2MaxRequests:{label:"HTTP2 Max Requests",placeholder:"e.g. 1024",help:"Maximum number of requests to a backend."},maxRequestsPerConnection:{label:"HTTP Max Requests Per Connection",placeholder:"e.g. 10",help:"Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive."},maxRetries:{label:"HTTP Max Retries",placeholder:"e.g. 1024",help:"Maximum number of retries that can be outstanding to all hosts in a cluster at a given time."},connectTimeout:{label:"TCP Connection Timeout",placeholder:"e.g. 30ms",help:"TCP connection timeout."},maxConnections:{label:"TCP Max Connections",placeholder:"e.g. 1024",help:"Maximum number of HTTP1 /TCP connections to a destination host."}},outlierDetection:{label:"Outlier Detection",detail:"Configure eviction of unhealthy hosts from the load balancing pool",baseEjectionTime:{label:"Base Ejection Time",placeholder:"e.g. 30s",help:"Minimum ejection duration. A host will remain ejected for a period equal to the product of minimum ejection duration and the number of times the host has been ejected."},consecutiveErrors:{label:"Consecutive Errors",placeholder:"e.g. 5",help:"Number of errors before a host is ejected from the connection pool."},interval:{label:"Interval",placeholder:"e.g. 10s",help:"Time interval between ejection sweep analysis."},maxEjectionPercent:{label:"Max Ejection Percent",placeholder:"e.g. 10",help:"Maximum % of hosts in the load balancing pool for the upstream service that can be ejected."}},subsets:{label:"Subsets",noSubsets:"No Subsets",addSubsetLabel:"Add Subset",removeSubsetLabel:"Remove Subset",name:{label:"Name",placeholder:"e.g. v1",error:"Subset Name is required."},labels:{error:"Please input at least one label for subset."}},tls:{label:"TLS",detail:"Configure TLS related settings for connections to the upstream service",mode:{label:"TLS Mode",none:{label:"NONE"},istio:{label:"Istio Mutual - Secure connections to the upstream using mutual TLS by Istio"},disable:{label:"Disable - Do not setup a TLS connection to the upstream endpoint"},simple:{label:"Simple - Originate a TLS connection to the upstream endpoint"},mutual:{label:"Mutual - Secure connections to the upstream using mutual TLS by presenting client certificates for authentication"}},clientCertificate:{label:"Client Certificate",placeholder:"e.g. /etc/certs/myclientcert.pem",error:"Client Certificate is required."},privateKey:{label:"Private Key",placeholder:"e.g. /etc/certs/client_private_key.pem",error:"Private Key is required."},caCertificates:{label:"CA Certificates",placeholder:"e.g. /etc/certs/rootcacerts.pem"},sni:{label:"SNI",placeholder:"e.g. nginx.example.com"},subjectAltNames:{label:"Subject Alternative Names",placeholder:"e.g. example.com",add:"Add Subject Alternative Name"}}},egressGateway:"Enable Egress Gateway",ingressGateway:"Enable Ingress Gateway",istiodRemote:"Enable istiodRemote",kiali:"Enable Kiali",pilot:"Enable Pilot",policy:"Enable Policy",pilotRequired:"Pilot must be enabled in order to enable Kiali",poweredBy:'Powered by Istio',telemetry:"Enable Telemetry",titles:{components:"Components",customAnswers:"Custom Answers",advanced:"Advanced Settings",description:"Description"},tracing:"Enable Jaeger Tracing (limited)",v1Warning:"Please uninstall the current Istio version in the istio-system namespace before attempting to install this version."},jwt:{title:"JWT Authentication",actions:{activate:"Enable",deactivate:"Disable",refresh:"Refresh"},state:{enabled:"Enabled",disabled:"Disabled"},headers:{clusterName:"Cluster Name",updatedOn:"JWT Enabled On",clusterAge:"Cluster Age"}},labels:{addLabel:"Add Label",addSetLabel:"Add/Set Label",addTag:"Add Tag",addTaint:"Add Taint",addAnnotation:"Add Annotation",labels:{title:"Labels",description:"Key/value pairs that are attached to objects which specify identifying attributes.",fleetClusterTooltip:"Label changes are made to the Management Cluster and synchronized to the Fleet Cluster",show:"Show System Labels and Annotations",hide:"Hide System Labels and Annotations"},annotations:{title:"Annotations"}},labelSelect:{noOptions:{empty:"No options",noMatch:"No matching options"},pagination:{counts:"{count} / {totalCount} items",more:"Load More..."}},landing:{clusters:{title:"Clusters",provider:"Provider",distro:"Distro",kubernetesVersion:"Kubernetes Version",architecture:"Architecture",explorer:"Explorer",explore:"Explore",cores:"{count, plural,\n=1 {core}\nother {cores}}",cpuUsed:"CPU Used",memoryUsed:"Memory Used"},seeWhatsNew:"Learn more about the improvements and new capabilities in this version.",whatsNewLink:"What's new in 2.9",learnMore:"Learn More",support:"Support",community:{title:"Community Support",docs:"Docs",forums:"Forums"},commercial:{title:"Commercial Support",body:"Learn about commercial support"},landingPrefs:{title:"You can change what you see when you login via preferences",userPrefs:"Preferences",body:"You can change where you land when you login",options:{homePage:"Take me to the home page",lastVisited:"Take me to the area I last visited",custom:"Take me to cluster:"}},welcomeToRancher:"Welcome to {vendor}"},logging:{clusterFlow:{noOutputsBanner:"There are no cluster outputs in the selected namespace."},flow:{clusterOutputs:{doesntExistTooltip:"This cluster output doesn't exist",label:"Cluster Outputs"},matches:{banner:"Configure which container logs will be pulled from",unsupportedConfig:"This resource contains a match configuration that the form editor does not support. Please use YAML edit.",label:"Matches",addSelect:"Add Include Rule",addExclude:"Add Exclude Rule",pods:{title:{include:"Include Pods",exclude:"Exclude Pods"},keyLabel:"Pod Label Key",valueLabel:"Pod Label Value",addLabel:"Add Pod"},nodes:{title:{include:"Limit to specific nodes",exclude:"Exclude specific nodes"},placeholder:"Default: Any node"},containerNames:{title:{include:"Limit to specific container names",exclude:"Exclude specific container names"},placeholder:"Default: Any container",enter:"Enter container name to select"},namespaces:{title:{include:"Limit to specific namespaces",exclude:"Exclude specific namespaces"},placeholder:"Default: Any namespace"}},filters:{label:"Filters"},outputs:{doesntExistTooltip:"This output doesn't exist",sameNamespaceError:"Output must reside in same namespace as the flow.",label:"Outputs"}},install:{k3sContainerEngine:"K3S Container Engine",enableAdditionalLoggingSources:"Enable enhanced cloud provider logging",dockerRootDirectory:"Docker Root Directory",systemdLogPath:"systemd Log Path",tooltip:"Some kubernetes distributions log to journald. In order to collect these logs the systemdLogPath needs to be defined. While the /run/log/journal directory is used by default, some Linux distributions do not default to this path.",url:'Learn more',default:"/run/log/journal"},elasticsearch:{host:"Host",scheme:"Scheme",port:"Port",indexName:"Index Name",user:"User",password:"Password from Secret",caFile:{label:"CA File from Secret"},clientCert:{label:"Client Cert from Secret",placeholder:"Paste in the CA certificate"},clientKey:{label:"Client Key from Secret",placeholder:"Paste in the client key"},clientKeyPass:"Client Key Pass from Secret",verifySsl:"Verify SSL",sslVersion:"SSL Version",suppressTypeName:{label:"Suppress Type Names",elasticSearchTips:"Suppress type names by default to be compatible with log server. You should enable it for Elasticsearch >= 8.0.0",openSearchTips:"Suppress type names by default to be compatible with log server. You should enable it for OpenSearch >= 2.0.0"}},redis:{host:"Host",port:"Port",dbNumber:"Redis database number",ttl:"TTL for each key",password:"Password from Secret",format:{title:"Format",type:"Type"}},gelf:{host:"Host",port:"Port",protocol:"Protocol",tls:"Enable TLS",tlsOptions:{clientCert:"Client Cert",clientKey:"Client Cert Key",allCiphers:"Allow any ciphers to be used",tlsVersion:"TLS version",noVerify:"Skip TLS verification"}},kafka:{brokers:"Brokers",defaultTopic:"Default Topic",saslOverSsl:"SASL Over SSL",scramMechanism:"Scram Mechanism",username:"Username from Secret",password:"Password from Secret",sslCaCert:{label:"CA Cert from Secret",placeholder:"Paste in the CA certificate"},sslClientCert:{label:"Cert from Secret",placeholder:"Paste in the client cert"},sslClientCertChain:{label:"Cert Chain from Secret",placeholder:"Paste in the client cert chain"},sslClientCertKey:"Cert Key from Secret"},loki:{url:"URL",urlInvalid:"Incorrect URL format. Please check and correct your URL format before saving.",tenant:"Tenant",username:"User from Secret",password:"Password from Secret",configureKubernetesLabels:"Configure Kubernetes metadata in a Prometheus like format",extractKubernetesLabels:"Extract Kubernetes labels as Loki labels",dropSingleKey:"If a record only has 1 key, then just set the log line to the value and discard the key",caCert:"CA Cert from Secret",cert:"Cert from Secret",key:"Key from Secret"},awsElasticsearch:{url:"URL",keyId:"Key Id from Secret",secretKey:"Secret Key from Secret"},azurestorage:{storageAccount:"Account from Secret",accessKey:"Access Key from Secret",container:"Container",path:"Path",storeAs:"Store As"},cloudwatch:{keyId:"Key Id from Secret",secretKey:"Secret Key from Secret",endpoint:"Endpoint",region:"Region",logGroupName:"Log Group Name",logStreamName:"Log Stream Name"},datadog:{apiKey:"API Key from Secret",useSSL:"Use SSL",useCompression:"Use Compression",host:"Host"},file:{path:"Path"},gcs:{project:"Project",credentialsJson:"Credentials from Secret",bucket:"Bucket",path:"Path",overwriteExistingPath:"Overwrite Existing Path"},kinesisStream:{streamName:"Stream Name",keyId:"Key Id from Secret",secretKey:"Secret Key from Secret"},logdna:{apiKey:"API Key",hostname:"Hostname",app:"App"},logz:{url:"URL",port:"Port",token:"Api Token from Secret",enableCompression:"Enable Compression"},newrelic:{apiKey:"API Key from Secret",licenseKey:"License Key from Secret",baseURI:"Base URI"},sumologic:{endpoint:"Endpoint from Secret",sourceName:"Source Name"},syslog:{host:"Host",port:"Port",transport:"Transport",insecure:"insecure",trustedCaPath:"CA Path from Secret",format:{title:"Format",type:"Type",addNewLine:"Add New Line",messageKey:"Message Key"},buffer:{title:"Buffer",tags:"Tags",chunkLimitSize:"Chunk Limit Size",chunkLimitRecords:"Chunk Limit chunkLimitRecords",totalLimitSize:"Total Limit Size",flushInterval:"Flush Interval",timekey:"Timekey",timekeyWait:"Timekey Wait",timekeyUseUTC:"Timekey Use UTC"}},s3:{keyId:"Key Id from Secret",secretKey:"Secret Key from Secret",endpoint:"Endpoint",bucket:"Bucket",path:"Path",overwriteExistingPath:"Overwrite Existing Path"},output:{buffer:{label:"Output Buffer"},selectOutputs:"Select Outputs",selectBanner:"Select to configure an output",sections:{target:"Target",access:"Access",certificate:"Connection",labels:"Labels",configuration:"Configuration"}},outputProviders:{elasticsearch:"Elasticsearch",opensearch:"OpenSearch",redis:"Redis",splunkHec:"Splunk",kafka:"Kafka",forward:"Fluentd",gelf:"GELF",loki:"Loki",awsElasticsearch:"Amazon Elasticsearch",azurestorage:"Azure Storage",cloudwatch:"Cloudwatch",datadog:"Datadog",file:"File",gcs:"GCS",kinesisStream:"Kinesis Stream",logdna:"LogDNA",logz:"LogZ",newrelic:"New Relic",sumologic:"SumoLogic",syslog:"Syslog",s3:"S3",unknown:"Unknown"},overview:{poweredBy:"Banzai Cloud",clusterLevel:"Cluster-Level",namespaceLevel:"Namespace-Level"},provider:"Provider",splunk:{host:"Host",port:"Port",protocol:"Protocol",index:"Index",token:"Token from Secret",insecureSsl:"Insecure SSL",indexName:"Index Name",source:"Source",caFile:"CA File from Secret",caPath:"CA Path from Secret",clientCert:"Client Cert from Secret",clientKey:"Client Key from Secret"},forward:{host:"Host",port:"Port",sharedKey:"Shared Key from Secret",username:"Username from Secret",password:"Password from Secret",clientCertPath:"Client Cert Path from Secret",clientPrivateKeyPath:"Client Private Key Path from Secret",clientPrivateKeyPassphrase:"Client Private Key Passphrase from Secret"}},longhorn:{overview:{title:"Overview",subtitle:"Powered By: Longhorn",linkedList:{longhorn:{label:"Longhorn",description:"Manage storage system via UI",na:"Resource Unavailable",uiServiceUnavailable:"The Longhorn UI service is not available or you do not have permission to access it."}}}},neuvector:{overview:{title:"Overview",subtitle:"Powered by: NeuVector",linkedList:{neuvector:{label:"NeuVector",description:"Full Lifecycle Container Security",na:"Resource Unavailable"}}}},login:{howdy:"Howdy!",welcome:"Welcome to {vendor}",loggedOut:"You have been logged out.",loggedOutFromSso:"You've been logged out of Rancher, however you may still be logged in to your single sign-on identity provider.",loggedOutFromSlo:"You've been logged out of Rancher and from your single sign-on identity provider.",loginAgain:"Log in again to continue.",serverError:{authFailedCreds:"Logging in failed: Check credentials, or your account may not be authorized to log in.",authFailed:"Logging in failed: Your account may not be authorized to log in.",unknown:"An unknown error occurred while attempting to login. Please contact your system administrator.",invalidSamlAttrs:"Invalid saml attributes",noResponse:"No response received"},error:"An error occurred logging in. Please try again.",clientError:"Invalid username or password. Please try again.",specificError:"An error occurred logging in: {msg}",useLocal:"Use a local user",loginWithProvider:"Log in with {provider}",username:"Username",password:"Password",loggingIn:"Logging in...",loggedIn:"Logged in",loginWithLocal:"Log in with Local User",useProvider:"Use a {provider} user",useNonLocal:"Use a non-local user",remember:{label:"Remember Username"}},logout:{message:"Logging Out...",error:"An error occurred logging out: {msg}",specificError:{500:"Server-side error.\n\nPlease contact your system administrator.",unknown:"Unknown.\\n\\nPlease contact your system administrator."}},managementNode:{customName:"Custom Name"},members:{clusterMembers:"Cluster Members",clusterAndProject:"Cluster and Project Members",createActionLabel:"Add",clusterMembership:"Cluster Membership",projectMembership:"Project Membership",clusterPermissions:{noDescription:"User created - no description",label:"Cluster Permissions",description:"Controls what access users have to the Cluster",createProjects:"Create Projects",manageClusterBackups:"Manage Cluster Backups",manageClusterCatalogs:"Manage Cluster Catalogs",manageClusterMembers:"Manage Cluster Members",manageNavlinks:"Manage Navlinks",manageNodes:"Manage Nodes",manageStorage:"Manage Storage",viewAllProjects:"View All Projects",viewClusterCatalogs:"View Cluster Catalogs",viewClusterMembers:"View Cluster Members",viewNodes:"View Nodes",owner:{label:"Owner",description:"Owners have full control over the Cluster and all resources inside it."},member:{label:"Member",description:"Members can manage the resources inside the Cluster but not change the Cluster itself."},custom:{label:"Custom",description:"Choose individual roles for this user.",lockedRole:"This role is locked."}},localClusterWarning:"Caution: This is the cluster that Rancher is using as a data store. Only administrators should be given write access to this cluster. Users with write access to this cluster can use it to grant themselves access to any part of this installation.",noRolesAssigned:"There are no users assigned to this project."},membershipEditor:{label:"Members",user:"User",role:"Role"},monitoring:{accessModes:{many:"ReadWriteMany",once:"ReadWriteOnce",readOnlyMany:"ReadOnlyMany"},aggregateDefaultRoles:{label:"Aggregate to Default Kubernetes Roles",tip:'Adds labels to the ClusterRoles deployed by the Monitoring chart to aggregate to the corresponding default k8s admin, edit, and view ClusterRoles.'},alerting:{config:{label:"Alert Manager Config"},enable:{label:"Deploy Alertmanager"},secrets:{additional:{info:"Secrets should be mounted at
    /etc/alertmanager/secrets/
    ",label:"Additional Secrets"},existing:"Choose an existing config secret",info:"Create default config:
    A Secret containing your Alertmanager Config will be created in the
    cattle-monitoring-system
    namespace on deploying this chart under the name
    alertmanager-rancher-monitoring-alertmanager
    . By default, this Secret will never be modified on an uninstall or upgrade of this chart.

    \nOnce you have deployed this chart, you should edit the Secret via the UI in order to add your custom notification configurations that will be used by Alertmanager to send alerts.

    \nChoose an existing config secret:
    You must specify a Secret that exists in the
    cattle-monitoring-system
    namespace. If the namespace does not exist, you will not be able to select an existing secret.\n",label:"Alertmanager Secret",new:"Create default config",radio:{label:"Config Secret"}},validation:{duplicatedReceiverName:"A receiver with the name {name} already exists."},templates:{keyLabel:"File Name",label:"Template Files",valueLabel:"YAML Template"},title:"Configure Alertmanager"},clusterType:{label:"Cluster Type",placeholder:"Select cluster type"},createDefaultRoles:{label:"Create Default Monitoring Cluster Roles",tip:"Creates monitoring-admin, monitoring-edit, and monitoring-view ClusterRoles that can be assigned to users to provide permissions to CRDs installed by the Monitoring chart."},etcdNodeDirectory:{label:"etcd Node Certificate Directory",tooltip:"For clusters that use RancherOS for the etcd nodes, this option should be set to
    /opt/rke/etc/kubernetes/ssl
    . Hybrid environments that require specifying multiple certificate directories (e.g. an etcd plane composed of both RancherOS and Ubuntu hosts) are not supported."},grafana:{storage:{annotations:"PVC Annotations",className:"Storage Class Name",existingClaim:"Use Existing Claim",finalizers:"PVC Finalizers",label:"Grafana Storage",mode:"Access Mode",selector:"Selector",size:"Size",subpath:"Use Subpath",type:"Persistent Storage Types",types:{existing:"Enable With Existing PVC",statefulset:"Enable with StatefulSet Template",template:"Enable with PVC Template"},volumeName:"Volume Name"},title:"Configure Grafana"},hostNetwork:{label:"Use Host Network For Prometheus Operator",tip:"If you are using a managed Kubernetes cluster with custom CNI (e.g. Calico), you must enable this option to allow a managed control plane to contact the admission webhook exposed by Prometheus Operator to mutate or validate incoming PrometheusRules."},overview:{alertsList:{ends:{label:"Ends At"},label:"Active Alerts",message:{label:"Message"},severity:{label:"Severity"},start:{label:"Starts At"}},linkedList:{alertManager:{description:"Active Alerts",label:"Alertmanager"},grafana:{description:"Metrics Dashboards",label:"Grafana"},na:"Resource Unavailable",prometheusPromQl:{description:"PromQL Graph",label:"Prometheus Graph"},prometheusRules:{description:"Configured Rules",label:"PrometheusRules"},prometheusTargets:{description:"Configured Targets",label:"Prometheus Targets"}},subtitle:'Powered By: Prometheus',title:"Dashboard"},prometheus:{config:{adminApi:"Admin API",evaluation:"Evaluation Interval",ignoreNamespaceSelectors:{help:"Ignoring Namespace Selectors allows Cluster Admins to limit teams from monitoring resources outside of namespaces they have permissions to but can break the functionality of Apps that rely on setting up Monitors that scrape targets across multiple namespaces, such as Istio.",label:"Namespace Selectors",radio:{enforced:"Use: Monitors can access resources based on namespaces that match the namespace selector field",ignored:"Ignore: Monitors can only access resources in the namespace they are deployed in"}},limits:{cpu:"CPU Limit",memory:"Memory Limit"},requests:{cpu:"Requested CPU",memory:"Requested Memory"},resourceLimits:"Resource Limits",retention:"Retention",retentionSize:"Retention Size",scrape:"Scrape Interval"},storage:{className:"Storage Class Name",label:"Persistent Storage for Prometheus",mode:"Access Mode",selector:"Selector",selectorWarning:"If you are using a dynamic provisioner (e.g. Longhorn), no Selectors should be specified since a PVC with a non-empty selector can't have a PV dynamically provisioned for it.",size:"Size",volumeName:"Volume Name"},title:"Configure Prometheus",warningInstalled:"Warning: Prometheus Operators are currently deployed. Deploying multiple Prometheus Operators onto one cluster is not currently supported. Please remove all other Prometheus Operator deployments from this cluster before trying to install this chart.\nIf you are migrating from an older version of {vendor} with Monitoring enabled, please disable Monitoring on this cluster completely before attempting to install this chart.\n"},receiver:{addReceiver:"Add Receiver",fields:{name:"Name"},tls:{label:"SSL",caFilePath:{label:"CA File Path",placeholder:"e.g. ./ca-file.csr"},certFilePath:{label:"Cert File Path",placeholder:"e.g. ./cert-file.crt"},keyFilePath:{label:"Key File Path",placeholder:"e.g. ./key-file.pfx"},secretsBanner:'The file paths below must be referenced in
    alertmanager.alertmanagerSpec.secrets
    when deploying the Monitoring chart. For more information see our documentation.'}},projectMonitoring:{detail:{error:"Unable to fetch Dashboard values with status: "},list:{banner:"Project Monitoring Configuration is stored in ProjectHelmChart resources",empty:{message:"Project Monitoring has not been configured for any projects",canCreate:"Get started by clicking Create to add monitoring to a project",cannotCreate:"Contact the admin to add project monitoring"}}},route:{label:"Route",fields:{groupBy:"Group By",groupInterval:"Group Interval",groupWait:"Group Wait",receiver:"Receiver",repeatInterval:"Repeat Interval"}},routesAndReceivers:"Routes and Receivers (Deprecated)",monitors:"Monitors",projectMonitors:"Project Monitoring",alertmanagerConfig:{description:"Routes and receivers for project alerting and cluster alerting are configured within AlertmanagerConfig resources.",empty:"Alerts have not been configured for any accessible namespaces.",getStarted:"Get started by clicking Create to configure an alert.",receiverTooltip:"This route will direct alerts to the selected receiver, which must be defined in the same AlertmanagerConfig.",deprecationWarning:"The Route and Receiver resources are deprecated. Going forward, routes and receivers should not be managed as separate Kubernetes resources on this page. They should be configured as YAML fields in an AlertmanagerConfig resource.",routeInfo:"This form supports configuring one route that directs traffic to a receiver. Alerts can be directed to more receiver(s) by configuring child routes in YAML.",receiverFormNames:{create:"Create Receiver in AlertmanagerConfig",edit:"Edit Receiver in AlertmanagerConfig",editYaml:"Edit AlertmanagerConfig",detail:"Receiver in AlertmanagerConfig"},disabledReceiverButton:"The receiver form is available after the AlertmanagerConfig is created",error:"An error occurred saving the AlertmanagerConfig",email:{username:"Auth Username",password:"Secret with Auth Password"},slack:{apiUrl:"Secret with Slack Webhook URL"},pagerDuty:{routingKey:"Secret with Routing Key",serviceKey:"Secret with Service Key"},opsgenie:{apiKey:"Secret with API Key"},webhook:{url:"URL",urlSecret:"URL Secret",urlSecretTooltip:"urlSecret takes precedence over url. One of urlSecret and url should be defined."},auth:{bearerTokenSecret:"Bearer Token Secret",basicAuthUsername:"Secret with Basic Auth Username",basicAuthPassword:"Secret with Basic Auth Password"}},tabs:{alerting:"Alerting",general:"General",grafana:"Grafana",prometheus:"Prometheus",projectMetrics:"Project Metrics"},v1Warning:"Monitoring is currently deployed from Cluster Manager. If you are migrating from an older version of {vendor} with monitoring enabled, please disable monitoring in Cluster Manager before attempting to install the new {vendor} Monitoring chart in Cluster Explorer."},monitoringReceiver:{addButton:"Add {type}",custom:{label:"Custom",title:"Custom Config",info:"The YAML provided here will be directly appended to your receiver within the Alertmanager Config Secret."},email:{label:"Email",title:"Email Config"},opsgenie:{label:"Opsgenie",title:"Opsgenie Config"},pagerduty:{label:"PagerDuty",title:"PagerDuty Config",info:"You can find additional info on creating an Integration Key for PagerDuty here."},slack:{label:"Slack",title:"Slack Config",info:"You can find additional info on creating Incoming Webhooks for Slack here ."},webhook:{label:"Webhook",title:"Webhook Config",urlTooltip:"For some webhooks this a url that points to the service DNS",modifyNamespace:'If
    rancher-alerting-drivers
    default values were changed, please update the url below in the format http://<new_service_name>.<new_namespace>.svc.<port>/<path>',banner:'To use MS Teams or SMS you will need to have at least one instance of
    rancher-alerting-drivers
    installed first.',add:{selectWebhookType:"Select Webhook Type",generic:"Generic",msTeams:"MS Teams",alibabaCloudSms:"SMS"}},auth:{label:"Auth",authType:"Auth Type",username:"Username",password:"Password",none:{label:"None"},bearerToken:{label:"Bearer Token",placeholder:"e.g. secret-token"},basicAuth:{label:"Basic Auth"},bearerTokenFile:{label:"Bearer Token File",placeholder:"e.g. ./user_token"}},tls:{ca:"Secret with CA",cert:"Secret with Client Cert",key:"Secret with Client Key",serverName:"Server Name",serverNameTooltip:"Used to verify the hostname for the targets."},shared:{proxyUrl:{label:"Proxy URL",placeholder:"e.g. http://my-proxy/"},sendResolved:{label:"Enable send resolved alerts"}}},alertmanagerConfigReceiver:{secretKeyId:"Key Id from Secret",name:"Receiver Name",addButton:"Add Receiver",receivers:"Receivers",namespaceWarning:"Could not render the secret selector because no namespace was found to get secrets from.",receiverTypes:"The following receiver types can be edited in forms: Email, Slack, PagerDuty, Opsgenie and Webhook. For other receiver types, edit the AlertmanagerConfig YAML.",slack:{webhookUrl:"Webhook URL",apiUrlTooltip:"The secret's key that contains the Slack webhook URL. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator."}},monitoringRoute:{groups:{label:"Group By",addGroupByLabel:"Labels to Group Alerts By",groupByTooltip:"Add each label as a string in the format key:value. The special label ... will aggregate by all possible labels. If provided, the ... must be the only element in the list."},info:"This is the top-level Route used by Alertmanager as the default destination for any Alerts that do not match any other Routes. This Route must exist and cannot be deleted.",interval:{label:"Group Interval"},matching:{info:"The root route has to match everything so matching cannot be configured.",label:"Match",addMatcher:"Add Matcher",matchType:"Match Type",name:"Name",nameTooltip:"Label to match",value:"Value",valueTooltip:"Label value to match"},receiver:{type:"Receiver Type",add:"Add Receiver",label:"Receiver",oneOrMoreLabel:"One or More Receivers",addMatch:"Add match"},regex:{label:"Match Regex"},repeatInterval:{label:"Repeat Interval"},wait:{label:"Group Wait"}},moveModal:{title:"Move to a new project?",description:"You are moving the following namespaces:",moveButtonLabel:"Move",targetProject:"Target Project"},nameNsDescription:{name:{label:"Name",placeholder:"A unique name"},namespace:{label:"Namespace",placeholder:""},workspace:{label:"Workspace",placeholder:null},description:{label:"Description",placeholder:"Any text you want that better describes this resource"}},namespace:{containerResourceLimit:"Container Resource Limit",resourceQuotas:"Resource Quotas",project:{label:"Project",none:"(None)"},resources:"Resources",enableAutoInjection:"Enable Istio Auto Injection",disableAutoInjection:"Disable Istio Auto Injection",move:"Move",total:"Total",workloads:"Workloads",label:"Namespace",selectNamespace:"Select Namespace",createNamespace:"Create a new Namespace",selectOrCreate:"Select or Create a Namespace",resourceStates:{success:"Active",info:"Transitioning",warning:"Warning",error:"Error",unknown:"Unknown",paused:{stateName:"Inactive",shortDescription:"Deployment is paused",longDescription:"Deployment is paused. Pausing stops the controller from deploying revisions."}}},namespaceFilter:{noMatchingOptions:"No matching options",more:"+{more}",selected:{label:"{total, plural,\none {1 item selected}\nother {{total} items selected}\n}"}},namespaceList:{selectLabel:"Namespace",addLabel:"Add Namespace"},navLink:{name:{label:"Name",placeholder:"e.g. foo-bar"},label:{label:"Display name",placeholder:"Text displayed for the link"},tabs:{link:{label:"Link type",type:{label:"Link type",service:"Link to service",url:"Link to URL"},toURL:{label:"Destination URL",placeholder:"e.g. https://rancher.com"},toService:{service:{label:"Service (namespace/name)",placeholder:"e.g. cattle-system/rancher-webhook"},path:{label:"Path",placeholder:"e.g. proxy/?orgId=1"},port:{label:"Port",placeholder:"e.g. 80"},scheme:{label:"Scheme",placeholder:"e.g. http"}}},target:{label:"Window target",option:{blank:"New window",self:"Replace window",named:"Custom named window"},namedValue:{label:"Window name"}},group:{label:"Group",group:{label:"Group name",tooltip:"Assign link to a group"},sideLabel:{label:"Link label"},description:{label:"Link description"}},groupImage:{label:"Group Image",iconSrc:{tip:"Image height should be 21 pixels with a max width of 200 pixels. Max file size is 20KB. Accepted formats: JPEG, PNG, SVG.",label:"Add image"}}}},networkpolicy:{egress:{label:"Egress Rules",enable:"Configure egress rules to restrict outgoing traffic",ruleLabel:"Targets",ruleHint:"Outgoing traffic is only allowed to the configured targets",portHint:"Outgoing traffic is only allowed to connect to the configured ports"},ingress:{label:"Ingress Rules",enable:"Configure ingress rules to restrict incoming traffic",ruleLabel:"Sources",ruleHint:"Incoming traffic is only allowed from the configured sources",portHint:"Incoming traffic is only allowed to connect to the configured ports"},labelsAnnotations:{label:"Labels & Annotations"},rules:{pod:"Pod",namespace:"Namespace",ruleLabel:"Rule {index}",addPort:"Add allowed port",type:"Rule type",ingress:{add:"Add allowed traffic source"},egress:{add:"Add allowed traffic target"},ports:{label:"Allowed ports",port:{label:"Port",placeholder:"e.g. 8080"},protocol:"Protocol"},ipBlock:{label:"IP block",exceptions:"Exceptions",cidr:{label:"CIDR",placeholder:"e.g. 1.1.1.0/24"},addExcept:"Add exception",invalidCidr:"Invalid CIDR",invalidExceptionCidrs:"Invalid Exceptions: "},podSelector:{label:"Pod Selector"},namespaceSelector:{label:"Namespace Selector"},namespaceAndPodSelector:{label:"Namespace/Pod Selector"}},config:{label:"Configuration"},selectors:{label:"Selectors",hint:"The NetworkPolicy is applied to the selected Pods",matchingPods:{matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number} pods}\n =1 {Matches 1 of {total, number} pods: "{sample}"}\n other {Matches {matched, number} of {total, number} existing pods, including "{sample}"}\n}'},matchingNamespaces:{matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number} namespaces}\n =1 {Matches 1 of {total, number} namespaces: "{sample}"}\n other {Matches {matched, number} of {total, number} existing namespaces, including "{sample}"}\n}'},matchingNamespacesAndPods:{tooltip:"A single entry rule that specifies both Namespace Selector and Pod Selector that selects particular Pods within particular namespaces",matchesSome:'{matchedPods, plural,\n =0 {Matches 0 of {totalPods, number} pods}\n =1 {Matches 1 of {totalPods, number} pods: "{samplePods}"}\n other {Matches {matchedPods, number} of {totalPods, number} existing pods, including "{samplePods}"}\n} in {matchedNamespaces, plural,\n =0 {0 of {totalNamespaces, number} namespaces}\n =1 {1 of {totalNamespaces, number} namespaces: "{sampleNamespaces}"}\n other {{matchedNamespaces, number} of {totalNamespaces, number} existing namespaces, including "{sampleNamespaces}"}\n}'}}},node:{list:{pool:"Pool",noNodes:"This pool is empty",nodeTaint:"Taints",scaleDown:"Scale Pool Down",scaleUp:"Scale Pool Up",poolDescription:{noSize:"No Size",noLocation:"No Location"},nodeLabels:"Labels",hideLabels:"Show less",showLabels:"Show more"},detail:{detailTop:{containerRuntime:"Container Runtime",internalIP:"Internal IP",externalIP:"External IP",os:"OS",version:"Version"},glance:{consumptionGauge:{used:"Used",amount:"{used} of {total} {unit}",cpu:"CPU",memory:"MEMORY",pods:"PODS"},diskPressure:"Disk Pressure",kubelet:"kubelet",memoryPressure:"Memory Pressure",pidPressure:"PID Pressure"},tab:{conditions:"Conditions",images:"Images",metrics:"Metrics",info:{label:"Info",key:{architecture:"Architecture",bootID:"Boot ID",containerRuntimeVersion:"Container Runtime Version",kernelVersion:"Kernel Version",kubeProxyVersion:"Kube Proxy Version",kubeletVersion:"Kubelet Version",machineID:"Machine ID",operatingSystem:"Operating System",osImage:"Image",systemUUID:"System UUID"}},pods:"Pods",taints:"Taints"}},actions:{downloadSSHKey:"Download SSH Key",downloadNodeConfig:"Download Keys",scaleDown:"Scale Down",forceDelete:"Force Delete"}},persistentVolume:{pluginConfiguration:{label:"Plugin configuration"},plugin:{label:"Volume Plugin",inTree:"in-tree plugin",unsupported:"(Unsupported)"},capacity:{label:"Capacity"},customize:{label:"Customize",affinity:{label:"Node Selectors",addLabel:"Add Node Selector"},assignToStorageClass:{label:"Assign to Storage Class"},mountOptions:{label:"Mount Options",addLabel:"Add Option"},accessModes:{label:"Access Modes",readWriteOnce:"Single Node Read-Write",readOnlyMany:"Many Nodes Read-Only",readWriteMany:"Many Nodes Read-Write"}},shared:{partition:{label:"Partition",placeholder:"e.g. 1; 0 for entire device"},readOnly:{label:"Read Only"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},secretName:{label:"Secret Name",placeholder:"e.g. secret"},secretNamespace:{label:"Secret Namespace",placeholder:"e.g. default"},monitors:{add:"Add Monitor"}},vsphereVolume:{label:"VMWare vSphere Volume",volumePath:{label:"Volume Path",placeholder:"e.g. /"},storagePolicyName:{label:"Storage Policy Name",placeholder:"e.g. sp"},storagePolicyId:{label:"Storage Policy ID",placeholder:"e.g. sp1"}},csi:{label:"CSI",suffix:"(CSI)",driver:{label:"Driver",placeholder:"e.g. driver.longhorn.io"},volumeHandle:{label:"Volume Handle",placeholder:"e.g. pvc-xxxx"},volumeAttributes:{add:"Add Volume Attribute"},nodePublishSecretName:{label:"Node Publish Secret Name",placeholder:"e.g. secret"},nodePublishSecretNamespace:{label:"Node Publish Secret Namespace",placeholder:"e.g. default"},nodeStageSecretName:{label:"Node Stage Secret Name",placeholder:"e.g. secret"},nodeStageSecretNamespace:{label:"Node Stage Secret Namespace",placeholder:"e.g. default"},controllerExpandSecretName:{label:"Controller Expand Secret Name",placeholder:"e.g. secret"},controllerExpandSecretNamespace:{label:"Controller Expand Secret Namespace",placeholder:"e.g. default"},controllerPublishSecretName:{label:"Controller Publish Secret Name",placeholder:"e.g. secret"},controllerPublishSecretNamespace:{label:"Controller Publish Secret Namespace",placeholder:"e.g. default"},drivers:{"disk-csi-azure-com":"Azure Disk (CSI)","file-csi-azure-com":"Azure File (CSI)","driver-longhorn-io":"Longhorn (CSI)","driver-harvesterhci-io":"Harvester (CSI)","nfs-csi-k8s-io":"NFS (CSI)","ebs-csi-aws-com":"AWS Elastic Block Store (CSI)","rbd-csi-ceph-com":"Ceph RBD (CSI)","org-gluster-glusterfs":"GlusterFS (CSI)","pd-csi-storage-gke-io":"GCE Persistent Disk (CSI)","cinder-csi-openstack-org":"Cinder (CSI)","pxd-portworx-com":"Portworx (CSI)","quobyte-csi":"Quobyte (CSI)",storageos:"StorageOS (CSI)","csi-vsphere-vmware-com":"vSphere (CSI)"}},cephfs:{label:"Ceph Filesystem (Unsupported)",path:{label:"Path",placeholder:"e.g. /var"},user:{label:"User",placeholder:"e.g. root"},secretFile:{label:"Secret File",placeholder:"e.g. secret"}},rbd:{label:"Ceph RBD (Unsupported)",user:{label:"User",placeholder:"e.g. root"},keyRing:{label:"Key Ring",placeholder:"e.g. /etc/ceph/keyring"},pool:{label:"Pool",placeholder:"e.g. rbd"},image:{label:"Image",placeholder:"e.g. image"}},fc:{label:"Fibre Channel (Unsupported)",targetWWNS:{add:"Add Target WWN"},wwids:{add:"Add WWID"},lun:{label:"Lun",placeholder:"e.g. 2"}},flexVolume:{label:"Flex Volume (Unsupported)",driver:{label:"Driver",placeholder:"e.g. driver"},options:{add:"Add Option"}},flocker:{label:"Flocker (Unsupported)",datasetName:{label:"Dataset Name",placeholder:"e.g. dataset"},datasetUUID:{label:"Dataset UUID",placeholder:"e.g. uuid"}},glusterfs:{label:"Gluster Volume (Unsupported)",endpoints:{label:"Endpoints",placeholder:"e.g. glusterfs-cluster"},path:{label:"Path",placeholder:"e.g. kube-vol"}},iscsi:{label:"iSCSI Target (Unsupported)",initiatorName:{label:"Initiator Name",placeholder:"iqn.1994-05.com.redhat:1df7a24fcb92"},iscsiInterface:{label:"iSCSI Interface",placeholder:"e.g. interface"},chapAuthDiscovery:{label:"Chap Auth Discovery"},chapAuthSession:{label:"Chap Auth Session"},iqn:{label:"IQN",placeholder:"iqn.2001-04.com.example:storage.kube.sys1.xyz"},lun:{label:"Lun",placeholder:"e.g. 2"},targetPortal:{label:"Target Portal",placeholder:"e.g. portal"},portals:{add:"Add Portal"}},cinder:{label:"Openstack Cinder Volume (Unsupported)",volumeId:{label:"Volume ID",placeholder:"e.g. vol"}},quobyte:{label:"Quobyte Volume (Unsupported)",volume:{label:"Volume",placeholder:"e.g. vol"},user:{label:"User",placeholder:"e.g. root"},group:{label:"Group",placeholder:"e.g. abc"},registry:{label:"Registry",placeholder:"e.g. abc"}},photonPersistentDisk:{label:"Photon Volume (Unsupported)",pdId:{label:"PD ID",placeholder:"e.g. abc"}},portworxVolume:{label:"Portworx Volume (Unsupported)",volumeId:{label:"Volume ID",placeholder:"e.g. abc"}},scaleIO:{label:"ScaleIO Volume (Unsupported)",volumeName:{label:"Volume Name",placeholder:"e.g. vol-0"},gateway:{label:"Gateway",placeholder:"e.g. https://localhost:443/api"},protectionDomain:{label:"Protection Domain",placeholder:"e.g. pd01"},storageMode:{label:"Storage Mode",placeholder:"e.g. ThinProvisioned"},storagePool:{label:"Storage Pool",placeholder:"e.g. sp01"},system:{label:"System",placeholder:"e.g. scaleio"},sslEnabled:{label:"SSL Enabled"}},storageos:{label:"StorageOS (Unsupported)",volumeName:{label:"Volume Name",placeholder:"e.g. vol"},volumeNamespace:{label:"Volume Namespace",placeholder:"e.g. default"}},nfs:{label:"NFS Share",path:{label:"Path",placeholder:"e.g. /var"},server:{label:"Server",placeholder:"e.g. 10.244.1.4"}},longhorn:{label:"Longhorn",volumeHandle:{label:"Volume Handle",placeholder:"e.g. pvc-xxxx"},options:{label:"Options",addLabel:"Add"}},local:{label:"Local",path:{label:"Path",placeholder:"e.g. /mnt/disks/ssd1"}},hostPath:{label:"HostPath",pathOnTheNode:{label:"Path on the Node",placeholder:"/mnt/disks/ssd1"},mustBe:{label:"The Path on the Node must be",anything:"Anything: do not check the target path",directory:"A directory, or create if it does not exist",file:"A file, or create if it does not exist",existingDirectory:"An existing directory",existingFile:"An existing file",existingSocket:"An existing socket",existingCharacter:"An existing character device",existingBlock:"An existing block device"}},gcePersistentDisk:{label:"Google Persistent Disk",persistentDiskName:{label:"Persistent Disk Name",placeholder:"e.g. abc"}},awsElasticBlockStore:{label:"Amazon EBS Disk",volumeId:{label:"Volume ID",placeholder:"e.g. volume1"}},azureFile:{label:"Azure Filesystem",shareName:{label:"Share Name",placeholder:"e.g. abc"}},azureDisk:{label:"Azure Disk",diskName:{label:"Disk Name",placeholder:"e.g. kubernetes-pvc"},diskURI:{label:"Disk URI",placeholder:"e.g. https://example.com/disk"},kind:{label:"Kind",dedicated:"Dedicated",managed:"Managed",shared:"Shared"},cachingMode:{label:"Caching Mode",none:"None",readOnly:"Read Only",readWrite:"Read Write"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},readOnly:{label:"Read Only"}}},persistentVolumeClaim:{name:"Persistent Volume Claim Name",accessModes:"Access Modes",accessModesOptions:{singleNodeRW:"Single-Node Read/Write",manyNodeR:"Many-Node Read-Only",manyNodeRW:"Many-Node Read/Write"},capacity:"Capacity",storageClass:"Storage Class",useDefault:"Use the default class",volumes:"Persistent Volumes",volumeName:"Persistent Volume Name",source:{label:"Source",options:{new:"Use a Storage Class to provision a new Persistent Volume",existing:"Use an existing Persistent Volume"}},expand:{label:"Expand",notSupported:"Storage class does not support volume expansion",notBound:"Only bound PVCs can be expanded"},volumeClaim:{label:"Volume Claim",storageClass:"Storage Class",requestStorage:"Request Storage",persistentVolume:"Persistent Volume",tooltips:{noStorageClass:"You don't have permission to list Storage Classes, enter a name manually",noPersistentVolume:"You don't have permission to list Persistent Volumes, enter a name manually"}},customize:{label:"Customize",accessModes:{readWriteOnce:"Single Node Read-Write",readOnlyMany:"Many Nodes Read-Only",readWriteMany:"Many Nodes Read-Write"}},status:{label:"Status"}},podDisruptionBudget:{budget:{label:"Budget"},minAvailable:{label:"Min. available Pods"},maxUnavailable:{label:"Max. unavailable Pods"}},inactivity:{title:"Session expiring",titleExpired:"Session expired",banner:"Your session is about to expire due to inactivity. Any unsaved changes will be lost.",bannerExpired:"Your session has expired in this tab due to inactivity.",content:"Click “Resume Session” to keep the session in this tab active or refresh the browser after the session has expired.",contentExpired:"To return to this page click “Refresh” below or refresh the browser.",cta:"Resume Session",ctaExpired:"Refresh"},plugins:{incompatibleRancherVersion:"The latest version of this extension ({ version }) is not compatible with the current Rancher version ({ required }).",incompatibleKubeVersion:"The latest version of this extension ({ version }) is not compatible with the current Kube version ({ required }).",incompatibleUiExtensionsApiVersionMissing:"The latest version of this extension ({ version }) is missing the mandatory annotation catalog.cattle.io/ui-extensions-version from Rancher 2.10 and onwards.",incompatibleUiExtensionsApiVersion:"The latest version of this extension ({ version }) is not compatible with the current Extensions API version ({ required }).",incompatibleHost:'The latest version of this extension ({ version }) has a host of "{ required }" which is not compatible with this application "{ mainHost }".',currentInstalledVersionBlockedByKubeVersion:"This version is not compatible with the current Kubernetes version ({ kubeVersion } Vs { kubeVersionToCheck }).",labels:{builtin:"Built-in",experimental:"Experimental","third-party":"Third-Party",image:"Image",installing:"Installing ...",uninstalling:"Uninstalling ..."},descriptions:{experimental:"This Extension is marked as experimental","third-party":"This Extension is provided by a Third-Party","built-in":"This Extension is built-in",image:"This Extension Image has been loaded manually"},error:{title:"Error loading extension",message:"Could not load extension code",generic:"Extension error",apiAnnotationMissing:"Unable to load Extension. The version installed is not compatible with the current Extensions API Version (Extension is missing the annotation catalog.cattle.io/ui-extensions-version which implies incompatibility with Rancher 2.10 and onwards)",api:"Unable to load Extension. The version installed is not compatible with the current Extensions API version",host:"Unable to load Extension. The version installed is not compatible with this application host",version:"Unable to load Extension. The version installed is not compatible with the current version of Rancher",kubeVersion:"Unable to load Extension. The version installed is not compatible with the current Rancher kubernetes version",load:"An error occurred loading the code for this Extension",developerPkg:"This Extension has been loaded internally, so we won't load the external version"},success:{title:"Loaded extension {name}",message:"Extension was loaded successfully"},developer:{label:"Developer Load",title:"Developer Load Extension",prompt:"Load an extension from a URL",fields:{url:"Extension URL",name:"Extension module name",persist:"Persist extension by creating custom resource"}},info:{detail:"Detail",versions:"Versions",versionError:"Could not load version information",requiresRancherVersion:"Requires Rancher {required}",requiresKubeVersion:"Requires Kube version {required}",requiresExtensionApiVersionMissing:"Missing the annotation catalog.cattle.io/ui-extensions-version which implies incompatibility with Rancher 2.10 and onwards",requiresExtensionApiVersion:"Requires Extensions API version {required}",requiresHost:'Requires a host that matches "{mainHost}"'},empty:{all:"Extensions are neither installed nor available",available:"No Extensions available",installed:"No Extensions installed",updates:"No updates available for installed Extensions",images:"No Extension Images installed"},loadError:"An error occurred loading the code for this extension",helmError:"An error occurred installing the extension via Helm",manageRepos:"Manage Repositories",addRancherRepos:"Add Rancher Repositories",manageCharts:"Manage Extension Charts",warnNoAuth:"This version of the extension will be loaded before authentication and will have access to the login process.",manageCatalog:{label:"Manage Extension Catalogs",title:"Extension",subtitle:"Catalogs",imageLoad:{load:"Import Extension Catalog",prompt:"An Extension Catalog contains extension assets bundled into an image, importing will take the image and host a Helm repository to act as a catalog for custom built Extensions.",fields:{image:{label:"Catalog Image Reference",placeholder:"e.g. hub.docker.io/example-org/my-image:latest"},imagePullSecrets:{label:"Image Pull Secrets",tooltip:"Must be of Type `kubernetes.io/dockercfg` or `kubernetes.io/dockerconfigjson`"},secrets:{banner:"If the registry that hosts the Catalog Image requires Pull Secrets, they must be created in the following namespace:
    cattle-ui-plugin-system
    "}},banner:"This will create an Deployment, Service, and Helm repository to serve the extension charts.",imageVersion:{title:"Image Version Not Found",message:"Unable to determine image version from {image}, defaulting to latest"},error:{exists:{deployment:{title:"Deployment Conflict",message:"A container with the image {image} already exists"},service:{title:"Service Conflict",message:"A service with the name {svc} already exists"},repo:{title:"Helm Repository Conflict",message:"A repository with the name {repo} already exists"}}},success:{title:"Imported Extension Catalog from: {name}",message:"Extension Catalog image was imported successfully"}},headers:{image:{name:"images",label:"Deployment Image"},repository:{label:"Repository Name"}}},tabs:{all:"All",available:"Available",images:"Images",installed:"Installed",updates:"Updates"},title:"Extensions",version:"Version: {version}",install:{label:"Install",title:"Install Extension {name}",prompt:"Are you sure that you want to install this Extension?",version:"Version",warnNotCertified:"Please ensure that you are aware of the risks of installing Extensions from untrusted authors"},update:{label:"Update",title:"Update Extension {name}",prompt:"Are you sure that you want to update this Extension?"},rollback:{label:"Rollback",title:"Rollback Extension {name}",prompt:"Are you sure that you want to rollback this Extension?"},uninstall:{label:"Uninstall",title:"Uninstall Extension: {name}",prompt:"Are you sure that you want to uninstall this Extension?",catalog:"Are you sure that you want to uninstall this Extension Catalog Image? This will also remove any Extensions provided by this image."},upgradeAvailable:"A newer version of this Extension is available",reload:"Extensions changed - reload required",safeMode:{title:"Extensions Safe Mode",message:"Extensions were not loaded"},addRepos:{banner:"There are new extensions repositories available. To enable these repositories, click the button on the right.",bannerBtn:"Add repositories",title:"Add Extensions repositories",prompt:"You can install multiple Rancher extension repositories to increase your extensions catalog"},setup:{installed:"Already installed",uninstalled:"Already uninstalled",title:"Extension support is not enabled",prompt:{cant:"Automatic installation is not available - required Helm Charts could not be found",can:"You need to enable the {ff} Feature Flag in Global Settings. Once enabled, Rancher will require a restart.",official:"The Official Rancher Extensions Repository provides extensions published by Rancher",partners:"The Partners Extensions Repository provides extensions published by Rancher Partners",community:"The Community Extensions Repository provides extensions published by Rancher Community"},install:{title:"Enable Extension Support?",prompt:"This will lead you to the page where you can enable the Feature Flag needed to enable Extension support.",featuresButton:"Go to Feature Flags",airgap:"Air-gapped installations should NOT enable this feature",addRancherRepo:"Add Official Rancher Extensions Repository",addPartnersRancherRepo:"Add Partners Extensions Repository"},remove:{label:"Disable Extension Support",title:"Disable Extension Support?",prompt:"This will un-install the Helm charts that enable Extension support",registry:{official:{title:"Remove the Official Rancher Extensions Repository"},partners:{title:"Remove the Partners Extensions Repository"},community:{title:"Remove the Community Extensions Repository"}},crd:{title:"Remove the Rancher Extensions Custom Resource Definition",prompt:"There are one or more extensions installed - removing the CRD will require you to manually reinstall these extensions if you subsequently re-enable extensions support."}}}},podSecurityAdmission:{name:"Pod Security Admission",description:"Define the admission control mode you want to use for the pod security",banner:{modifications:"Changing any template that is currently in use will cause an update to those live clusters the next time the cluster is updated"},labels:{enforce:"Enforce",audit:"Audit",warn:"Warn",usernames:"Usernames",runtimeClasses:"RuntimeClasses",namespaces:"Namespaces",privileged:"privileged",baseline:"baseline",restricted:"restricted"},version:{placeholder:"Version (default: latest)"},exemptions:{title:"Exemptions",description:"Allow the creation of pods for specific Usernames, RuntimeClassNames, and Namespaces that would otherwise be prohibited due to the policies set above.",placeholder:"Enter a comma separated list of {psaExemptionsControl}"}},prefs:{title:"Preferences",theme:{label:"Theme",light:"Light",auto:"Auto",dark:"Dark",autoDetail:"Auto uses OS preference if available, or dark from {pm} to {am}"},language:"Language",landing:{label:"Login Landing Page",vue:"Cluster Explorer",ember:"Cluster Manager"},displaySettings:{title:"Display Settings",detail:"Change the way information is displayed in the UI."},clusterToShow:{label:"Number of clusters to show in side menu",value:"{count, number}"},dateFormat:{label:"Date Format"},timeFormat:{label:"Time Format"},perPage:{label:"Table Rows per Page",value:"{count, number}"},keymap:{label:"YAML Editor Key Mapping",sublime:"Normal human",emacs:"Emacs",vim:"Vim"},advFeatures:{title:"Advanced Features",viewInApi:'Enable "View in API"',allNamespaces:"Show dynamic Namespaces managed by Rancher (not intended for editing or deletion)",themeShortcut:"Enable Dark/Light Theme keyboard shortcut toggle (shift+T)",pluginDeveloper:"Enable Extension developer features"},hideDesc:{label:"Hide Type Description banners above resource lists"},helm:{true:"Include Prerelease Versions",false:"Show Releases Only",label:"Helm Charts"},confirmationSetting:{title:"Confirmation Setting",scalingDownPrompt:"Do not ask for confirmation when scaling down node pools."}},principal:{loading:"Loading…",error:"Unable to fetch principal info",name:"Name",loginName:"Username",type:"Type"},probe:{checkInterval:{label:"Check Interval",placeholder:"Default: 10"},command:{label:"Command to run",placeholder:"e.g. cat /tmp/health"},failureThreshold:{label:"Failure Threshold",placeholder:"Default: 3"},httpGet:{headers:{label:"Request Headers"},path:{label:"Request Path",placeholder:"e.g. /healthz"},port:{label:"Check Port",placeholder:"e.g. 80",placeholderDeux:"e.g. 25"}},initialDelay:{label:"Initial Delay",placeholder:"Default: 0"},successThreshold:{label:"Success Threshold",placeholder:"Default: 1"},timeout:{label:"Timeout",placeholder:"Default: 3"},type:{label:"Type",placeholder:"Select a check type"}},project:{membersEditOnly:"Only permissions equal to or below those of the current user can be applied",members:{label:"Members"},containerDefaultResourceLimit:"Container Default Resource Limit",vmDefaultResourceLimit:"VM Default Resource Limit",resourceQuotas:"Resource Quotas",haveOneOwner:"There must be at least one member with the Owner role."},projectMembers:{project:{label:"Project"},projectPermissions:{label:"Project Permissions",description:"Controls what access users have to the Project",noDescription:"User created - no description",searchForMember:"Search for a member to provide project access",owner:{label:"Owner",description:"Owners have full control over the Project and all resources inside it."},member:{label:"Member",description:"Members can manage the resources inside the Project but not change the Project itself."},readOnly:{label:"Read Only",description:"Members can only view the resources inside the Project but not change the resources."},custom:{label:"Custom",description:"Choose individual roles for this user."},createNs:"Create Namespaces",configmapsManage:"Manage Config Maps",ingressManage:"Manage Ingress",projectcatalogsManage:"Manage Project Catalogs",projectroletemplatebindingsManage:"Manage Project Members",secretsManage:"Manage Secrets",serviceaccountsManage:"Manage Service Accounts",servicesManage:"Manage Services",persistentvolumeclaimsManage:"Manage Volumes",workloadsManage:"Manage Workloads",configmapsView:"View Config Maps",ingressView:"View Ingress",monitoringUiView:"View Monitoring",projectcatalogsView:"View Project Catalogs",projectroletemplatebindingsView:"View Project Members",secretsView:"View Secrets",serviceaccountsView:"View Service Accounts",servicesView:"View Services",persistentvolumeclaimsView:"View Volumes",workloadsView:"View Workloads"}},projectNamespaces:{createNamespace:"Create Namespace",createProject:"Create Project",label:"Projects/Namespaces",noNamespaces:"There are no namespaces defined.",noProjectNoNamespaces:"All namespaces are in a project",isIstioInjectionEnabled:"Istio automatic sidecar injection is enabled for this namespace"},prometheusRule:{alertingRules:{addLabel:"Add Alert",annotations:{description:{input:"Description Annotation Value",label:"Description"},label:"Annotations",message:{input:"Message Annotation Value",label:"Message"},runbook:{input:"Runbook URL Annotation Value",label:"Runbook URL"},summary:{input:"Summary Annotation Value",label:"Summary"}},bannerText:"When firing alerts, the annotations and labels will be passed to the configured AlertManagers to allow them to construct the notification that will be sent to any configured Receivers.",for:{label:"Wait to fire for",placeholder:"60"},label:"Alerting Rules",labels:{label:"Labels",severity:{choices:{critical:"critical",label:"Severity Label Value",none:"none",warning:"warning"},label:"Severity"}},name:"Alert Name",removeAlert:"Remove Alert"},groups:{add:"Add Rule Group",groupRowLabel:"Rule Group {index}",groupInterval:{label:"Override Group Interval",placeholder:"60"},label:"Rule Groups",name:"Group Name",none:"Please add at least one rule group that contains at least one alerting or one recording rule.",removeGroup:"Remove Group",responseStrategy:{label:"Partial Response Strategy"}},promQL:{label:"PromQL Expression"},recordingRules:{addLabel:"Add Record",label:"Recording Rules",labels:"Labels",name:"Time Series Name",removeRecord:"Remove Record"}},promptForceRemove:{modalTitle:"Are you sure?",removeWarning:"There was an issue with deleting underlying infrastructure. If you proceed with this action, the Machine {nameToMatch} will be deleted from Rancher only. It's highly recommended to manually delete any referenced infrastructure.",forceDelete:"Force Delete",confirmName:"Enter in the pool name below to confirm:",podRemoveWarning:"Force deleting pods does not wait for confirmation that the pod's processes have been terminated. This may result in data corruption or inconsistencies"},promptScaleMachineDown:{attemptingToRemove:"You are attempting to delete {count} {type}",retainedMachine1:"At least one Machine must exist for roles Control Plane and Etcd.",retainedMachine2:"{ name } will remain"},promptSlo:{title:"Log out",text:"Log out of only Rancher, or all {name} applications.",rancher:{active:"Only log out of Rancher"},all:{active:"Log out of {name}",waiting:"Logging Out"}},promptRemove:{title:"Are you sure?",andOthers:"{count, plural,\n=0 {.}\n=1 { and one other.}\nother { and {count} others.}\n}",attemptingToRemove:"You are attempting to delete the {type}",attemptingToRemoveAuthConfig:"You are attempting to disable this Auth Provider.

    Be aware that cluster role template bindings, project role template bindings, global role bindings, users, tokens will be all deleted.

    Are you sure you want to proceed?",protip:"Tip: Hold the {alternateLabel} key while clicking delete to bypass this confirmation",confirmName:"Enter {nameToMatch} below to confirm:",deleteAssociatedNamespaces:"Also delete the namespaces in this project:",willDeleteAssociatedNamespaces:"This will also delete all namespaces in the project: ",confirmRelatedResource:"Deleting the {type} will remove all the resources on this particular {type} and this is not revertable, are you sure you want to continue deleting {names}?",promptConfirmation:"Do not prompt again for confirmation when scaling down."},promptRemoveApp:{removeCrd:"Delete the CRD associated with this app"},promptRestore:{title:"Restore Snapshot",name:"Name",date:"Date",fromS3:"Restore from S3",label:"Snapshot",placeholder:"Select a snapshot to restore",notification:{title:"Restore Snapshot",message:"Restoring snapshot { selectedSnapshot } has started..."}},promptRollback:{modalTitle:"Roll Back {workloadName}",dropdownTitle:"Roll Back to Revision",placeholder:"Choose a Revision...",attemptingToRollBack:"Attempting to roll back workload...",differences:"Differences",revisionOption:"Revision {revisionNumber}, created {revisionAge} {units} ago {currentLabel}",currentLabel:"(Current)",multipleWorkloadError:"Only one workload can be rolled back at a time.",singleRevisionBanner:"There are no revisions to roll back to."},promptSaveAsRKETemplate:{title:"Convert {cluster} to new RKE Template",name:"Cluster Template Name",description:"Create a new RKE cluster template and initial revision from the current cluster configuration.",warning:"This will modify the cluster, setting it up to use the newly created cluster template and revision. This can not be undone."},promptRotateEncryptionKey:{title:"Rotate Encryption Keys",description:"The last backup {name} was performed on {date}",warning:"Before proceeding, ensure a successful ETCD backup of the cluster has been completed.",error:"No backup found"},rancherAlertingDrivers:{msTeams:"Enable Microsoft Teams",sms:"Enable SMS",selectOne:"You must select at least one of the options below."},rbac:{roleBinding:{noData:"There are no members associated with this resource.",user:{label:"User"},role:{label:"Role"},add:"Add Member"},displayRole:{"fleetworkspace-admin":"Admin","fleetworkspace-member":"Member","fleetworkspace-readonly":"Read-Only"},members:{label:"Members"},roletemplate:{newUserDefault:{no:"No",tooltip:"This does not affect any bindings to the role that already exist."},locked:{label:"Locked",yes:"Yes: New bindings are not allowed to use this role",no:"No"},tabs:{grantResources:{label:"Grant Resources",noApiGroupClusterScope:"Core K8s API, Cluster Scoped",noApiGroupNamespaceScope:"Core K8s API, Namespaced",neuvector:{labelClusterScoped:"NeuVector, Cluster Scoped",labelNamespaceScoped:"NeuVector, Namespaced"},deprecatedLabel:"(deprecated)",resourceOptionInfo:"The resource options are not a complete list of every resource available in every Rancher-managed Kubernetes cluster. Resources and API groups may need to be manually entered in advanced use cases.",tableHeaders:{verbs:"Verbs",resources:"Resource",nonResourceUrls:"Non-Resource URLs",apiGroups:"API Groups"}}},subtypes:{GLOBAL:{createButton:"Create Global Role",label:"Global",yes:"Yes: Default role for new users",defaultLabel:"New User Default"},CLUSTER:{createButton:"Create Cluster Role",label:"Cluster",yes:"Yes: Default role for new cluster creation",defaultLabel:"Cluster Creator Default"},NAMESPACE:{createButton:"Create Project/Namespaces Role",label:"Project/Namespaces",yes:"Yes: Default role for new project creation",defaultLabel:"Project Creator Default"},RBAC_ROLE:{label:"Role"},RBAC_CLUSTER_ROLE:{label:"Cluster Role"},noContext:{label:"No Context"}}},globalRoles:{notBound:'No users bound ',unableToCheck:"Unable to check if any user is bound to the role(s). Please try again.",waiting:'{count, plural,\n =1 { Checking if there are any users bound to this role }\n other { Checking if there are any users bound to these roles }\n}',usersBound:"{count, plural,\n =1 { Caution: There is 1 user bound to the role(s) about to be deleted. Do you want to proceed? }\n other { Caution: There are {count} users bound to the role(s) about to be deleted. Do you want to proceed? }\n}",types:{global:{label:"Global Permissions",description:"Controls what access the {isUser, select,\ntrue {user}\nfalse {group}} has to administer the overall {appName} installation."},custom:{label:"Custom",description:"Roles not created by {vendor}."},builtin:{label:"Built-in",description:"Additional roles to define more fine-grain permissions model."}},unknownRole:{description:"No description provided"},assignOnlyRole:"This role is already assigned",role:{admin:{label:"Administrator",description:"Administrators have full control over the entire installation and all resources in all clusters."},"restricted-admin":{label:"Restricted Administrator",description:"Restricted Admins have full control over all resources in all downstream clusters but no access to the local cluster.",deprecation:'Warning: The Restricted Administrator role has been deprecated as of Rancher 2.8.0 and will be removed in a future release - Check out the Release Notes'},user:{label:"Standard User",description:"Standard Users can create new clusters and manage clusters and projects they have been granted access to."},"user-base":{label:"User-Base",description:"User-Base users have login-access only."},"clusters-create":{label:"Create new Clusters",description:"Allows the user to create new clusters and become the owner of them. Standard Users have this permission by default."},"clustertemplates-create":{label:"Create new RKE Cluster Templates",description:"Allows the user to create new RKE cluster templates and become the owner of them."},"authn-manage":{label:"Configure Authentication",description:"Allows the user to enable, configure, and disable all Authentication provider settings."},"catalogs-manage":{label:"Legacy Configure Catalogs",description:"Allows the user to add, edit, and remove management.cattle.io based catalogs resources."},"clusters-manage":{label:"Manage all Clusters",description:"Allows the user to manage all clusters, including ones they are not a member of."},"clusterscans-manage":{label:"Manage CIS Cluster Scans",description:"Allows the user to launch new and manage CIS cluster scans."},"kontainerdrivers-manage":{label:"Create new Cluster Drivers",description:"Allows the user to create new cluster drivers and become the owner of them."},"features-manage":{label:"Configure Feature Flags",description:"Allows the user to enable and disable custom features via feature flag settings."},"nodedrivers-manage":{label:"Configure Node Drivers",description:"Allows the user to enable, configure, and remove all Node Driver settings."},"nodetemplates-manage":{label:"Manage Node Templates",description:"Allows the user to define, edit, and remove Node Templates."},"roles-manage":{label:"Manage Roles",description:"Allows the user to define, edit, and remove Role definitions."},"settings-manage":{label:"Manage Settings",description:"Allows the user to manage {vendor} Settings."},"users-manage":{label:"Manage Users",description:"Allows the user to create, remove, and set passwords for all Users."},"catalogs-use":{label:"Use Catalogs",description:"Allows the user to see and deploy Templates from the Catalog. Standard Users have this permission by default."},"nodetemplates-use":{label:"Use Node Templates",description:"Allows the user to deploy new Nodes using any existing Node Templates."},"view-rancher-metrics":{label:"View {vendor} Metrics",description:"Allows the user to view Metrics through the API."},base:{label:"Login Access"},"clustertemplaterevisions-create":{label:"Create RKE Template Revisions"}}}},resourceDetail:{detailTop:{annotations:"Annotations",created:"Created",deleted:"Deleted",description:"Description",endpoints:"Endpoints",labels:"Labels",namespaces:"Namespaces",ownerReferences:"{count, plural,\n=1 {Owner}\nother {Owners}}",hideLabels:"Hide system labels",showLabels:"Show all labels",hideAnnotations:"{annotations, plural,\n=1 {Hide 1 annotation}\nother {Hide {annotations} annotations}}",showAnnotations:"{annotations, plural,\n=1 {Show 1 annotation}\nother {Show {annotations} annotations}}",name:"Name"},header:{clone:"Clone from {subtype} {name}",create:"Create {subtype}",import:"Import {subtype}",edit:"{subtype} {name}",stage:"Stage from {subtype} {name}",view:"{subtype} {name}"},masthead:{age:"Age",restartCount:"Pod Restarts",defaultBannerMessage:{error:"This resource is currently in an error state, but there isn't a detailed message available.",transitioning:"This resource is currently in a transitioning state, but there isn't a detailed message available."},sensitive:{hide:"Hide Sensitive Values",show:"Show Sensitive Values"},namespace:"Namespace",workspace:"Workspace",project:"Project",detail:"Detail",config:"Config",graph:"Graph",yaml:"YAML",managedWarning:"This {type} is managed by {hasName, select,\n no {a {managedBy} app}\n yes {the {managedBy} app {appName}}}; changes made here will likely be overwritten the next time {managedBy} runs."}},resourceList:{head:{create:"Create",createFromYaml:"Create from YAML",createResource:"Create {resourceName}"},nsFiltering:"Please select one or more namespaces or projects using the filter above.",nsFilteringGeneric:"Please select a valid namespace or project option using the filter above.",nsFilterToolTip:"Filtering is restricted to projects and namespaces"},resourceLoadingIndicator:{loading:"Loading"},resourceTable:{groupBy:{none:"Flat List",namespace:"Group by Namespace",project:"Group by Project",node:"Group by Node",role:"Group by Role",cluster:"Group by Cluster"},groupLabel:{cluster:"Cluster: {name}",notInACluster:"Not in a Cluster",namespace:"Namespace: {name}",notInAMachinePool:"Not In A Deployment",machinePool:"Pool: {name}",notInANamespace:"Not Namespaced",notInAProject:"Not in a Project",project:"Project: {name}",notInAWorkspace:"Not in a Workspace",workspace:"Workspace: {name}",notInANodePool:"Not in a Pool",nodePool:"Pool: {name}",node:"Node: {name}"}},resourceTabs:{conditions:{tab:"Conditions"},events:{tab:"Recent Events"},related:{tab:"Related Resources",from:"Referred To By",to:"Refers To"}},resourceYaml:{errors:{namespaceRequired:"This resource is namespaced, so a namespace must be provided."},buttons:{continue:"Continue Editing",edit:"Edit YAML",diff:"Show Diff",hideDiff:"Hide Diff",unified:"Unified",split:"Split"}},secret:{authentication:"Authentication",certificate:{certificate:"Certificate",certificates:"Certificates",certificatePlaceholder:"Paste in the CA certificate, starting with -----BEGIN CERTIFICATE----",cn:"Domain Name",expires:"Expires",expiresOn:"Expires On",expiresDuration:"Expires In",lifetime:"Lifetime",issuer:"Issuer",paging:"{pages, plural,\n=0 {No {pluralLabel}}\n=1 {{count} {count, plural, =1 {{singularLabel}} other {{pluralLabel}}}}\nother {{from} - {to} of {count} {pluralLabel}}}",plusMore:"+ {n} more",privateKey:"Private Key",privateKeyPlaceholder:"Paste in the private key, typically starting with -----BEGIN RSA PRIVATE KEY-----",warnings:{expiring:"{count} {count, plural, =1 {Certificate expires soon} other {Certificates expire soon}}",expired:"{count} {count, plural, =1 {Certificate has expired} other {Certificates have expired}}"}},data:"Data",registry:{address:"Registry",domainName:"Registry Domain Name",password:"Password",username:"Username"},basic:{password:"Password",username:"Username"},ssh:{keys:"Keys",public:"Public Key",publicPlaceholder:"Paste in your public key",private:"Private Key",privatePlaceholder:"Paste in your private key"},serviceAcct:{ca:"CA Certificate",token:"Token"},customType:"Custom Type",type:"Type",types:{opaque:"Opaque","kubernetes.io/service-account-token":"Svc Acct Token","kubernetes.io/dockercfg":"Registry","kubernetes.io/dockerconfigjson":"Registry","kubernetes.io/basic-auth":"HTTP Basic Auth","kubernetes.io/ssh-auth":"SSH Key","kubernetes.io/tls":"TLS Certificate","bootstrap.kubernetes.io/token":"Bootstrap Token","istio.io/key-and-cert":"Istio Certificate","helm.sh/release.v1":"Helm Release","fleet.cattle.io/cluster-registration-values":"Fleet Cluster","provisioning.cattle.io/cloud-credential":"Cloud Credential","rke.cattle.io/auth-config":"RKE Auth Config"},initials:{opaque:"O","kubernetes.io/service-account-token":"SAT","kubernetes.io/dockercfg":"R","kubernetes.io/dockerconfigjson":"R","kubernetes.io/basic-auth":"HTTP","kubernetes.io/ssh-auth":"SSH","kubernetes.io/tls":"TLS","bootstrap.kubernetes.io/token":"Boot","istio.io/key-and-cert":"Ist","helm.sh/release.v1":"Helm","fleet.cattle.io/cluster-registration-values":"F","provisioning.cattle.io/cloud-credential":"CC",s3:"S3"},relatedWorkloads:"Related Workloads",typeDescriptions:{custom:{description:"Create a Secret with a custom type"},"kubernetes.io/basic-auth":{description:"Authentication with a username and password",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret"},Opaque:{description:"Default type of Secret using key-value pairs",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets"},"kubernetes.io/dockerconfigjson":{description:"Authenticated registry for pulling container images",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets"},"kubernetes.io/ssh-auth":{description:"Public key and private key for SSH authentication",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#ssh-authentication-secrets"},"kubernetes.io/tls":{description:"Store a certificate and key for TLS",docLink:"https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets"}}},selectOrCreateAuthSecret:{label:"Authentication",options:{none:"None",basic:"HTTP Basic Auth",ssh:"SSH Key",aws:"AWS/S3",custom:"Secret Name"},s3:{accessKey:"Access Key",secretKey:"Secret Key"},ssh:{publicKey:"Public Key",privateKey:"Private Key"},basic:{username:"Username",password:"Password"},namespaceGroup:"Namespace: {name}",chooseExisting:"Choose an existing secret:",createSsh:"Create a SSH Key Secret",createBasic:"Create a HTTP Basic Auth Secret",createS3:"Create a S3-Compatible Auth Secret"},serviceAccount:{automount:"Automount Service Account Token",imagePullSecrets:"Image Pull Secrets",tabs:{serviceAccount:{label:"Service Account"}}},servicePorts:{header:{label:"Port Rules"},rules:{listening:{label:"Listening Port",placeholder:"e.g. 8080"},name:{label:"Port Name",placeholder:"e.g. myport"},node:{label:"Node Port",placeholder:"e.g. 30000"},protocol:{label:"Protocol"},target:{label:"Target Port",placeholder:"e.g. 80 or http"}}},serviceTypes:{clusterip:"Cluster IP",externalname:"External Name",headless:"Headless",loadbalancer:"Load Balancer",nodeport:"Node Port"},servicesPage:{serviceListDescription:"Services allow you to define a logical set of Pods that can be accessed with a single IP address and port.",targetPorts:"The Service will send requests to this port, and the selected Pods are expected to listen on this port.",listeningPorts:"The Service is exposed on this port.",anyNode:"Any Node",labelsAnnotations:{label:"Labels & Annotations"},affinity:{actionLabels:{clientIp:"ClientIP",none:"There is no session affinity configured."},helpText:"Map connections to a consistent target based on their source IP.",label:"Session Affinity",timeout:{label:"Session Sticky Time",placeholder:"e.g. 10800"}},externalName:{define:"External Name",helpText:"External Name is intended to specify a canonical DNS name. This is a required field. To hardcode an IP address, use a Headless service.",label:"External Name",placeholder:"e.g. my.database.example.com",input:{label:"DNS Name"}},harvester:{title:"Add-on Config",ipam:{label:"IPAM"},useShareIP:{label:"Use Share IP"},useIpam:{label:"Use IPAM"},shareIP:{label:"Share IP LB"}},ips:{define:"Service Ports",clusterIpHelpText:"The Cluster IP address must be within the CIDR range configured for the API server.",external:{label:"External IPs",placeholder:"e.g. 1.1.1.1",protip:"List of IP addresses for which nodes in the cluster will also accept traffic for this service."},input:{label:"Cluster IP",placeholder:"e.g. 10.43.xxx.xxx"},label:"IP Addresses",loadBalancer:{label:"Load Balancer"},loadBalancerIp:{label:"Load Balancer IP",placeholder:"e.g. 192.0.xxx.xxx",helpText:"If you specify a loadBalancerIP but your cloud provider does not support the feature, the loadBalancerIP field that you set is ignored."}},pods:{label:"Pods"},ports:{label:"Ports"},selectors:{helpText:"",label:"Selectors",matchingPods:{description:"Selector keys and values are intended to match labels and values on existing Pods.",matchesSome:'{matched, plural,\n =0 {Matches 0 of {total, number} pods. If no selector is created, manual endpoints must be made.}\n =1 {Matches 1 of {total, number} pods: "{sample}"}\n other {Matches {matched, number} of {total, number} existing pods, including "{sample}"}\n}'}},serviceTypes:{clusterIp:{abbrv:"IP",description:"Expose a set of Pods to other Pods within the cluster. This type of Service is only reachable from within the cluster. This is the default type.",label:"Cluster IP"},externalName:{abbrv:"EN",description:"Create a Service that uses a DNS name instead of selectors. This is an advanced use case.",label:"External Name"},headless:{abbrv:"H",description:"Create a Service without a cluster IP or load balancer. This is an advanced use case.",label:"Headless"},loadBalancer:{abbrv:"LB",description:"Create a load balancer in the underlying infrastructure (e.g. a cloud provider's load balancer) and assign a public IP address to the service. Allows external clients to access the service using the public IP address and the port specified in the service definition.",label:"Load Balancer"},nodePort:{abbrv:"NP",description:"Expose the service on each node's IP at a static port.",label:"Node Port"}},typeOpts:{label:"Service Type"}},setup:{currentPassword:"Bootstrap Password",confirmPassword:"Confirm New Password",defaultPassword:{intro:"It looks like this is your first time visiting {vendor}; if you pre-set your own bootstrap password, enter it here. Otherwise a random one has been generated for you. To find it:

    ",dockerPrefix:'For a "docker run" installation:',dockerPs:"Find your container ID with docker ps, then run:",dockerSuffix:"",helmPrefix:"For a Helm installation, run:",helmSuffix:""},eula:'By checking the box, you accept the End User License Agreement & Terms & Conditions',newPassword:"New Password",newUserSetPassword:"The first order of business is to set a strong password. We suggest using this random one generated just for you, but enter your own if you like.",serverUrl:{label:"Server URL",skip:"Skip",tip:"What URL should be used for this {vendor} installation? All the nodes in your clusters will need to be able to reach this."},setPassword:"The first order of business is to set a strong password for the default {username} user. We suggest using this random one generated just for you, but enter your own if you like.",telemetry:'Allow collection of anonymous statistics to help us improve {name}',useManual:"Set a specific password to use",useRandom:"Use a randomly generated password",welcome:"Welcome to {vendor}!"},sortableTable:{bulkActions:{collapsed:{label:"Actions"}},actionAvailability:{selected:"{actionable} selected",some:"Affects {actionable} of {total}"},noData:"There are no rows which match your search query.",noRows:"There are no rows to show.",noActions:"No actions available",paging:{generic:"{pages, plural,\n=0 {No Items}\n=1 {{count} {count, plural, =1 {Item} other {Items}}}\nother {{from} - {to} of {count} Items}}",resource:"{pages, plural,\n=0 {No {pluralLabel}}\n=1 {{count} {count, plural, =1 {{singularLabel}} other {{pluralLabel}}}}\nother {{from} - {to} of {count} {pluralLabel}}}"},search:"Filter",in:"in",addFilter:"Add Filter",filterFor:"Filter for...",selectCol:"Select a column",resetFilters:"Reset",add:"Add",tableHeader:{noFilter:"This column cannot be filtered by",groupBy:"Group by",show:"Show"}},storageClass:{actions:{setAsDefault:"Set as Default",resetDefault:"Reset Default"},parameters:{label:"Parameters"},customize:{label:"Customize",reclaimPolicy:{label:"Reclaim Policy",delete:"Delete volumes and underlying device when volume claim is deleted",retain:"Retain the volume for manual cleanup"},allowVolumeExpansion:{label:"Allow Volume Expansion",enabled:"Enabled",disabled:"Disabled"},volumeBindingMode:{label:"Volume Binding Mode",now:"Bind and provision a persistent volume once the PersistentVolumeClaim is created",later:"Bind and provision a persistent volume once a Pod using the PersistentVolumeClaim is created"},mountOptions:{label:"Mount Options",addLabel:"Add Option"}},"aws-ebs":{title:"Amazon EBS Disk",volumeType:{label:"Volume Type",gp2:"GP2 - General Purpose SSD",gp3:"GP3 - General Purpose SSD",io1:"IO1 - Provisioned IOPS SSD",st1:"ST1 - Throughput-Optimized HDD",sc1:"SC1 - Cold-Storage HDD",provisionedIops:{label:"Provisioned IOPS",suffix:"per second, per GB"}},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},availabilityZone:{label:"Availability Zone",automatic:"Automatic: Zones the cluster has a node in",manual:"Manual: Choose specific zones",placeholder:"us-east-1d, us-east-1c"},encryption:{label:"Encryption",enabled:"Enabled",disabled:"Disabled"},keyId:{label:"KMS Key ID for Encryption",automatic:"Automatic: Generate a key",manual:"Manual: Use a specific key (full ARN)"}},"azure-disk":{title:"Azure Disk",storageAccountType:{label:"Storage Account Type",placeholder:"e.g. Standard_LRS"},kind:{label:"Kind",shared:"Shared (unmanaged disk)",dedicated:"Dedicated (unmanaged disk)",managed:"Managed"}},"azure-file":{title:"Azure File",skuName:{label:"Sku Name",placeholder:"e.g. Standard_LRS"},location:{label:"Location",placeholder:"e.g. eastus"},storageAccount:{label:"Storage Account",placeholder:"e.g. azure_storage_account_name"}},"gce-pd":{title:"Google Persistent Disk",volumeType:{label:"Volume Type",standard:"Standard",ssd:"SSD"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},availabilityZone:{label:"Availability Zone",automatic:"Automatic: Zones the cluster has a node in",manual:"Manual: Choose specific zones",placeholder:"us-east-1d, us-east-1c"},replicationType:{label:"Replication Type",zonal:"Zonal",regional:"Regional"}},longhorn:{title:"Longhorn (CSI)",addLabel:"Add Parameter"},"vsphere-volume":{title:"VMWare vSphere Volume",diskFormat:{label:"Disk Format",thin:"Thin",zeroedthick:"Zeroed Thick",eagerzeroedthick:"Eager Zeroed Thick"},storagePolicyName:{label:"Storage Policy Name",placeholder:"e.g. gold"},datastore:{label:"Datastore",placeholder:"e.g. VSANDatastore"},hostFailuresToTolerate:{label:"Host Failures To Tolerate",placeholder:"e.g. 2"},cacheReservation:{label:"Cache Reservation",placeholder:"e.g. 20"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext3"}},custom:{addLabel:"Add Parameter"},glusterfs:{title:"Gluster Volume",restUrl:{label:"REST URL",placeholder:"e.g. http://127.0.0.1:8081"},restUser:{label:"REST User",placeholder:"e.g. admin"},restUserKey:{label:"REST User Key",placeholder:"e.g. password"},secretNamespace:{label:"Secret Namespace",placeholder:"e.g. default"},secretName:{label:"Secret Name",placeholder:"e.g. heketi-secret"},clusterId:{label:"Cluster ID",placeholder:"e.g. 630372ccdc720a92c681fb928f27b53f"},gidMin:{label:"GID MIN",placeholder:"e.g. 40000"},gidMax:{label:"GID MAX",placeholder:"e.g. 50000"},volumeType:{label:"Volume Type",placeholder:"e.g. replicate:3"}},cinder:{title:"Openstack Cinder Volume",volumeType:{label:"Volume Type",placeholder:"e.g. fast"},availabilityZone:{label:"Availability Zone",automatic:"Automatic: Zones the cluster has a node in",manual:{label:"Manual: Choose specific zones",placeholder:"e.g. nova"}}},rbd:{title:"Ceph RBD",monitors:{label:"Monitors",placeholder:"e.g. 10.16.153.105:6789"},adminId:{label:"Admin ID",placeholder:"e.g. kube"},adminSecretNamespace:{label:"Admin Secret Namespace",placeholder:"e.g. kube-system"},adminSecret:{label:"Admin Secret",placeholder:"e.g. Secret"},pool:{label:"Pool",placeholder:"e.g. kube"},userId:{label:"User ID",placeholder:"e.g. kube"},userSecretNamespace:{label:"User Secret Namespace",placeholder:"e.g. default"},userSecretName:{label:"User Secret Name",placeholder:"e.g. ceph-secret-user"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},imageFormat:{label:"Image Format",placeholder:"e.g. 2"},imageFeatures:{label:"Image Features",placeholder:"e.g. layering"}},quobyte:{title:"Quobyte Volume",quobyteApiServer:{label:"Quobyte API Server",placeholder:"e.g. http://138.68.74.142:7860"},registry:{label:"Registry",placeholder:"e.g. 138.68.74.142:7861"},adminSecretNamespace:{label:"Admin Secret Namespace",placeholder:"e.g. kube-system"},adminSecretName:{label:"Admin Secret Name",placeholder:"e.g. quobyte-admin-secret"},user:{label:"User",placeholder:"e.g. root"},group:{label:"Group",placeholder:"e.g. root"},quobyteConfig:{label:"Quobyte Config",placeholder:"e.g. BASE"},quobyteTenant:{label:"Quobyte Tenant",placeholder:"e.g. DEFAULT"}},"portworx-volume":{title:"Portworx Volume",filesystem:{label:"Filesystem",placeholder:"e.g. ext4"},blockSize:{label:"Block Size",placeholder:"e.g. 32"},repl:{label:"Repl",placeholder:"e.g.1; 0 for entire device"},ioPriority:{label:"I/O Priority",placeholder:"e.g. low"},snapshotsInterval:{label:"Snapshots Interval",placeholder:"e.g. 70"},aggregationLevel:{label:"Aggregation Level",placeholder:"e.g. 0"},ephemeral:{label:"Ephemeral",placeholder:"e.g. true"}},scaleio:{title:"ScaleIO Volume",gateway:{label:"Gateway",placeholder:"e.g. https://192.168.99.200:443/api"},system:{label:"System",placeholder:"e.g. scaleio"},protectionDomain:{label:"Protection Domain",placeholder:"e.g. pd0"},storagePool:{label:"Storage Pool",placeholder:"e.g. sp1"},storageMode:{label:"StorageMode",thin:"Thin Provisioned",thick:"Thick Provisioned"},secretRef:{label:"Secret Ref",placeholder:"e.g. sio-secret"},readOnly:{label:"Read Only"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. xfs"}},storageos:{title:"StorageOS",pool:{label:"Pool",placeholder:"e.g. default"},description:{label:"Description",placeholder:"e.g. Kubernetes volume"},filesystemType:{label:"Filesystem Type",placeholder:"e.g. ext4"},adminSecretNamespace:{label:"Admin Secret Namespace",placeholder:"e.g. default"},adminSecretName:{label:"Admin Secret Name",placeholder:"e.g. storageos-secret"}},"no-provisioner":{title:"Local Storage"},deprecated:{title:"(Deprecated)",warning:'The {provisioner} in-tree plugin is deprecated: Find a CSI driver here.'},harvesterhci:{title:"Harvester (CSI)",warning:{unSatisfiesVersion:"Please upgrade your Harvester CSI driver version to use this feature. (csi-driver >= v0.1.15)"},hostStorageClass:{label:"Host Storage Class",placeholder:"Storage class name on the host Harvester cluster",tooltip:"By default the default storage class on the host Harvester cluster is used."}}},tableHeaders:{assuredConcurrencyShares:"Assured Concurrency Shares",accessKey:"Access Key",addressType:"Address Type",accessModes:"Access Modes",address:"Address",age:"Age",apiGroup:"API Groups",apikey:"API Key",available:"Available",attachedVM:"Attached VM",authRoles:{globalDefault:"New User Default",clusterDefault:"Cluster Creator Default",projectDefault:"Project Creator Default"},branch:"Branch",backupTarget:"Backup Target",builtIn:"Built In",bundlesReady:"Bundles Ready",bundleDeploymentsReady:"Deployments",builtin:"Built-In",chart:"Chart",capacity:"Capacity",current:"Current",clusterCreatorDefault:"Cluster Creator Default",clusterFlow:"Cluster Flow",clusterOutput:"Cluster Output",cluster:"Cluster",clusters:"Clusters","cluster-Name":"Cluster",clustersReady:"Clusters Ready",clusterGroups:"Cluster Groups",commit:"Commit",condition:"Condition",constraint:"Constraint",completions:"Completions",count:"Count",createdAt:"Created At",customVerbs:"Custom Verbs",description:"Description",expires:"Expires",cpu:"CPU",currentReplicas:"Current Replicas",date:"Date",data:"Data",default:"Default",desired:"Desired",defaultVersion:"Default version",destination:"Target",deployed:"Deployed",download:"Download",duration:"Duration",diskState:"Disk State",drivers:"Drivers",distinguisherMethod:"Distinguisher Method",effect:"Effect",endpoints:"Endpoints",firstSeen:"First Seen",fleetBundleType:"Type",flow:"Flow",fingerprint:"Fingerprint",gitRepos:"Git Repos",groups:"Groups",groupName:"Group Name",groupRoleNames:"Group Role Names","global-Default":"Global-Default",host:"Host",hostIp:"Host IP",holder:"Holder",hpaReference:"Workload",health:"Health",handSize:"Hand Size",ipAddress:"IP Address",id:"ID",iP:"IP",image:"Image",imageSize:"Size",ingressClass:"Ingress Class",ingressDefaultBackend:"Default",ingressTarget:"Target",internalExternalIp:"External/Internal IP",ipaddress:"IP Address",internalIpSameAsExternal:"Same as External",jobs:"Jobs",key:"Key",keys:"Data",labels:"Labels",lastUpdated:"Last Updated",lastSchedule:"Last Schedule",lastSeen:"Last Seen",lastSeenTooltip:"The time at which the most recent occurrence of this event was recorded",loggingOutputProviders:"Provider",machines:"Machines",machineNodeName:"Node",manual:"Manual",matches:"Matches",matchingPrecedence:"Matching Precedence",maxKubernetesVersion:"Max Kubernetes Version",message:"Message",minKubernetesVersion:"Min Kubernetes Version",minReplicas:"Minimum Replicas",maxReplicas:"Maximum Replicas",missingPL:"MissingPL",memory:"Memory",monitored:"Monitored",name:"Name",nameDisplay:"Display Name",nameUnlinked:"Name",namespace:"Namespace",namespaceName:"Name",namespaceNameUnlinked:"Name",networkType:"Type",networkVlan:"Vlan ID",node:"Node",nodeName:"Node Name",nodesReady:"Nodes Ready",nodePort:"Node Port",object:"Object",operatingSystem:"OS",output:"Output",p95:"95%tile",persistentVolumeClaim:"Persistent Volume Claim",persistentVolumeSource:"Source",phase:"Phase",progress:"Progress",podImages:"Image",podRestarts:"Restarts",pods:"Pods","pod-Selector":"Pod-Selector",providers:"Providers",providerID:"Provider ID",port:"Port",ports:"Ports",project:"Project",protocol:"Protocol",provider:"Provider",priorityLevel:"Priority Level",publicPorts:"Public Ports",queues:"Queues",queueLengthLimit:"Queue Length Limit",ram:"RAM",rbac:{create:"Create",delete:"Delete",get:"Get",list:"List",patch:"Patch",update:"Update",watch:"Watch"},ready:"Ready",reason:"Reason",receivers:"Receivers",receiverTypes:"Receiver Types",reclaimPolicy:"Reclaim Policy",registrationNamespace:"Registration Namespace",repo:"Repo",repositories:"Repositories",repoName:"Repository Name",reposReady:"Repos Ready",replicas:"Replicas",reqRate:"Req Rate",resource:"Resource",resources:"Resources",resourcesReady:"Resources Ready",restarts:"Restarts",restart:"Restart Required",role:"Role",roles:"Roles",routes:"Routes",routeConnectivity:"Route Connectivity",readyToUse:"Ready To Use",scale:"Scale",scope:"Scope",selector:"Selector",secrets:"Secrets",schedule:"Schedule",service:"Service",serviceAccounts:"Service Accounts","secret-Name":"Secret-Name",simpleName:"Name",simpleScale:"Scale",simpleType:"Type",size:"Size",started:"Started",state:"State",status:"Status",targetVm:"Target VM",storage_class_provisioner:"Provisioner",storage:"Storage Size",storageClass:"Storage Class",source:"Source",subject:"Subject",subType:"Kind",success:"Success",summary:"Summary",subobject:"Subobject",taints:"Taints",target:"Target",targetKind:"Target Type",targetPort:"Target",template:"Template",type:"Type",updated:"Updated","up-to-date":"Up To Date",upgrade:"Upgradable",url:"URL",users:"Users",userDisplayName:"Display Name",userId:"ID",userDeletedIn:"Delete After",userDisabledIn:"Disable After",userLastLogin:"Last Login",userState:"Enabled",userStatus:"Status",username:"Local Username",value:"Value",version:"Version",volume:"Volume",volumeMode:"Volume Mode",weight:"Weight",clusterResources:"Cluster Resources",repoPerClusterState:"Cluster State",repoPerClusterStateTooltip:"The state of the repo on the cluster"},target:{router:{label:"Router",placeholder:"Select a router"},service:{label:"Service",placeholder:"Select a service"},title:"Target",version:{label:"Version",placeholder:"Select a version"}},user:{state:{active:"Enabled",inactive:"Disabled",unknown:"Unknown"},detail:{username:"Username",globalPermissions:{label:"Global Permissions",description:"Access to manage resources that affect the entire installation",adminMessage:"This user is an administrator and has all permissions",tableHeaders:{permission:"Permission"}},clusterRoles:{label:"Cluster Roles",description:"Roles granted to this user for individual clusters",tableHeaders:{cluster:"Cluster"}},projectRoles:{label:"Project Roles",description:"Roles granted to this user for individual projects",tableHeaders:{project:"Project"}},generic:{tableHeaders:{role:"Role",granted:"Granted"}}},edit:{credentials:{label:"Credentials",username:{label:"Username",placeholder:"e.g. jsmith",exists:"Username is already in use. Please choose a new username"},displayName:{label:"Display Name",placeholder:"e.g. John Smith"},userDescription:{label:"Description",placeholder:"e.g. This account is for John Smith"}}},list:{errorRefreshingGroupMemberships:"Error refreshing group memberships"},retention:{button:{label:"User retention settings"},growl:{title:"Save user retention settings",message:"User retention settings have been updated successfully"},edit:{title:{header:"Users: Settings",pre:"Users:",post:"Settings",subTitle:"User retention"},form:{disableAfter:{checkbox:"Disable user accounts after an inactivity period (duration since last login)",input:{label:"Inactivity period",tooltip:"Uses duration units (e.g. use 30h for 30 hours)"}},deleteAfter:{checkbox:"Delete user accounts after an inactivity period (duration since last login)",input:{label:"Inactivity period",tooltip:"Uses duration units (e.g. use 30h for 30 hours)",subLabel:"This value must be larger than the Disable period, if it's active"}},cron:{label:"User retention process schedule",subLabel:"The user retention process runs as a cron job (required)",errorMessage:"User retention process schedule must be a valid cron expression"},dryRun:{label:"Run the user retention process in DRY mode (no changes will be applied)",subLabel:"You can check the logs to see which accounts would be affected"},defaultLastLogin:{label:"Default last login (ms)",subLabel:"Accounts without a registered last login timestamp will get this as a default",placeholder:"Unix timestamp"}}}}},validation:{noUpperCase:'Alphanumeric characters in "{key}" must be lowercase',arrayLength:{between:'"{key}" should contain between {min} and {max} {max, plural, =1 {item} other {items}}',exactly:'"{key}" should contain {count, plural, =1 {# item} other {# items}}',max:'"{key}" should contain at most {count} {count, plural, =1 {item} other {items}}',min:'"{key}" should contain at least {count} {count, plural, =1 {item} other {items}}'},alphanumeric:'"{key}" must be alphanumeric',boolean:'"{key}" must be a boolean value.',chars:'"{key}" contains {count, plural, =1 {an invalid character} other {# invalid characters}}: {chars}',cluster:{name:"Cluster name cannot be 'local' or take the form 'c-xxxxx'"},conflict:"This resource has been modified since you started editing it, and some of those modifications conflict with your changes.\nThis screen has been updated to reflect the current values on the cluster. Review and reapply the changes you wanted to make, then Save again.\nConflicting {fieldCount, plural, =1 {field} other {fields}}: {fields}",custom:{missing:"No validator exists for { validatorName }! Does the validator exist in custom-validators? Is the name spelled correctly?"},dns:{doubleHyphen:'"{key}" Cannot contain two or more consecutive hyphens',hostname:{empty:'"{key}" must be at least one character',emptyLabel:'"{key}" cannot contain two consecutive dots',endDot:'"{key}" cannot end with a dot',endHyphen:'"{key}" cannot end with a hyphen',startDot:'"{key}" cannot start with a dot',startHyphen:'"{key}" cannot start with a hyphen',startNumber:'"{key}" cannot start with a number',tooLong:'"{key}" cannot be longer than {max} characters',tooLongLabel:'"{key}" cannot contain a section longer than {max} characters'},label:{endDot:'"{key}" cannot end with a dot',startDot:'"{key}" cannot start with a dot',emptyLabel:'"{key}" cannot be empty',endHyphen:'"{key}" cannot end with a hyphen',startHyphen:'"{key}" cannot start with a hyphen',startNumber:'"{key}" cannot start with a number',tooLongLabel:'"{key}" cannot be more than {max} characters'}},flowOutput:{both:'Requires "Output" or "Cluster Output" to be selected.',global:'Requires "Cluster Output" to be selected.'},output:{logdna:{apiKey:'Required an "Api Key" to be set.'}},invalidCron:"Invalid cron schedule",invalidCidr:"Invalid CIDR",invalidIP:"Invalid IP",k8s:{name:"Must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc').",identifier:{emptyLabel:'"{key}" cannot have an empty key',emptyPrefix:'"{key}" cannot have an empty prefix',endLetter:'"{key}" must end with a letter or number',startLetter:'"{key}" must start with a letter or number',tooLongKey:'"{key}" cannot have a key longer than {max} characters',tooLongPrefix:'"{key}" cannot have a prefix longer than {max} characters'}},minLength:'"{key}" must contain more than {min} characters',maxLength:'"{key}" must contain less than {max} characters',minValue:'"{key}" must be equal or higher than {min}',maxValue:'"{key}" must be equal or lower than {max}',betweenLengths:'"{key}" must contain between {min} and {max} characters',betweenValues:'"{key}" must be between {min} and {max}',noSchema:"No schema found to validate",noType:"No type to validate",number:{requiredInt:'"{key}" must be integer',isPositive:'"{key}" must be positive',isOctal:'"{key}" must have no leading zeros',between:'"{key}" should be between {min} and {max}',exactly:'"{key}" should be exactly {val}',max:'"{key}" should be at most {val}',min:'"{key}" should be at least {val}'},podAffinity:{affinityTitle:"Pod Affinity",antiAffinityTitle:"Pod Anti-Affinity",requiredDuringSchedulingIgnoredDuringExecution:"required rules",preferredDuringSchedulingIgnoredDuringExecution:"preferred rules",topologyKey:"Rule [{index}] of {group} {rules} - Topology key is required.",matchExpressions:{operator:"Rule [{index}] of {group} {rules} - operator must be one of 'In', 'NotIn', 'Exists', 'DoesNotExist'",valueMustBeEmpty:"Rule [{index}] of {group} {rules} - value must be empty if operator is 'Exists' or 'DoesNotExist'",valuesMustBeDefined:"Rule [{index}] of {group} {rules} - value must be defined if operator is 'In' or 'NotIn'"}},port:"A port must be a number between 1 and 65535.",path:'"{key}" must be an absolute path',prometheusRule:{noEdit:"This Prometheus Rule may not be edited due to invalid characters in name.",groups:{required:"At least one rule group is required.",singleAlert:"A rule may contain alert rules or recording rules but not both.",valid:{name:"Name is required for rule group {index}.",rule:{alertName:"Rule group {groupIndex} rule {ruleIndex} requires a Alert Name.",expr:"Rule group {groupIndex} rule {ruleIndex} requires a PromQL Expression.",labels:"Rule group {groupIndex} rule {ruleIndex} requires at least one label. Severity is recommended.",recordName:"Rule group {groupIndex} rule {ruleIndex} requires a Time Series Name."},singleEntry:"At least one alert rule or one recording rule is required in rule group {index}."}}},required:'"{key}" is required',invalid:'"{key}" is invalid',requiredOrOverride:'"{key}" is required or must allow override',roleTemplate:{roleTemplateRules:{missingVerb:"You must specify at least one verb for each resource grant",missingResource:"You must specify a Resource for each resource grant",missingApiGroup:"You must specify an API Group for each resource grant",missingOneResource:"You must specify at least one Resource, Non-Resource URL or API Group for each resource grant",noResourceAndNonResource:"Each rule may contain Resources or Non-Resource URLs but not both"}},service:{externalName:{none:"External Name is required on an ExternalName Service."},ports:{name:{required:"Port Rule [{position}] - Name is required."},nodePort:{requiredInt:"Port Rule [{position}] - Node Port must be integer values if included.",between:"Port Rule [{position}] - Node Port must be between 1 and 65535"},port:{required:"Port Rule [{position}] - Port is required.",requiredInt:"Port Rule [{position}] - Port must be integer values if included.",between:"Port Rule [{position}] - Port must be between 1 and 65535"},targetPort:{between:"Port Rule [{position}] - Target Port must be between 1 and 65535",iana:"Port Rule [{position}] - Target Port must be an IANA Service Name or Integer",ianaAt:"Port Rule [{position}] - Target Port ",required:"Port Rule [{position}] - Target Port is required"}}},setting:{serverUrl:{https:"Server URL must be https.",localhost:"If the Server URL is internal to the Rancher server (e.g. localhost) the downstream clusters may not be able to communicate with Rancher.",trailingForwardSlash:"Server URL should not have a trailing forward slash.",url:"Server URL must be an URL."}},stringLength:{between:'"{key}" should be between {min} and {max} {max, plural, =1 {character} other {characters}}',exactly:'"{key}" should be {count, plural, =1 {# character} other {# characters}}',max:'"{key}" should be at most {count} {count, plural, =1 {character} other {characters}}',min:'"{key}" should be at least {count} {count, plural, =1 {character} other {characters}}'},targets:{missingProjectId:"A target must have a project selected."},monitoring:{route:{match:"At least one Match or Match Regex must be selected",interval:'"{key}" must be of a format with digits followed by a unit i.e. 1h, 2m, 30s'}},tab:"One or more fields in this tab contain a form validation error"},wizard:{previous:"Previous",finish:"Finish",next:"Next",step:"Step {number}",edit:"Edit",create:"Create",view:"View"},wm:{connection:{connected:"Connected",connecting:"Connecting…",disconnected:"Disconnected",error:"Error"},containerLogs:{clear:"Clear",containerName:"Container: {label}",download:"Download",follow:"Follow",noData:"There are no log entries to show in the current range.",noMatch:"No lines match the current filter.",previous:"Use Previous Container",range:{all:"Everything",hours:"{value, number}\n{value, plural,\n=1 {Hour}\nother {Hours}\n}",label:"Show the last",lines:"{value, number} Lines",minutes:"{value, number} {value, plural,\n=1 {Minute}\nother {Minutes}\n}"},search:"Filter",timestamps:"Show Timestamps",wrap:"Wrap Lines"},containerShell:{clear:"Clear",containerName:"Container: {label}",failed:"Unable to open a shell to the container (none of the shell commmands succeeded)\n\r"},kubectlShell:{title:"Kubectl: {name}"}},workload:{container:{command:{addEnvVar:"Add Variable",args:"Arguments",as:"as",command:"Command",env:"Environment Variables",fromResource:{key:{label:"Key",placeholder:"e.g. metadata.labels['']"},name:{label:"Variable Name",placeholder:"e.g. FOO"},prefix:"Prefix",source:{label:"Source",placeholder:"e.g. my-container"},secret:"Secret",configMap:"ConfigMap",containerName:"Container Name",type:"Type",value:{label:"Value",placeholder:"e.g. bar"}},tty:"TTY",workingDir:"WorkingDir",stdin:"Stdin"},containerName:"Container Name",healthCheck:{checkInterval:"Check Interval",command:{command:"Command to run"},failureThreshold:"Failure Threshold",httpGet:{headers:"Request Headers",path:"Request Path",port:"Check Port"},initialDelay:"Initial Delay",livenessProbe:"Liveness Check",livenessTip:"Containers will be restarted when this check is failing. Not recommended for most uses.",noHealthCheck:"There is not a Readiness Check, Liveness Check or Startup Check configured.",readinessProbe:"Readiness Checks",readinessTip:"Containers will be removed from service endpoints when this check is failing. Recommended.",startupProbe:"Startup Check",startupTip:"Containers will wait until this check succeeds before attempting other health checks.",successThreshold:"Success Threshold",timeout:"Timeout",kind:{none:"None",HTTP:"HTTP request returns a successful status (200-399)",HTTPS:"HTTPS request returns a successful status",tcp:"TCP connection opens successfully",exec:"Command run inside the container exits with status 0"}},image:"Container Image",imagePullPolicy:"Pull Policy",imagePullSecrets:{label:"Pull Secrets",tooltip:"Must be of Type `kubernetes.io/dockercfg` or `kubernetes.io/dockerconfigjson`"},init:"Init Container",lifecycleHook:{postStart:{label:"PostStart",add:"Add PostStart Hook"},preStop:{label:"PreStop",add:"Add PreStop Hook"},exec:{title:"Exec",add:"Add command to execute",command:{label:"Command",placeholder:"e.g. sh -c 'sleep 10'"}},httpGet:{title:"HttpGet",add:"Create HTTP request",host:{label:"Host IP",placeholder:"e.g. 172.17.0.2"},path:{label:"Path",placeholder:"e.g. app/bin/endpoint?param=value"},port:{label:"Port",placeholder:"e.g. 3000"},scheme:{label:"Scheme",placeholder:"e.g. HTTP"}},httpHeaders:{title:"HTTP Headers",name:{label:"Name",placeholder:"e.g. accept-ranges"},value:{label:"Value",placeholder:"e.g. bytes"}},tcpSocket:{title:"TCPSocket",add:"Open a TCP socket",host:{label:"Host",placeholder:"e.g. 192.168.0.1"},port:{label:"Port",placeholder:"e.g. 80"}}},name:"Container Name",noResourceLimits:"There are no resource requirements configured.",noPorts:"There are no ports configured.",noServiceAccess:"You do not have permission to create or manage services",ports:{expose:"Networking",description:"Define a Service to expose the container, or define a non-functional, named port so that humans will know where the app within the container is expected to run.",detailedDescription:"If ClusterIP, LoadBalancer, or NodePort is selected, a Service is automatically created that will select the Pods in this workload using labels.",toolTip:"For help exposing workloads on Kubernetes, see the official Kubernetes documentation on Services. You can also manually create a Service to expose Pods by selecting their labels, and you can use an Ingress to map HTTP routes to Services.",createService:"Service Type",noCreateService:"Do not create a service",containerPort:"Private Container Port",hostIP:"Host IP",hostPort:"Public Host Port",name:"Name",protocol:"Protocol",listeningPort:"Listening Port"},removeContainer:"Remove Container",addContainer:"Add Container",security:{addCapabilities:"Add Capabilities",addGroupIDs:"Add Group IDs",allowPrivilegeEscalation:{label:"Privilege Escalation",false:"No",true:"Yes: container can gain more privileges than its parent process"},dropCapabilities:"Drop Capabilities",fsGroup:"Filesystem Group",hostIPC:"Use Host IPC Namespace",hostPID:"Use Host PID Namespace",podFsGroup:"Pod Filesystem Group",privileged:{label:"Privileged",false:"No",true:"Yes: container has full access to the host"},readOnlyRootFilesystem:{label:"Read-Only Root Filesystem",false:"No",true:"Yes: container has a read-only root filesystem"},runAsGroup:"Run as Group ID",runAsNonRoot:{label:"Run as Non-Root",false:"No",true:"Yes: container must run as a non-root user"},runAsNonRootOptions:{noOption:"No",yesOption:"Yes: containers must run as non-root-user"},runAsUser:"Run as User ID",shareProcessNamespace:"Share single process namespace",supplementalGroups:"Additional Group IDs",sysctls:"Sysctls",sysctlsKey:"Name"},standard:"Standard Container",terminationState:"Last state: Terminated with {lsExitCode}: {lsDescription}, started: {lsStartedAt}, finished: {lsFinishedAt}",titles:{pods:"Pods",container:"Container",command:"Command",containers:"Containers",env:"Environment Variables",events:"Events",general:"General",healthCheck:"Health Check",image:"Image",lifecycle:"Lifecycle Hooks",networking:"Networking",networkSettings:"Network Settings",podAnnotations:"Pod Annotations",podLabels:"Pod Labels",metrics:"Metrics",podScheduling:"Pod Scheduling",nodeScheduling:"Node Scheduling",ports:"Ports",resources:"Resources",securityContext:"Security Context",status:"Status",volumeClaimTemplates:"Volume Claim Templates",upgrading:"Scaling and Upgrade Policy"}},cronSchedule:"Schedule",detail:{services:"Services",ingresses:"Ingresses",cannotViewServices:"Could not list Services due to lack of permission.",cannotFindServices:"Could not find any Services that select Pods from this workload.",serviceListCaption:"The following Services select Pods from this workload:",cannotViewIngresses:"Could not list Ingresses due to lack of permission.",cannotFindIngresses:"Could not find any Ingresses that forward traffic to Services that select Pods in this workload.",ingressListCaption:"The following Ingresses forward traffic to Services that select Pods from this workload:",cannotViewIngressesBecauseCannotViewServices:"Could not find relevant relevant Ingresses due to lack of permission to view Services.",pods:{title:"Pods"}},detailTop:{node:"Node",podIP:"Pod IP",podRestarts:"Pod Restarts",workload:"Workload",pods:"Pods by State",runs:"Runs"},error:"Pod { name } Security Policy Violation { policy }",gaugeStates:{succeeded:"Successful",running:"Running",failed:"Failed"},hideTabs:"Hide Advanced Options",job:{activeDeadlineSeconds:{label:"Active Deadline",tip:"The duration that the job may be active before the system tries to terminate it."},backoffLimit:{label:"Back Off Limit",tip:"The number of retries before marking this job failed."},completions:{label:"Completions",tip:"The number of successfully finished pods the job should be run with."},failedJobsHistoryLimit:{label:"Failed Job History Limit",tip:"The number of failed finished jobs to retain."},parallelism:{label:"Parallelism",tip:"The maximum number of pods the job should run at any given time."},startingDeadlineSeconds:{label:"Starting Deadline Seconds",tip:"The deadline in seconds for starting the job if it misses scheduled time"},successfulJobsHistoryLimit:{label:"Successful Job History Limit",tip:"The number of successful finished jobs to retain."},suspend:"Suspend"},list:{errorCannotScale:"Failed to scale {workloadName} {direction, select, up { up } down { down } }"},metrics:{pod:"Pod Metrics",metricsView:"Metrics View"},networking:{dnsPolicy:{label:"DNS Policy",options:{clusterFirst:"Cluster First",clusterFirstWithHostNet:"Cluster First With Host Network",default:"Default",none:"None"},placeholder:"Select a Policy..."},hostAliases:{add:"Add Alias",keyLabel:"IP Address",keyPlaceholder:"e.g. 1.1.1.1",label:"Host Aliases",tip:"Additional /etc/hosts entries to be injected in the container.",valueLabel:"Hostname",valuePlaceholder:"e.g. foo.com, bar.com"},hostname:{label:"Hostname",placeholder:"e.g. web"},nameservers:{add:"Add Nameserver",label:"Nameservers",placeholder:"e.g. 1.1.1.1"},networkMode:{label:"Network Mode",options:{hostNetwork:"Host Network",normal:"Normal"},placeholder:"Select a Mode..."},dns:"DNS",resolver:{label:"Resolver Options",add:"Add Option"},searches:{add:"Add Search Domain",label:"Search Domains",placeholder:"e.g. mycompany.com"},subdomain:{label:"Subdomain",placeholder:"e.g. web"}},normanWarning:"It looks like this workload was created in the legacy Rancher UI. You may need to manually delete any services that were automatically created for it.",validation:{containers:"Containers",containerImage:'Container {name} - "Container Image" is required.'},replicas:"Replicas",showTabs:"Show Advanced Options",scheduling:{activeDeadlineSeconds:"Pod Active Deadline",activeDeadlineSecondsTip:"The duration that the pod may be active before the system tries to mark it failed and kill associated containers.",affinity:{addNodeSelector:"Add Node Selector",anyNode:"Run pods on any available node",affinityTitle:"Run pods on nodes with pods matching these selectors",antiAffinityTitle:"Run pods on nodes without pods matching these selectors",affinityOption:"Affinity",antiAffinityOption:"Anti-Affinity",matchFields:{label:"Fields"},matchExpressions:{label:"Expressions",addRule:"Add Rule",doesNotExist:"is not set",exists:"is set",greaterThan:">",in:"in list",inNamespaces:"Specific namespaces",key:"Key",lessThan:"<",matchType:"Match Type",namespaces:"Namespaces",notIn:"not in list",operator:"Operator",value:"Value",weight:"Weight"},noPodRules:"There are no pod scheduling rules configured.",nodeName:"Node Name",priority:"Priority",preferAny:"Prefer any of:",preferred:"Preferred",required:"Required",requireAny:"Require any of:",schedulingRules:"Run pods on node(s) matching scheduling rules",specificNode:"Run pods on specific node(s)",thisPodNamespace:"This pod's namespace",allNamespaces:"All namespaces",topologyKey:{label:"Topology Key",placeholder:"e.g. failure-domain.beta.kubernetes.io/zone"},type:"Type",weight:{label:"Weight",placeholder:"Must be a weight between 1 and 100"}},priority:{className:"Priority Class Name",priority:"Priority"},terminationGracePeriodSeconds:"Termination Grace Period",terminationGracePeriodSecondsTip:"The duration that the pod needs to terminate gracefully.",titles:{advanced:"Advanced",nodeScheduling:"Node Scheduling",nodeSelector:"Nodes with these labels",podScheduling:"Pod Scheduling",priority:"Priority",tab:"Scheduling",tolerations:"Tolerations",limits:"Limits and Reservations"},tolerations:{addToleration:"Add Toleration",effect:"Effect",effectOptions:{all:"All",noExecute:"NoExecute",noSchedule:"NoSchedule",preferNoSchedule:"PreferNoSchedule"},labelKey:"Key",operator:"Operator",operatorOptions:{equal:"=",exists:"Exists"},tolerationSeconds:"Toleration Seconds",value:"Value"}},serviceAccountName:{label:"Service Account Name",createMessage:"The service name [ {name} ] does not exist in this namespace, you will need to create it manually."},serviceName:"Service Name",storage:{subtypes:{secret:"Secret",configMap:"ConfigMap",hostPath:"Bind-Mount",persistentVolumeClaim:"Persistent Volume Claim",createPVC:"Create Persistent Volume Claim",csi:"CSI",nfs:"NFS",awsElasticBlockStore:"Amazon EBS Disk",azureDisk:"Azure Disk",azureFile:"Azure File",gcePersistentDisk:"Google Persistent Disk","driver.longhorn.io":"Longhorn",vsphereVolume:"VMWare vSphere Volume",emptyDir:"Empty Dir"},addClaim:"Add Claim",addMount:"Add Mount",addVolume:"Add Volume",selectVolume:"Select Volume",noVolumes:"Volumes will appear here after they are added in the Pod tab",certificate:"Certificate",csi:{diskName:"Disk Name",diskURI:"Disk URI",cachingMode:{label:"Caching Mode",options:{none:"None",readOnly:"Read Only",readWrite:"Read Write"}},kind:{label:"Kind",options:{dedicated:"Dedicated",managed:"Managed",shared:"Shared"}},drivers:{"driver.longhorn.io":"Longhorn"},fsType:"Filesystem Type",shareName:"Share Name",secretName:"Secret Name",volumeID:"Volume ID",partition:"Partition",pdName:"Persistent Disk Name",storagePolicyID:"Storage Policy ID",storagePolicyName:"Storage Policy Name",volumePath:"Volume Path"},defaultMode:"Default Mode",driver:"driver",hostPath:{label:"The Path on the Node must be",options:{default:"Anything: do not check the target path",directoryOrCreate:"A directory, or create if it doesn't exist",directory:"An existing directory",fileOrCreate:"A file, or create if it doesn't exist",file:"An existing file",socket:"An existing socket",charDevice:"An existing character device",blockDevice:"An existing block device"}},mountPoint:"Mount Point",nodePath:"Path on Node",optional:{label:"Optional",no:"No",yes:"Yes"},path:"Path",readOnly:"Read Only",server:"Server",subPath:"Sub Path in Volume",title:"Storage",volumeName:"Volume Name",volumePath:"Volume Path",emptyDir:{medium:{label:"Medium",default:"Node's Default Medium",memory:"Memory"},sizeLimit:{label:"Size Limit",placeholder:"e.g. 300"}}},typeDescriptions:{"apps.daemonset":"DaemonSets run exactly one pod on every eligible node. When new nodes are added to the cluster, DaemonSets automatically deploy to them. Recommended for system-wide or vertically-scalable workloads that never need more than one pod per node.","apps.deployment":"Deployments run a scalable number of replicas of a pod distributed among the eligible nodes. Changes are rolled out incrementally and can be rolled back to the previous revision when needed. Recommended for stateless & horizontally-scalable workloads.","apps.statefulset":"StatefulSets manage stateful applications and provide guarantees about the ordering and uniqueness of the pods created. Recommended for workloads with persistent storage or strict identity, quorum, or upgrade order requirements.","batch.cronjob":"CronJobs create Jobs, which then run Pods, on a repeating schedule. The schedule is expressed in standard Unix cron format, and uses the timezone of the Kubernetes control plane (typically UTC).","batch.job":"Jobs create one or more pods to reliably perform a one-time task by running a pod until it exits successfully. Failed pods are automatically replaced until the specified number of completed runs has been reached. Jobs can also run multiple pods in parallel or function as a batch work queue.",pod:"Pods are the smallest deployable units of computing that you can create and manage in Kubernetes. A Pod is a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers."},upgrading:{activeDeadlineSeconds:{label:"Pod Active Deadline",tip:"The duration the pod may be active before the system will try to mark it failed and kill associated containers."},concurrencyPolicy:{label:"Concurrency",options:{allow:"Allow CronJobs to run concurrently",forbid:"Skip next run if current run hasn't finished",replace:"Replace run if current run hasn't finished"}},maxSurge:{label:"Max Surge",tip:"The maximum number of pods allowed beyond the desired scale at any given time."},maxUnavailable:{label:"Max Unavailable",tip:"The maximum number of pods which can be unavailable at any given time."},minReadySeconds:{label:"Minimum Ready",tip:"The minimum duration a pod should be ready without containers crashing for it to be considered available."},podManagementPolicy:{label:"Pod Management Policy"},progressDeadlineSeconds:{label:"Progress Deadline",tip:"The minimum duration to wait for a deployment to progress before marking it failed."},revisionHistoryLimit:{label:"Revision History Limit",tip:"The number of old ReplicaSets to retain for rollback."},strategies:{labels:{delete:"On Delete: New pods are only created when old pods are manually deleted.",recreate:"Recreate: Kill ALL pods, then start new pods.",rollingUpdate:"Rolling Update: Create new pods, until max surge is reached, before deleting old pods. Don't stop more pods than max unavailable."}},terminationGracePeriodSeconds:{label:"Termination Grace Period",tip:"The duration the pod needs to terminate successfully."},title:"Upgrading"},tabs:{labels:{deployment:"Deployment",pod:"Pod",containers:"Containers"}}},model:{account:{kind:{admin:"Admin",agent:"Agent",project:"Environment",registeredAgent:"Registered Agent",service:"Service",user:"User"}},"catalog.cattle.io.app":{firstDeployed:"First Deployed",lastDeployed:"Last Deployed"},authConfig:{description:{ldap:"LDAP",saml:"SAML",oauth:"OAuth",oidc:"OIDC"},name:{keycloak:"Keycloak (SAML)",keycloakoidc:"Keycloak (OIDC)"},provider:{system:"System",local:"Local",multiple:"Multiple",activedirectory:"ActiveDirectory",azuread:"AzureAD",github:"GitHub",keycloak:"Keycloak",ldap:"LDAP",openldap:"OpenLDAP",shibboleth:"Shibboleth",ping:"Ping Identity",adfs:"ADFS",okta:"Okta",freeipa:"FreeIPA",googleoauth:"Google",genericoidc:"Generic OIDC",keycloakoidc:"Keycloak"}},cluster:{name:"Cluster Name"},ingress:{displayKind:"L7 Ingress"},machine:{role:{controlPlane:"Control Plane",etcd:"etcd",worker:"Worker"}},openldapconfig:{domain:{help:"Only users below this base will be used.",label:"User Search Base",placeholder:"e.g. ou=Users,dc=mycompany,dc=com"},server:{label:"Hostname or IP Address"},serviceAccountPassword:{label:"Service Account Password"},serviceAccountUsername:{label:"Service Account Username"}},projectMember:{role:{member:"Member",owner:"Owner",readonly:"Read-Only",restricted:"Restricted"}},service:{displayKind:{generic:"Service",loadBalancer:"L4 Balancer"}}},typeDescription:{"jwt.authentication":"Enable this feature on a cluster to add support for JWT authenticating downstream service accounts.",branding:"Branding allows administrators to globally re-brand the UI by customizing the Rancher product name, logos and color scheme.",chart:"All charts have at least one version that is installable on clusters with Linux and Windows nodes unless otherwise indicated.","cis.cattle.io.clusterscanbenchmark":"A benchmark version is the name of benchmark to run using kube-bench as well as the valid configuration parameters for that benchmark.","cis.cattle.io.clusterscanprofile":"A profile is the configuration for the CIS scan, which is the benchmark versions to use and any specific tests to skip in that benchmark.","cis.cattle.io.clusterscan":"A scan is created to trigger a CIS scan on the cluster based on the defined profile. A report is created after the scan is completed.","cis.cattle.io.clusterscanreport":"A report is the result of a CIS scan of the cluster.","management.cattle.io.feature":"Feature Flags allow certain {vendor} features to be toggled on and off. Features that are off by default should be considered experimental functionality.","cluster.x-k8s.io.machine":"A Machine encapsulates the configuration of a Kubernetes Node. Use this view to see what happens after updating a cluster.","cluster.x-k8s.io.machinedeployment":"A Machine Deployment orchestrates deployments via templates over a collection of Machine Sets (similar to a Deployment). Use this view to see what happens after updating a cluster.","cluster.x-k8s.io.machineset":"A Machine Set ensures the desired number of Machine resources are up and running at all times (similar to a ReplicaSet). Use this view to see what happens after updating a cluster.","resources.cattle.io.backup":"A backup is created to perform one-time backups or schedule recurring backups based on a ResourceSet.","resources.cattle.io.restore":"A restore is created to trigger a restore to the cluster based on a backup file.","resources.cattle.io.resourceset":"A resource set defines which CRDs and resources to store in the backup.","monitoring.coreos.com.servicemonitor":"A service monitor defines the group of services and the endpoints that Prometheus will scrape for metrics. This is the most common way to define metrics collection.","monitoring.coreos.com.podmonitor":"A pod monitor defines the group of pods that Prometheus will scrape for metrics. The common way is to use service monitors, but pod monitors allow you to handle any situation where a service monitor wouldn't work.","monitoring.coreos.com.prometheusrule":"A Prometheus Rule resource defines both recording and/or alert rules. A recording rule can pre-compute values and save the results. Alerting rules allow you to define conditions on when to send notifications to AlertManager.","monitoring.coreos.com.prometheus":"A Prometheus server is a Prometheus deployment whose scrape configuration and rules are determined by selected ServiceMonitors, PodMonitors, and PrometheusRules and whose alerts will be sent to all selected Alertmanagers with the custom resource's configuration.","monitoring.coreos.com.alertmanager":"An alert manager is deployment whose configuration will be specified by a secret in the same namespace, which determines which alerts should go to which receiver.",node:"The base Kubernetes Node resource represents a virtual or physical machine which hosts deployments. To manage the machine lifecycle, if available, go to Cluster Management.","catalog.cattle.io.clusterrepo":"A chart repository is a Helm repository or {vendor} git based application catalog. It provides the list of available charts in the cluster.","catalog.cattle.io.clusterrepo.local":" A chart repository is a Helm repository or {vendor} git based application catalog. It provides the list of available charts in the cluster. Cluster Templates are deployed via Helm charts.","catalog.cattle.io.operation":"An operation is the list of recent Helm operations that have been applied to the cluster.","catalog.cattle.io.app":"An installed application is a Helm 3 chart that was installed either via our charts or through the Helm CLI.","logging.banzaicloud.io.clusterflow":"Logs from the cluster will be collected and logged to the selected Cluster Output.","logging.banzaicloud.io.clusteroutput":"A cluster output defines which logging providers that logs can be sent to and is only effective when deployed in the namespace that the logging operator is in.","logging.banzaicloud.io.flow":"A flow defines which logs to collect and filter as well as which output to send the logs. The flow is a namespaced resource, which means logs will only be collected from the namespace that the flow is deployed in.","logging.banzaicloud.io.output":"An output defines which logging providers that logs can be sent to. The output needs to be in the same namespace as the flow that is using it.","group.principal":"Assigning global roles to a group only works with external auth providers that support groups. Local authorization does not support groups."},typeLabel:{"management.cattle.io.token":"{count, plural,\n one { API Key }\n other { API Keys }\n}","cis.cattle.io.clusterscan":"{count, plural,\n one { Scan }\n other { Scans }\n}","cis.cattle.io.clusterscanprofile":"{count, plural,\n one { Profile }\n other { Profiles }\n}","cis.cattle.io.clusterscanbenchmark":"{count, plural,\n one { Benchmark Version }\n other { Benchmark Versions }\n}","catalog.cattle.io.operation":"{count, plural,\n one { Recent Operation }\n other { Recent Operations }\n}","catalog.cattle.io.app":"{count, plural,\n one { Installed App }\n other { Installed Apps }\n}","catalog.cattle.io.clusterrepo":"{count, plural,\n one { Repository }\n other { Repositories }\n}","catalog.cattle.io.repo":"{count, plural,\n one { Namespaced Repo }\n other { Namespaced Repos }\n}",chartinstallaction:"{count, plural,\n one { App }\n other { Apps }\n}",chartupgradeaction:"{count, plural,\n one { App }\n other { Apps }\n}",cloudcredential:"{count, plural,\n one { Cloud Credential }\n other { Cloud Credentials }\n}",kontainerdriver:"{count, plural,\n one { Cluster Driver }\n other { Cluster Drivers }\n}",nodedriver:"{count, plural,\n one { Node Driver }\n other { Node Drivers }\n}",endpoints:"{count, plural,\n one { Endpoint }\n other { Endpoints }\n}","fleet.cattle.io.cluster":"{count, plural,\n =1 { Cluster }\n other {Clusters }\n}","fleet.cattle.io.clustergroup":"{count, plural,\n one { Cluster Group }\n other {Cluster Groups }\n}","fleet.cattle.io.gitrepo":"{count, plural,\n one { Git Repo }\n other {Git Repos }\n}","management.cattle.io.authconfig":"{count, plural,\n one { Authentication Provider }\n other { Authentication Providers }\n}","management.cattle.io.clusterroletemplatebinding":"{count, plural,\n one { Cluster Membership }\n other { Cluster Memberships }\n}",projectroletemplatebinding:"{count, plural,\n one { Project Membership }\n other { Project Memberships }\n}","management.cattle.io.feature":"{count, plural,\n one { Feature Flag }\n other { Feature Flags }\n}","management.cattle.io.setting":"{count, plural,\n one { Setting }\n other { Settings }\n}","management.cattle.io.fleetworkspace":"{count, plural,\n one { Workspace }\n other { Workspaces }\n}","management.cattle.io.podsecurityadmissionconfigurationtemplate":"{count, plural,\n one { Pod Security Admission }\n other { Pod Security Admissions }\n}","policy.poddisruptionbudget":"{count, plural,\n one { Pod Disruption Budget }\n other { Pod Disruption Budgets }\n}",limitrange:"{count, plural,\n one { Limit Range }\n other { Limit Ranges }\n}",resourcequota:"{count, plural,\n one { Resource Quota }\n other { Resource Quotas }\n}","monitoring.coreos.com.prometheus":"{count, plural,\n one { Prometheus }\n other { Prometheis }\n}","helm.cattle.io.projecthelmchart":"{count, plural,\n one { Project Monitor }\n other { Project Monitors }\n}","monitoring.coreos.com.servicemonitor":"{count, plural,\n one { Service Monitor }\n other { Service Monitors }\n}","monitoring.coreos.com.alertmanager":"{count, plural,\n one { Alertmanager }\n other { Alertmanagers }\n}","monitoring.coreos.com.alertmanagerconfig":"{count, plural,\n one { AlertmanagerConfig }\n other { AlertmanagerConfigs }\n}","monitoring.coreos.com.podmonitor":"{count, plural,\n one { Pod Monitor }\n other { Pod Monitors }\n}","monitoring.coreos.com.prometheusrule":"{count, plural,\n one { PrometheusRule }\n other { PrometheusRules }\n}","monitoring.coreos.com.thanosruler":"{count, plural,\n one { Thanos Rule }\n other { Thanos Rules }\n}","monitoring.coreos.com.receiver":"{count, plural,\n one { Receiver }\n other { Receivers }\n}","monitoring.coreos.com.route":"{count, plural,\n one { Route }\n other { Routes }\n}","management.cattle.io.cluster":"{count, plural,\n one { Mgmt Cluster }\n other { Mgmt Clusters }\n}","cluster.x-k8s.io.cluster":"{count, plural,\n one { CAPI Cluster }\n other { CAPI Clusters }\n}","provisioning.cattle.io.cluster":"{count, plural,\n one { Cluster }\n other { Clusters }\n}","management.cattle.io.user":"{count, plural,\n one { User }\n other { Users}\n}",namespace:"{count, plural,\n one { Namespace }\n other { Namespaces }\n}",node:"{count, plural,\n one { Node }\n other { Nodes }\n}",event:"{count, plural,\n one { Event }\n other { Events }\n}","apps.deployment":"{count, plural,\n one { Deployment }\n other { Deployments }\n}","batch.cronjob":"{count, plural,\n one { CronJob }\n other { CronJobs }\n}","apps.daemonset":"{count, plural,\n one { DaemonSet }\n other { DaemonSets }\n}","batch.job":"{count, plural,\n one { Job }\n other { Jobs }\n}","apps.statefulset":"{count, plural,\n one { StatefulSet }\n other { StatefulSets }\n}",pod:"{count, plural,\n one { Pod }\n other { Pods }\n}","autoscaling.horizontalpodautoscaler":"{count, plural,\n one { HorizontalPodAutoscaler }\n other { HorizontalPodAutoscalers }\n}","networking.k8s.io.ingress":"{count, plural,\n one { Ingress }\n other { Ingresses }\n}","networking.k8s.io.networkpolicy":"{count, plural,\n one { Network Policy }\n other { Network Policies }\n}",service:"{count, plural,\n one { Service }\n other { Services }\n}",persistentvolume:"{count, plural,\n one { PersistentVolume }\n other { PersistentVolumes }\n}","storage.k8s.io.storageclass":"{count, plural,\n one { StorageClass }\n other { StorageClasses }\n}",configmap:"{count, plural,\n one { ConfigMap }\n other { ConfigMaps }\n}",persistentvolumeclaim:"{count, plural,\n one { PersistentVolumeClaim }\n other { PersistentVolumeClaims }\n}",secret:"{count, plural,\n one { Secret }\n other { Secrets }\n}","apiregistration.k8s.io.apiservice":"{count, plural,\n one { APIService }\n other { APIServices }\n}","apiextensions.k8s.io.customresourcedefinition":"{count, plural,\n one { CustomResourceDefinition }\n other { CustomResourceDefinitions }\n}","flowcontrol.apiserver.k8s.io.flowschema":"{count, plural,\n one { FlowSchema }\n other { FlowSchemas }\n}","flowcontrol.apiserver.k8s.io.prioritylevelconfiguration":"{count, plural,\n one { PriorityLevelConfiguration }\n other { PriorityLevelConfigurations }\n}","apps.replicaset":"{count, plural,\n one { ReplicaSet }\n other { ReplicaSets }\n}","coordination.k8s.io.lease":"{count, plural,\n one { Lease }\n other { Leases }\n}",serviceaccount:"{count, plural,\n one { ServiceAccount }\n other { ServiceAccounts }\n}","discovery.k8s.io.endpointslice":"{count, plural,\n one { EndpointSlice }\n other { EndpointSlices }\n}","admissionregistration.k8s.io.mutatingwebhookconfiguration":"{count, plural,\n one { MutatingWebhookConfiguration }\n other { MutatingWebhookConfigurations }\n}","admissionregistration.k8s.io.validatingwebhookconfiguration":"{count, plural,\n one { ValidatingWebhookConfiguration }\n other { ValidatingWebhookConfigurations }\n}","group.principal":"{count, plural,\n one { Group }\n other { Groups }\n}",token:"{count, plural,\n one { API Key }\n other { API Keys }\n}",workload:"{count, plural,\n one { Workload }\n other { Workloads }\n}","harvesterhci.io.management.cluster":"{count, plural,\n one { Harvester Cluster }\n other { Harvester Clusters }\n}","harvesterhci.io.cloudtemplate":"{count, plural,\n one { Cloud Config Template }\n other { Cloud Config Templates }\n}","fleet.cattle.io.content":"{count, plural,\n one { Content }\n other { Contents }\n}","fleet.cattle.io.bundle":"{count, plural,\n one { Bundle }\n other { Bundles }\n}","fleet.cattle.io.bundledeployment":"{count, plural,\n one { BundleDeployment }\n other { BundleDeployments }\n}","k3s.cattle.io.addon":"{count, plural,\n one { Addon }\n other { Addons }\n}","management.cattle.io.apiservice":"{count, plural,\n one { APIService }\n other { APIServices }\n}","management.cattle.io.catalog":"{count, plural,\n one { Catalog }\n other { Catalogs }\n}","fleet.cattle.io.clusterregistration":"{count, plural,\n one { ClusterRegistration }\n other { ClusterRegistrations }\n}","management.cattle.io.dynamicschema":"{count, plural,\n one { DynamicSchema }\n other { DynamicSchemas }\n}","management.cattle.io.globalrolebinding":"{count, plural,\n one { GlobalRoleBinding }\n other { GlobalRoleBindings }\n}","management.cattle.io.kontainerdriver":"{count, plural,\n one { KontainerDriver }\n other { KontainerDrivers }\n}","management.cattle.io.nodedriver":"{count, plural,\n one { NodeDriver }\n other { NodeDrivers }\n}","management.cattle.io.podsecuritypolicytemplate":"{count, plural,\n one { PodSecurityPolicyTemplate }\n other { PodSecurityPolicyTemplates }\n}","management.cattle.io.userattribute":"{count, plural,\n one { UserAttribute }\n other { UserAttributes }\n}","management.cattle.io.catalogtemplate":"{count, plural,\n one { CatalogTemplate }\n other { CatalogTemplates }\n}","management.cattle.io.catalogtemplateversion":"{count, plural,\n one { CatalogTemplateVersion }\n other { CatalogTemplateVersions }\n}","management.cattle.io.cisbenchmarkversion":"{count, plural,\n one { CisBenchmarkVersion }\n other { CisBenchmarkVersions }\n}","management.cattle.io.cisconfig":"{count, plural,\n one { CisConfig }\n other { CisConfigs }\n}","management.cattle.io.clusteralertgroup":"{count, plural,\n one { ClusterAlertGroup }\n other { ClusterAlertGroups }\n}","management.cattle.io.clusteralertrule":"{count, plural,\n one { ClusterAlertRule }\n other { ClusterAlertRules }\n}","management.cattle.io.clusterregistrationtoken":"{count, plural,\n one { ClusterRegistrationToken }\n other { ClusterRegistrationTokens }\n}","management.cattle.io.node":"{count, plural,\n one { Node }\n other { Nodes }\n}","management.cattle.io.projectalertgroup":"{count, plural,\n one { ProjectAlertGroup }\n other { ProjectAlertGroups }\n}","management.cattle.io.projectalertrule":"{count, plural,\n one { ProjectAlertRule }\n other { ProjectAlertRules }\n}","management.cattle.io.rkeaddon":"{count, plural,\n one { RkeAddon }\n other { RkeAddons }\n}","management.cattle.io.rkek8sserviceoption":"{count, plural,\n one { RkeK8sServiceOption }\n other { RkeK8sServiceOptions }\n}","management.cattle.io.rkek8ssystemimage":"{count, plural,\n one { RkeK8sSystemImage }\n other { RkeK8sSystemImages }\n}","rbac.authorization.k8s.io.clusterrolebinding":"{count, plural,\n one { ClusterRoleBinding }\n other { ClusterRoleBindings }\n}","rbac.authorization.k8s.io.clusterrole":"{count, plural,\n one { ClusterRole }\n other { ClusterRoles }\n}","rbac.authorization.k8s.io.rolebinding":"{count, plural,\n one { RoleBinding }\n other { RoleBindings }\n}","rbac.authorization.k8s.io.role":"{count, plural,\n one { Role }\n other { Roles }\n}","scheduling.k8s.io.priorityclass":"{count, plural,\n one { PriorityClass }\n other { PriorityClasses }\n}","storage.k8s.io.csinode":"{count, plural,\n one { CSINode }\n other { CSINodes }\n}","cluster.x-k8s.io.machinedeployment":"{count, plural,\n one { MachineDeployment }\n other { MachineDeployments }\n}","cluster.x-k8s.io.machineset":"{count, plural,\n one { MachineSet }\n other { MachineSets }\n}","cluster.x-k8s.io.machine":"{count, plural,\n one { Machine }\n other { Machines }\n}","fleet.cattle.io.clusterregistrationtoken":"{count, plural,\n one { Cluster Registration Token }\n other { Cluster Registration Tokens }\n}"},action:{clone:"Clone",disable:"Disable",download:"Download YAML",edit:"Edit Config",editYaml:"Edit YAML",enable:"Enable",openLogs:"View Logs",refresh:"Refresh",remove:"Delete",view:"View Config",viewInApi:"View in API",viewYaml:"View YAML",activate:"Activate",deactivate:"Deactivate",show:"Show",hide:"Hide",copy:"Copy",unassign:"Unassign",uninstall:"Uninstall",redeploy:"Redeploy",addSidecar:"Add Sidecar",rollback:"Rollback",openShell:"Execute Shell",runNow:"Run Now",suspend:"Suspend",resume:"Resume"},unit:{sec:"secs",min:"mins",hour:"{count, plural,\n one { hour }\n other { hours }\n}",day:"{count, plural,\n one { day }\n other { days }\n}"},workloadPorts:{addPort:"Add Port or Service",remove:"Remove",addHost:"Add Host"},podAffinity:{addLabel:"Add Pod Selector"},keyValue:{keyPlaceholder:"e.g. foo",valuePlaceholder:"e.g. bar",protip:"Paste lines of key=value or key:value into any key field for easy bulk entry"},registryMirror:{header:"Mirrors",toolTip:"Mirrors can be used to redirect requests for images from one registry to come from a list of endpoints you specify instead. For example docker.io could redirect to your internal registry instead of ever going to DockerHub.",addLabel:"Add Mirror",description:"Mirrors define the names and endpoints for private registries. The endpoints are tried one by one, and the first working one is used.",hostnameLabel:"Registry Hostname",hostnamePlaceholder:"e.g. docker.io or *",endpointsLabel:"Mirror Endpoints",endpointsPlaceholder:"e.g. a.registry.com:5000, b.registry.com:5000"},registryMirrorRewrite:{header:"Rewrites",toolTip:"Each mirror can have a set of rewrites. Rewrites can change the tag of an image based on a regular expression.",addLabel:"Add Rewrite Config",keyLabel:"Rewrite pattern",keyPlaceholder:"e.g. ^rancher/(.*)",valueLabel:"Rewrite replacement",valuePlaceholder:"e.g. mirrorproject/rancher-images/$1"},registryConfig:{header:"Registry Authentication",toolTip:"When an image needs to be pulled from the given registry hostname, this information will be used to verify the identity of the registry and authenticate to it.",addLabel:"Add Registry",description:"Define the TLS and credential configuration for each registry hostname and mirror."},advancedSettings:{label:"Settings",subtext:"Typical users will not need to change these. Proceed with caution, incorrect values can break your {appName} installation. Settings which have been customized from default settings are tagged 'Modified'.",show:"Show",hide:"Hide",none:"None",modified:"Modified",edit:{label:"Edit Setting",changeSetting:"Change Setting:",trueOption:"True",falseOption:"False",value:"Value",useDefault:"Use the default value",invalidJSON:"Invalid JSON - please check and correct your input before saving"},descriptions:{cacerts:"CA Certificates needed to verify the server's certificate.","password-min-length":"Define minimum characters required for an user password.","cluster-defaults":"Override RKE Defaults when creating new clusters.","engine-install-url":"Default Docker engine installation URL (for most node drivers).","engine-iso-url":"Default OS installation URL (for vSphere driver).","engine-newest-version":"The newest supported version of Docker at the time of this release. A Docker version that does not satisfy supported docker range but is newer than this will be marked as untested.","engine-supported-range":"Semver range for supported Docker engine versions. Versions which do not satisfy this range will be marked unsupported in the UI.","ingress-ip-domain":"Wildcard DNS domain to use for automatically generated Ingress hostnames. .. will be added to the domain.","server-url":"Default {appName} install url. Must be HTTPS. All nodes in your cluster must be able to reach this.","system-default-registry":"Private registry to be used for all Rancher System Container Images. If no value is specified, the default registry for the container runtime is used. For Docker and containerd, the default is `docker.io`.","ui-index":"HTML index location for the Cluster Manager UI.","ui-dashboard-index":"HTML index location for the {appName} UI.","ui-offline-preferred":"Controls whether UI assets are served locally by the server container or from the remote URL defined in the ui-index and ui-dashboard-index settings. The `Dynamic` option will use local assets in production builds of {appName}.","ui-pl":"Private-Label company name.","telemetry-opt":"Telemetry reporting opt-in.","auth-user-info-max-age-seconds":"The maximum age of a users auth tokens before an auth provider group membership sync will be performed.","auth-user-info-resync-cron":"Default cron schedule for resyncing auth provider group memberships.","cluster-template-enforcement":"Non-admins will be restricted to launching clusters via preapproved RKE Templates only.","auth-user-session-ttl-minutes":"Custom TTL (in minutes) on a user auth session.","auth-token-max-ttl-minutes":"Max TTL (in minutes) for all authentication tokens. When set to 0, the token never expires.","kubeconfig-generate-token":"Automatically generate tokens for users when a kubeconfig is requested.","kubeconfig-default-token-ttl-minutes":"TTL (in minutes) applied on all kubeconfig tokens. When set to 0, the token never expires.","rke-metadata-config":"Configure RKE metadata refresh parameters.","ui-banners":"Classification banner is used to display a custom fixed banner in the header, footer, or both.","custom-notifications":"Edit custom notifications","ui-consent-banner":"Banner is used to display a custom consent banner presented to users during login.","ui-default-landing":"The default page users land on after login.",brand:"Folder name for an alternative theme defined in '/assets/brand'","hide-local-cluster":"Hide the local cluster","agent-tls-mode":"Rancher Certificate Verification. In `strict` mode the agents (system, cluster, fleet, etc) will only trust Rancher installations which are using a certificate signed by the CABundle in the `cacerts` setting. When the mode is system-store, the agents will trust any certificate signed by a CABundle in the operating system’s trust store."},warnings:{"agent-tls-mode":"Changing this setting will cause all agents to be redeployed."},editHelp:{"ui-banners":"This setting takes a JSON object containing 3 root parameters; banner, showHeader, showFooter. banner is an object containing; textColor, background, and text, where textColor and background are any valid CSS color value."},enum:{"ui-default-landing":{ember:"Cluster Manager",vue:"Cluster Explorer"},"telemetry-opt":{prompt:"Prompt",in:"Opt-in to Telemetry",out:"Opt-out of Telemetry"},"ui-offline-preferred":{dynamic:"Dynamic",true:"Local",false:"Remote"},"harv-ui-source":{auto:"Auto",bundled:"Bundled",external:"External"},"harv-log-level":{info:"Info",debug:"Debug",trace:"Trace"},"agent-tls-mode":{strict:"Strict","system-store":"System Store"}}},featureFlags:{label:"Feature Flags",warning:"Feature flags allow {vendor} to gate certain features behind flags.\nFeatures that are off by default should be considered experimental functionality.\nSome features require a restart of the {vendor} server to change.\nThis will result in a short outage of the API and UI, but not affect running clusters or workloads.",promptActivate:'Please confirm that you want to activate the feature flag "{flag}"',promptDeactivate:'Please confirm that you want to deactivate the feature flag "{flag}"',restartRequired:"Note: Updating this feature flag requires a restart",restart:{title:"Waiting for Restart",wait:"This may take a few moments"}},performance:{label:"UI Performance Settings",settingName:"Performance",experimental:"This setting is experimental and may be removed or updated in future versions.",incrementalLoad:{label:"Incremental Loading",setting:"You can configure the threshold above which incremental loading will be used.",description:"When enabled, resources will appear more quickly, but it may take slightly longer to load the entire set of resources. This setting only applies to resources that come from the Kubernetes API",checkboxLabel:"Enable incremental loading",inputLabel:"Resource Threshold",incompatibleDescription:"Incremental Loading is incompatible with Namespace/Project filtering and Server-side Pagination. Enabling this will disable them."},manualRefresh:{label:"Manual Refresh",setting:"You can configure a threshold above which manual refresh will be enabled.",buttonTooltip:"Refresh list",description:"When enabled, list data will not auto-update but instead the user must manually trigger a list-view refresh. This setting only applies to resources that come from the Kubernetes API",checkboxLabel:"Enable manual refresh of data for lists",inputLabel:"Resource Threshold",incompatibleDescription:"Manual Refresh is incompatible with Namespace/Project filtering and Server-side Pagination. Enabling this will disable them."},websocketNotification:{label:"Websocket Notifications",description:"When checked, websocket notifications will not appear when the UI detects a disconnection.",checkboxLabel:"Disable websocket notifications"},gc:{label:"Resource Garbage Collection",description:"The UI will cache Kubernetes resources locally to avoid having to re-fetch them. In some cases this can lead to a large amount of data stored in the browser. Enable this setting to periodically remove them.",checkboxLabel:"Enable Garbage Collection",whenRun:{description:"Update when garbage collection runs",intervalCheckBox:{label:"Run garbage collection periodically"},interval:{inputLabel:"Run every"},route:{description:"Run garbage collection on page change",inputLabel:"Page Change"}},howRun:{description:"Update how garbage collection runs",age:{description:"Resource types musn't have been accessed within this period to be considered for garbage collection.",inputLabel:"Resource Age"},count:{description:"Resource types must exceed this amount to be considered for garbage collection.",inputLabel:"Resource Count"}}},nsFiltering:{label:"Require Namespace / Project Filtering",description:"Require the user to select namespaces and/or projects. This restricts the number of resources fetched when viewing lists and should help the responsiveness of the UI in systems with a lot of resources.",checkboxLabel:"Enable Required Namespace / Project Filtering",incompatibleDescription:"Required Namespace / Project Filtering is incompatible with Manual Refresh and Incremental Loading. Enabling this will disable them."},advancedWorker:{label:"Websocket Web Worker",description:"Updates to resources pushed to the UI come via WebSocket and are handled in the UI thread. Enable this option to handle cluster WebSocket updates in a Web Worker in a separate thread. This should help the responsiveness of the UI in systems where resources change often.",checkboxLabel:"Enable Advanced Websocket Web Worker"},inactivity:{title:"Inactivity",checkboxLabel:"Enable inactivity session expiration",inputLabel:"Inactivity timeout (minutes)",information:"To change the automatic logout behaviour, edit the authorisation and/or session token timeout values (auth-user-session-ttl-minutes and auth-token-max-ttl-minutes) in the Settings page.",description:"When enabled and the user is inactive past the specified timeout, the UI will no longer fresh page content and the user must reload the page to continue.",authUserTTL:"This timeout cannot be higher than the user session timeout auth-user-session-ttl-minutes, which is currently {current} minutes."},serverPagination:{label:"Server-side Pagination",description:"By default Lists will fetch all resources and paginate in the browser (create the page given sorting and filtering settings). Change this setting to enable pagination server-side. This should help the responsiveness of the UI in systems with a lot of resources.",checkboxLabel:"Enable Server-side Pagination",applicable:"This applies to the following resource types",incompatibleDescription:"Server-side Pagination is incompatible with Manual Refresh and Incremental Loading. Enabling this will disable them.",featureFlag:'The Feature Flag `ui-sql-cache` must be enabled to use this feature',resources:{generic:"most resources in the cluster's 'More Resources' section",all:"All Resources"}}},banner:{label:"Fixed Banners",settingName:"Banners",headerBanner:"Header Banner",footerBanner:"Footer Banner",loginScreenBanner:"Login Screen Banner",text:"Text",buttonText:"Accept Button Text",textColor:"Text Color",background:"Background Color",showHeader:"Show Banner in Header",showFooter:"Show Banner in Footer",showConsent:"Show Consent Banner on Login Screen",showAsDialog:{defaultButtonText:"Accept",label:"Show Login Consent as a modal dialog",tooltip:"Show a modal dialog on the login screen that must be accepted by a user before they can login"},bannerAlignment:{label:"Text Alignment",leftOption:"Left",centerOption:"Center",rightOption:"Right"},bannerDecoration:{label:"Text Decoration",bannerBold:"Bold",bannerItalic:"Italic",bannerUnderline:"Underline"},bannerFontSize:{label:"Font Size"},consent:"Consent Banner",consentFootnote:"Tip: Use \\n character for line break",individualSetting:'This banner is managed by the setting "{name}" and can not be modified in the UI'},branding:{label:"Branding",directoryName:"Brand Asset Directory Name",logos:{label:"Logo",tip:"Upload a logo to replace the Rancher logo in the top-level navigation header. Image height should be 21 pixels with a max width of 200 pixels. Max file size is 20KB. Accepted formats: JPEG, PNG, SVG.",lightPreview:"Light Theme Preview",darkPreview:"Dark Theme Preview",uploadLight:"Upload Light Logo",uploadDark:"Upload Dark Logo",useCustom:"Use a Custom Logo"},banner:{label:"Banner",tip:"Upload an image to replace the default Rancher banner in the Dashboard page. We recommend using an SVG image with an aspect ratio of 6:1. The default image size is 4197x633. Max file size is 200KB. Accepted formats: JPEG, PNG, SVG.",lightPreview:"Light Theme Preview",darkPreview:"Dark Theme Preview",uploadLight:"Upload Light Banner",uploadDark:"Upload Dark Banner",useCustom:"Use a Custom Banner"},loginBackground:{label:"Login Background",tip:"Upload an image to replace the default Rancher background in the Login page. We recommend using an SVG image with an aspect ratio of 7:8. The default image size is 683x768. Max file size is 200KB. Accepted formats: JPEG, PNG, SVG.",lightPreview:"Light Theme Preview",darkPreview:"Dark Theme Preview",uploadLight:"Upload Light Background",uploadDark:"Upload Dark Background",useCustom:"Use a Custom Background"},favicon:{label:"Favicon",tip:"Upload an icon to replace the Rancher favicon in the browser tab. Max file size is 20KB.",preview:"Favicon Preview",upload:"Upload Favicon",useCustom:"Use a Custom Favicon"},options:{default:"Default Rancher Theme",suse:"SUSE Theme",custom:"Define a Custom Theme"},uiPL:{label:"Private Label"},color:{label:"Primary Color",tip:"You can override the primary color used throughout the UI with a custom color of your choice.",useCustom:"Use a Custom Color"},linkColor:{label:"Link Color",tip:"You can override the link color used throughout the UI with a custom color of your choice.",useCustom:"Use a Custom Link Color",example:"Link Example"}},notifications:{header:"Custom notifications",menuLabel:"Custom Notifications",loginError:{header:"Login Failed Banner",showCheckboxLabel:"Show custom login error",messageLabel:"Text to display"}},resourceQuota:{label:"Resource Quotas",headers:{limit:"Limit",namespaceDefaultLimit:"Namespace Default Limit",projectLimit:"Project Limit",projectResourceAvailability:"Project Resource Availability",resourceType:"Resource Type"},helpText:"Configure how much of the resources the namespace as a whole can consume.",helpTextDetail:"The amount of resources the namespace as a whole can consume.",helpTextHarvester:"VMs need to reserve additional memory overhead.",configMaps:"Config Maps",limitsCpu:"CPU Limit",limitsMemory:"Memory Limit",persistentVolumeClaims:"Persistent Volume Claims",pods:"Pods",replicationControllers:"Replication Controllers",requestsCpu:"CPU Reservation",requestsMemory:"Memory Reservation",requestsStorage:"Storage Reservation",secrets:"Secrets",services:"Services",servicesLoadBalancers:"Services Load Balancers",servicesNodePorts:"Service Node Ports",namespaceLimit:{label:"Namespace Limit"},projectLimit:{label:"Project Limit",cpuPlaceholder:"e.g. 2000",memoryPlaceholder:"e.g. 2048",storagePlaceholder:"e.g. 50",unitlessPlaceholder:"e.g. 50"},namespaceDefaultLimit:{label:"Namespace Default Limit",cpuPlaceholder:"e.g. 500",memoryPlaceholder:"e.g. 1024",storagePlaceholder:"e.g. 10",unitlessPlaceholder:"e.g. 10"},add:{label:"Add Resource"},tooltip:{reserved:"Other Namespaces:",namespace:"This Namespace:",available:"Available:",max:"Total:"}},customLinks:{displayTitle:"Links",label:"Home Links",description:"Configure the links to display on the home page. You can define your own custom links as well as show or hide default links.",restoreDefaults:"Restore Defaults",addLink:"Add Link",restoreSuccess:"Default URLs have been restored.",settings:{default:"Default Links",custom:"Custom Links",keyLabel:"Display Text",valueLabel:"URL",showLabel:"Show"},defaults:{docs:"Docs",forums:"Forums",slack:"Slack",issues:"File an Issue",getStarted:"Get Started",commercialSupport:"Commercial Support",suseCollective:"SUSE Collective"}},support:{community:{title:"SUSE Rancher provides world-class support",linksTitle:"Community Support",learnMore:"Find out more about SUSE Rancher Support",pricing:"Contact us for pricing"},subscription:{haveSupport:"Already have support?",addSubscription:"Add a Subscription ID",removeSubscription:"Remove your Subscription ID",addTitle:"Add your SUSE Subscription ID",addLabel:"Please enter a valid Subscription ID:",removeTitle:"Remove your ID?",removeBody:"Note: This will not affect your subscription."},suse:{title:"Great News - You're covered",editBrand:"Customize UI Theme",access:{title:"Get Support",text:"Login to SUSE Customer Center to access support for your subscription",action:"SUSE Customer Center",aws:{generateConfig:"Generate Support Config",text:"Login to SUSE Customer Center to access support for your subscription. Need to open a new support case? Download a support config file below."}}},promos:{one:{title:"24x7 Support",text:"We provide tightly defined SLAs, and offer round the clock support options."},two:{title:"Issue Resolution",text:"Run SUSE Rancher products with confidence, knowing that the developers who built them are available to quickly resolve issues."},three:{title:"Troubleshooting",text:"We focus on uncovering the root cause of any issue, whether it is related to Rancher Labs products, Kubernetes, Docker or your underlying infrastructure."},four:{title:"Innovate with Freedom",text:"Take advantage of our certified compatibility with a wide range of Kubernetes providers, operating systems, and open source software."}}},embedding:{retry:"Retry",unavailable:"Cluster Manager UI is not available"},legacy:{alerts:"Alerts",apps:"Apps",catalogs:"Catalogs",configMaps:"Config Maps",configuration:"Configuration",globalDnsEntries:"Global DNS Entries",globalDnsProviders:"Global DNS Providers",notifiers:"Notifiers",monitoring:"Monitoring",secrets:"Secrets",project:{label:"Project",select:"Use the Project/Namespace filter at the top of the page to select a Project in order to see legacy Project features."}},serverUpgrade:{title:"{vendor} Server Changed",message:"The page reloaded because the version of {vendor} running on your server changed."},volumeClaimTemplate:{add:{label:"Add Claim Template"}},manager:{cloudCredentials:{label:"Cloud Credentials"},drivers:{label:"Drivers"},rkeTemplates:{label:"RKE Templates"},nodeTemplates:{label:"Node Templates"},jwtAuthentication:{label:"JWT Authentication"}},auth:{roleTemplate:"Role Templates",config:{label:"Auth Provider"}},vncConsole:{error:{message:"Web VNC console connection is disconnected"}},gitPicker:{github:{label:"GitHub",tableHeaders:{choose:{label:"Select"},sha:{label:"SHA"},author:{label:"Author",unknown:"Unknown"},message:{label:"Message"},date:{label:"Date"}},username:{label:"Username / Organization",inputLabel:"Username / Organization",tooltip:"Username / Organization of the Git Repository"},branch:{label:"Branch",inputLabel:"Branch",tooltip:"Branch to deploy"},repo:{label:"Repository",inputLabel:"Repository",tooltip:"Repository to deploy from"},commits:{label:"Commits",tooltip:"Commits to deploy from"},commit:{label:"Commit",inputLabel:"Commit"},commitMessage:{label:"Commit Message"},errors:{noAccount:"No GitHub account or Organization found. Please review your query and try again.",noBranch:"No branch found. Please review your query and try again."}},gitlab:{label:"GitLab",tableHeaders:{choose:{label:"Select"},sha:{label:"SHA"},author:{label:"Author",unknown:"Unknown"},message:{label:"Message"},date:{label:"Date"}},username:{label:"Username / Organization",inputLabel:"Username / Organization",tooltip:"Username / Organization of the Git Repository"},branch:{label:"Branch",inputLabel:"Branch",tooltip:"Branch to deploy"},repo:{label:"Repository",inputLabel:"Repository",tooltip:"Repository to deploy from"},commits:{label:"Commits",tooltip:"Commits to deploy from"},commit:{label:"Commit",inputLabel:"Commit"},commitMessage:{label:"Commit Message"},errors:{noAccount:"No GitLab account or Organization found. Please review your query and try again.",noBranch:"No branch found. Please review your query and try again."}}},networkAttachmentDefinition:{tabs:{config:"Config"}}}];module.exports=doc.length<=1?doc[0]:doc},"./node_modules/memoizerific sync recursive":module=>{function webpackEmptyContext(req){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id="./node_modules/memoizerific sync recursive",module.exports=webpackEmptyContext},"../shell/utils/array.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Gj:()=>removeObject,IU:()=>clear,PG:()=>addObject,WP:()=>filterBy,Wq:()=>removeAt,cn:()=>addObjects,cy:()=>isArray,fH:()=>findStringIndex,jq:()=>findBy,oY:()=>hasDuplicatedStrings,sb:()=>uniq});__webpack_require__("../node_modules/lodash/xor.js");var _shell_utils_object__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../shell/utils/object.js");function removeObject(ary,obj){const idx=ary.indexOf(obj);return idx>=0&&ary.splice(idx,1),ary}function addObject(ary,obj){-1===ary.indexOf(obj)&&ary.push(obj)}function addObjects(ary,objs){const unique=[];for(const obj of objs)ary.includes(obj)||unique.includes(obj)||unique.push(obj);ary.push(...unique)}function isArray(thing){return Array.isArray(thing)}function removeAt(ary,idx,length=1){if(idx<0)throw new Error("Index too low");if(idx+length>ary.length)throw new Error("Index + length too high");return ary.splice(idx,length),ary}function clear(ary){ary.splice(0,ary.length)}function findOrFilterBy(method,ary,keyOrObj,val){return ary=ary||[],"object"==typeof keyOrObj?ary[method]((item=>{for(const path in keyOrObj){const want=keyOrObj[path],have=(0,_shell_utils_object__WEBPACK_IMPORTED_MODULE_1__.Jt)(item,path);if(void 0===want){if(!have)return!1}else if(have!==want)return!1}return!0})):void 0===val?ary[method]((item=>!!(0,_shell_utils_object__WEBPACK_IMPORTED_MODULE_1__.Jt)(item,keyOrObj))):ary[method]((item=>(0,_shell_utils_object__WEBPACK_IMPORTED_MODULE_1__.Jt)(item,keyOrObj)===val))}function filterBy(ary,keyOrObj,val){return findOrFilterBy("filter",ary,keyOrObj,val)}function findBy(ary,keyOrObj,val){return findOrFilterBy("find",ary,keyOrObj,val)}function findStringIndex(items,item,trim=!0){return items.indexOf(trim?null==item?void 0:item.trim():item)}function hasDuplicatedStrings(items,caseSensitive=!0){const normalizedItems=items.map((i=>(caseSensitive?i:i.toLowerCase()).trim()));for(let i=0;i{var map={"./InputFields.stories.mdx":["./stories/InputFields.stories.mdx",7081,7397,580,265,6590,2028,9456,792,1628,2006,268],"./InputFieldsAdvanced.stories.mdx":["./stories/InputFieldsAdvanced.stories.mdx",7081,7397,580,265,8891,2658,6590,2028,1684,9456,792,966,1628,4190,6171,2006,8678,1790],"./Welcome.stories.mdx":["./stories/Welcome.stories.mdx",7081,7175],"./components/Alert.stories.mdx":["./stories/components/Alert.stories.mdx",7081,7397,8956,2644],"./components/AppModal.stories.mdx":["./stories/components/AppModal.stories.mdx",7081,7397,1070],"./components/ArrayList.stories.mdx":["./stories/components/ArrayList.stories.mdx",7081,7397,580,265,6590,2028,1445],"./components/BadgeState.stories.mdx":["./stories/components/BadgeState.stories.mdx",7081,7397,8956,6894],"./components/Banner.stories.mdx":["./stories/components/Banner.stories.mdx",7081,7397,5692],"./components/Card.stories.mdx":["./stories/components/Card.stories.mdx",7081,7397,8348],"./components/Collapse.stories.mdx":["./stories/components/Collapse.stories.mdx",7081,7397,4743],"./components/DetailTop.stories.mdx":["./stories/components/DetailTop.stories.mdx",7081,7397,8891,1684,966,8612,4190,8666],"./components/Growl.stories.mdx":["./stories/components/Growl.stories.mdx",7081,7397,4945],"./components/KeyValue.stories.mdx":["./stories/components/KeyValue.stories.mdx",7081,7397,8891,2658,6590,1684,792,966,4190,8678,5214],"./components/LabeledTooltip.stories.mdx":["./stories/components/LabeledTooltip.stories.mdx",7081,7397,6590,7748],"./components/SimpleBox.stories.mdx":["./stories/components/SimpleBox.stories.mdx",7081,7397,5087],"./components/StringList.stories.mdx":["./stories/components/StringList.stories.mdx",7081,7397,580,265,6590,2028,145],"./components/Tab.stories.mdx":["./stories/components/Tab.stories.mdx",7081,7397,9039],"./components/Table.stories.mdx":["./stories/components/Table.stories.mdx",7081,7397,580,594,6590,1684,9456,8612,7771,9894],"./form/Button.stories.mdx":["./stories/form/Button.stories.mdx",7081,7397,8612,808],"./form/ButtonDropdown.stories.mdx":["./stories/form/ButtonDropdown.stories.mdx",7081,7397,8416,2451],"./form/Checkbox.stories.mdx":["./stories/form/Checkbox.stories.mdx",7081,7397,7771,4943],"./form/Editor.stories.mdx":["./stories/form/Editor.stories.mdx",7081,7397,1684,966,5043],"./form/FileSelector.stories.mdx":["./stories/form/FileSelector.stories.mdx",7081,5845],"./form/Input.stories.mdx":["./stories/form/Input.stories.mdx",7081,7397,580,265,6590,2028,2428],"./form/Password.stories.mdx":["./stories/form/Password.stories.mdx",7081,7397,580,265,6590,2028,519],"./form/RadioButton.stories.mdx":["./stories/form/RadioButton.stories.mdx",7081,7397,6171,5577],"./form/Select.stories.mdx":["./stories/form/Select.stories.mdx",7081,7397,580,6590,9456,792,1696],"./form/TextAreaAutoGrow.stories.mdx":["./stories/form/TextAreaAutoGrow.stories.mdx",7081,1254],"./form/ToggleSwitch.stories.mdx":["./stories/form/ToggleSwitch.stories.mdx",7081,7397,4360],"./form/UnitInput.stories.mdx":["./stories/form/UnitInput.stories.mdx",7081,7397,580,265,6590,2028,1628,3234],"./foundation/Colors.stories.mdx":["./stories/foundation/Colors.stories.mdx",7081,7551],"./foundation/Icons.stories.mdx":["./stories/foundation/Icons.stories.mdx",7081,479],"./foundation/ProviderImages.stories.mdx":["./stories/foundation/ProviderImages.stories.mdx",7081,5242],"./foundation/Typography.stories.mdx":["./stories/foundation/Typography.stories.mdx",7081,4872]};function webpackAsyncContext(req){if(!__webpack_require__.o(map,req))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}));var ids=map[req],id=ids[0];return Promise.all(ids.slice(1).map(__webpack_require__.e)).then((()=>__webpack_require__(id)))}webpackAsyncContext.keys=()=>Object.keys(map),webpackAsyncContext.id="./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$",module.exports=webpackAsyncContext},"./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx))$":(module,__unused_webpack_exports,__webpack_require__)=>{var map={"./components/ConsumptionGauge.stories":["./stories/components/ConsumptionGauge.stories.js",7397,6096,5678],"./components/ConsumptionGauge.stories.js":["./stories/components/ConsumptionGauge.stories.js",7397,6096,5678],"./components/IconIsDefault.stories":["./stories/components/IconIsDefault.stories.js",1834],"./components/IconIsDefault.stories.js":["./stories/components/IconIsDefault.stories.js",1834],"./components/PercentageBar.stories":["./stories/components/PercentageBar.stories.js",7397,6096,9455],"./components/PercentageBar.stories.js":["./stories/components/PercentageBar.stories.js",7397,6096,9455]};function webpackAsyncContext(req){if(!__webpack_require__.o(map,req))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}));var ids=map[req],id=ids[0];return Promise.all(ids.slice(1).map(__webpack_require__.e)).then((()=>__webpack_require__(id)))}webpackAsyncContext.keys=()=>Object.keys(map),webpackAsyncContext.id="./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx))$",module.exports=webpackAsyncContext},"./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)Welcome\\.mdx)$":module=>{function webpackEmptyAsyncContext(req){return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}))}webpackEmptyAsyncContext.keys=()=>[],webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext,webpackEmptyAsyncContext.id="./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)Welcome\\.mdx)$",module.exports=webpackEmptyAsyncContext},"./storybook-config-entry.js":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var external_STORYBOOK_MODULE_GLOBAL_=__webpack_require__("@storybook/global"),external_STORYBOOK_MODULE_PREVIEW_API_=__webpack_require__("@storybook/preview-api"),external_STORYBOOK_MODULE_CHANNELS_=__webpack_require__("@storybook/channels");const importers=[async path=>{if(!/^\.[\\/](?:stories(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)Welcome\.mdx)$/.exec(path))return;const pathRemainder=path.substring(10);return __webpack_require__("./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)Welcome\\.mdx)$")("./"+pathRemainder)},async path=>{if(!/^\.[\\/](?:stories(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.mdx)$/.exec(path))return;const pathRemainder=path.substring(10);return __webpack_require__("./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$")("./"+pathRemainder)},async path=>{if(!/^\.[\\/](?:stories(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.stories\.(js|jsx|ts|tsx))$/.exec(path))return;const pathRemainder=path.substring(10);return __webpack_require__("./stories lazy recursive ^\\.\\/.*$ include: (?:\\/stories(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cts%7Ctsx))$")("./"+pathRemainder)}];const channel=(0,external_STORYBOOK_MODULE_CHANNELS_.createBrowserChannel)({page:"preview"});external_STORYBOOK_MODULE_PREVIEW_API_.addons.setChannel(channel),"DEVELOPMENT"===external_STORYBOOK_MODULE_GLOBAL_.global.CONFIG_TYPE&&(window.__STORYBOOK_SERVER_CHANNEL__=channel);const preview=new external_STORYBOOK_MODULE_PREVIEW_API_.PreviewWeb;window.__STORYBOOK_PREVIEW__=preview,window.__STORYBOOK_STORY_STORE__=preview.storyStore,window.__STORYBOOK_ADDONS_CHANNEL__=channel,window.__STORYBOOK_CLIENT_API__=new external_STORYBOOK_MODULE_PREVIEW_API_.ClientApi({storyStore:preview.storyStore}),preview.initialize({importFn:async function importFn(path){for(let i=0;iimporters[i](path),x());if(moduleExports)return moduleExports}var x},getProjectAnnotations:()=>(0,external_STORYBOOK_MODULE_PREVIEW_API_.composeConfigs)([__webpack_require__("./node_modules/@storybook/vue3/dist/entry-preview.mjs"),__webpack_require__("./node_modules/@storybook/vue3/dist/entry-preview-docs.mjs"),__webpack_require__("./node_modules/@storybook/addon-links/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/docs/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/actions/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/backgrounds/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/measure/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/outline/preview.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/highlight/preview.js"),__webpack_require__("./node_modules/@storybook/addon-a11y/preview.js"),__webpack_require__("./node_modules/@storybook/addon-actions/preview.js"),__webpack_require__("./.storybook/preview.js")])})},"@storybook/addons":module=>{"use strict";module.exports=__STORYBOOK_MODULE_ADDONS__},"@storybook/channels":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CHANNELS__},"@storybook/client-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_API__},"@storybook/client-logger":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_LOGGER__},"@storybook/core-events":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS__},"@storybook/global":module=>{"use strict";module.exports=__STORYBOOK_MODULE_GLOBAL__},"@storybook/preview-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_PREVIEW_API__}},__webpack_require__=>{__webpack_require__.O(0,[9938],(()=>{return moduleId="./storybook-config-entry.js",__webpack_require__(__webpack_require__.s=moduleId);var moduleId}));__webpack_require__.O()}]); \ No newline at end of file diff --git a/docs/project.json b/docs/project.json index 345b108..6bc2250 100644 --- a/docs/project.json +++ b/docs/project.json @@ -1 +1 @@ -{"generatedAt":1728553372829,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"monorepo":"Workspaces","packageManager":{"type":"yarn","version":"1.22.22"},"features":{"buildStoriesJson":true},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/vue3-webpack5","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/vue3","storybookVersion":"7.6.20","storybookVersionSpecifier":"^7.6.17","language":"javascript","storybookPackages":{"@storybook/addon-a11y":{"version":"7.6.20"},"@storybook/addon-actions":{"version":"7.6.20"},"@storybook/addon-essentials":{"version":"7.6.20"},"@storybook/addon-links":{"version":"7.6.20"},"@storybook/addon-mdx-gfm":{"version":"7.6.20"},"@storybook/cli":{"version":"7.6.20"},"@storybook/test-runner":{"version":"0.11.0"},"@storybook/vue3":{"version":"7.6.20"},"@storybook/vue3-webpack5":{"version":"7.6.20"},"storybook":{"version":"0.0.0"},"storybook-auto-events":{"version":"0.1.1"},"storybook-dark-mode":{"version":"1.1.2"}},"addons":{"$SNIP/node_modules/@storybook/addon-links":{"version":null},"$SNIP/node_modules/@storybook/addon-essentials":{"version":null},"$SNIP/node_modules/@storybook/addon-a11y":{"version":null},"$SNIP/node_modules/storybook-dark-mode":{"version":null},"$SNIP/node_modules/@storybook/addon-actions":{"version":null},"$SNIP/node_modules/@storybook/addon-mdx-gfm":{"version":null},"@storybook/addon-webpack5-compiler-babel":{"version":"3.0.3"}}} +{"generatedAt":1728577061704,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"monorepo":"Workspaces","packageManager":{"type":"yarn","version":"1.22.22"},"features":{"buildStoriesJson":true},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/vue3-webpack5","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/vue3","storybookVersion":"7.6.20","storybookVersionSpecifier":"^7.6.17","language":"javascript","storybookPackages":{"@storybook/addon-a11y":{"version":"7.6.20"},"@storybook/addon-actions":{"version":"7.6.20"},"@storybook/addon-essentials":{"version":"7.6.20"},"@storybook/addon-links":{"version":"7.6.20"},"@storybook/addon-mdx-gfm":{"version":"7.6.20"},"@storybook/cli":{"version":"7.6.20"},"@storybook/test-runner":{"version":"0.11.0"},"@storybook/vue3":{"version":"7.6.20"},"@storybook/vue3-webpack5":{"version":"7.6.20"},"storybook":{"version":"0.0.0"},"storybook-auto-events":{"version":"0.1.1"},"storybook-dark-mode":{"version":"1.1.2"}},"addons":{"$SNIP/node_modules/@storybook/addon-links":{"version":null},"$SNIP/node_modules/@storybook/addon-essentials":{"version":null},"$SNIP/node_modules/@storybook/addon-a11y":{"version":null},"$SNIP/node_modules/storybook-dark-mode":{"version":null},"$SNIP/node_modules/@storybook/addon-actions":{"version":null},"$SNIP/node_modules/@storybook/addon-mdx-gfm":{"version":null},"@storybook/addon-webpack5-compiler-babel":{"version":"3.0.3"}}} diff --git a/docs/translations/en-us.yaml b/docs/translations/en-us.yaml index 1a3f0e3..b0fa202 100644 --- a/docs/translations/en-us.yaml +++ b/docs/translations/en-us.yaml @@ -1071,8 +1071,8 @@ catalog: placeholder: 'e.g. https://charts.rancher.io' oci: urlLabel: OCI Repository Host URL - placeholder: 'e.g. oci://test.azure.io/test-namespace:test-tag' - info: For better performance, add OCI URLs that contain ONLY helm charts. For example oci://test.rancher.io/charts or oci://test.rancher.io/charts/mychart. The list of charts available from the repository is updated every 6 hours. Scanning directories with a large number of artifacts may degrade performance considerably. + placeholder: 'e.g. oci:////:' + info: Add OCI URLs that contain ONLY helm charts. For large repositories containing many charts consider targeting a specific namespace or chart to improve performance, for example with oci:/// or oci:////. The list of charts available from the repository is updated every 6 hours. skipTlsVerifications: Skip TLS Verifications insecurePlainHttp: Insecure Plain Http exponentialBackOff: