 What is the OpenShift Router? So the OpenShift Router acts as the endpoint into your OpenShift Collector and allows you to expose applications that you have. You know, handling HDP, TLS termination, as well as TLS pass-through and different functionality along that. So basically it allows you to have a load balancer or reverse proxy to expose nodes of a specific application in your OpenShift cluster. So what we've done here is working very hard and we've come up with an Nginx implementation. The implementation of the OpenShift Router is based on HA proxy. So there is some issues with that. We've, you know, more options so that if you want to run Nginx, you can run Nginx or if you just don't want stuff with HA proxy everywhere. But the big Nginx routers is that we have full support over the route specification. So all the functionality that's in there with OpenShift is still there and supported with Nginx. I know. Yeah, sorry. We're having a few audio issues here. So we're again there though. We've also built in the functionality so that you can do customization. You can push as well as experience. Structure. If you have it, it's something you already have it. You know how to run it. You can run Nginx. We can keep things standard across the board. In version 3.10, there will be full native support for an Nginx router out of the box. So you can easily just say I want a router and I want it to be Nginx and it'll just get up and get going. And then of course with the ability to plug in Nginx plus into that environment as well, you can have access to all the advanced features that we have available in Nginx plus, the advanced load balancing and all the new things that we're going to continue to come out with to keep that all going and bring it out there. So what did we change? Thankfully, it's very minimal changes to make this work. The main things we added is we added the functionality and the components that are necessary to build the router image. That's probably the biggest part that we had to add. We had to create a template file that will generate a legitimate Nginx configuration file as well as you know Docker files and all that basic stuff. Probably the bigger part that was actually the part of the OpenShift code that we had to modify is this template.helper.go. And that's what takes all the data that how OpenShift presents it and then translates it into a way that can be understood by the router functionality. So there wasn't too much we had to do there, but there's a few things that we do differently for configuration that HAProxy does. So we had to make some minor changes there. And then the last file was just the template helper test.go. So that was just adding in so that we could make sure that we're fully testing it. Everything is being fully implemented into the OpenShift ecosystem, just like it is for HAProxy. So just really to give that that standard you know out-of-the-box functionality. And just to show you here, this is the extent of what we did in the template helper. I actually kind of had to cut it down here. I pulled out all the comments to make it fit in the PowerPoint slide, but this is all the actual code. The only thing that's not here are our comments. So it's less than 60 lines of code entirely and that's the only changes we had to make to the OpenShift actual code base. So you can see it's rather straightforward. There was a couple variables that we rely on in Nginx that HAProxy does not need. So we just had to expose a couple more things, have a couple more, a little bit more functionality exposed there. And then you know real quick, we'll just go and run through this just to give you an idea of how... Oh, there we go. It's not showing on my screen either. All right. So just really quick, what we've done here already just through the sake of time management in here. I've gone ahead and built our image if my terminal will respond here. So I can scroll up here just to give you guys an idea of the entire end-to-end process. So as you can see, it's really straightforward. We just simply clone a repository, get all that data. This is for the Nginx Plus implementation, get the repository down locally, go ahead and move the Nginx Plus keys that we need in place to be able to properly talk to the repository, and then just go ahead and build the Docker image. So once the Docker image builds, we just have to go ahead and authenticate with our system there. I'm sorry if I can find my cursor. There we go. So now we just got to go ahead, tag our image, and then push it up to the internal repo. So you can see that if you're familiar with OpenShift, you can see the login credentials there. It's a little weird looking. Those are auto-generated by the registry system. The important thing to do with this step is when you're going from the default HA proxy to an Nginx Plus, you really want to make sure you do this before you delete the existing router, because then you can't talk to the registry. So once we get this thing uploaded here, as you can see, hopefully this won't take forever here, we'll see how AWS is doing with us today. Almost there. So now we have that image uploaded. We can go ahead and just really quickly, we're just going to back up the default config just in case something goes wrong. We can always roll back, and then we're going to go ahead and just blow away this default router, real simple there. And then because this is all put into the mainline and into the build, this is all we have to deal. Just one command, specify the image that we uploaded there to the Nginx Plus, to the internal registry. Go ahead and set the selector, the region tag to make sure it gets deployed to the proper part of your OpenShift cluster. And then we're done really. So now if we can just go ahead, make sure that, and we can see now the initial deploy will take a few seconds here as obviously my terminal is lagging out. And then we can see that we're coming up and we're bringing the images up. So it's got a little while there as it has to clone the image locally again to the actual node that it needs to deploy on. And then it will go ahead and come up. So you can see by default here, we have just a couple of things going. We have a few basic things. The basic registry that comes as default when you stand up OpenShift, which is pretty standard. And then we also have a basic little coffee and tea cafe application just for a little basic demo. So we can also go and so we can also bring. So you can see now our registry is offline, but hopefully here as the Nginx Plus instance comes up, we should be able to get access to that. Yet again. There we go. So we're back up with the registry and so we can still hit our different things here. And this is the main difference that we're going to see when it comes to, this is going to be one of the main differences. So this is our Nginx Plus dashboard as it's pulling up here. So this is one of the big upsides that you get when you have this because we expose all of these statistics and all of the information so you can get really granular information about all of the traffic, where it's going. You know, we have the different upstreams and then so these upstreams are the ones that are doing TLS termination at the Nginx level. And then we also have the other TCP and UDP upstreams and these are for the console that are doing TLS passively. So it's just handing the connection straight from the end user back to the application. So there's really nothing much happening there. So we have full support of the different, all the different features and functionality that you can have in the standard OpenShift Router. So that's about all I have here for you guys. If anybody has any questions I would love to take some or you can always stop by our booth just right back over there and we can talk more in detail if anybody has anything.