 Good morning. Good afternoon. Good evening wherever you're handling from welcome to another episode of the future of OpenShift Administration with PM and UXD. We're gonna be talking about setting up alert receivers today I'm joined by a fun crew of my fellow Red Hatter's Alim Oberam the one and only the always fun and entertaining Alim Oberam Why don't you like start the introduction chain as it as it were and get us to where we're going? Yes, I will So yeah, Alim Oberam, the OpenShift PM for the console PM and Today I brought a couple of great guests with me. So first I brought Gabe Taylor part of our OpenShift Engineering team and He will be demoing to you all over the series and why they're important and how to set them up. So It's gonna be really fun interactive session. And then after that I brought on one of our UXD experts Peter and he's gonna go through all things operator with us today. So he's gonna show us how to like install the lean and then kind of the progression of the lie Throughout the releases. So it's gonna be really exciting really fun. So let's start it off with Gabe. They want to show some people things though Sure. Hi everyone. All right. Let me share my screen here All right So you should be seeing my cluster pretty soon again, my name is Dave Taylor UXD OpenShift developer Today, we're gonna be looking at alert receivers and what are those so in OpenShift clicking There Okay There we go So I don't have any Okay, there we go. Sorry about that folks. All right So we're looking at receivers and I opened up my notification drawer here and you can see I have two critical alerts here and Followed by Four warning alerts and what I'd like to do with these it's great to have them in OpenShift But I'd like to see them in my Slack Channel here and get notifications about that So What I like to do so first of you notice a part of our user Experience and are getting started is if you notice there's an alert down here Said alert manager receivers not configured So that means right now these alerts are sitting in OpenShift in this console They're not going out to any external services. So we get an alert here saying, you know It's not really good. You want to see that and it's nice configure button here. We can click on that and It goes to our alert manager page And if you notice down here receivers Now these receivers are there's different types. There's like an email receiver or a Slack receiver pager duty receiver and We also have some routing of certain alerts can go to those receivers and you're you start off with a canned Three receivers here critical default and watchdog And if you're not sure what these are usually comes in they try to configure that a nice little info here saying You know These are critical alerts that will go to receiver you select here okay, and What about default? default is sort of a catch-all if you don't have a Any other receiver set up for critical alerts or warning alerts? This will get anything left over that doesn't go to another receiver. Sorry receiver Select the dropout so people can see what options are so sure. Yes. So these are the review types is pager duty Webhook email and slack and we're gonna primarily look at hooking up a slack receiver today Okay So I've asked the audience to share what they use for alerting But you know, there's there's more options than just like is what I'm trying to get to yeah And then that was the one we saw a webhook right so webhooks kind of like you could configure that to go They're like a lot of services. It doesn't you know, that's a catch-all. Yeah Yeah, so but like pager doing a slack like those are some of the most requested ones So those are like we add a little bit of extra stuff to make it a little bit simpler To be able to directly hook up to those. Hey when we're thinking we show people like so it was really cool That you know the notification bar at the top and you saw set up alert receivers And then you clicked it in it and it brought you to set up the alert Manager section, can you show people how to get there through the side now as well? Oh sure sure. Yes That is under administration cluster settings Global configuration and Then alert manager Nice get you the same space All right. So what I'd like to do here is since I already have this critical receiver semi-configured It's gonna be routing any alerts that are critical. So that would be the these two I Like to route those to my slack here Let's go ahead and start that I'm going to configure And I will choose the slack receiver type sorry, I'm gonna call the middle this I'm probably gonna Amazon delivery like right in the middle of stream cuz that's the only time Amazon This is when I'm live streaming Okay all right, so I'm in a slack receiver here. I'm hearing some oil. I don't know why There we go. Sorry about that. No worries. All right We were in a slack receiver Called a critical slack and the first thing it's asking for here a slack API URL That's the URL of a slack webhook and it's asking for a channel. I don't have either of those So let's go to slack here and set those up pretty easily Go to channel. I'm gonna create a channel. I'm gonna say OS Critical alerts open shift critical alerts and then we create another one called OS warning alerts Let's create that Now, okay, we got those we got the channels now to get that web hook. We need to go to settings and manage apps and Type books and we need this application right here for slack And there's similar things for like page or duty. You got to do some little integration services for each of the different Alert receivers, so I'm gonna add this to slack and by default you can choose a channel for things to go to So I'm gonna say critical, but you can override that In the payload that open shift will send the slacks to say don't go to critical go to warnings So we're gonna do that Okay, so then if you scroll down Web hook URL, so let's copy that I'll go back to my receiver. I'll paste that in there and they have a choice here If you check this it means that that's web hook URL will be available for any future slack Receivers you create so you don't have to keep copying and pasting at all be a global setting and I'm gonna do that and then the channel I want is OS critical warnings And then you notice there's some advanced Figuration and we can put an icon on there a URL or emoji. I'm gonna choose an emoji and we have a nice little popout here And I'm gonna choose The exclamation point and I'm gonna put that in there as well We already have the routing label setups very critical. You can add, you know another one If you want to be more specific about where it's going, I'm gonna save that Okay So it's gonna take a minute for that so you get through the system and actually post to the channel So while we're doing that I'm gonna talk about you look at some of the other receivers as pager-duty and Again things are broken up between like what you absolutely need is a minimum and then advanced configuration So pager-duty has these two options Again, you could say this is default We have client details. I'm just gonna check to see if the pod Seems to be loading. Okay So, how did you how do you where did you go what namespace were you in? so I go to workloads pods and Just open-shift monitoring. Okay. That's a whole bunch of a little bit. It's like four of these That they all run and read in the configuration file It should be good. I kind of would have expected to see it happen so far Well, you're looking at the the warren's channel your slack. You weren't in your critical Well, that's critical No, no, but when you're in slack you're on the warren's channel. Oh, yeah. Yeah. No, I should get an alert though Like he comes in Wait a minute here we go Channel now find critical warnings critical war I'll tell you Alerts. Oh my god, what am I doing? Hang on there we go. Hey, we're humans not robots, right? Maybe too fast. All right, so that should go through All right, so that was wait for that to go through. Yes, as we're waiting for that as well I just want to mention one thing so originally When we released the first version of openshift 4 we had like our alerts page, right? Right, and we're like well, this is great But if people want to see if something's wrong They always have to go that works page and then they could see the list of alerts But then we added the notification mark the very top So no matter where you are in the opening of console You can see if there's some kind of like critical word happening and it's a nice little floor that comes out It shares all those things with you now we're saying well, okay You don't even want to require people to be an open shift to know that something's wrong What's that like old GI Joe saying like knowing half the battle? So exactly so like You know, it's really really important that people know that something's wrong with their cluster So they could address it immediately not not let like it sit and become worse and worse like a critical math Would you go over crawl crawl from the data center to your desk? All right, so we are actually getting alerts now now that I fixed the channel You notice there's the exclamation point that we put in and here's some so we're getting two alerts Firing every 20 seconds because I up to refresh rates But there's two alerts, but they don't really look Like these It's not that great. It's kind of cryptic. So what I'd like to do is I'm gonna go into the YAML And what's nice about this is you can kind of see where your receiver is and I'm just gonna put in Title and text and this is kind of a almost an oversight Something we really need to add to our forms is an advanced field for title and text Wow So that that makes it really useful We got it in for the time we were doing like four different receivers. So we got it in for mail You know, you can do stuff for the body right from the form we really need to get that in for for still not in yet for Slack so if someone wants to see an example of this do we have that somewhere? Yeah, the snippet code. Is there what you're talking about? Yeah for The title on text that you put in. Oh, yeah, so here you go. Now you can see it. So before it was this Yeah, which is false now. I put in a lot of more stuff and Yeah, I mean I found it online Sorry, that's not it Yeah, well So, I mean it's it's pretty Complex it's a template language the go templating language for what you could send All right, so we got that going but that is really just showing Critical alerts. I want to do something with warnings now. So that's pretty straightforward to do. I'm gonna go to create receiver Give it a new name say warnings and I'm gonna do slack again Notice the the web hook is already there as you made it global OS Warning alerts. Oh my god. Okay, I get that right Warning alerts. Yes. Okay, and you know this time we're going to choose Warning Can we do screaming cat because that looks awesome. Oh, yeah, this one We can do scream cat sure Cats Yeah, now notice now we have to We got scream cats, but there's no routing there. So we have to do the same thing so there T warning and Let's create it and I'm actually gonna jump ahead So I have to wait another round and I'm gonna put in For the warning one kind of the same thing another so we get a nice Outputs Critical is firing away Still I've got one for warning we can look at the pods to see if we broke anything Looks good. Make sure no typos. No typos Living died by typos, that's like in my life Still critical. There we go Warnings is screaming cat Nice their manager. So those are the three based on Those four here do we got four Three four. Yes, this four three four. Okay. I did like can I give you on the fly? Do we try something? Sure Make it fun. It's not the warning message to the critical channel as well and And make it look a little bit different. I guess it's got screen cat in there. So we'll Should have screen cat on it, right? So if we go to the critical, yeah, so if we go to warning Send it to the critical channel also So today you say you wanted to have one slot channel for all your open shift alerts But you want to like distinguish between And the warning times. Yeah These is that right this channel name and Very cool. That's good work Yeah, we gotta wait for this to read in again So something we may want to think about the UI is When someone say something like this it would be good to give them feedback that it's like up and running and ready and Firing so they don't have to like go and check the pod to see. Yeah Exactly. Yeah Now is this I'm trying to Figure out so we were looking at some warning alerts were target down and I'm not sure what that is three firing losing a description there Still not seeing yet Morning, right there. There you go. Yep target down critical target down. So there it is Very cool. Nice. Now. We're seeing all of them there Right and that's My demo so, you know, like we're saying this pager duty webhook email and slack and you know all based on the Prometheus and all these different information. Hopefully we want to get all these different Things into a form like you can do markdown and attachments and just a whole bunch of stuff anything you want to do So this is just the beginning Mm-hmm awesome awesome demo Dave. Yeah, that was great. Thank you. All right. No problem. Thanks Yeah, so one one more reminder everybody those alert receivers are super super important You got a note along the cluster the Suni note. It's making dress it The sooner you're you won't have any critical issues Hopefully, right? That's that's the hope there. So Now y'all know how to set it up to send it to your email slide page to do whatever Whatever food you use your webhooks, so you can just do it that way. So again, Dave. Thank you so much. That was awesome Now Are you expert of operators all thing on all things operators so here you want to show people some cool stuff, too Yeah, thanks a lot Ali. Yeah, so like Ali mentioned we we've been making some incremental improvements to the operators area and open chip lately What I've got today is kind of like a flow not in the order that we implemented them that they've been released But more in like the order that you might use them. So I'll start an operator hub show some Features in there how you install operators that process making use of them and then maybe if there's time a little feature around the leading them Go ahead and get into this So yeah, I have this cluster open I'm looking at the console and as you can see I'm over here an operator hub The first thing I wanted to show is a new feature for operator hub that's coming in the future And what this is around is operators that install other operators Maybe there's a time where you're installing an operator and you might be surprised that like you installed one And then there's two others and you're installed operator list really what happened is that operator might be dependent on Those two operators. So we're trying to give more visibility into that in the process of installing them So just give everybody an example of that Service mesh, right when you saw open ship service mesh, it actually has multiple components. It's got Istio It's got Yeager. It's got Keali. They're all their own operators And yeah, perfect your teeth up to it. It's It's exactly the example I was gonna show Yep, so as Ali mentioned, you can see here We're looking at service mesh and really what's new at this point is just this little Badge in this lower right corner, which says dependencies and that's really indicating to you that When you install service mesh it is going to install these other operators But there'll be more information than that once you click into the details of service mesh So you're now looking at its details and you can see here What's new here is this little expandable control across the top It says show the three dependencies that service mesh will also install So if you're interested in that you can expand it. Otherwise, it's just sitting up there at the top It's not too intrusive. We don't think But yeah, so showing what that looks like expanded then if you are curious So now you can see service mesh is also going to install Elasticsearch Yeager and Keali I don't know if that's precisely right, but generally that it's going to install three operators And you can even see here. It's telling you that elasticsearch happens to be installed already just letting you know that That's something that's already on this particular cluster Um And it's conveying which ones will be installed, but then there's this other piece of information To the right here, which is this dependency tree showing you exactly how that The dependency resolution works out so you can see service mesh is really dependent on Keali and Yeager and then Yeager is the one that is dependent on elasticsearch So that's how those three sort of end up on your cluster when you install service mesh Very cool So yeah, hopefully giving a little more visibility. Um, not surprised when you go to install operators and then see these three in addition to service mesh The uh, next thing I wanted to show. Um, also around operator hub. Um This is probably a small feature, but I think it should be useful. This was as a four seven I'm going to go ahead and start installing this. Um, aqua operator Um, what this feature is is when you're on this install operator page, we found that oftentimes Um, maybe you went to install this operator, you know, you want to install it in a particular project Maybe your projects or a new project that you want to use um But we find that you might get to this page and realize. Oh, I I didn't actually create it yet and um You started installing this operator. You would need to like back out go to the projects area start Creating your projects and then restart this install process So really the the feature that we've added um small but hopefully useful is the addition of this Create namespace selector uh inside of where you would otherwise be able to choose the existing namespaces And it works pretty much like what you would expect so you can choose it. Um, you get the same create namespace dialog That you might see elsewhere. I'll just call this thing peter Create it and you can uh see it selected here. So again, kind of like a small Future around installing operators, but I guess I would say this is sort of an example of the like incremental usability improvements We're hoping to make the openshift console just make the overall experience a little more uh, who would need to use nice Very slick No one's got time to go backwards Yeah, yeah, I I myself had definitely experienced this So I was definitely advocating to add this because I I found myself installing operators No, I want to install them in a new namespace got to the screen. You gotta go back come back Not ideal. Yeah and so then there was another um around uh Namespaces you install an operator to a feature. I wanted to show. Um So i'm going to go ahead and start installing uh advanced cluster management for kubernetes here And so What acm has done is um, it knows that it would prefer to be installed in a particular namespace I think previously we would just sort of document that in the operator Documentation and then when you're installing you would sort of create that namespace select it. Um, the feature that we added I think this was uh as of maybe um 4 4 I think Um, what's new here is now in this installed namespace. There's now the operator recommended namespace So what acm can actually do while they're developing their operator is now say, uh Code in which um project that they recommend you install too. So in this case, it's this um open cluster management Um, and you can see it's selected by default Um, in this case, it doesn't exist. So it's also this little info here just saying This doesn't exist and will be created just to make sure you're aware of that Um, similarly, I think if it wants to install on a namespace that is created it lets you know that as well just because That can are its own implications. So just sort of highlighting that Um And yeah, just uh again another way to sort operator authors to sort of Code in that knowledge. So you don't need to like sort of dig it out of documentation. It's just sort of there in the UI as you use That's super cool. Like the fact that auto does it and then also adds transparency and lets people know what's happening behind the scenes um, that's one of our primary like Things that we're trying to keep improving on in the in the consoles like how do we make things more transparent let people know What's good, you know, what users know what's going on behind the scenes and not just do some auto magic Uh and and say that's that right? So we want to show you what's right. What's what's actually there So, yeah, great. It's up here awesome, man Visibility is key agreed. Yes and so, um So now we're looking at ac. I'm still I'm going to stay in here. Uh, the next thing I wanted to show, um I think it was as of I think it was four or five we added um A new installing screen. I'm sorry. It was four six A new installing screen when you're installing an operator to sort of give you a little more visibility into that process Um, I think before four six when you installed an operator would take you to the installed operators list Um, you'd see that operator appear. Maybe not immediately. It might take a sec to be created in that particular namespace Um, but then you could see the status. You might have to like click on that operator To see its status. So what's new here is now? An installing screen. So I'll go ahead and start this momentarily here Um, but it's an installing screen that sort of Shows you the process of what's actually happening with the operator installation Um, and another additional component to that that should be pretty useful is the fact that operator authors similarly can Encode any operand that that operator might need to be to be useful. So Um, as you can see here, we're looking at ac. Um, you can see it's um, Makes these operands available once you've installed it Um, and what I want to call out here is just the fact that this multi cluster hub has this little required Badge to the right of it. And so what that's indicating is that for acm you required A singleton instance of this particular operand. Um, and this new flow is going to sort of guide you into that process While it's running, so I'll go ahead and start installing this thing because I might take a sec Um, yeah, no acm does take a little bit to install Yeah, it was a bold choice. I think but yeah So it'll be fine choice indeed Uh We were talking about earlier right with like the alert receivers We install it or set it up. There's no like feedback mechanism Well, we have the same issue with operators, right? We're installing operators So it wasn't really any kind of feedback people are kind of like is this what's happening Is it succeeding is it not like so now? We're actually, uh, surfacing information here Uh, to give you people that feedback and increase that transparency again. So very cool nice And yeah, so you can see acm it says it's installing. Um These are the status messages actually coming from I think the the csv and steeter changing It lets you know like it's making it's updating its replicas that type of thing Um And I just want to highlight this message so it says the operator is being installed I might take a couple minutes and then once it's installed The required custom resource will be available for creation. You can see once again It's this Multi cluster hub that's required and you can see the next thing we're going to do here Once this operator is installed is create this multi cluster hub So you could stay at this screen, uh, if you want to leave you can always use Either the left nav or there's a link just to go to the view installed operators list for this particular namespace So you're not like locked in here by any means But if you are curious, yeah, exactly like we are today, but that's a more for this demo So yeah the and as I mentioned, uh, you can kind of see it initially there this this installing will a screen Will appear for any operator. Um, it's just this case that acm has this required Operand which is why it's highlighting it here Otherwise, um, the screen would appear and sort of the next step after it was installed It was um, just take you into the operator details and uh, then you can start making use creating operands doing what you need to do um So yeah, uh, just to add to that previously like Uh, if an operator want to install and I have like 10 different operands Users kind of had to guess or go read some documentation to say, oh, I need to create this object first This is kind of like the parent object everything else and this will then you know So with this we let the operator creator Give people guidance and get them to the right object to go create that for their day two configuration stuff And they don't have to now guess or you know, go to documentation and try to figure out What's the correct object that I have to create first? so super useful Into guiding people to the right path, right? absolutely The the concept of meta operators. I've always enjoyed right like an operator to manage operators. It's just so like Of course we did that All right, look at that against all odds here we are, uh, acm is uh installed And so you can see here now, uh, it says the operator is installed successfully We got this little green check and then create the required Custom resource to use this operator and you can see the next thing it wants us to do here is um create this multi cluster hub Nice, so I'll go ahead and uh click that And as you can see here, it just took us straight into creating an instance of this operand, um We have still the form enamel view. Um, I think the form view is new as of four or five time frame ish Um, but yeah, I'm just going to leave leave these defaults And go ahead and create one of these And so you can see here now we're over in the operator details of acm. Um, you can see that multi cluster hub operand We just created an instance of, um I think some operators the operands might have a little more values you had set at that point I know if you're still on osia, um open shift container storage, um Or yeah that you might need a little more values, uh, choose exactly What type of storage you need, um, but in this case, we just had to create an instance of it So it sort of guided us into that well Um, but yeah, so now we've created that instance this thing should be good to go Start managing some clusters Very cool And yeah, um, so now we've installed an operator. So, uh, I want to to show a couple newer features in the installed operators area So switching over to the installed operators list, you can see acm. That's what we just installed What I wanted to highlight in this list, um as of four or five we added a feature around sort of how we show, um Operators in this particular installed operators list, particularly when the project selector is set to all projects um Before that point, um, if you'd installed the operator globally, uh, Really that that csv cluster service version that it created It would really create a copy in every single namespace on your cluster And when you would go to the all projects view of this list, you would see that particular operator repeated for every namespace on the cluster Um, so if you had multiple operators installed globally, uh, this list could get Uh, I guess I would say rather long so you can see how many namespaces there are so you could expect to see Uh, because this is installed globally serverless, uh, you'd see an entry for everyone so pretty long So what i'm getting at is the new feature here is now the fact that even though serverless is installed globally You can see here with this new managed namespace column That's sort of any indicating to you that serverless is available in all namespaces So instead of repeating this thing for every namespace on the cluster, you can just take a look here The namespace column reflects which namespace it's installed in and then the managed namespace column Reflects which namespaces it's available to Much cleaner. Yeah very very organized Yeah, we like things tidy over here. So we thought this uh, it's a nice little addition beautiful I was happy when this thing came out. It drove me crazy like school until I was trying to find the right right new space Yeah, no, it was uh This is a good ad for sure Yeah, and it's so you can see it at the the top level here But then if you go into the details of this so we're viewing it in the the serverless project at this moment, but I believe there's a Sorry, it's called down. There's an entry on this page then also Um, just to mention that it manages namespaces all namespaces. I think there's even a little Note here operands in the in this namespace are managed by this operator. So just further indicating Um, where all you can use operate operands for this operator So one one is where what does the operator live and then where does the operator oversee? Exactly nice and um The the next thing I wanted to show um also sort of relates to uh To globally installed operators, so I'll probably use serverless as the example again. Um, this is a coming feature I think we're working on. Um, so keep an eye out for this um So because serverless is installed in its particular namespace, but as Ali mentioned you can um It's managing all namespaces. Um, operands can appear in any namespace Um, when I click into serverless and switch over to its all instances tab, which would show me all the instances of this particular operator um You can see we're still in the context of openshift serverless. So in this case, there's actually no no operands listed because in this case, um This operator doesn't have any operating instances in openshift serverless Um, but I actually do know that if I go back to the installed operators list and go into Um, this particular namespace Knative eventing Uh, and then open up this operator It actually does have instances of operands in this Knative eventing um project So what this new feature is, uh, let me pull up a design here Is so going back. Um, so we're opening uh the serverless operator again. It's installed in all namespaces What will be new is the addition of this toggle control, which will be Showing operands in all namespaces or just the current namespace Um, and you can see it's defaulting to all namespaces. So Now this operand list is including, um, not just operands that are in openshift operators, but also any Operand on the clusters. So you can see there's a instance of this Knative eventing in this namespace Knative eventing and Knative serving in Knative serving So sort of gives you visibility into All the operand instances on your cluster Um, regardless of what namespace they're in So serverless is kind of special to you, right? So you see Knative serving and Knative Venny Uh, what their operator does is they create Uh, two namespaces one for each because that's where they want to host their CRs to have some kind of isolation there um And that's that's where you need to you know, do the all namespaces versus the current namespace And that's why we're not seeing any Knative serving items here at all. So This is going to be this will be helpful. So people don't have to like try to remember the correct namespaces Themselves, right? If you just click on all namespaces and be guided to the right spot exactly, uh if you if you do want to Retain the existing behavior and you just want you're in an operator that you happen to just want to see the operating instances in the The project you're looking at we do have the other title, which is just show me the operating instances in this current namespace Which in this case there aren't any Um, but yeah still retaining that existing behavior if that's what you're interested in And I had shown this in the context of this All instances tab which shows you all the operand types for this operator But this would appear on the individual types as well. So if we go over to the Knative serving tab, you could see Same piece of information there for same toggle rather That's handy. I like that So one one other thing that we should probably think about and this is just brainstorming out loud because we're Get out here is For like Knative serving and Knative eventing and even the the ACM Uh main thing those are singletons, right? um So we should probably have some kind of indicator of like Hey, you created your your singleton object of this And don't go you don't need to like maybe disable the create Knative serving button or something because it's already been created, right? So In order to recreate it that have to delete this one and then create like so we should probably uh Better indicate or give feedback to people that this object is a singleton type of object through the UI as well. So Yeah, I'm not sure how you would indicate that but it would be very handy to do that Right like graying out the create button. Maybe I don't know the right way to Yeah, it's a great point because like you said for that ACM example, we only ever need one of those it's like even for just that particular instance where The operator author said we want you to create this operating instance in the install process Maybe that one we know you probably don't want to ever gonna need one instance of so that can be one where we do what you're describing there and maybe Disable the create button. Yeah, and I know the pain of accidentally creating Two ACM operators like it causes everything to go haywire. So that would be very very handy. I feel like And and maybe that's also part of the the operator creator. They they disallow Two instances of a certain cr right so the operator says, oh, yeah, we're not gonna. Oh, you've already got one It's here kind of logic. Yeah, so we're not gonna attempt to create the second one So that that's feedback we could give to the teams as well But we should also give some visual feedback here like graying out the button or or you just even I don't even know. Do you know In the csv is there something that says like singleton Like I don't know the answer to that. Yeah, that'd be awesome. If that was there, that'd be great. Yeah Yeah, we should So yeah, people we're we're working on this to make it better and better That's awesome Yeah, and if it's not there now, yeah, maybe it's something we could try to incorporate Like annotation or something like that and ask operator authors to set. Yeah, try to make use of that. That'd be really cool Yeah, sure Kind of standardize that a little bit just to make sure people don't shoot themselves in the foot on accident Safety first as they always say, right? Yeah, exactly Click it or take it Another one Don't click it. Don't click it That's the non click it or take it Click it and you get a ticket And yeah, so like I sort of glossed over this earlier I just wanted to mention so we did add this form view as the default view now when you're creating operands It shows up at the top here as this toggle So previous that I think you'd generally be creating these with a yaml so that in this case this k native serving operand but now we're defaulting this Dynamically generated form view which sort of represents everything you would otherwise be doing in the yaml Gives you a little bit more Little ease of use or I guess I would say the fact that you can sort of interact with this particular operand Just by using this form and there's no white spaces to worry about so that's always good Also good Got time to deal with that I love yaml. I hate yaml. I love yaml. I hate yaml. Let's just go back and forth with it And so a lot of the information also so in our yaml view we had This schema area over here where you can sort of dig in and see exactly What this schema of the amel is that's now mostly reflected in the form as well So another way to access it a little more straightforward A design we're working on also that's coming will Some of these forms can get sort of long if the the schema Yeah, if the schema is very Complex, then the form will probably grow rather long as well. Um, so we're working on a way to sort of like trim down the form Let me show you the fields that are maybe like have default Values in the amel template sort of highlight those probably the required values So another thing we're actively working on Very cool Yeah, so without processes out of the box it should work And then if you want to you know be advanced and do some cool things and Start playing with it and And pushing the limits you have that opportunity and we kind of give you a little bit more guidance there Before you jump into straight yaml and start tweaking things that way There's a there's a baby step in between right so that's that's we're trying to offer yeah, I mean there's There's so much that you can do with the open shift platform itself, right like Server smash server lists, you know the the sky's the limit right get off solo nine yards. So having those those guides to kind of Keep your knowledge From having to explode into all these different fields and learn yaml and how to deal with yaml and k native and Deal with you know istio and having those capabilities kind of in a form view. I always find very useful for folks because you know a lot of potential administrators might not even need to understand how to use k native But they definitely need to know how to install the operator right and troubleshoot the operator and that's kind of you know Table stakes as far as you know troubleshooting goes from an admins perspective the person consuming the operand Knows all the bits and pieces they actually want it to do And and like separating those two capabilities helps folks in some instances, right like it might not be The best for you. Maybe you want to drop into that you know with you all the time and copy possibly your yaml in and you know That's why it's there. You could still do that There's even more information off the side and there usually has been in the past so that you can get You know your acquired fields and everything else figured out and yeah, that's super handy And then I don't know if y'all remember but last time we had this call we brought on tony Who's the p.m. That actually focuses on all things. Oh, I'm related And he's the one really driving the form view. So if you go back to that form view real quick This is all dynamically generated The operator creators don't have to write any code. This is free UI you get with your operator You can improve the formatting and like hide stuff and show key things with just some olem yaml descriptors to really like Improve the UI UX Functionality of this stuff, but again, there's no coding. This is all part of the ship platform We get it out of the box and you know, it's it's super valuable feature to like natively integrate all these add-ons into the into the ecosystem And it's it's it's add-ons that's accessible by everyone Right, so there's no like oh you get to use it and you don't this is for everybody out there to come in And expand the open ship ecosystem and take full advantage and to integrate natively into the console. So super cool southern So we do have a question and this might not be the audience for it, but I can definitely figure out the right way to go I can't read the name hang on Let me go back to this window impram from the console contest if you recall Can you comment on the dynamic plugin UI functionality? With this option, can you create menus with administrator console from an operator? And I'll drop this link in chat. That's actually Yeah, so I I could talk about dynamic plug. Oh Yeah, just pulled it up. Yeah, there you go. Yeah so uh dynamic plugins, we're right now in the beginning of it, right, uh, and um We've gotten a lot of requests for more like the ability to integrate more natively into the console um from internal teams I read out for like say like three scale views All these, you know, great Products that work on top of the official ecosystem, but also from partners, right? They want to be able to to build solutions on top of the ownership platform So for seven we've kind of building out the foundation of the dynamic plugin framework Which will allow people to create or modify existing pages And to really like I said tailor a nice solution So for four seven during the foundation for four eight We're going to start moving some of our internal teams to to take advantage of it And then based on how that goes um, we will hopefully by four nine start opening it up to partners That want to create solutions on top of the ownership as well Uh, we we definitely want to be kind of cautious here We don't want to make it a free for all so that you can you know, like my space it We don't want that you don't want the blank tag back Cool. Come on. I got my pages song all chosen out. I'm ready to go. I know right So yeah, we like we're gonna put some guardrails in there and see what works. So we're we're gonna really focus on the balance of flexibility, but also You know trying to help guide people to keep the design patterns and UX patterns As consistent as possible because like I said, we don't want Um, a hodgepodge of things in there, but we do want to give people the ability to come in and extend And and provide the things that they need to So between the dynamic plugins The pattern fly library where all the components that we kind of use come in We're thinking that all third party partners are coming to contribute the pattern fly like for example Let's say they need some kind of tree view and we don't have it yet They could work with the pattern fly team to create a common tree view and then later Uh with dynamic plugins if they wanted to carry that page of the tree view We'll be able to pull that component in take advantage of it's going to be very API driven Just like some of those guardrails are there, but um, it's super cool. It's going to be super powerful and we're we're going to go at a A nice steady pace not to you know, uh, just to make sure that we do it right and we do it right the first time So now Peter's kind of showing some stuff here Um, so I'll hand it back to you Peter. You can explain that Yeah, I just pulled up this design. Uh, I saw it was in the comments. Um So this is the design that uh, once we have these ui is available So this was drawn in the context of this serverless operator So it's actually right in line with what the we were just looking at So this is the install page and really what's new here is just this console ui extension option Which for um, I think what we're calling like trusted operators It'll probably be enabled by default so pretty much the existing behavior you would expect today You go start installing this operator. Um, it's going to have its ui enabled by default You just go ahead and click install and then you'll be ready for using it. Um There will be this little help text just so if you see this option You're wondering what it is Just tells you that uh, this operator is a custom interface that will show up in your console I'm just making sure to trust it because um I think the operators that are installed with their Dynamic plugins enabled they can uh run commands obviously under cluster. So just making sure you trust them Yeah, so one one other cool thing with this is um Your dynamic plugin could be delivered with your operator, right? So let's say consoles at four eight And you have your operator version one two three and those all happen at the time span of four eight, right? So you do three releases in a time span of four eight You could update your ui code And you don't have to wait for four nine to come out, right? So this allows operators to deliver ui code on their release cycle Which is super powerful and super cool because for example, like in the beginning serverless and pipelines. They were we were alpha type Apis and they were constantly changing and their release cycle is much much quicker than the open ship So they wanted to update your ui on a much faster cadence and now with dynamic plugins this enables Teams to be able to do that Very cool. Yeah for sure Yeah, that was pretty much what I wanted to show around this. I think it also shows example where it's uh some third party operator And I think it would be disabled by default just uh encouraging you to enable and just making sure that It just lets you know if if you're enabling this thing make sure you trust it And you would be able to change the staff for the fact too So in this case, we're looking at this. I'm already installed operator And there would be that same setting basically in the the details of that operator allowing you to enable or disable It's uh ui also Nice. Very cool Yeah, I think that was the most of this design though So michael back into I think I had one more design. I wanted to show around This operator flow Sort of around sort of the to wrap it up is it's around the uninstalled flow So let me get back into my cluster Yeah, a lot of people think about uninstalling but not uninstalling. So this is cool. Yeah So what this is, let me go ahead and start the install process on this acm that I just dropped on this cluster without really asking anybody. Um Wait, this isn't your cluster Awesome I'm gonna take your cluster So the the uninstall dialogue today, um, so I'm uninstalling this is just letting you know, you'll remove uh this operator acm From the the namespace I installed it in but what it does Also, let you know is that removing this operator, um, will not remove any of its custom resource definitions or managed resources Um, and then it goes on to let you know If you if you want to get rid of those you're gonna need to clean them up manually. So it calls that out just letting you know that Um Today we leave behind the operating instances. I think just in case you might want to use them Even after you've uninstalled the operator. I think an example that I've heard is Um, you've installed OCS. Um, you have some storage that you want to leave behind even after you uninstall it You're not starting to want to remove it yet. Um, so that's why it sort of works this way today um But what this new design offers now is Um, so going back Um, so once again now i'm actually uninstalling um open chef container storage. So this is the exact example um And this would be the dialogue that you see so it's similar, but what's new here now Um, it mentions it's going to uninstall OCS um But now it's listing out all the operating instances. Uh, that this operator is created while it's been installed So you can see here. Um, there's a storage cluster a bucket class and then some of these backing store operands Um, it lists them out for you it it actually links out to them If you did want to like leave this uninstalled flow and just go check these out Um before you committed to removing them. Um, it also tells you what namespace they're in so you can see that Um, but really what's new here now is listing out these operands and giving you the opportunity to remove them Right at the exact same time as you're uninstalling the operator. Um, so Sorry, was there any thought of putting check boxes in each row so you can pick and choose which ones There was that was actually how this design started. Um, I think So initially, yeah, I think we may still be working towards that where you'll be able to individually choose Which of these operating you want to keep and remove. I think today the api only supports Um, kind of an all or nothing deal. So that's sort of how we ended up with where we are today But that's a great point. Yeah, we'd like to work towards that. Yeah, but even this like Uh, let's say they had a list of 20 things here And like two of them they want to keep and the other 18 they want to get rid of They could at least get the inventory here and like right click on each and open a new tab each of the objects Uh, and then not use this to delete the instances and then go and do it that way Um, right just because now now at least it's they don't have to go and guess and try to find All the objects in the different namespaces because a lot of operators use multiple namespaces for things Um, so this kind of gives them a map, which is nice right Yeah, exactly. It's a great example. Actually, yeah Um, but yeah, so assuming you do want to lead them all you just check the checkbox And then when you uninstall you can expect all these things to be removed with it sort of tidy up your cluster Maybe you don't you install this operator and similar to what I did You just wanted to like check it out and now you want to get rid of it and make sure it's uh cleaned up So that's what this would offer for you That is like a really important use case. Think about it. No. Yeah, I do that all the time Actually, yeah, I really do What is this operator? Let me check it out. Okay, cool. Can this solve my problem? Yes or no Yeah, okay, so, uh, you know, I don't like this one try another one. Oh wait, what's all this other stuff on my cluster now Great, I got to go clean this up not now next time someone's gonna solve operator We're gonna be a little hesitant because they have to go and manually clean everything up with this option You don't have to worry about the manual cleanup. You can just easily boom boom nuke it nuke it and It really makes it worry free to go and try Different operators and to experiment and that's what we want to do We want people to come in to try and experiment as many different services That that could be possibly useful for them Cool cool stuff It's awesome Yeah, so that was actually the the last design that I wanted to show. So yeah, we just went through Um somewhere around installing the just like in the namespace that type of thing Um the actual new installing screen, which is as of 4 6 So you start seeing that as a 4 6 installing operators and then um somewhere on the installed operators lists All projects just seeing each operator listed once even if it's globally And then some coming options around showing you all the offerings and then also this on install flow. So yeah, I think that's it for me That's awesome. Thank you for sharing. Really really appreciative. Yeah Cool so If that's all we have Look to thank y'all for joining us today. Thank you those out there in the audience Thank you for your questions. Thank you for your participation Um coming up next on the channel is at 1500 or i'm sorry three o'clock eastern 200 utc, which is really weird to say Uh is the get ops happy hour with me and christian hernandez. We'll be talking about um Sink waves and hooks with our go cd. So that'll be a pretty cool show So definitely come and check that out again at 3 p.m. Eastern 200 utc Thank you ali david peter Really appreciate you coming on showing off what you've been doing It's cool stuff, right? I can't get enough of this. Yeah, thank you christ the host everybody. Thank you Appreciate that. Appreciate chris. All right. We'll catch y'all next time. Have a good one Bye all