 We met a little bit earlier, but in case you weren't here. My name is Mitch Connors. I'm Principal Engineer at AVatrix, where I predominantly work on the Istio service mesh. I've been working on Istio for four years now. I'm a member of the Technical Oversight Committee and a CNCF ambassador. And today I want to talk to you about getting really really quickly started contributing to Istio. So how many of you with us today have ever submitted a poll request to Istio? We have a few other TOC members in the audience, so I know you guys' hands have to be up. Okay, good. Yeah, we've got a few here and there, but a good number of you. For those of you who raised your hand, you can leave. You know, you've already probably taken the time to figure out your development environment, gotten an IDE, set up for Istio. It can be a little bit of a painful process. And so today I'm going to give the world's most boring demo. Anytime somebody says it's a one-click demo, you know that you're in for not much of a treat. And that's what we're going to do today. We've been revamping the way that we build Istio in the last year. In particular, we're trying to make development environments that match our build environment available to users very, very quickly. And we're going to try to accomplish that with GitHub Codespaces. So before I talk about a one-click demo, I have to talk about what's up my sleeve, right? There's always something hidden, something you did before the demo. And that's true. I did a few things here. I did log in to GitHub. I'm not going to do that live for you. You know, the risk-reward ratio is just not right for including that on the demo. And then I did a few other optional things that we'll cover that you don't actually need to do. If you're logged in to GitHub, you can follow this demo with one-click with me. It'll be a little bit slower for you the first time you run it, but that's all right. I've also gone to the additional step of installing VS Code here on my MacBook. You don't need VS Code. You can run it in a web development environment, and I'll show you how to do that here in just a moment. And I've also installed an extension to VS Code called the dev container extension. And that allows me to take this code space that I'm going to show you running on GitHub. I'll also be able to run it locally and have all of the tools right there at my fingertips that we use to build Istio on a regular basis. All right. That was my one slide. Hope you enjoyed the slide show. Let's get to the demo. Whoops. This is not the right site. Let's go back to Istio, Istio. So this is the Istio code base. Just GitHub slash Istio slash Istio. This is on the master branch. And you should have this nice big green button right here. It says code and list code spaces. If you've not run a code space before, you might need to click the plus button here. That'll be your one-click. My one-click is going to be this code space that I've already created. It does take typically about two minutes to spin up a code space on GitHub. But I've gone ahead and started this one in advance so that you guys don't have to sit there painfully watching me stall for two minutes. And there it is. There's my GitHub code space. So within the code space, now this is running on GitHub's infrastructure, not on my local system. If I were to lose internet connectivity, that would be terrible. But I have all of the tools that we use on a regular basis for Istio development right here. I can run my format command and it knows exactly how to run that. It's not going to spin up another container to run it. It's going to run it natively right there. That command does take a little while to run. We also have the kind tool, which we use for a lot of our Integ testing. It's all right there. If I were to switch over to a shell on my MacBook, I don't have those tools installed on my MacBook. They're not available, but they're right here in code space. It makes it super easy to get started, get up and running to be able to run the tests before submitting your pull request to us. I know it's always embarrassing when you push your pull request up for the first time and all the test red lights come up. So you can run them here using make test. That's the demo. So then the next part that I'll show you real quickly is that you can also do this locally. So here I have the exact same code base, cloned to my local workstation. And because code spaces uses dev containers, I can run the reopen command and say reopen in a container. This one will take slightly longer than code spaces. I think that we were at 10 seconds before. This one might be 15 seconds as Docker on my local development box spins up the development environment again with all of the tools already pre-installed. That's exactly what we need to build and interact with Istio. While we're waiting for that to start, we'll go for one last tiny part of this demo and that is if you don't have VS Code, you want to use some other IDE. You can use the open in button to either open in the browser, Visual Studio Code, all sorts of options here. We'll have a look at what a browser-based IDE looks like. Maybe. Okay. Running web-based demos at these conferences is always scary because the Wi-Fi is... So here you see basically the same VS Code user interface that I'm used to. I've got the terminal just like I'm used to. All the Istio tooling that I need to be able to develop, to debug, to run unit tests and integration tests right there in the convenience of my own browser. We'll switch back and for whatever reason, Docker is having a hard time spinning up this container here. So we'll go ahead and quit that. So what I hope you took away from this is that making your first pull request to Istio and running all of the tests in whatever environment you prefer to use is extremely easy to do. You can do it in just a few moments. Oh, and GitHub gives you free credits for code spaces by default. So this demo can be done for free by you. I hope that this results in a lot more pull requests to Istio. If you see something, whether it's in our docs or readme's or actually in IstioD or in Envoy, send a pull request our way. We're always looking forward to meeting new contributors. Thank you.