 Okay, so we're here to talk about Carvel and at its heart, Carvel is essentially, it started off as a set of CLI tools that are composable in nature and they help you manage your configuration and artifacts and deliver them to your end users reliably, right? So what's unique about the tool set is that they are built out in a UNIXE fashion, which means that they can be composed with your existing tool sets, existing tool chains, right? So you don't have to uproot your entire workflow to benefit from bits of Carvel. However, the interesting bit is that Carvel sort of took a step further after that where it evolved into like a controller with services APIs, which lets you define what your desired cluster state is as steps you would perform using your tools to obtain that desired cluster state. And then of course, you have to ship different versions of such an application to your customer, right? And I think like this sounds like a lot of hand waving, right? And how we thought we could make the best use of this time is to go over some scenarios which you might have already run into or see yourself running into and sharing how Carvel helps in these scenarios and sort of then sharing where you can find us over the next few days. So Praveen. So let's take a look at some of those scenarios. For example, you wish an upstream artifact you were consuming was more configurable. This artifact could be like a hand chart or it could could also be a published release. So basically, we have a tool called YTT that is short for VAMIL templating tool. You can use YTT to shape your existing configuration files into like a more configurable configurable config itself. So basically, YTT has overlays which are based on Python dialect itself. So you can you can notice that it looks pretty similar to Python itself. And since since it's a lot similar to Python, like it's based on Python dialect, you get an additional benefit that whatever comes out of YTT is basically a valid one. And so for example, if you're using with the hand chart, then you can you can use YTT as a post trending tool and you can make your hand chart a little bit more configurable and and you get a valid VAMIL at the end of the day and you use that to deploy artifacts. So the next one is a bit of an interesting one. It's actually a feature that helps our organization a lot. So quite often you'll be shipping to customers who are in either highly regulated environments like finance or healthcare, or maybe they're running like edge environments where they would like their edge environments to be self-reliant. And in these cases, you want your customers to be easily relocate all the artifacts and configuration that they need to their own environment, right? So Carvel has a tool called Image Package and what Image Package does initially is that it takes your configuration and bundles it into an OCI artifact, right? However, what Image Package does additionally is that it keeps track of all of your container images and when you relocate this bundled configuration, it sort of picks up the container image referred to in that configuration also moves them to the new registry that you're pointing towards. That's your customer's environment rate or your end user. And an interesting behavior, however, is that while relocating is Image Package notices that one of the references in Image Package bundle, it will sort of recurse into that bundle and relocate the container images that are part of it too. So what happens at the end of the day is that you have a sort of three of dependencies and Image Package allows you to run a single command and relocate it from one registry to another. So this becomes useful because if you're building a product on top of Kubernetes, more often than not, you'll be relying on other projects in the ecosystem, like maybe you're using cert manager to manage certificates, maybe you're using something for ingress and you're adding your product on top of a trade. So if you sort of package things the car will wait, you can essentially run one command and move everything you need to run your application to a new environment. And like to give you an example, what the largest case that we have seen is like a set of 35 packages and around 100 container images that can be relocated easily with just one command. Right. So I guess the next scenario is about managing resources. So it is like usually very difficult to manage a large number of resources and like rely significantly on eventual consistency. So we have a tool called CAP in Carvel, which is basically it's a tool to deploy your resources as a group of tool to deploy a group of resources as a single application. And basically what CAP does is it shows you a diff of what you are going to deploy on your cluster. So it's basically diffing against the present state of the cluster and what you are going to apply. So it basically provides you a confidence that what you are, what you want to deploy is what is going to get deployed. And CAP also understands how some of those resources behave. So you get explicit ordering. So for example, namespaces get created first and then only the resources that are created in those namespaces would get created. And similarly, custom resources would get created only after the CRDs. So as you can see in the example, you, you see one diff for those three resources and then CAP basically makes that change on the cluster. Also CAP waits for all those resources to get deployed and since it also orders you, you are sure that the behavior is what you tend to. And you can also add annotations to add your own ordering for resources. So you can create, you can ensure that if you want to run some jobs for your services that actually hit the database, you can, you can do that via those annotations. Similarly, there's also versioning for resources. You can version your config maps or secrets and the deployments that are using those config maps or secrets, you don't have to make a change in those. So whenever you update your secrets, the deployments automatically get created, recreated. So after this, the most important bit was, of course, how all of this stitched together in the form of packaging APIs, right? But however, like we're limited on time. So what we're going to do is we're going to share where you can find us over the next few days. And of course, we're happy to catch you in the hallway, right? Like if you want to have a chat, you can reach out to us and any of our socials here. And you can, we're very active on our Kubernetes Slack workspace. So that's where you can find us. So we will be having a booth on Thursday, March 21st, 10, 30 to 130 in the solution showcase. And I'll be speaking with my colleague Daniel right there. And we, so the best way to discover Carvel is getting very hands-on with it, right? And that's exactly what we plan on doing. So if you're interested in that, you can find us on Friday, March 22nd, 2.55 pm. It will be on Pavilion 7, level 7.1, Room 8. And yes, so like, I guess we're out of time. Okay. Thank you so much.