Submind YouTube summaries
Thumbnail for Flock 2025 Bringing Web UI To Fedora installer

Flock 2025 Bringing Web UI To Fedora installer

Watch on YouTube

Video summary

Keshni, a product owner and engineer with over a decade of experience on the Anaconda team, introduces the roadmap for bringing a modern web-based user interface to the Fedora installer. Currently available in Fedora 42, this new interface is built upon Cockpit and PatternFly to ensure consistency across Red Hat products and leverage robust automated testing capabilities. The existing implementation allows users to select languages and keyboard layouts, choose installation paths with improved accessibility, and manage storage via Cockpit Storage for custom partitioning. While the current setup warns users about system reinstallation risks and preserves home partitions, Keshni emphasizes that this is a foundational step intended to gather community feedback before expanding functionality in future releases. The development plan outlines specific goals for upcoming Fedora versions, starting with Fedora 43, which aims to address missing features like keyboard selection and time/date configuration while exploring the possibility of supporting custom browsers beyond Firefox. This browser flexibility is crucial for environments like Sway that require different window decorations, though maintaining a custom browser solution remains uncertain due to questions regarding maintenance and security configurations. For Fedora 44, the focus shifts to enabling remote browser installations over HTTP/HTTPS and onboarding Atomic desktops, with networking configuration identified as a significant challenge that requires careful handling to avoid misconfigurations that could lock users out of their systems. Looking toward Fedora 45 and beyond, the project targets the complete adoption of the web UI for Server Edition, which currently lacks several advanced features present in the graphical interface. Key objectives include implementing multipath, FCOE, iSCSI, and NVMe support alongside guided partitioning schemes that allow users to select specific enterprise technologies like LVM thin pools. The team also envisions a future where software RAID can be configured directly through the installer, although current limitations regarding non-standard boot partitions mean this feature may remain in a custom or advanced mode rather than being part of the default guided process. In the long term, the Anaconda team plans to eventually deprecate the traditional GTK-based UI as it approaches its end-of-life, aiming to merge all functionality into a single web interface that serves every Fedora variant. This modularization strategy separates the backend logic from the frontend, allowing the community to maintain the GTK UI if desired while the core installer evolves. The team acknowledges performance issues on older hardware reported by attendees and commits to addressing them, reinforcing their commitment to an iterative approach where features are rolled out gradually based on real-world feedback rather than attempting a massive overhaul in a single release cycle.
Read the full video transcript
Okay, I guess we can start. So, hi everyone. I'm Keshni. I will tell you a bit of the what we are doing with the web UI uh and what we are planning with the web UI mainly. Sorry, my voice is not perfect. Um it's much better. Hopefully, it will be fine and you will [clears throat] understand me well. So I working on the Anaconda team and uh as the product owner and engineer uh for last 10 years in Anaconda and uh this is one thing big thing we are getting to deliver. So about the presentation I will share you our idea of the road map but what I want to have what I want to get from you is your feedback on that. we are really looking here for if we are not missing something if we uh don't think about something wrong like I'm working in Anaconda 10 years and I'm still able to find use cases which I'm not aware of because like it's quite the old project and people are pretty innovative in how to use it just for information uh when I'm when I try to get this uh image I basically using AI for that and usually when I'm trying to create a present presentation that slang is doing something it's always put the arms there. So yeah you're doing it wrong. So if you see that we are doing it wrong please tell us. Yeah. So first I would like to just for people who are not aware who are not doing installations or often I would like to give you like show you a demo of what we have right now in Federal 46 life ISO. Hopefully it will work as it should. second. That is that is not I don't want to go. Yeah, I don't want to put it back. Okay, let's let's try to let's try to start there again. Yep. So basically this is the web UI installer what we have in Federra 42. I won't go into much details because I don't have much time and I would like spend it more for questions, answers and feedback collection. But yeah, it's based on the cockpit and pattern fly. Uh, one of the reasons is like for the consistency with other things with Redhead, but also like the support for this technology is great and like even for getting like testing uh automated testing etc like cockpit team is helping us a lot. So it's uh really in much better shape. So basically what we have right now you can select the language keyboard layout you can select this you want to install to and we have a new approach for doing the installations like uh for getting like selecting your path which is more should be more accessible for people who don't who don't use installation or doing installation quite often and you can also like uh start uh cockpit storage here which is taken in level of you can do the partitioning yourself beforehand with any application and just go to mountpoint assignment or pick a path that I want to reuse that basically I want to use that uh I will just show you the cockpit storage just what is there it's basically looks like this I won't go into details because I don't have time as I said feel free to take it uh play with it hopefully you like it and let's just continue with the installation of the Federa which is honestly new for uh web UI. And as you can see, we have a warning that it will break your system, which is understandable when you are reinstalling the system. By the way, just the reinstall Federa, it basically means that your home partition will stay intact. Uh even though please do the backup before doing that because like everything is new and even if it's not, it's just a good idea. Okay, let's move it back. And so back to my presentation. Uh so I will be talking here about the future of the Fedora uh future of the Fedora uh Federa web for the Anaconda web UI and uh this is idea of our road map. So for Federa 43 I will go for by Federa by Fedora for a few and uh basically tell you what's what is our idea. Uh so the first one is basically we in Federra 42 we have workstation enabled with uh just just the Federa workstation. It was the like first baby step for us to getting it there and we are trying slowly move approach it and get collecting the feedback during the path and reacting based on that. So the Federa 43 is basically another baby step. We are missing some functionality in the web UI. Some of it is already created. Some of it is missing completely but it's not used in the production right now. Uh so we are targeting spins and KD addition and uh what we need to add is to resolve the keyboard selection a different way. uh time and date uh is like is not configurable right now for workstation is not that necessary because there's no initial setup and the same for user creation. And the last one is kind of interesting one because we got a already a feedback uh that we need to enable custom browser. Right now we are using Firefox with our adjustments to like not having uh decorations etc etc. Um but there is a spin alex QT if I'm not mistaken which don't which don't have Firefox. So for this specific reason and also in uh in um example of for example Sway if you have a Sway you might want to have a special decoration special behavior for the window but like Firefox is not a other instance of Firefox it's just like other Firefox if you want to touch it if you want to configure it for this so there are like multiple way multiple reasons of you want to have your own browser or custom thing however I have a question mark there because We yet were not able to resolve how we want to approach this completely. Um there's a question who will maintain it. Um uh how we will enable it if it will be on configuration of the configuration files of the Anaconda like there are a lot of question marks. So it might be that we won't go with this for Federa 43 if we won't be able to resolve these. Uh and also we are not we are fine with not like reaching out to all the spins. If we miss some that's fine. It's more like optional thing. We would like to get all of them aboarded but it depends on like the specific needs of the of the spins and KD edition. So we will see the second part is Ubl. Uh I unfortunately missed the presentation the first day uh for universal blue for bzite but they are working on enabling web UI for a long time already and thanks a lot for getting us feedback all the all over the the years u or the time u I need to talk to you unfortunately I wasn't able yet here but we definitely need to sync so far based on my uh reaching out to them it seems they don't need any special actions from the web UI from us but it might be that I'm not correct here so I need to talk to you guys uh so the for Feder 44 we have our goal is to go with automic plus al enabling remote browser installation gives sense it's HTTP technology basically because cockpit is like it's web- based so you can start installation uh from uh remotely basically on like enabling any browser on any device you want um with a skipping here but I will finish it. Um so basically we have this already for remote installations. We are using that for automated testing but it's not major enough to make it publicly available like let's use it everywhere because for example we want to enable HTTPS and we don't have yet generation of the certificates and similar things enabled maybe also user authorization as like if it will be HTTP server it's great it's accessible everywhere but it acceptable everywhere. So uh it might be that someone will join for your running installation. You won't want to do that. Uh so that's something we need to resolve and we would like to for federal 44 enable it. Uh if you want you can use some boot options and play with even now but it's just like plain HTTP and it might be struggling sometimes. Um and also we would like to onboard atomic desktops. Uh that's another goal again with level of if we enable spins and uh KD edition we should be on good path to enable also atomic we might be also doing that like from the perspective of feature requirement we might be able to do it in federal 43 but let's keep it like reasonably distributed avoid doing everything in one release and uh we have an optional goal there which is networking um I have it we have it as optional Because for atomic installation is not really necessary because like atomic installation atomic ISOs are installing from local DVD from local ISO. So you don't need to have a network to do the installation. But on the other hand the networking is a big question mark for us still because we are not 100% sure how we will handle it in web UI. There are a few ideas of using like cockpit what cockpit has etc. in GTK UI we used an N an M connection editor network manager connection editor uh application um but they want to basically drop it that's first time first part in in real and Santos etc uh that's that's first thing and second thing it's likely usable with the web technologies in level of it it would it would look it's use it's usable you can do it but it would look just bad you don't want to do that so we are still thinking how to do do it like a networking is a big topic because there's like a lot of configuration van bonding etc. Like it's not that easy and we don't want to ideally maintain it like create it and maintain ourselves and more put it on someone who's already doing it than doing it correctly if possible. Uh then for Federa 45 that's our like I would say ultimate goal server edition because server edition has currently in the current form it has almost all the functionality u which we have in the UI so it needs networking configuration because we are doing remote installations it needs here is it is a must have hopefully we will deliver it before um it needs software selection environments group selection um source config configuration that's a question mark a bit because I know that basically we are for most of the ISOs you are using uh federal repositories as the by default so this seems to be a bit maybe like not necessary but again we are looking for feedback if you see it otherwise and uh another big thing is the partitioning we already have something but it's not used it's not finished but we basically need to enable multipath, FCOE, ICE, NVME, there's a lot of technologies where like these are used in enterprises and federal surveys using using it these two most probably and we would also enable like to enable in the guided partitioning partitioning scheme selection because uh like battery FS is fine for workstation. They were even like said us that if we enable something like that they would like to have it more hidden or advanced because they want to have like the default battery FS. Uh but for LV for the server variant I think LVM is like often the choice LVM tinpool the same. Uh so we would like to enable like easy installation but with selecting how what technologies that you want to use here and uh we are also thinking and like like looking into how to enable better like uh easier software rate support like you can do software rate with co cockpit storage which will be the ultimate goal if you want to fine-tune everything but uh for the guided partition there could be something like I want to install it automatically but I want to have use rate one for it and we will like create create the automatic partitioning for you this way that's the idea we are thinking of if it will get there not it depends on availability like on the resources etc we will see uh also if it's like really feasible when we try to put it together if it gives sense and after Federa 45 that's the best question mark honestly we are not uh we don't have a road map so far away but in the long term future we are think like we don't want to maintain multiple multiple GTK UI multiple UI so web UI together with GTK UI uh also GTK UI is built on GTK 3 which is I don't sure when but I guess it will be uh end of life soonish uh so there's a question mark about if you even are able to get it into real for future for example um So that's that's something basically where we would like to uh drop it from the maintenance. But if someone from the community wants to take it like Anaconda is currently designed in a level that there's a UI and we have a back end and back end has a DAS API and both of these UIs are communicating with the back end. So uh it should be re should be feasible to just like me merge it or get it out of the Anaconda codebase and separate it as a separate project if someone wants to keep the GTK UI from the community. I don't think there should be a like strong reason to block it. Um so yeah that should be fine and uh we definitely want to reach all all the other variants and like the out like I would say mother of everything from the feature level is basically everything I saw what I saw standard. So if we go like we have everything we are after the server everything is adopted then we can go for everything I saw that should be the last ultimate goal of like this is this is we we are we have a UI everywhere and ideally if we slip like some spins or something we can we can uh get it there too that's for future like we don't have it doesn't mean it will be in Federal 46 or something like that it depends on situation it's too far away so This is just the overview of what I said. So you have it on your eyes and uh now right now I I think it's place for questions. So questions, feedback. >> Thanks for the great presentation. I really like the the new UI. I I had just one issue with it. I I have this habit of installing uh like Federra on my relatives computers and lately [snorts] I was installing it on a 10-year-old notebook like it that had two to two cores of CPUs, 4 GB of RAM and I was just trying out the the normal UI and really the the new Anaconda installer is so slow that like it takes like I don't know five or 10 minutes to even like start. Uh I know that that spec is really bad but like compared it and then I installed some spin which is using still the the old old interface. So I was just curious if you are aware of this issue. I should file it. Uh because [snorts] really it was like the experience was like so bad that I I I think it would definitely discourage people to install it. You know, >> please file it. I'm not aware of it. But in general, you should be able to install it reasonably well with the remote web browser access. That would happen. I don't think it should happen honestly. Uh I don't know what happened there. So please file it and we will see uh if we can improve it, >> get the hardware easily back. So thank you. >> Thank you. >> Yeah, also if you want to please go ahead microphone so I can I can ask question too. Um so is that something you want to roll slowly and as an op an option? So you still have Anaconda GTK available and at one point you want to switch the default to web UI. >> Yeah, we are basically adopting the variance uh for for default. So Federa workstation is already using web UI on Federra 4 43 and as I went through it uh then we will adopt it slowly this way. So basically we are changing the default one uh one step for another one one one uh ISO one distribution for after another and that's that's the goal we are looking for because like enabling it everywhere that would be first like we would have to do much of the work at once without no feedback no possibility to react and second like the GTK UI would move during that time and it's like hard to keep track of like the changes on both sid Right. We are not that big team. So it's >> in fact the road map is just about the UI but all the functionality are still in the back end itself. Yes. Like for example a kickstart file would continue to work for um very complex storage configuration. >> Definitely good good >> definitely like that's that's the benefit of we split we we working on modularization. There are some old presentation from last year's uh about the modularization in Anaconda we are doing and basically it means that we move the logic into the modules which are Python applications with the debus API and right now the GTK UI and also web UI are basically using this this as the communication layer. So the back end is not changing. Thank you. Well, [laughter] as server I see we have a year time before we are hit by the news and I got enough nice um other question if you have to make special adjustment for the browser in Sway do you have special requirements for the remote browser or is it browser agnostic? Yeah, like there are no special requirements of what do you need to have them from the browser, but we need to definitely design the API correctly in level of something might not be accessible. For example, we are thinking of uh the network configuration. That's a nice job. Nice nice example because you can just easily cut yourself out by going to network configuration and misconfigure it like you have a dead machine somewhere and you have to go there it yourself and reboot it or something. So we are thinking if we won't like go in a way of disallowing to change the network configuration in the web UI uh just because like avoiding these situations. I don't know that's as I said there's a question mark but in general like I don't think there are spe special uh requirements for the remote browser uh but that might be also a question for a cockpit team as we are using their framework they shouldn't know about anondaon and cockpit share the same stack and cockpit charges like the common browser so there is a firefox uh whatever it is of course if like common browsers concept changes then we will change with it towards like the the common goal like we definitely don't want to have any like specific Anaconda browser requirements that's that's just a generic web application it should be um normal it should be like as any other JavaScript uh site out there it doesn't have to be very special >> yeah just for information why we choose Firefox it's basically basically because uh of availability reasons because on real there's basically no other option right now and that's the reason why we are sticking with it. We don't want to support multiple browsers in general like even the custom browser it most probably would leave in like the if you do that if you use that you are on you are uh maintaining your own custom solution because for us it would be super hard to keep like everything No other question. Nobody else. Um what about the software raid support? We have an currently we have a support of course which uh where the the EP partition is a bit um well out of out of standard because we have to define it as a rate partition instead of a AV system partition. It works but um well it's non it's non-standard so to speak. Do you want >> It depends also on architecture. >> Will it? >> It depends also on architecture basically how it works if I'm not mistaken. >> Yes. Do you want to change or you plan to change something in that area or do you leave it as it is? >> Yeah, it's like if I understand the question correctly, it's not about just directly web UI. It's more about the backend logic uh for if we allow it or not. Uh am I correct? No, no, it's if you want to if you want to configure a rate on your server, you have currently you can't create EV partitions, but you have to create weight with the EV pile system that works, but >> it's not I think the as far as I know, I'm not an expert in that area. Uh it's a non-standard solution. >> Uh that's a good question. Um like honestly I would see it in a way of uh for these specific cases because if I'm not mistaken Anaconda by default is not doing that right now because it's not like it's not I I believe it's working but it's not the recommended way of doing it like the boot partition and the F partition and similar things should be out of uh rate and it's not supported on all the architecture. Um, but you can do that with the cockpit storage most probably. I'm almost sure you should be able. So, you can do it in this like customized way of uh things like doing it yourself. But I don't think we will enable it in uh in the guided partitioning like the easy way because it seems to me like this is not the this not the recommended way but I not I'm also not an expert for software aids and similar things. So unfortunately I'm not sure if I'm saying it 100% correct. We are out of time. Okay. So we are out of time. Thank you a lot. Also if you have any more feedback we are around. Please reach out reach us out or in the presentation I have links on metrics and on our mailing list. So please feel free to reach us if you have any idea question. Thank you. [applause]