 enjoy okay so welcome everyone and thanks for attending to this talk about uni but first before explaining what we units about I would like to get some feedback from you so please raise your hands those who already know or use already at the susan manager spacewalk red cat satellite or even we itself well not so many okay so let me present ourselves with me today is Pablo Suarez who is one of our Python developers and Julio Gonzalez and the release engineer for both susan manager and uni so what is a uni a uni is a software that is going to allow you to take care of all of your systems the configuration the audits for all the problems that they can have the promotion of packages and when we are talking about workloads in this case all kind of workloads it's because this will allow you to take care of the bare metal systems built on cloud or even container images by a container in containers and images for containers so you can automate the audit and the direct reporting capabilities if you want to look which images or instances are affected for any kind of cd or things like that and you can also keep standard configurations for group of systems in this case we are using salt for pretty much everything as we will show at the demos as well so some examples but we are not going to see all of them today that you could build the container images in this case for Docker you could audit the cvs and as soon as you find that any images or systems are affected with just one click you can fix all the problems you could define different stages well they usually when you are making development is that you have a development environment and test then production and you want to promote things from one environment to the other not only packages but configurations as configurations as well so you can do it and you can also schedule chains action chains for the systems say that for example you want first to install a package the line of scandal then you want to reboot and then you want to check that the system is patched you can do this with the action chains now about the name we uni it's because of that because we are using salt for almost everything and there's a lot of uni is the world's largest salt flat that you can find so the origins of for uni for those that already know about spacewalk is just this spacewalk is a free and open source project that was born yeah a little bit more than 10 years ago it's the base for red cat satellite 5 but not 6 forces a manager up to version 3.2 which is the current one but well the two main problems with spacewalk right now is that the spacewalk is on maintenance mode well they are still releases but yeah let's say that they are not adding really new features to to spacewalk so there are no no clear plans for the future so uni is a branch of a spacewalk which offers simple installation if you try to install it you will see that is just a matter of adding a repository installing a installing a pattern of packages and then run a really really easy just setup we added configuration management with salt but once again we are not using it only for configuration management we integrate with kubernetes and as I already mentioned we can take care of images for containers we changed the web why or most of the web why to react yes and we are migrating everything from python 2 to python 3 and switching the java stack so it supports the adk 11 this is for the next version so if you try the uni stable version right now still does not have this about the releasing instead of having releases that we are going to maintain for a long time we are going to do rolling releasing more or less similar to what the tumbleweed or all the distributions are doing we only have one version that it's considered as a stable and each more or less two months we are releasing a new version and this is interesting for a lot of people because we are not going to have a separate community and enterprise edition so while it is true that we uni is going to be the upstream for susie manager we will have all the features first on a uni and then susie manager will be only the yeah the enterprise version with the difference that you will have paid support at any time but other than that we will not have something that a few something like a future that is no you is no uni but it is not on susie manager so this is our current situation we started working on this more than one year ago but since a few months we already have all the code published at github we are making the development there on the archive github repository so you can see all the pull requests etc we have is the channel made in list as I mentioned already a couple of releases since October and right now we uni is still based on open susie leap 42.3 but we are changing that soon and as client systems we support centers and red hat so red hat is not really tested right now but it should work open susie and sleep but in the upcoming months as a base system for the server and the proxy where you are managing everything we will support leap 15 and we are in support for you want to as clients possibly Vivian is on the way as well we are going to rewrite all the documentation we are going to make a public continuous integration which we don't have right now are more important we will continue building the community hopefully with your help as well we are move all our issues and internal stuff to the public repository so it will be possible to see at any moment what we are doing make suggestions or even help us and now I think it is time for Pablo to show some demos okay so let's start then doing a demo let's increase a bit the phones so you can actually see better okay so this is the front end of the unit okay the UI of the unit first thing we can just log in okay so the first thing that we got when we log in inside the uni is this overview page here as you can see you have in a glance like the status of your infrastructure right you see the most critical system that you have here telling you that okay you have security patches and stuff that we will need to apply we have also some action the most recent actions and like an overview for your infrastructure the current status okay let's go then to the system page currently our infrastructure here for the demo has this system register as you can see they all are listed at salt type because they are all salt minion we are not we know we don't have here at the moment any of the all space work traditional tech we are here now dealing with minions and as you can see as well there are few different OS here in the system tab of course we can define groups of systems we can also select few systems here and schedule action to target that particular system set that you just select we have a page as we will see later for bootstrapping new systems very easy way different stuff here also visualization if you want to show your the hierarchy and the proxies and all the stuff right in a visual way and next important page to see here is the software page here these are the software channels that we have currently configured here in our uni instance so we have the channels for us before we have channels also for the open source a one we have sent those channels there so if you go to one of those you have the information about this particular channels you can see the patches in case that there are any you have all the information related to that particular channel all the package listed here information about the packages for a package you see that we have dependencies that by even the file isn't so we have the complete information of all the software provided provided by our software channels here same page about the patches not packages but the patches you have here all the patches provided by your defined channels you can see here you will see the information about this particular patch you can also you have the links to the Baxilla reports and so on and so on in case that this is between so cv you will also see the reference here then we have an image as Julia was mentioning we can build images we can set up the register yeah in the registry and so on so this has also the interface here and we have the salt these are the keys the salt minion keys that we have already accept for the minions that are inside of our cluster and we have as we will see later a remote command page and well one thing I want to mention here is that as you can see these are minions we are managing managing so far those minions from the UI but these are normal minions you can go go also to the command line and use the normal salt asterisks and then perform whatever action because those are part of the your salt cluster okay we have formula catalog this is one of the one cool feature that we have so these are so formulas I'm not sure if you are more or less aware of this concept of formula but the nice the cool thing here is that you can easily import salt formulas inside of a uni and then with some very basic meta data you are able to generate a form in the UI where you can easily feel the required settings for applying that formula we will see that later okay so let's take a look at one of the things the system that we have to register here let's say this and that's the overview page of the system we have here well it looked like this have some critical patches that need to be applied but in summary we have the system information IP the type of the system this is salt and this is also working in the full contact method with the pool method it has a salt minion service running and it's subscribed to the salt master okay here we have also hardware information what's this machine about all the hardware information and we have the software profile let's go to this so this is the all packages installed on that particular system the one of the powerful thing here is that even if I installed new packages through the UI or or remove packages or I do it via the command line via see pair or jump this list here is the actual state of the packages so if even if I run manually jam install super install once the package is installed on that system it will be report back to the unit server so we always have here the updated software profile for the system we can perform here we move packages upgrade packages install new stuff but let's go let's go to this state these are salt minion so there is a high state here rendered for the according to all the setting that we have set for this system the software channel assigned some properties states that we have configuration channels that we have assigned here all of this even the formulas you will see that this is this all is now part of this render high state of course we can schedule here to apply the high state in a particular maintenance window or as Julia was mentioned as part of a more complex action chain we can run into the test mode which is actually cool and then we have this package state where we can basically select a package and we can define a very easy state with no salt or yamal involved where we said okay we want this package as the latest version or we want this package removed so it's an easy way to define a very simple package state that they they are then the the state will be inject into the high state and once you apply it everything will be applied configuration channel what is that I have actually set for this particular system there is a web server configuration channel let's take a look this is basically well as you can see this is a very simple salt state but we can actually edit so this is the web server configuration channel we can create configuration state channels which are basically salt state we can add also additional files for for for the for applying the state and this is how it looks like one cool feature here is that we have revisions for the state so in case that you now change something here it will create another revision of course you can also roll back if your state is not working as expected okay we were in the states and let's take a look at formulas so these are the formulas that we have for salt in the formula catalog and as I told you if I for example said okay I want the locale formula for this system then it will add this locale tab here and it will render for you a form in the UI where you can fill the data I can set okay the time zone for this is not this is green bit time I save this the formula is safe and if I go now to the to the state and see the high state it's rendering now you will see that we have actually here the time zone definition there let's try to apply this high state let's see what happens this is the live demo the team is expected here so I scheduled the execution of the high state if I go to events I will see there is not an event let's go to the history and I see that the apply high state was already executed I can go there I see the output of this high state that was applied you see for example that the information the part of the high state which is coming from their configuration channels or formulas are actually highlighted in this output and all the configuration stuff that is coming from the so as you can see here we are operating we are scheduling high state applying formulas installing patches where everything is running salt and the root of every action that we made from the UI or even from the API it's all then converted into a salt called under the hood which is the one that is executed let's do one more thing here let's try to bootstrap a new system I want to include a new system on our cluster what I need to do what I need is a necessary connection and a system where I will trade this so I have one here this is SSH this is the same local hopefully it will not crash and look at this I told you that the register system that we have we're all using salt in the default contact method which is installing the solenoid service but we can actually check this box here which says that managed system completely via SSH so for this case we are registering the system in a necessary bush contact method way so it will be using solenoid service under the hood so there is no solenoid installed there and in the meanwhile okay yeah let me just quickly go over here I'm not executing this so since we are running out of time I just want to show the space this is a very powerful so since we have the software profile for all our infrastructure here we can actually make easily how deep for example for a CVE I can just search for this one and I click here and I will update our service not only service but also the images if we build images from here we can also update them and in case that there is some CVE software affected by some CVE it will show here so you will see that we have those two we have a patch for fixing the issue so we can just go here okay as you can see here our new SSH minion was registered if we click here you will see that it was registered and the contact method now is push SSH we are running out of time so we would like to give you some tiny in case that you want to ask some question so that's basically just please reach us later if you want for asking you or asking or even for doing a more concrete demo if you want so this is now community resources we have the page of the product the github repository Twitter we have a mailing list and we are all available at Unichannel so that's basically thank you