thimo@puresign.be                            Aegir         @tthoeye           Pure Sign Breakfast Presentation 22/02/2012T...
Overview                            ‣   From 40,000 feet                            ‣   Interface                         ...
A View from 40,000 feetThursday 23 February 2012
What is Aegir                            A View from 40,000 feetThursday 23 February 2012
What is Aegir                    The Giant of the seas                            A View from 40,000 feetThursday 23 Febru...
What is Aegir                    The Giant of the seas                    A Drupal that creates Drupals (drupalception)   ...
What is Aegir                    The Giant of the seas                    A Drupal that creates Drupals (drupalception)   ...
InterfaceThursday 23 February 2012
Interface                            ‣   Content Types                                  ‣   Servers                       ...
Database Servers                            Database port/user/password                    Web Servers                    ...
Only a ‘Verify’ Task                                          ServersThursday 23 February 2012
Actual Drupal Installations                   Located in /var/aegir/platforms                   Can be built from a makefil...
PlatformsThursday 23 February 2012
SitesThursday 23 February 2012
SitesThursday 23 February 2012
ArchitectureThursday 23 February 2012
Everything is a Node                               ArchitectureThursday 23 February 2012
Everything is a Node                    Server / Platform / Site nodes                                              Archit...
Everything is a Node                    Server / Platform / Site nodes                            Correspond to a Drush al...
Everything is a Node                    Server / Platform / Site nodes                            Correspond to a Drush al...
Everything is a Node                    Server / Platform / Site nodes                            Correspond to a Drush al...
Drupal 6                            ArchitectureThursday 23 February 2012
Drupal 6             Hostmaster Profile                                 ArchitectureThursday 23 February 2012
Drupal 6             Hostmaster Profile                Eldir Theme                Modules                                 A...
Drupal 6             Hostmaster Profile                Eldir Theme                Modules                  •   hosting_dns ...
Drupal 6                        Drush             Hostmaster Profile                Eldir Theme                Modules     ...
Drupal 6                        Drush             Hostmaster Profile           Provision                Eldir Theme        ...
Drupal 6                        Drush             Hostmaster Profile           Provision                Eldir Theme        ...
Drupal 6                        Drush             Hostmaster Profile           Provision                Eldir Theme        ...
Drupal 6                        Drush             Hostmaster Profile           Provision                Eldir Theme        ...
Use CasesThursday 23 February 2012
Use Cases                            ‣   Mass-update client sites                            ‣   Manage dev - staging - pr...
Extending AegirThursday 23 February 2012
Extend                            ‣   Sending extra information to drush                            ‣   Create new Tasks  ...
Sending information to drushThursday 23 February 2012
Excellent article by mig5                   http://community.aegirproject.org/node/75            Learn how to             ...
Create Custom TasksThursday 23 February 2012
Create Custom Tasks             Define task for context (server/platform/site)             function hook_hosting_tasks() { ...
Create Drush Command             Task calls provision-task_name drush command             function hook_drush_command() { ...
Implement hooks             Hook into hosting task execution (in task.drush.inc)              drush_HOOK_hosting_task_vali...
Implement hooks             Hook into provision (in task.provision.inc)              drush_HOOK_pre_provision_TASK        ...
Use it for EvilThursday 23 February 2012
Use it for Evil             Defining new Content Types                                         Use it for EvilThursday 23 F...
Use it for Evil             Defining new Content Types                                         Use it for EvilThursday 23 F...
Use it for Evil             Define tasks on the new types                                            Use it for EvilThursda...
Use it for Evil             Interact with existing types                                            Use it for EvilThursda...
Integrate custom software             And let Aegir believe it’s Drupal                    Create drush alias             ...
ResourcesThursday 23 February 2012
Resources                   community.aegirproject.org                   api.aegirproject.org                   drupal.org...
Resources             2.x Roadmap                   Port the frontend to D7                   From a hub-spoke to a mesh m...
thimo@puresign.be         @tthoeye           Questions?Thursday 23 February 2012
Upcoming SlideShare
Loading in …5
×

Aegir

800 views

Published on

Breakfast presentation about Aegir hosting system - by Thimo Thoeye

Published in: Technology, Business
  • Be the first to comment

Aegir

  1. 1. thimo@puresign.be Aegir @tthoeye Pure Sign Breakfast Presentation 22/02/2012Thursday 23 February 2012
  2. 2. Overview ‣ From 40,000 feet ‣ Interface ‣ Architecture ‣ Use Cases ‣ Extending Aegir ‣ ResourcesThursday 23 February 2012
  3. 3. A View from 40,000 feetThursday 23 February 2012
  4. 4. What is Aegir A View from 40,000 feetThursday 23 February 2012
  5. 5. What is Aegir The Giant of the seas A View from 40,000 feetThursday 23 February 2012
  6. 6. What is Aegir The Giant of the seas A Drupal that creates Drupals (drupalception) A View from 40,000 feetThursday 23 February 2012
  7. 7. What is Aegir The Giant of the seas A Drupal that creates Drupals (drupalception) Mass create/migrate/duplicate/backup sites A View from 40,000 feetThursday 23 February 2012
  8. 8. InterfaceThursday 23 February 2012
  9. 9. Interface ‣ Content Types ‣ Servers ‣ Platforms ‣ Sites ‣ Tasks ‣ Install ‣ Migrate ‣ Clone ‣ Backup ‣ ...Thursday 23 February 2012
  10. 10. Database Servers Database port/user/password Web Servers Require an Aegir user and shared ssh keys A restart command Create Your Own ... ServersThursday 23 February 2012
  11. 11. Only a ‘Verify’ Task ServersThursday 23 February 2012
  12. 12. Actual Drupal Installations Located in /var/aegir/platforms Can be built from a makefile PlatformsThursday 23 February 2012
  13. 13. PlatformsThursday 23 February 2012
  14. 14. SitesThursday 23 February 2012
  15. 15. SitesThursday 23 February 2012
  16. 16. ArchitectureThursday 23 February 2012
  17. 17. Everything is a Node ArchitectureThursday 23 February 2012
  18. 18. Everything is a Node Server / Platform / Site nodes ArchitectureThursday 23 February 2012
  19. 19. Everything is a Node Server / Platform / Site nodes Correspond to a Drush alias @server_localhost @platform_colibreo @site.example.com ... ArchitectureThursday 23 February 2012
  20. 20. Everything is a Node Server / Platform / Site nodes Correspond to a Drush alias @server_localhost @platform_colibreo @site.example.com ... Task nodes drush  hosting-­‐task  88 drush  hosting-­‐dispatch ArchitectureThursday 23 February 2012
  21. 21. Everything is a Node Server / Platform / Site nodes Correspond to a Drush alias @server_localhost @platform_colibreo @site.example.com ... nid Task nodes drush  hosting-­‐task  88 drush  hosting-­‐dispatch ArchitectureThursday 23 February 2012
  22. 22. Drupal 6 ArchitectureThursday 23 February 2012
  23. 23. Drupal 6 Hostmaster Profile ArchitectureThursday 23 February 2012
  24. 24. Drupal 6 Hostmaster Profile Eldir Theme Modules ArchitectureThursday 23 February 2012
  25. 25. Drupal 6 Hostmaster Profile Eldir Theme Modules • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate • ... ArchitectureThursday 23 February 2012
  26. 26. Drupal 6 Drush Hostmaster Profile Eldir Theme Modules • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate • ... ArchitectureThursday 23 February 2012
  27. 27. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme Modules • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate • ... ArchitectureThursday 23 February 2012
  28. 28. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme DNS Modules Platform • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate ... • ... ArchitectureThursday 23 February 2012
  29. 29. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme DNS Modules Platform • hosting_dns • migrate.provision.inc • hosting_server • delete.provision.inc • hosting_platform • verify.provision.inc • hosting_site • ... • hosting_client • hosting_task • hosting_migrate ... • ... ArchitectureThursday 23 February 2012
  30. 30. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme DNS Modules Platform • hosting_dns • migrate.provision.inc • hosting_server • delete.provision.inc • hosting_platform • verify.provision.inc • hosting_site • ... • hosting_client • hosting_task • hosting_migrate ... • ... ArchitectureThursday 23 February 2012
  31. 31. Use CasesThursday 23 February 2012
  32. 32. Use Cases ‣ Mass-update client sites ‣ Manage dev - staging - production ‣ Create a SaaS productThursday 23 February 2012
  33. 33. Extending AegirThursday 23 February 2012
  34. 34. Extend ‣ Sending extra information to drush ‣ Create new Tasks ‣ Use it for evilThursday 23 February 2012
  35. 35. Sending information to drushThursday 23 February 2012
  36. 36. Excellent article by mig5 http://community.aegirproject.org/node/75 Learn how to Create a hosting submodule Extend ‘Create Site’ form Send information to the backend Customize VirtualHost Configuration Sending information to drushThursday 23 February 2012
  37. 37. Create Custom TasksThursday 23 February 2012
  38. 38. Create Custom Tasks Define task for context (server/platform/site) function hook_hosting_tasks() { $options = array(); $options[site][clone] = array( title => t(Clone), description => t(Make a copy of a site.), weight => 5, dialog => TRUE, ); return $options; } Create Custom TasksThursday 23 February 2012
  39. 39. Create Drush Command Task calls provision-task_name drush command function hook_drush_command() { $items[provision-clone] = array( description => Clone a site between platforms., arguments => array( @new_site => dt(The Drush alias of the new site... @platform_name => dt(The Drush alias of... examples => array( drush @site provision-clone @new_site @pla... ), bootstrap => DRUSH_BOOTSTRAP_DRUPAL_ROOT ); return $items; } Create Custom TasksThursday 23 February 2012
  40. 40. Implement hooks Hook into hosting task execution (in task.drush.inc) drush_HOOK_hosting_task_validate drush_HOOK_pre_hosting_task drush_HOOK_hosting_task drush_HOOK_post_hosting_task Create Custom TasksThursday 23 February 2012
  41. 41. Implement hooks Hook into provision (in task.provision.inc) drush_HOOK_pre_provision_TASK drush_HOOK_provision_TASK drush_HOOK_post_provision_TASK Create Custom TasksThursday 23 February 2012
  42. 42. Use it for EvilThursday 23 February 2012
  43. 43. Use it for Evil Defining new Content Types Use it for EvilThursday 23 February 2012
  44. 44. Use it for Evil Defining new Content Types Use it for EvilThursday 23 February 2012
  45. 45. Use it for Evil Define tasks on the new types Use it for EvilThursday 23 February 2012
  46. 46. Use it for Evil Interact with existing types Use it for EvilThursday 23 February 2012
  47. 47. Integrate custom software And let Aegir believe it’s Drupal Create drush alias Build custom ‘services’ e.g. To let Aegir write VirtualHost configuration for catalogs Use it for EvilThursday 23 February 2012
  48. 48. ResourcesThursday 23 February 2012
  49. 49. Resources community.aegirproject.org api.aegirproject.org drupal.org/project/hostmaster drupal.org/project/provision #aegir ... ResourcesThursday 23 February 2012
  50. 50. Resources 2.x Roadmap Port the frontend to D7 From a hub-spoke to a mesh model Modularization Statistics improvements Full DNS Support ... ResourcesThursday 23 February 2012
  51. 51. thimo@puresign.be @tthoeye Questions?Thursday 23 February 2012

×