 Hello everybody. I'm Antoine from Cumbit and this is Steven from Computer Mines. We're about to make a presentation about Eager. It's an introductory presentation about this project and basically that's it. I can give it up to Steven. Yeah so this is just gonna be a very sort of high-level overview of Eager. We're going to talk through what Eager is and why you've probably come to this session, what it can do for you. We're then going to talk about what it's for and what it will actually solve in the Drupal space. I'm going to talk briefly about what's new with Eager in the last few years, maybe sort of in more recent months as well, and what sort of pain points that you might have heard that Eager has that sort of no longer pain points, Antoine is then going to show you a brilliant live demo that's going to work flawlessly and be rather spiffy. And then I'm going to give you some sort of more information of where to go next, where you kind of when we've made you go, you can then kind of go somewhere. Then we're going to sort of try and outline roughly what we think is next for Eager, where we're going, where we're planning to take it, and that sort of thing. So we'll just jump straight into what Eager is. Eager is what we kind of describe it as a hosting system for Drupal. It's sort of technically not really the actual hosting system. It kind of manages the hosting system. So the hosting system is still your web servers and your database servers. So it's still Apache, Nginx, MySQL, or Postgres or whatever. And then Eager manages those components for you. So it sort of takes the hassle out of setting up your V-hosts and that sort of thing. Oh, did we get it one way? Sorry, I have more things to say. Yeah, sorry, Eager is equally comfortable managing one site as, say, 1,000 sites. So managing hundreds or thousands of sites is not a problem for Eager. We've got 340 sites running on a single server that are all managed by Eager and will get automated upgrades and that sort of thing. That's kind of standard stuff. It can also manage multiple servers. So if you need to have isolated hosting, so a particular site lives on a particular server over there and nothing else lives on that server, or you have a particular site that is demanding and can't live with other sites that needs to be on a better box, then you can spin up a server and sort of let Eager know about it and then use Eager to move that site onto the server. And one of the major plus points of Eager is that it actually makes doing upgrades of Drupal much easier, much safer. Eager takes the pain out of doing upgrades of Drupal. It kind of takes the sort of tense moment in the office of will this work and will we have to spend the entire afternoon like pulling our hair out while we fix it and our clients get sort of really stressed. You just don't get that and upgrades are like the norm and it just changes the way you do upgrades basically. So what Eager is is a Drupal site and a bunch of Drush scripts. So if you don't know what Drush is, then Drush is a collection of PHP scripts that kind of you can run from the command line, but they also know about Drupal. So they have an intrinsic knowledge of Drupal so that you can do things like enable modules or reset a user's password or download a module. So it's kind of a Drupal specific PHP thing and it's very extendable. So we have extended it to be able to manage servers effectively and manages web servers and it manages database servers. Yep, Eager is a front end and a back end. So this is the Drupal and Drush part. So the Drupal part is a site and the Drupal site is basically there to manage the back end. That's kind of its primary function and then the back end is there to manage the servers and that's the kind of key concept in Eager that there is this separation between front end and back end and it's quite important to understand that. You can if you want to just use the back end stuff and you don't actually need to use the front end stuff but the front end stuff is quite nice. So there's no reason not to but if you then want to sort of take it a step further and automate some of the front end stuff then you can just talk to the back end and the back end and the front end kind of talk together and that sort of thing. Cool. So I've kind of already alluded to what Eager's for. Mass hosting, if you're hosting one Drupal site then it's still for you but if you're hosting hundreds of Drupal sites then you really want to use something like this. It just takes all the pain out of that. Eager isn't gonna make Drupal more performant so if your servers can't handle a thousand sites then installing Eager isn't gonna help your servers handle a thousand sites. If you can't handle the traffic, the database sort of queries and whatnot then Eager's not gonna help with that. It's gonna help you manage those sites but it's not gonna make your hosting super fast. So if your server's gonna handle it then Eager can handle your servers. As I've already said, it handles upgrades easily so effectively what it does is it kind of runs up date.php for you. It uses Drush, Drush's implementation of that but it does it in a way that you can roll back. So Eager will take a snapshot of your site before it performs upgrades and then it will run the upgrade and if the upgrade succeeds then everything's fine and if it doesn't then it just rolls the site back and all is well and someone's waving at me for the benefit of the tape empty seats are being filled. So one of the other things that Eager can do Eager's for is automated testing. So Eager's really good at managing sites so if you want to have a continuously integrated site so say every night your Drupal site that you're working on your developing gets built and you can go and see it in the morning and see what changes have happened or your client could go and have a look and see what's happened then it's really good for automating that sort of thing because we've done all of the hard work of getting Drush to talk to your site and get it to install and that sort of thing. It can also in some way help with the whole dev staging live workflow. It's not completely solved in Eager because it's not completely solved in Drupal but Eager can certainly help by making it easy to take a copy of your live site and move it over to a different platform to a different server or some other development server that has different tools so that you can work on it safely away from your live site that sort of thing but it doesn't sort of go any further than that really. So what's sort of new for Eager? So we actually had a stable release which is quite exciting in April. There've been 24 releases of Eager since the 0.3 release which was the last sort of stable version where they didn't have a kind of 1.0 type stable but it was a sort of fairly stable base. So we've also had a 1.1 and a 1.2 since and we will shortly have a 1.3 so Eager development is continuing and there's a steady progress toward new versions and adding features and fixing bugs and that sort of thing. So we added SSL support so if you want to run secure sites who doesn't then it will manage the keys. It will generate certificate signing requests for you and it will kind of just take most of the pain away from that and kind of set up the right Apache configs make sure that IP addresses are correct that sort of thing or automatically for you. We added batch operations so it used to be a little bit painful to do lots of operations to the same site so even though I've been saying you can upgrade like a thousand sites in one go it used to be that you had to go and manually kind of do those one by one unless you wanted to do absolutely all of them but now we've kind of got to have used bulk operations type interface so you can pick a load of sites and perform an action on them so you can back them up or you can upgrade them to a new version of Drupal and that sort of thing. I also added renaming sites so you can change the domain name of the sites on which is quite exciting. Cloning sites so if you've ever wanted to have like a complete copy of an existing site that you've got that you can then just mess around with completely and like break and it's completely safe then we do that and we support that and we kind of use that internally in the aga sort of framework. We also added remote server support so you can now manage not just one server but lots and lots of servers and yeah so you can tell aga about different web servers and different database servers and then when you're kind of moving your sites around as we'll see in the demo or we won't see this particular bit in the demo but we will see in the demo as you're kind of creating sites you just get an option of what server you want to put it on effectively and it's just kind of aga takes care of all of the permissions and linking those servers together in the right way so that's the one that sort of helps with the dev staging sort of situation so you could have your live server in aga and you could have a staging server in aga that maybe has different PHP extensions that help with debugging that sort of thing and you can just move the site over and take a clone of the site over it's exactly the same site and then you can do things on that other server and we also added a much, much easier install process which you will be about to see shortly yeah which is kind of a few easy commands as opposed to a long sort of scripted commands and it sort of works pretty well and we've got an awful lot of documentation now as well we'll kind of go on in a sort of after the demo to talk about where you can get the documentation and where you can go for help and that sort of thing but we've added a lot of documentation and we have a commitment to documenting aga so that if you guys want to use it or extend it then you have that as well the next bit is the live demo so over to Antoine as he does the live demo so there's a long history of failed demos of agar hopefully this won't be one of them this thing works contrary to most presentation I've done about it where I've been pretty daring and asking people like tell me what you want to do with this and I try in front of a full room of people and then fail I've actually prepared this one a bit better and I hopefully will make it clearer that it's actually working one of the things that changed since the earlier presentations that we have now a way of installing agar very easily for those of you that have tried to install agar in the past this is now much easier so that is actually pretty much the biggest I can do is that people can see that in the back? all right if you can't then I can do anything for you anyway so you'll have to deal with it so basically this is a v-server that I've provisioned that has well it's kind of I'm cheating a bit here because we have installed instructions in Debian that you need to configure a special app repository to get the actual packages because it's not completely in Debian yet and you need to get back ports for Drush it's like two commands to do that and you need to modify your sudo file which I've already done here but otherwise this is pretty much a fresh Debian install with nothing on and I'm gonna get install agar well using the back ports as I said because we need the latest versions of Drush which are not in completely in Debian they're just in the back port so as I said I'm cheating a little like this there's like two steps before that but otherwise this is pretty much all you need to install agar this used to be much harder back in the days it was something that sorry I'll need to be interrupted to answer various city questions like setting up my you know my SQL server all those questions are things that you need to figure out that eager needs to know to install your server so what's the URL at the front end and well that's fine it needs to know your MySQL root password because it needs to create databases and database users but you can create a specific MySQL root user for eager before the install if you need to but otherwise I just give it the MySQL root password and then it's going to go on installing all the dependencies like Apache MySQL and all this stuff MySQL is actually a recommended dependency it's not like a hard dependency you can install the demand package with a remote MySQL server if you want it's kind of a bit a bit tweaking to go there but it's doable you can also you know configure different and differently if you want which is kind of an advanced topic so yeah this before used to be about 30 step process so now it's much easier yes in the back so the question is can you use Postgres in eager and the question is unfortunately no patches are welcome there's actually people that have started working on a patch for that and there is two specific problems with that we need first off front end support which should be fairly easy and for which I think there's a patch or a patch waiting or like some a few changes maybe already works to run the front end like the Drupal site and Postgres but the back end support is not there so we need like ways to create users and all this stuff this needs to be written fortunately the back end and the front end are very modular and it's very easy to add new support for new things like Postgres or Nginx and things like that the only thing that we're missing right now is support for other CMSs than Drupal but it's something that's been considered but so far nobody has actually stepped in to do that work so yeah back in 0.1 the first official release of Eager Eager could not do migrations like upgrades could just install one site and one platform 0.2 was actual migration support so you had to have multiple platforms and migrate sites between them and 0.3 wait maybe I'm confusing it but whatever back then installing Eager was you know you had to install Drupal and then install Drush and then configure the Drupal site with a magic wizard that you would click it to your way through that would make you do things and bend over backwards for Eager to work all this is taken care of for you now so if you are worried about Eager installing properly as I am right now you shouldn't be worried it's gonna work and I'm trying to basically make up for the time it's taking to download all the packages and doing its thing right now yes so yeah basically for this to work you need to have Debian or Ubuntu Debian packages are kind of hard to install on other operating systems and I don't recommend trying that so we have of course support for other operating systems and so on the community side which is pretty much where all the documentation is and you know oops it's not installing we have the install guide which is you know we also have an upgrade guide and all the stuff but the install guide has instructions for the automated install but also the manual install process which you can which has been successfully performed on of course Ubuntu and Debian before the Debian packages existed but also Red Hat CentOS kind of things I have made a port to Solaris and people have actually succeeded I think to install this on FreeBSD also is there something I'm missing so basically that's the manual install process which is kind of long and you need to do every step manually but if you follow that guide step by step and you do you don't do anything wrong eager is going to install and the report back the report we have from people is saying like well you know the Debian package and exactly where for me I started from scratch and read the manual install instructions like one by one and it just worked flawlessly as always so basically this is the fallback method you're going to use in the foreign operating system like somebody wanted to install in Suzy at the training well during the training with we're planning on doing it with Debian so I told them well you're going to have to follow the manual install process and so he set up a Debian VM but basically if you if you want to do that this is the instructions you want to follow and this is prompting me for my password again so it is failing I swear to god I've tested this three times yesterday on that exact virtual machine and it worked and it's not working way to go all right I'm impressed I can't believe this oh I made a mistake in my MySQL password lovely okay we're gonna try again okay so yeah we can see here how to uninstall eager if the install failed you can just try again I'm gonna basically completely uninstall MySQL and the front end the Debian package is made of the back end which is a drash extension it's called provision which you can install standalone if you want that's kind of useful but it's hard to use if you're not too familiar with it but it can be useful and the front end that's called hostmaster and once you install the front end it's basically using the drash script to install itself so eager in the way is self-replicating so it can install itself which is why we sometimes call it Skynet but we try not to tell him that so he doesn't know and take over the world and enslave the human race so we're gonna try this again and it is okay maybe we can move on with the rest of the demo or the backup demo so yeah we kind of expected that to fail even though I've made herculean efforts to actually make that work I'm still failing I'm not worried just frustrated because as I said this is not the first time this happens and now it fails you can see why it fails here is because I somehow achieved mistyping the word password twice the same way in configuring the MySQL server just earlier on so gotta give it to the man like here that was pretty impressive I can't believe that anyways yeah this is what I was I thought I've done and MySQL common that's where you're saying it's that's it we're gonna get there otherwise we have a VM with Eager actually installed already in there but I feel very frustrated by this and I really want it to work so we're gonna actually try to go through with this and make it work because most of it is actually not yeah you know like I think it was in San Francisco we made this demo of Eager and we started with a pre-installed Eager and just like during the sprint before that demonstration that presentation we had actually started working on the new installer that would make everything okay I'm just shut up and type this right pass okay if this doesn't work then there's something wrong with the universe all right so anyways I was as I was saying in San Francisco we were doing the demo and we were very tempted to demo the new installer we had that was just this one line Drush Eager install kind of thing that the the package actually uses but we were wise and went with the regular demo and it actually worked so I feel like what I would have felt if I would have tried that new script I can send Francisco but the room was larger so it wasn't so bad I have nothing to improvise on right now so if there's any question maybe you can answer that well one if you have if you want one site oh sorry yes how can I install Django get magic things other than Drupal I mean basically he wants to install another CMS than Drupal using git for example or something like that and how hard it would be where would we start doing that there is a site called api.eagerproject.org that documents all the Eager internals that I would recommend you read right now there is very tight coupling between Eager and Drupal green there's green stuff yeah Eager is now installed okay so it would be actually pretty hard to make that work but I think it's possible you would need to decouple Drupal from the platform concept and that would require some refactoring and quite a lot of testing and we would actually welcome such a patch in the next major release the 2.x release it's yeah but you know it could be a development branch actually if you're interested in working on that we can give you commit access everything we have actually yeah we're gonna go back to this it's one of my pet projects basically that thing but I've never had time to do it and don't have anybody paying me for it so when you install Eager what it is giving you when it works is that little link which is just a password reset for the admin user and then you log in and then you end up in your Eager install and then you know password that is not good enough of course because it's something else than password and from there on this is a regular Drupal site except that instead of managing like blog, content and users and while you manage sites and platforms and service so one thing we can do right now is to create a new platform right now we already have one platform that's called actually I can already create a site on that platform to show you a bit how it works let's say it's called test1.eager demo.com.net and I'm going to install it on the local host database server on the hostmaster platform which is the first platform you install and when you do that you're going to see in the queue on the right here that it's going to create an install task that you repeatedly reload so that you know it's going to run it's going to run and basically what's happening in the backend right now is that there is a a Tron job that runs every minute and picks up those tasks so it's kind of annoying because it takes a minute we have a fix for that that's actually a contrib package that's even wrote and that I'm again going to be bold or stupid enough to try the demo with you today but before doing that I'm going to set up a new platform because you know just regular Drupal is kind of boring so we're going to try and install openatrium and I can introduce you to the concept of make files also through that a make file is just a bunch of instructions like a .info file that tell you you know I want this module installed on top of my regular Drupal so you can collect modules from Drupal.org or patches also from Drupal.org can apply patches to existing modules and all that yep it's a Drushmake file so there is an extension for Drush that's called Drushmake and that's going to do that for you and we use this extensively in Eager you can just put a path to a make file there or even a URL which is what I'm going to do right now so all right so I'm just spooing out words that you don't understand right now right a platform site you know I've used those words interchangeably basically for Eager a platform is one multi-site Drupal is anybody not familiar with the multi-site Drupal what a multi-site Drupal is here so yeah well anyways Drupal can have multi-site per Drupal instance right when you untar a Drupal sites you have sites default but you can create multiple sites in there and you Eager uses that concept extensively so you when you have a site it's actually one instance of a platform of a Drupal core deployment code deployment so now when I install the site here it's my test one site it's on the whole like the the default Drupal platform that comes with Eager that's called hostmaster and that platform has a specific set of packages that create this nice little interface like the theme the modules you see right now and Eager actually has that list and it so it can it knows if you can migrate between two platforms like do an upgrade you can see if the platforms are compatible by listing the packages in that platform is that clear enough for everybody because I kind of jumped in straight away into platforms so yeah now we didn't like I was talking so much that we didn't notice we were waiting for that thing to happen but basically one of the annoying things with Eager is that you you don't need to wait like that so there's a little fix for that which will allow you allow me to also demonstrate some useful features of Drush and Eager if you have not been familiar with those so Eager maintains your Drush aliases for you a Drush alias is just a shortcut to access easily more easily a site usually you know to run commands on the Drupal site through Drush I would need to go and actually be in the right directory and then do Drush commands from there so sites and then Eager you know that's kind of annoying I do I can you know flush the cache with Drush for example and you know that doesn't work but instead of doing that I can just use the alias so yeah we need to like commands won't work unless you are the Eager user so okay that's why it wasn't working so the aliases allow you to floodly you know access the site regardless of where you are so in the same way I can download new modules into my Drupal site with Drush download and that one module we want to install is the QRunner which is a demon that's going to run our tasks faster because we don't want to wait for that so I can just download the module like that and enable it with Drush and from there on I can run the QRunner itself here which is then waiting for new tasks okay so instead of having this crun job that's going to pull the Q every minute now this is running the task as quickly as it can get so we're going to install the OpenATrium site and the tradition in Eager demos is to ask while we create the site which language you want OpenATrium in so Swahili did I hear Swahili so let's see if we have Swahili in there so um last time we tried with Catalan and it failed so let's see if it works with Swahili um so you see the task is waiting now it's blue if I just reload now the daemon is going to pick it up immediately instead of having to wait that minute and now it's processing every task has a task log so you can see exactly what's going on for example when I created the OpenATrium platform it created me this task log it says okay I'm going to bootstrap Drupal and I see what's going on here okay I'm going to fetch that make file here okay I'm going to install it with make with drush make then download all those modules here and untar them in the right places so the task log allows you to see exactly what's going on when you ask something from eager it's it's also the way the the back end the drush commands provide feedback to the front end so you see what's going on um so yeah it's installing and hopefully that's going to work um one of the cool things you have oh finished there you go so so when the install is actually finished and succeeded because we're lucky or because you know it's a demo that actually works for a change you have a login link that appears in your site node in the in the front end which you can just click on and that's going to bring you to the site yeah and then we're in OpenATrium that's obviously in Swahili right now oh yeah there's some little pieces of Swahili there I guess we're not very well translated but there you go so that's an OpenATrium installed in about 10 seconds or 37 all right so that's what Eager does for you it makes things easier except when you're in front of an audience of 100 people but you know when you're in your office it kind of works really really well you don't have that much pressure and you can do things more slowly if you want you're not in a rush you know how much we have to cover maybe we can there's more stuff we can demo with this we can do like upgrade like I installed the Drupal 6 sites we can upgrade it to Drupal 7 if you want otherwise we have maybe more slides we want to show maybe I can do this in the end okay so I can do a Drupal 7 upgrade yeah like who wants to see that Drupal 7 yeah okay everybody upgraded their site to Drupal 7 already so this is like you don't need that right I can upgrade to Drupal 8 maybe nah that's not gonna work okay so let's so the way we do upgrades in Eager is that we stage the upgrades that is we create a separate platform like a separate code base then we back up your site and then we migrate it to that platform so what I'm going to do first is to create a new platform for Drupal 7 so you know I've used drush make before now I don't have a make file for Drupal 7 so I'm just gonna you know download drush uh Drupal 7 with drush here and we put those platforms in you know the platforms directory to make things simpler to download Drupal you can just use just use drush download which is something I've learned during the training even though I was giving that training so you learn things every day um and then you know I have a Drupal 7 site here well not site but platform a code base in which I can install a site but before I do that I need to tell Eager where my Drupal 7 is so I tell it here platforms Drupal 7 it is dash 7 I think right yeah we usually we have red things here in demos because something fails and so far I haven't been able to do that except during install so maybe you know it's gonna happen at some point I can show you how to debug that but you know we're gonna have um we're gonna have uh well there you go it's already done so what Verify does is gonna look at the at the platform it's gonna detect oh it's a Drupal 7 you know it's gonna find all the packages that are in there and when you take your the test site I created earlier I can do a migrate task if I enable the migrate module so this is a one part that's kind of important in Eager the features page which is not feature features it's Eager features kind of confusing but it's kind of an easy module page we made for people to just activate and deactivate Eager features so site migration for some reason is not enabled by default even though like it's one of the most usual feature we're thinking of maybe fixing that in the 1.3 release but you know to just add some stress and demos it's not turned on yet so when you go into the the site you have a new task that's called migrate and then when you do that it pops up the list of platforms you can migrate it to so I could migrate my site to open atrium that's not going to do much it's still going to be a Drupal site just an open atrium platform and then I couldn't like enable the open atrium module but interesting thing here is migrating to Drupal 7 you can see that's going to do 31 upgrades and there's one warning we can actually see what those things are by doing the compare platforms and this shows what modules are in the current platform and what modules are in the next platform so for example it's going to update the block module to 6227.7 and you get the database version number there the warning we had was the missing default module the default module's the default install profile which changed name in Drupal 7 so this doesn't matter because missing modules Drupal can kind of deal with them and just disable them and it works on it works through this could be a problem if you migrate between two platforms and say your theme isn't there and disables your theme that can be kind of hard like annoying which is why we have clones you clone your site and then it disables your team saying maybe I need to fix that first and then you fix your stuff and then you try to clone again and you rinse repeat until it actually works and you can do a final migrate so now I have launched the migrate tasks what this is doing it's backing up my current site it's putting it offline because it's doing migrate and we don't want people putting more content and modifying the site that could be lost so it's doing this backup it's going to restore it on the target platform run drush update db which is the command line version of update.php and then if that all works it's going to tear down the original site and activate the new site so if something fails along the way like the update db doesn't work or something is wrong with the target platform the code doesn't compile or something it's going to fail and it's going to roll back so it's going to just reactivate the old site that's still there and tear down the restored backup so the question is if you have a huge set of cck fields does that really work to migrate to Drupal 7 the honest answer for me is I have no idea I don't exactly know what the upgrade path is for cck to Drupal 7 if it works outside of eager it's going to work in eager that's the short answer the long answer is that eager is going to actually help you figure that out if you create that Drupal 7 platform and add all the modules that you think are going to be necessary to that migration and then you clone your site you can test you're going to have a copy of your site that's maybe broken maybe the clone won't even work but at least your site will still be running on the site and so you'll be able to test that repeatedly until you fix the upgrade path right hopefully well not hopefully you have to fix the upgrade path right so but or just stay with Drupal 6 but at least you have a space to test that without breaking your site too much and it makes it very very easy yep the question is what are the options for security for the server like Apache SSL certificates or the HD password kind of things right now there is a the idea is that eager is extensible so you can write modules the same way you write modules for Drupal since it's all Drupal and Drush you're used to extending that right so you can you know modify that site form to add HD password user and user and password fields that are going to be right written in the back end this is actually something that Stephen did that's that much already exists okay so the question is does it yeah does eager need secure access to the remote server it's managing the answer is yes the way that's actually the way it works so the way eager communicates with remote servers is through SSH so you need to create a user on the remote server and then add eager's SSH keys to the authorized keys and then it's going to push files and do remote commands to that SSH pipe yeah eager the eager user is going to need basically it's going to run sudo apache ctl graceful to reload the the apache server and it's going to create files in the apache configuration so there's there's one virtual host per site right so when you create like a site like test one that eager demo that commit.net that created created a virtual host in the apache configuration so eager needs to be able to do that and yeah yes yes so the way I created the Drupal 7 platform was to just drush download Drupal 7 and then I added that as a platform you could do that like adding an existing code base as a platform on an existing site and eager is going to see that there's sites in there it's going to import them in the front end and from there you can migrate them clone them and do like backups and restore and all the usual stuff you can do it eager there is currently no git integration in core of eager we have made our stuff mostly through to make files we support mostly make files but it would be fairly easy to write drush hooks that would run before or after an upgrade and things like that that you couldn't even create a task that would be like git pull and there's actually I think an issue open for that that people want just are working on creating a task that says like git pull on that site or git pull on that platform the thing you need to understand when you run multiple sites is that if you change the code under like in those sites back it can break stuff which is why we stage upgrade we create a separate platform on the side and we migrate sites one by one or we can do batch migration but we don't change the code behind the sites back we copy the site over and then run update that PHP because if you change the code maybe somebody's going to visit the site and run the code with the wrong database version and then it's going to you know break the site so we don't do in place upgrades or in place modifications to code but you're free to do that one of the big ideals in eager is to create tools and not policy so if you want to have a you know danger zone policy and create funky stuff and do in place upgrade you're free to do that but out of the box that's not the way things are so this apparently worked it looks like it so we're going to see if that is true so basically this is useless I'm going to visit the site and well this is a regular Drupal it seems like a regular Drupal with garland and everything but actually since it's garland it didn't change the theme because you were you know you wanted garland you still have garland and it's running Drupal 7 how can I actually show that to you yeah I need to do a password reset because I didn't change you know I didn't log in the first time around so I'm gonna need to use eager to do a password reset which is unfortunate I shouldn't have done that earlier but it allows me to show you that you can if you forgot a password on any of your site and eager you can just click that single button and that's going to turn that go to link into a login link just very useful there we go was that oh yeah that is new in 1.0 and yeah like you know account time zone settings things like that that looks like Drupal 7 we don't have the overlay so you know maybe some people are actually going to want to install Drupal 6 and migrate to Drupal 7 I'm kidding but yeah that's that's a Drupal 7 site how's that for you good no useless thank you yeah any more questions about this demo things you're curious about it oh dear experimentals oh yes I was trying to hide that from you nah we don't hide anything we do like crazy demos all the time that fails so I'm not ashamed of that so yeah what do we have here those are disabled there's web cluster support that's also expert it should be an experimental it's right there cron queue it's not enabled by default but that runs cron all of your site we have a signup form that when you enable that it allows any user to create a site on your eager which if you want to provide public free hosting that's cool but if you want to start doing like things like integration with ubercard this is where you start or this is actually how the ubercard integration works you reuse a site form the site signup form but if you would want for example to use the commerce module instead of ubercard you would start from that and it's experimental you have SSL support and Ginex support for DNS the hosting queue runner is hidden down there and support for clients so client support is that you can have groups of users to which sites are assigned out of the box sites are accessible for everybody for every user on the eager server when you check that box you can associate a site with a client which is just a node a little bit like the way organic groups works so does that answer your question which was what are the experimental features over there there was a question it is all eager I mean everything the question is how secure is remote access to the remote servers nothing in eager runs as route the only time we run stuff as route is through sudo and we do sudo apache CTL graceful that's the only thing eager currently runs as route and it's the same thing on remote servers you just create a regular user that's called eager you give him the SSH keys you give him sudo access so he can restart apache that's all you need on the mysql site it's kind of different you actually need to have a mysql route account that can do pretty much everything like create users create databases but you can still try to lock it down a little a little but usually you pretty much dedicate the mysql server to eager when you install it does that answer your question it has root access yeah okay any other question before we move on yes there is no comments right now on tasks but you could extend the sites the tasks node because the task is a node you can extend it to do that right now there's no comment I think oh so you copy just the comments or something oh yeah not really again the idea is that those this is the the framework you start with you can do whatever you want from there on you could like make a post migrate hook that's going to trim your databases or stuff like that there's an issue in the queue right now saying like we don't want to migrate the cache tables for example and so we're we're going to work on making an extension that does that but basically Drush and Drupal are very extensible you can hook on things in the back end every Drush command can have a pre and validate and post hooks you have rollbacks if things fail you can extend that just as you would in any regular Drupal modules so you need to get your hands dirty and like start coding but you can do anything you want in there so we're going to go on with the last slides and we can maybe come back with questions in the end if there's any more so now that you've kind of gone oh well we can kind of you know other than asking us questions sort of how do you get help as Antoine's already sort of alluded to community.egaproject.org is the main sort of focus for where we do aga stuff and where we have documentation and where we have blog posts and we kind of aggregate other people's blogs who blog about aga onto the site so it's kind of a one stop place for sort of everything aga we hang out in the hash aga or pound aga if you prefer that way chat room on free node do more than welcome to come along and ask questions and that sort of thing generally there's people who are willing to answer questions or sort of fix your servers if you've broken them that sort of thing and yeah and that's kind of where we do sort of development chats and that sort of thing we have weekly scrums so as a sort of the core development team of aga and sort of anyone who sort of contributes to aga can get together every week and talk about what we're doing what we've done that sort of thing and kind of keep moving the project on and if you just kind of want to get a feel for what the aga project's doing then just kind of watching that scrum happen and finding out what's going on is really good if you kind of as out of thinking I really want to contribute the don't migrate comment stuff then kind of see what's going on the scrums get a feel for sort of how you how you contribute to aga and maybe that's kind of where you start and also the issue queues on which are on dribble.org so all our projects are hosted on dribble.org and that's sort of where all the the major discussions happen but there's a link from from the community site on the homepage there's a little box on the left hand side that has a search box so you can search all of our issue queues because aga is actually comprised of multiple projects on dribble.org and there's a link to kind of view all the issues for all the projects and that sort of thing and so that's kind of where you can get more information really about aga so just very quickly what's what's next for aga what you can kind of expect so the primary kind of thing that we're after is a a dribble seven a dribble seven front end so as you saw we support sort of hosting dribble seven sites and managing dribble seven sites and that's that's not a problem but our actual front end is in dribble six we just want to move to dribble seven and then take advantage of dribble seven at some point and that's kind of our sort of major thing that we want to do first of all we also want to add additional points that people can plug into and people can extend aga with and that sort of thing and sort of give you guys sort of more power to do things and that sort of thing we also essentially want to do WordPress stuff or other CMSs patches are welcome I'm not massively interested in that but I have nothing against supporting WordPress so if someone wants to post a patch we'll review it and no problem yeah that's that's pretty much up it from us I'll just mention very briefly I was told to let you know that you should go and take the survey and sort of rate our session and that sort of stuff yeah thank you for for coming we'll end with questions so the question was do you know anyone using aga commercially not on Debian or Ubuntu yes sorry well it's just it's just managing Apache and MySQL so as long as Apache and MySQL can work on your operating system and aga can sort of interact with that then it's it's pretty simple basically if your server can run Drupal and Drush then it can run aga because that's that's what it is there's no there really isn't anything special and Toran mentioned that the only the only command that we need root access for is the Apache one but that's just a text field that you can change so if it needs to be a different command then you just change it for if you need a different command for your different platform then you can just change it that sort of thing so yeah any other questions so the question was kind of coming from the angle of dev staging live and then sort of the Acrea dev cloud and I guess you conclude Pantheon in that kind of circle of those sort of services and and how how do they fit in with with aga and how does aga kind of relate to those and that sort of thing and I think the honest answer is we're not really sure how they fit together from my point of view aga is much more about kind of I want to do the hosting but I don't want to have to actually manage my hosting sort of the the nitty gritty of it if you want to pay someone to do it or for you then go and use one of those software as a service type things but if you want to maintain control over the hosting and kind of all of the issues associated with that then aga is is sort of for you and it will will manage that I guess another way to put it is if you want to run your own Acrea dev cloud aga is going to do it it's software right so it's not an actual service kumbit is going to provide services like that and other like people using agar are providing services like that and one of the featured software as a service platforms that was on Drupal.org and it's still maybe maybe it's still there was was deployed using agar so people are going to use this it's open source right that's free software anybody can use and deploy agar whereas well Acrea the backend they use is not currently public as far as I know so that's that's the main difference I would say any issues with varnish there is one issue when you run varnish on the same server as you run agar there's they use different ports so the password reset links and things like that aren't working very well and somebody's working on the cluster module that's actually going to fix that but we currently use varnish with agar in production where we just have this varnish server that points to agar as a back end and when we want to put somebody in varnish we just change at the end as records to point varnish and that's it so there's absolutely no issue there we deploy press flow by default with agar which also makes the whole integration much easier if there are sites outside of agar is it easy to integrate them into agar migrate them into agar the answer is yes if they are already on the same server you just do add platform and point point the platform path to those sites and agar is going to import them automatically in your agar instance if they're outside it's a bit trickier you need to copy files around and things like that but we have instructions on doing that on how to do that and in the community site so yeah it's fairly easy it's actually designed for that yeah current support for load balancing and cluster is kind of preliminary it's not very mature we're looking into making that work but there is some support to for example deploy a platform to multiple servers so you're going to have a cluster server and the web server that's going to collect multiple web servers so you're going to deploy a platform to that cluster it's actually going to copy the files to all those servers and what's going to create the site it's going to create the site and all those servers and all those servers are going to be autonomously running the same code which is pretty interesting from a redundancy point of view but it's actually fairly heavy because you need to copy files around all the time and there are some issues with the implementation but that's the current approach the approach Kumbit has had in the past was to have a shared file system and that is not currently covered by eager but it's something we're looking into yeah well that's what that's what the current cluster code is doing we use rsync to copy files over is there any we're pretty much done here so if there is no other question if there is any other question you can join us outside or in front here and there is a birds of a feather session about eager development this afternoon and then the buff session tomorrow randomly there's a code sprint on Friday so if people want to join us again look at the buff schedule thank you very much