 Hi, this is your host, Supreme Harkya, and welcome to TFR Let's See. And today we have with us Mike Peterson, Senior Technical Marketing Engineer at Loft Labs. Mike, it's great to have you on the show. That's great to be here, thanks for having me. Loft 3.0 was released recently today. We are going to see a demo, but before I ask you to show us the demo, we'll tell us about this release, what's new there. So we've added projects, which makes it a lot easier to segment off like who has access to what, so you can set up users and teams and give them permissions to different clusters or virtual clusters. We've added integrations for Argo CD, so it's a lot easier to hook up Argo CD to your clusters and even add your clusters directly to Argo CD. And then we've added some customizations and we've added versioning for spaces, templates and apps. And we've just added a bunch of things that make it a little bit easier for users to manage their virtual clusters and permissions and stuff like that. We've also added quotas. Quotas make it easier for you to manage what users have access to, even Kubernetes resources and the quotas go across clusters. Now it's time for us to have a look at Loft 3.0. So let's jump into the demo. Here's version three. If you've used older versions of Loft, you'll notice that we've added projects and you can actually segment things off before you just have like a listing of your virtual clusters. So I'm gonna show off projects first. So projects is one of the biggest new ads to the UI that you'll notice. You can create multiple different projects. So you can have right now I'm in default demo and demo two, which I'll show off afterwards. You can go into your project settings here and we've got the ability to add members and we've got the ability to add users and teams to the project. So you can create like a team of different users or just have a single user and add them in right now. It's just me, Mike Peterson. We've got allow templates now. So you can say what templates are allowed to be used within this project. So if you've got a developer that's coming in and they only need like a certain template that they need access to, you can create like a dev environment that just says, okay, just deploy all virtual clusters using this template. And we'll get into templates in a minute. With templating, you can say when this cluster is deployed, deploy this application or set up this configuration. We've got allowed clusters so now you can segment your users to specific clusters are allowed to access. Right now this has all clusters, but if you've got users that can only use clusters in a specific region or something like that, you can restrict them to that. Quotas is one of the big new things that we've actually added in. Quotas go across clusters. So if you had multiple clusters, you can say, okay, this user is only allowed or this project's only allowed to use 10 pods. It's very low. You would use something else, but say 10 pods across all of these clusters. So to restrict users from doing way too much and to make sure that your clusters aren't getting overrun with too many resources. So here we've got like virtual cluster instances. We've also added virtual cluster instances.active. So another feature that you can use for your virtual clusters is to sleep them. So they can go to sleep when they're not being used. So say your users need to create 10 virtual clusters, but they only need five at a time. You could restrict them to five active clusters, but they could have these other clusters templated out when they need to be used. Or if you've got users across multiple time zones where maybe someone's developing for like an open source project or something like that and they need to use it in a completely different time zone than the other people on the team. They can run their cluster, they can test against it and then they can just put it, turn it off. And it just scales to zero. We also have within the pods. So if we add another, if we add another quota, we've got a bunch of different Kubernetes resources. So you can restrict, maybe you're limiting CPU or memory instead of pods. Pods is kind of a thing that you're probably not gonna limit as much. All right. So then after quotas, one of the new things we've added to is Argo CD integrations. So here I've got Argo CD configured within this project. I'm telling it where it lives. It's living on my K3S bare metal server. I can tell it which namespace it lives in. And then I can also enable SSO integrations, which I'll show you in a second where I can click it in and I can log in through there and I can use loft as my SSO provider. Okay. So let's go take a look at Argo CD real quick. I'm not gonna save these. All right. So we've added Argo CD integration. We can click open Argo. And what that'll do is take us to Argo CD and then I can log in via loft. I'm gonna grant my user permissions to access it. And now I'm within Argo CD. So one of the other features that you can actually set up is to automatically like in a template, add it to Argo CD. So I've got these two clusters added to Argo CD. Now I can actually use those as in points to deploy things. So if I actually go into Argo CD and look at settings and look at my clusters, a bunch of my clusters are already in there. So that makes it a little bit easier to add your clusters to Argo CD or automate it if you're using CLI or something like that or using something else. If you're using Argo CD to even deploy clusters, you can automate bringing up a virtual cluster and then you can use templates to deploy something into it and then you can like test a PR or something like that. So after projects, what we can do is take a look at templates. So what is templating? Templating allows you to say, when I deploy this virtual cluster, I want it to look like this. So if we look at one of the defaults that we have here, it just has some settings that you can set up. So definitions, objects, apps. So an application like I could say, whenever this cluster deploys, I wanna make sure Argo CD is deployed into it or if like you've got other applications that you want that support what your developers are doing, K-Native, anything else, you can say, okay, I wanna configure it and deploy that within my virtual cluster. So right now I've got Argo CD version 0, 0, 0. We'll look at versioning here in a second. One of the cool things about templates is if I update this template, my users can go in and update their virtual clusters to use the new settings. So say I've got Argo CD 0, 0, 0 and I create like a new version of Argo CD, which we'll do in a minute, 0, 0, 1. It'll tell my users, hey, this has been updated. You need to go ahead and update your virtual cluster. And then we go to parameters and stuff like that. This will give you some different options that you can add in for your users if they want to specialize the deployment or something like that. Permissions, all this stuff doesn't really matter. All right, so let's go ahead and take a look at apps. So app templates, what we'll do is we'll go through like a little demo of actually editing it and like adding a new version. So let's say I wanna do Argo CD. They already have one, so I'll do 0, 0, 0, 2. All right, and then I'm just gonna save changes. I'm not actually gonna change anything, but in here you could actually make modifications. Maybe you're using a newer version or you're deploying somewhere different or you're using a different chart. So I'll save changes and then I'm gonna go back to my template from our virtual cluster. I'm gonna edit it and I'm gonna say for my application, I wanna use a different version of this. Let's use 0, 0, 0, 2. And we're gonna save changes. Now this virtual cluster template is using a different version of Argo CD. So if we actually go look at our clusters, they're now giving us an error saying, hey, these aren't synced up to the template. Do you wanna sync these up to the template and make sure that you're standing sync with exactly what's added? You can do it or you don't have to. If you wanna make sure that you're staying up to date with all the new releases, like say maybe someone released a new application, then you would just hit sync with template and then what that'll do is it'll update it and it'll make sure it's using the newer version of Argo CD. All right, we'll take a look at clusters now. So with clusters, you can actually connect in multiple clusters. Right now I'm just running K3S on bare metal. You can dig down into the clusters and you can see what kind of resource usage is going on with them. You can go into the namespaces and see what's running on the base cluster. So like I've got Argo CD and stuff running there. You can see what virtual clusters are running on it. You can see if they're sleeping or if they're actually actively running and you can see how many resources they've actually been using. So you can get a quick look at what your users are doing. You can see application information and stuff. There's no apps running on the base cluster right now that I've installed from here and then resources. All right, so then we'll go down to users and we've got user management, which I'll show off, I can show off some settings about that. All right, so right here we've got user management, which has a pretty cool feature where when I'm setting up a user to give them access to different projects and stuff like that, I can pretend like I am the user to make sure that my settings are correct. So impersonate user gives me the option to verify that all the settings and stuff that I've set up for this user are right. So this user only has access to demo two. You can only see this. You can't see project settings or anything like that. Okay, so this user's been set up correctly for access to things. We also have the option now for custom branding. So you can set up different colors and actually make this your own and make it kind of fit in with some of your other tooling and stuff you're using. So here's some colors from vCluster. Let me apply this. It'll take a minute for it to load and then I'll refresh and show the colors and all. We've updated the coloring. These are the vCluster colors and I've added orange and some of the other colors. So you can kind of make it your own, add your own logo and stuff like that. But right now I've just gone to vCluster. I'll apply it to go back to the loft setup. So one of the other features that we have is that you can put these to sleep, which just scales them to zero. So that'll save resources when these aren't being used. So you can just go down to your settings and then I can say sleep and then it'll put it to sleep. With templates, I can automatically have clusters go to sleep if they've been inactive. That way my users don't have to put them to sleep. So I can go into my templates and say after inactivity of like an hour, put this to sleep. That way it kind of scales down and saves resources on the Kubernetes cluster and it's not actually being used. That way you can kind of like virtual machines kind of split up your cluster and not really kind of oversubscribe because if they're sleeping they're not really being used but kind of oversub like you with a virtual machine and give more resources than you may have because you're just depending on users not using them at 100%. All right, so this one's asleep and then I can go back in and then I can wake it up when I'm ready to use it again. All right, and so we can also drill down into these clusters and get a lot more information about what's running in them. While they're running you look at pods, your apps, your deployments and you can use this as a UI to see what's running in the cluster if you don't want to use the command line or if you don't have a good dashboard to see this information. Mike, thank you so much for taking time out today and of course give the demo of Loftree and I would love to talk to you again soon. Thank you. Thanks for having me. It was awesome to be here. Thank you so much.