WebYaST (openSUSE conference 2010)


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

WebYaST (openSUSE conference 2010)

  1. 1. WebYaSTRemote Web Based System ManagementLadislav Slezáklslezak@suse.czSUSE Linux s.r.o.
  2. 2. © Novell Inc. All rights reserved2Content• YaST• WebYaST features• WebYaST demo• Implementation details, solved problems• Installation, customization• Questions
  3. 3. YaST
  4. 4. © Novell Inc. All rights reserved4YaST – Yet another Setup Tool• System management tool for Linux• System installer• Open source (GPLv2+)• Included in openSUSE, SUSE Linux Enterprise• Desktop application, administration account needed
  5. 5. © Novell Inc. All rights reserved5YaST – Installation
  6. 6. © Novell Inc. All rights reserved6YaST – Control Center
  7. 7. © Novell Inc. All rights reserved7YaST – Package Manager
  8. 8. © Novell Inc. All rights reserved8YaST – Package Manager
  9. 9. WebYaST
  10. 10. © Novell Inc. All rights reserved10WebYaST Features• Successor to YaST• Access via a web browser• Open source (GPLv2 and LGPLv2)
  11. 11. © Novell Inc. All rights reserved11WebYaST – Target Users• Beginner users• Experts (remote system monitoring)• Appliance (virtual machine) management– e.g. SUSE Lifecycle Management Server (SLMS)
  12. 12. © Novell Inc. All rights reserved12Comparing YaST and WebYaSTYaSTSSHVNCHTTPS• Remote accessWebYaST• No special SW needed,just a web browser• OS/HW independent
  13. 13. © Novell Inc. All rights reserved13Comparing YaST and WebYaST• Authorization and securityYaST WebYaST• No password sharing• Access control• Role based accessAdminPasswordUser administrator SW administrator?Linux SystemUser administrator SW administratorUserspasswordUserspasswordAccessrightsAccessrightsLinux System
  14. 14. WebYaST Demo
  15. 15. © Novell Inc. All rights reserved15WebYaST
  16. 16. © Novell Inc. All rights reserved16WebYaST
  17. 17. © Novell Inc. All rights reserved17WebYaST
  18. 18. © Novell Inc. All rights reserved18WebYaST
  19. 19. © Novell Inc. All rights reserved19WebYaST
  20. 20. WebYaST in Details
  21. 21. © Novell Inc. All rights reserved21YaST ArchitectureUI(Qt, Gtk, ncurses)Application LogicLow LevelAccessSystem Privilegeduser(root)YaST
  22. 22. © Novell Inc. All rights reserved22WebYaST Architecture – OverviewWeb browserWeb clientHTML/HTTPSXML/HTTPWeb service(REST service)SystemNon-privilegeduserNon-privilegeduserWebYaST?
  23. 23. © Novell Inc. All rights reserved23WebYaST Architecture – DetailsWeb browserWeb clientHTML/HTTPSXML/HTTPWeb service(REST service)YaST DBusservice PackageKitSystemNon-privilegeduserNon-privilegeduserPrivilegeduserDBusDirectnon-privilegedaccess...RESTServiceWebClientWebYaST
  24. 24. © Novell Inc. All rights reserved24WebYaST – Details• WebYaST uses Ruby on Rails framework• Reusing existing YaST codeUI(Qt, Gtk, ncurses)Application LogicLow LevelAccessSystemPrivilegeduser(root)DBusWrapperDBusAccess controlPolicyKitDBusserviceLegacyYaST
  25. 25. © Novell Inc. All rights reserved25REST Service• The backend which actually configures system• XML or JSON format over HTTP• Can be also used by 3rdparty software– or from commadline (via curl, wget)
  26. 26. © Novell Inc. All rights reserved26REST Service• Key components/features– Small privileged part – DBus service– Access control – using PolicyKit– Reusing existing YaST components
  27. 27. © Novell Inc. All rights reserved27Web Client• HTML output over HTTPS• Key features– XML communication with REST – Rails ActiveResource– Cross-browser compatibility – jQuery JavaScript library– Localization support – GetText
  28. 28. © Novell Inc. All rights reserved28Web Client – Customization• First boot mode – first time configuration– Set of modules started before the main application– Started just once– Example: license agreement, root password, registration• Custom icon/link in the control panel, custom label• Custom CSS (layout, colors, ...)
  29. 29. © Novell Inc. All rights reserved29WebYaST – Customization
  30. 30. © Novell Inc. All rights reserved30WebYaST – Plugins• Plugin design– Similar to legacy YaST– Basic and shared functionality in base packages– Plugins implement the actual functionality> Decrease package dependencies> Install only the needed modules (security)• Plugins make WebYaST easily extensible
  31. 31. Installing WebYaST
  32. 32. © Novell Inc. All rights reserved32WebYast – Installation• Already preinstalled– WebYaST in an appliance• Installing from RPM packages– http://download.opensuse.org/repositories/YaST:/Web/– Start yastws and yastwc system services– Open webyast-ui firewall port (optional for remote access)– Open https://localhost:54984 in your browser• Running directly from sources (GIT)– The latest version for developers– See http://en.opensuse.org/YaST/Web/Installation
  33. 33. © Novell Inc. All rights reserved33WebYaST – Development• Interested in WebYaST development?• Open source (GPLv2 and LGPLv2)• Contact:– yast-devel@opensuse.org– IRC freenode.net #yast• Bug reporting– http://bugzilla.novell.com, product: WebYaST
  34. 34. © Novell Inc. All rights reserved34Resources• WebYaST Documentation– http://en.opensuse.org/WebYaST• User and Vendor Guide– http://www.novell.com/documentation/webyast/book_webyast_use/data/cha_webyast_user_overview.html– http://www.novell.com/documentation/webyast/book_webyast_vendor/data/cha_webyast_vendor_overview.html• General Terms– REST: http://en.wikipedia.org/wiki/Representational_State_Transfer
  35. 35. Questions?