 Good morning. Good afternoon. Good evening and welcome to another edition of the newly renamed Get Offs Guide to the Galaxy. Christian, I am Chris Short, executive producer of OpenShift TV. Christian Hernandez is the Get Offs Extraordinaire. Christian, you want to talk about the name change here? Yeah, yeah. So kind of I want to start off by kind of giving a little announcement, a little thing that we're gonna be doing here. We're rebranding. So it's, but it's not like New Coke, right? The joke we've actually been making internally, right? So we're getting a new name. It's gonna be called Get Offs Guide to the Galaxy. Same, you know, same content, same feel, same everything else. We're actually just doing kind of a little, a little bit of a rebranding, right? And this is actually good news as a lot of you don't know is that we were actually doing this kind of as kind of off the cuff, Chris, right? We were doing this whole, the whole Twitch thing, the whole thing was actually just not even within the, within the, you know, with our cloud platforms, BU, but actually just within our team. Yeah. And it's actually grown so much that Red Hat corporate is picking it up. So now it's actually, you know, there's actually, it's actually real. So it's kind of it's It's going to be very real, folks. It's going to be very real. There will be unique branding for it. There will be unique graphics, the whole nine yards. So there's a whole team behind it. It's not just us doing things, which is right. Like, we'll have people helping us find people to talk to potentially all the all manner of things. So it's, it's a good thing for everybody. Yes, that's right. And part of that is a it's a rebranding, right? And, you know, this you guys are getting, you know, it's It's officially official. The next episode, right? I figured I just kind of crossed fingers crossed, right? Actually, I just got a message that actually doing the marketing stuff, they're actually starting to promote it right now as we speak. So it's actually pretty cool. It's actually wheels are in motion. So for those of you who tune in live, I decided to give you a little bit of a Fair warning and a little bit of some good news on our end. So yeah, that's good news. So we've taken this idea, you know, we're all stuck at home, we need to do something and it's grown into something that Like the main marketing teams that Red Hat are starting to appreciate. So that's yeah, yeah, so it's all it's all good and thank you everyone for watching and Yeah, exactly. You guys got such a buzz that, you know, started off with the level up hour and they also picked up Andrew's admin ask an admin show. Now they're picking our show up. So it's, you know, really, they started grabbing some of the buzzword. Some of the ones that were causing the biggest buzz. So thank you to all to all of you who watch. And yeah, so cool. And so then I actually pretty excited to for the name get ups guide to the galaxy. Right. It's, you know, kind of it, you know, we're going straight to the moon. Right straight to the moon like every light like the Wall Street bet guys were also going on the moon as well. Right. Oh my God. All right. Um, so, yeah, this this this topic. Yeah, when do we get swag actually it would be nice to get swag. Yeah, we I will, I will take a note to work on that. It'd be it'd be cool to get some swag. So thank you. So, yeah, so the the topic today, right. You know, I kind of wanted to do a back to back show but it didn't work out that way. And actually was, it's not like it was a bad thing that didn't work out that way we had the get ups, the official get ups operator for open shift so the open shift get ups operator point tech preview. So we just had to do a show about it right so we so I kind of sandwiched that into these two topics so this today's topic is machine configs, right so we talked about machine config the machine config operator right so machine sets and machines. You know how to how to how to handle those kind of in a get ups friendly way right we kind of explored that a little bit and I was going to do a machine config specifically back to back but we had bows on doing that so if you guys. I think it's I think this is the bit Lee. Hopefully that's the way so in case you guys. Yes, it is now didn't catch that show go ahead and we were just talking about bit Lee right in our psyche does all this work. So I guess it does. So go ahead go I put the link in the chat. If you didn't catch that episode you can go ahead and watch that. You know or catch any other past episodes so I'm going to kind of do. What am I doing here there we go. I hope this is the right desktop I always. Oh my God this morning was like zoom was like it was degrading and how well it could share desktop like during the show it was crazy yeah yeah. So hopefully you see my slides I am looking at the preview over here while I'm looking at chat it looks like the side the right right screen came up so. So we're going to talk about machine configs and get ops right so I think I'm going to go again an overview of the. The machine config operator and machine configs and kind of just bring it all together. And then I have an example of some things right like keyboard time like we always talk about so. I try not to bore all of you with a bunch of slide where but I think it's important to kind of understand what's going on first before we start doing. Start hacking away right so um in the previous episode I talked about the cloud API right and the. And the machine config right how in in a. In a completely automated way how are we bootstrapping some of these nodes in order to become part of the kubernetes cluster right and so then we have this concept of the machines and machine sets. Similar to what we have with deployments and replica sets and pods right so there's a there's a hierarchical thing coming out where we have a machine set that controls any a number of machines and those machines that turn into a note right right and so. You know you have machine set controls a machine and what is a machine right so machine is just kind of declaratively say. How. How is a node, you know, how do I build a node right or how do I. You know the definition of what a note is so for example, it'll say things like, you know, eight CPUs 16 gigs of RAM, 120 gigabyte hard drive right so it's kind of, you know it kind of just says alright I want you to build me a VM right in most cases. Yeah, most cases of these parameters right. And then you control the scale that way right so machine set, you can say I want three of this type of VM. Once the VMs up, then, then we have to turn it into a node right so that's that relationship. We've got a machine set that builds a machine. And W'shari is here nice. Yeah, I'm going to mention that for. Yeah yeah he's on he's one of our oldest. I think he's the first fan right I think he's the fan. Yeah, yeah, I think yeah, like if we ever make like cards like, you know, like, like like membership cards he'll he'll be like one right I can have the number one so so I'm glad you're That's great to have him and so yes that's right it's great he's great guy. And so, then you know I have like five machines. And then I want them to be nodes right, but once the the notice up we need a way to, you know, configure it right. And so this is where the machine config comes into place. Right. So, we have a. There's a concept in Coro s called ignition. And I'm going to try not to get to too far because like you can do a whole show about like machine and just talk about ignition, just it's just ignition itself but just to summarize. Ignition sets up the node and it runs once on boot on the first boot. So if you could think about cloud init cloud init. Yeah, but it runs once. And another big difference is that it runs in init ram, right init ram FS so it runs even before PID one does. And the idea behind that is because Coro s is, you know, quote unquote immutable. So I like to do the, the and what Andrew did in his show is I'm doing air quotes immutable. You do kind of change it it's not, you know, it's not immutable doesn't mean read only. So, right immutable is not read only for a reason. Yeah. Yeah, yeah. So it's, you know, you have to kind of decouple that idea but anyways coming back see I'm already diving down a rabbit hole. See I was going to go the, the, you know, machine node eventually gets down to a pod right. Yeah, yeah, exactly. Look at it from that right like it's just concentric rings going back in. It's down to that level. Yeah. It's a hyper dimensional. What do you call it 3D chess. Yeah, exactly. You know, it's a rings within rings right. But so in ignition runs once on first boot, never runs again and it's only job is to set up the operating system in terms of configuring it. So that is what machine configs is based on right so as you see here. Actually don't see it here you'll see it in my config right you'll do you'll see a spec ignition version blah blah blah but this is how you this is how one open shift configures the node and two how you as an administrator or whoever right sRE make changes to the operating system or add additional functionalities. So we have, you know, you do things like create SSH keys, you know, write files out insert kernel argument. And whatever you need. Yeah, whatever you need right so you can add it initially during the install or you can do it after the after the fact as well. Like if you're installing it on bare metal for example you could give it like all kinds of parameters about your hardware that is yeah. Yeah, exactly controllers the whole nine yards right like exactly or like disk partitioning. And so we have the machine config operator who the whose job is to manage two things is the machine config controller and the machine config server right so the machine config controller. It's responsible for spinning up machines and then the machine config server is responsible for writing out the configurations. And so, and then there is a daemon set to run on all nodes. So all nodes on masters workers in from whatever right it's on all nodes. And it's a machine config daemon and what its job is to essentially say hey, make sure this hash matches this hash. Right if there's a difference it'll it'll you know reread what the desired state is write that out and then reboot the note. Yeah, that was interesting, which leads asking, can I write things like Adam user, you know, from a technical standpoint you can. We always rather not as useful. Yeah, yeah, exactly. Yeah. So I like to think so I mean I've been working with open shift for, you know, for a long time I mean at first it was kind of a paradigm shift, right because I came from the. Two worlds right open shift to going from two to three was a paradigm shift but I you know that was easier for me for whatever reason but for three to four. It took a little while, and then after a while actually don't really manage the OS. I want like I honestly, I don't even really log into it to the OS to be honest with you. OCD but that's the only time. Yeah, like maybe debug something that I can't see but those are few and far between. But I understand there's, you know, people who are like okay well we need a specific user for compliance versus all right you know that that's something you can do right, but yeah yeah as braided silver said three to four is super different like that's like a whole. You're talking about operators and like that's a whole, you know another, you know, thing so. But yes you can you can use ignition to create a users, you know that that's what it's. That's what it's job is to do right create users. If you actually. I'll put in the child later on of Chris if you want to look for it you can look at the ignition spec. If you just Google ignition coral aspect. I got it. You guys will see, you know, all the things that you can do it's actually pretty cool so. Again, we can just rabbit hole just this one slide right. And so, this is so there's. So there's the machine configs right so there's like things like Etsy password right SSHD motd right crony like you have like you know your individual configurations. And then there's this concept of what we call a machine config pool right and it's actually. Doing exactly what it says it just pulls together a machine all your machine configs into one blob. And it's just basically, you know doing a, you know says hey you know this file this file this file this file this file this file right and it will just. It has actually one big config so what ends up happening is that the machine config that gets applied is actually that one file that one rendered worker that one pool, not individual. Not individual so it doesn't process each individual file it just takes those individual files that you gave it and it just gives it one big file that it does. And so that's, and then there's. There's two default there's two of them when there's one for the control plane, and there's one for the workers and that's it right you can. You know create pools and stuff and we'll we'll go exploring a little bit here. And so, one thing you need to keep in mind when you're doing machine config pools. So, you wouldn't have. So you don't really. You're not doing, you wouldn't do this a lot right, adding machine configs right you would, you will do it. So especially like you said Chris when you're running this on like bare metal or like physical when you know you have to add kernel arguments to see a specific device right. So, this show actually was, was started by William Caban I don't know if you'd know him he's the chief architect for the telco guys telco vertical red hat and he obviously if you're telco you're doing a lot with hardware so you have to add some of these, you know, configurations. One thing you need to keep in mind is that you can actually shoot yourself in the foot. It doesn't the machine config pool doesn't do like a merge. Right, it doesn't do like a smart merge right so like, in this example if you're looking at the right hand side you'll see that there's 50 MOTD and then 51 MOTD. Whatever you wrote in 51 is the one that gets used right. Yeah, highest one wins so it doesn't like take the, the one you have before it and the one you have after it do a weird merge doesn't do that. And so, just keep in mind that, you know, the last one wins. And so, you know, we, and we don't stop you from doing that. Right, we don't stop you from, you know, I think Eric Jacobs says like, you know, you want to cut your foot off with a spoon we don't we don't stop you do from doing that. So, you know, just keep in mind that there's a hierarchy. And, you know, it's based on like the number and the name right. So, zero through nine eight through Z sort of thing. So the highest one wins. So, oh, Andrews on Andrews on is one of these. Yeah. While the is trying to like his security team is doing that thing where we need a user on your box to run nexus so we can, you know, miss standards. Yeah, ISO standards, whatever. And that's it's, it's like a common thing, right. And basically tell people it needs to run in a container, because guess what, none of the stuff you're looking for is probably going to be there. It's going to be like it's not going to exist at all. Yeah, it's going to be in a completely different place. We're like Red Hat Core OS, then it would be on like a rail box. So your security team is used to dealing with rail boxes. It's very important to tell people this is a container operating system. Yeah, it's based off rail. So, yeah, you kind of have to, you know, make it work in a container. Yeah, it's another it's another paradigm shift right because it's like you have to think of these as appliances almost. Yeah, if you have an F5, you know, are you expected to install that user on an F5 like you know what I mean like, are you going to ask the station to F5 and do a user ad like, get your knot. Is this any different? So it's and then, you know, I understand that's a paradigm shift. You just, it just takes a while for enterprises to kind of just make that journey through the paradigm shift. So the machine config server essentially so what ends up happening is that these this rendered worker, this hash, right, this glob is what is used to create an ignition file. And this is ignition file gets, gets paired up with your rail Coros image and gets merged together to create the VM, right. And so when the VM boots up on the Coros image it'll say hey, machine config server give me the rendered worker hash and I'll use that to configure myself. So, so it's pretty straightforward but it's kind of you have to kind of just think, you know, outside the box a little bit for how we were setting up these, these nodes, so. So I put the someone asked, is there a diagram to help security folks understand this paradigm shift. I put the architecture docs for yeah, in there. I don't know if we have a like a diagram per se. I'm sure there's one floating around. Yeah, there is. Like, I think actually Andrew and I for. Yeah, I had to start one a long time ago and right for some reason it fell off. I have some slides from Kirsten let me find them real quick. Oh that may be good from Kirsten. Yeah. I haven't watched Kirsten on the channel before she'll be on in the clouds, the first episode of in the clouds starting. Not next week the week after I think I forget it's the fourth of the 11th. But she did do a great presentation for that already and I'm trying to yeah yeah no she's she's great anytime I have those kinds of questions oh yeah if you got a security she's the first one I asked she's the person that's working on like CIS benchmarks for us and yeah so if you are yeah so if you're a security conscious that's like that's definitely definitely show you should catch so. So compliance operators are what you're looking for as far as the thing and well yeah knows that. I need to figure out what is the best thing to show. Okay. Um, so compliance. I'm looking to do the slide deck I'm hoping that like one of these slides is going to be like the thing. Yeah. So, yeah we're trying to build the suspect CIS benchmarks. They're in open scap stuff to right yeah. And she's talking about going through that okay yeah yeah so there's like eight people looking for something. Yeah, yeah. Yeah, so. So, okay I can give you the compliance roadmap, like for four six. We had Stig. Yeah, we're working on CIS and FSMA partial FSMA moderate partial. The first half of this year, like PCI DSS ISO 2701, HIPAA FSMA moderate, and the Australia essential eight long term to be determined. Essentially, or the, or the hateful eight. Is it the hateful eight. It's a movie. You and your LA people. Yeah, yeah, exactly. So yeah, like, like, like I was saying, like we can definitely go down down a hole here. Yeah, like this is 22 slides plus extras in the back kind of deal. Yeah. Plus extras in the back. Yeah, exactly. Plus after the thank you there's like, you know, 40 more slides. Cool. So, so yeah, so just to kind of close this up here, the machine config server, the idea is to massively make identical nodes, essentially. So you got that one hash that's spread across all your existing workers and new workers and you know, and you don't have to worry about it. So this is kind of like the conversation of like, or does like get ops come into play. So you have the, the rendered worker hash and that actually gets updated automatically. And this is the, this is kind of the same conversation that we had again, if you look at past episodes with the, the operator right the operator, you know, get ops and operator world, the exact same thing like your, your point of demarcation should be things that you control and not what operators control right so if operators control things, you probably should keep your hands off of that. Everything else that you used to interact with the operator, you can actually put that and get right so and that's the kind of the balancing act that you have between what's, you know, what what you put in get and what what you don't write and you know, that's kind of the idea also that I've that I've been going with and and so as Gerald noon said it before you don't know he's an architect in our in our Canada team in the one of my favorite Canadians says, you know, this is a journey so like my opinion will change and I think, I think that's very true my opinion will change my opinion is that you have you let the operators operate and everything else how you interface with that is is how you how you work inside of get with the get ops workflow so I'm closing up the machine config Damon actually prevents drift right because so if there's like a change or something else machine content config Damon will reconcile that and then reboot your nodes. I keep saying reboot your notes because most changes require to be rebooted right like if you're going to make like you're adding current arguments, you're going to ask going to need a reboot right some things don't write like changing the SSH key I think that for 4.7 changing SSH key now doesn't doesn't trigger reboot but most things do so, and that's important in a get ops world right um again yeah this is like basically it's just looking at the hash was that so I just sent Kirsten a message hopefully she can okay like hey just there you go and I can share it with everybody and be done and then be done. Yeah, she has a lot of great slides that like explain it all but it's not like a this is going to change your auditor's mind kind of yeah yeah exactly yeah so so yeah so it's going to act on drift. It does a reboot that's important because in a get ops world and I'll explain why in the example right so um you know always tree updates right with core OS. That's you know something you know I again another whole another show we can we can talk about always tree updates. RBM OS tree is amazing. Yeah, I'll just say that. Yeah, yeah. Yeah, so, you know updates happen the same way right. I was actually going to take this slide out because it's actually has more to do with something else but I see the thing. Yeah, yeah when yeah so this has to do with updates and when updates happen. It's rebooting the servers and you know blah blah blah it's kind of update the ignition reboot the servers. That sort of thing right. Same thing happened with the machine config game and it'll update, you know, right out the files, reboot the servers, connect open shift and there you go right so. I'm sorry I powered through some of the last slides, you guys can take a look at that. You have the slides. I sent you the link I don't know if you upload it so. Oh, now, if you send me the okay. Well, I said, yeah, I sent in on Slack I send it to you on Slack I think. Oh yeah, sorry. I got it. So yeah we'll get those uploaded in. You can, you can take a look at those right so I will. Oops, I didn't mean to do that. I do want to share my screen. Yeah, I told you screen sharing is being weird today man. Yeah, exit this. There we go. And so. Let me. The light there we go. I remember that you can move this thing. Oh yeah there we go and move it over here because. Yeah, toss it off the side. Um, yeah so I have a machine config. Example here right so is this big enough. Should I make it a little bigger or one bigger. Maybe just one. Okay, let us know audience if you can't see it. Yeah, pretty soon. Well everyone has all the. These big screens now that everyone's remote right. Oh, right. Right so like you have to put it like at 200% now. People with their 4k and their 32 inch. So anyway, funny like that big ass monitor I have behind me like it's just an ADP because I can't read it. Yeah, you can either right. So like you know if if I'm like putting stuff like at 200 at some point I go okay I know that's I need glasses anyway. So I have a sample machine config right machine config I'm going to target all the workers this is what this label is like all the workers I want you to write this file out. I want you to write you know foo and foo other right so as you can see here I have this thing called files, and you can just kind of load all the, all the files right in one file right. I'm using version 3.1 for the ignition so if I drop over here. Let me see OC version and be sure. Okay, yeah so I'm connected to this cluster. I do OC get MC MC this is a machine configs right and as you can see, these machine configs has all the configurations that you need if you want to take a look at one of those if I do OC get machine config of the SSH right for an example. This has, you know, I'm going to write, you know, it has needs a password module and for the user name core I want to add this SSH key, right and this is the, you know, based on ignition, and if let me clear this here, but you'll see get MC. But there's other ones like kubelit container runtime, you know, blah blah blah. And, but these are all like glom together into what we call machine config pulls. Right we have one for the master and one for the worker. So if we get machine config pool worker. This is essentially everything. Right. This is where is it here. It'll tell you. Yeah machine config selector. Everything with the role worker, and I want you to have you know 00 worker, I want you to machine config container runtime I want you to get machine config kubelit generated registries blah blah blah right this is like the list of of a machine config pools to use right. Yeah. And then if I curl, let's see if I can remember this, Andrew, you may have to, you may have to you may have to help me out with this. So it should be as API. So first let me figure out what my API is. Yeah, your call. OC cluster info. So that's, that's my API so that's okay cool. That's much easier to figure out. Yeah, happy paste. Copy this. I forget what the port is 223. You know what, let me just Google it. Yeah me like when it comes to port numbers and stuff I just, it's not 443. Okay, I have no idea what it is. Let me see here. It's like release notes architecture. API int officially, but it doesn't matter if they are the same load balancer IP. While lead that is too many numbers for it to be a valid port. Yeah, too many numbers for it to be a valid port. 62, 322, 324 maybe. Yeah, 23624 is what we'd say. There's something like that. Let's look at the dock. Installing on bare metal. Let's do that because ports. There we go. I see. Where is the, there we go 22623. And that's the machine. Oh, it's internal only so I might not be able to get this. Yeah, I might be able to get this. I could 22623. I could look at my nightmares. Kirsten is looking for a link. And it. So let me try and find the open for security guide page three. Here we go. There we go. And then that is. Yeah. All right, cool. And then that's. Actually, let me go back to the slides because I think I have it in the slides here. It's one of these slides. Config worker. Okay. So it's a config worker. There we go. Maybe JQ this because. So that's the relationship here, right? So it is. The machine config pool. So if I do, we'll see, get, let me clear this OC gets MCP. Worker. Right. So this, this guy here in the end turns out to be this, you know, ignition file. Right. And so. Which is the one big, you know, blah of everything that gets configured. This is managed by the operator for the machine config operator. Right. You wouldn't manage. You wouldn't manage the machine config pools in a get ups way. You wouldn't manage anything additional that you're just adding. So this is the, this is the example I'm going to be going through here. So I have this machine config. And it writes out two files that that basically writes out two files, right? And it writes out two files on our workers. Going back here, let's go back one here. But I have all this other stuff with it, right? So what happens when you apply a machine config, right? I said it a few times during during the slide overview is that the nodes reboot, right? The nodes reboot. And if you are applying a bunch of kernel updates. And you reboot the server while it's rebooting, right? You're you basically corrupt your, your OS, essentially. And this is the problem actually me and William we're trying to trying to figure out, because he had this thing where he's applying things in such a way and he goes, how would you do this in a get ops fashion. And the answer is actually hooks resource hooks, right? So again, if you guys haven't seen we did an episode resource hooks is that there's a pre hook, there's, there's a, there's, you know, the sink, and then there's a post hook. Right, so as you're, as I'm running this is essentially what what I'm doing is that I am doing a job. I'm doing a post sync job. Right and I'm deleting it right after because I don't I don't need, I don't need it. After it's done. And what I'm doing is I'm essentially I'm waiting for my machine config pool to reach a certain condition, right, which is updated. So what I'm doing is that I'm applying the machine config pool and I'm essentially waiting until all nodes reboot and come back. I'm waiting for the worker. I'm not actually doing anything to the master but I added the master anyway. Well, and actually I just, I see an error here. This won't be good. Let me. There we go. I forgot to update this. So the master actually this comes back quick because the master doesn't do anything here. So in order to do this, I have had to do an OC wait, and I have to create an actual service account for this. This is like goes back to, I need to create a service account, then I need to create the RBAC. That specifies the specific API extensions. And I'm just doing a get list right so this and then this machine config right I just need to read only guy here so when I run customize it'll it'll load them in this fashion and but then since I have a a where's my there it is. Since I have a hook right it will run this machine config, it'll wait until all nodes reboot. And then it'll report healthy. So as you can see here, what you can do is that you can do like a cascading sort of thing right so you can have first machine config gets applied. Wait until it's healthy, then move on to the next one then move on to the next one then move on to the next one right so if you have multiple things that you're doing. You can kind of do this in a cascading fashion right so you think you're not just applying all kinds of stuff, all at once triggering many reboots you could, you know one corrupt your last especially if you're doing machine configs machine configs you can actually really shoot yourself in the foot like I said before. Yeah, we don't. You know it's like it's like an RM dash RS, like slash like, you know, well I mean, it's not even that it's like if you screw up one tiny little thing you got to start out. Yeah, yeah. And so, and this is like less less of a big deal in the cloud right because you just you know create another machine set and then you're up and running but like if you're doing it on bare metal. Yeah, like wiping out the disk and trying to reboot that. Yeah, it's not fun. It's not a fun. I mean, it doesn't bring me joy. Yeah, it's easy or then you know, you know, back in the V three days when you have a whole, you know, rel, they have to build. You know, it's easier because you just reboot and you know apply the but it's just a headache, taking the golf cart down to the data center right. And so that's, that's your data centers that closer lucky by the way. Yeah, yeah, exactly. Your data centers downstairs. So I have our go up here. There we go. I'm using 4.6 actually tested this on 4.7 but I was like, I'll just use 4.6 for now. Yeah, smart. Actually, I have this. Where is it? Yeah, repositories need to add the repositories. There we go. Pository URL. And that should be enough. Cool. Tada. So for those who haven't spent time playing with Argo again. At this repo, you can play with Argo. It's kind of a little mini lab. You can use CRC CRC works on it. I tried doing it on the playground. It technically does work as long as you're patient enough for waiting because resources. Yeah. Try the sandbox or the play sandbox. It won't work because you need admin access. That's right. We don't have that yet. Yeah. But the sandbox does work as long as you're just patient. Meaning like, you know, grab yourself some tea, sit down, you know, you know, turn off your phone. Like it's going to clear your notifications out. Or if you want to, it works on CRC. It also works on any Openshift cluster. So cool. Let's create a new app. Let's call this, what are we calling this Chris? We can call this, what are we going to just call it machine config stuff. We used to do every like we did like for space boss characters and Star Wars characters. I think we now, now we're just, let's just call it stuff. Just make it up. Yeah. So we'll do a manual sync. Just kind of just to see what's going on. Oh, that's another thing. If I do an OC get MCP. Right. Notice I didn't have to specify a namespace is because it's like a, like a global, it's a cluster wide thing. So, so repository, my examples. And then I'm going to do, I forget what I called it. Test MC. Okay. Good job using OctoCat. Yes. I don't know who says someone, I remember it was during a show someone said, I'm going to use OctoCat now, like I'm a big fan. Cluster URL, right? I'm doing this in cluster in a namespace. You know, I do Argo CD. It doesn't matter because it doesn't need a namespace. So that's not actually going to create one. I guess I wouldn't want it now. No, because MC. Yeah. Yeah, it's before all that. Yeah. Yeah. It doesn't, you know, it'll ignore the namespace field from the outside in. So let's hit create. Let's see what's going on. Little ghosts come up. I don't know if you've ever seen this. I've never seen a ghost before. There we go. There's a, yeah, there's like this little ghost here. It's like, it's missing. It's a ghost. So here I have machine config. Notice how I don't have my job there. Yeah. Because it's, it's a temporary object, right? So let's click on sync. Let's cross our fingers. All right. So, so created everything, right? It's still in the syncing phase. Right. So it's, it's, it's healthy, but it's not 100% ready because what's going to happen here if I go back and blow up a whole bunch of stuff, right? Yeah, if I do OC get machine config, right? Notice how now I have my, my worker foo machine config, right? If I do OC get YAML, right? I'll have, it has like all the stuff that I have in my repo, right? So that's cool. If I do OC get pods in the Argos CD namespace, notice how there's two, two jobs running. Let's do get jobs. Oops. So the worker one is waiting. So waiting, right? Waiting to complete. The master got done right away, right? That was very quick. Yeah. Yeah. So if I, so this is what I was explaining to before to get logs for the master one. Oops. It says waiting to converge. Done, right? The reason it's done, if I do OC get nodes, it's because I don't have to update the work, the masters. So if you remember, if I, if you go back to the MCO, the, I say I'm just targeting workers. I'm not targeting masters. So it says right there. I'm just, so, you know, there's no need to update the the masters. Protect your masters. Yeah. Protect your master. That's right. Here, you notice it says ready a scheduling disabled. So what's happening is the machine config is going on and rebooting all of these guys. And then writing out the file and rebooting, writing out the file, and rebooting, right? And so this is what the workers doing. So if I go first, second, sorry. Sure. Okay. Yeah. Right. These are hooks. And so. OC logs, right? Let's follow this guy on the worker. If you do an OC, if you do an OC get MCP, you should see the status of the MCP converging and condition on a different status. Yes. Correct. So here, I don't know why I'm getting this error, but this is like a false negative, false negative. Right. It's false negative. I don't know what that doing a watch, essentially. Yeah. I'm essentially, yeah. Right. I feel like, yeah. There's, there's, because it doesn't exist. Yeah. Something like that. Right. It doesn't. Yeah. It's, it's like, I don't know what you're talking about. Right. If I go see, get MCP, right? There is, there's a status here. Updated. Updating. Because it's updated. Right. Yeah. And so. So yeah. So here, if I do an OC gets. Yeah, the log. So that's what it's. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Okay. So it's done. Or was done. Oh, see, that was just funny. This is what happens and that actually Williams on. So I was actually working with this with William a little bit. In the past few days. Because the nodes are rebooting. Like my Argo CD instance goes away. So that's cool. And so I have to wait until it comes back. There we go. Yeah. Yeah. You know, it has to court on all the. All the nodes drain them, reboot them, right? And so I just happened to be on that. So let's go here. So get pods. Yeah. And I think essentially it killed that pod. So it's just waiting for that pod to. There we go. Yeah. So. Yeah. So while this, while, while this is going here. Yeah. So I did notice I did want to call out there. Yeah. Yeah. Yeah. Yeah. That there are changing the names, right? We're no longer going to be using master. We were waiting for the upstream. Right. For them to do their thing. Those changes were just applied in 121. So yeah. 121. And then essentially 122. 123. You'll see them. So I guess that's what 4.10. Or something like that. 4.9 maybe. When you start seeing those here. So, and it's going to be that gradual, right? So. Yeah. You'll have both. Right. Labels. And then like after a couple of releases, then the, the master label will go away. So. Yeah. So there we go. If you are unaware, if you're unaware, there is a CNCF project for more inclusive naming. And yes, if you're interested, shoot me an email or. Yeah, there's a secret form, right? Yeah. There's, there's a whole, there's a whole separate slack and everything. Right. Like, yeah. Yeah. If you're interested, definitely. Yeah. I'll go ping, ping Chris. He's a CNCF ambassador. So. It's what I do. It's what he does. Don't be scared. So that's what he signed up for. If I do an OC, let's go debug this. Let's look at this. Look at one of these guys right here. Node. Again, I'm not SSHing. Right. Remember. No SSH. What if I took away your SSH keys? What would you do? This is what you would do. So. Yeah. Exactly. Ever friend. I was to change root host and I do bash because I don't like SSH. So if I do hear Etsy, there we go. You see it wrote my file out, right? And I do cat foo. Yeah, get off this fun exciting. Hopefully I don't have that other thing on here. I think I changed it. Yeah. Yeah. Okay. I had something else that. Well, I was test. Well, I was testing, right? Are you angry? Yeah. I was, I was, I was channeling my inner Andrew and I was writing fun things. Like if you go, if you go look at some get commits of mine, you can tell like the later in the night. Later in the night. The commit quality gets. Yeah. It's like, I am having done with this. Yeah. Merge. Done. And then it's just like a single character, right? Like Z. Right. Whatever. Yeah. When you know you're like, they're really mad when you wouldn't even type out the curse. When I, when I bust out all the emojis. That's when you know I'm done. Yeah. Yes, I will put emojis in my get. Commits. If your terminal doesn't render them, get a better terminal. That's my opinion. Yeah. Exactly. Get a better terminal there. Join the. Yeah, this is fine. Yeah, exactly. With the emoji, right? With the burning guy. That would be exactly. So yeah, so this is, so this is just going to take a while because it's just, I'm just going to do that rolling thing. But the idea of this here as, as we're getting more and more for those of you who are newly tuning in. I definitely recommend going to see other shows because as we're getting more and more further along in this journey, it's going to be more and more complex deployments. And I'm going to be using things like. If I go back here. Did you do a worker? I'm going to be using things like sink waves and sink hooks and deletion policies, right? And. You know, as. You know, things. Things get ops is so new. Things aren't get ops friendly all the time in the beginning, especially for brownfield deployments or if like, if you're doing refactoring or if you're just, if, you know, everyone has tech debt, right? You know, even some of my old application. Yeah. Yeah. Even my old applications that I test with, I have, there's like tech debt, like I never, you know, never thought that, you know, I would be deploying it this way. So you have to do more and more things like this. And as we progress, things will get more and more friendlier. Obviously. There's things you can do things that are kind of hacks, like apps of apps, right? And there's. And that's a show. I'm going to do a complete show about apps of apps. Essentially, it's an Argo CD app that deploys other Argo CD apps. Nice. And there's just, you know, some of some of these things. Yeah, it's very meta, right? Especially since. And I'll go over this in depth. In that episode, but Argo CD, the top thing in Argo CD is project. Sorry. It's applications and an open shift. The top thing is project, right? So they, in, in, in our, in Argo CD, the concept of project exists, but it's not the, it doesn't sit on top of the hierarchically than like an open shift or in Kubernetes that namespace and project does. And it makes sense, right? Because your project could be made up of different namespaces across multiple clusters. So it makes sense why projects are, but you have to kind of just think, change your paradigm thinking a little bit. Yeah. And so yeah, so that was kind of like me pontificating about, you know, watch some of these past shows where I do some of these. When I explain some of these things and going forward, I'm going to be doing some of these more advanced things. I want to call them advanced, but you know, progressing in the journey, right? Of just syncing, just syncing YAML, right? Or just deploying a helm chart, right? Because that's like the first step in a long process is, you know, infrastructure as code, right? That's step one, putting everything in get, and I'm syncing it in get. And then the, and then there's like the process behind that, right? In this, you know, operations by pull requests. And then there's like triggers and stuff like that. So I'm going to be talking about in future episodes about Tecton and doing the CI part of it, right? Because a lot of, you know, if, for those of you who've been watching for a while, I've been doing a lot with CD, but haven't really touched CI. And I think that's a very important part of it. So I do have some shows planned about Tecton and about, you know, using Tecton with Argo and, you know, doing the whole process of, of essentially get ops, right? Where maybe I'll have Chris, you know, Chris, you've been, you've been doing fun stuff with OCS. Now maybe, now maybe, now maybe I'll get you involved. I'll say maybe I'll have Chris short, do a PR against my repo. And we'll go through the process of like, okay, he wants to make changes. Right. The cluster I'm managing. How do we do that in a CSU way? So, so yeah, definitely. This is a shameful plug about you seeing my past shows. Cloud native CD. So are we so progressive? So, so yeah, so cool. So I know you and me, Chris, we have almost a hard stop at the top of the hour. Right. So we got, yeah, we do have to jump to an, we have an eating. About a future episode, no less. About a future episode, right? We have actually a lot of cool things planned. Part of this whole, you know, going corporate thing is that we actually had to plan out our episodes. Right. So we had to plan out, you know, for the, for the marketing folks, our episodes. And this is like one of the plannings that we're doing next episode. I think like the first official episode, maybe I should wear a tie or some were going corporate. Oh, that's a good idea. Bust out the button downs or something. Yeah, the button downs or maybe get a blazer with like, yeah, a blazer or like a tie that has like, like galaxy stuff on it, right? Like the space planets. Oh, there you go. You know what? I actually have a red hat pin that I could put on my blazer. There you go. That's right. Yeah, well, we'll, we'll get, we'll get that going. So are there any questions here or any, any fun discussion points you're having? No, I think, I think everybody kind of like, Oh, well, he just said you do plain slow. Wanted to check if he had created a playlist for these episodes. Hope you did. Yes. If you hit that link that I just posted, I'll do it again. Hang on. Bang it up. Yeah, there's also straight to the playlist. Yeah. Get up to archive. There's also the same bitly, but get ops. Does the same thing. Yeah. So it's funny. You created that. And I was like, huh, I saved that for the official product. Christian doesn't care. Yeah, exactly. Yeah, exactly. Someone's gonna come along and be like, Oh, we need to, we need a red dot each T link for our get ups thing. It's no taken. Sorry. Yeah. So like, it's, well, you know, what's funny. And, you know, since we have some time a little bit and, um, I'll talk about the, I have the email Christian Christian at red hat.com. And every once in a while, like, you know, Like another Christian from red hat will like, will like say we'll send a test email to Christian at red hat.com. So I'll reply. Yeah. Yeah. So I'll reply taken. So what you're saying is, I should see if Chris at red hat is taken. Yeah. See if that's taken. Yeah. And see if you can get that. I bet it is. Yeah. So it's, uh, so, yeah. So kind of the same thing, right. Red hat slash get ops taken. So, um, sorry. You got to, you got it. It's kind of like a squatting, right? It's kind of the, um, Yeah. The domain squatting. So, um, the, except I accept the red hat points, right? So our internal. Yeah. So there you go. So, um, all right. Cool. So I don't have anything else. And I know we have a, a hard stop here. Are there, there is not any questions here. Um, I think that's it. Yeah. Yeah. This was a tough subject to cover such a short time. Uh, the idea is that, um, just to recap, uh, don't be touching the machine config pools because that gets updated, right? Oh, see, uh, get MCP. Let's get up. Those get handled by the operator operators. Um, you know, you're going to get bad times if you try to operate, try to override an operator. Yeah. Yeah. So that gets managed by the cluster itself. Any additional ones, you'll definitely want to manage. Um, And to get ops way like, like I did here. So, um, cool. Everyone says great episodes. So I think we did a good job. Wonderful. Cool. Thanks. Awesome. Yeah. Appreciate it. Thanks y'all. So stay safe out there. Uh, we are actually off tomorrow. Uh, the whole company's taking a day off because of the current times we're in. So thank you very much for including us in your day. Stay safe out there. Yep. Bye everyone. Thank you.