Vue App
\ No newline at end of file
+Vue App
\ No newline at end of file
diff --git a/dist/js/app.d720e95b.js b/dist/js/app.d720e95b.js
new file mode 100644
index 0000000..bfd5424
--- /dev/null
+++ b/dist/js/app.d720e95b.js
@@ -0,0 +1,2 @@
+(function(t){function e(e){for(var s,n,r=e[0],l=e[1],c=e[2],u=0,p=[];uName',sortField:"name",titleClass:"text-center aligned",visible:!0,dataClass:"center aligned",width:"20%"},{name:"nodeid",title:'nodeid',titleClass:"text-center aligned",sortField:"nodeid",visible:!0,width:"20%"},{name:"ip",title:'IP',titleClass:"text-center aligned",sortField:"swarmlabname",visible:!0,width:"13%"},{name:"role",title:'Role',titleClass:"text-center aligned",sortField:"role",visible:!0,width:"15%",formatter(t){const e=/^ondemand_playground/.test(t);if(e){var a='
";this.$swal({type:"info",html:i+s,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0})}else if("register"==t){s="Before you begin\n \n Before you start using the Swarmlab Hybrid API, you need a hybrid enabled account and the Swarmlab API enabled. \n \n To learn more, see Get Started with Hybrid Platform. \n ",i="
You can connect to the same contained process multiple times simultaneously, from different sessions on the Docker host. \n \n Open a terminal and Run:\n \n \n";r+=i?"docker exec -it -u"+n+" "+this.hybridshowdata.Names+" "+s:"docker exec -it "+this.hybridshowdata.Names+" "+s,r+=" ",r+=" ",r+=" Directory Maps",r+="
\n The current limit of 125 layers is due to the kernel\'s ARG_MAX, which limits the number of arguments / length of arguments that can be passed when mounting the layers \n \n (this limit can be raised in kernels, but is not something that could be relied on as it would make those images non-interoperable on systems that don\'t have the custom configuration)\n
\n
\n Note that not every step in a Dockerfile creates a new layer, only (RUN) steps that modify the filesystem will introduce a new layer.\n
\n\n
\n
Solution
\n \n
\n Delete all local docker images related to your dockerfile using the following:\n \n \n docker rmi -f $(docker images -a -q)\n
\n\n
\n
Description
\n \n Remove unused image \n - all images not referenced by any container -\n \n
";this.$swal({type:t,html:s+a,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Ok!"})},setFilter(){this.moreParams={filter:this.searchFor,type:this.selected},s["default"].nextTick(()=>this.$refs.vuetable.refresh())},resetFilter(){this.moreParams={},this.searchFor="",s["default"].nextTick(()=>this.$refs.vuetable.refresh())},onPaginationData(t){this.$refs.pagination.setPaginationData(t),this.$refs.paginationInfo.setPaginationData(t)},onChangePage(t){this.$refs.vuetable.changePage(t)},editRow(t){alert("You clicked edit on"+JSON.stringify(t))},async onAction(t,e,a){this.actionrowindex=a,"view-item"==t||("run-more"==t?this.hybridshowdata=e:"delete-item"==t&&this.$swal({type:"info",html:info+winfo,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!0,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Yes, Delete it!"}))},refreshVuetable(){this.$nextTick(()=>{this.vuetablekey+=1})},playbookinfoShow(t){return this.visibility[t]=!0},playbookinfo(t){return this.playbookInfo=t},rowClicked(t,e){return{html:!0,title:()=>"Hello Popover: "+ ++this.counter,content:()=>"The date is: "+new Date+""}},loadsuccess(t){var e=t.data.data;this.fielddata=e;e.length},onLoadError(t){"401"==t.response.status&&(window.location.href="https://api-login.swarmlab.io:8089",s["default"].nextTick(()=>window.location.href="https://api-login.swarmlab.io:8089"))}},actions:{}},Et=$t,Pt=(a("4788"),Object(O["a"])(Et,Bt,Nt,!1,null,null,null)),Gt=Pt.exports,Tt={components:{card:L,MyconnectManageServer:Gt},data(){return{loading:!1,consoleView:"off",productIndex:1}},mounted(){},beforeDestroy(){},created(){}},Vt=Tt,Mt=Object(O["a"])(Vt,Rt,Ft,!1,null,null,null),jt=Mt.exports,zt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("card",{staticClass:"card-user",staticStyle:{"max-height":"100%"}},[a("div",{staticClass:"row"},[a("div",{staticClass:"col-6 order-first "},[a("br"),a("mydeploy-manage-bootstrap")],1),a("div",{staticClass:"col-6 order-last"},[a("br"),a("mydeploy-manage-view")],1)])])},Yt=[],Ut=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("card",{staticClass:"card-user",staticStyle:{"max-height":"100%"}},[s("div",{staticClass:"author"},[s("img",{staticClass:"avatar border-white",attrs:{src:a("0ed5"),alt:"..."}})]),s("b-container",{staticClass:"bv-example-row",attrs:{fluid:""}},[s("div",{staticClass:"row text-center"},[s("div",{staticClass:"col-12"},[s("b",[t._v("Swarmlab hybrid Deploy")])])]),s("br"),s("b-row",[s("b-col",{attrs:{cols:"8"}},[s("ValidationProvider",{ref:"hybrid_image",attrs:{name:"Image",rules:"required|alpha_num_image"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.image,expression:"deploy.image"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.image,"is-invalid":2==t.isDeployValid.image},attrs:{type:"text",name:"Image","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Image"},domProps:{value:t.deploy.image},on:{keyup:function(e){return t.isValid("image")},input:function(e){e.target.composing||t.$set(t.deploy,"image",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("image")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_stackname",attrs:{name:"StackName",rules:"required|alpha_num_name"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.stackname,expression:"deploy.stackname"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.stackname,"is-invalid":2==t.isDeployValid.stackname},attrs:{type:"text",name:"StackName","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"StackName"},domProps:{value:t.deploy.stackname},on:{keyup:function(e){return t.isValid("stackname")},input:function(e){e.target.composing||t.$set(t.deploy,"stackname",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("stackname")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"8"}},[s("ValidationProvider",{ref:"hybrid_name",attrs:{name:"Name",rules:"required|alpha_num_name"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.name,expression:"deploy.name"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.name,"is-invalid":2==t.isDeployValid.name},attrs:{type:"HybridError",name:"Name","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Name"},domProps:{value:t.deploy.name},on:{keyup:function(e){return t.isValid("name")},input:function(e){e.target.composing||t.$set(t.deploy,"name",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("name")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_network",attrs:{name:"Network",rules:"required|alpha_num_name"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.network,expression:"deploy.network"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.network,"is-invalid":2==t.isDeployValid.network},attrs:{type:"text",name:"Network","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Network Name"},domProps:{value:t.deploy.network},on:{keyup:function(e){return t.isValid("network")},input:function(e){e.target.composing||t.$set(t.deploy,"network",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("network")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_cpu",attrs:{name:"Cpu",rules:"required|alpha_num_cpu"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.cpu,expression:"deploy.cpu"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.cpu,"is-invalid":2==t.isDeployValid.cpu},attrs:{type:"text",name:"Cpu","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Limit CPU e.g. 0.50"},domProps:{value:t.deploy.cpu},on:{keyup:function(e){return t.isValid("cpu")},input:function(e){e.target.composing||t.$set(t.deploy,"cpu",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("cpu")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_memory",attrs:{name:"Memory",rules:"required|alpha_num_memory"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.memory,expression:"deploy.memory"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.memory,"is-invalid":2==t.isDeployValid.memory},attrs:{type:"text",name:"Memory","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Limit Memory e.g. 500"},domProps:{value:t.deploy.memory},on:{keyup:function(e){return t.isValid("memory")},input:function(e){e.target.composing||t.$set(t.deploy,"memory",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("memory")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_networkport",attrs:{name:"Networkport",rules:"mybetween:1,65535"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.networkport,expression:"deploy.networkport"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.networkport,"is-invalid":2==t.isDeployValid.networkport},attrs:{type:"text",name:"Networkport","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Net Port (inside the container)"},domProps:{value:t.deploy.networkport},on:{keyup:function(e){return t.isValid("networkport")},input:function(e){e.target.composing||t.$set(t.deploy,"networkport",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("networkport")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"12"}},[s("ValidationProvider",{ref:"hybrid_url",attrs:{name:"Url",rules:"required|alpha_url"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.url,expression:"deploy.url"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.url,"is-invalid":2==t.isDeployValid.url},attrs:{type:"text",name:"Url","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"link to README file (see info button for more)"},domProps:{value:t.deploy.url},on:{keyup:function(e){return t.isValid("url")},input:function(e){e.target.composing||t.$set(t.deploy,"url",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("url")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("Start date ")])]),s("date-picker",{attrs:{type:"date",autocomplete:"off",format:"YYYY-MM-DD",lang:"en"},model:{value:t.deploy.startdate,callback:function(e){t.$set(t.deploy,"startdate",e)},expression:"deploy.startdate"}})],1)]),s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("Start time")])]),s("date-picker",{attrs:{type:"time",format:"HH:mm","show-hour":"","show-minute":"","time-picker-options":t.timePickerOptions,lang:"en"},model:{value:t.deploy.starttime,callback:function(e){t.$set(t.deploy,"starttime",e)},expression:"deploy.starttime"}})],1)])],1),s("b-row",[s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("End date ")])]),s("date-picker",{attrs:{type:"date",autocomplete:"off",format:"YYYY-MM-DD",lang:"en"},model:{value:t.deploy.enddate,callback:function(e){t.$set(t.deploy,"enddate",e)},expression:"deploy.enddate"}})],1)]),s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("End time")])]),s("date-picker",{attrs:{type:"time",format:"HH:mm","show-hour":"","show-minute":"","time-picker-options":t.timePickerOptions,lang:"en"},model:{value:t.deploy.endtime,callback:function(e){t.$set(t.deploy,"endtime",e)},expression:"deploy.endtime"}})],1)])],1),s("b-row",[s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"ti-cloud-up btn btn-outline-success",attrs:{round:"",type:"button",title:"Deploy"},on:{click:function(e){return t.add_deploy()}}},[t._v(" Deploy ")])])])]),s("b-col",{attrs:{cols:"2"}}),s("b-col",{attrs:{cols:"4"}},[s("div",{staticClass:"custom-control custom-switch"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.usersjoin,expression:"deploy.usersjoin"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"customStack",value:"true","unchecked-value":"false"},domProps:{checked:Array.isArray(t.deploy.usersjoin)?t._i(t.deploy.usersjoin,"true")>-1:t.deploy.usersjoin},on:{change:function(e){var a=t.deploy.usersjoin,s=e.target,i=!!s.checked;if(Array.isArray(a)){var o="true",n=t._i(a,o);s.checked?n<0&&t.$set(t.deploy,"usersjoin",a.concat([o])):n>-1&&t.$set(t.deploy,"usersjoin",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.deploy,"usersjoin",i)}}}),s("label",{staticClass:"custom-control-label",attrs:{for:"customStack"}},[t._v("Users can join the lab instance")])])])],1)],1)],1)},qt=[],Qt=a("ec45");a("411c");Object(F["b"])("alpha_num",B["a"]),Object(F["b"])("mybetween",B["b"]),Object(F["b"])("mybetween",{message:"The {_field_} field must be a number: 1-65535"}),Object(F["b"])("alpha_num_image",t=>{var e=new RegExp(/^[A-Za-z0-9\:\.\-\_\/]+$/,"i");return!!e.test(t)||"The {_field_} field may contain alphabetic characters, numbers, colons, hyphens, slashes, dots and underscores"}),Object(F["b"])("alpha_num_name",t=>{var e=new RegExp(/^[A-Za-z0-9]+$/,"i");return!!e.test(t)||"The {_field_} field may contain alphabetic characters and numbers"}),Object(F["b"])("alpha_num_cpu",t=>{var e=new RegExp(/^(?!0\d)\d+(?:\.\d{1})?$/);return!!e.test(t)||"The {_field_} field may contain numbers and dots e.g 0.5"}),Object(F["b"])("alpha_num_memory",t=>{var e=new RegExp(/^[0-9]+$/,"i");return!!e.test(t)||"The {_field_} field may contain numbers e.g 500"}),Object(F["b"])("alpha_url",t=>{var e=new RegExp(/https?:\/\/(git\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/,"i");return!!e.test(t)||"The {_field_} field may contain url"}),Object(F["b"])("required",{...B["c"],message:"This field is required"});var Kt={components:{DatePicker:Qt["a"],ValidationProvider:F["a"],card:L},props:{},data(){return{isHybridError:!1,isHybridSuccess:!1,token:"",timePickerOptions:{start:"00:00",step:"00:30",end:"23:30"},deploy:{usersjoin:!0},isDeployValid:{image:3,name:3,stackname:3,network:3,url:3,cpu:3,memory:3},isDeployError:{}}},mounted(){},created(){var t=window.location.href,e=new URL(t);this.token=e.searchParams.get("token")},beforeDestroy(){},computed:{},methods:{async add_deploy(){var t=Object.entries(this.deploy),e=new Promise((e,a)=>{t.forEach((t,a,s)=>{this.isValid(s[a][0]),a===s.length-1&&e()})});e.then(()=>{(async()=>{var t=!0;for(const[a,s]of Object.entries(this.isDeployValid))1!=s&&(t=!1);if(t){await v.dispatch("pipelineLLO/adddeploy",{token:this.token,deploy:this.deploy});this.$root.$emit("hybrid_refresh_bootstrap_view"),console.log("ok");var e='
The deploy process is started
Please wait for it to finish before trying again!
See also in "Manage your deployments" table';this.$swal({type:"Info",title:"Info!",icon:"info",html:e,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Ok!"})}else{e="Missing required fields";this.$swal({type:"Info",title:"Info!",icon:"info",html:e,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Ok!"})}})()})},async showInfo(t){if("image"==t)var e='
To start, we need to have a docker image \n We have built some. You can find it here: Menu "Images"
\n \n \n The field may contain alphabetic characters, numbers, colons, hyphens, slashes, dots and underscores\n';else if("stackname"==t)e="
To start, we need to have a Stack Name \n This will bring up all the services, volumes, networks and everything else in an isolated environment.\n\n \n \n The field may contain alphabetic characters and numbers\n";else if("network"==t)e="
To start, we need to have a Network \n This will bring up all the services, volumes, networks and everything else in an isolated network environment.\n \n \nServices running inside any of this networks containers have access (not limited by any firewall) to all other services.\n \n
\n \n \n The field may contain alphabetic characters and numbers\n\n";else if("url"==t)e="
Git Repo url
\n The location of the file describing your service. (most comonly README) \n \n\n
\n \n \n The field may contain any valid url BUT it must be under https://git.swarmlab.io\n";else if("networkport"==t)e="
Network Port
\n \n
\nBy default, when you create a container, it does not publish any of its ports to the outside world. \n \nTo make a port available to Services which are not connected to the Stack network, we use this port. \n
\n \n
\n\nTo make a service available we have to know the port number used by these service inside the container.\n\n \nPlease insert that here.\n
\n \n \n(The port for outside connections is automatically generated and you dont have to worry about it!)\n \n \n The field may contain numbers\n";else if("cpu"==t)e="
To start, we need to have a CPU Limit \n Limit the specific CPUs or cores a container can use\n\n \n \nThe field may contain numbers and dots e.g 0.5\n";else if("memory"==t)e="
To start, we need to have a Memory Limit \n
Limit the specific Memoty a container can use \ne.g 200\n \n(MB)\n\n \n \n
\n\nIt is important not to allow a running container to consume too much of the host machine’s memory.\n\n
\n \n \n The field may contain numbers\n";else if("name"==t)e="
To start, we need to have a Name \nThis name is only for your own use. The system completely disregards it!\n
";this.$swal({type:"info",html:i+s,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0})}else if("register"==t){s="Before you begin\n \n Before you start using the Swarmlab Hybrid API, you need a hybrid enabled account and the Swarmlab API enabled. \n \n To learn more, see Get Started with Hybrid Platform. \n ",i="
You can connect to the same contained process multiple times simultaneously, from different sessions on the Docker host. \n \n Open a terminal and Run:\n \n \n";r+=i?"docker exec -it -u"+n+" "+this.hybridshowdata.Names+" "+s:"docker exec -it "+this.hybridshowdata.Names+" "+s,r+=" ",r+=" ",r+=" Directory Maps",r+="
\n The current limit of 125 layers is due to the kernel\'s ARG_MAX, which limits the number of arguments / length of arguments that can be passed when mounting the layers \n \n (this limit can be raised in kernels, but is not something that could be relied on as it would make those images non-interoperable on systems that don\'t have the custom configuration)\n
\n
\n Note that not every step in a Dockerfile creates a new layer, only (RUN) steps that modify the filesystem will introduce a new layer.\n
\n\n
\n
Solution
\n \n
\n Delete all local docker images related to your dockerfile using the following:\n \n \n docker rmi -f $(docker images -a -q)\n
\n\n
\n
Description
\n \n Remove unused image \n - all images not referenced by any container -\n \n
";this.$swal({type:t,html:s+a,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Ok!"})},setFilter(){this.moreParams={filter:this.searchFor,type:this.selected},s["default"].nextTick(()=>this.$refs.vuetable.refresh())},resetFilter(){this.moreParams={},this.searchFor="",s["default"].nextTick(()=>this.$refs.vuetable.refresh())},onPaginationData(t){this.$refs.pagination.setPaginationData(t),this.$refs.paginationInfo.setPaginationData(t)},onChangePage(t){this.$refs.vuetable.changePage(t)},editRow(t){alert("You clicked edit on"+JSON.stringify(t))},async onAction(t,e,a){this.actionrowindex=a,"view-item"==t||("run-more"==t?this.hybridshowdata=e:"delete-item"==t&&this.$swal({type:"info",html:info+winfo,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!0,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Yes, Delete it!"}))},refreshVuetable(){this.$nextTick(()=>{this.vuetablekey+=1})},playbookinfoShow(t){return this.visibility[t]=!0},playbookinfo(t){return this.playbookInfo=t},rowClicked(t,e){return{html:!0,title:()=>"Hello Popover: "+ ++this.counter,content:()=>"The date is: "+new Date+""}},loadsuccess(t){var e=t.data.data;this.fielddata=e;e.length},onLoadError(t){"401"==t.response.status&&(window.location.href="https://api-login.swarmlab.io:8089",s["default"].nextTick(()=>window.location.href="https://api-login.swarmlab.io:8089"))}},actions:{}},Et=Nt,Pt=(a("4788"),Object(O["a"])(Et,Bt,$t,!1,null,null,null)),Gt=Pt.exports,Tt={components:{card:L,MyconnectManageServer:Gt},data(){return{loading:!1,consoleView:"off",productIndex:1}},mounted(){},beforeDestroy(){},created(){}},Vt=Tt,Mt=Object(O["a"])(Vt,Rt,Ft,!1,null,null,null),jt=Mt.exports,zt=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("card",{staticClass:"card-user",staticStyle:{"max-height":"100%"}},[a("div",{staticClass:"row"},[a("div",{staticClass:"col-6 order-first "},[a("br"),a("mydeploy-manage-bootstrap")],1),a("div",{staticClass:"col-6 order-last"},[a("br"),a("mydeploy-manage-view")],1)])])},Yt=[],Ut=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("card",{staticClass:"card-user",staticStyle:{"max-height":"100%"}},[s("div",{staticClass:"author"},[s("img",{staticClass:"avatar border-white",attrs:{src:a("0ed5"),alt:"..."}})]),s("b-container",{staticClass:"bv-example-row",attrs:{fluid:""}},[s("div",{staticClass:"row text-center"},[s("div",{staticClass:"col-12"},[s("b",[t._v("Swarmlab hybrid Deploy")])])]),s("br"),s("b-row",[s("b-col",{attrs:{cols:"8"}},[s("ValidationProvider",{ref:"hybrid_image",attrs:{name:"Image",rules:"required|alpha_num_image"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.image,expression:"deploy.image"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.image,"is-invalid":2==t.isDeployValid.image},attrs:{type:"text",name:"Image","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Image"},domProps:{value:t.deploy.image},on:{keyup:function(e){return t.isValid("image")},input:function(e){e.target.composing||t.$set(t.deploy,"image",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("image")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_stackname",attrs:{name:"StackName",rules:"required|alpha_num_name"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.stackname,expression:"deploy.stackname"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.stackname,"is-invalid":2==t.isDeployValid.stackname},attrs:{type:"text",name:"StackName","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"StackName"},domProps:{value:t.deploy.stackname},on:{keyup:function(e){return t.isValid("stackname")},input:function(e){e.target.composing||t.$set(t.deploy,"stackname",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("stackname")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"8"}},[s("ValidationProvider",{ref:"hybrid_name",attrs:{name:"Name",rules:"required|alpha_num_name"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.name,expression:"deploy.name"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.name,"is-invalid":2==t.isDeployValid.name},attrs:{type:"HybridError",name:"Name","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Name"},domProps:{value:t.deploy.name},on:{keyup:function(e){return t.isValid("name")},input:function(e){e.target.composing||t.$set(t.deploy,"name",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("name")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_network",attrs:{name:"Network",rules:"required|alpha_num_name"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.network,expression:"deploy.network"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.network,"is-invalid":2==t.isDeployValid.network},attrs:{type:"text",name:"Network","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Network Name"},domProps:{value:t.deploy.network},on:{keyup:function(e){return t.isValid("network")},input:function(e){e.target.composing||t.$set(t.deploy,"network",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("network")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_cpu",attrs:{name:"Cpu",rules:"required|alpha_num_cpu"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.cpu,expression:"deploy.cpu"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.cpu,"is-invalid":2==t.isDeployValid.cpu},attrs:{type:"text",name:"Cpu","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Limit CPU e.g. 0.50"},domProps:{value:t.deploy.cpu},on:{keyup:function(e){return t.isValid("cpu")},input:function(e){e.target.composing||t.$set(t.deploy,"cpu",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("cpu")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_memory",attrs:{name:"Memory",rules:"required|alpha_num_memory"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.memory,expression:"deploy.memory"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.memory,"is-invalid":2==t.isDeployValid.memory},attrs:{type:"text",name:"Memory","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Limit Memory e.g. 500"},domProps:{value:t.deploy.memory},on:{keyup:function(e){return t.isValid("memory")},input:function(e){e.target.composing||t.$set(t.deploy,"memory",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("memory")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1),s("b-col",{attrs:{cols:"4"}},[s("ValidationProvider",{ref:"hybrid_networkport",attrs:{name:"Networkport",rules:"mybetween:1,65535"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.networkport,expression:"deploy.networkport"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.networkport,"is-invalid":2==t.isDeployValid.networkport},attrs:{type:"text",name:"Networkport","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"Net Port (inside the container)"},domProps:{value:t.deploy.networkport},on:{keyup:function(e){return t.isValid("networkport")},input:function(e){e.target.composing||t.$set(t.deploy,"networkport",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("networkport")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"12"}},[s("ValidationProvider",{ref:"hybrid_url",attrs:{name:"Url",rules:"required|alpha_url"},scopedSlots:t._u([{key:"default",fn:function(e){var a=e.errors;e.ariaMsg,e.ariaInput,e.valid,e.invalid;return[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.url,expression:"deploy.url"}],staticClass:"form-control",class:{"is-valid":1==t.isDeployValid.url,"is-invalid":2==t.isDeployValid.url},attrs:{type:"text",name:"Url","aria-label":"Small","aria-describedby":"inputGroup-sizing-sm",placeholder:"link to README file (see info button for more)"},domProps:{value:t.deploy.url},on:{keyup:function(e){return t.isValid("url")},input:function(e){e.target.composing||t.$set(t.deploy,"url",e.target.value)}}}),s("div",{staticClass:"input-group-append"},[s("button",{staticClass:"ti-info btn btn-outline-secondary",attrs:{round:"",type:"button"},on:{click:function(e){return t.showInfo("url")}}})])]),s("span",{staticClass:"hybrid-field-error"},[t._v(t._s(a[0]))])]}}])})],1)],1),s("b-row",[s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("Start date ")])]),s("date-picker",{attrs:{type:"date",autocomplete:"off",format:"YYYY-MM-DD",lang:"en"},model:{value:t.deploy.startdate,callback:function(e){t.$set(t.deploy,"startdate",e)},expression:"deploy.startdate"}})],1)]),s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("Start time")])]),s("date-picker",{attrs:{type:"time",format:"HH:mm","show-hour":"","show-minute":"","time-picker-options":t.timePickerOptions,lang:"en"},model:{value:t.deploy.starttime,callback:function(e){t.$set(t.deploy,"starttime",e)},expression:"deploy.starttime"}})],1)])],1),s("b-row",[s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("End date ")])]),s("date-picker",{attrs:{type:"date",autocomplete:"off",format:"YYYY-MM-DD",lang:"en"},model:{value:t.deploy.enddate,callback:function(e){t.$set(t.deploy,"enddate",e)},expression:"deploy.enddate"}})],1)]),s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm mb-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"btn btn-outline-secondary",attrs:{type:"button"}},[t._v("End time")])]),s("date-picker",{attrs:{type:"time",format:"HH:mm","show-hour":"","show-minute":"","time-picker-options":t.timePickerOptions,lang:"en"},model:{value:t.deploy.endtime,callback:function(e){t.$set(t.deploy,"endtime",e)},expression:"deploy.endtime"}})],1)])],1),s("b-row",[s("b-col",{attrs:{cols:"6"}},[s("div",{staticClass:"input-group input-group-sm sm-3"},[s("div",{staticClass:"input-group-prepend"},[s("button",{staticClass:"ti-cloud-up btn btn-outline-success",attrs:{round:"",type:"button",title:"Deploy"},on:{click:function(e){return t.add_deploy()}}},[t._v(" Deploy ")])])])]),s("b-col",{attrs:{cols:"2"}}),s("b-col",{attrs:{cols:"4"}},[s("div",{staticClass:"custom-control custom-switch"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.deploy.usersjoin,expression:"deploy.usersjoin"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"customStack",value:"true","unchecked-value":"false"},domProps:{checked:Array.isArray(t.deploy.usersjoin)?t._i(t.deploy.usersjoin,"true")>-1:t.deploy.usersjoin},on:{change:function(e){var a=t.deploy.usersjoin,s=e.target,i=!!s.checked;if(Array.isArray(a)){var o="true",n=t._i(a,o);s.checked?n<0&&t.$set(t.deploy,"usersjoin",a.concat([o])):n>-1&&t.$set(t.deploy,"usersjoin",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.deploy,"usersjoin",i)}}}),s("label",{staticClass:"custom-control-label",attrs:{for:"customStack"}},[t._v("Users can join the lab instance")])])])],1)],1)],1)},qt=[],Qt=a("ec45");a("411c");Object(F["b"])("alpha_num",B["a"]),Object(F["b"])("mybetween",B["b"]),Object(F["b"])("mybetween",{message:"The {_field_} field must be a number: 1-65535"}),Object(F["b"])("alpha_num_image",t=>{var e=new RegExp(/^[A-Za-z0-9\:\.\-\_\/]+$/,"i");return!!e.test(t)||"The {_field_} field may contain alphabetic characters, numbers, colons, hyphens, slashes, dots and underscores"}),Object(F["b"])("alpha_num_name",t=>{var e=new RegExp(/^[A-Za-z0-9]+$/,"i");return!!e.test(t)||"The {_field_} field may contain alphabetic characters and numbers"}),Object(F["b"])("alpha_num_cpu",t=>{var e=new RegExp(/^(?!0\d)\d+(?:\.\d{1})?$/);return!!e.test(t)||"The {_field_} field may contain numbers and dots e.g 0.5"}),Object(F["b"])("alpha_num_memory",t=>{var e=new RegExp(/^[0-9]+$/,"i");return!!e.test(t)||"The {_field_} field may contain numbers e.g 500"}),Object(F["b"])("alpha_url",t=>{var e=new RegExp(/https?:\/\/(git\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/,"i");return!!e.test(t)||"The {_field_} field may contain url"}),Object(F["b"])("required",{...B["c"],message:"This field is required"});var Kt={components:{DatePicker:Qt["a"],ValidationProvider:F["a"],card:L},props:{},data(){return{isHybridError:!1,isHybridSuccess:!1,token:"",timePickerOptions:{start:"00:00",step:"00:30",end:"23:30"},deploy:{usersjoin:!0},isDeployValid:{image:3,name:3,stackname:3,network:3,url:3,cpu:3,memory:3},isDeployError:{}}},mounted(){},created(){var t=window.location.href,e=new URL(t);this.token=e.searchParams.get("token")},beforeDestroy(){},computed:{},methods:{async add_deploy(){var t=Object.entries(this.deploy),e=new Promise((e,a)=>{t.forEach((t,a,s)=>{this.isValid(s[a][0]),a===s.length-1&&e()})});e.then(()=>{(async()=>{var t=!0;for(const[a,s]of Object.entries(this.isDeployValid))1!=s&&(t=!1);if(t){await v.dispatch("pipelineLLO/adddeploy",{token:this.token,deploy:this.deploy});this.$root.$emit("hybrid_refresh_bootstrap_view"),console.log("ok");var e='
The deploy process is started
Please wait for it to finish before trying again!
See also in "Manage your deployments" table';this.$swal({type:"Info",title:"Info!",icon:"info",html:e,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Ok!"})}else{e="Missing required fields";this.$swal({type:"Info",title:"Info!",icon:"info",html:e,showCloseButton:!0,showLoaderOnConfirm:!1,allowOutsideClick:!1,cancelButtonText:"No, cancel!",showCancelButton:!1,showLoaderOnConfirm:!1,reverseButtons:!0,focusCancel:!0,confirmButtonText:"Ok!"})}})()})},async showInfo(t){if("image"==t)var e='
To start, we need to have a docker image \n We have built some. You can find it here: Menu "Images"
\n \n \n The field may contain alphabetic characters, numbers, colons, hyphens, slashes, dots and underscores\n';else if("stackname"==t)e="
To start, we need to have a Stack Name \n This will bring up all the services, volumes, networks and everything else in an isolated environment.\n\n \n \n The field may contain alphabetic characters and numbers\n";else if("network"==t)e="
To start, we need to have a Network \n This will bring up all the services, volumes, networks and everything else in an isolated network environment.\n \n \nServices running inside any of this networks containers have access (not limited by any firewall) to all other services.\n \n
\n \n \n The field may contain alphabetic characters and numbers\n\n";else if("url"==t)e="
Git Repo url
\n The location of the file describing your service. (most comonly README) \n \n\n
\n \n \n The field may contain any valid url BUT it must be under https://git.swarmlab.io\n";else if("networkport"==t)e="
Network Port
\n \n
\nBy default, when you create a container, it does not publish any of its ports to the outside world. \n \nTo make a port available to Services which are not connected to the Stack network, we use this port. \n
\n \n
\n\nTo make a service available we have to know the port number used by these service inside the container.\n\n \nPlease insert that here.\n
\n \n \n(The port for outside connections is automatically generated and you dont have to worry about it!)\n \n \n The field may contain numbers\n";else if("cpu"==t)e="
To start, we need to have a CPU Limit \n Limit the specific CPUs or cores a container can use\n\n \n \nThe field may contain numbers and dots e.g 0.5\n";else if("memory"==t)e="
To start, we need to have a Memory Limit \n
Limit the specific Memoty a container can use \ne.g 200\n \n(MB)\n\n \n \n
\n\nIt is important not to allow a running container to consume too much of the host machine’s memory.\n\n
\n \n \n The field may contain numbers\n";else if("name"==t)e="
To start, we need to have a Name \nThis name is only for your own use. The system completely disregards it!\n
Displays a list of files in the current working directory.
+
+
+
cd directory
+
change directories
+
+
+
passwd
+
change the password for the current user
+
+
+
file filename
+
display file type of file with name filename
+
+
+
cat textfile
+
throws content of textfile on the screen
+
+
+
pwd
+
display present working directory
+
+
+
exit or logout
+
leave this session
+
+
+
+
+
man command
+
read man pages on command
+
+
+
+
+
1.1. Key combinations
+
+
Table 2. Key combinations
+
+
+
+
+
+
+
Key or key combination
+
Function
+
+
+
+
+
Ctrl+C
+
End a running program and return the prompt
+
+
+
Ctrl+Z
+
Suspend a program
+
+
+
ArrowUp and ArrowDown
+
Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.
+
+
+
Tab
+
Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.
+
+
+
Tab Tab
+
Shows file or command completion possibilities.
+
+
+
+
+
Shift+PageUp and Shift+PageDown
+
Browse terminal buffer (to see text that has "scrolled off" the screen).
+
+
+
+
+
+
1.2. ls -l
+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus 4096 Οκτ 23 21:55 .
+drwxrwxr-x 9 zeus zeus 4096 Οκτ 15 14:28 ..
+drwxrwxr-x 8 zeus zeus 4096 Οκτ 23 21:55 .git
+drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install
+crw------- 1 root root 5, 1 Οκτ 23 21:22 console
+lrwxrwxrwx 1 root root 11 Οκτ 23 21:21 core -> /proc/kcore
+drwxr-xr-x 4 root root 100 Οκτ 23 21:22 cpu
+crw------- 1 root root 10, 59 Οκτ 23 21:21 cpu_dma_latency
+crw------- 1 root root 10, 203 Οκτ 23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ 15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus 691 Οκτ 17 11:13 README.md
+
+
+
+
1.2.1. File types
+
+
This table gives an overview of the characters determining the file type:
+
+
+
+
+
+
+
+
+drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install
+
+
+
+
+
+
Table 3. File types in a long list
+
+
+
+
+
+
+
Symbol
+
Meaning
+
+
+
+
+
-
+
Regular file
+
+
+
d
+
Directory
+
+
+
l
+
Link
+
+
+
c
+
Special file
+
+
+
s
+
Socket
+
+
+
p
+
Named pipe
+
+
+
+
+
b
+
Block device
+
+
+
+
+
+
+
+
+
+
+-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md
+
+
+
+
+
+
+
1.2.2. Access rights
+
+
Table 4. Access rights
+
+
+
+
+
+
+
Code
+
Meaning
+
+
+
+
+
0 or -
+
The access right that is supposed to be on this place is not granted.
+
+
+
4 or
+
read access is granted to the user category defined in this place
+
+
+
2 or
+
write permission is granted to the user category defined in this place
+
+
+
+
+
1 or
+
execute permission is granted to the user category defined in this place
+
+
+
+
+
+
1.2.3. User group codes
+
+
Table 5. User group codes
+
+
+
+
+
+
+
+
Code
+
Meaning
+
+
+
+
+
+
u
+
user permissions
+
-rw-rw-r--
+
+
+
g
+
group permissions
+
-rw-rw-r--
+
+
+
+
+
o
+
permissions for others
+
-rw-rw-rw-
+
+
+
+
+
+
1.2.4. Exercises
+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/mynetwork/mytable.vue b/src/components/mynetwork/mytable.vue
index 5e45a4a..ae70ad1 100644
--- a/src/components/mynetwork/mytable.vue
+++ b/src/components/mynetwork/mytable.vue
@@ -271,7 +271,7 @@ export default {
this.$socket.client.emit('start', obj);
//console.log('start ' + JSON.stringify(log))
//console.log('startobj ' + JSON.stringify(obj))
- //console.log(this.$socket.client.connect())
+ ////console.log(this.$socket.client.connect())
}else if(action == 'container-connect'){
var log = await store.dispatch("pipelineLLO/getmountinfo",{
instance:this.hybridshowdata.Names
@@ -604,7 +604,7 @@ info +=' '
this.$root.$emit('hybrid_connect_server_view', this.CONFIG)
},
async message_out(val) {
- //console.log(" socket out "+JSON.stringify(val))
+ console.log(" socket out "+JSON.stringify(val))
this.$root.$emit('hybrid_log_in',val)
// refresh adhocview.vue on console await
this.$root.$emit('SERVER_hybrid_table_start')