 Good morning. I was in another room and I explained what is Pondman desktop and what does it do with container and jine. Not only Pondman because it works with Lima and Docker. And now I will go a little bit fast forward on all of these questions and try to do stuff with various Kubernetes, break stuff. Maybe some live demo will not work but that's okay. I'm super stressed for the live demo but that's the most important part. So why we started Pondman desktop? One thing is that Docker desktop changed the license and it opened the possibility to start a new project. That's one thing. But also it's that with Docker desktop and Docker compose you end up in development with something that you cannot easily deploy in production. And even worse if it's Kubernetes it may not work and if it's open shift you're almost sure that it won't work. And so the idea is to shift less things rather than having a container that works in development and then you go in production and you discover that it doesn't work. To give to the developer the possibility to test as fast as possible. That's what they are doing is working correctly on Kubernetes and open shift. This is another very beautiful thing. I'm not able to do a beautiful picture like that. So that's the idea. And the idea is that Pondman desktop is not only controlling the container engine, the Pondman engine or Lima or Docker but it's also playing with Kubernetes. And that you have just one click or a few click to do to transform what works on your container engine into something that works on Kubernetes. So that's the default dashboard put in very small to see everything. One of the things that is that is that will happen next is the design of this of this dashboard. Yes. Our reason to do that is containers are Linux. So you have Windows containers, but nobody use them. And when you want to run containers in production, they will run on Kubernetes and they need to be Linux containers. And on Windows and macOS, it means you need to run a virtual machine with Pondman in it. Or with a container and drying in it. And yeah, that was not easy. So the first task of Pondman desktop was to build an installer that helps you install, initialize everything. Just it's not sure. So we have installed for Windows macOS. And so we have maybe five different install for Windows. We have one installer for all Linux. Flatback for Linux and for Windows we have an MSI executable that you don't need to install. Choco installer, WinGet installer and fully air gapped installer. So a lot of options. For macOS, same thing. We have installer that works on multi-arch and then installer that works on the Intel or on the IR. So that was the first stages of Pondman desktop. That was being able to distribute things and to install Pondman desktop and Pondman everywhere. That's done. And it's stable, let's say. It's stable. It works. We have some bugs sometimes but most of the bugs are not here anymore. Then feature run containers. So you can pull image, push image, build image, configure registry. And you can run the core compose. For the people who are behind the proxy, we have options also. That was something that we built in January, February. So you can configure a proxy. You can add your own image registry and you can install in air gap environment if you are in jail. And I overthink if you have already Kubernetes configuration, you have access to it. So you don't need to... If you already have your remote Kubernetes cluster, that's already available in Pondman. Then the basics. I will go fast because I spoke of that this morning. So basics, creating a Pondman machine, pulling an image, starting a container, building an image. If you want to go to the slides, you can look at it and you have small videos for everything. But I will fast forward on that. That was the session of this morning. So this is where I will start from now. And I will try to make demos that work. So we're not familiar with pods. Wow, everybody knows. So that's good. So I will start from the situation where on Pondman, so on the container engine, I have a pod running. And now that I have that running on the container engine, I want to push it to some Kubernetes. Okay? And if you have already one Kubernetes engine configured, you can use this one. But then for a developer comes the man to say, okay, I want to run my own Kubernetes. So what can I do? What can I run? And we have started to create some extensions that help you initialize Kubernetes clusters. The first thing, the developer sandbox, it's an OpenShift cluster managed by Redat, where you have OCP, the OpenShift container platform, plus some developer tools like Enchance, the Redat builder in my catalogue, OpenShift Dayspace and S2I, okay, these things. So something in plus and a lot of restrictions. So you are a developer, you cannot be an admin. After 30 days, your sandbox is disappearing. You can only work on one namespace, one project. You are limited in RAM, you are limited in storage, and you start about 12 hours. It's skipped. So that's, let's say, that's trial, demo trial mode. You want to start with it. You test it, but you cannot really work a long time on that type of stuff. Then you have the option to install OpenShift local. OpenShift local, that's another banal that you can install via a volumetric extension, a little bit like an instant banal. And then when you have OpenShift local, you still have to choose between two bundles, so two versions of OpenShift that you can install. You have one version that is OpenShift, just single not OpenShift. And where you have all the features that you find in OpenShift, you need, so you need quite a lot of CPUs, so quite a lot of consensus. But at the moment, that's what is working well. The best, if your laptop is strong enough. And then we have MicroShift. That's only networking in gray storage. So nothing else from OpenShift. That's, let's say, that's like the container engine, plus networking, plus ingress, plus deployments. But quite frustrated. And that's a very cool solution, but it's very young. So at the moment, we have some stability issues with it. I believe the first version that's working has been out two, three weeks ago. But that looks great for the future. If you don't want to, just because you want to test things, that things work on Kubernetes and you don't need monitoring, that's a good option. And last option is Kynes. Kynes is just Kubernetes running in a container. And that's the first thing that we built. So in Kubernetes, that's the first plugin that we created. And that's, it should have been the first demo that I make, but it's broken. On my machine, it's broken. And I cannot start with a rootful Pullman. So a rootful Pullman is completely unstable on this laptop. And I don't know why. So developers and bugs, should I do the video or do the live thing? So developers and bugs. That's the console of the developers and bugs. And that's the console for Open SIFLocal. They look quite the same. So developers and bugs, I have one project here. I cannot create a project. And now it works good. It's empty. I'm not cheating. And now I will switch my context to my sandbox. First showing that here I have the sandbox in unknown mode. That's not good. Ah, no. Good, good, good. It doesn't work. I will do the demo afterwards then. The problem is I started my laptop without the network. Pullman desktop started without the network. And things are broken. So let's start with the demo on Open SIFLocal. And then I will restart Pullman desktop and hopefully it works. So on Open SIFLocal, you have two profiles. An admin profile and a developer profile. And last time I tried with the developer profile, I could not do everything I wanted. So let's try safe with the admin profile. And on Open SIFLocal, here I am the admin. And let's try something that I've never done. How do I create a project? Ah, yeah. So now I have a project that is entirely empty. And entirely empty. Where is the rabbit? Not in my pocket. And I have my part now. And I will deploy two Kubernetes. And now it's asking me to deploy in the Kubernetes context. And I can choose my project, which is the last one. That's good. And let's try it. It worked. So I have my part running here. I can see it in the console. If I look here in the Pullman desktop, I see that I have this. It's good. Big enough. So this pod is running in the Kubernetes, in the context CRC admin. The namespace is not displayed here. So that's some of the things that may change in Pullman desktop at some point. The interface is super simplified, super simplistic. So there are things that we don't show. We don't show the namespace. The context is in the sys tray. So you don't see that in the interface. And we don't show deployments. We show container, pod, image, storage. And that's it. So for an advanced usage, it may be not the best tool. But if you want just to move things from your container and join to Kubernetes, we thought even thinking about it. And then you give the work of tightening to other people. That's very good. So I see my pod here on the Kubernetes. I can see the logs of all my containers there. That's good. So search doesn't work here. But here, search doesn't work. So that's one of the hidden features that I have to show is if you click in the content, you do control F and you can search in the content. That's very useful. And now that you have something that you know that works on Kubernetes, same thing, you can copy the YAML and you put it in the code that needs to be deployed. And well, that's it. Maybe you have to clean up some things, like the IP address. I'm not sure you have to put it in the code for real, but you have already something usable, a good entry point. Another hidden feature. When you go to the summary, you see that you have your containers and the question is how do you access to the app you deployed? And because I believe that will not work. Okay. I'm not sure it's the right one. Okay. Let's stop this one. Okay. That was the application on the container engine. Okay. So that's one of the things that are still a little bit tricky now. Now I have my part running on my Kubernetes, but how do I see the app? And that's not something that is easy to do at the moment. So I had a question this morning about the evolution of the things that need to be better. This thing, for example. So this is leading me to something that is not the right thing. And at the moment, the only way that I know is to go to networking in Hoot, and then you have your application network. Okay. I can take a question at this moment on the services. No question? Okay. Installing OpenShiftLocal. Let's look at this. That's not something I do live demo. It takes much time. As someone who already tried to install OpenShiftLocal before or not. And was it simple? How much time do I have? Two minutes. Before the questions or before the end? Before the end. So I have two minutes before the questions. You can take as much time as you want. Okay. Okay. Then I have kind and... Okay. Let's try. Let's try to see if I quit OpenMan Desktop. Start it again. If not, my Dev Sunbox is fixed. Windows. I forgot to say I've been using Linux for 25 years. And for this project, I'm running Windows. So... So it's still unknown or what? It's question time. So... Okay. Let's do this. And recreate one. So the name will be my Sunbox. I'm already in it. So I have just... That's the Sunbox. Copy login command. Login with the Sunbox. You will see my token. I copy this line. So that's the things also that are now... That requires still a little bit of manual work. But it's very difficult to retrieve the information automatically. Maybe we will manage one day. And I paste my login command. And now... Is it working? It's exactly the same as before. I just started without network. So now I change my context to my Sunbox. And I will... So I change my context. So now I don't see the pods and the containers that are running in my other Kubernetes context. So sometimes it's confusing. So you always see the container in your container engine. But you see only the things that are in your current context for Kubernetes. So now I don't have access to the other one. I will deploy this one to Kubernetes. It's exactly the same thing. But it's in my Sunbox. And let's see how it works. And now if I go down... I have my pod running. Wonderful. But this time it's not local. It depends on all the network. Now I can take questions or I can fail instantiating a kind... As you want. I have a question. How much do you think is Podman made in the Windows world? So how far has the awareness gone regarding the availability of Podman somewhere else in the Linux? The availability of Podman in Linux? No, no. On other platforms. I'm talking about like... Podman is built and it's not just part of the Linux, right? So Podman Desktop is more for Windows... Exactly. I have to repeat the question here, that's it. So the question is Podman Desktop is more targeted as Windows and Macs users than Linux. I don't... We have metrics on that. I'm not sure they are really good because you have to... You have to allow for metrics collection at the beginning. We have very few Linux users. And then let's say two-third Windows, one-third Mac and two-person Linux. So that's really not a lot of Linux. But we believe also that the proportion of Linux users to say no to data collection is higher. So that's what we think. And we think also that on Linux, you can install the text-user interface. You are already happy. So you don't need to install Podman. So it makes that people who use Podman Desktop just to install Podman are not users on Linux. So on Linux, the only reason to install Podman Desktop is you want to do this container to Kubernetes, which is really a cool feature. Or maybe if you want to visualize your containers. I like it because it's really nice for me to visualize things like container pods, images, and I have an overview of everything that is there. I like it a lot. To prepare this presentation, I have destroyed my Podman machine 10,000 times. So the fear of starting from scratch and starting over is gone. And on Linux, I never put my image. So I do it when my disk is full. So I don't have the same way of using Podman now on Windows and on Linux before. So it's changing the behavior. I don't know if it's for good or not, but I tend to be more tidy with Podman Desktop. Because it's cluttering the UI and it's like, I don't need this image. Click, click, click, click. Faster than just writing the command line or making a script to say, hey, all images I didn't use since two months. Just typing in system code. Yeah. And there are also quite some features that don't work well on Linux. For example, the proxy. The proxy, the feature that is made in Podman Desktop, is made to inject the proxy configuration into the Podman machine using the Podman machine API. But on Linux, you have your local Podman installation, so you don't use that. So you have to edit your config file by yourself. So that's something that's really... Now I'm running Windows because when the feature doesn't work, maybe it doesn't work because it is on Linux because it's an edge case. And I don't say I'm super happy with it, but that's like it is. Other question? Out of time or not yet? Three minutes. Three minutes. You have more questions? I can fail a kind of installation if you want. Most probably it will fail. So on Windows, when you want to create a kind cluster, you need to have a rootful Podman. So when you do a Podman machine installation, normally it's rootless. Just if you need to run kind, you have this kind of errors. And since this week, so just this week on my machine, I cannot start... When I start a rootful Podman machine, this machine is just completely flaky. So I cannot see the containers. I don't know. Yeah, yeah, maybe. And someone asked me this morning why... So what I think about CLI in Windows? So in Linux, it's straightforward. In my case, it's straightforward. So in Linux, you have different terminals, but it's the same shell. And then we can talk about Bash, Decay, et cetera. But in Windows, for a starter, you have to choose which terminal do you want. Do you want CMD? Do you want PowerShell? Do you want a Bash in your Linux virtual machine? Do you want Git Bash? Do you want PowerShell but in an administrator mode? So that's just... Running CLI tools in Windows is still a mystery to me. It's like, okay, here I can run this command. It works well on Git Bash, but then it doesn't work on CMD. It doesn't work by design. So Windows users are not doing Shell because they don't like Shell. It's because that. It's just... It's broken, we are prepared. I'm trying to do... I'm the tech writer for Podman Desktop. I'm trying to run Antora and to do usual tech writer stuff. It doesn't work out of time.