 Well, hello and welcome to another exciting OpenShift Commons briefing, and this time it actually is kind of exciting in terms of what we're going to help you figure out. This talk is all on mini shift, which is where you learn all about it in the session in this briefing, but it's basically everything you need to know about running OpenShift locally. Hopefully, you weren't afraid to ask for it, maybe you were afraid to hope for it, but we've got two of the engineers, Hardy and Lala, who are going to be on and talking about what mini shift is, why we did it. And I'm going to let Hardy start us off and introduce himself and his team, and then we're going to get a demo of it. You can ask Q&A in the chat, and there's a number of us who can answer those questions, and then at the end we're going to open it up for a conversation in Q&A as well. So without further ado, Hardy take it away and introduce yourself. Okay, hello everyone to this Commons briefing about mini shift. My name, who am I? My name is Hardy, and I'm part of the developer tooling teams. And here's some contact information. And I'm basically one of the engineers working at mini shift, and Lala also joins the channel. Now I forgot to add him, so maybe Lala, if you want to say hello. Hello everyone. I'm also in the team and also works with Hardy mini shift project. Thanks. So if you want to reach out, you can reach us on on GitHub or on email, or probably the best way to do this in general right now is to kind of feature us on ISC on hashtag mini shift. We are hanging out there or we started to hang out there basically all the time we kind of do our development there or our discussions about mini shift. We also try to help any users. So if you if you try mini shift out of now after this meeting here and you have run into any problems. Now easiest way is kind of just ping us on ISC. Okay, so I have a couple of slides which are kind of just going to introduce mini shift a little bit, ignore the little text on there that kind of I must have missed the text box. I have a couple of slides to introduce mini shift to you guys. And then I will give a demo. I think it's easiest to kind of just run through these introduction slides. And when I start the demo, it actually will take a little bit of time to start mini shift. And maybe that's the first time that we can already answer some questions. So what is mini shift? So technically it's actually a fork. It's a fork from from mini cube. It has been quite a while since we forked and so idea of mini shift is basically run a single node open shift cluster on your local machine within the VM. And then we are kind of facing on lip machine, which is basically what's underneath Docker's Docker machine to create a manager machine for you. And we are building on a relatively new feature of open shift itself, which is called cluster up, which allows you kind of if you have a Docker demon to provision as a single node cluster on on on this Docker demon. And that's basically what mini mini shift does. It kind of has two components managing a virtual machine and the second component is provisioning and managing open shift. So one to rules and all anyone who kind of followed this space, this like open shift and trying to run it locally might have come across a various different approaches to kind of try to do that. And the long time was that there was this all in one VM, which was also announced or kind of published on the open shift website, which was vagrant based. And then there's ADB slash CDK, which basically we were working on before, again, vagrant based various attempts or kind of groups to do is to do the same thing with Ansible. Proved proved to be too shaky, especially the vagrant, the vagrant approach had too many moving pieces. It's, you know, you have your vagrant file and vagrant itself is Ruby and vagrant kind of changes a lot in behavior in various way version upgrades. So especially the all in one team had also really problems to kind of maintain this thing. And in fact, just a couple of weeks ago that weeks ago, they decided to to abandon the all in one VM in favor of mini shift. So so mini shift is now the default or recommended way to to start open shift locally on your on your machine. And the same is true for CDK is a container development kit from Red Hat. It's based on ADB, which is also vagrant, and it's also going to be based now in in CDK three on on mini shift. So it's, it's kind of just things as we call we want to make things easier, we don't want to have to deal with the vagrant file and the vagrant box and sis and such. Mini shift is one single binary compiled for your operating system. So if you're on OS 10, you're downloading the OS 10 binary, and you go mini shift start and everything else comes from there. You, you don't have to kind of unpack directories or all these kind of things. At least that's the idea. Oh, I'm already already at the demo. Awesome. I'm just switching quickly what what I'm sharing. I want to share my terminal now. If you have any questions in now we let me just start started off. There was one question that Lala seems to be answering for gets Carl around mini shift has been running great on Mac OS but not so much on Windows seven it works until they shut it down and it seems to reinstall as it required. They're looking for tips. It's for one day. So that's the heavy experience. Just starts this because it takes a little bit of time. So I'm going to can you guys all see my my terminal now. I hope so. Yes, indeed. All right, so mini shift is the single binary. So one problem with this vagrant approach was it's based on the vagrant files or you usually had to kind of CD into the directory where you had your vagrant file and you kind of go vagrant up from there. Mini shift is a binary you can put it wherever you want on your host. As long as you make sure it's in the past you can just call mini shift. You go mini shift start and in in my case I'm also selecting the hypervisor I want to use in virtual box. For default I'm using OS 10 here for default it would be excise but I might also want to kind of show a little bit management console console later so I'm using the virtual box hypervisor. And what's going to happen here is now they're basically two things. If you start off all clean with nothing at all, it would download the ISO like as a virtual machine ISO we are using. And it would also download the OC or OpenShift OC client. And now fingers crossed this works. I'm kind of looking at this question as there's this one question if we are using virtual box on Windows 7 this is right. So that's true. We support multiple hypervisors. So virtual box X type and type of B and. And to default is OS 10 to default is excise on Windows it's Hyper-V for Windows 10 or for any Windows version where Hyper-V is installed. So now things are a little bit happening. And then on Linux we kind of recommend KVM. And then everything else is basically virtual box that's kind of a little bit to default or the lowest common denominator. So what's going to happen here is as I said it's downloading the ISO and it's caching it so if you kind of if you start from nothing you will have a little bit of initial waiting time if you have to download ISO and some other bits and pieces. But once that's done if you delete your virtual machine and you create a new one your caching ISO and the OC binary and things should go faster. So what's what's happening here is we also downloaded OC binary and put it into a cache on your host and then we are calling basically OC cluster up. On this this is OC binary against the docker demon running in the VM. And that's what you guys are seeing in here you even on you see the command which is kind of running. It's running cluster up these various parameters which which are needed. Now unfortunately this will be a little bit slow it seems of the network. Any any question I can either continue a little bit with the slides or we kind of wait this out and we kind of take some more questions. There's a question about the release cycle. So and I think is the mini shift what release version for origin are using mini shift this time. And are every time we do a release of open shift are you going to be doing a new mini shift or how is that going to work. That's that's that's an awesome question. So basically the mini shift start command has an option called dash dash open shift version. And you can specify which version you want to run per default at the moment we are lining this one for one. But you could go mini shift start dash dash open shift version one point five point one alpha two I think that's the latest. And in fact we're having some features we just implemented proxy support so if you're sitting behind the proxy in your company or whatever. And you have to kind of make Docker and open shift work through you through a proxy. We enabled this feature that is basically mini shift start and then dash dash proxy host proxy URL. And for this to work. Again we are piggybacking the mini shift really tries to be the rapper around lip machine and kind of managing the virtual machine and kind of And it provides a clue between the two. And what we want to do is like we want to add more value we want to find the scenes which make it easier for you to kind of send us open shift to easily customize open shift body what what it comes before the C cluster. And proxy is one of the things. And as I said like the latest one point five version of OC cluster up has also proxy support built in and we are piggybacking on that. So if you want to use try to use proxies you would go mini shift start dash dash open shift version one point five point zero alpha two or whatever it is at the moment. Does it support OCP today. Not so the mini shift is the community version that's the thing which is open source and and you know you go to GitHub and look at the things. And that's that's based on open shift origin. So it will and then there is sense of what what we're also working on is a CDK three, which is based on on OCP. So that will be available via developers redhead.com. It's also free. It's not cost anything. But it's basically a different a different binary. I guess you can also run it by getting a little bit. I'm sure I was going to say that you might be able to run OCP is a community version. Not. I think you need a registered. Yeah. As in registered with redhead subscription manager. Okay. Now, I guess everyone sees that the whole provisioning work. So if an OCP cluster up and it kind of was installing the initial open shift configuration, it would install the open shift. Registries around importing some default image streams. It also actually logs you in her default this as developer developer. That's another interesting one. OCP cluster up is basically unauthenticated. So they see developer user, but actually it does not matter which password you're using. It's, you know, whatever will work. And here's one of these extension points we are seeking off in the upcoming release. We want to offer the possibility for the user to instead of having this default unauthenticated thing, having an easy way to do it. My own user authenticated and my own project kind of thing. And nothing stops you. I mean, this is not like from here on. You can take OC or ABM and do it, do it yourself. But our goal is basically to make these things for easier for the user without having to know all these OC and or ABM commands. Okay. Let's see what we have. I kind of. I can do a mini shift. Mini shift IP gives me the IP of CCVM. I can, I can do status, mini shift status kind of controlling if OpenShift and CBM is running. I can do this. You won't, you won't see anything. There's a mini shift console. Oh, sorry. And that actually opens. The OpenShift console in, in the web browser, but I guess you're just seeing my terminal right now. So you can believe me, I see the console now. You can also do something dash URL. So that you see it's not, there's no magic here. So the, the mini shift knows the URL to the console. What else? Yeah, you can. You can set kind of parameters you, you, you use quite often. So, so depending on, on your environment, you maybe want to run Sylvie MVs for CPUs or with a certain amount of memory. So you can do something like, and they are, they are mini shift stage. So here we're looking at the options which mini shift start takes and they are quite a lot. But you see, you can specify a disk size. You can specify how many CPUs your virtual machine gets. And you can also specify how much memory. But it's of course tedious to kind of having to do that or to remember that all the time. So what you can do is if I do a mini shift config view, that should at the moment return nothing. I can mini shift config sets. CPUs, sorry. So what, what it's doing now is kind of persisting or these kind of configuration values in a configuration file. And if I now use a config, it says CPU force and what it means. It's also, it's right now. After I created already the VM, it's not going to do anything. However, if I would delete this VM and create it, it's not going to do anything. However, if I would delete this VM and create it reinvented or create a new one, it would use these values from the configuration file and would apply the defaults I'm needing or I want to use. Like RAM and CPUs, these are quite common ones. Also, which kind of driver you want to use. If it's excite versus hyper V versus virtual box. Um, right. Well, next, let's go back to the any questions. The people were asking for the where the best place is to look for documentation and I'm expecting you have that in a slide coming up, but it's open shift. Now the documentation is all written in Markdown and part of the GitHub repository. We are not hosting this at the moment. So if it's, if you go to the GitHub repository slash docs, it's there. Um, it's, or if you started to read me from the read me, there are also links behind the process to actually properly generate HTML documentation and publish it in. Actually, it will be docs, open shift.org slash mini shift, something like this. It will happen this in the next we are working in sprints like we try to do releases every three weeks. It will happen. Most likely this in the next three weeks. So the people who are kind of looking into this. They, they are very close to kind of getting this in place. And then there would be the whole thing would be part of the open shift or docs. Share screen. Going back to, can you guys see Safari again, I hope. We are looking at the big word demo. Cool. Now I thought I kind of go a little bit through the various commands and kind of give a little bit over you what, what you can do a lot with, with basically already seen. Don't ask me about this strange highlighting. That's kind of the tool. I like the redhead slides doing for me fast. So that looks a little bit. Okay, so I'm in shift start. I guess that's one of the most important ones. That's the thing which kind of creates a VM with all the parameters create instantiate the Docker demon or starts a Docker demon and then calls OZ cluster up to to start start the open shift. Stop is to stop is to stop the machine. And it basically state is consistent. So if you do a start again, everything should be back back to where you get where you've started. So no, no, you're not losing any state. If you go kind of start, stop, stop, stop. It's a little bit out of sync between what I see and I guess you guys see the lines not properly highlighted, but you get you figured out. Status we've seen it basically just running stopped something like this. The lead that's the thing which actually leads everything. It keeps a page state. So if you have the ISO downloaded or OZ version. That's kept. It's actually also nice to know if you start mini shift is this different versions of open shift like 1.4 and then a 1.5. You're getting to two cached versions of OZ and and you can export this into the past. And then this means you can use the OZ version which matches the open shift version you're running. And again, maybe in the next version or the one after we will offer a command. Something like mini shift OZ and which dumps you export command onto the onto the console, which is and can execute. And that puts the right version of OZ into the past. So that basically you OZ binary is always aligned with whatever open shift version you're running. IP we've seen that just reports back to IP of the VM. Console it either displays the URL of the open shift console or it opens it for you. Docker and that's an interesting one. I should have done that. Maybe if you go back to the demos or to the shell later on, I can show that that's the equivalent to Docker machine and it basically prints to the console a command or which you can evaluate is all the Docker. Variables you need to connect or talk to the Docker demon running in the VM. That's very has many use cases. If you're running mini shift, you actually don't have a need for Docker machine anymore. You can use mini shifts Docker demon for all your Docker needs. It's also, if you kind of building images locally, you can push it into this into the Docker demon to be then consumed by an open shift because open shift will use the same. Registry. So you kind of kind of you can reuse this VM. No, you don't have to just use it for open shift. If you have any other Docker needs, you know, you can use it for that as well. Logs shows you the open shift logs. Service is you say mini shift service project and application name, and it kind of gives you the routes. Basically, that's at the moment broken. Being a fork of mini cube. It was it. The code actually at the moment tries to use you to buy and it kind of doesn't work. So this is one of the issues we having to have. We are solving for the next iteration to kind of make this command work properly again. Open shift. That's a good one. I think now now I'm, I'm going to switch back because these are kind of now this. I think this more value things I've been talking about and the things I want to, to show you. So let's do this mini shift. So just that I. That you see how this works. So this is basically the same as me. If anyone uses Docker machine, the same, the same thing really. So the interesting thing is now you can. In some cases, you want to modify the default open shift configuration or maybe views of, and I'm not talking about the template and stuff, but really the master master or node configuration of open shift. And you can do this by a mini shift opens. It's a little bit of a mouse book, mini shift, open shift config view. And what came out here now is the master master config.yaml from the running open shift instance. And you can see, you know, whatever is set and, and, and so on. And also how I take this command from somewhere here. So what I'm doing here is mini shift, open shift config set, and you're specifying a JSON based patch. For example, in this example, I want to change the course allowed origins parameter. If you, if you run open shift cross origin requests only work from the IP of CVM and from local hose. So if you want to have any, any course request because you're kind of having a quite complex application and this application has to make cross origin requests, it won't work. So what you can do in this case is you kind of, you bring up open shift and you're running this config set command. And in my, in my case here this course allowed origins.star. I'm allowed, I'm basically saying any from, I'm allowing cross origin requests from any other domain, which is probably not maybe what you want to do, but for development, it's the easiest, easiest thing. And as you see, it, it's, it applies the configuration and then it's restarting mini shift. And if you would now kind of do the config you again, and if you're scrolling somewhere up. Is it complete? Yes. Now, of course, you know, yeah, I didn't show you that it was the default before, but. And it also works. If I click. Comfig view dash dash note attack, sorry dash dash. Good note. Right. So here you're seeing, you're seeing the configuration of the, of the note, a note demo. So basically, because it's all in one, it's running in a single note cluster, there is always basically only two configuration files a master or the single note. And what's that something. There's one question in the chat that I think, while you're pausing here. Jonathan's asking, it seems like you're tying a specific version of OpenShift to a specific version of Docker and he's curious if you will go back into the old version of mini shift and CDK to support updated versions of Docker. And Lala is answering that it's a dependency with the ISO for the Docker version. Right. So the version of Docker is whatever we it's basically in the ISO in this virtual machine. And, and I'm actually don't mean you shift. Okay. So, yeah, let me then answer that question by the time, how do you work from the command line. So the Docker version basically comes from the ISO. Then CDK will give the whatever let it's Docker, which it comes in. So when it will die, so we get all the test. So what I'm running here is a community version of mini shift which per default works with that's an interview I haven't covered this. So initially mini cube and mini shift were based on the boot to Docker ISO and the community version per default is still doing that. That's what we're seeing here, but we split the code out a little bit. So you, we are also producing a center as ISO, so an ISO based on center as and a rel ISO, which we just basically used send for the CDK for the container developer kit. And if you're going back to mini shift start this age, you'll see somewhere dash dash ISO, ISO URL here. So you can, at the time of mini shift start, you can point out the ISO you want to run in the boot to Docker ISO, which is the default right now. We are not having the latest version of Docker that might be might be updating that within the next coming next coming weeks. But at the moment, we have our focus on other things. So we want just wanted to have something stable. So we are a little bit behind when it comes to which kind of version you're running. Theoretically, nothing stops you to kind of build your own, it works actually quite nicely. You build your own ISO and update your Docker version and point mini shift to it. It should be it's actually quite straightforward. And that, and that sounds, yeah, that was the question I was just going to ask, can you do it yourself and that sounds like you need to add into the documentation how to. Yeah. So, okay, so let's back to this. I'm a. Back to the slides. Conflict we've already seen that's kind of this way of kind of persisting certain runtime options of mini shift to kind of CPUs RAM, all these kind of things. SSH, I didn't show that mini shift SSH you can get into the VM and then you can do know your whatever commands you want to kind of poke around to see how things work or whatever you want to do there. Open shift version specifies shows you the version of mini shift you're currently running. Get open ship version is a little bit useless as it stands right now it basically just shows you the versions of open shift you can specify via dash dash open ship version. It doesn't really help much. One thing we are considering is to move this get open shift versions and also the service command under as a sub command on the open shift. So the idea is everything related to the running open shift is under the open shift. Open shift context though to say, and all other commands like conflict, start, stop SSH stay effective VM and they are in the root context are kind of trying to be a little bit more consistent, trying to create a little bit more separation. And so that's also coming coming up within the next few releases. So I thought we have a quick look at the roadmap. So I'm hoping the roadmap shows up that would be good. And one of the reasons we're doing this presentation is there are a lot of you on the call. We really would love you all to try doing this and give us your feedback. Get on the IRC channel and let us know this is not the GA release of it yet, but it's being used pretty widespread. So I thought it was important that we get some more feedback back to Hardy and Lala and the rest of the team to make this work. The IRC channel was pound mini shift and we'll show that slide again in a few minutes. Yep. So to give you a rough at the moment that's better for and then the next release will be already released candidate hopefully and after that we are reaching me shift one after that. The plan is basically to go over to semantic versioning. We will drop this alpha better stuff and basically follow semantic versioning. At least that's the idea. Mini shift one zero zero is also a little bit of a milestone. That's for us. We want to reach a state where we have feature parity with what we have in ADB slash CDK at the moment. And for that we have to kind of look at the open shift registry exposing it pretty far so that you can as a user access it. Actually the ability to patch the open shift master that's we've already done. We can cross that out. This one we are working on right now the ability to cast like the cluster comes up. But then I want to not use the default templates and the default image streams I want to import my own. Maybe I want to run some OC commands to to create new roles or kind of anything like this. So we will provide a mechanism to do that. And the other thing the big part we are working on right now is also having a consistent way to to be able to get host follows directories from your host mounted into the VM because from then from there on then you could then use these directories and use mount them into a pod for example with which be nice with development perspective. I have my application running locally on my host in my editor. If I kind of can can get this host chain working I can basically edit the code and it reflects directly in whatever running pod. Which is a little bit alternative to OCR sync which is kind of used for example this eclipse tooling at the moment. So once we've reached mini shifts one zero zero. We're looking at this model things which kind of makes things life easier like a mini shift login which which kind of helps you maybe also to create users and to transparently lock you in. We also want to offer persistent volumes. We also are looking at the moment we are using the XIP IO approach for application routing. We want to kind of revisit something we've done in ADB or investigate it in ADB as well to to be able to specify a host name and do the routing on your machine on your host without having to go out to to the at the moment with the XIP or NIP IO approach you always have to kind of you need internet connectivity because you have to reach out for DNS resolution with something like this you would be able to do it on on the host. Yes, I've mentioned this ability to manage user maybe make it easier to for the user to select the right version of open shift something interactive some interactive interactive thingy into console. Then moving on like things like you know you can bring your own class certificate to the cluster and we use it so kind of to avoid some problems around TLS. And another idea is if you have a running Docker demon, maybe you don't need to run or create a VM. So maybe if you split if you split these two things up and and having really okay we have things controlling the VM and things controlling open shift, it should be possible to say, okay, if we have a Docker demon and the user points us to it, we just skip the whole VM management part and we just provisioned open shift on top of that. Yeah, and then I guess this one's a lot of mini shift to I call it because I believe once we have set a lot of commands and structures might change one of the little bit of flaws maybe at the moment is that you can only create one mini shift instance you cannot have mini shift one, two, three, four, five and switch between them. And really that's a limitation in how the code is written it just needs a little bit of re factoring to make this work. But it's just an engineering effort we have to put into this. If you think Docker machine, it also allows you to manage multiple Docker machine instances. It's nothing which stops us doing the same for mini shift. And the question is that that just came up. And, and I'll just repeat it laws kind of answered it as well. Who is the intended audience for mini shift. And if, if you have a non prod OCP cluster, would you suggest developers work there or locally and mini shift and from my point of view. This is this is all about getting developers laptops, so that they can carry it around on their laptop and work there but I think we address a lot from your point of view, Hardy. Right. So there are many, many users. Our audience is just someone wants to kind of try open shift. And, and now you can do open shift online, but, but sometimes you want hands on you want to understand the whole system you want to be able to see the master configuration. And to do that, you know, you have to provision or run it somewhere. So that's, I think that's one big use case, someone just interested in open shift, and, and he wants to use it. The other idea or that's what developer tooling is, is kind of trying to do is as open shift is gaining traction now and people starting to develop applications. It might not be that you always have access or that said you always share like some globally company by installed open shift instance to do your development, or you want to kind of be just at home and just your home network and you want to do develop on your open shift application. So, so we want to provide an environment where you can actually do open shift development. You, you're writing code for your multi multi port or multi multi container based open shift application. And I mean that ties in in our offering the steps suite with the eclipse tooling, which is kind of getting developed in parallel, which allows you to. It allows it to connect to any open shift instance, but in particular to to your local to mini shift to your local instance, and kind of to write your code in eclipse and kind of getting deployed on open shift. Basically do everything, everything locally. Obviously, there is a limit to this. It is very resource intensive, you need the powerful machine to do this. And I don't think it scales for a microservice architecture with 1520 microservices, but for for smaller use cases, if you have enough, you know, computing power. Sure, I mean, that's by far the easiest, easiest thing to use and stand up. And you know, you have full control of it, you can kind of, you know, you can patch the master config, you, you, you can touch and and modify whatever you want. And then another audience group is people, a big audience group is people who want to demo things like people who go to conferences and stuff and want to show things. They also have to need to to kind of do this locally or want to do this locally. So these three groups are these three main use cases we have in mind at the moment, I guess. Is there anything you want to add Lala to this or any other questions. Yeah, I would like to add so we actually have recently had a discussion around it like, I mean, if you compare a open shift cluster to how we want to position many shift is obviously when you have a proper open shift setup you would have it should be more restrictive because it's supposed to be that way for operations, right. But if you want the developer to basically quickly become productive. So you want to basically give more access to like, you know, roles and other stuff in open shift. So that we basically quickly become productive and kind of create his application. And then obviously we want a documented path or automated path where you can tell, okay, if you have developed this application on many shift or city. Then you want to take it to a proper open shift setup. But here are the things you want to change to make it run in a proper setup. So basically trying to make open shift easier for developers and so that they can quickly start and gradually basically go towards the production setup kind of thing. Right. And I mean, I want to repeat like this is a development tool and an exploration tool. This is nothing, nothing even near to production. It's a single node cluster and that's it. So it's definitely not some production thing, but you can get as close as possible. You get the same environment. And then once you're ready, it should be easy to transfer this into a production environment. So now comes the part that we really want to get across now. We showed you a little bit what mini shift is what it does and hopefully we got you also interested. And now it's kind of now how can you help but so try mini shift if you if you if you're interested in open shift if you kind of have the need to run the open shift locally. Now give me a shift to go go to the to the release page grabs the latest mini shift, mini shift release and just try it and be interested in any feedback. And I like if it's if it runs great. If the documentation is not good, tell us if you find the back tell us. And that means, preferably, sorry, you report the bug on GitHub and in the issue tracker, or not like if you're not sure, not join us on on ISE on on the mini shift channel. Describe your problem and then they cannot can kind of talk through if this is an issue or maybe a usage problem. Whatever you know like we really try to kind of help you and it's really more fast than for you really we want to kind of make mini shift as good as it can get. And obviously, if you're interested and you kind of selling into this idea, and you maybe find the back the absolute best step you could do or take would be to create a pull request. If you if you know find the problem and even create a pull request. Mini shift is on GitHub. The organization is mini shift the project is mini shift. If you go to the mini shift organization you see also the other repositories we are having these are these ISOs these virtual machines we talked about or we mentioned. If you know that this would be the place not coming back to Docker version. This would be the place to go and actually, I want to use the boot to Docker ISO, but I'm not happy with what we provide as a default in the Docker version. So if you want to check out this project. There are weakness and stuff but again if you can't figure it out we are happy to help. You would kind of update your, your, your ISO build and build your own image and yeah, your own ISO. Yeah, that's actually basically, you know, can't you can't have a presentation with out on cute cat. Great. So there's one more one more thing through here and please everybody do take a take a few moments of your time and try this out and give us your feedback. Lala you want to try and explain what Danny is asking here with the project question. Hi, Danny. I think if you're asking about name spaces, you can actually create ship. And that's not a problem. Hi. No, the reason I'm asking is because I found out using the open shift ansible basically creates by default, a lot of projects what I mean by that is, you know, apart from the default, you have logging you have cube system you have open shift open shift in France like and then, you know, I tried to figure out or to find out why those projects are created by default and what's the meaning of each of them. And then obviously the question gets back to mini shift, whether he's creating those default projects out of the box or not. Yeah, so he's basically the name spacing. Yes. There are certain work spaces which are kind of taken out of the box by open shift. That's just how it how it works. But other than that, we have, as I said, you're basing cluster up and it creates as a as a user facing thing it creates my project. That's it. So that's the default workspace. If you if you don't like it, you delete it, you create a new one. It's also like mini shift. Once open shift is running. It sets our job kind of making things easy to configure open shift and to get it running. But once it running. It's like, okay, it's like it should be as any other open shift instance. It should be like open shift online. It should be like open shift dedicated. It should be like open shift running somewhere on AWS, whatever whatever your open shift you're dealing with the behavior and stuff is the same. So whatever commands you want to run to configure it like OC or ADM that should work pretty much the same way locally with your mini shift instance as with whatever else you want to address. Okay. Thank you. Also just wanted to add one more thing like had he said, in mini shift, what we do is basically do OC cluster up. I am sure you guys have tried OC cluster up. And also this is on top of virtual machine which gives a document, right? An option is good to talk about. We have center size also. If you like centerize and we had content development, we have real ISO. So the benefit of this is if you run mini shift, right, you don't need a docker demo. So windows OS X or Linux. You can basically run mini shift and it will give you the docker demo from the VM and we use it to basically do a cluster up. And we're trying to do bunch of time to do bunch of stuff to make it more, you know, definitely and stuff which hardly talked about. So most of the opposite thing defaults is we get it from by default from OS X cluster up. All right. I see also there's a question about the slides, the URL which Diane just posted that stays the slides are already online and they are public or like they are accessible via this URL. And I'm not going to change that so you can, but I think it will also be a blog post and other bits and pieces. But if you're kind of interested right now in this information and you want to kind of click through these links which I had, you can just access the slides via this URL. That will be great. Just to reply to Carl's question about Windows 7. Sometimes what happens is also it depends on obviously we don't depend on the virtualization software. So if the virtualization software, the VM is stuck in a situation where mini shift cannot interact with it. So that becomes a problem. So what you can do is you can open a virtual box and see if the VM is running or stop. If the VM is running, you can actually forcefully make it stop. Then go back to command line and say mini shift did it. And you should be able to delete the VM and then you should be able to start. If nothing is working for you, the whole setup is gone like for the tasks. Then what you can do actually, there will be the home directory of the user. There will be dot and ship directory. And in select directory, there will be a machine directory where basically we keep the information or specify inside other stuff about the VM. So you can manually delete that machine and then again start from mini shift start, which should be able to fix the issue. All right then. There's another question just popped in. How does it handle networking from the host? If I bring up two projects with routes and services on port 443, how does it resolve those on the host? That's something you will have to resolve. I mean, the route has also as application. With the route, you always go into the HP proxy. Maybe something we talked about on the IRC channel. Yeah, I think yeah, I think if it is basically if it maps to the same port and the VM, it should not work. I mean, we have to map great important. I don't think that you can do that from a from an open shift perspective that you kind of exposing two different services. If support running on this on this, like on 443, if you want to expose them as routes, you still have to kind of decide at some stage, okay, one is 443 and one is 444. It's a conflict. You cannot expose the same port out and expect that you can reach it. I hope. We all hope. That's why I think you can discuss this. All right, well, I'm also trying to have a public mailing list. We actually announced it. Once we get the mailing list set up, I'll add it to the blog posts with all of this so people can sign up for that too. But really, everybody, we'd love your feedback on this. Take a look at the little bits of documentation that we have if you want to make a pull request and work on the documentation, we'd love that too. So, hey, and Hardy and Lala and the rest of the team, even the people who did the all in one VM, which I love so much and work so hard on. We really appreciate everything that you do to make it better for developers locally. So thanks again and we'll look forward to the follow up after we have a release candidate and do this again. Thank you. All right.