 Good morning. Good afternoon. Good evening and welcome to another edition of the level up hour here on open shift TV I am Chris short Open shift TV executive producer CNCF ambassador hints the shirt today And I'm joined by the one and only illustrious Langdon White Hello, everybody Let's see I have a developer shirt on today. Well, you're yeah, you do developing. So yes. Yes some days You know, I like to develop, you know, the actions of Juniors into seniors, you know, never mind. This is anyways Terrible terrible morning jokes. Yeah. So yeah, let's see. So the level up hour We let's see. I'm gonna share my cool yo slides And hang on a second apparently we're not streaming to the red hat stream. Oh Give me a second. I just got a flip a toggle real quick. I think All right, you know what? Yeah, and my lack of coffee. I turned that off this morning one I should have turned it on Well, at least we're the level up hour and not the level down hour. Yes. So yeah Yeah, so apologies for that everybody watching on the red hat channel. You are now getting your stream. Sorry But we are here now. We are here and we are here to talk about What exactly today? Mr. Langdon. So level up our so of course. Yeah the the premise behind the show is basically, you know, we talk about kind of the usage of containers and kind of everyday usage and Why you might want to Participate and why you might want to be using containers all the time and then kind of by extension We also talk about like orchestration of those containers today We're gonna talk about actually application containers, which are nice kind of a unique beast we've talked about them before but I was running into some painful moments This past week on using certain applications And so I wanted that so I built a container for it And so I thought I'd bring it to the show as a way to round it out because I thought it was interesting but before we get started we this is the level up hour and Let's see should we do some teasers now or should we wait till later, you know, because we have some Okay, so I'm Langdon with a one on Twitter and Chris short is Chris short all one word on Twitter You can find us there or you can find us on our discord where we are here and you can ask us all the things that you like there and We have already had some kind of recent discussion about various successes and challenges with using Kind of some of our technologies as well as containers in general So you should definitely join us and you know, we can talk to you there Alright, absolutely as I always do this is actually episode. I keep thinking it's episode 25 But it's actually episode 24 And so we're gonna talk about open shifts slash Kubernetes tools available everywhere via quay and Then I always do show notes about each show So please You know check them out if you want to see what happened in the last show You want to kind of read about or you want to go see a link to it and remember the you know, we do do the sweet sweet internet points and so You can always get those points by going and seeing past episodes and submitting the codes again they kind of last forever and That way when we get to the rankings in a few minutes You could appear on those rankings and we've actually had a little bit of a mix-up today You'll oh you did a mix-up. No like as in the standings are are mixed up. Oh, okay Yeah, like they've changed that sound like you made a mistake for a second. I was like, whoa wait No, no mess up the points. Did you But no my my almost complete automation has gotten pretty good, so it's pretty accurate now We is it highly available. Is it redundant? Oh, no No At least the code is backed up to get up But it's basically it's a shell script now that I can just run it actually builds a container that then it goes and gets a pulls down the Google sheet and then it pulls the Google sheet together and puts moves the content around and cleans it up and then inserts certain codes that are done automatically And then it calculates them all and then it spits out a spreadsheet with the final result So, yeah, it's actually it's actually pretty slick. I mean, it's that sounds like right like you should probably just do that as a show That's that's not a terrible idea Yeah, basically the the containerized part of it is Entirely the same problem as I'm talking about today, which is that I didn't want to win have to install all of the Google API connection-y stuff makes sense on any machine. I wanted to run nothing on You know because all I need to do like literally it's go to this spreadsheet and download a page of the spreadsheet And that doesn't seem like full install requirement there Yeah, so That's our slides And you know, it's it's nice to see everybody So to talk about this stuff Let me just switch kind of directories here and Try to remember where I put it and why I keep getting connection reset by peer is always a reassuring. Oh, that's good Yep, man big fan. I Had like I literally I had everything like all nicely prepared and stuff Did I blow up? I don't know what happened. I mean just let folks know like we've been having to get Pictures of ourselves. Oh, right. You're right various promotion purposes. So we have to like You turn off your screen. I take pictures Langdon turns off his you know, it's just it's weird. So like anyways, it's you know behind the scenes We're doing stuff before the show for the show. It's weird. Yeah, right. All right Langdon being messy is kind of my fault. Sorry Okay, so let's see. Let me share This thing So as you all probably remember I am a fan of VS code so this is VS code and What I want to give it a second and just you know, let me know if the if font's not big enough kind of thing Yeah, I'm in folks. I can see it fine. But if you can't let me know. Yeah, okay so What I was trying to accomplish so here's the problem I was trying to solve So actually, you know what let me change this and share the whole So Narendra has a question that I think you asked me about this week Okay, how do you get the OCC li for Windows? Is that you that was asking me? No, I don't think that was me But it is a go binary. So it should just work There should be a plan download somewhere. Let's see. Well, that's actually one of the challenges I was dealing with so we'll talk about that in a second. Okay. So there you go. So In particular, okay, so assuming y'all can still see this So one of the things that I find kind of annoying is that I find getting the download for OC challenging because it's Like it's it's meant to be easier, I think but I don't find it that way which is that The OC download is actually embedded directly in your open shift installation So if you log into open shift, you can in the top right corner There's a like a little question mark and then you can download the client tools It also give you the command that you run from the command line to it to connect to it The thing is is that a lot of it like Like I don't necessarily always want to go that route particularly if I'm using something like CRC or whatever I'll have a bunch of different copies of it. So I don't I just want that CRC And so and for some reason my Google food like just completely fails me on trying to find it every time So I finally tracked down the path to it on the public interwebs And if you notice here the OC client Am I already in Linux? I was pretty sure because so I will say your screen is incredibly small right? Oh, is it? Yeah, yeah, you might want to just maximize that window. Yeah How's that better? Yeah, sure So I mean I can read it now so that's better, you know here is where you find like the windows the Mac the Linux All the architectures. Yeah You don't know what that's like. I do know that's old Mac Not sure anything. That's old. I Forget that's old something. I know I'm like totally liking but whatever so power. I think power or something. No, that's that's the CPC Yeah, so I don't know what that little envy and no less And that's a real throwback to computer science if you're unaware of that. Okay long story short Uh nicely, there is a latest and latest deprecated. So those are just sim links back to Like 4.6 and 4.5 these two directories which are in turn sim links to whatever is latest, right? So So we don't have to keep track of this long number to keep track of which one we want we can just get latest and latest deprecated and so What we do. Okay, so the problem I had right so now I want OC But I don't necessarily so I want to do a couple things one. I don't want to have to install it everywhere. I want to use it Because of a couple things. What if I want to switch OpenShift server versions, right? So So what I want to do is the 4.6 or you know 311 to 4.5 whatever, you know, yeah And so the original path I had taken which let's see if I have if I don't know if it was on this computer if it was on a different one But so there is oh, yes, it is so in Linux and I presume Mac as well. I don't know but there's not really a good way to do this in Windows What I did was I used what's called the alternatives infrastructure Which sometimes people know and kind of the shorthand of just update alternatives because that's the command you use Which basically in let me do this slightly differently just so that it's a little more legible So in Etsy alternatives it creates a sim link to the version of the Tool whatever it is that you might want The problem is that the alternatives a tool chain I think is kind of clunky and somewhat difficult to use so I I tend to shy away from it Because to like set it up and keep track of it is kind of a pain. So you can do I think I might need to be pseudo though Turn it turn it t tives tives Elaine's optional. There's a Let's not show it's can photo display it so I was looking for so if you see here You actually can have and so what I did was I set up multiple versions as The alternatives infrastructure and you can see here I actually gave them a priority of the version. They are just as a way to keep track of it But normally well, I think it chooses highest. I can never remember whether highest or lowest But yeah, I think it chooses highest number by default So you can go and kind of configure it. This is a pain because it's hard to set up It's hard to maintain. I was about to say like this. This sounds awful But I mean it does work quite well. It's just like the setup is painful. Yeah, so you and you have to like, you know I don't know. It's so whatever. This is the way you're supposed to do it traditionally on Linux I was kind of like meh. This is not really happening for me The secondary problem I have too is that nine times out of ten on any OpenShift cluster. I'm working with I am also admin So what I often want to have is actually two commands. I want to have OC Oh, I don't have the aliases set up yet But I want to have something like OC develop and Something like OC admin With two different configurations so I can have them both logged in at once But using them alternately so that you know because I need to do you know create, you know an operator for example Using the admin account, but then I want to like implement it using the develop account, right? That's actually a really really like Great way for admins to do things It's almost like we have that privilege separation. I would yeah, like there's some I I appreciate that Right like well, I appreciate I separated privilege out for yourself because you know if you install something as a cluster admin It gets the same unless you specify. Otherwise, it has that same level permission unless you write otherwise So doing it as a develop logged in user boom, right? And also and me that's that's actually why I so I try not to have so this like I said This is kind of an in-progress activity That's why I still have OC at all But normally what I would do is actually I want to remove the OC command altogether So that if I try to type OC and hit enter it will fail So that I have to say oh OC develop or OC admin and think about which which account I'm using So as I kind of jokingly while you're saying that typed on the screen much like pseudo, right? I do everything as non-route on my computer unless I actively have to to which I do pseudo So yeah, it's kind of the same with the SC Linux like all and You know SC Linux I'll I leave set-in-force on all the time Unless I run into a problem that I think is SC Linux then I turn it off See if it see if I can make it work. Yeah, then figure out what it is that Excuse me assuming it was SC Linux, which half the time it's actually the firewall You know the other Which you know helps a lot And Christian know it is a hundred percent pseudo even though it's really SU do But it it to me it's contextual Christian so it depends kind of how I'm using it in the sentence whether yes, you know or Sudo. Yeah. Oh, so do oh see I will say pseudo or I will say S you do because really what it is is your old command as super user very very, you know But whatever I remember the days before sudo. I don't want to go back there Yeah, that was actually one of my big weird moves because I originally was an Ubuntu Linux person and before that slack ware And when I came to Red Hat land, I was like wait You want me to log in as root every time I want to do anything that requires privilege like we're sudo Yeah, I was I was really like what? So, yeah, okay Back to Ray Lewis because of programming So what do I do, okay, so First and foremost one of the things I don't think we've talked about is that there is a UBI 8 minimal that is like Nothing a hundred megs give or take. Yeah, it doesn't use DNF uses micro DNF. We've talked about that before Yeah, we have okay. I remember so yeah, so I have micro DNF commands in here I you know, I very I need a very minimal amount of kind of libraries because I think Every tool that I'm aware of in the Kubernetes world, you know Or ecosystem whatever is built in go or in some other statically linked language So, you know, maybe there's some rust stuff out there But it doesn't use shared libraries, which is another horrifying aspect of kind of moving in the containerized world But at least I can have all these non-shared libraries bundled inside a container So it also improves the security of my computer because now Let's say, you know, Helm It has a bundled library of SSL and it's compromised because they didn't update it recently enough And instead of using the shared library model, which Linux has now been relying on for 20 years It'll at least be encapsulated inside this container and it will not break stuff for me theoretically Okay, so What I wanted to go through a little bit here was like how I go about making this thing and so The first and foremost is that if you notice It's mildly inconvenient because I need to go and grab the tool I'm looking for But then I actually want to log into the container and find out what it is So I will actually often do something more like Podman run IT Let's just do an RM and then Let's just do an RM and then Maybe I eat minimal actually Sorry, I'm just thinking let's actually make this so that we can Make this thing so we only have to do it once so we can say podman build T let's call it Minimal tar And Cool, so now I can say looks like I already had that so I can say podman run IT RM Minimal tar in bash All right, and then I can go grab the file oops the file because What I want to do is I need to like I need to explode the thing right so that I know Actually, let's move To just op or top that's gonna be annoying There's no top and minimal there's a directory and we call top to my awareness So I just moved the file name. It's gonna be out of my download it again All right, so now I can do tar XF and to be really old-school about it. We don't need the dash and tar But so What I want to know is okay This is weirdly named Helm Linux amd64 right so what I do in my In my container file is okay, so I remember that piece and then Just remove these So a little easier to read But so Okay, so I know what the file is called, you know, maybe I make a note to myself But then I just kind of put it into the op directory so that's kind of in the right place And I've been putting in sub directories just in case there's like naming collisions on any chain or anything Good idea. Yeah, and then what I do is I actually made this launcher shell script Which I don't know that I've ever used a case statement in shell But you can and you can pass parameters to it. Yep, so What I do is I give it a convenient name for myself, right? And then I kind of figure out the path to where it actually goes And as you can tell I actually did OC first right and then I went and did helm And then I was fooling around with this other tool called template to helm Which I look at okay, but I haven't I haven't gotten it totally working yet But I kind of wanted to go through this to kind of say okay, so now We have Move line comments, okay So basically I kind of just do the same thing for the OC and then I do the same thing for the template to helm this one weirdly also I need to use be on zip because That's the format that it's compressed in it's not a terrible So of course I have to go up here and make sure it's installed And then I just kind of add my launcher file and then the important parts are I make a work Der directory and we'll talk about them this more in a second But I make a work directory and then I also expose and as we've talked about before these volume You know commands are really just kind of remarks right they don't do anything except Tell the consumer of your container. Hey, you should attach something to these points, right? And then I want to also make special note because this is an application container. I use an entry point not a command And the reason is is because what entry point will do will it will actually pass what happens after the the like podman run command to the inside of the container Whereas cmd will not so it's very very important that you do this with entry point and Invariably I do the wrong one first And so, you know, just if if you're not getting variables That's because you're not getting parameters. Really. You're not it's it's this is why So There's that container file. So what I think we should just do quickly is we can build this If I save it that would also help Kind of important. Yeah, but yeah, exactly. I'll do this. Thanks Let's say let's just call this I don't know how about OS tools Yeah, just call it. Oh, it's just there you go. So I've conveniently done this before so it goes pretty Cashing. Yes, exactly But even even so it's pretty fast now keep in mind that because of caching it will You know, like you're not going to get updates on this at all which This is where this kind of tool chain gets a little tricky Do you want updates? Do you want hard copies locally? I Just want to pull them off the internet because I don't want to have to carry around These massive binaries Sorry, but if you know, yeah, yeah, it took me a long time to drink that sip of coffee. Yeah, sorry So it's gonna it's not gonna go look at latest again on my second build So what I usually do and I freely admit I stole this idea from Tomasz Tomaczek Who if you've never seen him speak you should definitely see him speak if you ever meet him in person be aware that he's like seven foot Something 300. Yeah. Yeah, he's he's amazingly tall But I look up at people. I know they're tall Right, right So I always use a make file Since like I said, I kind of learned it from him To do my builds that way I can kind of remember You know kind of the name of the thing that I'm building and you know all that kind of stuff Although I was like where did image name go? So looks like I used a slightly different name so But if you notice I have both a build and a build force and the reason I throw a pod man in front of this is I Can't remember why but I ran into some conflict with build like the word build And so I started scoping it by putting pod man because like some make file I had I needed actual build To or something like that so I started scoping them So your mileage may vary do whatever you like, but that's just why I have pod man dash in front of it So the nice thing is now You can do a build force which will dump the cache and rebuild it We're not gonna do that right now because Time right so right but I appreciate the make file though right like you can do so much with a make file And it's really impressive what how useful they still are because I remember them being like really complex things back in the day And now yeah, yeah, you can do a lot with this And I could probably do better to be clear Everyone can't right my make files aren't great unless you wrote that one book on make files that I read a few years ago So Let's see. So what I want to do though is Okay, so that's the big file that does the building etc and then You know and then because it has the launcher in there it will just kind of do what we wanted to do so now I can We can actually get a hint By doing make help And we'll talk about the other stuff that's going on here in a second, but so now if I just do a run I have a bug Unary operator expected What did you? Did you not escape something correctly or or use the wrong not sign? Yeah Well That's fun Yeah, we're not going to debug that now because it's not actually affecting operation. So I don't think yeah so The point is is that in my case I also have If I pass help or I pass anything else it will print all the things that are available Because obviously the problem with doing a container tool Like this container right is like you don't know what's actually been set up, right? So we want to say okay, you know, hey, this is this is kind of what's available so now if I do OC I can say status and Give it a while so a quick question for you. Did you Already upload the source code. Oh, yeah, it is actually let me I Don't know why the second song. I think it's because My OC is actually connected to an open-shift server that is currently off and so it's Yeah, there it is Okay, so yeah, get remote Minus V Yeah, so what I did was I actually made it just its own repo I found it. Oh, you did. Oh smart Because this is actually kind of useful to me Yeah, so it's not buried under one of the episodes, right? So Yeah, so I just kind of made it a real thing So, you know, feel free to contribute, you know, whatever you want to it But that's kind of where it is right now And I think Everything is pushed. Yeah And so Okay So That's the launcher What I wanted to do was though is why don't we add the odo command? Okay my way of a Practical example Which is also in kind of the same place Obviously, it's gonna get a little bit more sophisticated if we want to do something that's not in this nice mirrors open-shift Site like the template to helm, but it's not that much more complicated, right? So we're gonna stick with using latest and if you notice one of the things I wanted to point out was My make file I am explicitly let me show you over here I'm explicitly tagging this as latest And the reason is is because the earlier problem that I discussed which is I want to be able to have multiple versions of You know, OC or whatever available Based on the server side or based on my own intelligence like, you know Somebody says oh, I tried my four or five client against a four six. I still want to be able to test that So With latest I have the latest but then when we talk about quay in a few minutes We can talk about how we can do this with different branches and do something slightly more sophisticated, but long story short. Okay, so we will go and Where is the right one? I Don't want windows Where's oh Andy 64. Sorry Okay, so I have no idea what this thing is gonna pop open to so we're gonna do The same trick we did before And CD opts so that we do it correctly the first time So I assume because it's called mirror.openshift.com it's actually a mirror That's why I'm making sure to pass the minus L which will do follow the redirects So but I really have no idea if it is or not. So just FYI Okay, so Odo is gonna pop open and be just Odo. So that's pretty easy So then we just drop into our container file Actually, let's clone this one because it'll be more similar And then so we're first going to make a Let's call it an Odo directory I Don't know if I should I should have probably called the open shift one OC not open shift Let me change the URL we are going Apparently, I forgot that I have cut and pasted We know how that goes on this show So there's there's a question in chat. What is KMS 38? And I think that's a windows thing So I really don't know but like we're here Somewhere Anyways KMS 38 is basically a renamed and modified version of the original KMS solution designed to activate the problematic Windows versions such as LTSB LTSC. I've never encountered it before so No, I know I was a Windows program for a long time and yeah, I've never heard of it before so yeah me either So I don't know what the application for that is but I'm yes seen it's Something useful for licensing of windows, maybe I don't know oh could be Yeah, the K always makes me think kernel Windows activation toolkit. Yeah Yeah, that's what I was kind of thinking it might have to do with activation like the kernel But I don't know much else about it. Yeah, that's it. I don't work on many windows boxes anymore. No fence. Correct Apparently there was like a hard People had a hard time in Windows 10 activations and this was a solution, I guess Oh activations have actually been hard for a long time. Oh, yeah And actually we were talking about this with Christian the other day like getting like automating of The creation of virtual machines using Windows is oh challenging pain. Yes. Yeah Like you have to do this whole sys prep thing and you have to like like if Like if you kind of have a dock or something of all the steps that are required, it's not hard It's that the set of steps is kind of weird and so if you don't have that dock It's it's like very odd because it doesn't occur to you that Like there's this basically this code that's generated based on the hardware that's installed And that's what it uses to basically set up the hardware And so if you're doing a virtual machine, it'll be different than the original one It's it's that's why it's like super complicated because of that So like I said, it's not hard if you had a nice doc that said step one step two step three But usually that doc is hard to find so Um, I like the digital sleuthing that we're doing here in chat folks. This is amazing So the 38 actually stands for 20 38, which means KMS 38 activates Windows 10 or Windows server until 20 38 and then well, there you go Online KMS is for 180 days. And then if you actually have a digital license, it's permanent. So yeah So like those remember that key management service. Yeah, remember the The AWS bill I got because of the Windows version that was activated with all the tools installed that got downloads. Oh, yeah Yeah, yeah, like so that KMS service. I was actually interfacing with it. Not even knowing that. Huh. Yeah, interesting. That is interesting. Yeah All right, so now we just need to set up Odo, excuse me in the same way we've been doing Except it's not oh no it is And then we need to add it to our list of available commands and then that should be it Assuming I see it to everything. Hmm Assumptions exactly All right. So now we're gonna build it. Obviously we're gonna have less caching But I did try to order it so that the caching would be Advantages for the most part and there we go now if we Run it again We should be able to do Odo Odo is not a supported command apparently it did not just on the path or is it no it is it didn't find My text did not actually update launcher Should have ran something. Yeah Let's do it. Okay. So the other thing I think I've brought this up before but Hmm, if you use an entry point getting into the container is a little bit more of a headache So you have to especially when you can't type entry. Yeah, well, you know, don't start So let's see So oh it is not there. Look at that. That's annoying Let's try here's one trick You have more than one trick you're a good pony Let's see if it got it this time There's another ugly ugly trick that I will try if this doesn't work Which is basically you I don't know why I want that to be an Etsy And it did not work. So there's another terrible trick that should I like your terrible tricks Yes, yeah, I just want to make sure am I in the right place Like am I building the right container ladies and gentlemen Langdon has confused himself. Well, I I took this from exactly the same place before so It's there. Yeah Is there anything in the file? Let's just cat it. Okay. Yeah. Okay. All right. So so it's definitely got the right file So let me see how do you do this again? I haven't had to do this a long time Let's see. It's run echo Date or you can just run date. I think too will work. But basically what that does is it breaks the cache And it always breaks the cache right because the time is always different right So it should have gotten the right Launcher file that time Because I really I don't like seriously why Etsy every time It is it is just not picking it up. Hmm. That's Really weird dude. It is very odd Let's try uglier tricks That's gonna break if I leave that oops See folks we're experts and even the experts get caught up then right right easy now Or we're supposedly experts Did it again Now I got no file at all. Oh even better. Oh No, I got launcher again. Okay. Now. It looks like maybe the Container file is wrong That wouldn't surprise me. No What is going on? Let's be explicit Nope, I'm an idiot Okay It's because it is Tools I think that's right. Yes. You did call it was just because I just didn't use my stupid make Yeah, no now you're Make build what podman build? Yeah, there you go. And then let me fix this. Oh, I forget Would you call it before client tools? Oh, it's clients. Oh Well, this is also logical, but logically slightly different. Yeah Yeah All right Well, that was stupid naming and tags matter, right? It's also hard I mean it's hard and then you have to name something and then tag it appropriately which makes it twice as hard I'm sticking to it. Now what? Nothing. It was just namespacing One thing I don't really love about podman that maybe it'll be better in v3 That namespacing is like a little aggressive like I kind of understand it, but it's When if you're coming from Docker, it can be a little weird Well, yeah Podman is not complete Right. The Rindov says label engineering could be a new thing I think they call that information architecture. Yeah Okay, let's see why this Is still angry with me Let's try That Except There we go. Okay. All right. So now I should have the right one. Yep. There we go. And so now if we do this We should be able to get oh no. Nope. Not if we spell it wrong, but it does helpfully tell us that we're stupid Um So Yeah, see I like I like helping my shell scripts Yes, I make far too many mistakes and then the last thing I want to just kind of point out is just I also included in the git repo kind of usage aliases So, you know what I would keep adding to that is right is so that now I can just type OC on the command line if I source that That usage aliases file, but we're not gonna play with that anymore because the thing I wanted to show was distribution So we have our nice little set of tools Now we want to distribute it and you know Chris you might be aware of this, but I couldn't find anybody who had this thing So this was the only Kind of open open shift tool set in a container So I thought maybe it'd be useful. So hopefully it is And We're gonna sign into quay And then so what I did previously was I actually made an organization in quay I can't you enlarge the font, please. Yeah, except this font. You don't want to read anyway So this I really want to file a bug about getting like why does this not have an X? Why is there not some you know go away? Okay, so can is that font okay, or should I make that bigger? That I should make that bigger. Yeah, you should make that. How's that good? Go like two more two more There you go. Well, that's one bit one too many maybe I don't know I can read it well though. So Exactly alright, so now to not make the Stephen mistakes we did before let's use the terminology we did in here and So I'm gonna make a new repository. I'm gonna make it public And I'm going to link it to a github repository push And Click the button go away. Well gonna get away. I still have to turn that stupid thing off Preferences is like the first thing I turn off in Firefox. I know I know we talked about it last time and I still haven't done it Okay, so then I select this org that I you know, I'm attached to her own or whatever you want to call it and Now I have to pick the repo that I actually want to mess with. Oh, you know what? Get status get add container file launcher Get commit. Oh I should have waited till after well, no, it should trigger for the first one, right? Okay, so This is important here, which is trigger for all branches and tags default. Okay So what we want to do is we want to trigger for all the branches and the tags And the reason is is because branches is how we're going to deal with the multiple versions problem. So We are going to if on the default branch, which is now main It's going to give it the latest tag, which is exactly what we want. So that's awesome and then we're going to hit the big old continue button and then we I Select the should just be in the root path. Yep. Oh, but yeah, you didn't have to have to Well, and I don't think I don't even know will it pick up Docker file automatically. Yes, it will Okay, if you put just slash it'll just look for all the files and if it matches on one that it knows it Okay, it'll just build it. Yeah, so I don't know if container file would work I am curious if the quake people have put that in. Yeah, I don't know I haven't experimented with it because I'd rather just be explicit. So And Then we just want the you know slash as the context We have no robots, which is sad And then we're going to Build this and so it added this to be able to access it. Yay and Then now here's the problem with being super fonted Let's take a look I don't know. Did it actually start a build? I can't tell It's it's really not liking a different font size Give me one second. Let me see if it made sure it started a build. It did not start a build You have to commit to the repo did you do? Yeah, so so you do I wasn't sure if on the when you first created it It automatically started. I don't think it does. Yeah So and I think that's for like safety reasons or whatever if you like say I will eventually be pushing stuff into here Like you create a brand new repo and you just do everything in quay first, right, right, right, you know, right, you know Then you need to build it push when I'm ready for you to build So what we could do is we can fix our usage aliases which give us something to push So oh no and then Wait, oh Oh, this is the wrong. I copied this from originally. I had called the whole thing and launcher I think I just didn't update my usage aliases there. All right. I should be cooking away already It is because I haven't because I forced a build and Let's see it shouldn't take very long one thing I will point out that I ran into that was weird is that if I just did UBI 8 minimal It didn't work. It wouldn't find it And on further investigation, I discovered that there is this thing that is Where did it go Are you on your system or it was Trying to figure out how how I discovered it. Oh wait, we got the error. I think that helped Me find it the other day Unqualified where to go That's the containers registries so there's this no, there's this short name thing and Where did it go? So basically there's a lookup table and I found it and I thought did I make a note of it? I might have let me see if I just wrote it down which I should have but I can't remember if I did or not No, so There is a lookup table in a podman install that says, you know, this This thing should be resolved to you know, let's say registry dot redhat.io And so that's how it got UBI 8 minimal Was by using that lookup table, but now I'm not seeing it and I thought it was I Thought it was right in Like Etsy containers. Let's try it would be oh There's short names. Yeah, there you go. I knew it was somewhere in there. Oh, yeah, and so If you look in here, this is really like I have never seen this before so I think it must be really new But so increase the fires. Oh, yeah font size again. Yeah. Thank you and then That's big, but yeah, so it just basically has these short names in here and then kind of expansions Which is kind of neat but really annoying in that When I try to build it locally it worked just fine because of this entry, but then when I try to put it in quay it didn't work Because it doesn't have this short name lookup so keep in mind that you do probably have this kind of short name lookup thing and You know your mileage may vary Like I said, I just thought it was kind of interesting, but also somewhat annoying All right, so yeah, this does not like being big Long story short, I promise this says green and that we got a build and now it's happy and then what we can do is and we're probably out of time for this but What we can do is we can say get Actually, let me just see if I leave anything. Yes, get add Use the jail. It says get commit Now I can say get check out minus B And let's say let's call it Deprecate depra. This is a word I can never spell RE it's RE right. Yep. Yeah, okay Okay has those words Right. Okay. So now I'm on a different branch, right? So if I go to my container file and switch to By the way, this is a legible, but oh You're doing it. Yeah There we go. How's that better? Oh smidge. All right So long story short, I'm just fun. Yeah, I'm just adding the deprecated Word because if we go back over here We'll see that not there actually they don't have it deprecated No, no, not no, no I know see. Yeah. Yeah, waiting for it to load So just to check the spelling and naming hit the end button. I know Through and I was like, I'm committed. I'm paging So for Helm and OC we can get a latest deprecated and That would be lovely I'm just gonna hope that it's gonna give us the same exact expansions like so if I you know You know if I untar that OC file, it's gonna work. It's gonna be right, you know And then I'm gonna change this to be Repricated, I don't know why I can't spell that word and then This should be a variable. Oh boy. Oh Actually, that's you need to have like a You know how an anchor man how Ron Burgundy warms up You need to do that with like your hands first thing Perhaps I know I'm not sure it would help New York. You need New York. Yeah, I am a terrible typist at the best of time So I'm not sure it would help that much So All right, that I think is all correct And we'll go back to our terminal and just say get status get add Tamer file Oh boy. Wow. Wow. Yeah, you definitely need like GC those kinds of things like Part of it is they the on you know on-air demo problem, right, you know, like So it's not entirely that so I do that every time because I can never remember what this command is gonna be or it's really long Yeah, you know, whatever So now in theory there should be a build at exactly I want to make sure this didn't like error anything. No, it's fine. Yeah And look at that. Hey, it's building Sweet can got something actually worked. Yeah, so with three minutes left to spare no less Maybe while that cooks we should talk about internet points We should talk about internet points and then we should definitely go back and show people how this Does container scanning like that right? Yeah. Yeah. Yeah All right, so let's talk about internet points If you are unfamiliar, we like to hand out our sweet sweet internet points every week and We have had some pretty crazy fluctuation here So Narendev has actually taken the lead. Good job, Narendev. No intact them which is both crazy and crazier and We're definitely I mean, you know, we're getting a lot of points here You know our detective has continued to show up and has started to tick up Bacon fork. However, we have seen them before But they have kind of really started to come out of the the woodwork and they're they're ramping up on their points as well I can bacon fork actually caught out for points in chat. So, yeah. Yes. I saw that So, yeah, so we're pretty excited that there will be That we're we're getting some other contenders starting to get into the play. Oh, yeah and I will Do can I is there any way I can actually cut and paste this? No Not at a present view if that's what you're doing. Yeah, I was just looking to see if I have it somewhere I will cut and paste it into the Chat in one second What was I gonna say? Oh and again so close to being able to give me out Yes other Prizes aside from the pure intrinsic value of sweet sweet internet points. It's not just points anymore folks We are very very getting close. Yeah. Yeah, basically. We're we're backed up a little bit on legal And is it legal or supply? I thought it was no legal legal this point supplies the supplies there okay legal is not quite there and and you know like as much as Like as much as I would like them to be there Like I start one of those things double well We could double our legal department and we would still they would still be crazy busy all the time Yeah, oh, yeah, as we just because people like me. Yeah. Well, I mean the problem with doing open source right is that we get sued all the time and You know, so it's yeah, I will say you know large corporations to get sued pretty regularly anyway, but Let me I just let me I have this paranoid feeler that this is the wrong Code let me just check and make sure because I feel like I know I update now that you drop an inch Well, right. I want to make sure it's confusing as possible. Yeah That that's how we separate the real point getters from Let me just so this is episode 24 correct Yes, all right four seven two seven. Yes, it is correct. All right, cool. Sweet Sweet sweet internet points even indeed all right, so What I wanted to show real quick. Oh, so awesome Congratulations to everyone who's collected points. I really hope we're gonna be able to do Giveaways off those points very very soon and we got an error in our build And I'll hack them verifies that the code is unique meaning he has more points now Did they change the name of it or something air not recoverable like I'm trying to read it G zip Yeah, it's like Container not have G zip It does. Okay. No, I think it's I wonder if they change the name. Oh Just Helm not have deprecated Helm doesn't have deprecated. I'm now sick It's only OC remember I said that yeah, I was thinking that Helm and OC were actually in the same file So So yeah, so we so I dropped a link to the calendar because a new viewer Sean Thank you for watching Asked when the next stream is so you can go to that calendar and actually subscribe to it in your own calendar by clicking the plus sign or You can look on the OpenShift YouTube page Which our archives are there we'll type that in the wrong window So yeah, I'd go to the really You can see the calendar here or you can see it where it's is it on it's on the open shift TV too Right. Yeah, it's on OpenShift TV and it should go to the YouTube page You can kind of see what's up on the schedule for today, right? Like, okay? I see I put the events every day every morning on the YouTube schedule so that people can see what's coming up today. Gotcha For lack of inception, I'm not gonna follow that page. We also have the level up our page Yes, which I dropped the link to earlier, but I will double drop it just because but that's where you can find out more about So this show is actually part of a larger program. Yes larger program. Did I take that? You could just click the link in chat. I think I'm going to because clearly my typing is No, it's not Yeah So the wider program is the level up program and so you can learn more about that on this site One thing we did want to talk about was Dan Walsh will be here Yes, the Dan Walsh Mr. Se Linux apparently as it says in his Twitter profile, which I didn't realize and look at that our build worked Hey, there you go. Look at that. It's amazing what happens when you spell things, right? Yes, yes, exactly. Um, and so Uh, Dan Walsh is going to be here next week. We are going to talk about uh, se linux and containers and kind of security and containers We are also going to talk a little bit probably about dev comp cz Because I have a talk he I think has at least one talk. Um, So and it is virtual so everybody can go and it should drop a link to that real quick Yeah and uh And then we have like we have a bunch of other shows like already lined up that should be really interesting. Um, In a few weeks. I think we have chris right. Uh, we also have um flipped to the tags page and Sorry to interrupt you. Oh, no worries Yes, oh and you want to talk about the scanning. Yeah, so that is currently queued for the one we just built. Um Our previous ones have been scanned. Yes, and I was looking for the like like So basically it passed but I want to know where's the like what passed Okay, so so it actually scans for vulnerabilities of your actual container um, and So that's pretty exciting because you can actually so What happens right is like over time they get pretty crafty. This is what I was really looking for. There you go. Um, and so This is telling us exactly like all of the packages that were actually put into the container And the current status of all of those packages So because we are so dependent on the ecosystem For creating our container We need all of our friends that we're dependent on to also be current So when I say ubi 8 minimal, right? I'm picking up a whole mess of packages from there That may or may not have security vulnerabilities, right? So Um, and then I also whenever I do micro dnf or yum install or whatever I'm going to pick up libraries from the ubi 8 Repos which also may have security vulnerabilities Um, you know, hopefully red hat will be keeping up with it or wherever I'm getting them from is keeping up with it But what this does is it assures you that in fact it is Uh, you know in good standing um The only thing to keep in mind is the best of my knowledge, right? This can't scan um Something like our go buyers. Um, right like that. It's not going to dive into the code. Yeah, yeah, right So so you still need to be responsible for anything that you put in the container from outside of a general package manager And this is one of the things I think people forget a lot about containers or if you if you really want to get crazy Like uh, unit kernels or things like that the value to a Like package managed ecosystem is not just convenience. It's also that it's a well known set of of things Um that can then have independent tools verify what they are, right? So when I drop oc on disk that isn't coming from a package manager There's no way that any outside third party tool like this security scanner can know Whether it has any vulnerabilities or not So keep in mind that the package manager is bringing a lot more to the table than just like said convenience It's also making it so that third party Tools it could be it could be security scanners. It could be like uh like performance scanning It could be like lots of different things that you can do to identify pieces of your software It's very very hard to do that as a third party if you don't know what's there Um, so keep that in mind every time somebody says to you, why would I package this as an rpm? This is some of the reasons uh is because it actually puts you into a wider ecosystem That lets other kinds of tools also operate on your on your tool chain or on your your product um All right, so That's about it for our show I think um the only last quick thing I can show you is that now we can Let me just maximize this so that I can get some real estate back. Um But now I should be able to just say os clients Tools and of course No, it's clients is a client. I think so. Yeah now we're all confused. Um, and get deprecated Let's see if kway's gonna figure it out. Nope gotta do full path. Um, so no deprecated odo Yeah, there is there is well if there's an odo in there. I I need to think about whether or not os clients should drop Something in the deprecated, you know But so Is there a way I can get a nice Like what is the actual uh, here we go Here you are. Oh, actually this might have worked. Let me just see if that works. I'm just curious Nope, uh, okay, so If we give it the correct Path Look at that. Hey is building. Look at that and then theoretically We should be able to get actually let's see version But I think it's still gonna time out so it's gonna take forever. Um, but so So exercise the reader qed, you know as uh, as I'm sure your most hated professors have have used them before or or high schools, you know teachers um Exercise the reader, uh, you know, go try os clients colon latest and deprecated and with an oc version And you should get two different versions and you know, hopefully that'll work out But we're gonna end the show before anybody comes back and tells us that it's wrong Yes Okay, so good play. Yeah. So coming up next at, uh, 11 Eastern five o'clock Central european time because that's what my alternate calendar set to right now Uh, we're gonna be talking to andrew selivan on the open shift administrator office hours about controlling your pod resources Right, like that is like the number one way to Prevent bitcoin mining from running on your cluster, right? Like make sure your pods Don't suck up too many resources. So Yeah, I like tune in for that at 11 Eastern and then after that we'll be talking to the folks at trilio They have a great story. Mike wait. He'll be interviewing Them and then the last show of the day. We'll be talking about management utilities and rel So like I said that calendar link is very useful today, especially as there are four shows today So thank you very much for watching. Thank you langdon for teaching us. Dan's show is when? Uh, next next week. So same time same bad channel. Same bad time. Um, So 9 a.m. Eastern 1400, uh, utc, correct No 1500 utc No, yes, you're right. Sorry. Yeah, I was like wait I have to go back and edit all my tweets. No, I'm kidding. Uh, I'm just looking at the wrong time zone. That's all So, thank you all for watching. Go ahead. I was just going to say one thing Maybe we should file a bug about is why exactly it needs to go and connect to the server to give us the version of the client But you know because that is timing out, but I will point out this is 4.5 and I believe latest is 4.6 Yes, um, so that's pretty exciting. Uh, yeah, so oh look it finished. So 4.6 right here And uh, look so we actually did what we we proposed to do Um, thanks everybody. Thank y'all see you next time And uh, please stay safe out there folks, right? Like we want you to come back your vaccines Yeah, when you're due not don't don't don't don't shove your way forward in line. Yeah All right. Thanks everybody